OLD | NEW |
---|---|
(Empty) | |
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. | |
4 | |
5 #include "components/scheduler/renderer/web_frame_scheduler_impl.h" | |
6 | |
7 #include "components/scheduler/child/web_task_runner_impl.h" | |
8 #include "components/scheduler/renderer/renderer_scheduler.h" | |
9 #include "components/scheduler/renderer/web_page_scheduler_impl.h" | |
10 #include "third_party/WebKit/public/platform/WebString.h" | |
11 #include "third_party/WebKit/public/web/WebSecurityOrigin.h" | |
12 | |
13 namespace scheduler { | |
14 | |
15 class FrameQueueHolder; | |
16 | |
17 WebFrameSchedulerImpl::WebFrameSchedulerImpl( | |
18 RendererScheduler* render_scheduler, | |
19 WebPageSchedulerImpl* parent_page_scheduler) | |
20 : render_scheduler_(render_scheduler), | |
21 parent_page_scheduler_(parent_page_scheduler), | |
22 visible_(false) {} | |
Sami
2015/09/10 12:51:58
|true| would probably be a safer default.
alex clarke (OOO till 29th)
2015/09/10 14:35:58
Done.
| |
23 | |
24 WebFrameSchedulerImpl::~WebFrameSchedulerImpl() { | |
25 if (loading_task_queue_.get()) | |
26 render_scheduler_->UnregisterTaskRunner(loading_task_queue_); | |
27 | |
28 if (timer_task_queue_.get()) | |
29 render_scheduler_->UnregisterTaskRunner(timer_task_queue_); | |
30 | |
31 parent_page_scheduler_->Unregister(this); | |
32 } | |
33 | |
34 void WebFrameSchedulerImpl::setFrameVisible(bool visible) { | |
35 visible_ = visible; | |
36 // TODO(alexclarke): Do something with this flag. | |
37 } | |
38 | |
39 blink::WebTaskRunner* WebFrameSchedulerImpl::loadingTaskRunner() { | |
40 if (!loading_web_task_runner_.get()) { | |
41 loading_task_queue_ = | |
42 render_scheduler_->NewLoadingTaskRunner("frame_loading_tq"); | |
43 loading_task_queue_->SetOrigin(origin_); | |
44 loading_web_task_runner_.reset(new WebTaskRunnerImpl(loading_task_queue_)); | |
45 } | |
46 return loading_web_task_runner_.get(); | |
47 } | |
48 | |
49 blink::WebTaskRunner* WebFrameSchedulerImpl::timerTaskRunner() { | |
50 if (!timer_web_task_runner_.get()) { | |
51 timer_task_queue_ = render_scheduler_->NewTimerTaskRunner("frame_timer_tq"); | |
52 timer_task_queue_->SetOrigin(origin_); | |
53 timer_web_task_runner_.reset(new WebTaskRunnerImpl(timer_task_queue_)); | |
54 } | |
55 return timer_web_task_runner_.get(); | |
56 } | |
57 | |
58 void WebFrameSchedulerImpl::setFrameOrigin( | |
59 const blink::WebSecurityOrigin* origin) { | |
60 DCHECK(origin); | |
61 origin_ = origin->toString().utf8(); | |
62 | |
63 if (loading_task_queue_.get()) | |
64 loading_task_queue_->SetOrigin(origin_); | |
65 | |
66 if (timer_task_queue_.get()) | |
67 timer_task_queue_->SetOrigin(origin_); | |
68 } | |
69 | |
70 } // namespace scheduler | |
OLD | NEW |