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

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

Issue 6880139: Changing URL match method to support fragments. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Removing unnecessary whitespace. Created 9 years, 8 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) 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 "base/command_line.h" 5 #include "base/command_line.h"
6 #include "base/path_service.h" 6 #include "base/path_service.h"
7 #include "base/string_util.h" 7 #include "base/string_util.h"
8 #include "chrome/browser/prerender/prerender_contents.h" 8 #include "chrome/browser/prerender/prerender_contents.h"
9 #include "chrome/browser/prerender/prerender_manager.h" 9 #include "chrome/browser/prerender/prerender_manager.h"
10 #include "chrome/browser/profiles/profile.h" 10 #include "chrome/browser/profiles/profile.h"
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 void PrerenderTestURL( 161 void PrerenderTestURL(
162 const std::string& html_file, 162 const std::string& html_file,
163 const std::deque<FinalStatus>& expected_final_status_queue, 163 const std::deque<FinalStatus>& expected_final_status_queue,
164 int total_navigations) { 164 int total_navigations) {
165 PrerenderTestURLImpl(html_file, 165 PrerenderTestURLImpl(html_file,
166 expected_final_status_queue, 166 expected_final_status_queue,
167 total_navigations); 167 total_navigations);
168 } 168 }
169 169
170 void NavigateToDestURL() const { 170 void NavigateToDestURL() const {
171 ui_test_utils::NavigateToURL(browser(), dest_url_); 171 NavigateToURLImpl(dest_url_);
172 }
172 173
173 // Make sure the PrerenderContents found earlier was used or removed 174 // Should be const but test_server()->GetURL(...) is not const.
174 EXPECT_TRUE(prerender_manager()->FindEntry(dest_url_) == NULL); 175 void NavigateToURL(const std::string& dest_html_file) {
175 176 const GURL dest_url = test_server()->GetURL(dest_html_file);
176 // Check if page behaved as expected when actually displayed. 177 NavigateToURLImpl(dest_url);
177 bool display_test_result = false;
178 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool(
179 browser()->GetSelectedTabContents()->render_view_host(), L"",
180 L"window.domAutomationController.send(DidDisplayPass())",
181 &display_test_result));
182 EXPECT_TRUE(display_test_result);
183 } 178 }
184 179
185 bool UrlIsInPrerenderManager(const std::string& html_file) { 180 bool UrlIsInPrerenderManager(const std::string& html_file) {
186 GURL dest_url = test_server()->GetURL(html_file); 181 GURL dest_url = test_server()->GetURL(html_file);
187 return (prerender_manager()->FindEntry(dest_url) != NULL); 182 return (prerender_manager()->FindEntry(dest_url) != NULL);
188 } 183 }
189 184
190 bool UrlIsInPrerenderManager(const GURL& url) { 185 bool UrlIsInPrerenderManager(const GURL& url) {
191 return (prerender_manager()->FindEntry(url) != NULL); 186 return (prerender_manager()->FindEntry(url) != NULL);
192 } 187 }
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 break; 267 break;
273 } 268 }
274 default: 269 default:
275 // In the failure case, we should have removed dest_url_ from the 270 // In the failure case, we should have removed dest_url_ from the
276 // prerender_manager. 271 // prerender_manager.
277 EXPECT_TRUE(prerender_contents == NULL); 272 EXPECT_TRUE(prerender_contents == NULL);
278 break; 273 break;
279 } 274 }
280 } 275 }
281 276
277 void NavigateToURLImpl(const GURL& dest_url) const {
278 ui_test_utils::NavigateToURL(browser(), dest_url);
279
280 // Make sure the PrerenderContents found earlier was used or removed
281 EXPECT_TRUE(prerender_manager()->FindEntry(dest_url_) == NULL);
282
283 // Check if page behaved as expected when actually displayed.
284 bool display_test_result = false;
285 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool(
286 browser()->GetSelectedTabContents()->render_view_host(), L"",
287 L"window.domAutomationController.send(DidDisplayPass())",
288 &display_test_result));
289 EXPECT_TRUE(display_test_result);
290 }
291
282 PrerenderManager* prerender_manager() const { 292 PrerenderManager* prerender_manager() const {
283 Profile* profile = browser()->GetSelectedTabContents()->profile(); 293 Profile* profile = browser()->GetSelectedTabContents()->profile();
284 PrerenderManager* prerender_manager = profile->GetPrerenderManager(); 294 PrerenderManager* prerender_manager = profile->GetPrerenderManager();
285 return prerender_manager; 295 return prerender_manager;
286 } 296 }
287 297
288 WaitForLoadPrerenderContentsFactory* prc_factory_; 298 WaitForLoadPrerenderContentsFactory* prc_factory_;
289 GURL dest_url_; 299 GURL dest_url_;
290 bool use_https_src_server_; 300 bool use_https_src_server_;
291 }; 301 };
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after
655 } 665 }
656 666
657 // Checks that prerenderers will terminate when a video tag is inserted via 667 // Checks that prerenderers will terminate when a video tag is inserted via
658 // javascript. 668 // javascript.
659 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderHTML5VideoJs) { 669 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderHTML5VideoJs) {
660 PrerenderTestURL("files/prerender/prerender_html5_video_script.html", 670 PrerenderTestURL("files/prerender/prerender_html5_video_script.html",
661 FINAL_STATUS_HTML5_MEDIA, 671 FINAL_STATUS_HTML5_MEDIA,
662 1); 672 1);
663 } 673 }
664 674
675 // Checks that we correctly use a prerendered page when navigating to a
676 // fragment.
677 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderPageNavigateFragment) {
678 PrerenderTestURL("files/prerender/prerender_fragment.html",
679 FINAL_STATUS_USED,
680 1);
681 NavigateToURL("files/prerender/prerender_fragment.html#fragment");
682 }
683
684 // Checks that we correctly use a prerendered page when we prerender a fragment
685 // but navigate to the main page.
686 IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderFragmentNavigatePage) {
687 PrerenderTestURL("files/prerender/prerender_page.html#fragment",
688 FINAL_STATUS_USED,
689 1);
690 NavigateToURL("files/prerender/prerender_page.html");
691 }
692
665 } // namespace prerender 693 } // namespace prerender
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/prerender/prerender_contents.cc » ('j') | chrome/browser/prerender/prerender_contents.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698