| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/bind.h" | 5 #include "base/bind.h" |
| 6 #include "base/message_loop/message_loop.h" | 6 #include "base/message_loop/message_loop.h" |
| 7 #include "base/run_loop.h" | 7 #include "base/run_loop.h" |
| 8 #include "base/strings/stringprintf.h" | 8 #include "base/strings/stringprintf.h" |
| 9 #include "components/view_manager/ids.h" | 9 #include "components/view_manager/ids.h" |
| 10 #include "components/view_manager/public/interfaces/view_manager.mojom.h" | 10 #include "components/view_manager/public/interfaces/view_manager.mojom.h" |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 71 | 71 |
| 72 bool EmbedUrl(mojo::ApplicationImpl* app, | 72 bool EmbedUrl(mojo::ApplicationImpl* app, |
| 73 ViewManagerService* vm, | 73 ViewManagerService* vm, |
| 74 const String& url, | 74 const String& url, |
| 75 Id root_id) { | 75 Id root_id) { |
| 76 bool result = false; | 76 bool result = false; |
| 77 base::RunLoop run_loop; | 77 base::RunLoop run_loop; |
| 78 { | 78 { |
| 79 mojo::URLRequestPtr request(mojo::URLRequest::New()); | 79 mojo::URLRequestPtr request(mojo::URLRequest::New()); |
| 80 request->url = mojo::String::From(url); | 80 request->url = mojo::String::From(url); |
| 81 ApplicationConnection* connection = | 81 scoped_ptr<ApplicationConnection> connection = |
| 82 app->ConnectToApplication(request.Pass()); | 82 app->ConnectToApplication(request.Pass()); |
| 83 mojo::ViewManagerClientPtr client; | 83 mojo::ViewManagerClientPtr client; |
| 84 connection->ConnectToService(&client); | 84 connection->ConnectToService(&client); |
| 85 vm->Embed(root_id, client.Pass(), | 85 vm->Embed(root_id, client.Pass(), |
| 86 base::Bind(&BoolResultCallback, &run_loop, &result)); | 86 base::Bind(&BoolResultCallback, &run_loop, &result)); |
| 87 } | 87 } |
| 88 run_loop.Run(); | 88 run_loop.Run(); |
| 89 return result; | 89 return result; |
| 90 } | 90 } |
| 91 | 91 |
| (...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 336 tracker()->OnEmbed(connection_id, root.Pass()); | 336 tracker()->OnEmbed(connection_id, root.Pass()); |
| 337 if (embed_run_loop_) | 337 if (embed_run_loop_) |
| 338 embed_run_loop_->Quit(); | 338 embed_run_loop_->Quit(); |
| 339 } | 339 } |
| 340 void OnEmbedForDescendant( | 340 void OnEmbedForDescendant( |
| 341 uint32_t view, | 341 uint32_t view, |
| 342 mojo::URLRequestPtr request, | 342 mojo::URLRequestPtr request, |
| 343 const OnEmbedForDescendantCallback& callback) override { | 343 const OnEmbedForDescendantCallback& callback) override { |
| 344 tracker()->OnEmbedForDescendant(view); | 344 tracker()->OnEmbedForDescendant(view); |
| 345 mojo::ViewManagerClientPtr client; | 345 mojo::ViewManagerClientPtr client; |
| 346 ApplicationConnection* connection = | 346 scoped_ptr<ApplicationConnection> connection = |
| 347 app_->ConnectToApplication(request.Pass()); | 347 app_->ConnectToApplication(request.Pass()); |
| 348 connection->ConnectToService(&client); | 348 connection->ConnectToService(&client); |
| 349 callback.Run(client.Pass()); | 349 callback.Run(client.Pass()); |
| 350 } | 350 } |
| 351 void OnEmbeddedAppDisconnected(Id view_id) override { | 351 void OnEmbeddedAppDisconnected(Id view_id) override { |
| 352 tracker()->OnEmbeddedAppDisconnected(view_id); | 352 tracker()->OnEmbeddedAppDisconnected(view_id); |
| 353 } | 353 } |
| 354 void OnUnembed() override { tracker()->OnUnembed(); } | 354 void OnUnembed() override { tracker()->OnUnembed(); } |
| 355 void OnViewBoundsChanged(Id view_id, | 355 void OnViewBoundsChanged(Id view_id, |
| 356 RectPtr old_bounds, | 356 RectPtr old_bounds, |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 555 return client.Pass(); | 555 return client.Pass(); |
| 556 } | 556 } |
| 557 | 557 |
| 558 // ApplicationTestBase: | 558 // ApplicationTestBase: |
| 559 ApplicationDelegate* GetApplicationDelegate() override { return this; } | 559 ApplicationDelegate* GetApplicationDelegate() override { return this; } |
| 560 void SetUp() override { | 560 void SetUp() override { |
| 561 ApplicationTestBase::SetUp(); | 561 ApplicationTestBase::SetUp(); |
| 562 client_factory_.reset(new ViewManagerClientFactory(application_impl())); | 562 client_factory_.reset(new ViewManagerClientFactory(application_impl())); |
| 563 mojo::URLRequestPtr request(mojo::URLRequest::New()); | 563 mojo::URLRequestPtr request(mojo::URLRequest::New()); |
| 564 request->url = mojo::String::From("mojo:view_manager"); | 564 request->url = mojo::String::From("mojo:view_manager"); |
| 565 ApplicationConnection* vm_connection = | 565 scoped_ptr<ApplicationConnection> vm_connection = |
| 566 application_impl()->ConnectToApplication(request.Pass()); | 566 application_impl()->ConnectToApplication(request.Pass()); |
| 567 vm_connection->AddService(client_factory_.get()); | 567 vm_connection->AddService(client_factory_.get()); |
| 568 vm_connection->ConnectToService(&view_manager_root_); | 568 vm_connection->ConnectToService(&view_manager_root_); |
| 569 vm_client1_ = client_factory_->WaitForInstance(); | 569 vm_client1_ = client_factory_->WaitForInstance(); |
| 570 ASSERT_TRUE(vm_client1_); | 570 ASSERT_TRUE(vm_client1_); |
| 571 // Next we should get an embed call on the "window manager" client. | 571 // Next we should get an embed call on the "window manager" client. |
| 572 vm_client1_->WaitForIncomingMethodCall(); | 572 vm_client1_->WaitForIncomingMethodCall(); |
| 573 ASSERT_EQ(1u, changes1()->size()); | 573 ASSERT_EQ(1u, changes1()->size()); |
| 574 EXPECT_EQ(CHANGE_TYPE_EMBED, (*changes1())[0].type); | 574 EXPECT_EQ(CHANGE_TYPE_EMBED, (*changes1())[0].type); |
| 575 // All these tests assume 1 for the client id. The only real assertion here | 575 // All these tests assume 1 for the client id. The only real assertion here |
| (...skipping 1127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1703 // TODO(sky): need to better track changes to initial connection. For example, | 1703 // TODO(sky): need to better track changes to initial connection. For example, |
| 1704 // that SetBounsdViews/AddView and the like don't result in messages to the | 1704 // that SetBounsdViews/AddView and the like don't result in messages to the |
| 1705 // originating connection. | 1705 // originating connection. |
| 1706 | 1706 |
| 1707 // TODO(sky): make sure coverage of what was | 1707 // TODO(sky): make sure coverage of what was |
| 1708 // ViewManagerTest.SecondEmbedRoot_InitService and | 1708 // ViewManagerTest.SecondEmbedRoot_InitService and |
| 1709 // ViewManagerTest.MultipleEmbedRootsBeforeWTHReady gets added to window manager | 1709 // ViewManagerTest.MultipleEmbedRootsBeforeWTHReady gets added to window manager |
| 1710 // tests. | 1710 // tests. |
| 1711 | 1711 |
| 1712 } // namespace view_manager | 1712 } // namespace view_manager |
| OLD | NEW |