Make ApplicationTestBase not use ApplicationImpl.
It didn't have much reason to.
This allows us to make ApplicationImpl's Application implementation
private.
My plan:
* Factor out the guts of ApplicationImpl to a new class called
ApplicationImplBase, which would have a bunch of (possibly pure)
virtual methods meant to be overridden. (I'd mark methods not meant to
be overridden as |final|.)
* ApplicationImpl would (temporarily?) remain, implementing these
methods by calling out to ApplicationDelegate.
* Convert code to just subclassing/implementing ApplicationImplBase,
instead of ApplicationDelegate (and instantiating that class, instead
of ApplicationImpl + their delegate).
* Once no one uses ApplicationImpl/ApplicationDelegate anymore, we can
remove them.
R=vardhan@google.com
Review URL: https://codereview.chromium.org/1990603002 .
diff --git a/examples/apptest/example_apptest.cc b/examples/apptest/example_apptest.cc
index 2de4515..30847b9 100644
--- a/examples/apptest/example_apptest.cc
+++ b/examples/apptest/example_apptest.cc
@@ -2,8 +2,9 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include <algorithm>
+
#include "examples/apptest/example_service.mojom.h"
-#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/callback.h"
@@ -24,7 +25,7 @@
void SetUp() override {
ApplicationTestBase::SetUp();
- ConnectToService(application_impl()->shell(), "mojo:example_service",
+ ConnectToService(shell(), "mojo:example_service",
GetProxy(&example_service_));
}
@@ -45,7 +46,8 @@
TEST_F(ExampleApplicationTest, CheckCommandLineArg) {
// Ensure the test runner passes along this example command line argument.
- ASSERT_TRUE(application_impl()->HasArg("--example_apptest_arg"));
+ ASSERT_TRUE(std::find(args().begin(), args().end(),
+ "--example_apptest_arg") != args().end());
}
} // namespace
diff --git a/mojo/file_utils/file_util_unittest.cc b/mojo/file_utils/file_util_unittest.cc
index d3f6cfc..89afc45 100644
--- a/mojo/file_utils/file_util_unittest.cc
+++ b/mojo/file_utils/file_util_unittest.cc
@@ -9,7 +9,6 @@
#include <vector>
#include "mojo/file_utils/file_util.h"
-#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"
@@ -93,8 +92,7 @@
TEST_F(FileUtilTest, BasicCreateTemporaryFile) {
mojo::SynchronousInterfacePtr<mojo::files::Files> files;
- mojo::ConnectToService(application_impl()->shell(), "mojo:files",
- GetSynchronousProxy(&files));
+ mojo::ConnectToService(shell(), "mojo:files", GetSynchronousProxy(&files));
mojo::files::Error error = mojo::files::Error::INTERNAL;
mojo::SynchronousInterfacePtr<mojo::files::Directory> directory;
diff --git a/mojo/public/cpp/application/application_impl.h b/mojo/public/cpp/application/application_impl.h
index 68dc565..2621daa 100644
--- a/mojo/public/cpp/application/application_impl.h
+++ b/mojo/public/cpp/application/application_impl.h
@@ -44,8 +44,7 @@
static void Terminate();
// The Mojo shell. This will return a valid pointer after Initialize() has
- // been invoked. It will remain valid until UnbindConnections() is invoked or
- // the ApplicationImpl is destroyed.
+ // been invoked. It will remain valid until this object is destroyed.
Shell* shell() const { return shell_.get(); }
const std::string& url() const { return url_; }
@@ -54,16 +53,7 @@
const std::vector<std::string>& args() const { return args_; }
bool HasArg(const std::string& arg) const;
- // Blocks until the |Application| is initialized (i.e., |Initialize()| is
- // received), if it is not already.
- void WaitForInitialize();
-
- // Unbinds the Shell and Application connections. Can be used to re-bind the
- // handles to another implementation of ApplicationImpl, for instance when
- // running apptests.
- void UnbindConnections(InterfaceRequest<Application>* application_request,
- ShellPtr* shell);
-
+ private:
// |Application| implementation.
void Initialize(InterfaceHandle<Shell> shell,
Array<String> args,
@@ -74,7 +64,6 @@
const String& url) override;
void RequestQuit() override;
- private:
std::vector<std::unique_ptr<ServiceProviderImpl>> service_provider_impls_;
ApplicationDelegate* delegate_;
Binding<Application> application_binding_;
diff --git a/mojo/public/cpp/application/application_test_base.h b/mojo/public/cpp/application/application_test_base.h
index eb98b85..a81119e 100644
--- a/mojo/public/cpp/application/application_test_base.h
+++ b/mojo/public/cpp/application/application_test_base.h
@@ -5,22 +5,19 @@
#ifndef MOJO_PUBLIC_CPP_APPLICATION_APPLICATION_TEST_BASE_H_
#define MOJO_PUBLIC_CPP_APPLICATION_APPLICATION_TEST_BASE_H_
-#include "mojo/public/cpp/application/application_delegate.h"
+#include <string>
+#include <vector>
+
#include "mojo/public/cpp/bindings/array.h"
#include "mojo/public/cpp/bindings/string.h"
#include "mojo/public/cpp/system/macros.h"
#include "mojo/public/interfaces/application/application.mojom.h"
+#include "mojo/public/interfaces/application/shell.mojom.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace mojo {
-
-class ApplicationImpl;
-
namespace test {
-// Access the command line arguments passed to the application test.
-const Array<String>& Args();
-
// Run all application tests. This must be called after the environment is
// initialized, to support construction of a default run loop.
MojoResult RunAllTests(MojoHandle application_request_handle);
@@ -32,12 +29,8 @@
~ApplicationTestBase() override;
protected:
- // TODO(vtl): Probably should get rid of this. There's really not much reason
- // to have an |ApplicationImpl|.
- ApplicationImpl* application_impl() { return application_impl_; }
-
- // Get the ApplicationDelegate for the application to be tested.
- virtual ApplicationDelegate* GetApplicationDelegate();
+ Shell* shell() const { return shell_.get(); }
+ const std::vector<std::string>& args() const { return args_; }
// testing::Test:
void SetUp() override;
@@ -49,16 +42,13 @@
virtual bool ShouldCreateDefaultRunLoop();
private:
- // The application implementation instance, reconstructed for each test.
- ApplicationImpl* application_impl_;
- // The application delegate used if GetApplicationDelegate is not overridden.
- ApplicationDelegate default_application_delegate_;
+ ShellPtr shell_;
+ std::vector<std::string> args_;
MOJO_DISALLOW_COPY_AND_ASSIGN(ApplicationTestBase);
};
} // namespace test
-
} // namespace mojo
#endif // MOJO_PUBLIC_CPP_APPLICATION_APPLICATION_TEST_BASE_H_
diff --git a/mojo/public/cpp/application/lib/application_impl.cc b/mojo/public/cpp/application/lib/application_impl.cc
index 42ebb8c..6be42ff 100644
--- a/mojo/public/cpp/application/lib/application_impl.cc
+++ b/mojo/public/cpp/application/lib/application_impl.cc
@@ -25,18 +25,6 @@
return std::find(args_.begin(), args_.end(), arg) != args_.end();
}
-void ApplicationImpl::WaitForInitialize() {
- if (!shell_)
- application_binding_.WaitForIncomingMethodCall();
-}
-
-void ApplicationImpl::UnbindConnections(
- InterfaceRequest<Application>* application_request,
- ShellPtr* shell) {
- *application_request = application_binding_.Unbind();
- shell->Bind(shell_.PassInterfaceHandle());
-}
-
void ApplicationImpl::Initialize(InterfaceHandle<Shell> shell,
Array<String> args,
const mojo::String& url) {
diff --git a/mojo/public/cpp/application/lib/application_test_base.cc b/mojo/public/cpp/application/lib/application_test_base.cc
index f316daa..26811c4 100644
--- a/mojo/public/cpp/application/lib/application_test_base.cc
+++ b/mojo/public/cpp/application/lib/application_test_base.cc
@@ -6,7 +6,6 @@
#include <utility>
-#include "mojo/public/cpp/application/application_impl.h"
#include "mojo/public/cpp/bindings/binding.h"
#include "mojo/public/cpp/environment/environment.h"
#include "mojo/public/cpp/system/message_pipe.h"
@@ -77,10 +76,6 @@
} // namespace
-const Array<String>& Args() {
- return g_args;
-}
-
MojoResult RunAllTests(MojoHandle application_request_handle) {
{
// This loop is used for init, and then destroyed before running tests.
@@ -124,15 +119,9 @@
return (result == 0) ? MOJO_RESULT_OK : MOJO_RESULT_UNKNOWN;
}
-ApplicationTestBase::ApplicationTestBase() : application_impl_(nullptr) {
-}
+ApplicationTestBase::ApplicationTestBase() {}
-ApplicationTestBase::~ApplicationTestBase() {
-}
-
-ApplicationDelegate* ApplicationTestBase::GetApplicationDelegate() {
- return &default_application_delegate_;
-}
+ApplicationTestBase::~ApplicationTestBase() {}
void ApplicationTestBase::SetUp() {
// A run loop is recommended for ApplicationImpl initialization and
@@ -142,21 +131,22 @@
MOJO_CHECK(g_application_request.is_pending());
MOJO_CHECK(g_shell);
+ MOJO_CHECK(args_.empty());
- // New applications are constructed for each test to avoid persisting state.
- application_impl_ = new ApplicationImpl(GetApplicationDelegate(),
- g_application_request.Pass());
-
- // Fake application initialization with the given command line arguments.
- application_impl_->Initialize(g_shell.Pass(), g_args.Clone(), g_url);
+ shell_ = g_shell.Pass();
+ for (size_t i = 0; i < g_args.size(); i++)
+ args_.push_back(g_args[i]);
}
void ApplicationTestBase::TearDown() {
- MOJO_CHECK(!g_application_request.is_pending());
MOJO_CHECK(!g_shell);
- application_impl_->UnbindConnections(&g_application_request, &g_shell);
- delete application_impl_;
+ // TODO(vtl): The straightforward |g_shell = shell_.Pass();| causes tests to
+ // hang. Presumably, it's because there are still requests to the shell
+ // pending. :-(
+ g_shell.Bind(shell_.PassInterfaceHandle());
+ args_.clear();
+
if (ShouldCreateDefaultRunLoop())
Environment::DestroyDefaultRunLoop();
}
diff --git a/mojo/public/cpp/bindings/tests/versioning_apptest.cc b/mojo/public/cpp/bindings/tests/versioning_apptest.cc
index c0c38b5..2a74873 100644
--- a/mojo/public/cpp/bindings/tests/versioning_apptest.cc
+++ b/mojo/public/cpp/bindings/tests/versioning_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/system/macros.h"
@@ -22,8 +21,8 @@
void SetUp() override {
ApplicationTestBase::SetUp();
- ConnectToService(application_impl()->shell(),
- "mojo:versioning_test_service", GetProxy(&database_));
+ ConnectToService(shell(), "mojo:versioning_test_service",
+ GetProxy(&database_));
}
HumanResourceDatabasePtr database_;
diff --git a/mojo/services/files/c/tests/mojio_impl_test_base.cc b/mojo/services/files/c/tests/mojio_impl_test_base.cc
index 96abd9f..3b345ee 100644
--- a/mojo/services/files/c/tests/mojio_impl_test_base.cc
+++ b/mojo/services/files/c/tests/mojio_impl_test_base.cc
@@ -6,7 +6,6 @@
#include "files/interfaces/files.mojom-sync.h"
#include "files/interfaces/files.mojom.h"
-#include "mojo/public/cpp/application/application_impl.h"
#include "mojo/public/cpp/application/connect.h"
#include "mojo/public/cpp/bindings/interface_request.h"
#include "mojo/public/cpp/bindings/synchronous_interface_ptr.h"
@@ -27,8 +26,7 @@
mojo::test::ApplicationTestBase::SetUp();
SynchronousInterfacePtr<mojo::files::Files> files;
- mojo::ConnectToService(application_impl()->shell(), "mojo:files",
- GetSynchronousProxy(&files));
+ mojo::ConnectToService(shell(), "mojo:files", GetSynchronousProxy(&files));
mojo::files::Error error = mojo::files::Error::INTERNAL;
MOJO_CHECK(
diff --git a/mojo/ui/gl_renderer_apptest.cc b/mojo/ui/gl_renderer_apptest.cc
index 03e799b..863b22f 100644
--- a/mojo/ui/gl_renderer_apptest.cc
+++ b/mojo/ui/gl_renderer_apptest.cc
@@ -6,7 +6,6 @@
#include "base/message_loop/message_loop.h"
#include "mojo/gpu/gl_context.h"
#include "mojo/gpu/gl_texture.h"
-#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/services/geometry/interfaces/geometry.mojom.h"
@@ -30,7 +29,7 @@
mojo::test::ApplicationTestBase::SetUp();
gl_context_ = mojo::GLContext::CreateOffscreen(
mojo::ApplicationConnectorPtr::Create(
- mojo::CreateApplicationConnector(application_impl()->shell()))
+ mojo::CreateApplicationConnector(shell()))
.get());
quit_message_loop_callback_ = base::Bind(
&GLRendererTest::QuitMessageLoopCallback, weak_factory_.GetWeakPtr());
diff --git a/services/asset_bundle/asset_bundle_apptest.cc b/services/asset_bundle/asset_bundle_apptest.cc
index de2e58b..4a9cc51 100644
--- a/services/asset_bundle/asset_bundle_apptest.cc
+++ b/services/asset_bundle/asset_bundle_apptest.cc
@@ -8,7 +8,6 @@
#include "base/files/scoped_temp_dir.h"
#include "base/run_loop.h"
#include "mojo/data_pipe_utils/data_pipe_utils.h"
-#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/services/asset_bundle/interfaces/asset_bundle.mojom.h"
@@ -23,7 +22,7 @@
void SetUp() override {
mojo::test::ApplicationTestBase::SetUp();
- mojo::ConnectToService(application_impl()->shell(), "mojo:asset_bundle",
+ mojo::ConnectToService(shell(), "mojo:asset_bundle",
GetProxy(&asset_unpacker_));
}
diff --git a/services/authenticating_url_loader_interceptor/authenticating_url_loader_interceptor_apptest.cc b/services/authenticating_url_loader_interceptor/authenticating_url_loader_interceptor_apptest.cc
index b04cc90..2a30794 100644
--- a/services/authenticating_url_loader_interceptor/authenticating_url_loader_interceptor_apptest.cc
+++ b/services/authenticating_url_loader_interceptor/authenticating_url_loader_interceptor_apptest.cc
@@ -9,7 +9,6 @@
#include "base/run_loop.h"
#include "base/strings/string_split.h"
#include "base/strings/stringprintf.h"
-#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/strong_binding.h"
@@ -290,8 +289,7 @@
ApplicationTestBase::SetUp();
InitializeNetworkService();
- ConnectToService(application_impl()->shell(),
- "mojo:authenticating_url_loader_interceptor",
+ ConnectToService(shell(), "mojo:authenticating_url_loader_interceptor",
GetProxy(&interceptor_meta_factory_));
}
@@ -341,7 +339,7 @@
void InitializeNetworkService() {
network_service_.reset();
- mojo::ConnectToService(application_impl()->shell(), "mojo:network_service",
+ mojo::ConnectToService(shell(), "mojo:network_service",
GetProxy(&network_service_));
}
diff --git a/services/authentication/accounts_db_manager_unittest.cc b/services/authentication/accounts_db_manager_unittest.cc
index cb483e0..1d189bc 100644
--- a/services/authentication/accounts_db_manager_unittest.cc
+++ b/services/authentication/accounts_db_manager_unittest.cc
@@ -6,7 +6,6 @@
#include "base/logging.h"
#include "base/strings/string_tokenizer.h"
-#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/services/files/interfaces/types.mojom.h"
@@ -25,8 +24,7 @@
void SetUp() override {
mojo::test::ApplicationTestBase::SetUp();
mojo::files::FilesPtr files;
- mojo::ConnectToService(application_impl()->shell(), "mojo:files",
- GetProxy(&files));
+ mojo::ConnectToService(shell(), "mojo:files", GetProxy(&files));
mojo::files::Error error = mojo::files::Error::INTERNAL;
mojo::files::DirectoryPtr directory;
diff --git a/services/clipboard/clipboard_apptest.cc b/services/clipboard/clipboard_apptest.cc
index 999f779..fbaf59f 100644
--- a/services/clipboard/clipboard_apptest.cc
+++ b/services/clipboard/clipboard_apptest.cc
@@ -5,7 +5,6 @@
#include "base/bind.h"
#include "base/run_loop.h"
#include "mojo/converters/array_string/array_string_type_converters.h"
-#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/services/clipboard/interfaces/clipboard.mojom.h"
@@ -55,8 +54,7 @@
void SetUp() override {
mojo::test::ApplicationTestBase::SetUp();
- mojo::ConnectToService(application_impl()->shell(), "mojo:clipboard",
- GetProxy(&clipboard_));
+ mojo::ConnectToService(shell(), "mojo:clipboard", GetProxy(&clipboard_));
}
uint64_t GetSequenceNumber() {
diff --git a/services/contacts/contacts_apptest.cc b/services/contacts/contacts_apptest.cc
index 4a3cba2..477da47 100644
--- a/services/contacts/contacts_apptest.cc
+++ b/services/contacts/contacts_apptest.cc
@@ -3,7 +3,6 @@
// found in the LICENSE file.
#include "base/run_loop.h"
-#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/services/contacts/interfaces/contacts.mojom.h"
@@ -17,7 +16,7 @@
void SetUp() override {
mojo::test::ApplicationTestBase::SetUp();
- mojo::ConnectToService(application_impl()->shell(), "mojo:contacts",
+ mojo::ConnectToService(shell(), "mojo:contacts",
GetProxy(&contacts_service_));
}
diff --git a/services/files/files_test_base.cc b/services/files/files_test_base.cc
index 87ac709..f4ff3ae 100644
--- a/services/files/files_test_base.cc
+++ b/services/files/files_test_base.cc
@@ -4,7 +4,6 @@
#include "services/files/files_test_base.h"
-#include "mojo/public/cpp/application/application_impl.h"
#include "mojo/public/cpp/application/connect.h"
#include "mojo/services/files/interfaces/files.mojom.h"
#include "mojo/services/files/interfaces/types.mojom.h"
@@ -18,8 +17,7 @@
void FilesTestBase::SetUp() {
test::ApplicationTestBase::SetUp();
- ConnectToService(application_impl()->shell(), "mojo:files",
- GetSynchronousProxy(&files_));
+ ConnectToService(shell(), "mojo:files", GetSynchronousProxy(&files_));
}
void FilesTestBase::GetTemporaryRoot(
diff --git a/services/http_server/http_server_apptest.cc b/services/http_server/http_server_apptest.cc
index 80c3795..f527425 100644
--- a/services/http_server/http_server_apptest.cc
+++ b/services/http_server/http_server_apptest.cc
@@ -6,9 +6,9 @@
#include "base/run_loop.h"
#include "base/strings/stringprintf.h"
#include "mojo/data_pipe_utils/data_pipe_utils.h"
-#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/binding.h"
#include "mojo/public/cpp/bindings/synchronous_interface_ptr.h"
#include "mojo/public/cpp/system/macros.h"
#include "mojo/services/http_server/cpp/http_server_util.h"
@@ -101,9 +101,9 @@
void SetUp() override {
ApplicationTestBase::SetUp();
- mojo::ConnectToService(application_impl()->shell(), "mojo:http_server",
+ mojo::ConnectToService(shell(), "mojo:http_server",
GetProxy(&http_server_factory_));
- mojo::ConnectToService(application_impl()->shell(), "mojo:network_service",
+ mojo::ConnectToService(shell(), "mojo:network_service",
GetProxy(&network_service_));
}
diff --git a/services/js/echo_apptest.cc b/services/js/echo_apptest.cc
index 9d7f343..17ae847 100644
--- a/services/js/echo_apptest.cc
+++ b/services/js/echo_apptest.cc
@@ -22,8 +22,7 @@
void SetUp() override {
ApplicationTestBase::SetUp();
const std::string& url = JSAppURL("echo.js");
- mojo::ConnectToService(application_impl()->shell(), url,
- GetSynchronousProxy(&echo_service_));
+ mojo::ConnectToService(shell(), url, GetSynchronousProxy(&echo_service_));
}
mojo::SynchronousInterfacePtr<mojo::EchoService> echo_service_;
@@ -42,8 +41,8 @@
void SetUp() override {
ApplicationTestBase::SetUp();
const std::string& url = JSAppURL("echo.js");
- application_impl()->shell()->ConnectToApplication(
- url, GetProxy(&echo_service_provider_), nullptr);
+ shell()->ConnectToApplication(url, GetProxy(&echo_service_provider_),
+ nullptr);
}
mojo::ServiceProviderPtr echo_service_provider_;
diff --git a/services/js/network_apptest.cc b/services/js/network_apptest.cc
index 961a707..d6e0af1 100644
--- a/services/js/network_apptest.cc
+++ b/services/js/network_apptest.cc
@@ -20,8 +20,7 @@
void SetUp() override {
ApplicationTestBase::SetUp();
const std::string& url = JSAppURL("network_test.js");
- mojo::ConnectToService(application_impl()->shell(), url,
- GetProxy(&network_test_service_));
+ mojo::ConnectToService(shell(), url, GetProxy(&network_test_service_));
}
NetworkTestServicePtr network_test_service_;
diff --git a/services/js/pingpong_apptest.cc b/services/js/pingpong_apptest.cc
index f2fe971..d76e055 100644
--- a/services/js/pingpong_apptest.cc
+++ b/services/js/pingpong_apptest.cc
@@ -46,8 +46,7 @@
void SetUp() override {
ApplicationTestBase::SetUp();
const std::string& url = JSAppURL("pingpong.js");
- mojo::ConnectToService(application_impl()->shell(), url,
- GetProxy(&pingpong_service_));
+ mojo::ConnectToService(shell(), url, GetProxy(&pingpong_service_));
PingPongClientPtr client_ptr;
pingpong_client_.Bind(GetProxy(&client_ptr));
pingpong_service_->SetClient(client_ptr.Pass());
@@ -94,8 +93,8 @@
// pingpong-target.js URL, we provide a connection to its PingPongService.
TEST_F(JSPingPongTest, PingTargetService) {
PingPongServicePtr target;
- mojo::ConnectToService(application_impl()->shell(),
- JSAppURL("pingpong_target.js"), GetProxy(&target));
+ mojo::ConnectToService(shell(), JSAppURL("pingpong_target.js"),
+ GetProxy(&target));
bool returned_value = false;
PingTargetCallback callback(&returned_value);
pingpong_service_->PingTargetService(target.Pass(), 9, callback);
diff --git a/services/native_support/process_test_base.cc b/services/native_support/process_test_base.cc
index 31d8d63..c39daed 100644
--- a/services/native_support/process_test_base.cc
+++ b/services/native_support/process_test_base.cc
@@ -4,7 +4,6 @@
#include "services/native_support/process_test_base.h"
-#include "mojo/public/cpp/application/application_impl.h"
#include "mojo/public/cpp/application/connect.h"
#include "mojo/services/native_support/interfaces/process.mojom.h"
@@ -18,7 +17,7 @@
void ProcessTestBase::SetUp() {
mojo::test::ApplicationTestBase::SetUp();
- mojo::ConnectToService(application_impl()->shell(), "mojo:native_support",
+ mojo::ConnectToService(shell(), "mojo:native_support",
GetSynchronousProxy(&process_));
}
diff --git a/services/notifications/apptests/notifications_apptest.cc b/services/notifications/apptests/notifications_apptest.cc
index dc41dd1..d61fd63 100644
--- a/services/notifications/apptests/notifications_apptest.cc
+++ b/services/notifications/apptests/notifications_apptest.cc
@@ -4,7 +4,6 @@
#include "base/bind.h"
#include "base/message_loop/message_loop.h"
-#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/callback.h"
@@ -31,7 +30,7 @@
// ApplicationTestBase:
void SetUp() override {
ApplicationTestBase::SetUp();
- ConnectToService(application_impl()->shell(), "mojo:notifications",
+ ConnectToService(shell(), "mojo:notifications",
GetProxy(¬ification_service_));
}
diff --git a/services/prediction/prediction_apptests.cc b/services/prediction/prediction_apptests.cc
index 8d1b7bc..e739d26 100644
--- a/services/prediction/prediction_apptests.cc
+++ b/services/prediction/prediction_apptests.cc
@@ -6,7 +6,6 @@
#include "base/bind.h"
#include "base/message_loop/message_loop.h"
-#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/services/prediction/interfaces/prediction.mojom.h"
@@ -27,8 +26,8 @@
void SetUp() override {
mojo::test::ApplicationTestBase::SetUp();
- mojo::ConnectToService(application_impl()->shell(),
- "mojo:prediction_service", GetProxy(&prediction_));
+ mojo::ConnectToService(shell(), "mojo:prediction_service",
+ GetProxy(&prediction_));
}
std::vector<std::string> GetPredictionListClient(
diff --git a/services/python/mojo_url_redirector/mojo_url_redirector_apptest.cc b/services/python/mojo_url_redirector/mojo_url_redirector_apptest.cc
index 905464c..5e8e7b7 100644
--- a/services/python/mojo_url_redirector/mojo_url_redirector_apptest.cc
+++ b/services/python/mojo_url_redirector/mojo_url_redirector_apptest.cc
@@ -8,9 +8,9 @@
#include "base/strings/string_split.h"
#include "base/strings/stringprintf.h"
#include "mojo/data_pipe_utils/data_pipe_utils.h"
-#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/binding.h"
#include "mojo/public/cpp/bindings/interface_handle.h"
#include "mojo/public/interfaces/application/service_provider.mojom.h"
#include "mojo/services/http_server/cpp/http_server_util.h"
@@ -84,7 +84,7 @@
// Obtain the port that the redirector is at and the port that we should
// spin up the app location files server at.
uint16_t app_location_files_port = 0;
- for (const std::string& arg : application_impl()->args()) {
+ for (const std::string& arg : args()) {
if (arg.find("--redirector_port") != std::string::npos) {
sscanf(arg.c_str(), "--redirector_port=%hu", &redirector_port_);
} else if (arg.find("--app_location_files_port") != std::string::npos) {
@@ -100,7 +100,7 @@
binding_.Bind(GetProxy(&location_files_handler));
http_server::HttpServerFactoryPtr http_server_factory;
- mojo::ConnectToService(application_impl()->shell(), "mojo:http_server",
+ mojo::ConnectToService(shell(), "mojo:http_server",
GetProxy(&http_server_factory));
mojo::NetAddressPtr location_files_server_addr(mojo::NetAddress::New());
@@ -125,9 +125,9 @@
// Connect to the redirector and wait until it registers itself as a
// handler with the server on |redirector_port_|.
- application_impl()->shell()->ConnectToApplication(
- "mojo:mojo_url_redirector", GetProxy(&url_redirector_sp_), nullptr);
- mojo::ConnectToService(application_impl()->shell(), "mojo:network_service",
+ shell()->ConnectToApplication("mojo:mojo_url_redirector",
+ GetProxy(&url_redirector_sp_), nullptr);
+ mojo::ConnectToService(shell(), "mojo:network_service",
GetProxy(&network_service_));
WaitForRedirectorRegistration();
}
diff --git a/services/url_response_disk_cache/url_response_disk_cache_apptest.cc b/services/url_response_disk_cache/url_response_disk_cache_apptest.cc
index adf7763..05db159 100644
--- a/services/url_response_disk_cache/url_response_disk_cache_apptest.cc
+++ b/services/url_response_disk_cache/url_response_disk_cache_apptest.cc
@@ -6,7 +6,6 @@
#include "base/rand_util.h"
#include "base/run_loop.h"
#include "base/strings/stringprintf.h"
-#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/system/data_pipe.h"
@@ -25,8 +24,7 @@
void SetUp() override {
test::ApplicationTestBase::SetUp();
- ConnectToService(application_impl()->shell(),
- "mojo:url_response_disk_cache",
+ ConnectToService(shell(), "mojo:url_response_disk_cache",
GetProxy(&url_response_disk_cache_));
}
diff --git a/shell/android/nfc_apptest.cc b/shell/android/nfc_apptest.cc
index 797ae68..e4c6420 100644
--- a/shell/android/nfc_apptest.cc
+++ b/shell/android/nfc_apptest.cc
@@ -4,7 +4,6 @@
#include "base/bind.h"
#include "base/message_loop/message_loop.h"
-#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/callback.h"
@@ -27,7 +26,7 @@
// ApplicationTestBase:
void SetUp() override {
ApplicationTestBase::SetUp();
- ConnectToService(application_impl()->shell(), "mojo:nfc", GetProxy(&nfc_));
+ ConnectToService(shell(), "mojo:nfc", GetProxy(&nfc_));
}
nfc::NfcPtr nfc_;
diff --git a/shell/shell_apptest.cc b/shell/shell_apptest.cc
index 42a5547..b35db42 100644
--- a/shell/shell_apptest.cc
+++ b/shell/shell_apptest.cc
@@ -12,9 +12,9 @@
#include "base/strings/stringprintf.h"
#include "mojo/converters/base/base_type_converters.h"
#include "mojo/data_pipe_utils/data_pipe_utils.h"
-#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/binding.h"
#include "mojo/public/cpp/bindings/synchronous_interface_ptr.h"
#include "mojo/public/cpp/system/macros.h"
#include "mojo/public/interfaces/application/application_connector.mojom.h"
@@ -81,7 +81,7 @@
void SetUp() override {
ShellAppTest::SetUp();
- mojo::ConnectToService(application_impl()->shell(), "mojo:http_server",
+ mojo::ConnectToService(shell(), "mojo:http_server",
GetProxy(&http_server_factory_));
mojo::NetAddressPtr local_address(mojo::NetAddress::New());
@@ -119,8 +119,7 @@
// Test that we can load apps over http.
TEST_F(ShellHTTPAppTest, Http) {
PingablePtr pingable;
- mojo::ConnectToService(application_impl()->shell(), GetURL("app"),
- GetProxy(&pingable));
+ mojo::ConnectToService(shell(), GetURL("app"), GetProxy(&pingable));
pingable->Ping("hello",
[this](const String& app_url, const String& connection_url,
const String& message) {
@@ -136,8 +135,7 @@
// TODO(aa): Test that apps receive the correct URL parameters.
TEST_F(ShellHTTPAppTest, Redirect) {
PingablePtr pingable;
- mojo::ConnectToService(application_impl()->shell(), GetURL("redirect"),
- GetProxy(&pingable));
+ mojo::ConnectToService(shell(), GetURL("redirect"), GetProxy(&pingable));
pingable->Ping("hello",
[this](const String& app_url, const String& connection_url,
const String& message) {
@@ -159,10 +157,8 @@
TEST_F(ShellHTTPAppTest, MAYBE_QueryHandling) {
PingablePtr pingable1;
PingablePtr pingable2;
- mojo::ConnectToService(application_impl()->shell(), GetURL("app?foo"),
- GetProxy(&pingable1));
- mojo::ConnectToService(application_impl()->shell(), GetURL("app?bar"),
- GetProxy(&pingable2));
+ mojo::ConnectToService(shell(), GetURL("app?foo"), GetProxy(&pingable1));
+ mojo::ConnectToService(shell(), GetURL("app?bar"), GetProxy(&pingable2));
int num_responses = 0;
auto callbacks_builder = [this, &num_responses](int query_index) {
@@ -191,8 +187,7 @@
// mojo: URLs can have querystrings too
TEST_F(ShellAppTest, MojoURLQueryHandling) {
PingablePtr pingable;
- mojo::ConnectToService(application_impl()->shell(), "mojo:pingable_app?foo",
- GetProxy(&pingable));
+ mojo::ConnectToService(shell(), "mojo:pingable_app?foo", GetProxy(&pingable));
auto callback = [](const String& app_url, const String& connection_url,
const String& message) {
EXPECT_TRUE(base::EndsWith(app_url.To<base::StringPiece>(),
@@ -224,15 +219,13 @@
TEST_F(ShellAppTest, ApplicationConnector) {
mojo::ApplicationConnectorPtr app_connector;
- app_connector.Bind(
- mojo::CreateApplicationConnector(application_impl()->shell()));
+ app_connector.Bind(mojo::CreateApplicationConnector(shell()));
TestApplicationConnector(app_connector.get());
}
TEST_F(ShellAppTest, ApplicationConnectorDuplicate) {
mojo::ApplicationConnectorPtr app_connector1;
- app_connector1.Bind(
- mojo::CreateApplicationConnector(application_impl()->shell()));
+ app_connector1.Bind(mojo::CreateApplicationConnector(shell()));
{
SCOPED_TRACE("app_connector1");
TestApplicationConnector(app_connector1.get());