Done-ish?: ApplicationDelegate -> ApplicationImplBase conversion.
Still have to delete ApplicationDelegate, but I think uses are all gone.
R=vardhan@google.com
Review URL: https://codereview.chromium.org/2010283006 .
diff --git a/examples/native_run_app/native_run_app.cc b/examples/native_run_app/native_run_app.cc
index 9b0e554..b20a415 100644
--- a/examples/native_run_app/native_run_app.cc
+++ b/examples/native_run_app/native_run_app.cc
@@ -25,7 +25,6 @@
#include "base/strings/string_util.h"
#include "mojo/environment/scoped_chromium_init.h"
#include "mojo/public/c/system/main.h"
-#include "mojo/public/cpp/application/application_delegate.h"
#include "mojo/public/cpp/application/application_impl_base.h"
#include "mojo/public/cpp/application/connect.h"
#include "mojo/public/cpp/application/run_application.h"
diff --git a/examples/recursive_content_handler/recursive_content_handler.cc b/examples/recursive_content_handler/recursive_content_handler.cc
index 77613d7..3030929 100644
--- a/examples/recursive_content_handler/recursive_content_handler.cc
+++ b/examples/recursive_content_handler/recursive_content_handler.cc
@@ -4,26 +4,25 @@
#include "base/macros.h"
#include "base/memory/scoped_ptr.h"
-#include "mojo/application/application_runner_chromium.h"
#include "mojo/application/content_handler_factory.h"
+#include "mojo/environment/scoped_chromium_init.h"
#include "mojo/public/c/system/main.h"
-#include "mojo/public/cpp/application/application_delegate.h"
-#include "mojo/public/cpp/application/application_impl.h"
+#include "mojo/public/cpp/application/application_impl_base.h"
+#include "mojo/public/cpp/application/run_application.h"
#include "mojo/public/cpp/application/service_provider_impl.h"
#include "mojo/services/content_handler/interfaces/content_handler.mojom.h"
namespace mojo {
namespace examples {
-class RecursiveContentHandler : public ApplicationDelegate,
+class RecursiveContentHandler : public ApplicationImplBase,
public ContentHandlerFactory::ManagedDelegate {
public:
RecursiveContentHandler() {}
private:
- // Overridden from ApplicationDelegate:
- bool ConfigureIncomingConnection(
- ServiceProviderImpl* service_provider_impl) override {
+ // Overridden from ApplicationImplBase:
+ bool OnAcceptConnection(ServiceProviderImpl* service_provider_impl) override {
service_provider_impl->AddService<ContentHandler>(
ContentHandlerFactory::GetInterfaceRequestHandler(this));
return true;
@@ -34,8 +33,9 @@
CreateApplication(InterfaceRequest<Application> application_request,
URLResponsePtr response) override {
LOG(INFO) << "RecursiveContentHandler called with url: " << response->url;
- return make_handled_factory_holder(new mojo::ApplicationImpl(
- new RecursiveContentHandler(), application_request.Pass()));
+ auto app = new RecursiveContentHandler();
+ app->Bind(application_request.Pass());
+ return make_handled_factory_holder(app);
}
DISALLOW_COPY_AND_ASSIGN(RecursiveContentHandler);
@@ -45,7 +45,7 @@
} // namespace mojo
MojoResult MojoMain(MojoHandle application_request) {
- mojo::ApplicationRunnerChromium runner(
- new mojo::examples::RecursiveContentHandler());
- return runner.Run(application_request);
+ mojo::ScopedChromiumInit init;
+ mojo::examples::RecursiveContentHandler recursive_content_handler;
+ return mojo::RunApplication(application_request, &recursive_content_handler);
}
diff --git a/mojo/application/content_handler_factory.cc b/mojo/application/content_handler_factory.cc
index e27996a..40c7023 100644
--- a/mojo/application/content_handler_factory.cc
+++ b/mojo/application/content_handler_factory.cc
@@ -12,10 +12,7 @@
#include "base/thread_task_runner_handle.h"
#include "base/threading/platform_thread.h"
#include "base/trace_event/trace_event.h"
-#include "mojo/application/application_runner_chromium.h"
#include "mojo/message_pump/message_pump_mojo.h"
-#include "mojo/public/cpp/application/application_delegate.h"
-#include "mojo/public/cpp/application/application_impl.h"
#include "mojo/public/cpp/bindings/strong_binding.h"
#include "mojo/services/content_handler/interfaces/content_handler.mojom.h"
diff --git a/mojo/common/trace_provider_impl.cc b/mojo/common/trace_provider_impl.cc
index 2139b7c..5fa2345 100644
--- a/mojo/common/trace_provider_impl.cc
+++ b/mojo/common/trace_provider_impl.cc
@@ -12,7 +12,6 @@
#include "base/time/time.h"
#include "base/trace_event/trace_config.h"
#include "base/trace_event/trace_event.h"
-#include "mojo/public/cpp/application/application_impl.h"
namespace mojo {
diff --git a/mojo/common/tracing_impl.cc b/mojo/common/tracing_impl.cc
index 827ac17..b6fc49c 100644
--- a/mojo/common/tracing_impl.cc
+++ b/mojo/common/tracing_impl.cc
@@ -7,7 +7,6 @@
#include <algorithm>
#include "base/trace_event/trace_event_impl.h"
-#include "mojo/public/cpp/application/application_impl.h"
#include "mojo/public/cpp/application/connect.h"
#include "mojo/public/cpp/bindings/interface_handle.h"
#include "mojo/public/cpp/bindings/interface_request.h"
diff --git a/mojo/public/platform/native/platform_handle_private_apptest.cc b/mojo/public/platform/native/platform_handle_private_apptest.cc
index 28e1b47..054317e 100644
--- a/mojo/public/platform/native/platform_handle_private_apptest.cc
+++ b/mojo/public/platform/native/platform_handle_private_apptest.cc
@@ -8,7 +8,6 @@
#include <sys/types.h>
#include <unistd.h>
-#include "mojo/public/cpp/application/application_impl.h"
#include "mojo/public/cpp/application/application_test_base.h"
#include "mojo/public/cpp/environment/logging.h"
#include "mojo/public/cpp/system/macros.h"
diff --git a/mojo/services/flog/cpp/flog.h b/mojo/services/flog/cpp/flog.h
index 5badda1..dfa9e3b 100644
--- a/mojo/services/flog/cpp/flog.h
+++ b/mojo/services/flog/cpp/flog.h
@@ -8,7 +8,6 @@
#include <atomic>
#include <memory>
-#include "mojo/public/cpp/application/application_impl.h"
#include "mojo/public/cpp/application/connect.h"
#include "mojo/public/cpp/bindings/array.h"
#include "mojo/public/cpp/bindings/message.h"
diff --git a/mojo/services/gfx/composition/cpp/frame_tracker_apptest.cc b/mojo/services/gfx/composition/cpp/frame_tracker_apptest.cc
index 0591ed0..940b915 100644
--- a/mojo/services/gfx/composition/cpp/frame_tracker_apptest.cc
+++ b/mojo/services/gfx/composition/cpp/frame_tracker_apptest.cc
@@ -4,7 +4,6 @@
#include "mojo/services/gfx/composition/cpp/frame_tracker.h"
-#include "mojo/public/cpp/application/application_impl.h"
#include "mojo/public/cpp/application/application_test_base.h"
#include "mojo/public/cpp/system/macros.h"
diff --git a/mojo/services/gfx/images/cpp/image_pipe_apptest.cc b/mojo/services/gfx/images/cpp/image_pipe_apptest.cc
index 01edf7d..f532072 100644
--- a/mojo/services/gfx/images/cpp/image_pipe_apptest.cc
+++ b/mojo/services/gfx/images/cpp/image_pipe_apptest.cc
@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "mojo/public/cpp/application/application_impl.h"
#include "mojo/public/cpp/application/application_test_base.h"
#include "mojo/public/cpp/environment/logging.h"
#include "mojo/public/cpp/system/macros.h"
@@ -350,4 +349,4 @@
}
} // namespace
-} // namespace mojo
\ No newline at end of file
+} // namespace mojo
diff --git a/mojo/ui/associates/view_inspector_client_apptest.cc b/mojo/ui/associates/view_inspector_client_apptest.cc
index 3584331..3ad62ba 100644
--- a/mojo/ui/associates/view_inspector_client_apptest.cc
+++ b/mojo/ui/associates/view_inspector_client_apptest.cc
@@ -7,7 +7,6 @@
#include "base/bind.h"
#include "base/message_loop/message_loop.h"
#include "base/run_loop.h"
-#include "mojo/public/cpp/application/application_impl.h"
#include "mojo/public/cpp/application/application_test_base.h"
#include "mojo/ui/associates/mock_view_inspector.h"
#include "mojo/ui/associates/test_helpers.h"
diff --git a/mojo/ui/associates/view_tree_hit_tester_client_apptest.cc b/mojo/ui/associates/view_tree_hit_tester_client_apptest.cc
index c59ad0c..5b3ec39 100644
--- a/mojo/ui/associates/view_tree_hit_tester_client_apptest.cc
+++ b/mojo/ui/associates/view_tree_hit_tester_client_apptest.cc
@@ -9,7 +9,6 @@
#include "base/bind.h"
#include "base/message_loop/message_loop.h"
#include "base/run_loop.h"
-#include "mojo/public/cpp/application/application_impl.h"
#include "mojo/public/cpp/application/application_test_base.h"
#include "mojo/ui/associates/mock_hit_tester.h"
#include "mojo/ui/associates/mock_view_inspector.h"
diff --git a/services/dart/content_handler_app.cc b/services/dart/content_handler_app.cc
index 380cd92..1babd38 100644
--- a/services/dart/content_handler_app.cc
+++ b/services/dart/content_handler_app.cc
@@ -10,8 +10,8 @@
#include "base/threading/platform_thread.h"
#include "base/trace_event/trace_event.h"
#include "mojo/dart/embedder/dart_controller.h"
-#include "mojo/public/cpp/application/application_impl.h"
#include "mojo/public/cpp/application/connect.h"
+#include "mojo/public/cpp/application/service_provider_impl.h"
#include "mojo/public/cpp/bindings/binding.h"
#include "mojo/public/cpp/bindings/interface_request.h"
#include "mojo/services/tracing/interfaces/tracing.mojom.h"
@@ -130,51 +130,51 @@
return run_on_message_loop_;
}
-void DartContentHandlerApp::Initialize(mojo::ApplicationImpl* app) {
+void DartContentHandlerApp::OnInitialize() {
// Tracing of content handler and controller.
- tracing_.Initialize(app->shell(), &app->args());
+ tracing_.Initialize(shell(), &args());
// Tracing of isolates and VM.
- dart_tracing_.Initialize(app->shell());
+ dart_tracing_.Initialize(shell());
// TODO(qsr): This has no effect for now, as the tracing infrastructure
// doesn't allow to trace anything before the tracing app connects to the
// application.
TRACE_EVENT0("dart_content_handler", "DartContentHandler::Initialize");
- default_strict_ = app->HasArg(kEnableStrictMode);
+ default_strict_ = HasArg(kEnableStrictMode);
content_handler_.set_handler_task_runner(
base::MessageLoop::current()->task_runner());
strict_content_handler_.set_handler_task_runner(
base::MessageLoop::current()->task_runner());
- mojo::ConnectToService(app->shell(), "mojo:url_response_disk_cache",
+ mojo::ConnectToService(shell(), "mojo:url_response_disk_cache",
GetProxy(&url_response_disk_cache_));
- service_connector_ = new ContentHandlerAppServiceConnector(app);
+ service_connector_ = new ContentHandlerAppServiceConnector(shell());
- if (app->HasArg(kRunOnMessageLoop)) {
+ if (HasArg(kRunOnMessageLoop)) {
run_on_message_loop_ = true;
}
bool enable_observatory = true;
- if (app->HasArg(kDisableObservatory)) {
+ if (HasArg(kDisableObservatory)) {
enable_observatory = false;
}
bool enable_dart_timeline = false;
- if (app->HasArg(kDartTimeline)) {
+ if (HasArg(kDartTimeline)) {
enable_dart_timeline = true;
}
std::vector<const char*> extra_args;
- if (app->HasArg(kPauseIsolatesOnStart)) {
+ if (HasArg(kPauseIsolatesOnStart)) {
extra_args.push_back(kPauseIsolatesOnStart);
}
- if (app->HasArg(kPauseIsolatesOnExit)) {
+ if (HasArg(kPauseIsolatesOnExit)) {
extra_args.push_back(kPauseIsolatesOnExit);
}
- if (app->HasArg(kCompleteTimeline)) {
+ if (HasArg(kCompleteTimeline)) {
extra_args.push_back(kCompleteTimeline);
}
@@ -182,7 +182,7 @@
service_connector_, default_strict_, enable_observatory,
enable_dart_timeline, extra_args.data(), extra_args.size());
- if (app->HasArg(kTraceStartup)) {
+ if (HasArg(kTraceStartup)) {
DartTimelineController::EnableAll();
}
if (!success) {
@@ -190,7 +190,7 @@
}
}
-bool DartContentHandlerApp::ConfigureIncomingConnection(
+bool DartContentHandlerApp::OnAcceptConnection(
mojo::ServiceProviderImpl* service_provider_impl) {
bool strict = HasStrictQueryParam(
service_provider_impl->connection_context().connection_url);
diff --git a/services/dart/content_handler_app.h b/services/dart/content_handler_app.h
index a3ae756..30c5ed1 100644
--- a/services/dart/content_handler_app.h
+++ b/services/dart/content_handler_app.h
@@ -8,7 +8,7 @@
#include "base/bind.h"
#include "mojo/application/content_handler_factory.h"
#include "mojo/common/tracing_impl.h"
-#include "mojo/public/cpp/application/application_delegate.h"
+#include "mojo/public/cpp/application/application_impl_base.h"
#include "mojo/services/url_response_disk_cache/interfaces/url_response_disk_cache.mojom.h"
#include "services/dart/content_handler_app_service_connector.h"
#include "services/dart/dart_tracing.h"
@@ -38,7 +38,7 @@
DISALLOW_COPY_AND_ASSIGN(DartContentHandler);
};
-class DartContentHandlerApp : public mojo::ApplicationDelegate {
+class DartContentHandlerApp : public mojo::ApplicationImplBase {
public:
DartContentHandlerApp();
@@ -51,11 +51,9 @@
bool run_on_message_loop() const;
private:
- // Overridden from mojo::ApplicationDelegate:
- void Initialize(mojo::ApplicationImpl* app) override;
-
- // Overridden from ApplicationDelegate:
- bool ConfigureIncomingConnection(
+ // Overridden from mojo::ApplicationImplBase:
+ void OnInitialize() override;
+ bool OnAcceptConnection(
mojo::ServiceProviderImpl* service_provider_impl) override;
mojo::TracingImpl tracing_;
@@ -69,6 +67,7 @@
DISALLOW_COPY_AND_ASSIGN(DartContentHandlerApp);
};
-}
+
+} // namespace dart
#endif // SERVICES_DART_CONTENT_HANDLER_APP_H_
diff --git a/services/dart/content_handler_app_service_connector.cc b/services/dart/content_handler_app_service_connector.cc
index f79c122..3844ef6 100644
--- a/services/dart/content_handler_app_service_connector.cc
+++ b/services/dart/content_handler_app_service_connector.cc
@@ -4,6 +4,7 @@
#include "services/dart/content_handler_app_service_connector.h"
+#include "base/bind.h"
#include "base/location.h"
#include "mojo/public/cpp/application/connect.h"
#include "mojo/public/cpp/bindings/interface_request.h"
@@ -18,16 +19,15 @@
void ContentHandlerAppServiceConnector::Connect(
std::string application_name,
mojo::InterfaceRequest<Interface> interface_request) {
- mojo::ConnectToService(content_handler_app_->shell(), application_name,
- interface_request.Pass());
+ mojo::ConnectToService(shell_, application_name, interface_request.Pass());
}
ContentHandlerAppServiceConnector::ContentHandlerAppServiceConnector(
- mojo::ApplicationImpl* content_handler_app)
- : runner_(base::MessageLoop::current()->task_runner()),
- content_handler_app_(content_handler_app),
- weak_ptr_factory_(this) {
- CHECK(content_handler_app != nullptr);
+ mojo::Shell* shell)
+ : runner_(base::MessageLoop::current()->task_runner()),
+ shell_(shell),
+ weak_ptr_factory_(this) {
+ CHECK(shell != nullptr);
CHECK(runner_.get() != nullptr);
CHECK(runner_.get()->BelongsToCurrentThread());
}
diff --git a/services/dart/content_handler_app_service_connector.h b/services/dart/content_handler_app_service_connector.h
index a45a0ec..447b5c3 100644
--- a/services/dart/content_handler_app_service_connector.h
+++ b/services/dart/content_handler_app_service_connector.h
@@ -5,13 +5,13 @@
#ifndef SERVICES_DART_CONTENT_HANDLER_APP_SERVICE_CONNECTOR_H_
#define SERVICES_DART_CONTENT_HANDLER_APP_SERVICE_CONNECTOR_H_
-#include "base/bind.h"
#include "base/memory/ref_counted.h"
-#include "base/memory/scoped_ptr.h"
#include "base/memory/weak_ptr.h"
-#include "base/message_loop/message_loop.h"
#include "mojo/dart/embedder/dart_controller.h"
-#include "mojo/public/cpp/application/application_impl.h"
+
+namespace mojo {
+class Shell;
+} // namespace mojo
namespace dart {
@@ -22,8 +22,9 @@
public:
// Call this only on the same thread as the content_handler_runner. This is
// checked in the body of the constructor.
- explicit ContentHandlerAppServiceConnector(
- mojo::ApplicationImpl* content_handler_app);
+ // TODO(vtl): Maybe this should take an
+ // |InterfaceHandle<ApplicationConnector>| instead of a |Shell*|.
+ explicit ContentHandlerAppServiceConnector(mojo::Shell* shell);
// Must be called on the same thread that constructed |this|.
~ContentHandlerAppServiceConnector() override;
@@ -38,7 +39,7 @@
mojo::InterfaceRequest<Interface> interface_request);
scoped_refptr<base::SingleThreadTaskRunner> runner_;
- mojo::ApplicationImpl* content_handler_app_;
+ mojo::Shell* shell_;
base::WeakPtrFactory<ContentHandlerAppServiceConnector> weak_ptr_factory_;
DISALLOW_COPY_AND_ASSIGN(ContentHandlerAppServiceConnector);
diff --git a/services/dart/content_handler_main.cc b/services/dart/content_handler_main.cc
index f415b40..5512e0e 100644
--- a/services/dart/content_handler_main.cc
+++ b/services/dart/content_handler_main.cc
@@ -1,11 +1,14 @@
// 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/application/application_runner_chromium.h"
+
+#include "mojo/environment/scoped_chromium_init.h"
#include "mojo/public/c/system/main.h"
+#include "mojo/public/cpp/application/run_application.h"
#include "services/dart/content_handler_app.h"
MojoResult MojoMain(MojoHandle application_request) {
- mojo::ApplicationRunnerChromium runner(new dart::DartContentHandlerApp);
- return runner.Run(application_request);
+ mojo::ScopedChromiumInit init;
+ dart::DartContentHandlerApp dart_content_handler_app;
+ return mojo::RunApplication(application_request, &dart_content_handler_app);
}
diff --git a/services/dart/dart_tracing.cc b/services/dart/dart_tracing.cc
index bf5b9a7..a527a1f 100644
--- a/services/dart/dart_tracing.cc
+++ b/services/dart/dart_tracing.cc
@@ -7,7 +7,6 @@
#include <utility>
#include "dart/runtime/include/dart_tools_api.h"
-#include "mojo/public/cpp/application/application_impl.h"
#include "mojo/public/cpp/application/connect.h"
#include "mojo/public/cpp/bindings/interface_handle.h"
#include "mojo/public/cpp/bindings/interface_request.h"
diff --git a/services/gfx/compositor/compositor_app.cc b/services/gfx/compositor/compositor_app.cc
index 7f52199..9a85deb 100644
--- a/services/gfx/compositor/compositor_app.cc
+++ b/services/gfx/compositor/compositor_app.cc
@@ -7,10 +7,8 @@
#include "base/command_line.h"
#include "base/logging.h"
#include "base/trace_event/trace_event.h"
-#include "mojo/application/application_runner_chromium.h"
#include "mojo/common/tracing_impl.h"
#include "mojo/public/c/system/main.h"
-#include "mojo/public/cpp/application/application_impl.h"
#include "mojo/public/cpp/application/service_provider_impl.h"
#include "services/gfx/compositor/compositor_impl.h"
diff --git a/services/gfx/compositor/tests/scheduling_apptest.cc b/services/gfx/compositor/tests/scheduling_apptest.cc
index d116e61..55f4edd 100644
--- a/services/gfx/compositor/tests/scheduling_apptest.cc
+++ b/services/gfx/compositor/tests/scheduling_apptest.cc
@@ -2,7 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "mojo/public/cpp/application/application_impl.h"
#include "mojo/public/cpp/application/application_test_base.h"
#include "mojo/public/cpp/application/connect.h"
#include "mojo/public/cpp/bindings/synchronous_interface_ptr.h"
diff --git a/services/java_handler/java_handler.cc b/services/java_handler/java_handler.cc
index 177eee1..64d7bfd 100644
--- a/services/java_handler/java_handler.cc
+++ b/services/java_handler/java_handler.cc
@@ -18,11 +18,12 @@
#include "jni/JavaHandler_jni.h"
#include "mojo/android/system/base_run_loop.h"
#include "mojo/android/system/core_impl.h"
-#include "mojo/application/application_runner_chromium.h"
#include "mojo/application/content_handler_factory.h"
+#include "mojo/environment/scoped_chromium_init.h"
#include "mojo/public/c/system/main.h"
-#include "mojo/public/cpp/application/application_impl.h"
#include "mojo/public/cpp/application/connect.h"
+#include "mojo/public/cpp/application/run_application.h"
+#include "mojo/public/cpp/application/service_provider_impl.h"
using base::android::AttachCurrentThread;
using base::android::ScopedJavaLocalRef;
@@ -89,10 +90,10 @@
application_request.PassMessagePipe().release().value());
}
-void JavaHandler::Initialize(mojo::ApplicationImpl* app) {
- tracing_.Initialize(app->shell(), &app->args());
+void JavaHandler::OnInitialize() {
+ tracing_.Initialize(shell(), &args());
handler_task_runner_ = base::MessageLoop::current()->task_runner();
- mojo::ConnectToService(app->shell(), "mojo:url_response_disk_cache",
+ mojo::ConnectToService(shell(), "mojo:url_response_disk_cache",
GetProxy(&url_response_disk_cache_));
}
@@ -118,7 +119,7 @@
});
}
-bool JavaHandler::ConfigureIncomingConnection(
+bool JavaHandler::OnAcceptConnection(
mojo::ServiceProviderImpl* service_provider_impl) {
service_provider_impl->AddService<mojo::ContentHandler>(
mojo::ContentHandlerFactory::GetInterfaceRequestHandler(this));
@@ -133,8 +134,9 @@
} // namespace services
MojoResult MojoMain(MojoHandle application_request) {
- mojo::ApplicationRunnerChromium runner(new services::android::JavaHandler());
- return runner.Run(application_request);
+ mojo::ScopedChromiumInit init;
+ services::android::JavaHandler java_handler;
+ return mojo::RunApplication(application_request, &java_handler);
}
JNI_EXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved) {
diff --git a/services/java_handler/java_handler.h b/services/java_handler/java_handler.h
index 6412ca0..d4febd7 100644
--- a/services/java_handler/java_handler.h
+++ b/services/java_handler/java_handler.h
@@ -11,23 +11,23 @@
#include "base/single_thread_task_runner.h"
#include "mojo/application/content_handler_factory.h"
#include "mojo/common/tracing_impl.h"
-#include "mojo/public/cpp/application/application_delegate.h"
+#include "mojo/public/cpp/application/application_impl_base.h"
#include "mojo/services/content_handler/interfaces/content_handler.mojom.h"
#include "mojo/services/url_response_disk_cache/interfaces/url_response_disk_cache.mojom.h"
namespace services {
namespace android {
-class JavaHandler : public mojo::ApplicationDelegate,
+class JavaHandler : public mojo::ApplicationImplBase,
public mojo::ContentHandlerFactory::Delegate {
public:
JavaHandler();
~JavaHandler();
private:
- // ApplicationDelegate:
- void Initialize(mojo::ApplicationImpl* app) override;
- bool ConfigureIncomingConnection(
+ // ApplicationImplBase:
+ void OnInitialize() override;
+ bool OnAcceptConnection(
mojo::ServiceProviderImpl* service_provider_impl) override;
// ContentHandlerFactory::Delegate:
diff --git a/services/js/pingpong_apptest.cc b/services/js/pingpong_apptest.cc
index d76e055..ba74b36 100644
--- a/services/js/pingpong_apptest.cc
+++ b/services/js/pingpong_apptest.cc
@@ -3,6 +3,7 @@
// found in the LICENSE file.
#include "mojo/public/cpp/application/connect.h"
+#include "mojo/public/cpp/bindings/binding.h"
#include "services/js/test/js_application_test_base.h"
#include "services/js/test/pingpong_service.mojom.h"
diff --git a/services/js/test/js_application_test_base.h b/services/js/test/js_application_test_base.h
index 726755d..a5b9172 100644
--- a/services/js/test/js_application_test_base.h
+++ b/services/js/test/js_application_test_base.h
@@ -7,7 +7,6 @@
#include "base/files/file_path.h"
#include "base/path_service.h"
-#include "mojo/public/cpp/application/application_impl.h"
#include "mojo/public/cpp/application/application_test_base.h"
namespace js {
diff --git a/services/log/log_impl_unittest.cc b/services/log/log_impl_unittest.cc
index de6ff9b..2b259e4 100644
--- a/services/log/log_impl_unittest.cc
+++ b/services/log/log_impl_unittest.cc
@@ -9,7 +9,6 @@
#include "base/message_loop/message_loop.h"
#include "base/test/test_timeouts.h"
#include "mojo/public/c/environment/logger.h"
-#include "mojo/public/cpp/application/application_impl.h"
#include "mojo/public/cpp/application/application_test_base.h"
#include "mojo/public/cpp/application/connection_context.h"
#include "mojo/public/cpp/system/time.h"
diff --git a/services/media/factory_service/audio_track_controller.cc b/services/media/factory_service/audio_track_controller.cc
index 5db316c..5d557c8 100644
--- a/services/media/factory_service/audio_track_controller.cc
+++ b/services/media/factory_service/audio_track_controller.cc
@@ -15,13 +15,12 @@
namespace mojo {
namespace media {
-AudioTrackController::AudioTrackController(const String& url,
- ApplicationImpl* app) {
+AudioTrackController::AudioTrackController(const String& url, Shell* shell) {
// TODO(dalesat): Handle connection errors.
- DCHECK(app);
+ DCHECK(shell);
AudioServerPtr audio_server;
- ConnectToService(app->shell(), url, GetProxy(&audio_server));
+ ConnectToService(shell, url, GetProxy(&audio_server));
audio_server->CreateTrack(GetProxy(&audio_track_));
}
diff --git a/services/media/factory_service/audio_track_controller.h b/services/media/factory_service/audio_track_controller.h
index 0674e41..da87bbb 100644
--- a/services/media/factory_service/audio_track_controller.h
+++ b/services/media/factory_service/audio_track_controller.h
@@ -5,12 +5,14 @@
#ifndef SERVICES_MEDIA_FACTORY_SERVICE_AUDIO_TRACK_CONTROLLER_H_
#define SERVICES_MEDIA_FACTORY_SERVICE_AUDIO_TRACK_CONTROLLER_H_
-#include "mojo/public/cpp/application/application_impl.h"
#include "mojo/services/media/audio/interfaces/audio_track.mojom.h"
#include "mojo/services/media/common/interfaces/media_transport.mojom.h"
#include "services/media/framework/types/stream_type.h"
namespace mojo {
+
+class Shell;
+
namespace media {
// Controls an audio track.
@@ -20,7 +22,7 @@
std::unique_ptr<std::vector<std::unique_ptr<StreamTypeSet>>>)>;
using ConfigureCallback = std::function<void(MediaConsumerPtr)>;
- AudioTrackController(const String& url, ApplicationImpl* app);
+ AudioTrackController(const String& url, Shell* shell);
~AudioTrackController();
diff --git a/services/media/factory_service/factory_service.cc b/services/media/factory_service/factory_service.cc
index 5d87ad4..d99d53e 100644
--- a/services/media/factory_service/factory_service.cc
+++ b/services/media/factory_service/factory_service.cc
@@ -3,6 +3,8 @@
// found in the LICENSE file.
#include "services/media/factory_service/factory_service.h"
+
+#include "mojo/public/cpp/application/service_provider_impl.h"
#include "services/media/factory_service/media_decoder_impl.h"
#include "services/media/factory_service/media_demux_impl.h"
#include "services/media/factory_service/media_player_impl.h"
@@ -18,7 +20,7 @@
MediaFactoryService::~MediaFactoryService() {}
-bool MediaFactoryService::ConfigureIncomingConnection(
+bool MediaFactoryService::OnAcceptConnection(
ServiceProviderImpl* service_provider_impl) {
service_provider_impl->AddService<MediaFactory>(
[this](const ConnectionContext& connection_context,
diff --git a/services/media/factory_service/factory_service.h b/services/media/factory_service/factory_service.h
index c87e271..0955092 100644
--- a/services/media/factory_service/factory_service.h
+++ b/services/media/factory_service/factory_service.h
@@ -6,8 +6,6 @@
#define MOJO_SERVICES_MEDIA_FACTORY_FACTORY_SERVICE_H_
#include "mojo/common/binding_set.h"
-#include "mojo/public/cpp/application/application_delegate.h"
-#include "mojo/public/cpp/application/application_impl.h"
#include "mojo/services/media/control/interfaces/media_factory.mojom.h"
#include "services/util/cpp/factory_service_base.h"
@@ -21,9 +19,8 @@
~MediaFactoryService() override;
- // ApplicationDelegate implementation.
- bool ConfigureIncomingConnection(
- ServiceProviderImpl* service_provider_impl) override;
+ // ApplicationImplBase override.
+ bool OnAcceptConnection(ServiceProviderImpl* service_provider_impl) override;
// MediaFactory implementation.
void CreatePlayer(InterfaceHandle<SeekingReader> reader,
diff --git a/services/media/factory_service/main.cc b/services/media/factory_service/main.cc
index 6f516ef..edb82a4 100644
--- a/services/media/factory_service/main.cc
+++ b/services/media/factory_service/main.cc
@@ -2,11 +2,13 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "mojo/application/application_runner_chromium.h"
+#include "mojo/environment/scoped_chromium_init.h"
#include "mojo/public/c/system/main.h"
+#include "mojo/public/cpp/application/run_application.h"
#include "services/media/factory_service/factory_service.h"
MojoResult MojoMain(MojoHandle application_request) {
- mojo::ApplicationRunnerChromium runner(new mojo::media::MediaFactoryService);
- return runner.Run(application_request);
+ mojo::ScopedChromiumInit init;
+ mojo::media::MediaFactoryService media_factory_service;
+ return mojo::RunApplication(application_request, &media_factory_service);
}
diff --git a/services/media/factory_service/media_player_impl.cc b/services/media/factory_service/media_player_impl.cc
index dcaa5f6..c8f8bcc 100644
--- a/services/media/factory_service/media_player_impl.cc
+++ b/services/media/factory_service/media_player_impl.cc
@@ -38,7 +38,7 @@
state_ = State::kWaiting;
- ConnectToService(app()->shell(), "mojo:media_factory", GetProxy(&factory_));
+ ConnectToService(owner->shell(), "mojo:media_factory", GetProxy(&factory_));
factory_->CreateDemux(reader.Pass(), GetProxy(&demux_));
HandleDemuxMetadataUpdates();
diff --git a/services/media/factory_service/media_player_impl.h b/services/media/factory_service/media_player_impl.h
index 6ee1061..195b76e 100644
--- a/services/media/factory_service/media_player_impl.h
+++ b/services/media/factory_service/media_player_impl.h
@@ -8,7 +8,6 @@
#include <limits>
#include <vector>
-#include "mojo/public/cpp/application/application_impl.h"
#include "mojo/public/cpp/bindings/binding.h"
#include "mojo/services/media/common/cpp/timeline.h"
#include "mojo/services/media/common/cpp/timeline_function.h"
diff --git a/services/media/factory_service/media_sink_impl.cc b/services/media/factory_service/media_sink_impl.cc
index e6bbeec..dc58543 100644
--- a/services/media/factory_service/media_sink_impl.cc
+++ b/services/media/factory_service/media_sink_impl.cc
@@ -67,7 +67,7 @@
// An AudioTrackController knows how to talk to an audio track, interrogating
// it for supported stream types and configuring it for the chosen stream
// type.
- controller_.reset(new AudioTrackController(destination_url, app()));
+ controller_.reset(new AudioTrackController(destination_url, owner->shell()));
controller_->GetSupportedMediaTypes([this, consumer_ref, producer_ref,
captured_stream_type](
diff --git a/services/media/factory_service/media_sink_impl.h b/services/media/factory_service/media_sink_impl.h
index 29992f5..1eec79b 100644
--- a/services/media/factory_service/media_sink_impl.h
+++ b/services/media/factory_service/media_sink_impl.h
@@ -7,7 +7,6 @@
#include <memory>
-#include "mojo/public/cpp/application/application_impl.h"
#include "mojo/public/cpp/bindings/binding.h"
#include "mojo/services/media/control/interfaces/media_sink.mojom.h"
#include "mojo/services/media/core/interfaces/timeline_controller.mojom.h"
diff --git a/services/media/factory_service/network_reader_impl.cc b/services/media/factory_service/network_reader_impl.cc
index b0d89a2..8ae97ad 100644
--- a/services/media/factory_service/network_reader_impl.cc
+++ b/services/media/factory_service/network_reader_impl.cc
@@ -31,7 +31,7 @@
url_(url) {
NetworkServicePtr network_service;
- ConnectToService(app()->shell(), "mojo:network_service",
+ ConnectToService(owner->shell(), "mojo:network_service",
GetProxy(&network_service));
network_service->CreateURLLoader(GetProxy(&url_loader_));
diff --git a/services/media/framework/parts/reader.h b/services/media/framework/parts/reader.h
index 895c3ec..d128d9d 100644
--- a/services/media/framework/parts/reader.h
+++ b/services/media/framework/parts/reader.h
@@ -8,7 +8,6 @@
#include <limits>
#include <memory>
-#include "mojo/public/cpp/application/application_impl.h"
#include "services/media/framework/result.h"
namespace mojo {
diff --git a/services/ui/view_manager/tests/view_manager_test.cc b/services/ui/view_manager/tests/view_manager_test.cc
index 13e30c6..799cea3 100644
--- a/services/ui/view_manager/tests/view_manager_test.cc
+++ b/services/ui/view_manager/tests/view_manager_test.cc
@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "mojo/public/cpp/application/application_impl.h"
#include "mojo/public/cpp/application/connect.h"
+#include "mojo/public/cpp/bindings/binding.h"
#include "mojo/services/ui/views/interfaces/view_manager.mojom.h"
#include "mojo/services/ui/views/interfaces/views.mojom.h"
#include "services/ui/view_manager/tests/mock_view_associate.h"
diff --git a/services/ui/view_manager/view_associate_table.h b/services/ui/view_manager/view_associate_table.h
index 4952498..67d12e1 100644
--- a/services/ui/view_manager/view_associate_table.h
+++ b/services/ui/view_manager/view_associate_table.h
@@ -12,7 +12,6 @@
#include "base/callback.h"
#include "base/macros.h"
#include "mojo/common/binding_set.h"
-#include "mojo/public/cpp/application/application_impl.h"
#include "mojo/services/ui/views/interfaces/view_associates.mojom.h"
#include "mojo/services/ui/views/interfaces/view_manager.mojom.h"
diff --git a/services/util/cpp/factory_service_base.cc b/services/util/cpp/factory_service_base.cc
index cc00c1b..8558014 100644
--- a/services/util/cpp/factory_service_base.cc
+++ b/services/util/cpp/factory_service_base.cc
@@ -19,9 +19,5 @@
FactoryServiceBase::~FactoryServiceBase() {}
-void FactoryServiceBase::Initialize(ApplicationImpl* app) {
- app_ = app;
-}
-
} // namespace util
} // namespace mojo
diff --git a/services/util/cpp/factory_service_base.h b/services/util/cpp/factory_service_base.h
index 33b46e7..4098a43 100644
--- a/services/util/cpp/factory_service_base.h
+++ b/services/util/cpp/factory_service_base.h
@@ -9,13 +9,12 @@
#include <unordered_set>
#include "base/logging.h"
-#include "mojo/public/cpp/application/application_delegate.h"
-#include "mojo/public/cpp/application/application_impl.h"
+#include "mojo/public/cpp/application/application_impl_base.h"
namespace mojo {
namespace util {
-class FactoryServiceBase : public ApplicationDelegate {
+class FactoryServiceBase : public ApplicationImplBase {
public:
// Provides common behavior for all objects created by the factory service.
class ProductBase : public std::enable_shared_from_this<ProductBase> {
@@ -23,13 +22,10 @@
virtual ~ProductBase();
protected:
- ProductBase(FactoryServiceBase* owner);
+ explicit ProductBase(FactoryServiceBase* owner);
- // Returns the ApplicationImpl.
- ApplicationImpl* app() {
- DCHECK(owner_->app());
- return owner_->app();
- }
+ // Returns the owner.
+ FactoryServiceBase* owner() { return owner_; }
// Tells the factory service to release this product.
void ReleaseFromOwner() {
@@ -72,11 +68,6 @@
~FactoryServiceBase() override;
- ApplicationImpl* app() { return app_; }
-
- // ApplicationDelegate implementation.
- void Initialize(ApplicationImpl* app) override;
-
protected:
template <typename ProductImpl>
void AddProduct(std::shared_ptr<ProductImpl> product) {
@@ -84,7 +75,6 @@
}
private:
- ApplicationImpl* app_;
std::unordered_set<std::shared_ptr<ProductBase>> products_;
};
diff --git a/shell/android/android_handler.cc b/shell/android/android_handler.cc
index cf709f0..5fec25f 100644
--- a/shell/android/android_handler.cc
+++ b/shell/android/android_handler.cc
@@ -19,8 +19,8 @@
#include "jni/AndroidHandler_jni.h"
#include "mojo/data_pipe_utils/data_pipe_utils.h"
#include "mojo/public/c/system/main.h"
-#include "mojo/public/cpp/application/application_impl.h"
#include "mojo/public/cpp/application/connect.h"
+#include "mojo/public/cpp/application/service_provider_impl.h"
#include "shell/android/run_android_application_function.h"
#include "shell/native_application_support.h"
@@ -122,13 +122,13 @@
reinterpret_cast<jlong>(run_android_application_fn));
}
-void AndroidHandler::Initialize(mojo::ApplicationImpl* app) {
+void AndroidHandler::OnInitialize() {
handler_task_runner_ = base::MessageLoop::current()->task_runner();
- mojo::ConnectToService(app->shell(), "mojo:url_response_disk_cache",
+ mojo::ConnectToService(shell(), "mojo:url_response_disk_cache",
GetProxy(&url_response_disk_cache_));
}
-bool AndroidHandler::ConfigureIncomingConnection(
+bool AndroidHandler::OnAcceptConnection(
mojo::ServiceProviderImpl* service_provider_impl) {
service_provider_impl->AddService<mojo::ContentHandler>(
mojo::ContentHandlerFactory::GetInterfaceRequestHandler(this));
diff --git a/shell/android/android_handler.h b/shell/android/android_handler.h
index e31c014..20db98c 100644
--- a/shell/android/android_handler.h
+++ b/shell/android/android_handler.h
@@ -9,7 +9,7 @@
#include "base/single_thread_task_runner.h"
#include "mojo/application/content_handler_factory.h"
-#include "mojo/public/cpp/application/application_delegate.h"
+#include "mojo/public/cpp/application/application_impl_base.h"
#include "mojo/services/content_handler/interfaces/content_handler.mojom.h"
#include "mojo/services/url_response_disk_cache/interfaces/url_response_disk_cache.mojom.h"
@@ -19,16 +19,16 @@
namespace shell {
-class AndroidHandler : public mojo::ApplicationDelegate,
+class AndroidHandler : public mojo::ApplicationImplBase,
public mojo::ContentHandlerFactory::Delegate {
public:
AndroidHandler();
~AndroidHandler();
private:
- // mojo::ApplicationDelegate:
- void Initialize(mojo::ApplicationImpl* app) override;
- bool ConfigureIncomingConnection(
+ // mojo::ApplicationImplBase:
+ void OnInitialize() override;
+ bool OnAcceptConnection(
mojo::ServiceProviderImpl* service_provider_impl) override;
// mojo::ContentHandlerFactory::Delegate:
diff --git a/shell/android/android_handler_loader.cc b/shell/android/android_handler_loader.cc
index 9909a85..153898f 100644
--- a/shell/android/android_handler_loader.cc
+++ b/shell/android/android_handler_loader.cc
@@ -6,18 +6,15 @@
namespace shell {
-AndroidHandlerLoader::AndroidHandlerLoader() {
-}
+AndroidHandlerLoader::AndroidHandlerLoader() {}
-AndroidHandlerLoader::~AndroidHandlerLoader() {
-}
+AndroidHandlerLoader::~AndroidHandlerLoader() {}
void AndroidHandlerLoader::Load(
const GURL& url,
mojo::InterfaceRequest<mojo::Application> application_request) {
DCHECK(application_request.is_pending());
- application_.reset(
- new mojo::ApplicationImpl(&android_handler_, application_request.Pass()));
+ android_handler_.Bind(application_request.Pass());
}
} // namespace shell
diff --git a/shell/android/android_handler_loader.h b/shell/android/android_handler_loader.h
index 4e782a5..0a63b6f 100644
--- a/shell/android/android_handler_loader.h
+++ b/shell/android/android_handler_loader.h
@@ -5,10 +5,7 @@
#ifndef SHELL_ANDROID_ANDROID_HANDLER_LOADER_H_
#define SHELL_ANDROID_ANDROID_HANDLER_LOADER_H_
-#include "base/containers/scoped_ptr_hash_map.h"
#include "base/macros.h"
-#include "base/memory/scoped_ptr.h"
-#include "mojo/public/cpp/application/application_impl.h"
#include "shell/android/android_handler.h"
#include "shell/application_manager/application_loader.h"
@@ -26,7 +23,6 @@
mojo::InterfaceRequest<mojo::Application> application_request) override;
AndroidHandler android_handler_;
- scoped_ptr<mojo::ApplicationImpl> application_;
DISALLOW_COPY_AND_ASSIGN(AndroidHandlerLoader);
};
diff --git a/shell/android/native_viewport_application_loader.cc b/shell/android/native_viewport_application_loader.cc
index 646b9df..29d4dbc 100644
--- a/shell/android/native_viewport_application_loader.cc
+++ b/shell/android/native_viewport_application_loader.cc
@@ -4,7 +4,7 @@
#include "shell/android/native_viewport_application_loader.h"
-#include "mojo/public/cpp/application/application_impl.h"
+#include "mojo/public/cpp/application/service_provider_impl.h"
#include "services/gles2/gpu_state.h"
#include "services/native_viewport/native_viewport_impl.h"
@@ -13,28 +13,26 @@
namespace shell {
-NativeViewportApplicationLoader::NativeViewportApplicationLoader() {
-}
+NativeViewportApplicationLoader::NativeViewportApplicationLoader() {}
-NativeViewportApplicationLoader::~NativeViewportApplicationLoader() {
-}
+NativeViewportApplicationLoader::~NativeViewportApplicationLoader() {}
void NativeViewportApplicationLoader::Load(
const GURL& url,
InterfaceRequest<mojo::Application> application_request) {
DCHECK(application_request.is_pending());
- app_.reset(new mojo::ApplicationImpl(this, application_request.Pass()));
+ Bind(application_request.Pass());
}
-bool NativeViewportApplicationLoader::ConfigureIncomingConnection(
+bool NativeViewportApplicationLoader::OnAcceptConnection(
mojo::ServiceProviderImpl* service_provider_impl) {
service_provider_impl->AddService<mojo::NativeViewport>(
[this](const ConnectionContext& connection_context,
InterfaceRequest<mojo::NativeViewport> native_viewport_request) {
if (!gpu_state_)
gpu_state_ = new gles2::GpuState();
- new native_viewport::NativeViewportImpl(
- app_->shell(), false, gpu_state_, native_viewport_request.Pass());
+ new native_viewport::NativeViewportImpl(shell(), false, gpu_state_,
+ native_viewport_request.Pass());
});
service_provider_impl->AddService<mojo::Gpu>(
[this](const ConnectionContext& connection_context,
diff --git a/shell/android/native_viewport_application_loader.h b/shell/android/native_viewport_application_loader.h
index 1087848..1afc3f8 100644
--- a/shell/android/native_viewport_application_loader.h
+++ b/shell/android/native_viewport_application_loader.h
@@ -5,7 +5,7 @@
#ifndef MOJO_SHELL_ANDROID_NATIVE_VIEWPORT_APPLICATION_LOADER_H_
#define MOJO_SHELL_ANDROID_NATIVE_VIEWPORT_APPLICATION_LOADER_H_
-#include "mojo/public/cpp/application/application_delegate.h"
+#include "mojo/public/cpp/application/application_impl_base.h"
#include "mojo/services/gpu/interfaces/gpu.mojom.h"
#include "mojo/services/native_viewport/interfaces/native_viewport.mojom.h"
#include "services/gles2/gpu_impl.h"
@@ -15,14 +15,10 @@
class GpuState;
}
-namespace mojo {
-class ApplicationImpl;
-} // namespace mojo
-
namespace shell {
class NativeViewportApplicationLoader : public ApplicationLoader,
- public mojo::ApplicationDelegate {
+ public mojo::ApplicationImplBase {
public:
NativeViewportApplicationLoader();
~NativeViewportApplicationLoader();
@@ -33,12 +29,11 @@
const GURL& url,
mojo::InterfaceRequest<mojo::Application> application_request) override;
- // mojo::ApplicationDelegate implementation.
- bool ConfigureIncomingConnection(
+ // mojo::ApplicationImplBase override.
+ bool OnAcceptConnection(
mojo::ServiceProviderImpl* service_provider_impl) override;
scoped_refptr<gles2::GpuState> gpu_state_;
- scoped_ptr<mojo::ApplicationImpl> app_;
DISALLOW_COPY_AND_ASSIGN(NativeViewportApplicationLoader);
};
diff --git a/shell/application_manager/application_manager_unittest.cc b/shell/application_manager/application_manager_unittest.cc
index 0c32de3..2fd9ed7 100644
--- a/shell/application_manager/application_manager_unittest.cc
+++ b/shell/application_manager/application_manager_unittest.cc
@@ -11,8 +11,7 @@
#include "base/macros.h"
#include "base/memory/scoped_vector.h"
#include "base/message_loop/message_loop.h"
-#include "mojo/public/cpp/application/application_delegate.h"
-#include "mojo/public/cpp/application/application_impl.h"
+#include "mojo/public/cpp/application/application_impl_base.h"
#include "mojo/public/cpp/application/connect.h"
#include "mojo/public/cpp/application/service_provider_impl.h"
#include "mojo/public/cpp/bindings/strong_binding.h"
@@ -22,11 +21,11 @@
#include "testing/gtest/include/gtest/gtest.h"
using mojo::Application;
-using mojo::ApplicationDelegate;
-using mojo::ApplicationImpl;
+using mojo::ApplicationImplBase;
using mojo::Callback;
using mojo::ConnectionContext;
using mojo::InterfaceRequest;
+using mojo::ServiceProviderImpl;
using mojo::StrongBinding;
namespace shell {
@@ -97,31 +96,30 @@
};
class TestApplicationLoader : public ApplicationLoader,
- public ApplicationDelegate {
+ public ApplicationImplBase {
public:
TestApplicationLoader() : context_(nullptr), num_loads_(0) {}
~TestApplicationLoader() override {
if (context_)
++context_->num_loader_deletes;
- test_app_.reset();
}
void set_context(TestContext* context) { context_ = context; }
int num_loads() const { return num_loads_; }
- const std::vector<std::string>& GetArgs() const { return test_app_->args(); }
private:
// ApplicationLoader implementation.
void Load(const GURL& url,
InterfaceRequest<Application> application_request) override {
++num_loads_;
- test_app_.reset(new ApplicationImpl(this, application_request.Pass()));
+ if (application_binding().is_bound())
+ application_binding().Close();
+ Bind(application_request.Pass());
}
- // ApplicationDelegate implementation.
- bool ConfigureIncomingConnection(
- mojo::ServiceProviderImpl* service_provider_impl) override {
+ // ApplicationImplBase override.
+ bool OnAcceptConnection(ServiceProviderImpl* service_provider_impl) override {
service_provider_impl->AddService<TestService>(
[this](const ConnectionContext& connection_context,
InterfaceRequest<TestService> request) {
@@ -130,7 +128,6 @@
return true;
}
- scoped_ptr<ApplicationImpl> test_app_;
TestContext* context_;
int num_loads_;
DISALLOW_COPY_AND_ASSIGN(TestApplicationLoader);
@@ -293,7 +290,7 @@
StrongBinding<TestB> binding_;
};
-class Tester : public ApplicationDelegate, public ApplicationLoader {
+class Tester : public ApplicationImplBase, public ApplicationLoader {
public:
Tester(TesterContext* context, const std::string& requestor_url)
: context_(context), requestor_url_(requestor_url) {}
@@ -302,11 +299,10 @@
private:
void Load(const GURL& url,
InterfaceRequest<Application> application_request) override {
- app_.reset(new ApplicationImpl(this, application_request.Pass()));
+ Bind(application_request.Pass());
}
- bool ConfigureIncomingConnection(
- mojo::ServiceProviderImpl* service_provider_impl) override {
+ bool OnAcceptConnection(ServiceProviderImpl* service_provider_impl) override {
const std::string& remote_url =
service_provider_impl->connection_context().remote_url;
if (!requestor_url_.empty() && requestor_url_ != remote_url) {
@@ -327,7 +323,7 @@
[this](const ConnectionContext& connection_context,
InterfaceRequest<TestA> test_a_request) {
mojo::InterfaceHandle<mojo::ServiceProvider> incoming_sp_handle;
- app_->shell()->ConnectToApplication(
+ shell()->ConnectToApplication(
kTestBURLString, GetProxy(&incoming_sp_handle), nullptr);
a_bindings_.push_back(new TestAImpl(
incoming_sp_handle.Pass(), context_, test_a_request.Pass()));
@@ -337,7 +333,6 @@
}
TesterContext* context_;
- scoped_ptr<ApplicationImpl> app_;
std::string requestor_url_;
ScopedVector<TestAImpl> a_bindings_;
};
@@ -368,32 +363,25 @@
std::map<GURL, GURL> mappings_;
};
-class TestExternal : public ApplicationDelegate {
+class TestExternal : public ApplicationImplBase {
public:
TestExternal() : configure_incoming_connection_called_(false) {}
- void Initialize(ApplicationImpl* app) override {
- initialize_args_ = app->args();
- base::MessageLoop::current()->Quit();
- }
+ void OnInitialize() override { base::MessageLoop::current()->Quit(); }
- bool ConfigureIncomingConnection(
- mojo::ServiceProviderImpl* service_provider_impl) override {
+ bool OnAcceptConnection(ServiceProviderImpl* service_provider_impl) override {
configure_incoming_connection_called_ = true;
base::MessageLoop::current()->Quit();
return true;
}
- const std::vector<std::string>& initialize_args() const {
- return initialize_args_;
- }
+ const std::vector<std::string>& initialize_args() const { return args(); }
bool configure_incoming_connection_called() const {
return configure_incoming_connection_called_;
}
private:
- std::vector<std::string> initialize_args_;
bool configure_incoming_connection_called_;
};
@@ -462,7 +450,7 @@
TestClient test_client(test_service.Pass());
test_client.Test("test");
loop_.Run();
- std::vector<std::string> app_args = loader->GetArgs();
+ std::vector<std::string> app_args = loader->args();
EXPECT_EQ(0U, app_args.size());
}
@@ -482,7 +470,7 @@
TestClient test_client(test_service.Pass());
test_client.Test("test");
loop_.Run();
- std::vector<std::string> app_args = loader->GetArgs();
+ std::vector<std::string> app_args = loader->args();
ASSERT_EQ(args.size() + 1, app_args.size());
EXPECT_EQ(args[0], app_args[1]);
EXPECT_EQ(args[1], app_args[2]);
@@ -505,7 +493,7 @@
TestClient test_client(test_service.Pass());
test_client.Test("test");
loop_.Run();
- std::vector<std::string> app_args = loader->GetArgs();
+ std::vector<std::string> app_args = loader->args();
ASSERT_EQ(args.size() + 1, app_args.size());
EXPECT_EQ(args[0], app_args[1]);
}
@@ -529,7 +517,7 @@
TestClient test_client(test_service.Pass());
test_client.Test("test");
loop_.Run();
- std::vector<std::string> app_args = loader->GetArgs();
+ std::vector<std::string> app_args = loader->args();
ASSERT_EQ(args1.size() + args2.size() + 1, app_args.size());
EXPECT_EQ(args1[0], app_args[1]);
EXPECT_EQ(args2[0], app_args[2]);
@@ -559,7 +547,7 @@
TestClient test_client(test_service.Pass());
test_client.Test("test");
loop_.Run();
- std::vector<std::string> app_args = loader->GetArgs();
+ std::vector<std::string> app_args = loader->args();
ASSERT_EQ(args.size() + args2.size() + 1, app_args.size());
EXPECT_EQ(args[0], app_args[1]);
EXPECT_EQ(args[1], app_args[2]);
@@ -573,7 +561,7 @@
TestClient test_client(test_service.Pass());
test_client.Test("test");
loop_.Run();
- std::vector<std::string> app_args = loader->GetArgs();
+ std::vector<std::string> app_args = loader->args();
ASSERT_EQ(args.size() + args2.size() + 1, app_args.size());
EXPECT_EQ(args[0], app_args[1]);
EXPECT_EQ(args[1], app_args[2]);
diff --git a/shell/context.cc b/shell/context.cc
index 3154c8a..9751b03 100644
--- a/shell/context.cc
+++ b/shell/context.cc
@@ -26,8 +26,6 @@
#include "mojo/edk/embedder/embedder.h"
#include "mojo/edk/embedder/multiprocess_embedder.h"
#include "mojo/edk/embedder/simple_platform_support.h"
-#include "mojo/public/cpp/application/application_delegate.h"
-#include "mojo/public/cpp/application/application_impl.h"
#include "mojo/public/cpp/application/connect.h"
#include "mojo/services/tracing/interfaces/trace_provider_registry.mojom.h"
#include "mojo/services/tracing/interfaces/tracing.mojom.h"
diff --git a/shell/url_response_disk_cache_loader.h b/shell/url_response_disk_cache_loader.h
index 2969351..8f2b7d2 100644
--- a/shell/url_response_disk_cache_loader.h
+++ b/shell/url_response_disk_cache_loader.h
@@ -7,7 +7,6 @@
#include "base/macros.h"
#include "base/task_runner.h"
-#include "mojo/public/cpp/application/application_impl.h"
#include "services/url_response_disk_cache/url_response_disk_cache_app.h"
#include "shell/application_manager/application_loader.h"