| Index: components/view_manager/view_manager_service_apptest.cc
|
| diff --git a/components/view_manager/view_manager_service_apptest.cc b/components/view_manager/view_manager_service_apptest.cc
|
| index d43804300551f80cd1f6f50a7113d0b37e78c40a..0d71c1118b53389e63b40d1758de210713f21112 100644
|
| --- a/components/view_manager/view_manager_service_apptest.cc
|
| +++ b/components/view_manager/view_manager_service_apptest.cc
|
| @@ -7,9 +7,8 @@
|
| #include "base/run_loop.h"
|
| #include "components/view_manager/ids.h"
|
| #include "components/view_manager/public/interfaces/view_manager.mojom.h"
|
| +#include "components/view_manager/public/interfaces/view_manager_root.mojom.h"
|
| #include "components/view_manager/test_change_tracker.h"
|
| -#include "components/window_manager/public/interfaces/window_manager.mojom.h"
|
| -#include "components/window_manager/public/interfaces/window_manager_internal.mojom.h"
|
| #include "mojo/application/application_test_base_chromium.h"
|
| #include "mojo/application/public/cpp/application_delegate.h"
|
| #include "mojo/application/public/cpp/application_impl.h"
|
| @@ -395,18 +394,15 @@ class ViewManagerClientFactory
|
| DISALLOW_COPY_AND_ASSIGN(ViewManagerClientFactory);
|
| };
|
|
|
| -class ViewManagerServiceAppTest
|
| - : public mojo::test::ApplicationTestBase,
|
| - public ApplicationDelegate,
|
| - public mojo::InterfaceFactory<mojo::WindowManagerInternal>,
|
| - public mojo::WindowManagerInternal {
|
| +class ViewManagerServiceAppTest : public mojo::test::ApplicationTestBase,
|
| + public ApplicationDelegate {
|
| public:
|
| - ViewManagerServiceAppTest() : wm_internal_binding_(this) {}
|
| + ViewManagerServiceAppTest() {}
|
| ~ViewManagerServiceAppTest() override {}
|
|
|
| protected:
|
| // Returns the changes from the various connections.
|
| - std::vector<Change>* changes1() { return vm_client1_.tracker()->changes(); }
|
| + std::vector<Change>* changes1() { return vm_client1_->tracker()->changes(); }
|
| std::vector<Change>* changes2() { return vm_client2_->tracker()->changes(); }
|
| std::vector<Change>* changes3() { return vm_client3_->tracker()->changes(); }
|
|
|
| @@ -455,9 +451,7 @@ class ViewManagerServiceAppTest
|
| }
|
| client->WaitForOnEmbed();
|
|
|
| - const std::string expected_creator =
|
| - owner == vm1() ? "mojo:window_manager" : application_impl()->url();
|
| - EXPECT_EQ("OnEmbed creator=" + expected_creator,
|
| + EXPECT_EQ("OnEmbed creator=" + application_impl()->url(),
|
| SingleChangeToDescription(*client->tracker()->changes()));
|
| return client.Pass();
|
| }
|
| @@ -468,16 +462,13 @@ class ViewManagerServiceAppTest
|
| ApplicationTestBase::SetUp();
|
| ApplicationConnection* vm_connection =
|
| application_impl()->ConnectToApplication("mojo:view_manager");
|
| - vm_connection->AddService(this);
|
| vm_connection->ConnectToService(&vm1_);
|
| - vm_connection->ConnectToService(&wm_internal_client_);
|
| - // Spin a run loop until the view manager service sends us the
|
| - // ViewManagerClient pipe to use for the "window manager" connection.
|
| - view_manager_setup_run_loop_.reset(new base::RunLoop);
|
| - view_manager_setup_run_loop_->Run();
|
| - view_manager_setup_run_loop_ = nullptr;
|
| + vm_connection->ConnectToService(&view_manager_root_);
|
| + vm_connection->AddService(&client_factory_);
|
| + vm_client1_ = client_factory_.WaitForInstance();
|
| + ASSERT_TRUE(vm_client1_);
|
| // Next we should get an embed call on the "window manager" client.
|
| - vm_client1_.WaitForIncomingMethodCall();
|
| + vm_client1_->WaitForIncomingMethodCall();
|
| ASSERT_EQ(1u, changes1()->size());
|
| EXPECT_EQ(CHANGE_TYPE_EMBED, (*changes1())[0].type);
|
| // All these tests assume 1 for the client id. The only real assertion here
|
| @@ -493,34 +484,15 @@ class ViewManagerServiceAppTest
|
| return true;
|
| }
|
|
|
| - // mojo::InterfaceFactory<mojo::WindowManagerInternal> implementation.
|
| - void Create(
|
| - ApplicationConnection* connection,
|
| - mojo::InterfaceRequest<mojo::WindowManagerInternal> request) override {
|
| - DCHECK(!wm_internal_binding_.is_bound());
|
| - wm_internal_binding_.Bind(request.Pass());
|
| - }
|
| -
|
| - // mojo::WindowManagerInternal implementation.
|
| - void SetViewManagerClient(
|
| - mojo::ScopedMessagePipeHandle view_manager_client_request) override {
|
| - auto typed_request = mojo::MakeRequest<mojo::ViewManagerClient>(
|
| - view_manager_client_request.Pass());
|
| - vm_client1_.Bind(typed_request.Pass());
|
| - view_manager_setup_run_loop_->Quit();
|
| - }
|
| - void OnAccelerator(mojo::EventPtr event) override {}
|
| -
|
| - mojo::Binding<mojo::WindowManagerInternal> wm_internal_binding_;
|
| - mojo::WindowManagerInternalClientPtr wm_internal_client_;
|
| - ViewManagerClientImpl vm_client1_;
|
| + scoped_ptr<ViewManagerClientImpl> vm_client1_;
|
| scoped_ptr<ViewManagerClientImpl> vm_client2_;
|
| scoped_ptr<ViewManagerClientImpl> vm_client3_;
|
|
|
| + mojo::ViewManagerRootPtr view_manager_root_;
|
| +
|
| private:
|
| mojo::ViewManagerServicePtr vm1_;
|
| ViewManagerClientFactory client_factory_;
|
| - scoped_ptr<base::RunLoop> view_manager_setup_run_loop_;
|
|
|
| MOJO_DISALLOW_COPY_AND_ASSIGN(ViewManagerServiceAppTest);
|
| };
|
| @@ -800,7 +772,7 @@ TEST_F(ViewManagerServiceAppTest, ViewHierarchyChangedAddingKnownToUnknown) {
|
| changes1()->clear();
|
| ASSERT_TRUE(RemoveViewFromParent(vm2(), BuildViewId(2, 11)));
|
|
|
| - vm_client1_.WaitForChangeCount(1);
|
| + vm_client1_->WaitForChangeCount(1);
|
| EXPECT_EQ("HierarchyChanged view=2,11 new_parent=null old_parent=1,1",
|
| SingleChangeToDescription(*changes1()));
|
| }
|
| @@ -810,7 +782,7 @@ TEST_F(ViewManagerServiceAppTest, ViewHierarchyChangedAddingKnownToUnknown) {
|
| changes1()->clear();
|
| ASSERT_TRUE(AddView(vm2(), BuildViewId(1, 1), BuildViewId(2, 2)));
|
|
|
| - vm_client1_.WaitForChangeCount(1);
|
| + vm_client1_->WaitForChangeCount(1);
|
| EXPECT_EQ("HierarchyChanged view=2,2 new_parent=1,1 old_parent=null",
|
| SingleChangeToDescription(*changes1()));
|
| EXPECT_EQ(
|
| @@ -850,7 +822,7 @@ TEST_F(ViewManagerServiceAppTest, ReorderView) {
|
| changes1()->clear();
|
| ASSERT_TRUE(ReorderView(vm2(), view2_id, view3_id, ORDER_DIRECTION_ABOVE));
|
|
|
| - vm_client1_.WaitForChangeCount(1);
|
| + vm_client1_->WaitForChangeCount(1);
|
| EXPECT_EQ("Reordered view=2,2 relative=2,3 direction=above",
|
| SingleChangeToDescription(*changes1()));
|
| }
|
| @@ -859,7 +831,7 @@ TEST_F(ViewManagerServiceAppTest, ReorderView) {
|
| changes1()->clear();
|
| ASSERT_TRUE(ReorderView(vm2(), view2_id, view3_id, ORDER_DIRECTION_BELOW));
|
|
|
| - vm_client1_.WaitForChangeCount(1);
|
| + vm_client1_->WaitForChangeCount(1);
|
| EXPECT_EQ("Reordered view=2,2 relative=2,3 direction=below",
|
| SingleChangeToDescription(*changes1()));
|
| }
|
| @@ -890,7 +862,7 @@ TEST_F(ViewManagerServiceAppTest, DeleteView) {
|
| {
|
| changes1()->clear();
|
| ASSERT_TRUE(AddView(vm2(), BuildViewId(1, 1), BuildViewId(2, 2)));
|
| - vm_client1_.WaitForChangeCount(1);
|
| + vm_client1_->WaitForChangeCount(1);
|
| EXPECT_EQ("HierarchyChanged view=2,2 new_parent=1,1 old_parent=null",
|
| SingleChangeToDescription(*changes1()));
|
| }
|
| @@ -902,7 +874,7 @@ TEST_F(ViewManagerServiceAppTest, DeleteView) {
|
| ASSERT_TRUE(DeleteView(vm2(), BuildViewId(2, 2)));
|
| EXPECT_TRUE(changes2()->empty());
|
|
|
| - vm_client1_.WaitForChangeCount(1);
|
| + vm_client1_->WaitForChangeCount(1);
|
| EXPECT_EQ("ViewDeleted view=2,2", SingleChangeToDescription(*changes1()));
|
| }
|
| }
|
| @@ -924,7 +896,7 @@ TEST_F(ViewManagerServiceAppTest, ReuseDeletedViewId) {
|
| changes1()->clear();
|
| ASSERT_TRUE(AddView(vm2(), BuildViewId(1, 1), BuildViewId(2, 2)));
|
|
|
| - vm_client1_.WaitForChangeCount(1);
|
| + vm_client1_->WaitForChangeCount(1);
|
| EXPECT_EQ("HierarchyChanged view=2,2 new_parent=1,1 old_parent=null",
|
| SingleChangeToDescription(*changes1()));
|
| EXPECT_EQ("[view=2,2 parent=1,1]", ChangeViewDescription(*changes1()));
|
| @@ -935,7 +907,7 @@ TEST_F(ViewManagerServiceAppTest, ReuseDeletedViewId) {
|
| changes1()->clear();
|
| ASSERT_TRUE(DeleteView(vm2(), BuildViewId(2, 2)));
|
|
|
| - vm_client1_.WaitForChangeCount(1);
|
| + vm_client1_->WaitForChangeCount(1);
|
| EXPECT_EQ("ViewDeleted view=2,2", SingleChangeToDescription(*changes1()));
|
| }
|
|
|
| @@ -945,7 +917,7 @@ TEST_F(ViewManagerServiceAppTest, ReuseDeletedViewId) {
|
| changes1()->clear();
|
| ASSERT_TRUE(AddView(vm2(), BuildViewId(1, 1), BuildViewId(2, 2)));
|
|
|
| - vm_client1_.WaitForChangeCount(1);
|
| + vm_client1_->WaitForChangeCount(1);
|
| EXPECT_EQ("HierarchyChanged view=2,2 new_parent=1,1 old_parent=null",
|
| SingleChangeToDescription(*changes1()));
|
| EXPECT_EQ("[view=2,2 parent=1,1]", ChangeViewDescription(*changes1()));
|
| @@ -1133,7 +1105,7 @@ TEST_F(ViewManagerServiceAppTest, EmbedWithSameViewId2) {
|
|
|
| // Connection 1 should have been told about the add (it owns the view).
|
| {
|
| - vm_client1_.WaitForChangeCount(1);
|
| + vm_client1_->WaitForChangeCount(1);
|
| EXPECT_EQ("HierarchyChanged view=3,1 new_parent=1,1 old_parent=null",
|
| SingleChangeToDescription(*changes1()));
|
| }
|
| @@ -1276,7 +1248,7 @@ TEST_F(ViewManagerServiceAppTest, SetViewVisibilityNotifications) {
|
| // Show 1,2 from connection 2, connection 1 should be notified.
|
| ASSERT_TRUE(SetViewVisibility(vm2(), BuildViewId(1, 2), true));
|
| {
|
| - vm_client1_.WaitForChangeCount(1);
|
| + vm_client1_->WaitForChangeCount(1);
|
| EXPECT_EQ("VisibilityChanged view=1,2 visible=true",
|
| SingleChangeToDescription(*changes1()));
|
| }
|
| @@ -1303,7 +1275,7 @@ TEST_F(ViewManagerServiceAppTest, SetViewVisibilityNotifications) {
|
| changes1()->clear();
|
| ASSERT_TRUE(SetViewVisibility(vm2(), BuildViewId(2, 3), false));
|
| {
|
| - vm_client1_.WaitForChangeCount(1);
|
| + vm_client1_->WaitForChangeCount(1);
|
| EXPECT_EQ("VisibilityChanged view=2,3 visible=false",
|
| SingleChangeToDescription(*changes1()));
|
| }
|
| @@ -1415,7 +1387,7 @@ TEST_F(ViewManagerServiceAppTest, DontCleanMapOnDestroy) {
|
| ASSERT_TRUE(CreateView(vm2(), BuildViewId(2, 1)));
|
| changes1()->clear();
|
| vm_client2_.reset();
|
| - vm_client1_.WaitForChangeCount(1);
|
| + vm_client1_->WaitForChangeCount(1);
|
| EXPECT_EQ("OnEmbeddedAppDisconnected view=1,1",
|
| SingleChangeToDescription(*changes1()));
|
| std::vector<TestView> views;
|
| @@ -1436,7 +1408,7 @@ TEST_F(ViewManagerServiceAppTest, CloneAndAnimate) {
|
| ASSERT_TRUE(WaitForAllMessages(vm1()));
|
| changes1()->clear();
|
|
|
| - wm_internal_client_->CloneAndAnimate(BuildViewId(2, 3));
|
| + view_manager_root_->CloneAndAnimate(BuildViewId(2, 3));
|
| ASSERT_TRUE(WaitForAllMessages(vm1()));
|
|
|
| ASSERT_TRUE(WaitForAllMessages(vm1()));
|
| @@ -1465,7 +1437,7 @@ TEST_F(ViewManagerServiceAppTest, EmbedSupplyingViewManagerClient) {
|
| mojo::Binding<ViewManagerClient> client2_binding(&client2, &client2_ptr);
|
| ASSERT_TRUE(Embed(vm1(), BuildViewId(1, 1), client2_ptr.Pass()));
|
| client2.WaitForOnEmbed();
|
| - EXPECT_EQ("OnEmbed creator=mojo:window_manager",
|
| + EXPECT_EQ("OnEmbed creator=" + application_impl()->url(),
|
| SingleChangeToDescription(*client2.tracker()->changes()));
|
| }
|
|
|
|
|