// Copyright 2017 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef THIRD_PARTY_BLINK_PUBLIC_PLATFORM_SCHEDULER_WEB_SCOPED_VIRTUAL_TIME_PAUSER_H_ #define THIRD_PARTY_BLINK_PUBLIC_PLATFORM_SCHEDULER_WEB_SCOPED_VIRTUAL_TIME_PAUSER_H_ #include "base/memory/raw_ptr.h" #include "base/time/time.h" #include "third_party/blink/public/platform/web_common.h" #include "third_party/blink/public/platform/web_string.h" namespace blink { namespace scheduler { class ThreadSchedulerBase; } // namespace scheduler // VirtualTime is a headless feature which is intended to make renders (more) // deterministic by pausing task execution in the Blink main thread (and pausing // the clock) while certain asynchronous operations are pending, e.g. fetching // resources. Generally new instances of WebScopedVirtualTimePauser should only // be added if there are determinism problems with renders on certain pages. // The WebScopedVirtualTimePauser itself is a move only RAII style helper which // makes it easier for subsystems to robustly pause and unpause virtual time. class BLINK_PLATFORM_EXPORT WebScopedVirtualTimePauser { … }; } // namespace blink #endif // THIRD_PARTY_BLINK_PUBLIC_PLATFORM_SCHEDULER_WEB_SCOPED_VIRTUAL_TIME_PAUSER_H_