tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

TimeoutBudgetManager.cpp (966B)


      1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
      2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
      3 /* This Source Code Form is subject to the terms of the Mozilla Public
      4 * License, v. 2.0. If a copy of the MPL was not distributed with this
      5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      6 
      7 #include "TimeoutBudgetManager.h"
      8 
      9 #include "mozilla/dom/Timeout.h"
     10 
     11 namespace mozilla::dom {
     12 
     13 void TimeoutBudgetManager::StartRecording(const TimeStamp& aNow) {
     14  mStart = aNow;
     15 }
     16 
     17 void TimeoutBudgetManager::StopRecording() { mStart = TimeStamp(); }
     18 
     19 TimeDuration TimeoutBudgetManager::RecordExecution(const TimeStamp& aNow,
     20                                                   const Timeout* aTimeout) {
     21  if (!mStart) {
     22    // If we've started a sync operation mStart might be null, in
     23    // which case we should not record this piece of execution.
     24    return TimeDuration();
     25  }
     26 
     27  return aNow - mStart;
     28 }
     29 
     30 }  // namespace mozilla::dom