| Index: services/js/js_app_shell.cc
|
| diff --git a/services/js/js_app_shell.cc b/services/js/js_app_shell.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..448ba3d62c0b0014b41e925a4a3ac9b0d694ae08
|
| --- /dev/null
|
| +++ b/services/js/js_app_shell.cc
|
| @@ -0,0 +1,42 @@
|
| +// 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 "services/js/js_app_shell.h"
|
| +
|
| +#include "gin/object_template_builder.h"
|
| +#include "services/js/js_app.h"
|
| +
|
| +namespace mojo {
|
| +namespace js {
|
| +
|
| +gin::WrapperInfo JSAppShell::kWrapperInfo = {gin::kEmbedderNativeGin};
|
| +
|
| +gin::Handle<JSAppShell> JSAppShell::Create(v8::Isolate* isolate,
|
| + JSApp* js_app) {
|
| + return CreateHandle(isolate, new JSAppShell(js_app));
|
| +}
|
| +
|
| +JSAppShell::JSAppShell(JSApp* js_app) : js_app_(js_app) {
|
| +}
|
| +
|
| +JSAppShell::~JSAppShell() {
|
| +}
|
| +
|
| +gin::ObjectTemplateBuilder JSAppShell::GetObjectTemplateBuilder(
|
| + v8::Isolate* isolate) {
|
| + return gin::Wrappable<JSAppShell>::GetObjectTemplateBuilder(isolate)
|
| + .SetMethod("connectToApplication", &JSAppShell::ConnectToApplication);
|
| +}
|
| +
|
| +void JSAppShell::ConnectToApplication(
|
| + const std::string& application_url, mojo::Handle service_provider) {
|
| + // TODO(hansmuller): Validate arguments.
|
| + // TODO(hansmuller): Service_provider may be a ServiceProviderProxy.
|
| + MessagePipeHandle message_pipe_handle(service_provider.value());
|
| + ScopedMessagePipeHandle scoped_handle(message_pipe_handle);
|
| + js_app_->ConnectToApplication(application_url, scoped_handle.Pass());
|
| +}
|
| +
|
| +} // namespace js
|
| +} // namespace mojo
|
|
|