OLD | NEW |
---|---|
(Empty) | |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef CompositorProxyClientImpl_h | |
6 #define CompositorProxyClientImpl_h | |
7 | |
8 #include "core/dom/CompositorProxyClient.h" | |
9 #include "wtf/Noncopyable.h" | |
10 | |
11 namespace blink { | |
12 | |
13 class CompositorMutatorImpl; | |
14 class CompositorWorkerGlobalScope; | |
15 class WorkerGlobalScope; | |
16 | |
17 // Mediates between one CompositorWorkerGlobalScope and the associated Composito rMutatorImpl. | |
18 // There is one CompositorProxyClientImpl per worker but there may be multiple f or a given | |
19 // mutator, e.g. if a single document creates multiple CompositorWorker objects. | |
20 // | |
21 // Should be accessed only on the compositor thread. | |
22 class CompositorProxyClientImpl final : public GarbageCollected<CompositorProxyC lientImpl>, public CompositorProxyClient { | |
23 USING_GARBAGE_COLLECTED_MIXIN(CompositorProxyClientImpl); | |
24 WTF_MAKE_NONCOPYABLE(CompositorProxyClientImpl); | |
25 public: | |
26 CompositorProxyClientImpl(CompositorMutatorImpl*); | |
27 DECLARE_VIRTUAL_TRACE(); | |
28 | |
29 // Runs the animation frame callback for the frame starting at the given tim e. | |
30 // Returns true if another animation frame was requested (i.e. should be rei nvoked next frame). | |
31 bool mutate(double monotonicTimeNow); | |
32 | |
33 // CompositorProxyClient: | |
34 void setGlobalScope(WorkerGlobalScope*) override; | |
35 void requestAnimationFrame() override; | |
36 | |
37 private: | |
38 bool executeAnimationFrameCallbacks(double monotonicTimeNow); | |
39 | |
40 WeakMember<CompositorMutatorImpl> m_mutator; | |
jbroman
2016/05/04 17:59:00
Should this be a weak member? It's used without nu
flackr
2016/05/04 21:52:41
Seems fine to me, this should definitely be gone b
| |
41 | |
42 WeakMember<CompositorWorkerGlobalScope> m_globalScope; | |
jbroman
2016/05/04 17:59:00
Writing the above comment has made me wonder wheth
flackr
2016/05/04 21:52:41
Done. This doesn't need to be weak either. In fact
| |
43 bool m_requestedAnimationFrameCallbacks; | |
44 }; | |
45 | |
46 } // namespace blink | |
47 | |
48 #endif // CompositorProxyClientImpl_h | |
OLD | NEW |