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

Side by Side Diff: third_party/WebKit/Source/web/CompositorMutatorImpl.h

Issue 2774223002: CompositorWorkerProxyClientImpl to CompositorProxy cross thread reference is using WeakMember (Closed)
Patch Set: fix Created 3 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 #ifndef CompositorMutatorImpl_h 5 #ifndef CompositorMutatorImpl_h
6 #define CompositorMutatorImpl_h 6 #define CompositorMutatorImpl_h
7 7
8 #include "core/animation/CustomCompositorAnimationManager.h" 8 #include "core/animation/CustomCompositorAnimationManager.h"
9 #include "platform/graphics/CompositorMutator.h" 9 #include "platform/graphics/CompositorMutator.h"
10 #include "platform/heap/Handle.h" 10 #include "platform/heap/Handle.h"
11 #include "platform/heap/HeapAllocator.h" 11 #include "platform/heap/HeapAllocator.h"
12 #include "wtf/Noncopyable.h" 12 #include "wtf/Noncopyable.h"
13 #include <memory> 13 #include <memory>
14 14
15 namespace blink { 15 namespace blink {
16 16
17 class CompositorAnimator; 17 class CompositorAnimator;
18 class CompositorMutatorClient; 18 class CompositorMutatorClient;
19 19
20 // Fans out requests from the compositor to all of the registered 20 // Fans out requests from the compositor to all of the registered
21 // CompositorAnimators which can then mutate layers through their respective 21 // CompositorAnimators which can then mutate layers through their respective
22 // mutate interface. Requests for animation frames are received from 22 // mutate interface. Requests for animation frames are received from
23 // CompositorAnimators and sent to the compositor to generate a new compositor 23 // CompositorAnimators and sent to the compositor to generate a new compositor
24 // frame. 24 // frame.
25 // 25 //
26 // Owned by the control thread (unless threaded compositing is disabled).
26 // Should be accessed only on the compositor thread. 27 // Should be accessed only on the compositor thread.
27 class CompositorMutatorImpl final : public CompositorMutator { 28 class CompositorMutatorImpl final : public CompositorMutator {
28 WTF_MAKE_NONCOPYABLE(CompositorMutatorImpl); 29 WTF_MAKE_NONCOPYABLE(CompositorMutatorImpl);
29 30
30 public: 31 public:
31 static std::unique_ptr<CompositorMutatorClient> createClient(); 32 static std::unique_ptr<CompositorMutatorClient> createClient();
32 static CompositorMutatorImpl* create(); 33 static CompositorMutatorImpl* create();
33 34
34 // CompositorMutator implementation. 35 // CompositorMutator implementation.
35 bool mutate(double monotonicTimeNow, 36 bool mutate(double monotonicTimeNow,
(...skipping 16 matching lines...) Expand all
52 HashSet<CrossThreadPersistent<CompositorAnimator>>; 53 HashSet<CrossThreadPersistent<CompositorAnimator>>;
53 CompositorAnimators m_animators; 54 CompositorAnimators m_animators;
54 55
55 std::unique_ptr<CustomCompositorAnimationManager> m_animationManager; 56 std::unique_ptr<CustomCompositorAnimationManager> m_animationManager;
56 CompositorMutatorClient* m_client; 57 CompositorMutatorClient* m_client;
57 }; 58 };
58 59
59 } // namespace blink 60 } // namespace blink
60 61
61 #endif // CompositorMutatorImpl_h 62 #endif // CompositorMutatorImpl_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/web/BUILD.gn ('k') | third_party/WebKit/Source/web/CompositorMutatorImpl.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698