Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(223)

Side by Side Diff: services/ui/ws/window_manager_state_unittest.cc

Issue 2645093003: [WIP] ScreenManager: Add an external window mode (Closed)
Patch Set: Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 531 matching lines...) Expand 10 before | Expand all | Expand 10 after
542 WindowTreeTestApi(window_tree()).AckLastEvent(mojom::EventResult::UNHANDLED); 542 WindowTreeTestApi(window_tree()).AckLastEvent(mojom::EventResult::UNHANDLED);
543 EXPECT_FALSE(window_manager()->on_accelerator_called()); 543 EXPECT_FALSE(window_manager()->on_accelerator_called());
544 } 544 }
545 545
546 // Verifies there is no crash if the WindowTree of a window manager is destroyed 546 // Verifies there is no crash if the WindowTree of a window manager is destroyed
547 // with no roots. 547 // with no roots.
548 TEST(WindowManagerStateShutdownTest, DestroyTreeBeforeDisplay) { 548 TEST(WindowManagerStateShutdownTest, DestroyTreeBeforeDisplay) {
549 WindowServerTestHelper ws_test_helper; 549 WindowServerTestHelper ws_test_helper;
550 WindowServer* window_server = ws_test_helper.window_server(); 550 WindowServer* window_server = ws_test_helper.window_server();
551 TestScreenManager screen_manager; 551 TestScreenManager screen_manager;
552 screen_manager.Init(window_server->display_manager()); 552 screen_manager.Init(window_server->display_manager(),
553 display::ScreenManager::WINDOW_MODE_INTERNAL);
553 screen_manager.AddDisplay(); 554 screen_manager.AddDisplay();
554 const UserId kUserId1 = "2"; 555 const UserId kUserId1 = "2";
555 AddWindowManager(window_server, kUserId1); 556 AddWindowManager(window_server, kUserId1);
556 ASSERT_EQ(1u, window_server->display_manager()->displays().size()); 557 ASSERT_EQ(1u, window_server->display_manager()->displays().size());
557 Display* display = *(window_server->display_manager()->displays().begin()); 558 Display* display = *(window_server->display_manager()->displays().begin());
558 WindowManagerDisplayRoot* window_manager_display_root = 559 WindowManagerDisplayRoot* window_manager_display_root =
559 display->GetWindowManagerDisplayRootForUser(kUserId1); 560 display->GetWindowManagerDisplayRootForUser(kUserId1);
560 ASSERT_TRUE(window_manager_display_root); 561 ASSERT_TRUE(window_manager_display_root);
561 WindowTree* tree = 562 WindowTree* tree =
562 window_manager_display_root->window_manager_state()->window_tree(); 563 window_manager_display_root->window_manager_state()->window_tree();
563 ASSERT_EQ(1u, tree->roots().size()); 564 ASSERT_EQ(1u, tree->roots().size());
564 ClientWindowId root_client_id; 565 ClientWindowId root_client_id;
565 ASSERT_TRUE(tree->IsWindowKnown(*(tree->roots().begin()), &root_client_id)); 566 ASSERT_TRUE(tree->IsWindowKnown(*(tree->roots().begin()), &root_client_id));
566 EXPECT_TRUE(tree->DeleteWindow(root_client_id)); 567 EXPECT_TRUE(tree->DeleteWindow(root_client_id));
567 window_server->DestroyTree(tree); 568 window_server->DestroyTree(tree);
568 } 569 }
569 570
570 } // namespace test 571 } // namespace test
571 } // namespace ws 572 } // namespace ws
572 } // namespace ui 573 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698