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

Side by Side Diff: views/focus/focus_manager_unittest.cc

Issue 8343023: rename Run in MessageLoopForUI to RunWithDispatcher (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: sync Created 9 years, 2 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 | « views/examples/examples_main.cc ('k') | views/widget/native_widget_gtk.cc » ('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 (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "base/logging.h" 5 #include "base/logging.h"
6 #include "base/string16.h" 6 #include "base/string16.h"
7 #include "base/string_number_conversions.h" 7 #include "base/string_number_conversions.h"
8 #include "base/utf_string_conversions.h" 8 #include "base/utf_string_conversions.h"
9 #include "third_party/skia/include/core/SkColor.h" 9 #include "third_party/skia/include/core/SkColor.h"
10 #include "ui/base/keycodes/keyboard_codes.h" 10 #include "ui/base/keycodes/keyboard_codes.h"
(...skipping 960 matching lines...) Expand 10 before | Expand all | Expand 10 after
971 content_view_->AddChildView(button); 971 content_view_->AddChildView(button);
972 button->SetBounds(10, 10, 200, 30); 972 button->SetBounds(10, 10, 200, 30);
973 content_view_->AddChildView(view); 973 content_view_->AddChildView(view);
974 RunPendingMessages(); 974 RunPendingMessages();
975 975
976 TestFocusChangeListener listener; 976 TestFocusChangeListener listener;
977 AddFocusChangeListener(&listener); 977 AddFocusChangeListener(&listener);
978 978
979 view->RequestFocus(); 979 view->RequestFocus();
980 RunPendingMessages(); 980 RunPendingMessages();
981 // MessageLoopForUI::current()->Run(new AcceleratorHandler()); 981 // MessageLoopForUI::current()->RunWithDispatcher(new AcceleratorHandler());
982 982
983 // Visual Studio 2010 has problems converting NULL to the null pointer for 983 // Visual Studio 2010 has problems converting NULL to the null pointer for
984 // std::pair. See http://connect.microsoft.com/VisualStudio/feedback/details/ 520043/error-converting-from-null-to-a-pointer-type-in-std-pair 984 // std::pair. See http://connect.microsoft.com/VisualStudio/feedback/details/ 520043/error-converting-from-null-to-a-pointer-type-in-std-pair
985 // It will work if we pass nullptr. 985 // It will work if we pass nullptr.
986 #if defined(_MSC_VER) && _MSC_VER >= 1600 986 #if defined(_MSC_VER) && _MSC_VER >= 1600
987 views::View* null_view = nullptr; 987 views::View* null_view = nullptr;
988 #else 988 #else
989 views::View* null_view = NULL; 989 views::View* null_view = NULL;
990 #endif 990 #endif
991 991
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
1071 kDinerGameLinkID, kRidiculeLinkID, kClosetLinkID, kVisitingLinkID, 1071 kDinerGameLinkID, kRidiculeLinkID, kClosetLinkID, kVisitingLinkID,
1072 kAmelieLinkID, kJoyeuxNoelLinkID, kCampingLinkID, kBriceDeNiceLinkID, 1072 kAmelieLinkID, kJoyeuxNoelLinkID, kCampingLinkID, kBriceDeNiceLinkID,
1073 kTaxiLinkID, kAsterixLinkID, kOKButtonID, kCancelButtonID, kHelpButtonID, 1073 kTaxiLinkID, kAsterixLinkID, kOKButtonID, kCancelButtonID, kHelpButtonID,
1074 kStyleContainerID, kBoldCheckBoxID, kItalicCheckBoxID, 1074 kStyleContainerID, kBoldCheckBoxID, kItalicCheckBoxID,
1075 kUnderlinedCheckBoxID, kStyleHelpLinkID, kStyleTextEditID, 1075 kUnderlinedCheckBoxID, kStyleHelpLinkID, kStyleTextEditID,
1076 kSearchTextfieldID, kSearchButtonID, kHelpLinkID, 1076 kSearchTextfieldID, kSearchButtonID, kHelpLinkID,
1077 kThumbnailContainerID, kThumbnailStarID, kThumbnailSuperStarID }; 1077 kThumbnailContainerID, kThumbnailStarID, kThumbnailSuperStarID };
1078 1078
1079 // Uncomment the following line if you want to test manually the UI of this 1079 // Uncomment the following line if you want to test manually the UI of this
1080 // test. 1080 // test.
1081 // MessageLoopForUI::current()->Run(new AcceleratorHandler()); 1081 // MessageLoopForUI::current()->RunWithDispatcher(new AcceleratorHandler());
1082 1082
1083 // Let's traverse the whole focus hierarchy (several times, to make sure it 1083 // Let's traverse the whole focus hierarchy (several times, to make sure it
1084 // loops OK). 1084 // loops OK).
1085 GetFocusManager()->ClearFocus(); 1085 GetFocusManager()->ClearFocus();
1086 for (int i = 0; i < 3; ++i) { 1086 for (int i = 0; i < 3; ++i) {
1087 for (size_t j = 0; j < arraysize(kTraversalIDs); j++) { 1087 for (size_t j = 0; j < arraysize(kTraversalIDs); j++) {
1088 GetFocusManager()->AdvanceFocus(false); 1088 GetFocusManager()->AdvanceFocus(false);
1089 View* focused_view = GetFocusManager()->GetFocusedView(); 1089 View* focused_view = GetFocusManager()->GetFocusedView();
1090 EXPECT_TRUE(focused_view != NULL); 1090 EXPECT_TRUE(focused_view != NULL);
1091 if (focused_view) 1091 if (focused_view)
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
1124 1124
1125 // Let's disable some views. 1125 // Let's disable some views.
1126 for (size_t i = 0; i < arraysize(kDisabledIDs); i++) { 1126 for (size_t i = 0; i < arraysize(kDisabledIDs); i++) {
1127 View* v = FindViewByID(kDisabledIDs[i]); 1127 View* v = FindViewByID(kDisabledIDs[i]);
1128 ASSERT_TRUE(v != NULL); 1128 ASSERT_TRUE(v != NULL);
1129 v->SetEnabled(false); 1129 v->SetEnabled(false);
1130 } 1130 }
1131 1131
1132 // Uncomment the following line if you want to test manually the UI of this 1132 // Uncomment the following line if you want to test manually the UI of this
1133 // test. 1133 // test.
1134 // MessageLoopForUI::current()->Run(new AcceleratorHandler()); 1134 // MessageLoopForUI::current()->RunWithDispatcher(new AcceleratorHandler());
1135 1135
1136 View* focused_view; 1136 View* focused_view;
1137 // Let's do one traversal (several times, to make sure it loops ok). 1137 // Let's do one traversal (several times, to make sure it loops ok).
1138 GetFocusManager()->ClearFocus(); 1138 GetFocusManager()->ClearFocus();
1139 for (int i = 0; i < 3; ++i) { 1139 for (int i = 0; i < 3; ++i) {
1140 for (size_t j = 0; j < arraysize(kTraversalIDs); j++) { 1140 for (size_t j = 0; j < arraysize(kTraversalIDs); j++) {
1141 GetFocusManager()->AdvanceFocus(false); 1141 GetFocusManager()->AdvanceFocus(false);
1142 focused_view = GetFocusManager()->GetFocusedView(); 1142 focused_view = GetFocusManager()->GetFocusedView();
1143 EXPECT_TRUE(focused_view != NULL); 1143 EXPECT_TRUE(focused_view != NULL);
1144 if (focused_view) 1144 if (focused_view)
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1176 1176
1177 // Let's make some views invisible. 1177 // Let's make some views invisible.
1178 for (size_t i = 0; i < arraysize(kInvisibleIDs); i++) { 1178 for (size_t i = 0; i < arraysize(kInvisibleIDs); i++) {
1179 View* v = FindViewByID(kInvisibleIDs[i]); 1179 View* v = FindViewByID(kInvisibleIDs[i]);
1180 ASSERT_TRUE(v != NULL); 1180 ASSERT_TRUE(v != NULL);
1181 v->SetVisible(false); 1181 v->SetVisible(false);
1182 } 1182 }
1183 1183
1184 // Uncomment the following line if you want to test manually the UI of this 1184 // Uncomment the following line if you want to test manually the UI of this
1185 // test. 1185 // test.
1186 // MessageLoopForUI::current()->Run(new AcceleratorHandler()); 1186 // MessageLoopForUI::current()->RunWithDispatcher(new AcceleratorHandler());
1187 1187
1188 View* focused_view; 1188 View* focused_view;
1189 // Let's do one traversal (several times, to make sure it loops ok). 1189 // Let's do one traversal (several times, to make sure it loops ok).
1190 GetFocusManager()->ClearFocus(); 1190 GetFocusManager()->ClearFocus();
1191 for (int i = 0; i < 3; ++i) { 1191 for (int i = 0; i < 3; ++i) {
1192 for (size_t j = 0; j < arraysize(kTraversalIDs); j++) { 1192 for (size_t j = 0; j < arraysize(kTraversalIDs); j++) {
1193 GetFocusManager()->AdvanceFocus(false); 1193 GetFocusManager()->AdvanceFocus(false);
1194 focused_view = GetFocusManager()->GetFocusedView(); 1194 focused_view = GetFocusManager()->GetFocusedView();
1195 EXPECT_TRUE(focused_view != NULL); 1195 EXPECT_TRUE(focused_view != NULL);
1196 if (focused_view) 1196 if (focused_view)
(...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after
1507 mtv->AddAccelerator(Accelerator(ui::VKEY_0, false, false, false)); 1507 mtv->AddAccelerator(Accelerator(ui::VKEY_0, false, false, false));
1508 mtv->AddAccelerator(Accelerator(ui::VKEY_1, false, false, false)); 1508 mtv->AddAccelerator(Accelerator(ui::VKEY_1, false, false, false));
1509 content_view_->AddChildView(mtv); 1509 content_view_->AddChildView(mtv);
1510 focus_manager->SetFocusedView(mtv); 1510 focus_manager->SetFocusedView(mtv);
1511 1511
1512 // First send a non-accelerator key sequence. 1512 // First send a non-accelerator key sequence.
1513 PostKeyDown(ui::VKEY_9); 1513 PostKeyDown(ui::VKEY_9);
1514 PostKeyUp(ui::VKEY_9); 1514 PostKeyUp(ui::VKEY_9);
1515 AcceleratorHandler accelerator_handler; 1515 AcceleratorHandler accelerator_handler;
1516 MessageLoopForUI::current()->PostTask(FROM_HERE, new MessageLoop::QuitTask()); 1516 MessageLoopForUI::current()->PostTask(FROM_HERE, new MessageLoop::QuitTask());
1517 MessageLoopForUI::current()->Run(&accelerator_handler); 1517 MessageLoopForUI::current()->RunWithDispatcher(&accelerator_handler);
1518 // Make sure we get a key-up and key-down. 1518 // Make sure we get a key-up and key-down.
1519 ASSERT_EQ(1U, mtv->keys_pressed().size()); 1519 ASSERT_EQ(1U, mtv->keys_pressed().size());
1520 EXPECT_EQ(ui::VKEY_9, mtv->keys_pressed()[0]); 1520 EXPECT_EQ(ui::VKEY_9, mtv->keys_pressed()[0]);
1521 ASSERT_EQ(1U, mtv->keys_released().size()); 1521 ASSERT_EQ(1U, mtv->keys_released().size());
1522 EXPECT_EQ(ui::VKEY_9, mtv->keys_released()[0]); 1522 EXPECT_EQ(ui::VKEY_9, mtv->keys_released()[0]);
1523 EXPECT_FALSE(mtv->accelerator_pressed()); 1523 EXPECT_FALSE(mtv->accelerator_pressed());
1524 mtv->Reset(); 1524 mtv->Reset();
1525 1525
1526 // Same thing with repeat and more than one key at once. 1526 // Same thing with repeat and more than one key at once.
1527 PostKeyDown(ui::VKEY_9); 1527 PostKeyDown(ui::VKEY_9);
1528 PostKeyDown(ui::VKEY_9); 1528 PostKeyDown(ui::VKEY_9);
1529 PostKeyDown(ui::VKEY_8); 1529 PostKeyDown(ui::VKEY_8);
1530 PostKeyDown(ui::VKEY_9); 1530 PostKeyDown(ui::VKEY_9);
1531 PostKeyDown(ui::VKEY_7); 1531 PostKeyDown(ui::VKEY_7);
1532 PostKeyUp(ui::VKEY_9); 1532 PostKeyUp(ui::VKEY_9);
1533 PostKeyUp(ui::VKEY_7); 1533 PostKeyUp(ui::VKEY_7);
1534 PostKeyUp(ui::VKEY_8); 1534 PostKeyUp(ui::VKEY_8);
1535 MessageLoopForUI::current()->PostTask(FROM_HERE, new MessageLoop::QuitTask()); 1535 MessageLoopForUI::current()->PostTask(FROM_HERE, new MessageLoop::QuitTask());
1536 MessageLoopForUI::current()->Run(&accelerator_handler); 1536 MessageLoopForUI::current()->RunWithDispatcher(&accelerator_handler);
1537 // Make sure we get a key-up and key-down. 1537 // Make sure we get a key-up and key-down.
1538 ASSERT_EQ(5U, mtv->keys_pressed().size()); 1538 ASSERT_EQ(5U, mtv->keys_pressed().size());
1539 EXPECT_EQ(ui::VKEY_9, mtv->keys_pressed()[0]); 1539 EXPECT_EQ(ui::VKEY_9, mtv->keys_pressed()[0]);
1540 EXPECT_EQ(ui::VKEY_9, mtv->keys_pressed()[1]); 1540 EXPECT_EQ(ui::VKEY_9, mtv->keys_pressed()[1]);
1541 EXPECT_EQ(ui::VKEY_8, mtv->keys_pressed()[2]); 1541 EXPECT_EQ(ui::VKEY_8, mtv->keys_pressed()[2]);
1542 EXPECT_EQ(ui::VKEY_9, mtv->keys_pressed()[3]); 1542 EXPECT_EQ(ui::VKEY_9, mtv->keys_pressed()[3]);
1543 EXPECT_EQ(ui::VKEY_7, mtv->keys_pressed()[4]); 1543 EXPECT_EQ(ui::VKEY_7, mtv->keys_pressed()[4]);
1544 ASSERT_EQ(3U, mtv->keys_released().size()); 1544 ASSERT_EQ(3U, mtv->keys_released().size());
1545 EXPECT_EQ(ui::VKEY_9, mtv->keys_released()[0]); 1545 EXPECT_EQ(ui::VKEY_9, mtv->keys_released()[0]);
1546 EXPECT_EQ(ui::VKEY_7, mtv->keys_released()[1]); 1546 EXPECT_EQ(ui::VKEY_7, mtv->keys_released()[1]);
1547 EXPECT_EQ(ui::VKEY_8, mtv->keys_released()[2]); 1547 EXPECT_EQ(ui::VKEY_8, mtv->keys_released()[2]);
1548 EXPECT_FALSE(mtv->accelerator_pressed()); 1548 EXPECT_FALSE(mtv->accelerator_pressed());
1549 mtv->Reset(); 1549 mtv->Reset();
1550 1550
1551 // Now send an accelerator key sequence. 1551 // Now send an accelerator key sequence.
1552 PostKeyDown(ui::VKEY_0); 1552 PostKeyDown(ui::VKEY_0);
1553 PostKeyUp(ui::VKEY_0); 1553 PostKeyUp(ui::VKEY_0);
1554 MessageLoopForUI::current()->PostTask(FROM_HERE, new MessageLoop::QuitTask()); 1554 MessageLoopForUI::current()->PostTask(FROM_HERE, new MessageLoop::QuitTask());
1555 MessageLoopForUI::current()->Run(&accelerator_handler); 1555 MessageLoopForUI::current()->RunWithDispatcher(&accelerator_handler);
1556 EXPECT_TRUE(mtv->keys_pressed().empty()); 1556 EXPECT_TRUE(mtv->keys_pressed().empty());
1557 EXPECT_TRUE(mtv->keys_released().empty()); 1557 EXPECT_TRUE(mtv->keys_released().empty());
1558 EXPECT_TRUE(mtv->accelerator_pressed()); 1558 EXPECT_TRUE(mtv->accelerator_pressed());
1559 mtv->Reset(); 1559 mtv->Reset();
1560 1560
1561 // Same thing with repeat and more than one key at once. 1561 // Same thing with repeat and more than one key at once.
1562 PostKeyDown(ui::VKEY_0); 1562 PostKeyDown(ui::VKEY_0);
1563 PostKeyDown(ui::VKEY_1); 1563 PostKeyDown(ui::VKEY_1);
1564 PostKeyDown(ui::VKEY_1); 1564 PostKeyDown(ui::VKEY_1);
1565 PostKeyDown(ui::VKEY_0); 1565 PostKeyDown(ui::VKEY_0);
1566 PostKeyDown(ui::VKEY_0); 1566 PostKeyDown(ui::VKEY_0);
1567 PostKeyUp(ui::VKEY_1); 1567 PostKeyUp(ui::VKEY_1);
1568 PostKeyUp(ui::VKEY_0); 1568 PostKeyUp(ui::VKEY_0);
1569 MessageLoopForUI::current()->PostTask(FROM_HERE, new MessageLoop::QuitTask()); 1569 MessageLoopForUI::current()->PostTask(FROM_HERE, new MessageLoop::QuitTask());
1570 MessageLoopForUI::current()->Run(&accelerator_handler); 1570 MessageLoopForUI::current()->RunWithDispatcher(&accelerator_handler);
1571 EXPECT_TRUE(mtv->keys_pressed().empty()); 1571 EXPECT_TRUE(mtv->keys_pressed().empty());
1572 EXPECT_TRUE(mtv->keys_released().empty()); 1572 EXPECT_TRUE(mtv->keys_released().empty());
1573 EXPECT_TRUE(mtv->accelerator_pressed()); 1573 EXPECT_TRUE(mtv->accelerator_pressed());
1574 mtv->Reset(); 1574 mtv->Reset();
1575 } 1575 }
1576 #endif 1576 #endif
1577 1577
1578 #if defined(OS_WIN) && !defined(USE_AURA) 1578 #if defined(OS_WIN) && !defined(USE_AURA)
1579 // Test that the focus manager is created successfully for the first view 1579 // Test that the focus manager is created successfully for the first view
1580 // window parented to a native dialog. 1580 // window parented to a native dialog.
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
1751 ASSERT_EQ(3, static_cast<int>(dtor_tracker_.size())); 1751 ASSERT_EQ(3, static_cast<int>(dtor_tracker_.size()));
1752 1752
1753 // Focus manager should be the last one to destruct. 1753 // Focus manager should be the last one to destruct.
1754 ASSERT_STREQ("FocusManagerDtorTracked", dtor_tracker_[2].c_str()); 1754 ASSERT_STREQ("FocusManagerDtorTracked", dtor_tracker_[2].c_str());
1755 1755
1756 // Clear window_ so that we don't try to close it again. 1756 // Clear window_ so that we don't try to close it again.
1757 window_ = NULL; 1757 window_ = NULL;
1758 } 1758 }
1759 1759
1760 } // namespace views 1760 } // namespace views
OLDNEW
« no previous file with comments | « views/examples/examples_main.cc ('k') | views/widget/native_widget_gtk.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698