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

Unified Diff: extensions/renderer/worker_thread_dispatcher.h

Issue 2886923002: [extension SW]: Support event listener registration and event dispatching. (Closed)
Patch Set: address comments Created 3 years, 7 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: extensions/renderer/worker_thread_dispatcher.h
diff --git a/extensions/renderer/worker_thread_dispatcher.h b/extensions/renderer/worker_thread_dispatcher.h
index 4a876b10b57c43b2b344d0f9a006a6e2d3821de4..21dc852ec8be3fec46107314b1403155b115b3a5 100644
--- a/extensions/renderer/worker_thread_dispatcher.h
+++ b/extensions/renderer/worker_thread_dispatcher.h
@@ -6,6 +6,8 @@
#define EXTENSIONS_RENDERER_WORKER_THREAD_DISPATCHER_H_
#include "base/synchronization/lock.h"
+#include "base/threading/platform_thread.h"
+#include "content/public/child/worker_thread.h"
#include "content/public/renderer/render_thread_observer.h"
#include "ipc/ipc_sync_message_filter.h"
@@ -17,9 +19,11 @@ namespace content {
class RenderThread;
}
+struct ExtensionMsg_DispatchEvent_Params;
namespace extensions {
class ExtensionBindingsSystem;
class ResourceBundleSourceMap;
+class ScriptContext;
class ServiceWorkerRequestSender;
class V8SchemaRegistry;
@@ -43,16 +47,17 @@ class WorkerThreadDispatcher : public content::RenderThreadObserver {
void Init(content::RenderThread* render_thread);
bool Send(IPC::Message* message);
void AddWorkerData(int64_t service_worker_version_id,
+ ScriptContext* context,
ResourceBundleSourceMap* source_map);
void RemoveWorkerData(int64_t service_worker_version_id);
+ // content::RenderThreadObserver:
+ bool OnControlMessageReceived(const IPC::Message& message) override;
+
private:
static bool HandlesMessageOnWorkerThread(const IPC::Message& message);
static void ForwardIPC(int worker_thread_id, const IPC::Message& message);
- // content::RenderThreadObserver:
- bool OnControlMessageReceived(const IPC::Message& message) override;
-
void OnMessageReceivedOnWorkerThread(int worker_thread_id,
const IPC::Message& message);
@@ -64,6 +69,8 @@ class WorkerThreadDispatcher : public content::RenderThreadObserver {
bool succeeded,
const base::ListValue& response,
const std::string& error);
+ void OnDispatchEvent(const ExtensionMsg_DispatchEvent_Params& params,
+ const base::ListValue& event_args);
// IPC sender. Belongs to the render thread, but thread safe.
scoped_refptr<IPC::SyncMessageFilter> message_filter_;

Powered by Google App Engine
This is Rietveld 408576698