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

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

Issue 2411863002: [NoStatePrefetch] Kill renderer after preload scanning (Closed)
Patch Set: fixed a comment, removed unnecessary change from disabled test Created 4 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
« no previous file with comments | « no previous file | chrome/browser/prerender/prerender_final_status.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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 <stddef.h> 5 #include <stddef.h>
6 #include <deque> 6 #include <deque>
7 #include <set> 7 #include <set>
8 #include <string> 8 #include <string>
9 #include <unordered_map> 9 #include <unordered_map>
10 #include <utility> 10 #include <utility>
(...skipping 582 matching lines...) Expand 10 before | Expand all | Expand 10 after
593 593
594 class PrerenderBrowserTest : public test_utils::PrerenderInProcessBrowserTest { 594 class PrerenderBrowserTest : public test_utils::PrerenderInProcessBrowserTest {
595 public: 595 public:
596 PrerenderBrowserTest() 596 PrerenderBrowserTest()
597 : call_javascript_(true), 597 : call_javascript_(true),
598 check_load_events_(true), 598 check_load_events_(true),
599 loader_path_("/prerender/prerender_loader.html") {} 599 loader_path_("/prerender/prerender_loader.html") {}
600 600
601 ~PrerenderBrowserTest() override {} 601 ~PrerenderBrowserTest() override {}
602 602
603 std::unique_ptr<TestPrerender> PrerenderTestURL(
604 const std::string& html_file,
605 FinalStatus expected_final_status,
606 int expected_number_of_loads) {
607 GURL url = src_server()->GetURL(MakeAbsolute(html_file));
608 return PrerenderTestURL(url, expected_final_status,
609 expected_number_of_loads);
610 }
611
612 std::unique_ptr<TestPrerender> PrerenderTestURL(
613 const GURL& url,
614 FinalStatus expected_final_status,
615 int expected_number_of_loads) {
616 std::vector<FinalStatus> expected_final_status_queue(1,
617 expected_final_status);
618 auto prerenders = PrerenderTestURLImpl(url, expected_final_status_queue,
619 expected_number_of_loads);
620 CHECK_EQ(1u, prerenders.size());
621 return std::move(prerenders[0]);
622 }
623
624 std::vector<std::unique_ptr<TestPrerender>> PrerenderTestURL(
625 const std::string& html_file,
626 const std::vector<FinalStatus>& expected_final_status_queue,
627 int expected_number_of_loads) {
628 GURL url = src_server()->GetURL(MakeAbsolute(html_file));
629 return PrerenderTestURLImpl(url, expected_final_status_queue,
630 expected_number_of_loads);
631 }
632
603 void SetUpCommandLine(base::CommandLine* command_line) override { 633 void SetUpCommandLine(base::CommandLine* command_line) override {
604 PrerenderInProcessBrowserTest::SetUpCommandLine(command_line); 634 PrerenderInProcessBrowserTest::SetUpCommandLine(command_line);
605 command_line->AppendSwitchASCII(switches::kPrerenderMode, 635 command_line->AppendSwitchASCII(switches::kPrerenderMode,
606 switches::kPrerenderModeSwitchValueEnabled); 636 switches::kPrerenderModeSwitchValueEnabled);
607 } 637 }
608 638
609 void SetUpInProcessBrowserTestFixture() override { 639 void SetUpInProcessBrowserTestFixture() override {
610 test_utils::PrerenderInProcessBrowserTest:: 640 test_utils::PrerenderInProcessBrowserTest::
611 SetUpInProcessBrowserTestFixture(); 641 SetUpInProcessBrowserTestFixture();
612 642
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
903 private: 933 private:
904 // TODO(davidben): Remove this altogether so the tests don't globally assume 934 // TODO(davidben): Remove this altogether so the tests don't globally assume
905 // only one prerender. 935 // only one prerender.
906 TestPrerenderContents* GetPrerenderContents() const { 936 TestPrerenderContents* GetPrerenderContents() const {
907 return GetPrerenderContentsFor(dest_url_); 937 return GetPrerenderContentsFor(dest_url_);
908 } 938 }
909 939
910 std::vector<std::unique_ptr<TestPrerender>> PrerenderTestURLImpl( 940 std::vector<std::unique_ptr<TestPrerender>> PrerenderTestURLImpl(
911 const GURL& prerender_url, 941 const GURL& prerender_url,
912 const std::vector<FinalStatus>& expected_final_status_queue, 942 const std::vector<FinalStatus>& expected_final_status_queue,
913 int expected_number_of_loads) override { 943 int expected_number_of_loads) {
914 dest_url_ = prerender_url; 944 dest_url_ = prerender_url;
915 945
916 base::StringPairs replacement_text; 946 GURL loader_url = ServeLoaderURL(loader_path_, "REPLACE_WITH_PRERENDER_URL",
917 replacement_text.push_back( 947 prerender_url, "&" + loader_query_);
918 make_pair("REPLACE_WITH_PRERENDER_URL", prerender_url.spec()));
919 std::string replacement_path;
920 net::test_server::GetFilePathWithReplacements(
921 loader_path_, replacement_text, &replacement_path);
922
923 GURL loader_url =
924 src_server()->GetURL(replacement_path + "&" + loader_query_);
925
926 GURL::Replacements loader_replacements; 948 GURL::Replacements loader_replacements;
927 if (!loader_host_override_.empty()) 949 if (!loader_host_override_.empty())
928 loader_replacements.SetHostStr(loader_host_override_); 950 loader_replacements.SetHostStr(loader_host_override_);
929 loader_url = loader_url.ReplaceComponents(loader_replacements); 951 loader_url = loader_url.ReplaceComponents(loader_replacements);
930 952
931 std::vector<std::unique_ptr<TestPrerender>> prerenders = 953 std::vector<std::unique_ptr<TestPrerender>> prerenders =
932 NavigateWithPrerenders(loader_url, expected_final_status_queue, 954 NavigateWithPrerenders(loader_url, expected_final_status_queue);
933 expected_number_of_loads); 955 prerenders[0]->WaitForLoads(expected_number_of_loads);
934 956
935 FinalStatus expected_final_status = expected_final_status_queue.front(); 957 FinalStatus expected_final_status = expected_final_status_queue.front();
936 if (ShouldAbortPrerenderBeforeSwap(expected_final_status)) { 958 if (ShouldAbortPrerenderBeforeSwap(expected_final_status)) {
937 // The prerender will abort on its own. Assert it does so correctly. 959 // The prerender will abort on its own. Assert it does so correctly.
938 prerenders[0]->WaitForStop(); 960 prerenders[0]->WaitForStop();
939 EXPECT_FALSE(prerenders[0]->contents()); 961 EXPECT_FALSE(prerenders[0]->contents());
940 EXPECT_TRUE(DidReceivePrerenderStopEventForLinkNumber(0)); 962 EXPECT_TRUE(DidReceivePrerenderStopEventForLinkNumber(0));
941 } else { 963 } else {
942 // Otherwise, check that it prerendered correctly. 964 // Otherwise, check that it prerendered correctly.
943 TestPrerenderContents* prerender_contents = prerenders[0]->contents(); 965 TestPrerenderContents* prerender_contents = prerenders[0]->contents();
(...skipping 2393 matching lines...) Expand 10 before | Expand all | Expand 10 after
3337 browser()->tab_strip_model()->GetActiveWebContents(); 3359 browser()->tab_strip_model()->GetActiveWebContents();
3338 bool display_test_result = false; 3360 bool display_test_result = false;
3339 ASSERT_TRUE(content::ExecuteScriptAndExtractBool(web_contents, 3361 ASSERT_TRUE(content::ExecuteScriptAndExtractBool(web_contents,
3340 "DidDisplayReallyPass()", 3362 "DidDisplayReallyPass()",
3341 &display_test_result)); 3363 &display_test_result));
3342 ASSERT_TRUE(display_test_result); 3364 ASSERT_TRUE(display_test_result);
3343 } 3365 }
3344 #endif // !defined(DISABLE_NACL) 3366 #endif // !defined(DISABLE_NACL)
3345 3367
3346 } // namespace prerender 3368 } // namespace prerender
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/prerender/prerender_final_status.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698