Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 "base/command_line.h" | 5 #include "base/command_line.h" |
| 6 #include "base/strings/string16.h" | 6 #include "base/strings/string16.h" |
| 7 #include "base/strings/string_split.h" | 7 #include "base/strings/string_split.h" |
| 8 #include "base/task_scheduler/post_task.h" | 8 #include "base/task_scheduler/post_task.h" |
| 9 #include "chrome/browser/history/history_service_factory.h" | 9 #include "chrome/browser/history/history_service_factory.h" |
| 10 #include "chrome/browser/history/history_test_utils.h" | 10 #include "chrome/browser/history/history_test_utils.h" |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 42 const char kPrefetchLoaderPath[] = "/prerender/prefetch_loader.html"; | 42 const char kPrefetchLoaderPath[] = "/prerender/prefetch_loader.html"; |
| 43 const char kPrefetchLoopPage[] = "prerender/prefetch_loop.html"; | 43 const char kPrefetchLoopPage[] = "prerender/prefetch_loop.html"; |
| 44 const char kPrefetchMetaCSP[] = "prerender/prefetch_meta_csp.html"; | 44 const char kPrefetchMetaCSP[] = "prerender/prefetch_meta_csp.html"; |
| 45 const char kPrefetchPage[] = "prerender/prefetch_page.html"; | 45 const char kPrefetchPage[] = "prerender/prefetch_page.html"; |
| 46 const char kPrefetchPage2[] = "prerender/prefetch_page2.html"; | 46 const char kPrefetchPage2[] = "prerender/prefetch_page2.html"; |
| 47 const char kPrefetchPng[] = "prerender/image.png"; | 47 const char kPrefetchPng[] = "prerender/image.png"; |
| 48 const char kPrefetchResponseHeaderCSP[] = | 48 const char kPrefetchResponseHeaderCSP[] = |
| 49 "prerender/prefetch_response_csp.html"; | 49 "prerender/prefetch_response_csp.html"; |
| 50 const char kPrefetchScript[] = "prerender/prefetch.js"; | 50 const char kPrefetchScript[] = "prerender/prefetch.js"; |
| 51 const char kPrefetchScript2[] = "prerender/prefetch2.js"; | 51 const char kPrefetchScript2[] = "prerender/prefetch2.js"; |
| 52 const char kServiceWorkerLoader[] = "prerender/service_worker.html"; | |
| 52 const char kPrefetchSubresourceRedirectPage[] = | 53 const char kPrefetchSubresourceRedirectPage[] = |
| 53 "prerender/prefetch_subresource_redirect.html"; | 54 "prerender/prefetch_subresource_redirect.html"; |
| 54 | 55 |
| 55 class NoStatePrefetchBrowserTest | 56 class NoStatePrefetchBrowserTest |
| 56 : public test_utils::PrerenderInProcessBrowserTest { | 57 : public test_utils::PrerenderInProcessBrowserTest { |
| 57 public: | 58 public: |
| 58 NoStatePrefetchBrowserTest() {} | 59 NoStatePrefetchBrowserTest() {} |
| 59 | 60 |
| 60 void SetUpOnMainThread() override { | 61 void SetUpOnMainThread() override { |
| 61 test_utils::PrerenderInProcessBrowserTest::SetUpOnMainThread(); | 62 test_utils::PrerenderInProcessBrowserTest::SetUpOnMainThread(); |
| (...skipping 445 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 507 constexpr net::RequestPriority kExpectedPriority = net::HIGHEST; | 508 constexpr net::RequestPriority kExpectedPriority = net::HIGHEST; |
| 508 #else | 509 #else |
| 509 constexpr net::RequestPriority kExpectedPriority = net::IDLE; | 510 constexpr net::RequestPriority kExpectedPriority = net::IDLE; |
| 510 #endif | 511 #endif |
| 511 EXPECT_EQ(kExpectedPriority, request->priority()); | 512 EXPECT_EQ(kExpectedPriority, request->priority()); |
| 512 })); | 513 })); |
| 513 PrefetchFromFile(kPrefetchPage, FINAL_STATUS_NOSTATE_PREFETCH_FINISHED); | 514 PrefetchFromFile(kPrefetchPage, FINAL_STATUS_NOSTATE_PREFETCH_FINISHED); |
| 514 script_counter.WaitForCount(1); | 515 script_counter.WaitForCount(1); |
| 515 } | 516 } |
| 516 | 517 |
| 518 // Checks that prefetch is canceled when there is a ServiceWorker. | |
| 519 IN_PROC_BROWSER_TEST_F(NoStatePrefetchBrowserTest, CancelOnServiceWorker) { | |
| 520 ui_test_utils::NavigateToURL( | |
| 521 current_browser(), | |
| 522 src_server()->GetURL(MakeAbsolute(kServiceWorkerLoader))); | |
| 523 | |
| 524 PrefetchFromFile(kPrefetchPage, FINAL_STATUS_SERVICE_WORKER); | |
| 525 } | |
| 526 | |
| 527 IN_PROC_BROWSER_TEST_F(NoStatePrefetchBrowserTest, CheckNoSW) { | |
|
mattcary
2016/12/13 16:08:47
This test here shows that a SW actually exists: I
| |
| 528 ui_test_utils::NavigateToURL( | |
| 529 current_browser(), | |
| 530 src_server()->GetURL(MakeAbsolute(kServiceWorkerLoader))); | |
| 531 | |
| 532 RequestCounter png; | |
| 533 CountRequestFor(kPrefetchPng, &png); | |
| 534 PrefetchFromFile(kPrefetchPage, FINAL_STATUS_SERVICE_WORKER); | |
| 535 png.WaitForCount(1); | |
| 536 } | |
| 537 | |
| 517 } // namespace prerender | 538 } // namespace prerender |
| OLD | NEW |