| 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/aura/wm_window_aura.h" |
| 5 #include "ash/common/shell_window_ids.h" | 6 #include "ash/common/shell_window_ids.h" |
| 6 #include "ash/common/wm/window_positioner.h" | 7 #include "ash/common/wm/window_positioner.h" |
| 8 #include "ash/common/wm/window_positioning_utils.h" |
| 7 #include "ash/common/wm_shell.h" | 9 #include "ash/common/wm_shell.h" |
| 8 #include "ash/shell.h" | 10 #include "ash/shell.h" |
| 9 #include "ash/wm/window_util.h" | |
| 10 #include "components/exo/buffer.h" | 11 #include "components/exo/buffer.h" |
| 11 #include "components/exo/shell_surface.h" | 12 #include "components/exo/shell_surface.h" |
| 12 #include "components/exo/surface.h" | 13 #include "components/exo/surface.h" |
| 13 #include "components/exo/test/exo_test_base.h" | 14 #include "components/exo/test/exo_test_base.h" |
| 14 #include "components/exo/test/exo_test_helper.h" | 15 #include "components/exo/test/exo_test_helper.h" |
| 15 #include "components/exo/touch.h" | 16 #include "components/exo/touch.h" |
| 16 #include "components/exo/touch_delegate.h" | 17 #include "components/exo/touch_delegate.h" |
| 17 #include "testing/gmock/include/gmock/gmock.h" | 18 #include "testing/gmock/include/gmock/gmock.h" |
| 18 #include "ui/events/base_event_utils.h" | 19 #include "ui/events/base_event_utils.h" |
| 19 #include "ui/events/test/event_generator.h" | 20 #include "ui/events/test/event_generator.h" |
| (...skipping 22 matching lines...) Expand all Loading... |
| 42 ash::WindowPositioner::DisableAutoPositioning(true); | 43 ash::WindowPositioner::DisableAutoPositioning(true); |
| 43 | 44 |
| 44 std::unique_ptr<Surface> bottom_surface(new Surface); | 45 std::unique_ptr<Surface> bottom_surface(new Surface); |
| 45 std::unique_ptr<ShellSurface> bottom_shell_surface( | 46 std::unique_ptr<ShellSurface> bottom_shell_surface( |
| 46 new ShellSurface(bottom_surface.get())); | 47 new ShellSurface(bottom_surface.get())); |
| 47 gfx::Size bottom_buffer_size(10, 10); | 48 gfx::Size bottom_buffer_size(10, 10); |
| 48 std::unique_ptr<Buffer> bottom_buffer( | 49 std::unique_ptr<Buffer> bottom_buffer( |
| 49 new Buffer(exo_test_helper()->CreateGpuMemoryBuffer(bottom_buffer_size))); | 50 new Buffer(exo_test_helper()->CreateGpuMemoryBuffer(bottom_buffer_size))); |
| 50 bottom_surface->Attach(bottom_buffer.get()); | 51 bottom_surface->Attach(bottom_buffer.get()); |
| 51 bottom_surface->Commit(); | 52 bottom_surface->Commit(); |
| 52 ash::wm::CenterWindow(bottom_shell_surface->GetWidget()->GetNativeWindow()); | 53 ash::wm::CenterWindow(ash::WmWindowAura::Get( |
| 54 bottom_shell_surface->GetWidget()->GetNativeWindow())); |
| 53 | 55 |
| 54 std::unique_ptr<Surface> top_surface(new Surface); | 56 std::unique_ptr<Surface> top_surface(new Surface); |
| 55 std::unique_ptr<ShellSurface> top_shell_surface( | 57 std::unique_ptr<ShellSurface> top_shell_surface( |
| 56 new ShellSurface(top_surface.get())); | 58 new ShellSurface(top_surface.get())); |
| 57 gfx::Size top_buffer_size(8, 8); | 59 gfx::Size top_buffer_size(8, 8); |
| 58 std::unique_ptr<Buffer> top_buffer( | 60 std::unique_ptr<Buffer> top_buffer( |
| 59 new Buffer(exo_test_helper()->CreateGpuMemoryBuffer(top_buffer_size))); | 61 new Buffer(exo_test_helper()->CreateGpuMemoryBuffer(top_buffer_size))); |
| 60 top_surface->Attach(top_buffer.get()); | 62 top_surface->Attach(top_buffer.get()); |
| 61 top_surface->Commit(); | 63 top_surface->Commit(); |
| 62 ash::wm::CenterWindow(top_shell_surface->GetWidget()->GetNativeWindow()); | 64 ash::wm::CenterWindow(ash::WmWindowAura::Get( |
| 65 top_shell_surface->GetWidget()->GetNativeWindow())); |
| 63 | 66 |
| 64 MockTouchDelegate delegate; | 67 MockTouchDelegate delegate; |
| 65 std::unique_ptr<Touch> touch(new Touch(&delegate)); | 68 std::unique_ptr<Touch> touch(new Touch(&delegate)); |
| 66 ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow()); | 69 ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow()); |
| 67 | 70 |
| 68 EXPECT_CALL(delegate, CanAcceptTouchEventsForSurface(top_surface.get())) | 71 EXPECT_CALL(delegate, CanAcceptTouchEventsForSurface(top_surface.get())) |
| 69 .WillRepeatedly(testing::Return(true)); | 72 .WillRepeatedly(testing::Return(true)); |
| 70 EXPECT_CALL(delegate, | 73 EXPECT_CALL(delegate, |
| 71 OnTouchDown(top_surface.get(), testing::_, 1, gfx::Point())); | 74 OnTouchDown(top_surface.get(), testing::_, 1, gfx::Point())); |
| 72 generator.set_current_location( | 75 generator.set_current_location( |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 205 | 208 |
| 206 // Create surface for modal window. | 209 // Create surface for modal window. |
| 207 std::unique_ptr<Surface> surface2(new Surface); | 210 std::unique_ptr<Surface> surface2(new Surface); |
| 208 std::unique_ptr<ShellSurface> shell_surface2( | 211 std::unique_ptr<ShellSurface> shell_surface2( |
| 209 new ShellSurface(surface2.get(), nullptr, gfx::Rect(0, 0, 5, 5), true, | 212 new ShellSurface(surface2.get(), nullptr, gfx::Rect(0, 0, 5, 5), true, |
| 210 ash::kShellWindowId_SystemModalContainer)); | 213 ash::kShellWindowId_SystemModalContainer)); |
| 211 std::unique_ptr<Buffer> buffer2( | 214 std::unique_ptr<Buffer> buffer2( |
| 212 new Buffer(exo_test_helper()->CreateGpuMemoryBuffer(gfx::Size(5, 5)))); | 215 new Buffer(exo_test_helper()->CreateGpuMemoryBuffer(gfx::Size(5, 5)))); |
| 213 surface2->Attach(buffer2.get()); | 216 surface2->Attach(buffer2.get()); |
| 214 surface2->Commit(); | 217 surface2->Commit(); |
| 215 ash::wm::CenterWindow(surface2->window()); | 218 ash::wm::CenterWindow(ash::WmWindowAura::Get(surface2->window())); |
| 216 gfx::Point location2 = surface2->window()->GetBoundsInScreen().origin(); | 219 gfx::Point location2 = surface2->window()->GetBoundsInScreen().origin(); |
| 217 | 220 |
| 218 // Make the window modal. | 221 // Make the window modal. |
| 219 shell_surface2->SetSystemModal(true); | 222 shell_surface2->SetSystemModal(true); |
| 220 EXPECT_TRUE(ash::WmShell::Get()->IsSystemModalWindowOpen()); | 223 EXPECT_TRUE(ash::WmShell::Get()->IsSystemModalWindowOpen()); |
| 221 | 224 |
| 222 EXPECT_CALL(delegate, CanAcceptTouchEventsForSurface(surface.get())) | 225 EXPECT_CALL(delegate, CanAcceptTouchEventsForSurface(surface.get())) |
| 223 .WillRepeatedly(testing::Return(true)); | 226 .WillRepeatedly(testing::Return(true)); |
| 224 EXPECT_CALL(delegate, CanAcceptTouchEventsForSurface(surface2.get())) | 227 EXPECT_CALL(delegate, CanAcceptTouchEventsForSurface(surface2.get())) |
| 225 .WillRepeatedly(testing::Return(true)); | 228 .WillRepeatedly(testing::Return(true)); |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 265 } | 268 } |
| 266 generator.set_current_location(location); | 269 generator.set_current_location(location); |
| 267 generator.PressMoveAndReleaseTouchBy(1, 1); | 270 generator.PressMoveAndReleaseTouchBy(1, 1); |
| 268 | 271 |
| 269 EXPECT_CALL(delegate, OnTouchDestroying(touch.get())); | 272 EXPECT_CALL(delegate, OnTouchDestroying(touch.get())); |
| 270 touch.reset(); | 273 touch.reset(); |
| 271 } | 274 } |
| 272 | 275 |
| 273 } // namespace | 276 } // namespace |
| 274 } // namespace exo | 277 } // namespace exo |
| OLD | NEW |