Chromium Code Reviews| Index: third_party/WebKit/Source/web/CompositorProxyClientImpl.cpp |
| diff --git a/third_party/WebKit/Source/web/CompositorProxyClientImpl.cpp b/third_party/WebKit/Source/web/CompositorProxyClientImpl.cpp |
| index 4a621c5f1ab5d7c8d7e5e260394e8bf827287093..b4a4836f586d570bda751a8b0b751a30a79422b7 100644 |
| --- a/third_party/WebKit/Source/web/CompositorProxyClientImpl.cpp |
| +++ b/third_party/WebKit/Source/web/CompositorProxyClientImpl.cpp |
| @@ -40,13 +40,12 @@ CompositorProxyClientImpl::CompositorProxyClientImpl(CompositorMutatorImpl* muta |
| : m_mutator(mutator) |
| , m_globalScope(nullptr) |
| { |
| + DCHECK(isMainThread()); |
| } |
| DEFINE_TRACE(CompositorProxyClientImpl) |
| { |
| CompositorProxyClient::trace(visitor); |
| - visitor->trace(m_mutator); |
| - visitor->trace(m_globalScope); |
| visitor->trace(m_proxies); |
| } |
| @@ -59,6 +58,12 @@ void CompositorProxyClientImpl::setGlobalScope(WorkerGlobalScope* scope) |
| m_mutator->registerProxyClient(this); |
| } |
| +void CompositorProxyClientImpl::dispose() |
|
haraken
2016/09/12 11:45:09
Add a comment about the lifetime of relevant objec
keishi
2016/09/13 03:12:43
Done.
|
| +{ |
| + m_mutator->unregisterProxyClient(this); |
| + m_globalScope = nullptr; |
| +} |
| + |
| void CompositorProxyClientImpl::requestAnimationFrame() |
| { |
| TRACE_EVENT0("compositor-worker", "CompositorProxyClientImpl::requestAnimationFrame"); |
| @@ -87,6 +92,7 @@ bool CompositorProxyClientImpl::executeAnimationFrameCallbacks(double monotonicT |
| { |
| TRACE_EVENT0("compositor-worker", "CompositorProxyClientImpl::executeAnimationFrameCallbacks"); |
| + DCHECK(m_globalScope); |
| // Convert to zero based document time in milliseconds consistent with requestAnimationFrame. |
| double highResTimeMs = 1000.0 * (monotonicTimeNow - m_globalScope->timeOrigin()); |
| return m_globalScope->executeAnimationFrameCallbacks(highResTimeMs); |