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

Unified Diff: third_party/WebKit/Source/core/workers/ThreadedWorkletObjectProxy.cpp

Issue 2546043002: Worker: Fix cross-thread violations on ObjectProxy (Closed)
Patch Set: Created 4 years 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/core/workers/ThreadedWorkletObjectProxy.cpp
diff --git a/third_party/WebKit/Source/core/workers/ThreadedWorkletObjectProxy.cpp b/third_party/WebKit/Source/core/workers/ThreadedWorkletObjectProxy.cpp
index 3db954f0b94e6aede9c917a0acacbca81ec6e109..2b8b3e3d12ba8ad75d6187c019e0979188f6d2d8 100644
--- a/third_party/WebKit/Source/core/workers/ThreadedWorkletObjectProxy.cpp
+++ b/third_party/WebKit/Source/core/workers/ThreadedWorkletObjectProxy.cpp
@@ -17,9 +17,11 @@
namespace blink {
std::unique_ptr<ThreadedWorkletObjectProxy> ThreadedWorkletObjectProxy::create(
- const WeakPtr<ThreadedWorkletMessagingProxy>& messagingProxyWeakPtr) {
+ const WeakPtr<ThreadedWorkletMessagingProxy>& messagingProxyWeakPtr,
+ ParentFrameTaskRunners* parentFrameTaskRunners) {
DCHECK(messagingProxyWeakPtr);
- return wrapUnique(new ThreadedWorkletObjectProxy(messagingProxyWeakPtr));
+ return wrapUnique(new ThreadedWorkletObjectProxy(messagingProxyWeakPtr,
+ parentFrameTaskRunners));
}
ThreadedWorkletObjectProxy::~ThreadedWorkletObjectProxy() {
@@ -67,7 +69,7 @@ void ThreadedWorkletObjectProxy::postMessageToPageInspector(
ParentFrameTaskRunners*
ThreadedWorkletObjectProxy::getParentFrameTaskRunners() {
- return m_messagingProxyWeakPtr->getParentFrameTaskRunners();
+ return m_parentFrameTaskRunners.get();
}
void ThreadedWorkletObjectProxy::didCloseWorkerGlobalScope() {
@@ -90,7 +92,9 @@ void ThreadedWorkletObjectProxy::didTerminateWorkerThread() {
}
ThreadedWorkletObjectProxy::ThreadedWorkletObjectProxy(
- const WeakPtr<ThreadedWorkletMessagingProxy>& messagingProxyWeakPtr)
- : m_messagingProxyWeakPtr(messagingProxyWeakPtr) {}
+ const WeakPtr<ThreadedWorkletMessagingProxy>& messagingProxyWeakPtr,
+ ParentFrameTaskRunners* parentFrameTaskRunners)
+ : m_messagingProxyWeakPtr(messagingProxyWeakPtr),
+ m_parentFrameTaskRunners(parentFrameTaskRunners) {}
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698