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

Side by Side Diff: ash/wm/workspace/multi_window_resize_controller_unittest.cc

Issue 1867223004: Convert //ash from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address comments Created 4 years, 8 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/wm/workspace/multi_window_resize_controller.h" 5 #include "ash/wm/workspace/multi_window_resize_controller.h"
6 6
7 #include "ash/ash_constants.h" 7 #include "ash/ash_constants.h"
8 #include "ash/frame/custom_frame_view_ash.h" 8 #include "ash/frame/custom_frame_view_ash.h"
9 #include "ash/shell.h" 9 #include "ash/shell.h"
10 #include "ash/test/ash_test_base.h" 10 #include "ash/test/ash_test_base.h"
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 115
116 MultiWindowResizeController* resize_controller_; 116 MultiWindowResizeController* resize_controller_;
117 117
118 private: 118 private:
119 DISALLOW_COPY_AND_ASSIGN(MultiWindowResizeControllerTest); 119 DISALLOW_COPY_AND_ASSIGN(MultiWindowResizeControllerTest);
120 }; 120 };
121 121
122 // Assertions around moving mouse over 2 windows. 122 // Assertions around moving mouse over 2 windows.
123 TEST_F(MultiWindowResizeControllerTest, BasicTests) { 123 TEST_F(MultiWindowResizeControllerTest, BasicTests) {
124 aura::test::TestWindowDelegate delegate1; 124 aura::test::TestWindowDelegate delegate1;
125 scoped_ptr<aura::Window> w1( 125 std::unique_ptr<aura::Window> w1(
126 CreateTestWindow(&delegate1, gfx::Rect(0, 0, 100, 100))); 126 CreateTestWindow(&delegate1, gfx::Rect(0, 0, 100, 100)));
127 delegate1.set_window_component(HTRIGHT); 127 delegate1.set_window_component(HTRIGHT);
128 aura::test::TestWindowDelegate delegate2; 128 aura::test::TestWindowDelegate delegate2;
129 scoped_ptr<aura::Window> w2( 129 std::unique_ptr<aura::Window> w2(
130 CreateTestWindow(&delegate2, gfx::Rect(100, 0, 100, 100))); 130 CreateTestWindow(&delegate2, gfx::Rect(100, 0, 100, 100)));
131 delegate2.set_window_component(HTRIGHT); 131 delegate2.set_window_component(HTRIGHT);
132 ui::test::EventGenerator generator(w1->GetRootWindow()); 132 ui::test::EventGenerator generator(w1->GetRootWindow());
133 generator.MoveMouseTo(w1->bounds().CenterPoint()); 133 generator.MoveMouseTo(w1->bounds().CenterPoint());
134 EXPECT_TRUE(HasPendingShow()); 134 EXPECT_TRUE(HasPendingShow());
135 EXPECT_TRUE(IsShowing()); 135 EXPECT_TRUE(IsShowing());
136 136
137 // Force a show now. 137 // Force a show now.
138 ShowNow(); 138 ShowNow();
139 EXPECT_FALSE(HasPendingShow()); 139 EXPECT_FALSE(HasPendingShow());
140 EXPECT_TRUE(IsShowing()); 140 EXPECT_TRUE(IsShowing());
141 141
142 EXPECT_FALSE(IsOverWindows(gfx::Point(200, 200))); 142 EXPECT_FALSE(IsOverWindows(gfx::Point(200, 200)));
143 143
144 // Have to explicitly invoke this as MouseWatcher listens for native events. 144 // Have to explicitly invoke this as MouseWatcher listens for native events.
145 resize_controller_->MouseMovedOutOfHost(); 145 resize_controller_->MouseMovedOutOfHost();
146 EXPECT_FALSE(HasPendingShow()); 146 EXPECT_FALSE(HasPendingShow());
147 EXPECT_FALSE(IsShowing()); 147 EXPECT_FALSE(IsShowing());
148 } 148 }
149 149
150 // Test the behavior of IsOverWindows(). 150 // Test the behavior of IsOverWindows().
151 TEST_F(MultiWindowResizeControllerTest, IsOverWindows) { 151 TEST_F(MultiWindowResizeControllerTest, IsOverWindows) {
152 // Create the following layout: 152 // Create the following layout:
153 // __________________ 153 // __________________
154 // | w1 | w2 | 154 // | w1 | w2 |
155 // | |________| 155 // | |________|
156 // | | w3 | 156 // | | w3 |
157 // |________|________| 157 // |________|________|
158 scoped_ptr<views::Widget> w1(new views::Widget); 158 std::unique_ptr<views::Widget> w1(new views::Widget);
159 views::Widget::InitParams params1; 159 views::Widget::InitParams params1;
160 params1.delegate = new TestWidgetDelegate; 160 params1.delegate = new TestWidgetDelegate;
161 params1.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; 161 params1.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
162 params1.bounds = gfx::Rect(100, 200); 162 params1.bounds = gfx::Rect(100, 200);
163 params1.context = CurrentContext(); 163 params1.context = CurrentContext();
164 w1->Init(params1); 164 w1->Init(params1);
165 w1->Show(); 165 w1->Show();
166 166
167 scoped_ptr<views::Widget> w2(new views::Widget); 167 std::unique_ptr<views::Widget> w2(new views::Widget);
168 views::Widget::InitParams params2; 168 views::Widget::InitParams params2;
169 params2.delegate = new TestWidgetDelegate; 169 params2.delegate = new TestWidgetDelegate;
170 params2.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; 170 params2.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
171 params2.bounds = gfx::Rect(100, 0, 100, 100); 171 params2.bounds = gfx::Rect(100, 0, 100, 100);
172 params2.context = CurrentContext(); 172 params2.context = CurrentContext();
173 w2->Init(params2); 173 w2->Init(params2);
174 w2->Show(); 174 w2->Show();
175 175
176 scoped_ptr<views::Widget> w3(new views::Widget); 176 std::unique_ptr<views::Widget> w3(new views::Widget);
177 views::Widget::InitParams params3; 177 views::Widget::InitParams params3;
178 params3.delegate = new TestWidgetDelegate; 178 params3.delegate = new TestWidgetDelegate;
179 params3.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; 179 params3.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
180 params3.bounds = gfx::Rect(100, 100, 100, 100); 180 params3.bounds = gfx::Rect(100, 100, 100, 100);
181 params3.context = CurrentContext(); 181 params3.context = CurrentContext();
182 w3->Init(params3); 182 w3->Init(params3);
183 w3->Show(); 183 w3->Show();
184 184
185 ui::test::EventGenerator& generator = GetEventGenerator(); 185 ui::test::EventGenerator& generator = GetEventGenerator();
186 generator.MoveMouseTo(gfx::Point(100, 150)); 186 generator.MoveMouseTo(gfx::Point(100, 150));
(...skipping 29 matching lines...) Expand all
216 EXPECT_FALSE(IsOverWindows(gfx::Point(100 + kResizeOutsideBoundsSize, 150))); 216 EXPECT_FALSE(IsOverWindows(gfx::Point(100 + kResizeOutsideBoundsSize, 150)));
217 217
218 // Check that the multi-window resize handles eventually hide if the mouse 218 // Check that the multi-window resize handles eventually hide if the mouse
219 // moves between |w1| and |w2|. 219 // moves between |w1| and |w2|.
220 EXPECT_FALSE(IsOverWindows(gfx::Point(100, 50))); 220 EXPECT_FALSE(IsOverWindows(gfx::Point(100, 50)));
221 } 221 }
222 222
223 // Makes sure deleting a window hides. 223 // Makes sure deleting a window hides.
224 TEST_F(MultiWindowResizeControllerTest, DeleteWindow) { 224 TEST_F(MultiWindowResizeControllerTest, DeleteWindow) {
225 aura::test::TestWindowDelegate delegate1; 225 aura::test::TestWindowDelegate delegate1;
226 scoped_ptr<aura::Window> w1( 226 std::unique_ptr<aura::Window> w1(
227 CreateTestWindow(&delegate1, gfx::Rect(0, 0, 100, 100))); 227 CreateTestWindow(&delegate1, gfx::Rect(0, 0, 100, 100)));
228 delegate1.set_window_component(HTRIGHT); 228 delegate1.set_window_component(HTRIGHT);
229 aura::test::TestWindowDelegate delegate2; 229 aura::test::TestWindowDelegate delegate2;
230 scoped_ptr<aura::Window> w2( 230 std::unique_ptr<aura::Window> w2(
231 CreateTestWindow(&delegate2, gfx::Rect(100, 0, 100, 100))); 231 CreateTestWindow(&delegate2, gfx::Rect(100, 0, 100, 100)));
232 delegate2.set_window_component(HTRIGHT); 232 delegate2.set_window_component(HTRIGHT);
233 ui::test::EventGenerator generator(w1->GetRootWindow()); 233 ui::test::EventGenerator generator(w1->GetRootWindow());
234 generator.MoveMouseTo(w1->bounds().CenterPoint()); 234 generator.MoveMouseTo(w1->bounds().CenterPoint());
235 EXPECT_TRUE(HasPendingShow()); 235 EXPECT_TRUE(HasPendingShow());
236 EXPECT_TRUE(IsShowing()); 236 EXPECT_TRUE(IsShowing());
237 237
238 // Force a show now. 238 // Force a show now.
239 ShowNow(); 239 ShowNow();
240 EXPECT_FALSE(HasPendingShow()); 240 EXPECT_FALSE(HasPendingShow());
(...skipping 14 matching lines...) Expand all
255 w2.reset(); 255 w2.reset();
256 EXPECT_TRUE(resize_widget() == NULL); 256 EXPECT_TRUE(resize_widget() == NULL);
257 EXPECT_FALSE(HasPendingShow()); 257 EXPECT_FALSE(HasPendingShow());
258 EXPECT_FALSE(IsShowing()); 258 EXPECT_FALSE(IsShowing());
259 EXPECT_FALSE(HasTarget(w1.get())); 259 EXPECT_FALSE(HasTarget(w1.get()));
260 } 260 }
261 261
262 // Tests resizing. 262 // Tests resizing.
263 TEST_F(MultiWindowResizeControllerTest, Drag) { 263 TEST_F(MultiWindowResizeControllerTest, Drag) {
264 aura::test::TestWindowDelegate delegate1; 264 aura::test::TestWindowDelegate delegate1;
265 scoped_ptr<aura::Window> w1( 265 std::unique_ptr<aura::Window> w1(
266 CreateTestWindow(&delegate1, gfx::Rect(0, 0, 100, 100))); 266 CreateTestWindow(&delegate1, gfx::Rect(0, 0, 100, 100)));
267 delegate1.set_window_component(HTRIGHT); 267 delegate1.set_window_component(HTRIGHT);
268 aura::test::TestWindowDelegate delegate2; 268 aura::test::TestWindowDelegate delegate2;
269 scoped_ptr<aura::Window> w2( 269 std::unique_ptr<aura::Window> w2(
270 CreateTestWindow(&delegate2, gfx::Rect(100, 0, 100, 100))); 270 CreateTestWindow(&delegate2, gfx::Rect(100, 0, 100, 100)));
271 delegate2.set_window_component(HTRIGHT); 271 delegate2.set_window_component(HTRIGHT);
272 ui::test::EventGenerator generator(w1->GetRootWindow()); 272 ui::test::EventGenerator generator(w1->GetRootWindow());
273 generator.MoveMouseTo(w1->bounds().CenterPoint()); 273 generator.MoveMouseTo(w1->bounds().CenterPoint());
274 EXPECT_TRUE(HasPendingShow()); 274 EXPECT_TRUE(HasPendingShow());
275 EXPECT_TRUE(IsShowing()); 275 EXPECT_TRUE(IsShowing());
276 276
277 // Force a show now. 277 // Force a show now.
278 ShowNow(); 278 ShowNow();
279 EXPECT_FALSE(HasPendingShow()); 279 EXPECT_FALSE(HasPendingShow());
(...skipping 14 matching lines...) Expand all
294 EXPECT_TRUE(resize_widget()); 294 EXPECT_TRUE(resize_widget());
295 EXPECT_FALSE(HasPendingShow()); 295 EXPECT_FALSE(HasPendingShow());
296 EXPECT_TRUE(IsShowing()); 296 EXPECT_TRUE(IsShowing());
297 EXPECT_EQ("0,0 110x100", w1->bounds().ToString()); 297 EXPECT_EQ("0,0 110x100", w1->bounds().ToString());
298 EXPECT_EQ("110,0 100x100", w2->bounds().ToString()); 298 EXPECT_EQ("110,0 100x100", w2->bounds().ToString());
299 } 299 }
300 300
301 // Makes sure three windows are picked up. 301 // Makes sure three windows are picked up.
302 TEST_F(MultiWindowResizeControllerTest, Three) { 302 TEST_F(MultiWindowResizeControllerTest, Three) {
303 aura::test::TestWindowDelegate delegate1; 303 aura::test::TestWindowDelegate delegate1;
304 scoped_ptr<aura::Window> w1( 304 std::unique_ptr<aura::Window> w1(
305 CreateTestWindow(&delegate1, gfx::Rect(0, 0, 100, 100))); 305 CreateTestWindow(&delegate1, gfx::Rect(0, 0, 100, 100)));
306 delegate1.set_window_component(HTRIGHT); 306 delegate1.set_window_component(HTRIGHT);
307 aura::test::TestWindowDelegate delegate2; 307 aura::test::TestWindowDelegate delegate2;
308 scoped_ptr<aura::Window> w2( 308 std::unique_ptr<aura::Window> w2(
309 CreateTestWindow(&delegate2, gfx::Rect(100, 0, 100, 100))); 309 CreateTestWindow(&delegate2, gfx::Rect(100, 0, 100, 100)));
310 delegate2.set_window_component(HTRIGHT); 310 delegate2.set_window_component(HTRIGHT);
311 aura::test::TestWindowDelegate delegate3; 311 aura::test::TestWindowDelegate delegate3;
312 scoped_ptr<aura::Window> w3( 312 std::unique_ptr<aura::Window> w3(
313 CreateTestWindow(&delegate3, gfx::Rect(200, 0, 100, 100))); 313 CreateTestWindow(&delegate3, gfx::Rect(200, 0, 100, 100)));
314 delegate3.set_window_component(HTRIGHT); 314 delegate3.set_window_component(HTRIGHT);
315 315
316 ui::test::EventGenerator generator(w1->GetRootWindow()); 316 ui::test::EventGenerator generator(w1->GetRootWindow());
317 generator.MoveMouseTo(w1->bounds().CenterPoint()); 317 generator.MoveMouseTo(w1->bounds().CenterPoint());
318 EXPECT_TRUE(HasPendingShow()); 318 EXPECT_TRUE(HasPendingShow());
319 EXPECT_TRUE(IsShowing()); 319 EXPECT_TRUE(IsShowing());
320 EXPECT_FALSE(HasTarget(w3.get())); 320 EXPECT_FALSE(HasTarget(w3.get()));
321 321
322 ShowNow(); 322 ShowNow();
(...skipping 11 matching lines...) Expand all
334 // Release the mouse. The resizer should still be visible and a subsequent 334 // Release the mouse. The resizer should still be visible and a subsequent
335 // press should not trigger a DCHECK. 335 // press should not trigger a DCHECK.
336 generator.ReleaseLeftButton(); 336 generator.ReleaseLeftButton();
337 EXPECT_TRUE(IsShowing()); 337 EXPECT_TRUE(IsShowing());
338 generator.PressLeftButton(); 338 generator.PressLeftButton();
339 } 339 }
340 340
341 // Tests that clicking outside of the resize handle dismisses it. 341 // Tests that clicking outside of the resize handle dismisses it.
342 TEST_F(MultiWindowResizeControllerTest, ClickOutside) { 342 TEST_F(MultiWindowResizeControllerTest, ClickOutside) {
343 aura::test::TestWindowDelegate delegate1; 343 aura::test::TestWindowDelegate delegate1;
344 scoped_ptr<aura::Window> w1( 344 std::unique_ptr<aura::Window> w1(
345 CreateTestWindow(&delegate1, gfx::Rect(0, 0, 100, 100))); 345 CreateTestWindow(&delegate1, gfx::Rect(0, 0, 100, 100)));
346 delegate1.set_window_component(HTRIGHT); 346 delegate1.set_window_component(HTRIGHT);
347 aura::test::TestWindowDelegate delegate2; 347 aura::test::TestWindowDelegate delegate2;
348 scoped_ptr<aura::Window> w2( 348 std::unique_ptr<aura::Window> w2(
349 CreateTestWindow(&delegate2, gfx::Rect(100, 0, 100, 100))); 349 CreateTestWindow(&delegate2, gfx::Rect(100, 0, 100, 100)));
350 delegate2.set_window_component(HTLEFT); 350 delegate2.set_window_component(HTLEFT);
351 351
352 ui::test::EventGenerator& generator(GetEventGenerator()); 352 ui::test::EventGenerator& generator(GetEventGenerator());
353 gfx::Point w1_center_in_screen = w1->GetBoundsInScreen().CenterPoint(); 353 gfx::Point w1_center_in_screen = w1->GetBoundsInScreen().CenterPoint();
354 generator.MoveMouseTo(w1_center_in_screen); 354 generator.MoveMouseTo(w1_center_in_screen);
355 EXPECT_TRUE(HasPendingShow()); 355 EXPECT_TRUE(HasPendingShow());
356 EXPECT_TRUE(IsShowing()); 356 EXPECT_TRUE(IsShowing());
357 ShowNow(); 357 ShowNow();
358 EXPECT_TRUE(IsShowing()); 358 EXPECT_TRUE(IsShowing());
359 359
360 gfx::Rect resize_widget_bounds_in_screen = 360 gfx::Rect resize_widget_bounds_in_screen =
361 resize_widget()->GetWindowBoundsInScreen(); 361 resize_widget()->GetWindowBoundsInScreen();
362 362
363 // Clicking on the resize handle should not do anything. 363 // Clicking on the resize handle should not do anything.
364 generator.MoveMouseTo(resize_widget_bounds_in_screen.CenterPoint()); 364 generator.MoveMouseTo(resize_widget_bounds_in_screen.CenterPoint());
365 generator.ClickLeftButton(); 365 generator.ClickLeftButton();
366 EXPECT_TRUE(IsShowing()); 366 EXPECT_TRUE(IsShowing());
367 367
368 // Clicking outside the resize handle should immediately hide the resize 368 // Clicking outside the resize handle should immediately hide the resize
369 // handle. 369 // handle.
370 EXPECT_FALSE(resize_widget_bounds_in_screen.Contains(w1_center_in_screen)); 370 EXPECT_FALSE(resize_widget_bounds_in_screen.Contains(w1_center_in_screen));
371 generator.MoveMouseTo(w1_center_in_screen); 371 generator.MoveMouseTo(w1_center_in_screen);
372 generator.ClickLeftButton(); 372 generator.ClickLeftButton();
373 EXPECT_FALSE(IsShowing()); 373 EXPECT_FALSE(IsShowing());
374 } 374 }
375 375
376 } // namespace ash 376 } // namespace ash
OLDNEW
« no previous file with comments | « ash/wm/workspace/multi_window_resize_controller.h ('k') | ash/wm/workspace/phantom_window_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698