summaryrefslogtreecommitdiffstats
path: root/content/renderer
diff options
context:
space:
mode:
authorsammc <sammc@chromium.org>2016-03-23 18:44:15 -0700
committerCommit bot <commit-bot@chromium.org>2016-03-24 01:45:51 +0000
commit3f06742ebe125991b2c893638063cf8df55d8a86 (patch)
treead125b4d99cabe9ef3aede0e6588857859ae6a92 /content/renderer
parent2ff45195a56ea8230c9bb0ca39d55a68d2955b85 (diff)
downloadchromium_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.cc9
-rw-r--r--content/renderer/mojo/service_registry_js_wrapper.h3
-rw-r--r--content/renderer/render_frame_impl.cc7
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,