summaryrefslogtreecommitdiffstats
path: root/mojo/shell
diff options
context:
space:
mode:
authordavemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-15 14:48:12 +0000
committerdavemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-15 14:49:40 +0000
commit4bf5740ebbca20827ce9d68e251d051cda2ef44e (patch)
treef3c4983497695048a7f3fbdbc3f508506db75d86 /mojo/shell
parenta723bc205ed065a9dfec01cf5921e84545e8e7b6 (diff)
downloadchromium_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.cc2
-rw-r--r--mojo/shell/context.cc25
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);
};