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

Unified Diff: third_party/WebKit/Source/web/CompositorWorkerProxyClientImpl.h

Issue 2774223002: CompositorWorkerProxyClientImpl to CompositorProxy cross thread reference is using WeakMember (Closed)
Patch Set: fix Created 3 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/web/CompositorWorkerProxyClientImpl.h
diff --git a/third_party/WebKit/Source/web/CompositorWorkerProxyClientImpl.h b/third_party/WebKit/Source/web/CompositorWorkerProxyClientImpl.h
index 5e682abe54a98919df62a71680a688a67d59b569..5f9a600be98e5d307659b99483ed0d563393878f 100644
--- a/third_party/WebKit/Source/web/CompositorWorkerProxyClientImpl.h
+++ b/third_party/WebKit/Source/web/CompositorWorkerProxyClientImpl.h
@@ -8,6 +8,7 @@
#include "core/dom/CompositorWorkerProxyClient.h"
#include "platform/heap/Handle.h"
#include "web/CompositorAnimator.h"
+#include "web/CompositorProxyClientImpl.h"
#include "wtf/Noncopyable.h"
namespace blink {
@@ -22,9 +23,11 @@ class WorkerGlobalScope;
// worker but there may be multiple for a given mutator, e.g. if a single
// document creates multiple CompositorWorker objects.
//
+// Owned by the main thread.
// Should be accessed only on the compositor thread.
class CompositorWorkerProxyClientImpl final
- : public CompositorWorkerProxyClient,
+ : public GarbageCollectedFinalized<CompositorWorkerProxyClientImpl>,
+ public CompositorWorkerProxyClient,
public CompositorAnimator {
WTF_MAKE_NONCOPYABLE(CompositorWorkerProxyClientImpl);
USING_GARBAGE_COLLECTED_MIXIN(CompositorWorkerProxyClientImpl);
@@ -41,8 +44,9 @@ class CompositorWorkerProxyClientImpl final
void dispose() override;
void setGlobalScope(WorkerGlobalScope*) override;
void requestAnimationFrame() override;
- void registerCompositorProxy(CompositorProxy*) override;
- void unregisterCompositorProxy(CompositorProxy*) override;
+ CompositorProxyClient* compositorProxyClient() override {
+ return m_compositorProxyClient.get();
+ };
private:
bool executeAnimationFrameCallbacks(double monotonicTimeNow);
@@ -52,8 +56,7 @@ class CompositorWorkerProxyClientImpl final
CrossThreadPersistent<CompositorWorkerGlobalScope> m_globalScope;
bool m_requestedAnimationFrameCallbacks;
- // TODO(majidvp): move this out to a separate class that can be composed in.
- HeapHashSet<WeakMember<CompositorProxy>> m_proxies;
+ CrossThreadPersistent<CompositorProxyClientImpl> m_compositorProxyClient;
};
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698