diff options
author | davemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-08-15 14:48:12 +0000 |
---|---|---|
committer | davemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-08-15 14:49:40 +0000 |
commit | 4bf5740ebbca20827ce9d68e251d051cda2ef44e (patch) | |
tree | f3c4983497695048a7f3fbdbc3f508506db75d86 /mojo/shell | |
parent | a723bc205ed065a9dfec01cf5921e84545e8e7b6 (diff) | |
download | chromium_src-4bf5740ebbca20827ce9d68e251d051cda2ef44e.zip chromium_src-4bf5740ebbca20827ce9d68e251d051cda2ef44e.tar.gz chromium_src-4bf5740ebbca20827ce9d68e251d051cda2ef44e.tar.bz2 |
Turn mojo_native_viewport_service from component into a static_library.
This is in preparation for creating a true mojo application out of it on
platforms other than Android which will require static linking for a while
longer. This will help us make mojo_shell smaller.
BUG=
Review URL: https://codereview.chromium.org/475183002
Cr-Commit-Position: refs/heads/master@{#289853}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@289853 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'mojo/shell')
-rw-r--r-- | mojo/shell/android/library_loader.cc | 2 | ||||
-rw-r--r-- | mojo/shell/context.cc | 25 |
2 files changed, 23 insertions, 4 deletions
diff --git a/mojo/shell/android/library_loader.cc b/mojo/shell/android/library_loader.cc index 56d298b..26a99a5 100644 --- a/mojo/shell/android/library_loader.cc +++ b/mojo/shell/android/library_loader.cc @@ -16,7 +16,7 @@ namespace { base::android::RegistrationMethod kMojoRegisteredMethods[] = { { "MojoMain", mojo::RegisterMojoMain }, { "PlatformViewportAndroid", - mojo::services::PlatformViewportAndroid::Register }, + mojo::PlatformViewportAndroid::Register }, }; bool RegisterMojoJni(JNIEnv* env) { diff --git a/mojo/shell/context.cc b/mojo/shell/context.cc index 2b218f3..a6585e2 100644 --- a/mojo/shell/context.cc +++ b/mojo/shell/context.cc @@ -15,8 +15,10 @@ #include "mojo/application_manager/application_manager.h" #include "mojo/application_manager/background_shell_application_loader.h" #include "mojo/embedder/embedder.h" +#include "mojo/public/cpp/application/application_connection.h" +#include "mojo/public/cpp/application/application_delegate.h" #include "mojo/public/cpp/application/application_impl.h" -#include "mojo/services/native_viewport/native_viewport_service.h" +#include "mojo/services/native_viewport/native_viewport_impl.h" #include "mojo/shell/dynamic_application_loader.h" #include "mojo/shell/in_process_dynamic_service_runner.h" #include "mojo/shell/out_of_process_dynamic_service_runner.h" @@ -90,23 +92,40 @@ void InitContentHandlers(DynamicApplicationLoader* loader, } // namespace -class Context::NativeViewportApplicationLoader : public ApplicationLoader { +class Context::NativeViewportApplicationLoader + : public ApplicationLoader, + public ApplicationDelegate, + public InterfaceFactory<NativeViewport> { public: NativeViewportApplicationLoader() {} virtual ~NativeViewportApplicationLoader() {} private: + // ApplicationLoader implementation. virtual void Load(ApplicationManager* manager, const GURL& url, scoped_refptr<LoadCallbacks> callbacks) OVERRIDE { ScopedMessagePipeHandle shell_handle = callbacks->RegisterApplication(); if (shell_handle.is_valid()) - app_.reset(services::CreateNativeViewportService(shell_handle.Pass())); + app_.reset(new ApplicationImpl(this, shell_handle.Pass())); } virtual void OnServiceError(ApplicationManager* manager, const GURL& url) OVERRIDE {} + // ApplicationDelegate implementation. + virtual bool ConfigureIncomingConnection( + mojo::ApplicationConnection* connection) OVERRIDE { + connection->AddService(this); + return true; + } + + // InterfaceFactory<NativeViewport> implementation. + virtual void Create(ApplicationConnection* connection, + InterfaceRequest<NativeViewport> request) OVERRIDE { + BindToRequest(new NativeViewportImpl, &request); + } + scoped_ptr<ApplicationImpl> app_; DISALLOW_COPY_AND_ASSIGN(NativeViewportApplicationLoader); }; |