Index: content/renderer/mojo/service_registry_js_wrapper.cc |
diff --git a/content/renderer/mojo/service_registry_js_wrapper.cc b/content/renderer/mojo/service_registry_js_wrapper.cc |
deleted file mode 100644 |
index 8b5793820e33653478b0f35227c2cf361fb68dae..0000000000000000000000000000000000000000 |
--- a/content/renderer/mojo/service_registry_js_wrapper.cc |
+++ /dev/null |
@@ -1,115 +0,0 @@ |
-// Copyright 2014 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "content/renderer/mojo/service_registry_js_wrapper.h" |
- |
-#include <memory> |
-#include <utility> |
- |
-#include "content/common/mojo/service_registry_impl.h" |
-#include "content/public/common/service_registry.h" |
-#include "mojo/edk/js/handle.h" |
-#include "third_party/WebKit/public/web/WebLocalFrame.h" |
- |
-namespace content { |
- |
-gin::WrapperInfo ServiceRegistryJsWrapper::kWrapperInfo = { |
- gin::kEmbedderNativeGin}; |
-const char ServiceRegistryJsWrapper::kPerFrameModuleName[] = |
- "content/public/renderer/frame_service_registry"; |
-const char ServiceRegistryJsWrapper::kPerProcessModuleName[] = |
- "content/public/renderer/service_registry"; |
- |
-ServiceRegistryJsWrapper::~ServiceRegistryJsWrapper() { |
-} |
- |
-// static |
-gin::Handle<ServiceRegistryJsWrapper> ServiceRegistryJsWrapper::Create( |
- v8::Isolate* isolate, |
- v8::Handle<v8::Context> context, |
- ServiceRegistry* service_registry) { |
- return gin::CreateHandle( |
- isolate, |
- new ServiceRegistryJsWrapper( |
- isolate, context, |
- static_cast<ServiceRegistryImpl*>(service_registry)->GetWeakPtr())); |
-} |
- |
-gin::ObjectTemplateBuilder ServiceRegistryJsWrapper::GetObjectTemplateBuilder( |
- v8::Isolate* isolate) { |
- return Wrappable<ServiceRegistryJsWrapper>::GetObjectTemplateBuilder(isolate) |
- .SetMethod("connectToService", |
- &ServiceRegistryJsWrapper::ConnectToService) |
- .SetMethod("addServiceOverrideForTesting", |
- &ServiceRegistryJsWrapper::AddServiceOverrideForTesting) |
- .SetMethod("clearServiceOverridesForTesting", |
- &ServiceRegistryJsWrapper::ClearServiceOverridesForTesting); |
-} |
- |
-mojo::Handle ServiceRegistryJsWrapper::ConnectToService( |
- const std::string& service_name) { |
- mojo::MessagePipe pipe; |
- if (service_registry_) |
- service_registry_->ConnectToRemoteService(service_name, |
- std::move(pipe.handle0)); |
- return pipe.handle1.release(); |
-} |
- |
-void ServiceRegistryJsWrapper::AddServiceOverrideForTesting( |
- const std::string& service_name, |
- v8::Local<v8::Function> service_factory) { |
- ServiceRegistry* registry = service_registry_.get(); |
- if (!registry) |
- return; |
- ScopedJsFactory factory(v8::Isolate::GetCurrent(), service_factory); |
- registry->AddServiceOverrideForTesting( |
- service_name, base::Bind(&ServiceRegistryJsWrapper::CallJsFactory, |
- weak_factory_.GetWeakPtr(), factory)); |
-} |
- |
-void ServiceRegistryJsWrapper::ClearServiceOverridesForTesting() { |
- ServiceRegistryImpl* registry = |
- static_cast<ServiceRegistryImpl*>(service_registry_.get()); |
- if (!registry) |
- return; |
- |
- registry->ClearServiceOverridesForTesting(); |
-} |
- |
-ServiceRegistryJsWrapper::ServiceRegistryJsWrapper( |
- v8::Isolate* isolate, |
- v8::Handle<v8::Context> context, |
- base::WeakPtr<ServiceRegistry> service_registry) |
- : isolate_(isolate), |
- context_(isolate, context), |
- service_registry_(service_registry), |
- weak_factory_(this) { |
- context_.SetWeak(this, &ServiceRegistryJsWrapper::ClearContext, |
- v8::WeakCallbackType::kParameter); |
-} |
- |
-void ServiceRegistryJsWrapper::CallJsFactory( |
- const ScopedJsFactory& factory, |
- mojo::ScopedMessagePipeHandle pipe) { |
- if (context_.IsEmpty()) |
- return; |
- |
- v8::HandleScope handle_scope(isolate_); |
- v8::Handle<v8::Context> context = context_.Get(isolate_); |
- v8::Context::Scope context_scope(context); |
- v8::Local<v8::Value> argv[] = { |
- gin::ConvertToV8(isolate_, mojo::Handle(pipe.release().value()))}; |
- blink::WebLocalFrame::frameForContext(context) |
- ->callFunctionEvenIfScriptDisabled(factory.Get(isolate_), |
- v8::Undefined(isolate_), 1, argv); |
-} |
- |
-// static |
-void ServiceRegistryJsWrapper::ClearContext( |
- const v8::WeakCallbackInfo<ServiceRegistryJsWrapper>& data) { |
- ServiceRegistryJsWrapper* service_registry = data.GetParameter(); |
- service_registry->context_.Reset(); |
-} |
- |
-} // namespace content |