Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "ash/common/accessibility_delegate.h" | 5 #include "ash/common/accessibility_delegate.h" |
| 6 #include "ash/common/wm/window_state.h" | 6 #include "ash/common/wm/window_state.h" |
| 7 #include "ash/common/wm/wm_event.h" | 7 #include "ash/common/wm/wm_event.h" |
| 8 #include "ash/common/wm_shell.h" | 8 #include "ash/common/wm_shell.h" |
| 9 #include "ash/common/wm_window.h" | 9 #include "ash/common/wm_window.h" |
| 10 #include "ash/public/cpp/shell_window_ids.h" | 10 #include "ash/public/cpp/shell_window_ids.h" |
| (...skipping 452 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 463 EXPECT_FALSE(ash::WmShell::Get()->IsSystemModalWindowOpen()); | 463 EXPECT_FALSE(ash::WmShell::Get()->IsSystemModalWindowOpen()); |
| 464 | 464 |
| 465 // Only SetSystemModal changes modality. | 465 // Only SetSystemModal changes modality. |
| 466 shell_surface->SetSystemModal(true); | 466 shell_surface->SetSystemModal(true); |
| 467 EXPECT_TRUE(ash::WmShell::Get()->IsSystemModalWindowOpen()); | 467 EXPECT_TRUE(ash::WmShell::Get()->IsSystemModalWindowOpen()); |
| 468 | 468 |
| 469 shell_surface->SetSystemModal(false); | 469 shell_surface->SetSystemModal(false); |
| 470 EXPECT_FALSE(ash::WmShell::Get()->IsSystemModalWindowOpen()); | 470 EXPECT_FALSE(ash::WmShell::Get()->IsSystemModalWindowOpen()); |
| 471 } | 471 } |
| 472 | 472 |
| 473 TEST_F(ShellSurfaceTest, ModalWindowInitializedBeforeCommit) { | |
|
reveman
2017/03/11 00:45:09
nit: s/Initialized/SetSystemModal/
khmel
2017/03/11 01:33:32
Done.
| |
| 474 std::unique_ptr<Surface> surface(new Surface); | |
| 475 std::unique_ptr<ShellSurface> shell_surface(new ShellSurface( | |
| 476 surface.get(), nullptr, ShellSurface::BoundsMode::SHELL, gfx::Point(), | |
| 477 true, false, ash::kShellWindowId_SystemModalContainer)); | |
| 478 gfx::Size desktop_size(640, 480); | |
| 479 std::unique_ptr<Buffer> desktop_buffer( | |
| 480 new Buffer(exo_test_helper()->CreateGpuMemoryBuffer(desktop_size))); | |
| 481 surface->Attach(desktop_buffer.get()); | |
| 482 surface->SetInputRegion(SkRegion()); | |
| 483 | |
| 484 // Set SetSystemModal before any commit happens. Widget is not created at | |
| 485 // this time. | |
| 486 EXPECT_FALSE(shell_surface->GetWidget()); | |
| 487 shell_surface->SetSystemModal(true); | |
| 488 | |
| 489 surface->Commit(); | |
| 490 | |
| 491 // It is expected that modal window is shown. | |
| 492 EXPECT_TRUE(shell_surface->GetWidget()); | |
| 493 EXPECT_TRUE(ash::WmShell::Get()->IsSystemModalWindowOpen()); | |
| 494 | |
| 495 // Now widget is created and setting modal state should be applied | |
| 496 // immediately. | |
| 497 shell_surface->SetSystemModal(false); | |
| 498 EXPECT_FALSE(ash::WmShell::Get()->IsSystemModalWindowOpen()); | |
| 499 } | |
| 500 | |
| 473 TEST_F(ShellSurfaceTest, PopupWindow) { | 501 TEST_F(ShellSurfaceTest, PopupWindow) { |
| 474 Surface parent_surface; | 502 Surface parent_surface; |
| 475 ShellSurface parent(&parent_surface); | 503 ShellSurface parent(&parent_surface); |
| 476 const gfx::Rect parent_bounds(100, 100, 300, 300); | 504 const gfx::Rect parent_bounds(100, 100, 300, 300); |
| 477 | 505 |
| 478 Buffer parent_buffer( | 506 Buffer parent_buffer( |
| 479 exo_test_helper()->CreateGpuMemoryBuffer(parent_bounds.size())); | 507 exo_test_helper()->CreateGpuMemoryBuffer(parent_bounds.size())); |
| 480 parent_surface.Attach(&parent_buffer); | 508 parent_surface.Attach(&parent_buffer); |
| 481 parent_surface.Commit(); | 509 parent_surface.Commit(); |
| 482 | 510 |
| (...skipping 460 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 943 shell_surface.OnAccessibilityModeChanged(); | 971 shell_surface.OnAccessibilityModeChanged(); |
| 944 shell_surface2.OnAccessibilityModeChanged(); | 972 shell_surface2.OnAccessibilityModeChanged(); |
| 945 | 973 |
| 946 EXPECT_TRUE(shell_surface.shadow_underlay()->IsVisible()); | 974 EXPECT_TRUE(shell_surface.shadow_underlay()->IsVisible()); |
| 947 EXPECT_EQ(shadow_bounds, shell_surface.shadow_underlay()->bounds()); | 975 EXPECT_EQ(shadow_bounds, shell_surface.shadow_underlay()->bounds()); |
| 948 EXPECT_EQ(shadow_bounds, shell_surface2.shadow_underlay()->bounds()); | 976 EXPECT_EQ(shadow_bounds, shell_surface2.shadow_underlay()->bounds()); |
| 949 } | 977 } |
| 950 | 978 |
| 951 } // namespace | 979 } // namespace |
| 952 } // namespace exo | 980 } // namespace exo |
| OLD | NEW |