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

Side by Side Diff: chrome/browser/ui/views/find_bar_views_interactive_uitest.cc

Issue 2740783003: Revert "Revert of Reland: Switch WindowedNotificationObserver to use base::RunLoop. (patchset #3 id… (Closed)
Patch Set: Fix comment. Created 3 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 "base/macros.h" 5 #include "base/macros.h"
6 #include "base/strings/string_util.h" 6 #include "base/strings/string_util.h"
7 #include "base/strings/utf_string_conversions.h" 7 #include "base/strings/utf_string_conversions.h"
8 #include "build/build_config.h" 8 #include "build/build_config.h"
9 #include "chrome/browser/chrome_notification_types.h" 9 #include "chrome/browser/chrome_notification_types.h"
10 #include "chrome/browser/ui/browser.h" 10 #include "chrome/browser/ui/browser.h"
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 browser()->tab_strip_model()->GetActiveWebContents()); 78 browser()->tab_strip_model()->GetActiveWebContents());
79 ui_test_utils::WindowedNotificationObserverWithDetails 79 ui_test_utils::WindowedNotificationObserverWithDetails
80 <FindNotificationDetails> observer( 80 <FindNotificationDetails> observer(
81 chrome::NOTIFICATION_FIND_RESULT_AVAILABLE, source); 81 chrome::NOTIFICATION_FIND_RESULT_AVAILABLE, source);
82 observer.Wait(); 82 observer.Wait();
83 FindNotificationDetails details; 83 FindNotificationDetails details;
84 EXPECT_TRUE(observer.GetDetailsFor(source.map_key(), &details)); 84 EXPECT_TRUE(observer.GetDetailsFor(source.map_key(), &details));
85 return details; 85 return details;
86 } 86 }
87 87
88 FindNotificationDetails WaitForFinalFindResult() {
89 while (true) {
90 auto details = WaitForFindResult();
91 if (details.final_update())
92 return details;
93 }
94 }
95
88 private: 96 private:
89 DISALLOW_COPY_AND_ASSIGN(FindInPageTest); 97 DISALLOW_COPY_AND_ASSIGN(FindInPageTest);
90 }; 98 };
91 99
92 // Flaky because the test server fails to start? See: http://crbug.com/96594. 100 // Flaky because the test server fails to start? See: http://crbug.com/96594.
93 IN_PROC_BROWSER_TEST_F(FindInPageTest, CrashEscHandlers) { 101 IN_PROC_BROWSER_TEST_F(FindInPageTest, CrashEscHandlers) {
94 ASSERT_TRUE(embedded_test_server()->Start()); 102 ASSERT_TRUE(embedded_test_server()->Start());
95 103
96 // First we navigate to our test page (tab A). 104 // First we navigate to our test page (tab A).
97 GURL url = embedded_test_server()->GetURL(kSimplePage); 105 GURL url = embedded_test_server()->GetURL(kSimplePage);
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 ASSERT_GE(match_count, 3); 184 ASSERT_GE(match_count, 3);
177 // Avoid GetViewByID on BrowserView; the find bar is outside its hierarchy. 185 // Avoid GetViewByID on BrowserView; the find bar is outside its hierarchy.
178 FindBarView* find_bar_view = GetFindBarView(); 186 FindBarView* find_bar_view = GetFindBarView();
179 views::View* next_button = 187 views::View* next_button =
180 find_bar_view->GetViewByID(VIEW_ID_FIND_IN_PAGE_NEXT_BUTTON); 188 find_bar_view->GetViewByID(VIEW_ID_FIND_IN_PAGE_NEXT_BUTTON);
181 views::View* previous_button = 189 views::View* previous_button =
182 find_bar_view->GetViewByID(VIEW_ID_FIND_IN_PAGE_PREVIOUS_BUTTON); 190 find_bar_view->GetViewByID(VIEW_ID_FIND_IN_PAGE_PREVIOUS_BUTTON);
183 191
184 // Clicking the next and previous buttons should not alter the focused view. 192 // Clicking the next and previous buttons should not alter the focused view.
185 ClickOnView(next_button); 193 ClickOnView(next_button);
186 EXPECT_EQ(2, WaitForFindResult().active_match_ordinal()); 194 EXPECT_EQ(2, WaitForFinalFindResult().active_match_ordinal());
187 EXPECT_TRUE(IsViewFocused(browser(), VIEW_ID_FIND_IN_PAGE_TEXT_FIELD)); 195 EXPECT_TRUE(IsViewFocused(browser(), VIEW_ID_FIND_IN_PAGE_TEXT_FIELD));
188 ClickOnView(previous_button); 196 ClickOnView(previous_button);
189 EXPECT_EQ(1, WaitForFindResult().active_match_ordinal()); 197 EXPECT_EQ(1, WaitForFinalFindResult().active_match_ordinal());
190 EXPECT_TRUE(IsViewFocused(browser(), VIEW_ID_FIND_IN_PAGE_TEXT_FIELD)); 198 EXPECT_TRUE(IsViewFocused(browser(), VIEW_ID_FIND_IN_PAGE_TEXT_FIELD));
191 199
192 // Tapping the next and previous buttons should not alter the focused view. 200 // Tapping the next and previous buttons should not alter the focused view.
193 TapOnView(next_button); 201 TapOnView(next_button);
194 EXPECT_EQ(2, WaitForFindResult().active_match_ordinal()); 202 EXPECT_EQ(2, WaitForFinalFindResult().active_match_ordinal());
195 EXPECT_TRUE(IsViewFocused(browser(), VIEW_ID_FIND_IN_PAGE_TEXT_FIELD)); 203 EXPECT_TRUE(IsViewFocused(browser(), VIEW_ID_FIND_IN_PAGE_TEXT_FIELD));
196 TapOnView(previous_button); 204 TapOnView(previous_button);
197 EXPECT_EQ(1, WaitForFindResult().active_match_ordinal()); 205 EXPECT_EQ(1, WaitForFinalFindResult().active_match_ordinal());
198 EXPECT_TRUE(IsViewFocused(browser(), VIEW_ID_FIND_IN_PAGE_TEXT_FIELD)); 206 EXPECT_TRUE(IsViewFocused(browser(), VIEW_ID_FIND_IN_PAGE_TEXT_FIELD));
199 207
200 // The same should be true even when the previous button is focused. 208 // The same should be true even when the previous button is focused.
201 previous_button->RequestFocus(); 209 previous_button->RequestFocus();
202 EXPECT_TRUE(IsViewFocused(browser(), VIEW_ID_FIND_IN_PAGE_PREVIOUS_BUTTON)); 210 EXPECT_TRUE(IsViewFocused(browser(), VIEW_ID_FIND_IN_PAGE_PREVIOUS_BUTTON));
203 ClickOnView(next_button); 211 ClickOnView(next_button);
204 EXPECT_EQ(2, WaitForFindResult().active_match_ordinal()); 212 EXPECT_EQ(2, WaitForFinalFindResult().active_match_ordinal());
205 EXPECT_TRUE(IsViewFocused(browser(), VIEW_ID_FIND_IN_PAGE_PREVIOUS_BUTTON)); 213 EXPECT_TRUE(IsViewFocused(browser(), VIEW_ID_FIND_IN_PAGE_PREVIOUS_BUTTON));
206 TapOnView(next_button); 214 TapOnView(next_button);
207 EXPECT_EQ(3, WaitForFindResult().active_match_ordinal()); 215 EXPECT_EQ(3, WaitForFinalFindResult().active_match_ordinal());
208 EXPECT_TRUE(IsViewFocused(browser(), VIEW_ID_FIND_IN_PAGE_PREVIOUS_BUTTON)); 216 EXPECT_TRUE(IsViewFocused(browser(), VIEW_ID_FIND_IN_PAGE_PREVIOUS_BUTTON));
209 } 217 }
210 218
211 IN_PROC_BROWSER_TEST_F(FindInPageTest, ButtonsDisabledWithoutText) { 219 IN_PROC_BROWSER_TEST_F(FindInPageTest, ButtonsDisabledWithoutText) {
212 ASSERT_TRUE(embedded_test_server()->Start()); 220 ASSERT_TRUE(embedded_test_server()->Start());
213 // Make sure Chrome is in the foreground, otherwise sending input 221 // Make sure Chrome is in the foreground, otherwise sending input
214 // won't do anything and the test will hang. 222 // won't do anything and the test will hang.
215 ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser())); 223 ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
216 // First we navigate to any page. 224 // First we navigate to any page.
217 ui_test_utils::NavigateToURL(browser(), 225 ui_test_utils::NavigateToURL(browser(),
(...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after
528 536
529 ui_test_utils::UrlLoadObserver observer( 537 ui_test_utils::UrlLoadObserver observer(
530 GURL("about:blank"), content::NotificationService::AllSources()); 538 GURL("about:blank"), content::NotificationService::AllSources());
531 539
532 // Send Ctrl-Enter, should cause navigation to about:blank. 540 // Send Ctrl-Enter, should cause navigation to about:blank.
533 ASSERT_TRUE(ui_test_utils::SendKeyPressSync( 541 ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
534 browser(), ui::VKEY_RETURN, true, false, false, false)); 542 browser(), ui::VKEY_RETURN, true, false, false, false));
535 543
536 observer.Wait(); 544 observer.Wait();
537 } 545 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698