Index: extensions/renderer/dispatcher.h |
diff --git a/extensions/renderer/dispatcher.h b/extensions/renderer/dispatcher.h |
index 37ab0a312dcdcbdd37f4d1168caa776ac67c5f39..451bb5e821c8ecb79fcaed770cb774aca098d3bf 100644 |
--- a/extensions/renderer/dispatcher.h |
+++ b/extensions/renderer/dispatcher.h |
@@ -83,6 +83,9 @@ class Dispatcher : public content::RenderProcessObserver, |
RequestSender* request_sender() { return request_sender_.get(); } |
+ // Thread safe. |
+ static void InstallV8ExtensionForServiceWorkers(); |
+ |
const std::string& webview_partition_id() { return webview_partition_id_; } |
void OnRenderFrameCreated(content::RenderFrame* render_frame); |
@@ -94,9 +97,11 @@ class Dispatcher : public content::RenderProcessObserver, |
int extension_group, |
int world_id); |
- // Runs on a different thread and should not use any member variables. |
- static void DidInitializeServiceWorkerContextOnWorkerThread( |
+ // Runs on a different thread and should only use thread safe member |
+ // variables. |
+ void DidInitializeServiceWorkerContextOnWorkerThread( |
v8::Local<v8::Context> v8_context, |
+ int embedded_worker_id, |
const GURL& url); |
void WillReleaseScriptContext(blink::WebLocalFrame* frame, |
@@ -106,6 +111,7 @@ class Dispatcher : public content::RenderProcessObserver, |
// Runs on a different thread and should not use any member variables. |
static void WillDestroyServiceWorkerContextOnWorkerThread( |
v8::Local<v8::Context> v8_context, |
+ int embedded_worker_id, |
const GURL& url); |
// This method is not allowed to run JavaScript code in the frame. |
@@ -223,7 +229,9 @@ class Dispatcher : public content::RenderProcessObserver, |
void RegisterBinding(const std::string& api_name, ScriptContext* context); |
void RegisterNativeHandlers(ModuleSystem* module_system, |
- ScriptContext* context); |
+ ScriptContext* context, |
+ RequestSender* request_sender, |
+ V8SchemaRegistry* v8_schema_registry); |
// Determines if a ScriptContext can connect to any externally_connectable- |
// enabled extension. |
@@ -241,11 +249,12 @@ class Dispatcher : public content::RenderProcessObserver, |
// Gets |field| from |object| or creates it as an empty object if it doesn't |
// exist. |
- v8::Local<v8::Object> GetOrCreateObject(const v8::Local<v8::Object>& object, |
- const std::string& field, |
- v8::Isolate* isolate); |
+ static v8::Local<v8::Object> GetOrCreateObject( |
+ const v8::Local<v8::Object>& object, |
+ const std::string& field, |
+ v8::Isolate* isolate); |
- v8::Local<v8::Object> GetOrCreateBindObjectIfAvailable( |
+ static v8::Local<v8::Object> GetOrCreateBindObjectIfAvailable( |
const std::string& api_name, |
std::string* bind_name, |
ScriptContext* context); |