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

Side by Side Diff: ui/views/widget/widget_unittest.cc

Issue 23533030: rAc: Enforce a 3 second grace period for generated card bubble. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: add a test Created 7 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « ui/views/widget/widget.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 <algorithm> 5 #include <algorithm>
6 #include <set> 6 #include <set>
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 1337 matching lines...) Expand 10 before | Expand all | Expand 10 after
1348 1348
1349 // Now try to click on |mouse|. Since |gesture| will have capture, |mouse| 1349 // Now try to click on |mouse|. Since |gesture| will have capture, |mouse|
1350 // will not receive the event. 1350 // will not receive the event.
1351 gfx::Point click_location(45, 15); 1351 gfx::Point click_location(45, 15);
1352 1352
1353 ui::MouseEvent press(ui::ET_MOUSE_PRESSED, click_location, click_location, 1353 ui::MouseEvent press(ui::ET_MOUSE_PRESSED, click_location, click_location,
1354 ui::EF_LEFT_MOUSE_BUTTON); 1354 ui::EF_LEFT_MOUSE_BUTTON);
1355 ui::MouseEvent release(ui::ET_MOUSE_RELEASED, click_location, click_location, 1355 ui::MouseEvent release(ui::ET_MOUSE_RELEASED, click_location, click_location,
1356 ui::EF_LEFT_MOUSE_BUTTON); 1356 ui::EF_LEFT_MOUSE_BUTTON);
1357 1357
1358 EXPECT_TRUE(toplevel->HasCapture());
1359
1358 toplevel->OnMouseEvent(&press); 1360 toplevel->OnMouseEvent(&press);
1359 toplevel->OnMouseEvent(&release); 1361 toplevel->OnMouseEvent(&release);
1360 EXPECT_EQ(0, mouse->pressed()); 1362 EXPECT_EQ(0, mouse->pressed());
1361 1363
1364 EXPECT_FALSE(toplevel->HasCapture());
1365
1362 // The end of the gesture should release the capture, and pressing on |mouse| 1366 // The end of the gesture should release the capture, and pressing on |mouse|
1363 // should now reach |mouse|. 1367 // should now reach |mouse|.
1364 toplevel->OnGestureEvent(&end); 1368 toplevel->OnGestureEvent(&end);
1365 toplevel->OnMouseEvent(&press); 1369 toplevel->OnMouseEvent(&press);
1366 toplevel->OnMouseEvent(&release); 1370 toplevel->OnMouseEvent(&release);
1367 EXPECT_EQ(1, mouse->pressed()); 1371 EXPECT_EQ(1, mouse->pressed());
1368 1372
1369 toplevel->Close(); 1373 toplevel->Close();
1370 RunPendingMessages(); 1374 RunPendingMessages();
1371 } 1375 }
1372 1376
1377 TEST_F(WidgetTest, CaptureAutoReset) {
sky 2013/09/04 23:32:15 Any time you're messing with capture your window n
Evan Stade 2013/09/04 23:35:52 how does the test above it get away with it?
1378 Widget* toplevel = CreateTopLevelFramelessPlatformWidget();
1379 View* container = new View;
1380 toplevel->SetContentsView(container);
1381
1382 EXPECT_FALSE(toplevel->HasCapture());
1383 toplevel->SetCapture(NULL);
1384 EXPECT_TRUE(toplevel->HasCapture());
1385
1386 // By default, mouse release removes capture.
1387 gfx::Point click_location(45, 15);
1388 ui::MouseEvent release(ui::ET_MOUSE_RELEASED, click_location, click_location,
1389 ui::EF_LEFT_MOUSE_BUTTON);
1390 toplevel->OnMouseEvent(&release);
1391 EXPECT_FALSE(toplevel->HasCapture());
1392
1393 // Now a mouse release shouldn't remove capture.
1394 toplevel->set_auto_release_capture(false);
1395 toplevel->SetCapture(NULL);
1396 EXPECT_TRUE(toplevel->HasCapture());
1397 toplevel->OnMouseEvent(&release);
1398 EXPECT_TRUE(toplevel->HasCapture());
1399 toplevel->ReleaseCapture();
1400 EXPECT_FALSE(toplevel->HasCapture());
1401
1402 toplevel->Close();
1403 RunPendingMessages();
1404 }
1405
1373 #if defined(USE_AURA) 1406 #if defined(USE_AURA)
1374 // The key-event propagation from Widget happens differently on aura and 1407 // The key-event propagation from Widget happens differently on aura and
1375 // non-aura systems because of the difference in IME. So this test works only on 1408 // non-aura systems because of the difference in IME. So this test works only on
1376 // aura. 1409 // aura.
1377 TEST_F(WidgetTest, KeyboardInputEvent) { 1410 TEST_F(WidgetTest, KeyboardInputEvent) {
1378 Widget* toplevel = CreateTopLevelPlatformWidget(); 1411 Widget* toplevel = CreateTopLevelPlatformWidget();
1379 View* container = toplevel->client_view(); 1412 View* container = toplevel->client_view();
1380 1413
1381 Textfield* textfield = new Textfield(); 1414 Textfield* textfield = new Textfield();
1382 textfield->SetText(ASCIIToUTF16("some text")); 1415 textfield->SetText(ASCIIToUTF16("some text"));
(...skipping 995 matching lines...) Expand 10 before | Expand all | Expand 10 after
2378 2411
2379 std::set<Widget*> widgets; 2412 std::set<Widget*> widgets;
2380 Widget::GetAllChildWidgets(toplevel->GetNativeView(), &widgets); 2413 Widget::GetAllChildWidgets(toplevel->GetNativeView(), &widgets);
2381 2414
2382 EXPECT_EQ(expected.size(), widgets.size()); 2415 EXPECT_EQ(expected.size(), widgets.size());
2383 EXPECT_TRUE(std::equal(expected.begin(), expected.end(), widgets.begin())); 2416 EXPECT_TRUE(std::equal(expected.begin(), expected.end(), widgets.begin()));
2384 } 2417 }
2385 2418
2386 } // namespace test 2419 } // namespace test
2387 } // namespace views 2420 } // namespace views
OLDNEW
« no previous file with comments | « ui/views/widget/widget.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698