| Index: components/scheduler/renderer/web_frame_scheduler_impl.cc
|
| diff --git a/components/scheduler/renderer/web_frame_scheduler_impl.cc b/components/scheduler/renderer/web_frame_scheduler_impl.cc
|
| index f5b86bdcb5b22db9386ac36a560125e5dca7fbcf..fba6b691b5c96ded5f4c44566bfd3f9bd137b95e 100644
|
| --- a/components/scheduler/renderer/web_frame_scheduler_impl.cc
|
| +++ b/components/scheduler/renderer/web_frame_scheduler_impl.cc
|
| @@ -4,30 +4,38 @@
|
|
|
| #include "components/scheduler/renderer/web_frame_scheduler_impl.h"
|
|
|
| +#include "base/trace_event/blame_context.h"
|
| #include "components/scheduler/base/real_time_domain.h"
|
| #include "components/scheduler/base/virtual_time_domain.h"
|
| #include "components/scheduler/child/web_task_runner_impl.h"
|
| #include "components/scheduler/renderer/auto_advancing_virtual_time_domain.h"
|
| #include "components/scheduler/renderer/renderer_scheduler_impl.h"
|
| #include "components/scheduler/renderer/web_view_scheduler_impl.h"
|
| +#include "third_party/WebKit/public/platform/BlameContext.h"
|
| #include "third_party/WebKit/public/platform/WebString.h"
|
|
|
| namespace scheduler {
|
|
|
| WebFrameSchedulerImpl::WebFrameSchedulerImpl(
|
| RendererSchedulerImpl* renderer_scheduler,
|
| - WebViewSchedulerImpl* parent_web_view_scheduler)
|
| + WebViewSchedulerImpl* parent_web_view_scheduler,
|
| + base::trace_event::BlameContext* blame_context)
|
| : renderer_scheduler_(renderer_scheduler),
|
| parent_web_view_scheduler_(parent_web_view_scheduler),
|
| + blame_context_(blame_context),
|
| frame_visible_(true),
|
| page_visible_(true) {}
|
|
|
| WebFrameSchedulerImpl::~WebFrameSchedulerImpl() {
|
| - if (loading_task_queue_.get())
|
| + if (loading_task_queue_.get()) {
|
| loading_task_queue_->UnregisterTaskQueue();
|
| + loading_task_queue_->SetBlameContext(nullptr);
|
| + }
|
|
|
| - if (timer_task_queue_.get())
|
| + if (timer_task_queue_.get()) {
|
| timer_task_queue_->UnregisterTaskQueue();
|
| + timer_task_queue_->SetBlameContext(nullptr);
|
| + }
|
|
|
| if (parent_web_view_scheduler_)
|
| parent_web_view_scheduler_->Unregister(this);
|
| @@ -47,6 +55,7 @@ blink::WebTaskRunner* WebFrameSchedulerImpl::loadingTaskRunner() {
|
| if (!loading_web_task_runner_) {
|
| loading_task_queue_ =
|
| renderer_scheduler_->NewLoadingTaskRunner("frame_loading_tq");
|
| + loading_task_queue_->SetBlameContext(blame_context_);
|
| if (parent_web_view_scheduler_->virtual_time_domain()) {
|
| loading_task_queue_->SetTimeDomain(
|
| parent_web_view_scheduler_->virtual_time_domain());
|
| @@ -61,6 +70,7 @@ blink::WebTaskRunner* WebFrameSchedulerImpl::timerTaskRunner() {
|
| if (!timer_web_task_runner_) {
|
| timer_task_queue_ =
|
| renderer_scheduler_->NewTimerTaskRunner("frame_timer_tq");
|
| + timer_task_queue_->SetBlameContext(blame_context_);
|
| if (parent_web_view_scheduler_->virtual_time_domain()) {
|
| timer_task_queue_->SetTimeDomain(
|
| parent_web_view_scheduler_->virtual_time_domain());
|
| @@ -73,12 +83,6 @@ blink::WebTaskRunner* WebFrameSchedulerImpl::timerTaskRunner() {
|
| return timer_web_task_runner_.get();
|
| }
|
|
|
| -void WebFrameSchedulerImpl::setFrameOrigin(
|
| - const blink::WebSecurityOrigin& origin) {
|
| - origin_ = origin;
|
| - // TODO(skyostil): Associate the task queues with this origin.
|
| -}
|
| -
|
| void WebFrameSchedulerImpl::setPageVisible(bool page_visible) {
|
| DCHECK(parent_web_view_scheduler_);
|
| if (page_visible_ == page_visible)
|
| @@ -117,5 +121,4 @@ void WebFrameSchedulerImpl::OnVirtualTimeDomainChanged() {
|
| }
|
| }
|
|
|
| -
|
| } // namespace scheduler
|
|
|