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

Side by Side Diff: components/exo/pointer_unittest.cc

Issue 1580033004: exo: Improve Maximize and Fullscreen support for ShellSurfaces. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add TODO Created 4 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
« no previous file with comments | « components/exo/keyboard_unittest.cc ('k') | components/exo/shell_surface.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/shell.h" 5 #include "ash/shell.h"
6 #include "components/exo/buffer.h" 6 #include "components/exo/buffer.h"
7 #include "components/exo/pointer.h" 7 #include "components/exo/pointer.h"
8 #include "components/exo/pointer_delegate.h" 8 #include "components/exo/pointer_delegate.h"
9 #include "components/exo/shell_surface.h" 9 #include "components/exo/shell_surface.h"
10 #include "components/exo/surface.h" 10 #include "components/exo/surface.h"
(...skipping 18 matching lines...) Expand all
29 MOCK_METHOD3(OnPointerEnter, void(Surface*, const gfx::Point&, int)); 29 MOCK_METHOD3(OnPointerEnter, void(Surface*, const gfx::Point&, int));
30 MOCK_METHOD1(OnPointerLeave, void(Surface*)); 30 MOCK_METHOD1(OnPointerLeave, void(Surface*));
31 MOCK_METHOD2(OnPointerMotion, void(base::TimeDelta, const gfx::Point&)); 31 MOCK_METHOD2(OnPointerMotion, void(base::TimeDelta, const gfx::Point&));
32 MOCK_METHOD3(OnPointerButton, void(base::TimeDelta, int, bool)); 32 MOCK_METHOD3(OnPointerButton, void(base::TimeDelta, int, bool));
33 MOCK_METHOD2(OnPointerWheel, void(base::TimeDelta, const gfx::Vector2d&)); 33 MOCK_METHOD2(OnPointerWheel, void(base::TimeDelta, const gfx::Vector2d&));
34 }; 34 };
35 35
36 TEST_F(PointerTest, OnPointerEnter) { 36 TEST_F(PointerTest, OnPointerEnter) {
37 scoped_ptr<Surface> surface(new Surface); 37 scoped_ptr<Surface> surface(new Surface);
38 scoped_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get())); 38 scoped_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get()));
39 shell_surface->SetToplevel(); 39 shell_surface->Init();
40 gfx::Size buffer_size(10, 10); 40 gfx::Size buffer_size(10, 10);
41 scoped_ptr<Buffer> buffer(new Buffer( 41 scoped_ptr<Buffer> buffer(new Buffer(
42 exo_test_helper()->CreateGpuMemoryBuffer(buffer_size), GL_TEXTURE_2D)); 42 exo_test_helper()->CreateGpuMemoryBuffer(buffer_size), GL_TEXTURE_2D));
43 surface->Attach(buffer.get()); 43 surface->Attach(buffer.get());
44 surface->Commit(); 44 surface->Commit();
45 45
46 MockPointerDelegate delegate; 46 MockPointerDelegate delegate;
47 scoped_ptr<Pointer> pointer(new Pointer(&delegate)); 47 scoped_ptr<Pointer> pointer(new Pointer(&delegate));
48 ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow()); 48 ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow());
49 49
50 EXPECT_CALL(delegate, CanAcceptPointerEventsForSurface(surface.get())) 50 EXPECT_CALL(delegate, CanAcceptPointerEventsForSurface(surface.get()))
51 .WillRepeatedly(testing::Return(true)); 51 .WillRepeatedly(testing::Return(true));
52 EXPECT_CALL(delegate, OnPointerEnter(surface.get(), gfx::Point(), 0)); 52 EXPECT_CALL(delegate, OnPointerEnter(surface.get(), gfx::Point(), 0));
53 generator.MoveMouseTo(surface->GetBoundsInScreen().origin()); 53 generator.MoveMouseTo(surface->GetBoundsInScreen().origin());
54 54
55 EXPECT_CALL(delegate, OnPointerDestroying(pointer.get())); 55 EXPECT_CALL(delegate, OnPointerDestroying(pointer.get()));
56 pointer.reset(); 56 pointer.reset();
57 } 57 }
58 58
59 TEST_F(PointerTest, OnPointerLeave) { 59 TEST_F(PointerTest, OnPointerLeave) {
60 scoped_ptr<Surface> surface(new Surface); 60 scoped_ptr<Surface> surface(new Surface);
61 scoped_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get())); 61 scoped_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get()));
62 shell_surface->SetToplevel(); 62 shell_surface->Init();
63 gfx::Size buffer_size(10, 10); 63 gfx::Size buffer_size(10, 10);
64 scoped_ptr<Buffer> buffer(new Buffer( 64 scoped_ptr<Buffer> buffer(new Buffer(
65 exo_test_helper()->CreateGpuMemoryBuffer(buffer_size), GL_TEXTURE_2D)); 65 exo_test_helper()->CreateGpuMemoryBuffer(buffer_size), GL_TEXTURE_2D));
66 surface->Attach(buffer.get()); 66 surface->Attach(buffer.get());
67 surface->Commit(); 67 surface->Commit();
68 68
69 MockPointerDelegate delegate; 69 MockPointerDelegate delegate;
70 scoped_ptr<Pointer> pointer(new Pointer(&delegate)); 70 scoped_ptr<Pointer> pointer(new Pointer(&delegate));
71 ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow()); 71 ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow());
72 72
73 EXPECT_CALL(delegate, CanAcceptPointerEventsForSurface(surface.get())) 73 EXPECT_CALL(delegate, CanAcceptPointerEventsForSurface(surface.get()))
74 .WillRepeatedly(testing::Return(true)); 74 .WillRepeatedly(testing::Return(true));
75 EXPECT_CALL(delegate, OnPointerEnter(surface.get(), gfx::Point(), 0)); 75 EXPECT_CALL(delegate, OnPointerEnter(surface.get(), gfx::Point(), 0));
76 generator.MoveMouseTo(surface->GetBoundsInScreen().origin()); 76 generator.MoveMouseTo(surface->GetBoundsInScreen().origin());
77 77
78 EXPECT_CALL(delegate, OnPointerLeave(surface.get())); 78 EXPECT_CALL(delegate, OnPointerLeave(surface.get()));
79 generator.MoveMouseTo(surface->GetBoundsInScreen().bottom_right()); 79 generator.MoveMouseTo(surface->GetBoundsInScreen().bottom_right());
80 80
81 EXPECT_CALL(delegate, OnPointerDestroying(pointer.get())); 81 EXPECT_CALL(delegate, OnPointerDestroying(pointer.get()));
82 pointer.reset(); 82 pointer.reset();
83 } 83 }
84 84
85 TEST_F(PointerTest, OnPointerMotion) { 85 TEST_F(PointerTest, OnPointerMotion) {
86 scoped_ptr<Surface> surface(new Surface); 86 scoped_ptr<Surface> surface(new Surface);
87 scoped_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get())); 87 scoped_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get()));
88 shell_surface->SetToplevel(); 88 shell_surface->Init();
89 gfx::Size buffer_size(10, 10); 89 gfx::Size buffer_size(10, 10);
90 scoped_ptr<Buffer> buffer(new Buffer( 90 scoped_ptr<Buffer> buffer(new Buffer(
91 exo_test_helper()->CreateGpuMemoryBuffer(buffer_size), GL_TEXTURE_2D)); 91 exo_test_helper()->CreateGpuMemoryBuffer(buffer_size), GL_TEXTURE_2D));
92 surface->Attach(buffer.get()); 92 surface->Attach(buffer.get());
93 surface->Commit(); 93 surface->Commit();
94 94
95 MockPointerDelegate delegate; 95 MockPointerDelegate delegate;
96 scoped_ptr<Pointer> pointer(new Pointer(&delegate)); 96 scoped_ptr<Pointer> pointer(new Pointer(&delegate));
97 ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow()); 97 ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow());
98 98
99 EXPECT_CALL(delegate, CanAcceptPointerEventsForSurface(surface.get())) 99 EXPECT_CALL(delegate, CanAcceptPointerEventsForSurface(surface.get()))
100 .WillRepeatedly(testing::Return(true)); 100 .WillRepeatedly(testing::Return(true));
101 EXPECT_CALL(delegate, OnPointerEnter(surface.get(), gfx::Point(), 0)); 101 EXPECT_CALL(delegate, OnPointerEnter(surface.get(), gfx::Point(), 0));
102 generator.MoveMouseTo(surface->GetBoundsInScreen().origin()); 102 generator.MoveMouseTo(surface->GetBoundsInScreen().origin());
103 103
104 EXPECT_CALL(delegate, OnPointerMotion(testing::_, gfx::Point(1, 1))); 104 EXPECT_CALL(delegate, OnPointerMotion(testing::_, gfx::Point(1, 1)));
105 generator.MoveMouseTo(surface->GetBoundsInScreen().origin() + 105 generator.MoveMouseTo(surface->GetBoundsInScreen().origin() +
106 gfx::Vector2d(1, 1)); 106 gfx::Vector2d(1, 1));
107 107
108 EXPECT_CALL(delegate, OnPointerDestroying(pointer.get())); 108 EXPECT_CALL(delegate, OnPointerDestroying(pointer.get()));
109 pointer.reset(); 109 pointer.reset();
110 } 110 }
111 111
112 TEST_F(PointerTest, OnPointerButton) { 112 TEST_F(PointerTest, OnPointerButton) {
113 scoped_ptr<Surface> surface(new Surface); 113 scoped_ptr<Surface> surface(new Surface);
114 scoped_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get())); 114 scoped_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get()));
115 shell_surface->SetToplevel(); 115 shell_surface->Init();
116 gfx::Size buffer_size(10, 10); 116 gfx::Size buffer_size(10, 10);
117 scoped_ptr<Buffer> buffer(new Buffer( 117 scoped_ptr<Buffer> buffer(new Buffer(
118 exo_test_helper()->CreateGpuMemoryBuffer(buffer_size), GL_TEXTURE_2D)); 118 exo_test_helper()->CreateGpuMemoryBuffer(buffer_size), GL_TEXTURE_2D));
119 surface->Attach(buffer.get()); 119 surface->Attach(buffer.get());
120 surface->Commit(); 120 surface->Commit();
121 121
122 MockPointerDelegate delegate; 122 MockPointerDelegate delegate;
123 scoped_ptr<Pointer> pointer(new Pointer(&delegate)); 123 scoped_ptr<Pointer> pointer(new Pointer(&delegate));
124 ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow()); 124 ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow());
125 125
126 EXPECT_CALL(delegate, CanAcceptPointerEventsForSurface(surface.get())) 126 EXPECT_CALL(delegate, CanAcceptPointerEventsForSurface(surface.get()))
127 .WillRepeatedly(testing::Return(true)); 127 .WillRepeatedly(testing::Return(true));
128 EXPECT_CALL(delegate, OnPointerEnter(surface.get(), gfx::Point(), 0)); 128 EXPECT_CALL(delegate, OnPointerEnter(surface.get(), gfx::Point(), 0));
129 generator.MoveMouseTo(surface->GetBoundsInScreen().origin()); 129 generator.MoveMouseTo(surface->GetBoundsInScreen().origin());
130 130
131 EXPECT_CALL(delegate, 131 EXPECT_CALL(delegate,
132 OnPointerButton(testing::_, ui::EF_LEFT_MOUSE_BUTTON, true)); 132 OnPointerButton(testing::_, ui::EF_LEFT_MOUSE_BUTTON, true));
133 EXPECT_CALL(delegate, 133 EXPECT_CALL(delegate,
134 OnPointerButton(testing::_, ui::EF_LEFT_MOUSE_BUTTON, false)); 134 OnPointerButton(testing::_, ui::EF_LEFT_MOUSE_BUTTON, false));
135 generator.ClickLeftButton(); 135 generator.ClickLeftButton();
136 136
137 EXPECT_CALL(delegate, OnPointerDestroying(pointer.get())); 137 EXPECT_CALL(delegate, OnPointerDestroying(pointer.get()));
138 pointer.reset(); 138 pointer.reset();
139 } 139 }
140 140
141 TEST_F(PointerTest, OnPointerWheel) { 141 TEST_F(PointerTest, OnPointerWheel) {
142 scoped_ptr<Surface> surface(new Surface); 142 scoped_ptr<Surface> surface(new Surface);
143 scoped_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get())); 143 scoped_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get()));
144 shell_surface->SetToplevel(); 144 shell_surface->Init();
145 gfx::Size buffer_size(10, 10); 145 gfx::Size buffer_size(10, 10);
146 scoped_ptr<Buffer> buffer(new Buffer( 146 scoped_ptr<Buffer> buffer(new Buffer(
147 exo_test_helper()->CreateGpuMemoryBuffer(buffer_size), GL_TEXTURE_2D)); 147 exo_test_helper()->CreateGpuMemoryBuffer(buffer_size), GL_TEXTURE_2D));
148 surface->Attach(buffer.get()); 148 surface->Attach(buffer.get());
149 surface->Commit(); 149 surface->Commit();
150 150
151 MockPointerDelegate delegate; 151 MockPointerDelegate delegate;
152 scoped_ptr<Pointer> pointer(new Pointer(&delegate)); 152 scoped_ptr<Pointer> pointer(new Pointer(&delegate));
153 ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow()); 153 ui::test::EventGenerator generator(ash::Shell::GetPrimaryRootWindow());
154 154
155 EXPECT_CALL(delegate, CanAcceptPointerEventsForSurface(surface.get())) 155 EXPECT_CALL(delegate, CanAcceptPointerEventsForSurface(surface.get()))
156 .WillRepeatedly(testing::Return(true)); 156 .WillRepeatedly(testing::Return(true));
157 EXPECT_CALL(delegate, OnPointerEnter(surface.get(), gfx::Point(), 0)); 157 EXPECT_CALL(delegate, OnPointerEnter(surface.get(), gfx::Point(), 0));
158 generator.MoveMouseTo(surface->GetBoundsInScreen().origin()); 158 generator.MoveMouseTo(surface->GetBoundsInScreen().origin());
159 159
160 EXPECT_CALL(delegate, OnPointerWheel(testing::_, gfx::Vector2d(1, 1))); 160 EXPECT_CALL(delegate, OnPointerWheel(testing::_, gfx::Vector2d(1, 1)));
161 generator.MoveMouseWheel(1, 1); 161 generator.MoveMouseWheel(1, 1);
162 162
163 EXPECT_CALL(delegate, OnPointerDestroying(pointer.get())); 163 EXPECT_CALL(delegate, OnPointerDestroying(pointer.get()));
164 pointer.reset(); 164 pointer.reset();
165 } 165 }
166 166
167 } // namespace 167 } // namespace
168 } // namespace exo 168 } // namespace exo
OLDNEW
« no previous file with comments | « components/exo/keyboard_unittest.cc ('k') | components/exo/shell_surface.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698