Index: mojo/apps/js/content_handler_impl.cc |
diff --git a/mojo/apps/js/content_handler_impl.cc b/mojo/apps/js/content_handler_impl.cc |
index 233e8af179d49f9acaecd56a75eae776fb7510b4..610222a372383ee6b7f8ff6d5a8527215eed2a0a 100644 |
--- a/mojo/apps/js/content_handler_impl.cc |
+++ b/mojo/apps/js/content_handler_impl.cc |
@@ -14,9 +14,11 @@ namespace apps { |
class ContentHandlerJSApp : public JSApp { |
public: |
ContentHandlerJSApp(ApplicationDelegateImpl* app_delegate_impl, |
- URLResponsePtr content) |
+ URLResponsePtr content, |
+ ScopedMessagePipeHandle sp) |
Aaron Boodman
2014/10/29 17:12:51
Same thing here -- I would prefer to see the stron
hansmuller
2014/10/29 22:43:40
I tried to do this but was thwarted by base::Bind(
|
: JSApp(app_delegate_impl), |
- content_(content.Pass()) { |
+ content_(content.Pass()), |
+ requestor_message_pipe_handle_(sp.Pass()) { |
} |
bool Load(std::string* source, std::string* file_name) override { |
@@ -26,8 +28,13 @@ class ContentHandlerJSApp : public JSApp { |
return common::BlockingCopyToString(content_->body.Pass(), source); |
} |
+ virtual Handle RequestorMessagePipeHandle() override { |
+ return requestor_message_pipe_handle_.release(); |
+ } |
+ |
private: |
URLResponsePtr content_; |
+ ScopedMessagePipeHandle requestor_message_pipe_handle_; |
}; |
@@ -42,8 +49,9 @@ void ContentHandlerImpl::OnConnect( |
const mojo::String& requestor_url, |
URLResponsePtr content, |
InterfaceRequest<ServiceProvider> service_provider) { |
+ ScopedMessagePipeHandle sp(service_provider.PassMessagePipe()); |
scoped_ptr<JSApp> js_app( |
- new ContentHandlerJSApp(app_delegate_impl_, content.Pass())); |
+ new ContentHandlerJSApp(app_delegate_impl_, content.Pass(), sp.Pass())); |
app_delegate_impl_->StartJSApp(js_app.Pass()); |
} |