Index: chrome/browser/prerender/prerender_browsertest.cc |
diff --git a/chrome/browser/prerender/prerender_browsertest.cc b/chrome/browser/prerender/prerender_browsertest.cc |
index d997908a458359ab66db36a2544b5738a000d223..0d0202c05a67546806efbee439f9d90d09ef0abd 100644 |
--- a/chrome/browser/prerender/prerender_browsertest.cc |
+++ b/chrome/browser/prerender/prerender_browsertest.cc |
@@ -21,6 +21,7 @@ |
#include "base/values.h" |
#include "chrome/browser/browsing_data/browsing_data_helper.h" |
#include "chrome/browser/browsing_data/browsing_data_remover.h" |
+#include "chrome/browser/browsing_data/browsing_data_remover_test_util.h" |
#include "chrome/browser/chrome_content_browser_client.h" |
#include "chrome/browser/chrome_notification_types.h" |
#include "chrome/browser/content_settings/host_content_settings_map.h" |
@@ -137,7 +138,9 @@ std::string CreateServerRedirect(const std::string& dest_url) { |
void ClearBrowsingData(Browser* browser, int remove_mask) { |
BrowsingDataRemover* remover = |
BrowsingDataRemover::CreateForUnboundedRange(browser->profile()); |
+ BrowsingDataRemoverCompletionObserver observer(remover); |
remover->Remove(remove_mask, BrowsingDataHelper::UNPROTECTED_WEB); |
+ observer.BlockUntilCompletion(); |
// BrowsingDataRemover deletes itself. |
} |
@@ -3113,28 +3116,22 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderClearHistory) { |
FINAL_STATUS_CACHE_OR_HISTORY_CLEARED, |
1); |
- base::MessageLoop::current()->PostTask( |
- FROM_HERE, |
- base::Bind(&ClearBrowsingData, current_browser(), |
- BrowsingDataRemover::REMOVE_HISTORY)); |
+ ClearBrowsingData(current_browser(), BrowsingDataRemover::REMOVE_HISTORY); |
prerender->WaitForStop(); |
// Make sure prerender history was cleared. |
EXPECT_EQ(0, GetHistoryLength()); |
} |
-// Disabled due to flakiness: crbug.com/316225 |
// Checks that when the cache is cleared, prerenders are cancelled but |
// prerendering history is not cleared. |
-IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, DISABLED_PrerenderClearCache) { |
+IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderClearCache) { |
scoped_ptr<TestPrerender> prerender = |
PrerenderTestURL("files/prerender/prerender_page.html", |
FINAL_STATUS_CACHE_OR_HISTORY_CLEARED, |
1); |
- base::MessageLoop::current()->PostTask(FROM_HERE, |
- base::Bind(&ClearBrowsingData, current_browser(), |
- BrowsingDataRemover::REMOVE_CACHE)); |
+ ClearBrowsingData(current_browser(), BrowsingDataRemover::REMOVE_CACHE); |
prerender->WaitForStop(); |
// Make sure prerender history was not cleared. Not a vital behavior, but |