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

Unified Diff: chrome/browser/prerender/prerender_browsertest.cc

Issue 6948002: Change TaskManager test to be in line with new TabContents lifetime uncertainty when Prerendering. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove assumption that index stays the same after navigation. Created 9 years, 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/test/data/prerender/prerender_page.html » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/prerender/prerender_browsertest.cc
diff --git a/chrome/browser/prerender/prerender_browsertest.cc b/chrome/browser/prerender/prerender_browsertest.cc
index bbea33c53abe01269e620115fe7612c2b8f01af8..4328c951b21dad7a8be0bc6c154d27679c1f4313 100644
--- a/chrome/browser/prerender/prerender_browsertest.cc
+++ b/chrome/browser/prerender/prerender_browsertest.cc
@@ -710,33 +710,56 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, TaskManager) {
browser()->window()->ShowTaskManager();
// Start with two resources.
- EXPECT_EQ(2, model()->ResourceCount());
PrerenderTestURL("files/prerender/prerender_page.html", FINAL_STATUS_USED, 1);
- // The prerender makes three.
- EXPECT_EQ(3, model()->ResourceCount());
-
- // It should have a TabContents associated with it.
- ASSERT_TRUE(model()->GetResourceTabContents(1) != NULL);
-
- // The prefix should be "Prerender:"
- string16 prefix =
- l10n_util::GetStringFUTF16(IDS_TASK_MANAGER_PRERENDER_PREFIX,
- string16());
- ASSERT_TRUE(StartsWith(model()->GetResourceTitle(2), prefix, true));
+ // One of the resources that has a TabContents associated with it should have
+ // the Prerender prefix.
+ const string16 prefix =
+ l10n_util::GetStringFUTF16(IDS_TASK_MANAGER_PRERENDER_PREFIX, string16());
+ string16 prerender_title;
+ int num_prerender_tabs = 0;
+
+ VLOG(1) << "After prerender:";
+ for (int i = 0; i < model()->ResourceCount(); ++i) {
+ VLOG(1) << " " << i << ": " << model()->GetResourceTitle(i);
+ if (model()->GetResourceTabContents(i)) {
+ prerender_title = model()->GetResourceTitle(i);
+ if (StartsWith(prerender_title, prefix, true))
+ ++num_prerender_tabs;
+ }
+ }
+ ASSERT_EQ(1, num_prerender_tabs);
+ const string16 prerender_page_title = prerender_title.substr(prefix.length());
NavigateToDestURL();
- // Prerender task should become a normal tab.
- EXPECT_EQ(3, model()->ResourceCount());
-
- // It should have a TabContents associated with it.
- ASSERT_TRUE(model()->GetResourceTabContents(2) != NULL);
-
- // The prefix should now be "Tab:"
- prefix = l10n_util::GetStringFUTF16(IDS_TASK_MANAGER_TAB_PREFIX,
- string16());
- ASSERT_TRUE(StartsWith(model()->GetResourceTitle(2), prefix, true));
+ // There should be no Tabs with the Prerender prefix.
mmenke 2011/05/06 17:29:54 nit: Don't capitalize "tab", as it's not a class,
dominich 2011/05/06 19:19:14 Done.
+ const string16 tab_prefix =
+ l10n_util::GetStringFUTF16(IDS_TASK_MANAGER_TAB_PREFIX, string16());
+ num_prerender_tabs = 0;
+ bool found_tab_with_prerender_page_title = false;
+ VLOG(1) << "After navigate:";
+ for (int i = 0; i < model()->ResourceCount(); ++i) {
+ VLOG(1) << " " << i << ": " << model()->GetResourceTitle(i);
+ if (model()->GetResourceTabContents(i)) {
+ string16 tab_title = model()->GetResourceTitle(i);
+ if (StartsWith(tab_title, prefix, true)) {
+ ++num_prerender_tabs;
+ } else {
+ ASSERT_TRUE(StartsWith(tab_title, tab_prefix, true));
+
+ // The prerender tab should now be a normal tab but the title should be
+ // the same.
+ const string16 tab_page_title = tab_title.substr(tab_prefix.length());
+ if (!found_tab_with_prerender_page_title &&
mmenke 2011/05/06 17:29:54 Is this first check really needed? Doesn't seem t
dominich 2011/05/06 19:19:14 Done.
+ prerender_page_title.compare(tab_page_title) == 0) {
+ found_tab_with_prerender_page_title = true;
+ }
+ }
+ }
+ }
+ ASSERT_EQ(0, num_prerender_tabs);
+ ASSERT_TRUE(found_tab_with_prerender_page_title);
}
// Checks that prerenderers will terminate when an audio tag is encountered.
« no previous file with comments | « no previous file | chrome/test/data/prerender/prerender_page.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698