blob: 4faa08173e2bb1cf11d241fb8cadba5622e41235 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/scheduler/renderer/renderer_web_scheduler_impl.h"
#include "base/command_line.h"
#include "components/scheduler/base/task_queue.h"
#include "components/scheduler/common/scheduler_switches.h"
#include "components/scheduler/renderer/renderer_scheduler_impl.h"
#include "components/scheduler/renderer/web_view_scheduler_impl.h"
#include "third_party/WebKit/public/platform/WebPassOwnPtr.h"
namespace scheduler {
RendererWebSchedulerImpl::RendererWebSchedulerImpl(
RendererSchedulerImpl* renderer_scheduler)
: WebSchedulerImpl(renderer_scheduler,
renderer_scheduler->IdleTaskRunner(),
renderer_scheduler->LoadingTaskRunner(),
renderer_scheduler->TimerTaskRunner()),
renderer_scheduler_(renderer_scheduler) {}
RendererWebSchedulerImpl::~RendererWebSchedulerImpl() {
}
void RendererWebSchedulerImpl::suspendTimerQueue() {
renderer_scheduler_->SuspendTimerQueue();
}
void RendererWebSchedulerImpl::resumeTimerQueue() {
renderer_scheduler_->ResumeTimerQueue();
}
blink::WebPassOwnPtr<blink::WebViewScheduler>
RendererWebSchedulerImpl::createWebViewScheduler(blink::WebView* web_view) {
base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
return blink::adoptWebPtr(new WebViewSchedulerImpl(
web_view, renderer_scheduler_,
command_line->HasSwitch(switches::kDisableBackgroundTimerThrottling)));
}
void RendererWebSchedulerImpl::addPendingNavigation() {
renderer_scheduler_->AddPendingNavigation();
}
void RendererWebSchedulerImpl::removePendingNavigation() {
renderer_scheduler_->RemovePendingNavigation();
}
void RendererWebSchedulerImpl::onNavigationStarted() {
renderer_scheduler_->OnNavigationStarted();
}
} // namespace scheduler
|