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

Unified Diff: third_party/WebKit/Source/core/workers/ThreadedMessagingProxyBase.h

Issue 2709193002: WorkerLoaderProxy: stop accessing cross-thread execution context (Closed)
Patch Set: . Created 3 years, 10 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/core/workers/ThreadedMessagingProxyBase.h
diff --git a/third_party/WebKit/Source/core/workers/ThreadedMessagingProxyBase.h b/third_party/WebKit/Source/core/workers/ThreadedMessagingProxyBase.h
index 308cf11abb1259292a1bf6e907f27ec589f7a952..978f805937bfc81d31bfaad14cc4bc2132aca6e1 100644
--- a/third_party/WebKit/Source/core/workers/ThreadedMessagingProxyBase.h
+++ b/third_party/WebKit/Source/core/workers/ThreadedMessagingProxyBase.h
@@ -44,7 +44,7 @@ class CORE_EXPORT ThreadedMessagingProxyBase
// 'virtual' for testing.
virtual void workerThreadTerminated();
- // Accessed from both the parent thread and the worker.
+ // Accessed only from the parent thread.
ExecutionContext* getExecutionContext() const {
yhirano 2017/02/23 05:55:58 DCHECK(isParentContextThread())
kinuko 2017/02/23 07:35:29 Done.
return m_executionContext.get();
}
@@ -81,10 +81,11 @@ class CORE_EXPORT ThreadedMessagingProxyBase
// These methods are called on different threads to schedule loading
// requests and to send callbacks back to WorkerGlobalScope.
void postTaskToLoader(const WebTraceLocation&,
- std::unique_ptr<ExecutionContextTask>) override;
+ std::unique_ptr<WTF::CrossThreadClosure>) override;
void postTaskToWorkerGlobalScope(
const WebTraceLocation&,
std::unique_ptr<WTF::CrossThreadClosure>) override;
+ ExecutionContext* getLoaderExecutionContext() override;
private:
friend class InProcessWorkerMessagingProxyForTest;
@@ -92,11 +93,7 @@ class CORE_EXPORT ThreadedMessagingProxyBase
void parentObjectDestroyedInternal();
- // Accessed cross-thread when worker thread posts tasks to the parent;
- // it is not ideal to have ExecutionContext be cross-thread accessible.
- //
- // TODO: try to drop the need for the CrossThreadPersistent<>.
- CrossThreadPersistent<ExecutionContext> m_executionContext;
+ Persistent<ExecutionContext> m_executionContext;
Persistent<WorkerInspectorProxy> m_workerInspectorProxy;
// Accessed cross-thread when worker thread posts tasks to the parent.
CrossThreadPersistent<ParentFrameTaskRunners> m_parentFrameTaskRunners;

Powered by Google App Engine
This is Rietveld 408576698