summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
authortburkard@chromium.org <tburkard@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-22 15:56:22 +0000
committertburkard@chromium.org <tburkard@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-22 15:56:22 +0000
commit6bb2e9a096168eb611325b9d560c22fc80a09bb4 (patch)
treea2be37b5d2ed8fa1d42f99e2dbcc1f3d315705b6 /chrome/browser
parentd4905bc202830644fb80f7491343b30afc0487e0 (diff)
downloadchromium_src-6bb2e9a096168eb611325b9d560c22fc80a09bb4.zip
chromium_src-6bb2e9a096168eb611325b9d560c22fc80a09bb4.tar.gz
chromium_src-6bb2e9a096168eb611325b9d560c22fc80a09bb4.tar.bz2
Deflakify Prerender Favicon Test by removing timer and using
an observer instead. BUG=85729 Review URL: http://codereview.chromium.org/7218024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90035 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
-rw-r--r--chrome/browser/favicon/favicon_tab_helper.cc5
-rw-r--r--chrome/browser/prerender/prerender_browsertest.cc18
2 files changed, 11 insertions, 12 deletions
diff --git a/chrome/browser/favicon/favicon_tab_helper.cc b/chrome/browser/favicon/favicon_tab_helper.cc
index 0200e47..426d3e7 100644
--- a/chrome/browser/favicon/favicon_tab_helper.cc
+++ b/chrome/browser/favicon/favicon_tab_helper.cc
@@ -15,6 +15,7 @@
#include "content/browser/tab_contents/tab_contents_delegate.h"
#include "content/browser/tab_contents/tab_contents.h"
#include "content/browser/webui/web_ui.h"
+#include "content/common/notification_service.h"
#include "ui/gfx/codec/png_codec.h"
#include "ui/gfx/image/image.h"
@@ -135,6 +136,10 @@ void FaviconTabHelper::StartDownload(int id, const GURL& url, int image_size) {
}
void FaviconTabHelper::NotifyFaviconUpdated() {
+ NotificationService::current()->Notify(
+ NotificationType::FAVICON_UPDATED,
+ Source<TabContents>(tab_contents()),
+ NotificationService::NoDetails());
tab_contents()->NotifyNavigationStateChanged(TabContents::INVALIDATE_TAB);
}
diff --git a/chrome/browser/prerender/prerender_browsertest.cc b/chrome/browser/prerender/prerender_browsertest.cc
index f1dec03..1b598c2 100644
--- a/chrome/browser/prerender/prerender_browsertest.cc
+++ b/chrome/browser/prerender/prerender_browsertest.cc
@@ -1385,24 +1385,18 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderLocalStorageWrite) {
}
// Checks that the favicon is properly loaded on prerender.
-// FLAKY: http://crbug.com/85729
-IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, FLAKY_PrerenderFavicon) {
+IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderFavicon) {
PrerenderTestURL("files/prerender/prerender_favicon.html",
FINAL_STATUS_USED,
1);
TestPrerenderContents* prerender_contents = GetPrerenderContents();
ASSERT_TRUE(prerender_contents != NULL);
- prerender_contents->set_quit_message_loop_on_destruction(false);
- // The Favicon should show within two seconds of navigating to the page,
- // otherwise something is wrong.
- MessageLoopForUI::current()->PostDelayedTask(
- FROM_HERE,
- new MessageLoop::QuitTask(),
- TestTimeouts::action_timeout_ms());
+ ui_test_utils::WindowedNotificationObserver favicon_update_watcher(
+ NotificationType::FAVICON_UPDATED,
+ Source<TabContents>(prerender_contents->prerender_contents()->
+ tab_contents()));
NavigateToDestURL();
- ASSERT_TRUE(TabContentsWrapper::GetCurrentWrapperForContents(
- browser()->GetSelectedTabContents())->favicon_tab_helper()
- ->FaviconIsValid());
+ favicon_update_watcher.Wait();
}
// Checks that when a prerendered page is swapped in to a referring page, the