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

Side by Side Diff: third_party/WebKit/Source/web/InspectorEmulationAgent.cpp

Issue 2550373005: Make WebTaskRunner ThreadSafeRefCounted (Closed)
Patch Set: +DISALLOW_COPY_AND_ASSIGN for win build fix Created 3 years, 11 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 "web/InspectorEmulationAgent.h" 5 #include "web/InspectorEmulationAgent.h"
6 6
7 #include "core/frame/FrameHost.h" 7 #include "core/frame/FrameHost.h"
8 #include "core/frame/FrameView.h" 8 #include "core/frame/FrameView.h"
9 #include "core/frame/Settings.h" 9 #include "core/frame/Settings.h"
10 #include "core/page/Page.h" 10 #include "core/page/Page.h"
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 m_webLocalFrameImpl->view()->scheduler()->setVirtualTimePolicy( 143 m_webLocalFrameImpl->view()->scheduler()->setVirtualTimePolicy(
144 WebViewScheduler::VirtualTimePolicy::PAUSE); 144 WebViewScheduler::VirtualTimePolicy::PAUSE);
145 } else if (protocol::Emulation::VirtualTimePolicyEnum:: 145 } else if (protocol::Emulation::VirtualTimePolicyEnum::
146 PauseIfNetworkFetchesPending == policy) { 146 PauseIfNetworkFetchesPending == policy) {
147 m_webLocalFrameImpl->view()->scheduler()->setVirtualTimePolicy( 147 m_webLocalFrameImpl->view()->scheduler()->setVirtualTimePolicy(
148 WebViewScheduler::VirtualTimePolicy::DETERMINISTIC_LOADING); 148 WebViewScheduler::VirtualTimePolicy::DETERMINISTIC_LOADING);
149 } 149 }
150 m_webLocalFrameImpl->view()->scheduler()->enableVirtualTime(); 150 m_webLocalFrameImpl->view()->scheduler()->enableVirtualTime();
151 151
152 if (budget.isJust()) { 152 if (budget.isJust()) {
153 WebTaskRunner* taskRunner = 153 RefPtr<WebTaskRunner> taskRunner =
154 Platform::current()->currentThread()->getWebTaskRunner(); 154 Platform::current()->currentThread()->getWebTaskRunner();
155 long long delayMillis = static_cast<long long>(budget.fromJust()); 155 long long delayMillis = static_cast<long long>(budget.fromJust());
156 m_virtualTimeBudgetExpiredTaskHandle = 156 m_virtualTimeBudgetExpiredTaskHandle =
157 taskRunner->postDelayedCancellableTask( 157 taskRunner->postDelayedCancellableTask(
158 BLINK_FROM_HERE, 158 BLINK_FROM_HERE,
159 WTF::bind(&InspectorEmulationAgent::virtualTimeBudgetExpired, 159 WTF::bind(&InspectorEmulationAgent::virtualTimeBudgetExpired,
160 wrapWeakPersistent(this)), 160 wrapWeakPersistent(this)),
161 delayMillis); 161 delayMillis);
162 } 162 }
163 return Response::OK(); 163 return Response::OK();
164 } 164 }
165 165
166 void InspectorEmulationAgent::virtualTimeBudgetExpired() { 166 void InspectorEmulationAgent::virtualTimeBudgetExpired() {
167 m_webLocalFrameImpl->view()->scheduler()->setVirtualTimePolicy( 167 m_webLocalFrameImpl->view()->scheduler()->setVirtualTimePolicy(
168 WebViewScheduler::VirtualTimePolicy::PAUSE); 168 WebViewScheduler::VirtualTimePolicy::PAUSE);
169 frontend()->virtualTimeBudgetExpired(); 169 frontend()->virtualTimeBudgetExpired();
170 } 170 }
171 171
172 DEFINE_TRACE(InspectorEmulationAgent) { 172 DEFINE_TRACE(InspectorEmulationAgent) {
173 visitor->trace(m_webLocalFrameImpl); 173 visitor->trace(m_webLocalFrameImpl);
174 InspectorBaseAgent::trace(visitor); 174 InspectorBaseAgent::trace(visitor);
175 } 175 }
176 176
177 } // namespace blink 177 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698