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

Side by Side Diff: chrome/browser/ui/omnibox/omnibox_view_browsertest.cc

Issue 8800011: Use Textfield's view ID instead of Location bar's view id (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: sync Created 9 years 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 | « chrome/browser/ui/gtk/view_id_util_browsertest.cc ('k') | chrome/browser/ui/view_ids.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 (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 <stdio.h> 5 #include <stdio.h>
6 6
7 #include "base/message_loop.h" 7 #include "base/message_loop.h"
8 #include "base/string16.h" 8 #include "base/string16.h"
9 #include "base/string_util.h" 9 #include "base/string_util.h"
10 #include "base/time.h" 10 #include "base/time.h"
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 const int kCtrlOrCmdMask = ui::EF_COMMAND_DOWN; 142 const int kCtrlOrCmdMask = ui::EF_COMMAND_DOWN;
143 #else 143 #else
144 const int kCtrlOrCmdMask = ui::EF_CONTROL_DOWN; 144 const int kCtrlOrCmdMask = ui::EF_CONTROL_DOWN;
145 #endif 145 #endif
146 146
147 } // namespace 147 } // namespace
148 148
149 class OmniboxViewTest : public InProcessBrowserTest, 149 class OmniboxViewTest : public InProcessBrowserTest,
150 public content::NotificationObserver { 150 public content::NotificationObserver {
151 protected: 151 protected:
152 OmniboxViewTest() { 152 OmniboxViewTest()
153 : location_bar_focus_view_id_(VIEW_ID_LOCATION_BAR) {
153 set_show_window(true); 154 set_show_window(true);
154 // TODO(mrossetti): HQP does not yet support DeleteMatch. 155 // TODO(mrossetti): HQP does not yet support DeleteMatch.
155 // http://crbug.com/82335 156 // http://crbug.com/82335
156 HistoryQuickProvider::set_disabled(true); 157 HistoryQuickProvider::set_disabled(true);
157 } 158 }
158 159
159 virtual void SetUpOnMainThread() { 160 virtual void SetUpOnMainThread() {
160 ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser())); 161 ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
161 ASSERT_NO_FATAL_FAILURE(SetupComponents()); 162 ASSERT_NO_FATAL_FAILURE(SetupComponents());
162 browser()->FocusLocationBar(); 163 browser()->FocusLocationBar();
164 // Use Textfield's view id on pure views. See crbug.com/71144.
163 #if defined(TOOLKIT_VIEWS) 165 #if defined(TOOLKIT_VIEWS)
164 if (views::Widget::IsPureViews()) 166 if (views::Widget::IsPureViews())
165 return; 167 location_bar_focus_view_id_ = VIEW_ID_OMNIBOX;
166 #endif 168 #endif
167 ASSERT_TRUE(ui_test_utils::IsViewFocused(browser(), 169 ASSERT_TRUE(ui_test_utils::IsViewFocused(browser(),
168 VIEW_ID_LOCATION_BAR)); 170 location_bar_focus_view_id_));
169 } 171 }
170 172
171 static void GetOmniboxViewForBrowser( 173 static void GetOmniboxViewForBrowser(
172 const Browser* browser, 174 const Browser* browser,
173 OmniboxView** omnibox_view) { 175 OmniboxView** omnibox_view) {
174 BrowserWindow* window = browser->window(); 176 BrowserWindow* window = browser->window();
175 ASSERT_TRUE(window); 177 ASSERT_TRUE(window);
176 LocationBar* loc_bar = window->GetLocationBar(); 178 LocationBar* loc_bar = window->GetLocationBar();
177 ASSERT_TRUE(loc_bar); 179 ASSERT_TRUE(loc_bar);
178 *omnibox_view = loc_bar->location_entry(); 180 *omnibox_view = loc_bar->location_entry();
(...skipping 852 matching lines...) Expand 10 before | Expand all | Expand 10 after
1031 EXPECT_EQ(0U, end); 1033 EXPECT_EQ(0U, end);
1032 1034
1033 // Pressing tab should move cursor to the end. 1035 // Pressing tab should move cursor to the end.
1034 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_TAB, 0)); 1036 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_TAB, 0));
1035 1037
1036 omnibox_view->GetSelectionBounds(&start, &end); 1038 omnibox_view->GetSelectionBounds(&start, &end);
1037 EXPECT_EQ(omnibox_view->GetText().size(), start); 1039 EXPECT_EQ(omnibox_view->GetText().size(), start);
1038 EXPECT_EQ(omnibox_view->GetText().size(), end); 1040 EXPECT_EQ(omnibox_view->GetText().size(), end);
1039 1041
1040 // The location bar should still have focus. 1042 // The location bar should still have focus.
1041 ASSERT_TRUE(ui_test_utils::IsViewFocused(browser(), VIEW_ID_LOCATION_BAR)); 1043 ASSERT_TRUE(ui_test_utils::IsViewFocused(browser(),
1044 location_bar_focus_view_id_));
1042 1045
1043 // Select all text. 1046 // Select all text.
1044 omnibox_view->SelectAll(true); 1047 omnibox_view->SelectAll(true);
1045 EXPECT_TRUE(omnibox_view->IsSelectAll()); 1048 EXPECT_TRUE(omnibox_view->IsSelectAll());
1046 omnibox_view->GetSelectionBounds(&start, &end); 1049 omnibox_view->GetSelectionBounds(&start, &end);
1047 EXPECT_EQ(0U, start); 1050 EXPECT_EQ(0U, start);
1048 EXPECT_EQ(omnibox_view->GetText().size(), end); 1051 EXPECT_EQ(omnibox_view->GetText().size(), end);
1049 1052
1050 // Pressing tab should move cursor to the end. 1053 // Pressing tab should move cursor to the end.
1051 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_TAB, 0)); 1054 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_TAB, 0));
1052 1055
1053 omnibox_view->GetSelectionBounds(&start, &end); 1056 omnibox_view->GetSelectionBounds(&start, &end);
1054 EXPECT_EQ(omnibox_view->GetText().size(), start); 1057 EXPECT_EQ(omnibox_view->GetText().size(), start);
1055 EXPECT_EQ(omnibox_view->GetText().size(), end); 1058 EXPECT_EQ(omnibox_view->GetText().size(), end);
1056 1059
1057 // The location bar should still have focus. 1060 // The location bar should still have focus.
1058 ASSERT_TRUE(ui_test_utils::IsViewFocused(browser(), VIEW_ID_LOCATION_BAR)); 1061 ASSERT_TRUE(ui_test_utils::IsViewFocused(browser(),
1062 location_bar_focus_view_id_));
1059 1063
1060 // Pressing tab when cursor is at the end should change focus. 1064 // Pressing tab when cursor is at the end should change focus.
1061 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_TAB, 0)); 1065 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_TAB, 0));
1062 1066
1063 ASSERT_FALSE(ui_test_utils::IsViewFocused(browser(), VIEW_ID_LOCATION_BAR)); 1067 ASSERT_FALSE(ui_test_utils::IsViewFocused(browser(),
1068 location_bar_focus_view_id_));
1064 } 1069 }
1065 1070
1066 void PersistKeywordModeOnTabSwitch() { 1071 void PersistKeywordModeOnTabSwitch() {
1067 OmniboxView* omnibox_view = NULL; 1072 OmniboxView* omnibox_view = NULL;
1068 ASSERT_NO_FATAL_FAILURE(GetOmniboxView(&omnibox_view)); 1073 ASSERT_NO_FATAL_FAILURE(GetOmniboxView(&omnibox_view));
1069 1074
1070 // Trigger keyword hint mode. 1075 // Trigger keyword hint mode.
1071 ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchKeywordKeys)); 1076 ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchKeywordKeys));
1072 ASSERT_TRUE(omnibox_view->model()->is_keyword_hint()); 1077 ASSERT_TRUE(omnibox_view->model()->is_keyword_hint());
1073 ASSERT_EQ(kSearchKeyword, UTF16ToUTF8(omnibox_view->model()->keyword())); 1078 ASSERT_EQ(kSearchKeyword, UTF16ToUTF8(omnibox_view->model()->keyword()));
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
1106 // Make sure inline autocomplete is triggerred. 1111 // Make sure inline autocomplete is triggerred.
1107 EXPECT_GT(old_text.length(), arraysize(kInlineAutocompleteText) - 1); 1112 EXPECT_GT(old_text.length(), arraysize(kInlineAutocompleteText) - 1);
1108 1113
1109 // Press ctrl key. 1114 // Press ctrl key.
1110 omnibox_view->model()->OnControlKeyChanged(true); 1115 omnibox_view->model()->OnControlKeyChanged(true);
1111 1116
1112 // Inline autocomplete should still be there. 1117 // Inline autocomplete should still be there.
1113 EXPECT_EQ(old_text, omnibox_view->GetText()); 1118 EXPECT_EQ(old_text, omnibox_view->GetText());
1114 } 1119 }
1115 1120
1121 private:
1122 ViewID location_bar_focus_view_id_;
1116 }; 1123 };
1117 1124
1118 // Test if ctrl-* accelerators are workable in omnibox. 1125 // Test if ctrl-* accelerators are workable in omnibox.
1119 // See http://crbug.com/19193: omnibox blocks ctrl-* commands 1126 // See http://crbug.com/19193: omnibox blocks ctrl-* commands
1120 // 1127 //
1121 // Flaky on interactive tests (dbg), http://crbug.com/69433 1128 // Flaky on interactive tests (dbg), http://crbug.com/69433
1122 IN_PROC_BROWSER_TEST_F(OmniboxViewTest, FLAKY_BrowserAccelerators) { 1129 IN_PROC_BROWSER_TEST_F(OmniboxViewTest, FLAKY_BrowserAccelerators) {
1123 BrowserAcceleratorsTest(); 1130 BrowserAcceleratorsTest();
1124 } 1131 }
1125 1132
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
1322 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_V, ui::EF_CONTROL_DOWN)); 1329 ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_V, ui::EF_CONTROL_DOWN));
1323 ASSERT_NO_FATAL_FAILURE(WaitForAutocompleteControllerDone()); 1330 ASSERT_NO_FATAL_FAILURE(WaitForAutocompleteControllerDone());
1324 ASSERT_TRUE(popup_model->IsOpen()); 1331 ASSERT_TRUE(popup_model->IsOpen());
1325 1332
1326 // Inline autocomplete shouldn't be triggered. 1333 // Inline autocomplete shouldn't be triggered.
1327 ASSERT_EQ(ASCIIToUTF16("abc"), omnibox_view->GetText()); 1334 ASSERT_EQ(ASCIIToUTF16("abc"), omnibox_view->GetText());
1328 } 1335 }
1329 #endif 1336 #endif
1330 1337
1331 // TODO(beng): enable on windows once it actually works. 1338 // TODO(beng): enable on windows once it actually works.
1332 #if defined(TOOLKIT_VIEWS) && !defined(OS_WIN) 1339 // No need to run extra pure views tests on aura.
1340 #if defined(TOOLKIT_VIEWS) && !defined(OS_WIN) && !defined(USE_AURA)
1333 class OmniboxViewViewsTest : public OmniboxViewTest { 1341 class OmniboxViewViewsTest : public OmniboxViewTest {
1334 public: 1342 public:
1335 OmniboxViewViewsTest() { 1343 OmniboxViewViewsTest() {
1336 views::Widget::SetPureViews(true); 1344 views::Widget::SetPureViews(true);
1337 } 1345 }
1338 }; 1346 };
1339 1347
1340 IN_PROC_BROWSER_TEST_F(OmniboxViewViewsTest, 1348 IN_PROC_BROWSER_TEST_F(OmniboxViewViewsTest,
1341 FLAKY_BrowserAccelerators) { 1349 FLAKY_BrowserAccelerators) {
1342 BrowserAcceleratorsTest(); 1350 BrowserAcceleratorsTest();
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
1380 1388
1381 IN_PROC_BROWSER_TEST_F(OmniboxViewViewsTest, 1389 IN_PROC_BROWSER_TEST_F(OmniboxViewViewsTest,
1382 NonSubstitutingKeywordTest) { 1390 NonSubstitutingKeywordTest) {
1383 NonSubstitutingKeywordTest(); 1391 NonSubstitutingKeywordTest();
1384 } 1392 }
1385 1393
1386 IN_PROC_BROWSER_TEST_F(OmniboxViewViewsTest, DeleteItem) { 1394 IN_PROC_BROWSER_TEST_F(OmniboxViewViewsTest, DeleteItem) {
1387 DeleteItemTest(); 1395 DeleteItemTest();
1388 } 1396 }
1389 1397
1390 // TODO(suzhe): This test is broken because of broken ViewID support when 1398 IN_PROC_BROWSER_TEST_F(OmniboxViewViewsTest, TabMoveCursorToEnd) {
1391 // enabling OmniboxViewViews.
1392 IN_PROC_BROWSER_TEST_F(OmniboxViewViewsTest,
1393 DISABLED_TabMoveCursorToEnd) {
1394 TabMoveCursorToEndTest(); 1399 TabMoveCursorToEndTest();
1395 } 1400 }
1396 1401
1397 IN_PROC_BROWSER_TEST_F(OmniboxViewViewsTest, 1402 IN_PROC_BROWSER_TEST_F(OmniboxViewViewsTest,
1398 PersistKeywordModeOnTabSwitch) { 1403 PersistKeywordModeOnTabSwitch) {
1399 PersistKeywordModeOnTabSwitch(); 1404 PersistKeywordModeOnTabSwitch();
1400 } 1405 }
1401 1406
1402 IN_PROC_BROWSER_TEST_F(OmniboxViewViewsTest, 1407 IN_PROC_BROWSER_TEST_F(OmniboxViewViewsTest,
1403 CtrlKeyPressedWithInlineAutocompleteTest) { 1408 CtrlKeyPressedWithInlineAutocompleteTest) {
1404 CtrlKeyPressedWithInlineAutocompleteTest(); 1409 CtrlKeyPressedWithInlineAutocompleteTest();
1405 } 1410 }
1406 1411
1407 #endif 1412 #endif
OLDNEW
« no previous file with comments | « chrome/browser/ui/gtk/view_id_util_browsertest.cc ('k') | chrome/browser/ui/view_ids.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698