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

Side by Side Diff: chrome/browser/prerender/prerender_browsertest.cc

Issue 8503040: Prerendering: Add MatchComplete PPLT (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 1 month 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
« no previous file with comments | « no previous file | chrome/browser/prerender/prerender_contents.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 <deque> 5 #include <deque>
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/path_service.h" 8 #include "base/path_service.h"
9 #include "base/stringprintf.h" 9 #include "base/stringprintf.h"
10 #include "base/string_util.h" 10 #include "base/string_util.h"
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 PrerenderManager::kNoExperiment), 120 PrerenderManager::kNoExperiment),
121 number_of_loads_(0), 121 number_of_loads_(0),
122 expected_number_of_loads_(expected_number_of_loads), 122 expected_number_of_loads_(expected_number_of_loads),
123 expected_final_status_(expected_final_status), 123 expected_final_status_(expected_final_status),
124 new_render_view_host_(NULL), 124 new_render_view_host_(NULL),
125 was_hidden_(false), 125 was_hidden_(false),
126 was_shown_(false), 126 was_shown_(false),
127 should_be_shown_(expected_final_status == FINAL_STATUS_USED), 127 should_be_shown_(expected_final_status == FINAL_STATUS_USED),
128 quit_message_loop_on_destruction_( 128 quit_message_loop_on_destruction_(
129 expected_final_status != FINAL_STATUS_EVICTED && 129 expected_final_status != FINAL_STATUS_EVICTED &&
130 expected_final_status != FINAL_STATUS_APP_TERMINATING), 130 expected_final_status != FINAL_STATUS_APP_TERMINATING &&
131 expected_final_status != FINAL_STATUS_MATCH_COMPLETE_DUMMY),
131 expected_pending_prerenders_(0) { 132 expected_pending_prerenders_(0) {
132 if (expected_number_of_loads == 0) 133 if (expected_number_of_loads == 0)
133 MessageLoopForUI::current()->Quit(); 134 MessageLoopForUI::current()->Quit();
134 } 135 }
135 136
136 virtual ~TestPrerenderContents() { 137 virtual ~TestPrerenderContents() {
137 EXPECT_EQ(expected_final_status_, final_status()) << 138 EXPECT_EQ(expected_final_status_, final_status()) <<
138 " when testing URL " << prerender_url().path() << 139 " when testing URL " << prerender_url().path() <<
139 " (Expected: " << NameFromFinalStatus(expected_final_status_) << 140 " (Expected: " << NameFromFinalStatus(expected_final_status_) <<
140 ", Actual: " << NameFromFinalStatus(final_status()) << ")"; 141 ", Actual: " << NameFromFinalStatus(final_status()) << ")";
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
296 } 297 }
297 298
298 virtual PrerenderContents* CreatePrerenderContents( 299 virtual PrerenderContents* CreatePrerenderContents(
299 PrerenderManager* prerender_manager, 300 PrerenderManager* prerender_manager,
300 PrerenderTracker* prerender_tracker, 301 PrerenderTracker* prerender_tracker,
301 Profile* profile, 302 Profile* profile,
302 const GURL& url, 303 const GURL& url,
303 const GURL& referrer, 304 const GURL& referrer,
304 Origin origin, 305 Origin origin,
305 uint8 experiment_id) OVERRIDE { 306 uint8 experiment_id) OVERRIDE {
306 CHECK(!expected_final_status_queue_.empty()) << 307 FinalStatus expected_final_status = FINAL_STATUS_MATCH_COMPLETE_DUMMY;
307 "Creating prerender contents for " << url.path() << 308 if (!expected_final_status_queue_.empty()) {
308 " with no expected final status"; 309 expected_final_status = expected_final_status_queue_.front();
309 FinalStatus expected_final_status = expected_final_status_queue_.front(); 310 expected_final_status_queue_.pop_front();
310 expected_final_status_queue_.pop_front(); 311 }
311 VLOG(1) << "Creating prerender contents for " << url.path() << 312 VLOG(1) << "Creating prerender contents for " << url.path() <<
312 " with expected final status " << expected_final_status; 313 " with expected final status " << expected_final_status;
313 VLOG(1) << expected_final_status_queue_.size() << " left in the queue."; 314 VLOG(1) << expected_final_status_queue_.size() << " left in the queue.";
314 return new TestPrerenderContents(prerender_manager, prerender_tracker, 315 return new TestPrerenderContents(prerender_manager, prerender_tracker,
315 profile, url, 316 profile, url,
316 referrer, expected_number_of_loads_, 317 referrer, expected_number_of_loads_,
317 expected_final_status); 318 expected_final_status);
318 } 319 }
319 320
320 private: 321 private:
(...skipping 392 matching lines...) Expand 10 before | Expand all | Expand 10 after
713 // Check if page behaves as expected while in prerendered state. 714 // Check if page behaves as expected while in prerendered state.
714 bool prerender_test_result = false; 715 bool prerender_test_result = false;
715 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( 716 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool(
716 prerender_contents->render_view_host_mutable(), L"", 717 prerender_contents->render_view_host_mutable(), L"",
717 L"window.domAutomationController.send(DidPrerenderPass())", 718 L"window.domAutomationController.send(DidPrerenderPass())",
718 &prerender_test_result)); 719 &prerender_test_result));
719 EXPECT_TRUE(prerender_test_result); 720 EXPECT_TRUE(prerender_test_result);
720 } 721 }
721 } else { 722 } else {
722 // In the failure case, we should have removed |dest_url_| from the 723 // In the failure case, we should have removed |dest_url_| from the
723 // prerender_manager. 724 // prerender_manager. We ignore dummy PrerenderContents (as indicated
724 EXPECT_TRUE(prerender_contents == NULL); 725 // by not having started).
726 EXPECT_TRUE(prerender_contents == NULL ||
727 !prerender_contents->prerendering_has_started());
725 } 728 }
726 } 729 }
727 730
728 void NavigateToURLImpl(const GURL& dest_url, 731 void NavigateToURLImpl(const GURL& dest_url,
729 WindowOpenDisposition disposition) const { 732 WindowOpenDisposition disposition) const {
730 // Make sure in navigating we have a URL to use in the PrerenderManager. 733 // Make sure in navigating we have a URL to use in the PrerenderManager.
731 ASSERT_TRUE(GetPrerenderContents() != NULL); 734 ASSERT_TRUE(GetPrerenderContents() != NULL);
732 735
733 // If opening the page in a background tab, it won't be shown when swapped 736 // If opening the page in a background tab, it won't be shown when swapped
734 // in. 737 // in.
(...skipping 1090 matching lines...) Expand 10 before | Expand all | Expand 10 after
1825 TabContents* tab_contents = browser()->GetSelectedTabContents(); 1828 TabContents* tab_contents = browser()->GetSelectedTabContents();
1826 RenderViewHost* inspected_rvh = tab_contents->render_view_host(); 1829 RenderViewHost* inspected_rvh = tab_contents->render_view_host();
1827 DevToolsManager* manager = DevToolsManager::GetInstance(); 1830 DevToolsManager* manager = DevToolsManager::GetInstance();
1828 FakeDevToolsClientHost client_host; 1831 FakeDevToolsClientHost client_host;
1829 manager->RegisterDevToolsClientHostFor(inspected_rvh, &client_host); 1832 manager->RegisterDevToolsClientHostFor(inspected_rvh, &client_host);
1830 const char* url = "files/prerender/prerender_page.html"; 1833 const char* url = "files/prerender/prerender_page.html";
1831 PrerenderTestURL(url, FINAL_STATUS_DEVTOOLS_ATTACHED, 1); 1834 PrerenderTestURL(url, FINAL_STATUS_DEVTOOLS_ATTACHED, 1);
1832 NavigateToURL(url); 1835 NavigateToURL(url);
1833 } 1836 }
1834 1837
1835 #if defined(OS_MACOSX) || defined(OS_WIN)
1836 // http://crbug.com/103563
1837 #define PrerenderSessionStorage FLAKY_PrerenderSessionStorage
1838 #endif
1839 // Validate that the sessionStorage namespace remains the same when swapping 1838 // Validate that the sessionStorage namespace remains the same when swapping
1840 // in a prerendered page. 1839 // in a prerendered page.
1841 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderSessionStorage) { 1840 // http://crbug.com/103563
1841 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, DISABLED_PrerenderSessionStorage) {
1842 set_loader_path("files/prerender/prerender_loader_with_session_storage.html"); 1842 set_loader_path("files/prerender/prerender_loader_with_session_storage.html");
1843 PrerenderTestURL(GetCrossDomainTestUrl("files/prerender/prerender_page.html"), 1843 PrerenderTestURL(GetCrossDomainTestUrl("files/prerender/prerender_page.html"),
1844 FINAL_STATUS_USED, 1844 FINAL_STATUS_USED,
1845 1); 1845 1);
1846 NavigateToDestURL(); 1846 NavigateToDestURL();
1847 GoBackToPageBeforePrerender(browser()); 1847 GoBackToPageBeforePrerender(browser());
1848 } 1848 }
1849 1849
1850 } // namespace prerender 1850 } // namespace prerender
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/prerender/prerender_contents.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698