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 |