summaryrefslogtreecommitdiffstats
path: root/mojo/services/html_viewer
diff options
context:
space:
mode:
Diffstat (limited to 'mojo/services/html_viewer')
-rw-r--r--mojo/services/html_viewer/html_viewer.cc21
1 files changed, 13 insertions, 8 deletions
diff --git a/mojo/services/html_viewer/html_viewer.cc b/mojo/services/html_viewer/html_viewer.cc
index 06df351..73f3045 100644
--- a/mojo/services/html_viewer/html_viewer.cc
+++ b/mojo/services/html_viewer/html_viewer.cc
@@ -23,6 +23,7 @@
#include "third_party/mojo/src/mojo/public/cpp/application/application_impl.h"
#include "third_party/mojo/src/mojo/public/cpp/application/connect.h"
#include "third_party/mojo/src/mojo/public/cpp/application/interface_factory_impl.h"
+#include "third_party/mojo/src/mojo/public/cpp/bindings/strong_binding.h"
#if !defined(COMPONENT_BUILD)
#include "base/i18n/icu_util.h"
@@ -59,24 +60,24 @@ class HTMLViewer;
class HTMLViewerApplication : public mojo::Application {
public:
- HTMLViewerApplication(ShellPtr shell,
+ HTMLViewerApplication(InterfaceRequest<Application> request,
URLResponsePtr response,
scoped_refptr<base::MessageLoopProxy> compositor_thread,
WebMediaPlayerFactory* web_media_player_factory)
: url_(response->url),
- shell_(shell.Pass()),
+ binding_(this, request.Pass()),
initial_response_(response.Pass()),
compositor_thread_(compositor_thread),
- web_media_player_factory_(web_media_player_factory) {
- shell_.set_client(this);
+ web_media_player_factory_(web_media_player_factory) {}
+
+ void Initialize(ShellPtr shell, Array<String> args) override {
ServiceProviderPtr service_provider;
+ shell_ = shell.Pass();
shell_->ConnectToApplication("mojo:network_service",
GetProxy(&service_provider), nullptr);
ConnectToService(service_provider.get(), &network_service_);
}
- void Initialize(Array<String> args) override {}
-
void AcceptConnection(const String& requestor_url,
InterfaceRequest<ServiceProvider> services,
ServiceProviderPtr exposed_services) override {
@@ -113,6 +114,7 @@ class HTMLViewerApplication : public mojo::Application {
}
String url_;
+ mojo::StrongBinding<mojo::Application> binding_;
ShellPtr shell_;
mojo::NetworkServicePtr network_service_;
URLResponsePtr initial_response_;
@@ -130,8 +132,11 @@ class ContentHandlerImpl : public mojo::InterfaceImpl<ContentHandler> {
private:
// Overridden from ContentHandler:
- void StartApplication(ShellPtr shell, URLResponsePtr response) override {
- new HTMLViewerApplication(shell.Pass(), response.Pass(), compositor_thread_,
+ void StartApplication(InterfaceRequest<mojo::Application> request,
+ URLResponsePtr response) override {
+ new HTMLViewerApplication(request.Pass(),
+ response.Pass(),
+ compositor_thread_,
web_media_player_factory_);
}