| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "services/ui/ws/window_manager_state.h" | 5 #include "services/ui/ws/window_manager_state.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 | 8 |
| 9 #include "base/macros.h" | 9 #include "base/macros.h" |
| 10 #include "base/memory/ptr_util.h" | 10 #include "base/memory/ptr_util.h" |
| (...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 210 WindowTreeTestApi(window_tree()).AckOldestEvent(); | 210 WindowTreeTestApi(window_tree()).AckOldestEvent(); |
| 211 EXPECT_TRUE(window_manager()->on_accelerator_called()); | 211 EXPECT_TRUE(window_manager()->on_accelerator_called()); |
| 212 EXPECT_EQ(accelerator->id(), window_manager()->on_accelerator_id()); | 212 EXPECT_EQ(accelerator->id(), window_manager()->on_accelerator_id()); |
| 213 } | 213 } |
| 214 | 214 |
| 215 // Tests that if a pre target accelerator consumes the event no other processing | 215 // Tests that if a pre target accelerator consumes the event no other processing |
| 216 // is done. | 216 // is done. |
| 217 TEST_F(WindowManagerStateTest, PreTargetConsumed) { | 217 TEST_F(WindowManagerStateTest, PreTargetConsumed) { |
| 218 // Set up two trees with focus on a child in the second. | 218 // Set up two trees with focus on a child in the second. |
| 219 const ClientWindowId child_window_id(11); | 219 const ClientWindowId child_window_id(11); |
| 220 window_tree()->NewWindow(child_window_id, ServerWindow::Properties()); | 220 window_tree()->NewWindow(child_window_id, ServerWindow::Properties(), |
| 221 cc::LocalFrameId()); |
| 221 ServerWindow* child_window = | 222 ServerWindow* child_window = |
| 222 window_tree()->GetWindowByClientId(child_window_id); | 223 window_tree()->GetWindowByClientId(child_window_id); |
| 223 window_tree()->AddWindow(FirstRootId(window_tree()), child_window_id); | 224 window_tree()->AddWindow(FirstRootId(window_tree()), child_window_id); |
| 224 child_window->SetVisible(true); | 225 child_window->SetVisible(true); |
| 225 SetCanFocusUp(child_window); | 226 SetCanFocusUp(child_window); |
| 226 tree()->GetDisplay(child_window)->AddActivationParent(child_window->parent()); | 227 tree()->GetDisplay(child_window)->AddActivationParent(child_window->parent()); |
| 227 ASSERT_TRUE(window_tree()->SetFocus(child_window_id)); | 228 ASSERT_TRUE(window_tree()->SetFocus(child_window_id)); |
| 228 | 229 |
| 229 // Register a pre-accelerator. | 230 // Register a pre-accelerator. |
| 230 uint32_t accelerator_id = 11; | 231 uint32_t accelerator_id = 11; |
| (...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 419 OnEventAckTimeout(window()->id().client_id); | 420 OnEventAckTimeout(window()->id().client_id); |
| 420 EXPECT_TRUE(window_manager()->on_accelerator_called()); | 421 EXPECT_TRUE(window_manager()->on_accelerator_called()); |
| 421 EXPECT_EQ(accelerator->id(), window_manager()->on_accelerator_id()); | 422 EXPECT_EQ(accelerator->id(), window_manager()->on_accelerator_id()); |
| 422 } | 423 } |
| 423 | 424 |
| 424 TEST_F(WindowManagerStateTest, InterceptingEmbedderReceivesEvents) { | 425 TEST_F(WindowManagerStateTest, InterceptingEmbedderReceivesEvents) { |
| 425 WindowTree* embedder_tree = tree(); | 426 WindowTree* embedder_tree = tree(); |
| 426 ServerWindow* embedder_root = window(); | 427 ServerWindow* embedder_root = window(); |
| 427 const ClientWindowId embed_window_id( | 428 const ClientWindowId embed_window_id( |
| 428 WindowIdToTransportId(WindowId(embedder_tree->id(), 12))); | 429 WindowIdToTransportId(WindowId(embedder_tree->id(), 12))); |
| 429 embedder_tree->NewWindow(embed_window_id, ServerWindow::Properties()); | 430 embedder_tree->NewWindow(embed_window_id, ServerWindow::Properties(), |
| 431 cc::LocalFrameId()); |
| 430 ServerWindow* embedder_window = | 432 ServerWindow* embedder_window = |
| 431 embedder_tree->GetWindowByClientId(embed_window_id); | 433 embedder_tree->GetWindowByClientId(embed_window_id); |
| 432 ASSERT_TRUE(embedder_tree->AddWindow( | 434 ASSERT_TRUE(embedder_tree->AddWindow( |
| 433 ClientWindowId(WindowIdToTransportId(embedder_root->id())), | 435 ClientWindowId(WindowIdToTransportId(embedder_root->id())), |
| 434 embed_window_id)); | 436 embed_window_id)); |
| 435 | 437 |
| 436 TestWindowTreeClient* embedder_client = wm_client(); | 438 TestWindowTreeClient* embedder_client = wm_client(); |
| 437 | 439 |
| 438 { | 440 { |
| 439 // Do a normal embed. | 441 // Do a normal embed. |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 475 ASSERT_EQ(1u, embedder_client->tracker()->changes()->size()); | 477 ASSERT_EQ(1u, embedder_client->tracker()->changes()->size()); |
| 476 EXPECT_EQ(CHANGE_TYPE_INPUT_EVENT, | 478 EXPECT_EQ(CHANGE_TYPE_INPUT_EVENT, |
| 477 (*embedder_client->tracker()->changes())[0].type); | 479 (*embedder_client->tracker()->changes())[0].type); |
| 478 WindowTreeTestApi(embedder_tree) | 480 WindowTreeTestApi(embedder_tree) |
| 479 .AckLastEvent(mojom::EventResult::UNHANDLED); | 481 .AckLastEvent(mojom::EventResult::UNHANDLED); |
| 480 embedder_client->tracker()->changes()->clear(); | 482 embedder_client->tracker()->changes()->clear(); |
| 481 | 483 |
| 482 // Embed another tree in the embedded tree. | 484 // Embed another tree in the embedded tree. |
| 483 const ClientWindowId nested_embed_window_id( | 485 const ClientWindowId nested_embed_window_id( |
| 484 WindowIdToTransportId(WindowId(embed_tree->id(), 23))); | 486 WindowIdToTransportId(WindowId(embed_tree->id(), 23))); |
| 485 embed_tree->NewWindow(nested_embed_window_id, ServerWindow::Properties()); | 487 embed_tree->NewWindow(nested_embed_window_id, ServerWindow::Properties(), |
| 488 cc::LocalFrameId()); |
| 486 const ClientWindowId embed_root_id( | 489 const ClientWindowId embed_root_id( |
| 487 WindowIdToTransportId((*embed_tree->roots().begin())->id())); | 490 WindowIdToTransportId((*embed_tree->roots().begin())->id())); |
| 488 ASSERT_TRUE(embed_tree->AddWindow(embed_root_id, nested_embed_window_id)); | 491 ASSERT_TRUE(embed_tree->AddWindow(embed_root_id, nested_embed_window_id)); |
| 489 | 492 |
| 490 WindowTree* nested_embed_tree = nullptr; | 493 WindowTree* nested_embed_tree = nullptr; |
| 491 TestWindowTreeClient* nested_embed_client_proxy = nullptr; | 494 TestWindowTreeClient* nested_embed_client_proxy = nullptr; |
| 492 EmbedAt(embed_tree, nested_embed_window_id, embed_flags, &nested_embed_tree, | 495 EmbedAt(embed_tree, nested_embed_window_id, embed_flags, &nested_embed_tree, |
| 493 &nested_embed_client_proxy); | 496 &nested_embed_client_proxy); |
| 494 ASSERT_TRUE(nested_embed_client_proxy); | 497 ASSERT_TRUE(nested_embed_client_proxy); |
| 495 embed_client_proxy->tracker()->changes()->clear(); | 498 embed_client_proxy->tracker()->changes()->clear(); |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 563 ASSERT_EQ(1u, tree->roots().size()); | 566 ASSERT_EQ(1u, tree->roots().size()); |
| 564 ClientWindowId root_client_id; | 567 ClientWindowId root_client_id; |
| 565 ASSERT_TRUE(tree->IsWindowKnown(*(tree->roots().begin()), &root_client_id)); | 568 ASSERT_TRUE(tree->IsWindowKnown(*(tree->roots().begin()), &root_client_id)); |
| 566 EXPECT_TRUE(tree->DeleteWindow(root_client_id)); | 569 EXPECT_TRUE(tree->DeleteWindow(root_client_id)); |
| 567 window_server->DestroyTree(tree); | 570 window_server->DestroyTree(tree); |
| 568 } | 571 } |
| 569 | 572 |
| 570 } // namespace test | 573 } // namespace test |
| 571 } // namespace ws | 574 } // namespace ws |
| 572 } // namespace ui | 575 } // namespace ui |
| OLD | NEW |