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

Side by Side Diff: chrome/test/base/ui_test_utils.cc

Issue 8983012: Get rid of content::NavigationController in cc file and use "using" instead. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 years, 11 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
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 "chrome/test/base/ui_test_utils.h" 5 #include "chrome/test/base/ui_test_utils.h"
6 6
7 #if defined(OS_WIN) 7 #if defined(OS_WIN)
8 #include <windows.h> 8 #include <windows.h>
9 #endif 9 #endif
10 10
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 #include "ui/gfx/size.h" 61 #include "ui/gfx/size.h"
62 62
63 #if defined(TOOLKIT_VIEWS) 63 #if defined(TOOLKIT_VIEWS)
64 #include "ui/views/focus/accelerator_handler.h" 64 #include "ui/views/focus/accelerator_handler.h"
65 #endif 65 #endif
66 66
67 #if defined(USE_AURA) 67 #if defined(USE_AURA)
68 #include "ui/aura/root_window.h" 68 #include "ui/aura/root_window.h"
69 #endif 69 #endif
70 70
71 using content::NavigationController;
71 using content::NavigationEntry; 72 using content::NavigationEntry;
72 using content::OpenURLParams; 73 using content::OpenURLParams;
73 using content::Referrer; 74 using content::Referrer;
74 using content::WebContents; 75 using content::WebContents;
75 76
76 static const int kDefaultWsPort = 8880; 77 static const int kDefaultWsPort = 8880;
77 78
78 namespace ui_test_utils { 79 namespace ui_test_utils {
79 80
80 namespace { 81 namespace {
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after
307 WebContents* web_contents = browser->GetSelectedWebContents(); 308 WebContents* web_contents = browser->GetSelectedWebContents();
308 if (!web_contents) 309 if (!web_contents)
309 return false; 310 return false;
310 NavigationEntry* last_entry = web_contents->GetController().GetActiveEntry(); 311 NavigationEntry* last_entry = web_contents->GetController().GetActiveEntry();
311 if (!last_entry) 312 if (!last_entry)
312 return false; 313 return false;
313 title->assign(last_entry->GetTitleForDisplay("")); 314 title->assign(last_entry->GetTitleForDisplay(""));
314 return true; 315 return true;
315 } 316 }
316 317
317 void WaitForNavigations(content::NavigationController* controller, 318 void WaitForNavigations(NavigationController* controller,
318 int number_of_navigations) { 319 int number_of_navigations) {
319 TestNavigationObserver observer( 320 TestNavigationObserver observer(
320 content::Source<content::NavigationController>(controller), NULL, 321 content::Source<NavigationController>(controller), NULL,
321 number_of_navigations); 322 number_of_navigations);
322 observer.WaitForObservation( 323 observer.WaitForObservation(
323 base::Bind(&ui_test_utils::RunMessageLoop), 324 base::Bind(&ui_test_utils::RunMessageLoop),
324 base::Bind(&MessageLoop::Quit, 325 base::Bind(&MessageLoop::Quit,
325 base::Unretained(MessageLoopForUI::current()))); 326 base::Unretained(MessageLoopForUI::current())));
326 } 327 }
327 328
328 void WaitForNewTab(Browser* browser) { 329 void WaitForNewTab(Browser* browser) {
329 TestNotificationObserver observer; 330 TestNotificationObserver observer;
330 RegisterAndWait(&observer, content::NOTIFICATION_TAB_ADDED, 331 RegisterAndWait(&observer, content::NOTIFICATION_TAB_ADDED,
331 content::Source<content::WebContentsDelegate>(browser)); 332 content::Source<content::WebContentsDelegate>(browser));
332 } 333 }
333 334
334 void WaitForBrowserActionUpdated(ExtensionAction* browser_action) { 335 void WaitForBrowserActionUpdated(ExtensionAction* browser_action) {
335 TestNotificationObserver observer; 336 TestNotificationObserver observer;
336 RegisterAndWait(&observer, 337 RegisterAndWait(&observer,
337 chrome::NOTIFICATION_EXTENSION_BROWSER_ACTION_UPDATED, 338 chrome::NOTIFICATION_EXTENSION_BROWSER_ACTION_UPDATED,
338 content::Source<ExtensionAction>(browser_action)); 339 content::Source<ExtensionAction>(browser_action));
339 } 340 }
340 341
341 void WaitForLoadStop(WebContents* tab) { 342 void WaitForLoadStop(WebContents* tab) {
342 WindowedNotificationObserver load_stop_observer( 343 WindowedNotificationObserver load_stop_observer(
343 content::NOTIFICATION_LOAD_STOP, 344 content::NOTIFICATION_LOAD_STOP,
344 content::Source<content::NavigationController>(&tab->GetController())); 345 content::Source<NavigationController>(&tab->GetController()));
345 // In many cases, the load may have finished before we get here. Only wait if 346 // In many cases, the load may have finished before we get here. Only wait if
346 // the tab still has a pending navigation. 347 // the tab still has a pending navigation.
347 if (!tab->IsLoading()) 348 if (!tab->IsLoading())
348 return; 349 return;
349 load_stop_observer.Wait(); 350 load_stop_observer.Wait();
350 } 351 }
351 352
352 Browser* WaitForNewBrowser() { 353 Browser* WaitForNewBrowser() {
353 TestNotificationObserver observer; 354 TestNotificationObserver observer;
354 RegisterAndWait(&observer, chrome::NOTIFICATION_BROWSER_WINDOW_READY, 355 RegisterAndWait(&observer, chrome::NOTIFICATION_BROWSER_WINDOW_READY,
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
395 // |disposition| indicates what tab the download occurs in, and 396 // |disposition| indicates what tab the download occurs in, and
396 // |browser_test_flags| controls what to wait for before continuing. 397 // |browser_test_flags| controls what to wait for before continuing.
397 static void NavigateToURLWithDispositionBlockUntilNavigationsComplete( 398 static void NavigateToURLWithDispositionBlockUntilNavigationsComplete(
398 Browser* browser, 399 Browser* browser,
399 const GURL& url, 400 const GURL& url,
400 int number_of_navigations, 401 int number_of_navigations,
401 WindowOpenDisposition disposition, 402 WindowOpenDisposition disposition,
402 int browser_test_flags) { 403 int browser_test_flags) {
403 if (disposition == CURRENT_TAB && browser->GetSelectedWebContents()) 404 if (disposition == CURRENT_TAB && browser->GetSelectedWebContents())
404 WaitForLoadStop(browser->GetSelectedWebContents()); 405 WaitForLoadStop(browser->GetSelectedWebContents());
405 content::NavigationController* controller = 406 NavigationController* controller =
406 browser->GetSelectedWebContents() ? 407 browser->GetSelectedWebContents() ?
407 &browser->GetSelectedWebContents()->GetController() : NULL; 408 &browser->GetSelectedWebContents()->GetController() : NULL;
408 TestNavigationObserver same_tab_observer( 409 TestNavigationObserver same_tab_observer(
409 content::Source<content::NavigationController>(controller), 410 content::Source<NavigationController>(controller),
410 NULL, 411 NULL,
411 number_of_navigations); 412 number_of_navigations);
412 413
413 std::set<Browser*> initial_browsers; 414 std::set<Browser*> initial_browsers;
414 for (std::vector<Browser*>::const_iterator iter = BrowserList::begin(); 415 for (std::vector<Browser*>::const_iterator iter = BrowserList::begin();
415 iter != BrowserList::end(); 416 iter != BrowserList::end();
416 ++iter) { 417 ++iter) {
417 initial_browsers.insert(*iter); 418 initial_browsers.insert(*iter);
418 } 419 }
419 420
(...skipping 25 matching lines...) Expand all
445 // The currently selected tab is the right one. 446 // The currently selected tab is the right one.
446 web_contents = browser->GetSelectedWebContents(); 447 web_contents = browser->GetSelectedWebContents();
447 } 448 }
448 if (disposition == CURRENT_TAB) { 449 if (disposition == CURRENT_TAB) {
449 same_tab_observer.WaitForObservation( 450 same_tab_observer.WaitForObservation(
450 base::Bind(&ui_test_utils::RunMessageLoop), 451 base::Bind(&ui_test_utils::RunMessageLoop),
451 base::Bind(&MessageLoop::Quit, 452 base::Bind(&MessageLoop::Quit,
452 base::Unretained(MessageLoopForUI::current()))); 453 base::Unretained(MessageLoopForUI::current())));
453 return; 454 return;
454 } else if (web_contents) { 455 } else if (web_contents) {
455 content::NavigationController* controller = &web_contents->GetController(); 456 NavigationController* controller = &web_contents->GetController();
456 WaitForNavigations(controller, number_of_navigations); 457 WaitForNavigations(controller, number_of_navigations);
457 return; 458 return;
458 } 459 }
459 EXPECT_TRUE(NULL != web_contents) << " Unable to wait for navigation to \"" 460 EXPECT_TRUE(NULL != web_contents) << " Unable to wait for navigation to \""
460 << url.spec() << "\"" 461 << url.spec() << "\""
461 << " because we can't get the tab contents"; 462 << " because we can't get the tab contents";
462 } 463 }
463 464
464 void NavigateToURLWithDisposition(Browser* browser, 465 void NavigateToURLWithDisposition(Browser* browser,
465 const GURL& url, 466 const GURL& url,
(...skipping 458 matching lines...) Expand 10 before | Expand all | Expand 10 after
924 content::Source<WebContents>(web_contents)); 925 content::Source<WebContents>(web_contents));
925 926
926 // When navigating through the history, the restored NavigationEntry's title 927 // When navigating through the history, the restored NavigationEntry's title
927 // will be used. If the entry ends up having the same title after we return 928 // will be used. If the entry ends up having the same title after we return
928 // to it, as will usually be the case, the 929 // to it, as will usually be the case, the
929 // NOTIFICATION_WEB_CONTENTS_TITLE_UPDATED will then be suppressed, since the 930 // NOTIFICATION_WEB_CONTENTS_TITLE_UPDATED will then be suppressed, since the
930 // NavigationEntry's title hasn't changed. 931 // NavigationEntry's title hasn't changed.
931 notification_registrar_.Add( 932 notification_registrar_.Add(
932 this, 933 this,
933 content::NOTIFICATION_LOAD_STOP, 934 content::NOTIFICATION_LOAD_STOP,
934 content::Source<content::NavigationController>( 935 content::Source<NavigationController>(&web_contents->GetController()));
935 &web_contents->GetController()));
936 } 936 }
937 937
938 void TitleWatcher::AlsoWaitForTitle(const string16& expected_title) { 938 void TitleWatcher::AlsoWaitForTitle(const string16& expected_title) {
939 expected_titles_.push_back(expected_title); 939 expected_titles_.push_back(expected_title);
940 } 940 }
941 941
942 TitleWatcher::~TitleWatcher() { 942 TitleWatcher::~TitleWatcher() {
943 } 943 }
944 944
945 const string16& TitleWatcher::WaitAndGetTitle() { 945 const string16& TitleWatcher::WaitAndGetTitle() {
946 if (expected_title_observed_) 946 if (expected_title_observed_)
947 return observed_title_; 947 return observed_title_;
948 quit_loop_on_observation_ = true; 948 quit_loop_on_observation_ = true;
949 ui_test_utils::RunMessageLoop(); 949 ui_test_utils::RunMessageLoop();
950 return observed_title_; 950 return observed_title_;
951 } 951 }
952 952
953 void TitleWatcher::Observe(int type, 953 void TitleWatcher::Observe(int type,
954 const content::NotificationSource& source, 954 const content::NotificationSource& source,
955 const content::NotificationDetails& details) { 955 const content::NotificationDetails& details) {
956 if (type == content::NOTIFICATION_WEB_CONTENTS_TITLE_UPDATED) { 956 if (type == content::NOTIFICATION_WEB_CONTENTS_TITLE_UPDATED) {
957 WebContents* source_contents = content::Source<WebContents>(source).ptr(); 957 WebContents* source_contents = content::Source<WebContents>(source).ptr();
958 ASSERT_EQ(web_contents_, source_contents); 958 ASSERT_EQ(web_contents_, source_contents);
959 } else if (type == content::NOTIFICATION_LOAD_STOP) { 959 } else if (type == content::NOTIFICATION_LOAD_STOP) {
960 content::NavigationController* controller = 960 NavigationController* controller =
961 content::Source<content::NavigationController>(source).ptr(); 961 content::Source<NavigationController>(source).ptr();
962 ASSERT_EQ(&web_contents_->GetController(), controller); 962 ASSERT_EQ(&web_contents_->GetController(), controller);
963 } else { 963 } else {
964 FAIL() << "Unexpected notification received."; 964 FAIL() << "Unexpected notification received.";
965 } 965 }
966 966
967 std::vector<string16>::const_iterator it = 967 std::vector<string16>::const_iterator it =
968 std::find(expected_titles_.begin(), 968 std::find(expected_titles_.begin(),
969 expected_titles_.end(), 969 expected_titles_.end(),
970 web_contents_->GetTitle()); 970 web_contents_->GetTitle());
971 if (it == expected_titles_.end()) 971 if (it == expected_titles_.end())
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
1081 return taker.TakeRenderWidgetSnapshot(rwh, page_size, page_size, bitmap); 1081 return taker.TakeRenderWidgetSnapshot(rwh, page_size, page_size, bitmap);
1082 } 1082 }
1083 1083
1084 bool TakeEntirePageSnapshot(RenderViewHost* rvh, SkBitmap* bitmap) { 1084 bool TakeEntirePageSnapshot(RenderViewHost* rvh, SkBitmap* bitmap) {
1085 DCHECK(bitmap); 1085 DCHECK(bitmap);
1086 SnapshotTaker taker; 1086 SnapshotTaker taker;
1087 return taker.TakeEntirePageSnapshot(rvh, bitmap); 1087 return taker.TakeEntirePageSnapshot(rvh, bitmap);
1088 } 1088 }
1089 1089
1090 } // namespace ui_test_utils 1090 } // namespace ui_test_utils
OLDNEW
« no previous file with comments | « chrome/test/base/test_tab_strip_model_observer.cc ('k') | content/browser/speech/speech_input_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698