| 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/logging.h" | 5 #include "base/logging.h" |
| 6 #include "components/view_manager/public/cpp/tests/view_manager_test_base.h" | 6 #include "components/view_manager/public/cpp/tests/view_manager_test_base.h" |
| 7 #include "components/view_manager/public/cpp/view_observer.h" | 7 #include "components/view_manager/public/cpp/view_observer.h" |
| 8 #include "components/view_manager/public/cpp/view_tree_connection.h" | 8 #include "components/view_manager/public/cpp/view_tree_connection.h" |
| 9 #include "components/view_manager/public/cpp/view_tree_delegate.h" | 9 #include "components/view_manager/public/cpp/view_tree_delegate.h" |
| 10 #include "mojo/application/public/cpp/application_connection.h" | 10 #include "mojo/application/public/cpp/application_connection.h" |
| (...skipping 674 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 685 EXPECT_TRUE(DoRunLoopWithTimeout()); | 685 EXPECT_TRUE(DoRunLoopWithTimeout()); |
| 686 EXPECT_TRUE(got_destroy); | 686 EXPECT_TRUE(got_destroy); |
| 687 } | 687 } |
| 688 | 688 |
| 689 // Verifies an embed root sees views created beneath it from another | 689 // Verifies an embed root sees views created beneath it from another |
| 690 // connection. | 690 // connection. |
| 691 TEST_F(ViewManagerTest, EmbedRootSeesHierarchyChanged) { | 691 TEST_F(ViewManagerTest, EmbedRootSeesHierarchyChanged) { |
| 692 View* embed_view = window_manager()->CreateView(); | 692 View* embed_view = window_manager()->CreateView(); |
| 693 window_manager()->GetRoot()->AddChild(embed_view); | 693 window_manager()->GetRoot()->AddChild(embed_view); |
| 694 | 694 |
| 695 embed_view->SetAccessPolicy(ViewTree::kAccessPolicyEmbedRoot); |
| 695 ViewTreeConnection* vm2 = Embed(embed_view); | 696 ViewTreeConnection* vm2 = Embed(embed_view); |
| 696 vm2->SetEmbedRoot(); | |
| 697 View* vm2_v1 = vm2->CreateView(); | 697 View* vm2_v1 = vm2->CreateView(); |
| 698 vm2->GetRoot()->AddChild(vm2_v1); | 698 vm2->GetRoot()->AddChild(vm2_v1); |
| 699 | 699 |
| 700 ViewTreeConnection* vm3 = Embed(vm2_v1); | 700 ViewTreeConnection* vm3 = Embed(vm2_v1); |
| 701 View* vm3_v1 = vm3->CreateView(); | 701 View* vm3_v1 = vm3->CreateView(); |
| 702 vm3->GetRoot()->AddChild(vm3_v1); | 702 vm3->GetRoot()->AddChild(vm3_v1); |
| 703 | 703 |
| 704 // As |vm2| is an embed root it should get notified about |vm3_v1|. | 704 // As |vm2| is an embed root it should get notified about |vm3_v1|. |
| 705 ASSERT_TRUE(WaitForTreeSizeToMatch(vm2_v1, 2)); | 705 ASSERT_TRUE(WaitForTreeSizeToMatch(vm2_v1, 2)); |
| 706 } | 706 } |
| 707 | 707 |
| 708 TEST_F(ViewManagerTest, EmbedFromEmbedRoot) { | 708 TEST_F(ViewManagerTest, EmbedFromEmbedRoot) { |
| 709 View* embed_view = window_manager()->CreateView(); | 709 View* embed_view = window_manager()->CreateView(); |
| 710 window_manager()->GetRoot()->AddChild(embed_view); | 710 window_manager()->GetRoot()->AddChild(embed_view); |
| 711 | 711 |
| 712 embed_view->SetAccessPolicy(ViewTree::kAccessPolicyEmbedRoot); |
| 712 ViewTreeConnection* vm2 = Embed(embed_view); | 713 ViewTreeConnection* vm2 = Embed(embed_view); |
| 713 vm2->SetEmbedRoot(); | |
| 714 View* vm2_v1 = vm2->CreateView(); | 714 View* vm2_v1 = vm2->CreateView(); |
| 715 vm2->GetRoot()->AddChild(vm2_v1); | 715 vm2->GetRoot()->AddChild(vm2_v1); |
| 716 | 716 |
| 717 ViewTreeConnection* vm3 = Embed(vm2_v1); | 717 ViewTreeConnection* vm3 = Embed(vm2_v1); |
| 718 View* vm3_v1 = vm3->CreateView(); | 718 View* vm3_v1 = vm3->CreateView(); |
| 719 vm3->GetRoot()->AddChild(vm3_v1); | 719 vm3->GetRoot()->AddChild(vm3_v1); |
| 720 | 720 |
| 721 // As |vm2| is an embed root it should get notified about |vm3_v1|. | 721 // As |vm2| is an embed root it should get notified about |vm3_v1|. |
| 722 ASSERT_TRUE(WaitForTreeSizeToMatch(vm2_v1, 2)); | 722 ASSERT_TRUE(WaitForTreeSizeToMatch(vm2_v1, 2)); |
| 723 | 723 |
| 724 // Embed() from vm2 in vm3_v1. This is allowed as vm2 is an embed root. | 724 // Embed() from vm2 in vm3_v1. This is allowed as vm2 is an embed root. |
| 725 ASSERT_EQ(1u, vm2_v1->children().size()); | 725 ASSERT_EQ(1u, vm2_v1->children().size()); |
| 726 View* vm3_v1_in_vm2 = vm2_v1->children()[0]; | 726 View* vm3_v1_in_vm2 = vm2_v1->children()[0]; |
| 727 ASSERT_TRUE(Embed(vm3_v1_in_vm2)); | 727 ASSERT_TRUE(Embed(vm3_v1_in_vm2)); |
| 728 } | 728 } |
| 729 | 729 |
| 730 } // namespace mojo | 730 } // namespace mojo |
| OLD | NEW |