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

Unified Diff: extensions/renderer/dispatcher.h

Issue 1880933002: Begin to enable extension APIs in Extension Service Worker. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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: 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);

Powered by Google App Engine
This is Rietveld 408576698