diff options
author | sammc <sammc@chromium.org> | 2016-03-23 18:44:15 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-03-24 01:45:51 +0000 |
commit | 3f06742ebe125991b2c893638063cf8df55d8a86 (patch) | |
tree | ad125b4d99cabe9ef3aede0e6588857859ae6a92 /content/renderer | |
parent | 2ff45195a56ea8230c9bb0ca39d55a68d2955b85 (diff) | |
download | chromium_src-3f06742ebe125991b2c893638063cf8df55d8a86.zip chromium_src-3f06742ebe125991b2c893638063cf8df55d8a86.tar.gz chromium_src-3f06742ebe125991b2c893638063cf8df55d8a86.tar.bz2 |
Make the process-wide ServiceRegistry available to JS.
BUG=597465
Review URL: https://codereview.chromium.org/1827473002
Cr-Commit-Position: refs/heads/master@{#383008}
Diffstat (limited to 'content/renderer')
-rw-r--r-- | content/renderer/mojo/service_registry_js_wrapper.cc | 9 | ||||
-rw-r--r-- | content/renderer/mojo/service_registry_js_wrapper.h | 3 | ||||
-rw-r--r-- | content/renderer/render_frame_impl.cc | 7 |
3 files changed, 13 insertions, 6 deletions
diff --git a/content/renderer/mojo/service_registry_js_wrapper.cc b/content/renderer/mojo/service_registry_js_wrapper.cc index 094fb02..1ab8b86 100644 --- a/content/renderer/mojo/service_registry_js_wrapper.cc +++ b/content/renderer/mojo/service_registry_js_wrapper.cc @@ -16,8 +16,10 @@ namespace content { gin::WrapperInfo ServiceRegistryJsWrapper::kWrapperInfo = { gin::kEmbedderNativeGin}; -const char ServiceRegistryJsWrapper::kModuleName[] = - "content/public/renderer/service_provider"; +const char ServiceRegistryJsWrapper::kPerFrameModuleName[] = + "content/public/renderer/frame_service_registry"; +const char ServiceRegistryJsWrapper::kPerProcessModuleName[] = + "content/public/renderer/service_registry"; ServiceRegistryJsWrapper::~ServiceRegistryJsWrapper() { } @@ -57,8 +59,7 @@ mojo::Handle ServiceRegistryJsWrapper::ConnectToService( void ServiceRegistryJsWrapper::AddServiceOverrideForTesting( const std::string& service_name, v8::Local<v8::Function> service_factory) { - ServiceRegistryImpl* registry = - static_cast<ServiceRegistryImpl*>(service_registry_.get()); + ServiceRegistry* registry = service_registry_.get(); if (!registry) return; ScopedJsFactory factory(v8::Isolate::GetCurrent(), service_factory); diff --git a/content/renderer/mojo/service_registry_js_wrapper.h b/content/renderer/mojo/service_registry_js_wrapper.h index f199c63..5fc2f63 100644 --- a/content/renderer/mojo/service_registry_js_wrapper.h +++ b/content/renderer/mojo/service_registry_js_wrapper.h @@ -41,7 +41,8 @@ class CONTENT_EXPORT ServiceRegistryJsWrapper mojo::Handle ConnectToService(const std::string& service_name); static gin::WrapperInfo kWrapperInfo; - static const char kModuleName[]; + static const char kPerFrameModuleName[]; + static const char kPerProcessModuleName[]; private: using ScopedJsFactory = diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc index a41cdb2..2465688 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc @@ -2320,9 +2320,14 @@ void RenderFrameImpl::EnsureMojoBuiltinsAreAvailable( registry->AddBuiltinModule(isolate, mojo::edk::js::Support::kModuleName, mojo::edk::js::Support::GetModule(isolate)); registry->AddBuiltinModule( - isolate, ServiceRegistryJsWrapper::kModuleName, + isolate, ServiceRegistryJsWrapper::kPerFrameModuleName, ServiceRegistryJsWrapper::Create(isolate, context, &service_registry_) .ToV8()); + registry->AddBuiltinModule( + isolate, ServiceRegistryJsWrapper::kPerProcessModuleName, + ServiceRegistryJsWrapper::Create( + isolate, context, RenderThread::Get()->GetServiceRegistry()) + .ToV8()); } void RenderFrameImpl::AddMessageToConsole(ConsoleMessageLevel level, |