Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / public / platform / WebFrameScheduler.h
blob5e3df2cb7057dfa8a8b1f6344aa3c6527e029ae7
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef WebFrameScheduler_h
6 #define WebFrameScheduler_h
8 #include "WebCommon.h"
10 #include <string>
12 namespace blink {
14 class WebSecurityOrigin;
15 class WebTaskRunner;
17 class BLINK_PLATFORM_EXPORT WebFrameScheduler {
18 public:
19 virtual ~WebFrameScheduler() { }
21 // The scheduler may throttle tasks associated with offscreen frames.
22 virtual void setFrameVisible(bool) { }
24 // Returns the WebTaskRunner for loading tasks.
25 // WebFrameScheduler owns the returned WebTaskRunner.
26 virtual WebTaskRunner* loadingTaskRunner() { return nullptr; }
28 // Returns the WebTaskRunner for timer tasks.
29 // WebFrameScheduler owns the returned WebTaskRunner.
30 virtual WebTaskRunner* timerTaskRunner() { return nullptr; }
32 // Record the current origin. This is for task attribution in tracing.
33 virtual void setFrameOrigin(const WebSecurityOrigin*) { }
36 } // namespace blink
38 #endif // WebFrameScheduler_h