Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(512)

Side by Side Diff: components/scheduler/renderer/web_view_scheduler_impl.cc

Issue 1447563002: Implement frame attribution (FrameBlamer) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Make sure blame context is initialized early enough Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/scheduler/renderer/web_view_scheduler_impl.h" 5 #include "components/scheduler/renderer/web_view_scheduler_impl.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "components/scheduler/base/virtual_time_domain.h" 8 #include "components/scheduler/base/virtual_time_domain.h"
9 #include "components/scheduler/child/scheduler_tqm_delegate.h" 9 #include "components/scheduler/child/scheduler_tqm_delegate.h"
10 #include "components/scheduler/renderer/auto_advancing_virtual_time_domain.h" 10 #include "components/scheduler/renderer/auto_advancing_virtual_time_domain.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 return; 46 return;
47 47
48 page_visible_ = page_visible; 48 page_visible_ = page_visible;
49 49
50 for (WebFrameSchedulerImpl* frame_scheduler : frame_schedulers_) { 50 for (WebFrameSchedulerImpl* frame_scheduler : frame_schedulers_) {
51 frame_scheduler->setPageVisible(page_visible_); 51 frame_scheduler->setPageVisible(page_visible_);
52 } 52 }
53 } 53 }
54 54
55 scoped_ptr<WebFrameSchedulerImpl> 55 scoped_ptr<WebFrameSchedulerImpl>
56 WebViewSchedulerImpl::createWebFrameSchedulerImpl() { 56 WebViewSchedulerImpl::createWebFrameSchedulerImpl(
57 base::trace_event::BlameContext* blame_context) {
57 scoped_ptr<WebFrameSchedulerImpl> frame_scheduler( 58 scoped_ptr<WebFrameSchedulerImpl> frame_scheduler(
58 new WebFrameSchedulerImpl(renderer_scheduler_, this)); 59 new WebFrameSchedulerImpl(renderer_scheduler_, this, blame_context));
59 frame_scheduler->setPageVisible(page_visible_); 60 frame_scheduler->setPageVisible(page_visible_);
60 frame_schedulers_.insert(frame_scheduler.get()); 61 frame_schedulers_.insert(frame_scheduler.get());
61 return frame_scheduler; 62 return frame_scheduler;
62 } 63 }
63 64
64 blink::WebPassOwnPtr<blink::WebFrameScheduler> 65 blink::WebPassOwnPtr<blink::WebFrameScheduler>
65 WebViewSchedulerImpl::createFrameScheduler() { 66 WebViewSchedulerImpl::createFrameScheduler(blink::BlameContext* blame_context) {
66 return blink::adoptWebPtr(createWebFrameSchedulerImpl().release()); 67 return blink::adoptWebPtr(
68 createWebFrameSchedulerImpl(blame_context).release());
67 } 69 }
68 70
69 void WebViewSchedulerImpl::Unregister(WebFrameSchedulerImpl* frame_scheduler) { 71 void WebViewSchedulerImpl::Unregister(WebFrameSchedulerImpl* frame_scheduler) {
70 DCHECK(frame_schedulers_.find(frame_scheduler) != frame_schedulers_.end()); 72 DCHECK(frame_schedulers_.find(frame_scheduler) != frame_schedulers_.end());
71 frame_schedulers_.erase(frame_scheduler); 73 frame_schedulers_.erase(frame_scheduler);
72 } 74 }
73 75
74 void WebViewSchedulerImpl::AddConsoleWarning(const std::string& message) { 76 void WebViewSchedulerImpl::AddConsoleWarning(const std::string& message) {
75 if (!web_view_ || !web_view_->mainFrame()) 77 if (!web_view_ || !web_view_->mainFrame())
76 return; 78 return;
(...skipping 28 matching lines...) Expand all
105 107
106 allow_virtual_time_to_advance_ = allow_virtual_time_to_advance; 108 allow_virtual_time_to_advance_ = allow_virtual_time_to_advance;
107 109
108 if (virtual_time_domain_) { 110 if (virtual_time_domain_) {
109 virtual_time_domain_->SetCanAdvanceVirtualTime( 111 virtual_time_domain_->SetCanAdvanceVirtualTime(
110 allow_virtual_time_to_advance); 112 allow_virtual_time_to_advance);
111 } 113 }
112 } 114 }
113 115
114 } // namespace scheduler 116 } // namespace scheduler
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698