summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorben <ben@chromium.org>2015-05-21 15:25:22 -0700
committerCommit bot <commit-bot@chromium.org>2015-05-21 22:25:47 +0000
commit5fdef63ff67c5c88a606c49bbbc7b52e0b43fa60 (patch)
tree2b26fa87177bb4a590a964b481fa5fbc3bec23a9
parentfe9a0660c53983ea7ac5dfabb1769e3463d85370 (diff)
downloadchromium_src-5fdef63ff67c5c88a606c49bbbc7b52e0b43fa60.zip
chromium_src-5fdef63ff67c5c88a606c49bbbc7b52e0b43fa60.tar.gz
chromium_src-5fdef63ff67c5c88a606c49bbbc7b52e0b43fa60.tar.bz2
Fold NativeViewport application into ViewManager application.
R=sky@chromium.org BUG= Review URL: https://codereview.chromium.org/1123153006 Cr-Commit-Position: refs/heads/master@{#331010}
-rw-r--r--components/html_viewer/html_document.cc2
-rw-r--r--components/view_manager/BUILD.gn71
-rw-r--r--components/view_manager/DEPS2
-rw-r--r--components/view_manager/android_loader.cc23
-rw-r--r--components/view_manager/android_loader.h34
-rw-r--r--components/view_manager/display_manager.cc4
-rw-r--r--components/view_manager/native_viewport/BUILD.gn55
-rw-r--r--components/view_manager/native_viewport/main.cc15
-rw-r--r--components/view_manager/view_manager_app.cc67
-rw-r--r--components/view_manager/view_manager_app.h24
-rw-r--r--mandoline/app/android/BUILD.gn2
-rw-r--r--mandoline/app/core_services_initialization.cc4
-rw-r--r--mandoline/services/core_services/BUILD.gn1
-rw-r--r--mandoline/services/core_services/core_services_application_delegate.cc7
-rw-r--r--mandoline/ui/aura/surface_binding.cc2
-rw-r--r--mojo/runner/BUILD.gn8
-rw-r--r--mojo/runner/DEPS3
-rw-r--r--mojo/runner/android/main.cc6
-rw-r--r--mojo/runner/android/native_viewport_application_loader.cc55
-rw-r--r--mojo/runner/android/native_viewport_application_loader.h58
20 files changed, 210 insertions, 233 deletions
diff --git a/components/html_viewer/html_document.cc b/components/html_viewer/html_document.cc
index 27765aa..ff11df06 100644
--- a/components/html_viewer/html_document.cc
+++ b/components/html_viewer/html_document.cc
@@ -233,7 +233,7 @@ void HTMLDocument::initializeLayerTreeView() {
ServiceProviderPtr gpu_service_provider;
// TODO(jamesr): Should be mojo:gpu_service
mojo::URLRequestPtr request2(mojo::URLRequest::New());
- request2->url = mojo::String::From("mojo:native_viewport_service");
+ request2->url = mojo::String::From("mojo:view_manager");
shell_->ConnectToApplication(request2.Pass(),
GetProxy(&gpu_service_provider), nullptr);
mojo::GpuPtr gpu_service;
diff --git a/components/view_manager/BUILD.gn b/components/view_manager/BUILD.gn
index 4b66b36..db7fce6 100644
--- a/components/view_manager/BUILD.gn
+++ b/components/view_manager/BUILD.gn
@@ -6,18 +6,67 @@ import("//build/config/ui.gni")
import("//testing/test.gni")
import("//third_party/mojo/src/mojo/public/mojo_application.gni")
-mojo_native_application("view_manager") {
- sources = [
- "main.cc",
- ]
+if (is_android) {
+ import("//build/config/android/config.gni")
+ import("//build/config/android/rules.gni")
+
+ group("view_manager") {
+ deps = [
+ ":jni_headers",
+ ":loader",
+ ":view_manager_lib",
+ ":view_manager_java",
+ "native_viewport",
+ ]
+ }
- deps = [
- ":view_manager_lib",
- "//base",
- "//components/view_manager/public/interfaces",
- "//mojo/application/public/cpp",
- "//mojo/converters/geometry",
- ]
+ android_library("view_manager_java") {
+ java_files = [ "native_viewport/android/src/org/chromium/mojo/PlatformViewportAndroid.java" ]
+
+ deps = [
+ "//base:base_java",
+ ]
+ }
+
+ generate_jni("jni_headers") {
+ sources = [
+ "native_viewport/android/src/org/chromium/mojo/PlatformViewportAndroid.java",
+ ]
+
+ jni_package = "mojo"
+ }
+
+ source_set("loader") {
+ sources = [
+ "android_loader.cc",
+ "android_loader.h",
+ ]
+
+ deps = [
+ "public/interfaces",
+ "//third_party/mojo/src/mojo/public/cpp/bindings",
+ ]
+ }
+} else {
+ mojo_native_application("view_manager") {
+ sources = [
+ "main.cc",
+ ]
+
+ deps = [
+ ":view_manager_lib",
+ "//base",
+ "//components/view_manager/public/interfaces",
+ "//components/view_manager/native_viewport",
+ "//mojo/application/public/cpp",
+ "//mojo/converters/geometry",
+ "//mojo/environment:chromium",
+ "//third_party/mojo/src/mojo/public/cpp/bindings:bindings",
+ "//ui/events",
+ "//ui/events/platform",
+ "//ui/gl",
+ ]
+ }
}
source_set("view_manager_lib") {
diff --git a/components/view_manager/DEPS b/components/view_manager/DEPS
index 762fa0b..d78c2a9 100644
--- a/components/view_manager/DEPS
+++ b/components/view_manager/DEPS
@@ -1,5 +1,6 @@
include_rules = [
"+cc",
+ "+components/gles2",
"+components/gpu",
"+components/native_viewport",
"+components/surfaces",
@@ -7,6 +8,7 @@ include_rules = [
"+mojo/common",
"+mojo/converters",
"+mojo/services/network/public",
+ "+mojo/shell",
"+third_party/mojo/src/mojo/public",
"+third_party/mojo_services",
"+ui",
diff --git a/components/view_manager/android_loader.cc b/components/view_manager/android_loader.cc
new file mode 100644
index 0000000..6923fae
--- /dev/null
+++ b/components/view_manager/android_loader.cc
@@ -0,0 +1,23 @@
+// Copyright 2015 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 "components/view_manager/android_loader.h"
+
+#include "components/view_manager/view_manager_app.h"
+#include "mojo/application/public/cpp/application_impl.h"
+
+namespace view_manager {
+
+AndroidLoader::AndroidLoader() {}
+AndroidLoader::~AndroidLoader() {}
+
+void AndroidLoader::Load(
+ const GURL& url,
+ mojo::InterfaceRequest<mojo::Application> application_request) {
+ DCHECK(application_request.is_pending());
+ app_.reset(new mojo::ApplicationImpl(new ViewManagerApp,
+ application_request.Pass()));
+}
+
+} // namespace view_manager
diff --git a/components/view_manager/android_loader.h b/components/view_manager/android_loader.h
new file mode 100644
index 0000000..d463f057
--- /dev/null
+++ b/components/view_manager/android_loader.h
@@ -0,0 +1,34 @@
+// Copyright 2015 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.
+
+#ifndef COMPONENTS_VIEW_MANAGER_ANDROID_LOADER_H_
+#define COMPONENTS_VIEW_MANAGER_ANDROID_LOADER_H_
+
+#include "mojo/shell/application_loader.h"
+
+namespace mojo {
+class ApplicationImpl;
+}
+
+namespace view_manager {
+
+class AndroidLoader : public mojo::shell::ApplicationLoader {
+public:
+ AndroidLoader();
+ ~AndroidLoader();
+
+ private:
+ // Overridden from mojo::shell::ApplicationLoader:
+ void Load(
+ const GURL& url,
+ mojo::InterfaceRequest<mojo::Application> application_request) override;
+
+ scoped_ptr<mojo::ApplicationImpl> app_;
+
+ DISALLOW_COPY_AND_ASSIGN(AndroidLoader);
+};
+
+} // namespace view_manager
+
+#endif // COMPONENTS_VIEW_MANAGER_ANDROID_LOADER_H_
diff --git a/components/view_manager/display_manager.cc b/components/view_manager/display_manager.cc
index e6b5623..b245e31 100644
--- a/components/view_manager/display_manager.cc
+++ b/components/view_manager/display_manager.cc
@@ -91,7 +91,9 @@ void DefaultDisplayManager::Init(
mojo::NativeViewportEventDispatcherPtr event_dispatcher) {
connection_manager_ = connection_manager;
mojo::URLRequestPtr request(mojo::URLRequest::New());
- request->url = mojo::String::From("mojo:native_viewport_service");
+ // TODO(beng): should not need to connect to ourselves, should just
+ // create the appropriate platform window directly.
+ request->url = mojo::String::From("mojo:view_manager");
app_impl_->ConnectToService(request.Pass(),
&native_viewport_);
native_viewport_.set_error_handler(this);
diff --git a/components/view_manager/native_viewport/BUILD.gn b/components/view_manager/native_viewport/BUILD.gn
index 4783d4d..581de58 100644
--- a/components/view_manager/native_viewport/BUILD.gn
+++ b/components/view_manager/native_viewport/BUILD.gn
@@ -5,59 +5,8 @@
import("//build/config/ui.gni")
import("//third_party/mojo/src/mojo/public/mojo_application.gni")
-if (is_android) {
- import("//build/config/android/config.gni")
- import("//build/config/android/rules.gni")
-
- group("native_viewport") {
- deps = [
- ":lib",
- ":native_viewport_java",
- ":jni_headers",
- ]
- }
-
- android_library("native_viewport_java") {
- java_files =
- [ "android/src/org/chromium/mojo/PlatformViewportAndroid.java" ]
-
- deps = [
- "//base:base_java",
- ]
- }
-
- generate_jni("jni_headers") {
- sources = [
- "android/src/org/chromium/mojo/PlatformViewportAndroid.java",
- ]
-
- jni_package = "mojo"
- }
-} else {
- mojo_native_application("native_viewport") {
- output_name = "native_viewport_service"
- sources = [
- "main.cc",
- ]
- deps = [
- ":lib",
- "//base",
- "//components/gles2",
- "//components/view_manager/public/cpp",
- "//components/view_manager/public/interfaces",
- "//mojo/application/public/cpp",
- "//third_party/mojo/src/mojo/public/cpp/bindings:bindings",
- "//ui/events",
- "//ui/events/platform",
- "//ui/gl",
- ]
- }
-}
-
-source_set("lib") {
+source_set("native_viewport") {
sources = [
- "native_viewport_application_delegate.cc",
- "native_viewport_application_delegate.h",
"native_viewport_impl.cc",
"native_viewport_impl.h",
"onscreen_context_provider.cc",
@@ -95,7 +44,7 @@ source_set("lib") {
]
if (is_android) {
- deps += [ ":jni_headers" ]
+ deps += [ "//components/view_manager:jni_headers" ]
}
if (use_x11) {
diff --git a/components/view_manager/native_viewport/main.cc b/components/view_manager/native_viewport/main.cc
deleted file mode 100644
index 5858c03..0000000
--- a/components/view_manager/native_viewport/main.cc
+++ /dev/null
@@ -1,15 +0,0 @@
-// 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 "base/message_loop/message_loop.h"
-#include "components/view_manager/native_viewport/native_viewport_application_delegate.h"
-#include "mojo/application/public/cpp/application_runner.h"
-#include "third_party/mojo/src/mojo/public/c/system/main.h"
-
-MojoResult MojoMain(MojoHandle shell_handle) {
- mojo::ApplicationRunner runner(
- new native_viewport::NativeViewportApplicationDelegate);
- runner.set_message_loop_type(base::MessageLoop::TYPE_UI);
- return runner.Run(shell_handle);
-}
diff --git a/components/view_manager/view_manager_app.cc b/components/view_manager/view_manager_app.cc
index f8084d4..f0c29bd 100644
--- a/components/view_manager/view_manager_app.cc
+++ b/components/view_manager/view_manager_app.cc
@@ -4,26 +4,33 @@
#include "components/view_manager/view_manager_app.h"
+#include "base/command_line.h"
#include "components/view_manager/client_connection.h"
#include "components/view_manager/connection_manager.h"
#include "components/view_manager/display_manager.h"
+#include "components/view_manager/native_viewport/native_viewport_impl.h"
+#include "components/view_manager/public/cpp/args.h"
#include "components/view_manager/view_manager_service_impl.h"
#include "mojo/application/public/cpp/application_connection.h"
#include "mojo/application/public/cpp/application_impl.h"
#include "mojo/application/public/cpp/application_runner.h"
#include "mojo/common/tracing_impl.h"
#include "third_party/mojo/src/mojo/public/c/system/main.h"
+#include "ui/events/event_switches.h"
+#include "ui/events/platform/platform_event_source.h"
+#include "ui/gl/gl_surface.h"
using mojo::ApplicationConnection;
using mojo::ApplicationImpl;
+using mojo::Gpu;
using mojo::InterfaceRequest;
+using mojo::NativeViewport;
using mojo::ViewManagerRoot;
using mojo::ViewManagerService;
namespace view_manager {
-ViewManagerApp::ViewManagerApp()
- : app_impl_(nullptr), wm_app_connection_(nullptr) {
+ViewManagerApp::ViewManagerApp() : app_impl_(nullptr) {
}
ViewManagerApp::~ViewManagerApp() {}
@@ -31,25 +38,36 @@ ViewManagerApp::~ViewManagerApp() {}
void ViewManagerApp::Initialize(ApplicationImpl* app) {
app_impl_ = app;
tracing_.Initialize(app);
+
+ scoped_ptr<DefaultDisplayManager> display_manager(new DefaultDisplayManager(
+ app_impl_, base::Bind(&ViewManagerApp::OnLostConnectionToWindowManager,
+ base::Unretained(this))));
+ connection_manager_.reset(
+ new ConnectionManager(this, display_manager.Pass()));
+
+#if !defined(OS_ANDROID)
+ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
+ is_headless_ = command_line->HasSwitch(mojo::kUseHeadlessConfig);
+ if (!is_headless_) {
+ event_source_ = ui::PlatformEventSource::CreateDefault();
+ if (command_line->HasSwitch(mojo::kUseTestConfig))
+ gfx::GLSurface::InitializeOneOffForTests();
+ else
+ gfx::GLSurface::InitializeOneOff();
+ }
+#endif
}
bool ViewManagerApp::ConfigureIncomingConnection(
ApplicationConnection* connection) {
- if (connection_manager_.get()) {
- VLOG(1) << "ViewManager allows only one window manager connection.";
- return false;
- }
- wm_app_connection_ = connection;
+
// |connection| originates from the WindowManager. Let it connect directly
// to the ViewManager.
connection->AddService<ViewManagerService>(this);
connection->AddService<ViewManagerRoot>(this);
+ connection->AddService<NativeViewport>(this);
+ connection->AddService<Gpu>(this);
- scoped_ptr<DefaultDisplayManager> display_manager(new DefaultDisplayManager(
- app_impl_, base::Bind(&ViewManagerApp::OnLostConnectionToWindowManager,
- base::Unretained(this))));
- connection_manager_.reset(
- new ConnectionManager(this, display_manager.Pass()));
return true;
}
@@ -90,8 +108,7 @@ ClientConnection* ViewManagerApp::CreateClientConnectionForEmbedAtView(
void ViewManagerApp::Create(ApplicationConnection* connection,
InterfaceRequest<ViewManagerService> request) {
- if (connection_manager_->has_window_manager_client_connection() ||
- connection != wm_app_connection_) {
+ if (connection_manager_->has_window_manager_client_connection()) {
VLOG(1) << "ViewManager interface requested more than once.";
return;
}
@@ -100,7 +117,7 @@ void ViewManagerApp::Create(ApplicationConnection* connection,
connection_manager_.get(), kInvalidConnectionId, std::string(),
connection->GetRemoteApplicationURL(), RootViewId()));
mojo::ViewManagerClientPtr client;
- wm_app_connection_->ConnectToService(&client);
+ connection->ConnectToService(&client);
scoped_ptr<ClientConnection> client_connection(
new DefaultClientConnection(service.Pass(), connection_manager_.get(),
request.Pass(), client.Pass()));
@@ -122,6 +139,26 @@ void ViewManagerApp::Create(ApplicationConnection* connection,
view_manager_root_binding_->set_error_handler(this);
}
+void ViewManagerApp::Create(
+ mojo::ApplicationConnection* connection,
+ mojo::InterfaceRequest<NativeViewport> request) {
+ if (!gpu_state_.get())
+ gpu_state_ = new gles2::GpuState;
+ new native_viewport::NativeViewportImpl(
+ is_headless_,
+ gpu_state_,
+ request.Pass(),
+ app_lifetime_helper_.CreateAppRefCount());
+}
+
+void ViewManagerApp::Create(
+ mojo::ApplicationConnection* connection,
+ mojo::InterfaceRequest<Gpu> request) {
+ if (!gpu_state_.get())
+ gpu_state_ = new gles2::GpuState;
+ new gles2::GpuImpl(request.Pass(), gpu_state_);
+}
+
void ViewManagerApp::OnConnectionError() {
ApplicationImpl::Terminate();
}
diff --git a/components/view_manager/view_manager_app.h b/components/view_manager/view_manager_app.h
index 34631b1..c472a09 100644
--- a/components/view_manager/view_manager_app.h
+++ b/components/view_manager/view_manager_app.h
@@ -6,9 +6,12 @@
#define COMPONENTS_VIEW_MANAGER_VIEW_MANAGER_APP_H_
#include "base/memory/scoped_ptr.h"
+#include "components/gles2/gpu_impl.h"
#include "components/view_manager/connection_manager_delegate.h"
+#include "components/view_manager/public/interfaces/native_viewport.mojom.h"
#include "components/view_manager/public/interfaces/view_manager.mojom.h"
#include "components/view_manager/public/interfaces/view_manager_root.mojom.h"
+#include "mojo/application/public/cpp/app_lifetime_helper.h"
#include "mojo/application/public/cpp/application_delegate.h"
#include "mojo/application/public/cpp/interface_factory.h"
#include "mojo/common/tracing_impl.h"
@@ -17,6 +20,10 @@ namespace mojo {
class ApplicationImpl;
}
+namespace ui {
+class PlatformEventSource;
+}
+
namespace view_manager {
class ConnectionManager;
@@ -25,7 +32,9 @@ class ViewManagerApp : public mojo::ApplicationDelegate,
public ConnectionManagerDelegate,
public mojo::ErrorHandler,
public mojo::InterfaceFactory<mojo::ViewManagerRoot>,
- public mojo::InterfaceFactory<mojo::ViewManagerService> {
+ public mojo::InterfaceFactory<mojo::ViewManagerService>,
+ public mojo::InterfaceFactory<mojo::NativeViewport>,
+ public mojo::InterfaceFactory<mojo::Gpu> {
public:
ViewManagerApp();
~ViewManagerApp() override;
@@ -62,14 +71,25 @@ class ViewManagerApp : public mojo::ApplicationDelegate,
void Create(mojo::ApplicationConnection* connection,
mojo::InterfaceRequest<mojo::ViewManagerRoot> request) override;
+ // mojo::InterfaceFactory<mojo::NativeViewport> implementation.
+ void Create(mojo::ApplicationConnection* connection,
+ mojo::InterfaceRequest<mojo::NativeViewport> request) override;
+
+ // mojo::InterfaceFactory<mojo::Gpu> implementation.
+ void Create(mojo::ApplicationConnection* connection,
+ mojo::InterfaceRequest<mojo::Gpu> request) override;
+
// ErrorHandler (for |wm_internal_| and |wm_internal_client_binding_|).
void OnConnectionError() override;
mojo::ApplicationImpl* app_impl_;
- mojo::ApplicationConnection* wm_app_connection_;
+ mojo::AppLifetimeHelper app_lifetime_helper_;
scoped_ptr<mojo::Binding<mojo::ViewManagerRoot>> view_manager_root_binding_;
scoped_ptr<ConnectionManager> connection_manager_;
mojo::TracingImpl tracing_;
+ scoped_refptr<gles2::GpuState> gpu_state_;
+ scoped_ptr<ui::PlatformEventSource> event_source_;
+ bool is_headless_;
DISALLOW_COPY_AND_ASSIGN(ViewManagerApp);
};
diff --git a/mandoline/app/android/BUILD.gn b/mandoline/app/android/BUILD.gn
index ed098f6..30706b5 100644
--- a/mandoline/app/android/BUILD.gn
+++ b/mandoline/app/android/BUILD.gn
@@ -86,7 +86,7 @@ android_apk("mandoline_apk") {
"//mojo/runner:java",
"//mojo/runner:resources",
"//base:base_java",
- "//components/view_manager/native_viewport:native_viewport_java",
+ "//components/view_manager:view_manager_java",
"//third_party/android_tools:google_play_services_default_resources",
]
}
diff --git a/mandoline/app/core_services_initialization.cc b/mandoline/app/core_services_initialization.cc
index 612dd2b..fce439f 100644
--- a/mandoline/app/core_services_initialization.cc
+++ b/mandoline/app/core_services_initialization.cc
@@ -15,7 +15,7 @@ void InitCoreServicesForContext(mojo::runner::Context* context) {
manager->RegisterApplicationPackageAlias(GURL("mojo:clipboard"),
GURL("mojo:core_services"), "Core");
#if !defined(OS_ANDROID)
- manager->RegisterApplicationPackageAlias(GURL("mojo:native_viewport_service"),
+ manager->RegisterApplicationPackageAlias(GURL("mojo:view_manager"),
GURL("mojo:core_services"),
"Surfaces");
#endif
@@ -31,8 +31,6 @@ void InitCoreServicesForContext(mojo::runner::Context* context) {
GURL("mojo:surfaces_service"), GURL("mojo:core_services"), "Surfaces");
manager->RegisterApplicationPackageAlias(GURL("mojo:tracing"),
GURL("mojo:core_services"), "Core");
- manager->RegisterApplicationPackageAlias(GURL("mojo:view_manager"),
- GURL("mojo:core_services"), "Core");
manager->RegisterApplicationPackageAlias(GURL("mojo:window_manager"),
GURL("mojo:core_services"), "Core");
}
diff --git a/mandoline/services/core_services/BUILD.gn b/mandoline/services/core_services/BUILD.gn
index 6158d50..6d3c078 100644
--- a/mandoline/services/core_services/BUILD.gn
+++ b/mandoline/services/core_services/BUILD.gn
@@ -72,7 +72,6 @@ source_set("sources") {
if (!is_android) {
deps += [
- "//components/view_manager/native_viewport:lib",
"//components/view_manager/public/cpp",
"//mandoline/ui/omnibox:lib",
]
diff --git a/mandoline/services/core_services/core_services_application_delegate.cc b/mandoline/services/core_services/core_services_application_delegate.cc
index f7735a0..4a982b6 100644
--- a/mandoline/services/core_services/core_services_application_delegate.cc
+++ b/mandoline/services/core_services/core_services_application_delegate.cc
@@ -9,7 +9,6 @@
#include "components/clipboard/clipboard_application_delegate.h"
#include "components/resource_provider/resource_provider_app.h"
#include "components/surfaces/surfaces_service_application.h"
-#include "components/view_manager/native_viewport/native_viewport_application_delegate.h"
#include "components/view_manager/view_manager_app.h"
#include "mandoline/ui/browser/browser.h"
#include "mojo/application/public/cpp/application_connection.h"
@@ -160,10 +159,6 @@ void CoreServicesApplicationDelegate::StartApplication(
scoped_ptr<mojo::ApplicationDelegate> delegate;
if (url == "mojo://clipboard/")
delegate.reset(new clipboard::ClipboardApplicationDelegate);
-#if !defined(OS_ANDROID)
- else if (url == "mojo://native_viewport_service/")
- delegate.reset(new native_viewport::NativeViewportApplicationDelegate);
-#endif
else if (url == "mojo://network_service/")
delegate.reset(new NetworkServiceDelegate);
#if !defined(OS_ANDROID)
@@ -188,7 +183,7 @@ void CoreServicesApplicationDelegate::StartApplication(
// In the case of mojo:network_service, we must use an IO message loop.
if (url == "mojo://network_service/") {
thread_options.message_loop_type = base::MessageLoop::TYPE_IO;
- } else if (url == "mojo://native_viewport_service/") {
+ } else if (url == "mojo://view_manager/") {
thread_options.message_loop_type = base::MessageLoop::TYPE_UI;
} else {
// We must use a MessagePumpMojo to awake on mojo messages.
diff --git a/mandoline/ui/aura/surface_binding.cc b/mandoline/ui/aura/surface_binding.cc
index e1a0566..378e9b9 100644
--- a/mandoline/ui/aura/surface_binding.cc
+++ b/mandoline/ui/aura/surface_binding.cc
@@ -224,7 +224,7 @@ void SurfaceBinding::PerViewManagerState::Init() {
mojo::ServiceProviderPtr gpu_service_provider;
// TODO(jamesr): Should be mojo:gpu_service
mojo::URLRequestPtr request2(mojo::URLRequest::New());
- request2->url = mojo::String::From("mojo:native_viewport_service");
+ request2->url = mojo::String::From("mojo:view_manager");
shell_->ConnectToApplication(request2.Pass(),
GetProxy(&gpu_service_provider),
nullptr);
diff --git a/mojo/runner/BUILD.gn b/mojo/runner/BUILD.gn
index da8ee67..8b8a7c5 100644
--- a/mojo/runner/BUILD.gn
+++ b/mojo/runner/BUILD.gn
@@ -57,7 +57,7 @@ source_set("mojo_runner_lib") {
deps += [
":jni_headers",
- "//components/view_manager/native_viewport:lib",
+ "//components/view_manager",
"//mojo/shell",
"//ui/gl",
]
@@ -148,8 +148,6 @@ source_set("lib") {
"android/android_handler_loader.h",
"android/background_application_loader.cc",
"android/background_application_loader.h",
- "android/native_viewport_application_loader.cc",
- "android/native_viewport_application_loader.h",
"android/ui_application_loader_android.cc",
"android/ui_application_loader_android.h",
]
@@ -158,7 +156,7 @@ source_set("lib") {
":jni_headers",
":run_android_application_function",
"//components/gles2",
- "//components/view_manager/native_viewport:lib",
+ "//components/view_manager/native_viewport",
"//mojo/application/public/cpp:content_handler",
]
}
@@ -329,7 +327,7 @@ if (is_android) {
":java",
":resources",
"//base:base_java",
- "//components/view_manager/native_viewport:native_viewport_java",
+ "//components/view_manager:view_manager_java",
"//third_party/android_tools:google_play_services_default_resources",
]
}
diff --git a/mojo/runner/DEPS b/mojo/runner/DEPS
index 9ef049a..47fe44f 100644
--- a/mojo/runner/DEPS
+++ b/mojo/runner/DEPS
@@ -1,8 +1,7 @@
include_rules = [
"+components/gles2",
"+components/gpu",
- "+components/view_manager/native_viewport",
- "+components/view_manager/public",
+ "+components/view_manager",
"+crypto",
"+jni",
"+third_party/mojo_services",
diff --git a/mojo/runner/android/main.cc b/mojo/runner/android/main.cc
index 7236763..ed41433 100644
--- a/mojo/runner/android/main.cc
+++ b/mojo/runner/android/main.cc
@@ -19,12 +19,12 @@
#include "base/message_loop/message_loop.h"
#include "base/run_loop.h"
#include "base/threading/simple_thread.h"
+#include "components/view_manager/android_loader.h"
#include "jni/ShellMain_jni.h"
#include "mojo/common/message_pump_mojo.h"
#include "mojo/runner/android/android_handler_loader.h"
#include "mojo/runner/android/background_application_loader.h"
#include "mojo/runner/android/context_init.h"
-#include "mojo/runner/android/native_viewport_application_loader.h"
#include "mojo/runner/android/ui_application_loader_android.h"
#include "mojo/runner/context.h"
#include "mojo/runner/init.h"
@@ -72,9 +72,9 @@ LazyInstance<base::android::ScopedJavaGlobalRef<jobject>> g_main_activiy =
void ConfigureAndroidServices(Context* context) {
context->application_manager()->SetLoaderForURL(
make_scoped_ptr(new UIApplicationLoader(
- make_scoped_ptr(new NativeViewportApplicationLoader()),
+ make_scoped_ptr(new view_manager::AndroidLoader()),
g_java_message_loop.Get().get())),
- GURL("mojo:native_viewport_service"));
+ GURL("mojo:view_manager"));
// Android handler is bundled with the Mojo shell, because it uses the
// MojoShell application as the JNI bridge to bootstrap execution of other
diff --git a/mojo/runner/android/native_viewport_application_loader.cc b/mojo/runner/android/native_viewport_application_loader.cc
deleted file mode 100644
index 7a6d8dc..0000000
--- a/mojo/runner/android/native_viewport_application_loader.cc
+++ /dev/null
@@ -1,55 +0,0 @@
-// 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 "mojo/runner/android/native_viewport_application_loader.h"
-
-#include "components/gles2/gpu_state.h"
-#include "components/view_manager/native_viewport/native_viewport_impl.h"
-#include "mojo/application/public/cpp/application_impl.h"
-
-namespace mojo {
-namespace runner {
-
-NativeViewportApplicationLoader::NativeViewportApplicationLoader() {
-}
-
-NativeViewportApplicationLoader::~NativeViewportApplicationLoader() {
-}
-
-void NativeViewportApplicationLoader::Load(
- const GURL& url,
- InterfaceRequest<Application> application_request) {
- DCHECK(application_request.is_pending());
- app_.reset(new ApplicationImpl(this, application_request.Pass()));
-}
-
-bool NativeViewportApplicationLoader::ConfigureIncomingConnection(
- ApplicationConnection* connection) {
- connection->AddService<NativeViewport>(this);
- connection->AddService<Gpu>(this);
- return true;
-}
-
-void NativeViewportApplicationLoader::Create(
- ApplicationConnection* connection,
- InterfaceRequest<NativeViewport> request) {
- if (!gpu_state_)
- gpu_state_ = new gles2::GpuState;
- // Pass a null AppRefCount because on Android the NativeViewPort app must
- // live on the main thread and we don't want to exit that when all the native
- // viewports are gone.
- new native_viewport::NativeViewportImpl(
- false, gpu_state_, request.Pass(),
- make_scoped_ptr<mojo::AppRefCount>(nullptr));
-}
-
-void NativeViewportApplicationLoader::Create(ApplicationConnection* connection,
- InterfaceRequest<Gpu> request) {
- if (!gpu_state_)
- gpu_state_ = new gles2::GpuState;
- new gles2::GpuImpl(request.Pass(), gpu_state_);
-}
-
-} // namespace runner
-} // namespace mojo
diff --git a/mojo/runner/android/native_viewport_application_loader.h b/mojo/runner/android/native_viewport_application_loader.h
deleted file mode 100644
index e5596da..0000000
--- a/mojo/runner/android/native_viewport_application_loader.h
+++ /dev/null
@@ -1,58 +0,0 @@
-// 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.
-
-#ifndef MOJO_RUNNER_ANDROID_NATIVE_VIEWPORT_APPLICATION_LOADER_H_
-#define MOJO_RUNNER_ANDROID_NATIVE_VIEWPORT_APPLICATION_LOADER_H_
-
-#include "components/gles2/gpu_impl.h"
-#include "components/gpu/public/interfaces/gpu.mojom.h"
-#include "components/view_manager/public/interfaces/native_viewport.mojom.h"
-#include "mojo/application/public/cpp/application_delegate.h"
-#include "mojo/application/public/cpp/interface_factory.h"
-#include "mojo/shell/application_loader.h"
-
-namespace gles2 {
-class GpuState;
-}
-
-namespace mojo {
-
-class ApplicationImpl;
-
-namespace runner {
-
-class NativeViewportApplicationLoader : public shell::ApplicationLoader,
- public ApplicationDelegate,
- public InterfaceFactory<NativeViewport>,
- public InterfaceFactory<Gpu> {
- public:
- NativeViewportApplicationLoader();
- ~NativeViewportApplicationLoader();
-
- private:
- // ApplicationLoader implementation.
- void Load(const GURL& url,
- InterfaceRequest<Application> application_request) override;
-
- // ApplicationDelegate implementation.
- bool ConfigureIncomingConnection(ApplicationConnection* connection) override;
-
- // InterfaceFactory<NativeViewport> implementation.
- void Create(ApplicationConnection* connection,
- InterfaceRequest<NativeViewport> request) override;
-
- // InterfaceFactory<Gpu> implementation.
- void Create(ApplicationConnection* connection,
- InterfaceRequest<Gpu> request) override;
-
- scoped_refptr<gles2::GpuState> gpu_state_;
- scoped_ptr<ApplicationImpl> app_;
-
- DISALLOW_COPY_AND_ASSIGN(NativeViewportApplicationLoader);
-};
-
-} // namespace runner
-} // namespace mojo
-
-#endif // MOJO_RUNNER_ANDROID_NATIVE_VIEWPORT_APPLICATION_LOADER_H_