OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 <stdint.h> | 6 #include <stdint.h> |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <memory> | 9 #include <memory> |
10 #include <utility> | 10 #include <utility> |
(...skipping 623 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
634 *result = fetch_result.result; | 634 *result = fetch_result.result; |
635 *response = fetch_result.response; | 635 *response = fetch_result.response; |
636 *blob_data_handle = std::move(fetch_result.blob_data_handle); | 636 *blob_data_handle = std::move(fetch_result.blob_data_handle); |
637 ASSERT_EQ(SERVICE_WORKER_OK, fetch_result.status); | 637 ASSERT_EQ(SERVICE_WORKER_OK, fetch_result.status); |
638 } | 638 } |
639 | 639 |
640 void SetUpRegistrationOnIOThread(const std::string& worker_url) { | 640 void SetUpRegistrationOnIOThread(const std::string& worker_url) { |
641 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 641 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
642 const GURL pattern = embedded_test_server()->GetURL("/service_worker/"); | 642 const GURL pattern = embedded_test_server()->GetURL("/service_worker/"); |
643 registration_ = new ServiceWorkerRegistration( | 643 registration_ = new ServiceWorkerRegistration( |
644 pattern, | 644 ServiceWorkerRegistrationOptions(pattern), |
645 wrapper()->context()->storage()->NewRegistrationId(), | 645 wrapper()->context()->storage()->NewRegistrationId(), |
646 wrapper()->context()->AsWeakPtr()); | 646 wrapper()->context()->AsWeakPtr()); |
647 // Set the update check time to avoid triggering updates in the middle of | 647 // Set the update check time to avoid triggering updates in the middle of |
648 // tests. | 648 // tests. |
649 registration_->set_last_update_check(base::Time::Now()); | 649 registration_->set_last_update_check(base::Time::Now()); |
650 | 650 |
651 version_ = new ServiceWorkerVersion( | 651 version_ = new ServiceWorkerVersion( |
652 registration_.get(), | 652 registration_.get(), |
653 embedded_test_server()->GetURL(worker_url), | 653 embedded_test_server()->GetURL(worker_url), |
654 wrapper()->context()->storage()->NewVersionId(), | 654 wrapper()->context()->storage()->NewVersionId(), |
(...skipping 744 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1399 content_browser_client.set_data_saver_enabled(true); | 1399 content_browser_client.set_data_saver_enabled(true); |
1400 ContentBrowserClient* old_client = | 1400 ContentBrowserClient* old_client = |
1401 SetBrowserClientForTesting(&content_browser_client); | 1401 SetBrowserClientForTesting(&content_browser_client); |
1402 shell()->web_contents()->GetRenderViewHost()->OnWebkitPreferencesChanged(); | 1402 shell()->web_contents()->GetRenderViewHost()->OnWebkitPreferencesChanged(); |
1403 scoped_refptr<WorkerActivatedObserver> observer = | 1403 scoped_refptr<WorkerActivatedObserver> observer = |
1404 new WorkerActivatedObserver(wrapper()); | 1404 new WorkerActivatedObserver(wrapper()); |
1405 observer->Init(); | 1405 observer->Init(); |
1406 public_context()->RegisterServiceWorker( | 1406 public_context()->RegisterServiceWorker( |
1407 embedded_test_server()->GetURL(kPageUrl), | 1407 embedded_test_server()->GetURL(kPageUrl), |
1408 embedded_test_server()->GetURL(kWorkerUrl), | 1408 embedded_test_server()->GetURL(kWorkerUrl), |
| 1409 blink::WebServiceWorkerUpdateViaCache::kImports, |
1409 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); | 1410 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); |
1410 observer->Wait(); | 1411 observer->Wait(); |
1411 | 1412 |
1412 const base::string16 title1 = base::ASCIIToUTF16("save-data=on"); | 1413 const base::string16 title1 = base::ASCIIToUTF16("save-data=on"); |
1413 TitleWatcher title_watcher1(shell()->web_contents(), title1); | 1414 TitleWatcher title_watcher1(shell()->web_contents(), title1); |
1414 NavigateToURL(shell(), embedded_test_server()->GetURL(kPageUrl)); | 1415 NavigateToURL(shell(), embedded_test_server()->GetURL(kPageUrl)); |
1415 EXPECT_EQ(title1, title_watcher1.WaitAndGetTitle()); | 1416 EXPECT_EQ(title1, title_watcher1.WaitAndGetTitle()); |
1416 | 1417 |
1417 SetBrowserClientForTesting(old_client); | 1418 SetBrowserClientForTesting(old_client); |
1418 shell()->Close(); | 1419 shell()->Close(); |
(...skipping 22 matching lines...) Expand all Loading... |
1441 content_browser_client.set_data_saver_enabled(true); | 1442 content_browser_client.set_data_saver_enabled(true); |
1442 ContentBrowserClient* old_client = | 1443 ContentBrowserClient* old_client = |
1443 SetBrowserClientForTesting(&content_browser_client); | 1444 SetBrowserClientForTesting(&content_browser_client); |
1444 shell()->web_contents()->GetRenderViewHost()->OnWebkitPreferencesChanged(); | 1445 shell()->web_contents()->GetRenderViewHost()->OnWebkitPreferencesChanged(); |
1445 scoped_refptr<WorkerActivatedObserver> observer = | 1446 scoped_refptr<WorkerActivatedObserver> observer = |
1446 new WorkerActivatedObserver(wrapper()); | 1447 new WorkerActivatedObserver(wrapper()); |
1447 observer->Init(); | 1448 observer->Init(); |
1448 public_context()->RegisterServiceWorker( | 1449 public_context()->RegisterServiceWorker( |
1449 embedded_test_server()->GetURL(kPageUrl), | 1450 embedded_test_server()->GetURL(kPageUrl), |
1450 embedded_test_server()->GetURL(kWorkerUrl), | 1451 embedded_test_server()->GetURL(kWorkerUrl), |
| 1452 blink::WebServiceWorkerUpdateViaCache::kImports, |
1451 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); | 1453 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); |
1452 observer->Wait(); | 1454 observer->Wait(); |
1453 | 1455 |
1454 const base::string16 title = base::ASCIIToUTF16("PASS"); | 1456 const base::string16 title = base::ASCIIToUTF16("PASS"); |
1455 TitleWatcher title_watcher(shell()->web_contents(), title); | 1457 TitleWatcher title_watcher(shell()->web_contents(), title); |
1456 NavigateToURL(shell(), | 1458 NavigateToURL(shell(), |
1457 embedded_test_server()->GetURL(base::StringPrintf( | 1459 embedded_test_server()->GetURL(base::StringPrintf( |
1458 "%s?%s", kPageUrl, | 1460 "%s?%s", kPageUrl, |
1459 cross_origin_server.GetURL("/cross_origin_request.html") | 1461 cross_origin_server.GetURL("/cross_origin_request.html") |
1460 .spec() | 1462 .spec() |
(...skipping 23 matching lines...) Expand all Loading... |
1484 new WorkerActivatedObserver(wrapper()); | 1486 new WorkerActivatedObserver(wrapper()); |
1485 observer->Init(); | 1487 observer->Init(); |
1486 | 1488 |
1487 embedded_test_server()->RegisterRequestHandler( | 1489 embedded_test_server()->RegisterRequestHandler( |
1488 base::Bind(&VerifySaveDataHeaderInRequest)); | 1490 base::Bind(&VerifySaveDataHeaderInRequest)); |
1489 StartServerAndNavigateToSetup(); | 1491 StartServerAndNavigateToSetup(); |
1490 | 1492 |
1491 public_context()->RegisterServiceWorker( | 1493 public_context()->RegisterServiceWorker( |
1492 embedded_test_server()->GetURL(kPageUrl), | 1494 embedded_test_server()->GetURL(kPageUrl), |
1493 embedded_test_server()->GetURL(kWorkerUrl), | 1495 embedded_test_server()->GetURL(kWorkerUrl), |
| 1496 blink::WebServiceWorkerUpdateViaCache::kImports, |
1494 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); | 1497 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); |
1495 observer->Wait(); | 1498 observer->Wait(); |
1496 | 1499 |
1497 NavigateToURLBlockUntilNavigationsComplete( | 1500 NavigateToURLBlockUntilNavigationsComplete( |
1498 shell(), embedded_test_server()->GetURL(kPageUrl), 1); | 1501 shell(), embedded_test_server()->GetURL(kPageUrl), 1); |
1499 | 1502 |
1500 SetBrowserClientForTesting(old_client); | 1503 SetBrowserClientForTesting(old_client); |
1501 shell()->Close(); | 1504 shell()->Close(); |
1502 | 1505 |
1503 base::RunLoop run_loop; | 1506 base::RunLoop run_loop; |
1504 public_context()->UnregisterServiceWorker( | 1507 public_context()->UnregisterServiceWorker( |
1505 embedded_test_server()->GetURL(kPageUrl), | 1508 embedded_test_server()->GetURL(kPageUrl), |
1506 base::Bind(&ExpectResultAndRun, true, run_loop.QuitClosure())); | 1509 base::Bind(&ExpectResultAndRun, true, run_loop.QuitClosure())); |
1507 run_loop.Run(); | 1510 run_loop.Run(); |
1508 } | 1511 } |
1509 | 1512 |
1510 IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, Reload) { | 1513 IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, Reload) { |
1511 StartServerAndNavigateToSetup(); | 1514 StartServerAndNavigateToSetup(); |
1512 const char kPageUrl[] = "/service_worker/reload.html"; | 1515 const char kPageUrl[] = "/service_worker/reload.html"; |
1513 const char kWorkerUrl[] = "/service_worker/fetch_event_reload.js"; | 1516 const char kWorkerUrl[] = "/service_worker/fetch_event_reload.js"; |
1514 scoped_refptr<WorkerActivatedObserver> observer = | 1517 scoped_refptr<WorkerActivatedObserver> observer = |
1515 new WorkerActivatedObserver(wrapper()); | 1518 new WorkerActivatedObserver(wrapper()); |
1516 observer->Init(); | 1519 observer->Init(); |
1517 public_context()->RegisterServiceWorker( | 1520 public_context()->RegisterServiceWorker( |
1518 embedded_test_server()->GetURL(kPageUrl), | 1521 embedded_test_server()->GetURL(kPageUrl), |
1519 embedded_test_server()->GetURL(kWorkerUrl), | 1522 embedded_test_server()->GetURL(kWorkerUrl), |
| 1523 blink::WebServiceWorkerUpdateViaCache::kImports, |
1520 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); | 1524 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); |
1521 observer->Wait(); | 1525 observer->Wait(); |
1522 | 1526 |
1523 const base::string16 title1 = base::ASCIIToUTF16("reload=false"); | 1527 const base::string16 title1 = base::ASCIIToUTF16("reload=false"); |
1524 TitleWatcher title_watcher1(shell()->web_contents(), title1); | 1528 TitleWatcher title_watcher1(shell()->web_contents(), title1); |
1525 NavigateToURL(shell(), embedded_test_server()->GetURL(kPageUrl)); | 1529 NavigateToURL(shell(), embedded_test_server()->GetURL(kPageUrl)); |
1526 EXPECT_EQ(title1, title_watcher1.WaitAndGetTitle()); | 1530 EXPECT_EQ(title1, title_watcher1.WaitAndGetTitle()); |
1527 | 1531 |
1528 const base::string16 title2 = base::ASCIIToUTF16("reload=true"); | 1532 const base::string16 title2 = base::ASCIIToUTF16("reload=true"); |
1529 TitleWatcher title_watcher2(shell()->web_contents(), title2); | 1533 TitleWatcher title_watcher2(shell()->web_contents(), title2); |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1583 callback.Run(HeaderInterceptorResult::KILL); | 1587 callback.Run(HeaderInterceptorResult::KILL); |
1584 } | 1588 } |
1585 | 1589 |
1586 void SetupForNavigationPreloadTest(const GURL& scope, | 1590 void SetupForNavigationPreloadTest(const GURL& scope, |
1587 const GURL& worker_url) { | 1591 const GURL& worker_url) { |
1588 scoped_refptr<WorkerActivatedObserver> observer = | 1592 scoped_refptr<WorkerActivatedObserver> observer = |
1589 new WorkerActivatedObserver(wrapper()); | 1593 new WorkerActivatedObserver(wrapper()); |
1590 observer->Init(); | 1594 observer->Init(); |
1591 | 1595 |
1592 public_context()->RegisterServiceWorker( | 1596 public_context()->RegisterServiceWorker( |
1593 scope, worker_url, | 1597 scope, worker_url, blink::WebServiceWorkerUpdateViaCache::kImports, |
1594 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); | 1598 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); |
1595 observer->Wait(); | 1599 observer->Wait(); |
1596 } | 1600 } |
1597 | 1601 |
1598 std::string LoadNavigationPreloadTestPage(const GURL& page_url, | 1602 std::string LoadNavigationPreloadTestPage(const GURL& page_url, |
1599 const GURL& worker_url, | 1603 const GURL& worker_url, |
1600 const char* expected_result) { | 1604 const char* expected_result) { |
1601 RegisterMonitorRequestHandler(); | 1605 RegisterMonitorRequestHandler(); |
1602 StartServerAndNavigateToSetup(); | 1606 StartServerAndNavigateToSetup(); |
1603 SetupForNavigationPreloadTest(page_url, worker_url); | 1607 SetupForNavigationPreloadTest(page_url, worker_url); |
(...skipping 684 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2288 const char kPageUrl[] = "/service_worker/fetch_event_blob.html"; | 2292 const char kPageUrl[] = "/service_worker/fetch_event_blob.html"; |
2289 const char kWorkerUrl[] = "/service_worker/fetch_event_blob.js"; | 2293 const char kWorkerUrl[] = "/service_worker/fetch_event_blob.js"; |
2290 net::EmbeddedTestServer https_server(net::EmbeddedTestServer::TYPE_HTTPS); | 2294 net::EmbeddedTestServer https_server(net::EmbeddedTestServer::TYPE_HTTPS); |
2291 https_server.ServeFilesFromSourceDirectory("content/test/data"); | 2295 https_server.ServeFilesFromSourceDirectory("content/test/data"); |
2292 ASSERT_TRUE(https_server.Start()); | 2296 ASSERT_TRUE(https_server.Start()); |
2293 | 2297 |
2294 scoped_refptr<WorkerActivatedObserver> observer = | 2298 scoped_refptr<WorkerActivatedObserver> observer = |
2295 new WorkerActivatedObserver(wrapper()); | 2299 new WorkerActivatedObserver(wrapper()); |
2296 observer->Init(); | 2300 observer->Init(); |
2297 public_context()->RegisterServiceWorker( | 2301 public_context()->RegisterServiceWorker( |
2298 https_server.GetURL(kPageUrl), | 2302 https_server.GetURL(kPageUrl), https_server.GetURL(kWorkerUrl), |
2299 https_server.GetURL(kWorkerUrl), | 2303 blink::WebServiceWorkerUpdateViaCache::kImports, |
2300 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); | 2304 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); |
2301 observer->Wait(); | 2305 observer->Wait(); |
2302 | 2306 |
2303 const base::string16 title = base::ASCIIToUTF16("Title"); | 2307 const base::string16 title = base::ASCIIToUTF16("Title"); |
2304 TitleWatcher title_watcher(shell()->web_contents(), title); | 2308 TitleWatcher title_watcher(shell()->web_contents(), title); |
2305 NavigateToURL(shell(), https_server.GetURL(kPageUrl)); | 2309 NavigateToURL(shell(), https_server.GetURL(kPageUrl)); |
2306 EXPECT_EQ(title, title_watcher.WaitAndGetTitle()); | 2310 EXPECT_EQ(title, title_watcher.WaitAndGetTitle()); |
2307 NavigationEntry* entry = | 2311 NavigationEntry* entry = |
2308 shell()->web_contents()->GetController().GetVisibleEntry(); | 2312 shell()->web_contents()->GetController().GetVisibleEntry(); |
2309 EXPECT_TRUE(entry->GetSSL().initialized); | 2313 EXPECT_TRUE(entry->GetSSL().initialized); |
(...skipping 16 matching lines...) Expand all Loading... |
2326 ResponseFromHTTPServiceWorkerIsNotMarkedAsSecure) { | 2330 ResponseFromHTTPServiceWorkerIsNotMarkedAsSecure) { |
2327 StartServerAndNavigateToSetup(); | 2331 StartServerAndNavigateToSetup(); |
2328 const char kPageUrl[] = "/service_worker/fetch_event_blob.html"; | 2332 const char kPageUrl[] = "/service_worker/fetch_event_blob.html"; |
2329 const char kWorkerUrl[] = "/service_worker/fetch_event_blob.js"; | 2333 const char kWorkerUrl[] = "/service_worker/fetch_event_blob.js"; |
2330 scoped_refptr<WorkerActivatedObserver> observer = | 2334 scoped_refptr<WorkerActivatedObserver> observer = |
2331 new WorkerActivatedObserver(wrapper()); | 2335 new WorkerActivatedObserver(wrapper()); |
2332 observer->Init(); | 2336 observer->Init(); |
2333 public_context()->RegisterServiceWorker( | 2337 public_context()->RegisterServiceWorker( |
2334 embedded_test_server()->GetURL(kPageUrl), | 2338 embedded_test_server()->GetURL(kPageUrl), |
2335 embedded_test_server()->GetURL(kWorkerUrl), | 2339 embedded_test_server()->GetURL(kWorkerUrl), |
| 2340 blink::WebServiceWorkerUpdateViaCache::kImports, |
2336 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); | 2341 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); |
2337 observer->Wait(); | 2342 observer->Wait(); |
2338 | 2343 |
2339 const base::string16 title = base::ASCIIToUTF16("Title"); | 2344 const base::string16 title = base::ASCIIToUTF16("Title"); |
2340 TitleWatcher title_watcher(shell()->web_contents(), title); | 2345 TitleWatcher title_watcher(shell()->web_contents(), title); |
2341 NavigateToURL(shell(), embedded_test_server()->GetURL(kPageUrl)); | 2346 NavigateToURL(shell(), embedded_test_server()->GetURL(kPageUrl)); |
2342 EXPECT_EQ(title, title_watcher.WaitAndGetTitle()); | 2347 EXPECT_EQ(title, title_watcher.WaitAndGetTitle()); |
2343 NavigationEntry* entry = | 2348 NavigationEntry* entry = |
2344 shell()->web_contents()->GetController().GetVisibleEntry(); | 2349 shell()->web_contents()->GetController().GetVisibleEntry(); |
2345 EXPECT_TRUE(entry->GetSSL().initialized); | 2350 EXPECT_TRUE(entry->GetSSL().initialized); |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2439 base::Bind(&ExpectResultAndRun, false, run_loop.QuitClosure())); | 2444 base::Bind(&ExpectResultAndRun, false, run_loop.QuitClosure())); |
2440 run_loop.Run(); | 2445 run_loop.Run(); |
2441 } | 2446 } |
2442 | 2447 |
2443 // If we use a worker URL that doesn't exist, registration fails. | 2448 // If we use a worker URL that doesn't exist, registration fails. |
2444 { | 2449 { |
2445 base::RunLoop run_loop; | 2450 base::RunLoop run_loop; |
2446 public_context()->RegisterServiceWorker( | 2451 public_context()->RegisterServiceWorker( |
2447 embedded_test_server()->GetURL(kScope), | 2452 embedded_test_server()->GetURL(kScope), |
2448 embedded_test_server()->GetURL("/does/not/exist"), | 2453 embedded_test_server()->GetURL("/does/not/exist"), |
| 2454 blink::WebServiceWorkerUpdateViaCache::kImports, |
2449 base::Bind(&ExpectResultAndRun, false, run_loop.QuitClosure())); | 2455 base::Bind(&ExpectResultAndRun, false, run_loop.QuitClosure())); |
2450 run_loop.Run(); | 2456 run_loop.Run(); |
2451 } | 2457 } |
2452 EXPECT_EQ(0, CountRenderProcessHosts()); | 2458 EXPECT_EQ(0, CountRenderProcessHosts()); |
2453 | 2459 |
2454 // Register returns when the promise would be resolved. | 2460 // Register returns when the promise would be resolved. |
2455 { | 2461 { |
2456 base::RunLoop run_loop; | 2462 base::RunLoop run_loop; |
2457 public_context()->RegisterServiceWorker( | 2463 public_context()->RegisterServiceWorker( |
2458 embedded_test_server()->GetURL(kScope), | 2464 embedded_test_server()->GetURL(kScope), |
2459 embedded_test_server()->GetURL(kWorkerUrl), | 2465 embedded_test_server()->GetURL(kWorkerUrl), |
| 2466 blink::WebServiceWorkerUpdateViaCache::kImports, |
2460 base::Bind(&ExpectResultAndRun, true, run_loop.QuitClosure())); | 2467 base::Bind(&ExpectResultAndRun, true, run_loop.QuitClosure())); |
2461 run_loop.Run(); | 2468 run_loop.Run(); |
2462 } | 2469 } |
2463 EXPECT_EQ(1, CountRenderProcessHosts()); | 2470 EXPECT_EQ(1, CountRenderProcessHosts()); |
2464 | 2471 |
2465 // Registering again should succeed, although the algo still | 2472 // Registering again should succeed, although the algo still |
2466 // might not be complete. | 2473 // might not be complete. |
2467 { | 2474 { |
2468 base::RunLoop run_loop; | 2475 base::RunLoop run_loop; |
2469 public_context()->RegisterServiceWorker( | 2476 public_context()->RegisterServiceWorker( |
2470 embedded_test_server()->GetURL(kScope), | 2477 embedded_test_server()->GetURL(kScope), |
2471 embedded_test_server()->GetURL(kWorkerUrl), | 2478 embedded_test_server()->GetURL(kWorkerUrl), |
| 2479 blink::WebServiceWorkerUpdateViaCache::kImports, |
2472 base::Bind(&ExpectResultAndRun, true, run_loop.QuitClosure())); | 2480 base::Bind(&ExpectResultAndRun, true, run_loop.QuitClosure())); |
2473 run_loop.Run(); | 2481 run_loop.Run(); |
2474 } | 2482 } |
2475 | 2483 |
2476 // The registration algo might not be far enough along to have | 2484 // The registration algo might not be far enough along to have |
2477 // stored the registration data, so it may not be findable | 2485 // stored the registration data, so it may not be findable |
2478 // at this point. | 2486 // at this point. |
2479 | 2487 |
2480 // Unregistering something should return true. | 2488 // Unregistering something should return true. |
2481 { | 2489 { |
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2771 static const std::string kScriptUrl; | 2779 static const std::string kScriptUrl; |
2772 static const int kV8CacheTimeStampDataSize; | 2780 static const int kV8CacheTimeStampDataSize; |
2773 | 2781 |
2774 void RegisterAndActivateServiceWorker() { | 2782 void RegisterAndActivateServiceWorker() { |
2775 scoped_refptr<WorkerActivatedObserver> observer = | 2783 scoped_refptr<WorkerActivatedObserver> observer = |
2776 new WorkerActivatedObserver(wrapper()); | 2784 new WorkerActivatedObserver(wrapper()); |
2777 observer->Init(); | 2785 observer->Init(); |
2778 public_context()->RegisterServiceWorker( | 2786 public_context()->RegisterServiceWorker( |
2779 embedded_test_server()->GetURL(kPageUrl), | 2787 embedded_test_server()->GetURL(kPageUrl), |
2780 embedded_test_server()->GetURL(kWorkerUrl), | 2788 embedded_test_server()->GetURL(kWorkerUrl), |
| 2789 blink::WebServiceWorkerUpdateViaCache::kImports, |
2781 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); | 2790 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); |
2782 observer->Wait(); | 2791 observer->Wait(); |
2783 } | 2792 } |
2784 | 2793 |
2785 void NavigateToTestPage() { | 2794 void NavigateToTestPage() { |
2786 const base::string16 title = | 2795 const base::string16 title = |
2787 base::ASCIIToUTF16("Title was changed by the script."); | 2796 base::ASCIIToUTF16("Title was changed by the script."); |
2788 TitleWatcher title_watcher(shell()->web_contents(), title); | 2797 TitleWatcher title_watcher(shell()->web_contents(), title); |
2789 NavigateToURL(shell(), embedded_test_server()->GetURL(kPageUrl)); | 2798 NavigateToURL(shell(), embedded_test_server()->GetURL(kPageUrl)); |
2790 EXPECT_EQ(title, title_watcher.WaitAndGetTitle()); | 2799 EXPECT_EQ(title, title_watcher.WaitAndGetTitle()); |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2909 ServiceWorkerBrowserTest::SetUpOnMainThread(); | 2918 ServiceWorkerBrowserTest::SetUpOnMainThread(); |
2910 } | 2919 } |
2911 | 2920 |
2912 void RegisterServiceWorkerOnCrossOriginServer(const std::string& scope, | 2921 void RegisterServiceWorkerOnCrossOriginServer(const std::string& scope, |
2913 const std::string& script) { | 2922 const std::string& script) { |
2914 scoped_refptr<WorkerActivatedObserver> observer = | 2923 scoped_refptr<WorkerActivatedObserver> observer = |
2915 new WorkerActivatedObserver(wrapper()); | 2924 new WorkerActivatedObserver(wrapper()); |
2916 observer->Init(); | 2925 observer->Init(); |
2917 public_context()->RegisterServiceWorker( | 2926 public_context()->RegisterServiceWorker( |
2918 cross_origin_server_.GetURL(scope), cross_origin_server_.GetURL(script), | 2927 cross_origin_server_.GetURL(scope), cross_origin_server_.GetURL(script), |
| 2928 blink::WebServiceWorkerUpdateViaCache::kImports, |
2919 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); | 2929 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); |
2920 observer->Wait(); | 2930 observer->Wait(); |
2921 } | 2931 } |
2922 | 2932 |
2923 void RunTestWithCrossOriginURL(const std::string& test_page, | 2933 void RunTestWithCrossOriginURL(const std::string& test_page, |
2924 const std::string& cross_origin_url) { | 2934 const std::string& cross_origin_url) { |
2925 const base::string16 title = base::ASCIIToUTF16("PASS"); | 2935 const base::string16 title = base::ASCIIToUTF16("PASS"); |
2926 TitleWatcher title_watcher(shell()->web_contents(), title); | 2936 TitleWatcher title_watcher(shell()->web_contents(), title); |
2927 NavigateToURL(shell(), | 2937 NavigateToURL(shell(), |
2928 embedded_test_server()->GetURL( | 2938 embedded_test_server()->GetURL( |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2965 IN_PROC_BROWSER_TEST_F(ServiceWorkerDisableWebSecurityTest, UpdateNoCrash) { | 2975 IN_PROC_BROWSER_TEST_F(ServiceWorkerDisableWebSecurityTest, UpdateNoCrash) { |
2966 StartServerAndNavigateToSetup(); | 2976 StartServerAndNavigateToSetup(); |
2967 const char kPageUrl[] = "/service_worker/disable_web_security_update.html"; | 2977 const char kPageUrl[] = "/service_worker/disable_web_security_update.html"; |
2968 const char kScopeUrl[] = "/service_worker/scope/"; | 2978 const char kScopeUrl[] = "/service_worker/scope/"; |
2969 const char kWorkerUrl[] = "/service_worker/fetch_event_blob.js"; | 2979 const char kWorkerUrl[] = "/service_worker/fetch_event_blob.js"; |
2970 RegisterServiceWorkerOnCrossOriginServer(kScopeUrl, kWorkerUrl); | 2980 RegisterServiceWorkerOnCrossOriginServer(kScopeUrl, kWorkerUrl); |
2971 RunTestWithCrossOriginURL(kPageUrl, kScopeUrl); | 2981 RunTestWithCrossOriginURL(kPageUrl, kScopeUrl); |
2972 } | 2982 } |
2973 | 2983 |
2974 } // namespace content | 2984 } // namespace content |
OLD | NEW |