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

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

Issue 2811993007: Worker: Remove cross-thread PostTask functions from WorkerLoaderProxy (Closed)
Patch Set: address review comments 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/workers/WorkerLoaderProxy.h
diff --git a/third_party/WebKit/Source/core/workers/WorkerLoaderProxy.h b/third_party/WebKit/Source/core/workers/WorkerLoaderProxy.h
index b64fe0ff078db36702e9243f1729a65c7f9c4d41..d82caf78de9d462407652daf4489fde0d822839c 100644
--- a/third_party/WebKit/Source/core/workers/WorkerLoaderProxy.h
+++ b/third_party/WebKit/Source/core/workers/WorkerLoaderProxy.h
@@ -36,49 +36,33 @@
#include "platform/wtf/Functional.h"
#include "platform/wtf/PassRefPtr.h"
#include "platform/wtf/ThreadSafeRefCounted.h"
-#include "platform/wtf/ThreadingPrimitives.h"
#include "public/platform/WebTraceLocation.h"
namespace blink {
class ThreadableLoadingContext;
-// The WorkerLoaderProxy is a proxy to the loader context. Normally, the
-// document on the main thread provides loading services for the subordinate
-// workers. WorkerLoaderProxy provides 2-way communications to the Document
-// context and back to the worker.
-//
-// Note that in multi-process browsers, the Worker object context and the
-// Document context can be distinct.
-
-// The abstract interface providing the methods for actually posting tasks;
-// separated from the thread-safe & ref-counted WorkerLoaderProxy object which
-// keeps a protected reference to the provider object. This to support
-// non-overlapping lifetimes, the provider may be destructed before all
-// references to the WorkerLoaderProxy object have been dropped.
+// The abstract interface to provider ThreadableLoadingContext; separated from
haraken 2017/04/21 09:48:49 provide
+// the thread-safe & ref-counted WorkerLoaderProxy object which keeps a
+// protected reference to the provider object. This to support non-overlapping
haraken 2017/04/21 09:48:49 This is to
+// lifetimes, the provider may be destructed before all references to the
+// WorkerLoaderProxy object have been dropped.
//
// A provider implementation must detach itself when finalizing by calling
// WorkerLoaderProxy::detachProvider(). This stops the WorkerLoaderProxy from
// accessing the now-dead object, but it will remain alive while ref-ptrs are
// still kept to it.
+//
+// TODO(nhiroki): Clean up or remove this class (https://crbug.com/694914).
class CORE_EXPORT WorkerLoaderProxyProvider {
public:
virtual ~WorkerLoaderProxyProvider() {}
- // Posts a task to the thread which runs the loading code (normally, the main
- // thread). This must be called from a worker thread.
- virtual void PostTaskToLoader(const WebTraceLocation&,
- std::unique_ptr<WTF::CrossThreadClosure>) = 0;
-
- // Posts callbacks from loading code to the WorkerGlobalScope. This must be
- // called from the main thread.
- virtual void PostTaskToWorkerGlobalScope(
- const WebTraceLocation&,
- std::unique_ptr<WTF::CrossThreadClosure>) = 0;
-
// It is guaranteed that this gets accessed only on the thread where
// the loading context is bound.
- virtual ThreadableLoadingContext* GetThreadableLoadingContext() = 0;
+ virtual ThreadableLoadingContext* GetThreadableLoadingContext() {
+ return nullptr;
+ }
};
class CORE_EXPORT WorkerLoaderProxy final
@@ -91,14 +75,6 @@ class CORE_EXPORT WorkerLoaderProxy final
~WorkerLoaderProxy();
- // This must be called from a worker thread.
- void PostTaskToLoader(const WebTraceLocation&,
- std::unique_ptr<WTF::CrossThreadClosure>);
-
- // This must be called from the main thread.
- void PostTaskToWorkerGlobalScope(const WebTraceLocation&,
- std::unique_ptr<WTF::CrossThreadClosure>);
-
// This may return nullptr.
// This must be called from the main thread (== the thread of the
// loading context).
@@ -112,7 +88,6 @@ class CORE_EXPORT WorkerLoaderProxy final
private:
explicit WorkerLoaderProxy(WorkerLoaderProxyProvider*);
- WTF::Mutex lock_;
WorkerLoaderProxyProvider* loader_proxy_provider_;
};

Powered by Google App Engine
This is Rietveld 408576698