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 553 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
564 *result = fetch_result.result; | 564 *result = fetch_result.result; |
565 *response = fetch_result.response; | 565 *response = fetch_result.response; |
566 *blob_data_handle = std::move(fetch_result.blob_data_handle); | 566 *blob_data_handle = std::move(fetch_result.blob_data_handle); |
567 ASSERT_EQ(SERVICE_WORKER_OK, fetch_result.status); | 567 ASSERT_EQ(SERVICE_WORKER_OK, fetch_result.status); |
568 } | 568 } |
569 | 569 |
570 void SetUpRegistrationOnIOThread(const std::string& worker_url) { | 570 void SetUpRegistrationOnIOThread(const std::string& worker_url) { |
571 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 571 ASSERT_TRUE(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
572 const GURL pattern = embedded_test_server()->GetURL("/service_worker/"); | 572 const GURL pattern = embedded_test_server()->GetURL("/service_worker/"); |
573 registration_ = new ServiceWorkerRegistration( | 573 registration_ = new ServiceWorkerRegistration( |
574 pattern, | 574 pattern, false /* use_cache */, |
575 wrapper()->context()->storage()->NewRegistrationId(), | 575 wrapper()->context()->storage()->NewRegistrationId(), |
576 wrapper()->context()->AsWeakPtr()); | 576 wrapper()->context()->AsWeakPtr()); |
577 // Set the update check time to avoid triggering updates in the middle of | 577 // Set the update check time to avoid triggering updates in the middle of |
578 // tests. | 578 // tests. |
579 registration_->set_last_update_check(base::Time::Now()); | 579 registration_->set_last_update_check(base::Time::Now()); |
580 | 580 |
581 version_ = new ServiceWorkerVersion( | 581 version_ = new ServiceWorkerVersion( |
582 registration_.get(), | 582 registration_.get(), |
583 embedded_test_server()->GetURL(worker_url), | 583 embedded_test_server()->GetURL(worker_url), |
584 wrapper()->context()->storage()->NewVersionId(), | 584 wrapper()->context()->storage()->NewVersionId(), |
(...skipping 716 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1301 MockContentBrowserClient content_browser_client; | 1301 MockContentBrowserClient content_browser_client; |
1302 content_browser_client.set_data_saver_enabled(true); | 1302 content_browser_client.set_data_saver_enabled(true); |
1303 ContentBrowserClient* old_client = | 1303 ContentBrowserClient* old_client = |
1304 SetBrowserClientForTesting(&content_browser_client); | 1304 SetBrowserClientForTesting(&content_browser_client); |
1305 shell()->web_contents()->GetRenderViewHost()->OnWebkitPreferencesChanged(); | 1305 shell()->web_contents()->GetRenderViewHost()->OnWebkitPreferencesChanged(); |
1306 scoped_refptr<WorkerActivatedObserver> observer = | 1306 scoped_refptr<WorkerActivatedObserver> observer = |
1307 new WorkerActivatedObserver(wrapper()); | 1307 new WorkerActivatedObserver(wrapper()); |
1308 observer->Init(); | 1308 observer->Init(); |
1309 public_context()->RegisterServiceWorker( | 1309 public_context()->RegisterServiceWorker( |
1310 embedded_test_server()->GetURL(kPageUrl), | 1310 embedded_test_server()->GetURL(kPageUrl), |
1311 embedded_test_server()->GetURL(kWorkerUrl), | 1311 embedded_test_server()->GetURL(kWorkerUrl), false, |
1312 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); | 1312 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); |
1313 observer->Wait(); | 1313 observer->Wait(); |
1314 | 1314 |
1315 const base::string16 title1 = base::ASCIIToUTF16("save-data=on"); | 1315 const base::string16 title1 = base::ASCIIToUTF16("save-data=on"); |
1316 TitleWatcher title_watcher1(shell()->web_contents(), title1); | 1316 TitleWatcher title_watcher1(shell()->web_contents(), title1); |
1317 NavigateToURL(shell(), embedded_test_server()->GetURL(kPageUrl)); | 1317 NavigateToURL(shell(), embedded_test_server()->GetURL(kPageUrl)); |
1318 EXPECT_EQ(title1, title_watcher1.WaitAndGetTitle()); | 1318 EXPECT_EQ(title1, title_watcher1.WaitAndGetTitle()); |
1319 | 1319 |
1320 SetBrowserClientForTesting(old_client); | 1320 SetBrowserClientForTesting(old_client); |
1321 shell()->Close(); | 1321 shell()->Close(); |
(...skipping 21 matching lines...) Expand all Loading... |
1343 MockContentBrowserClient content_browser_client; | 1343 MockContentBrowserClient content_browser_client; |
1344 content_browser_client.set_data_saver_enabled(true); | 1344 content_browser_client.set_data_saver_enabled(true); |
1345 ContentBrowserClient* old_client = | 1345 ContentBrowserClient* old_client = |
1346 SetBrowserClientForTesting(&content_browser_client); | 1346 SetBrowserClientForTesting(&content_browser_client); |
1347 shell()->web_contents()->GetRenderViewHost()->OnWebkitPreferencesChanged(); | 1347 shell()->web_contents()->GetRenderViewHost()->OnWebkitPreferencesChanged(); |
1348 scoped_refptr<WorkerActivatedObserver> observer = | 1348 scoped_refptr<WorkerActivatedObserver> observer = |
1349 new WorkerActivatedObserver(wrapper()); | 1349 new WorkerActivatedObserver(wrapper()); |
1350 observer->Init(); | 1350 observer->Init(); |
1351 public_context()->RegisterServiceWorker( | 1351 public_context()->RegisterServiceWorker( |
1352 embedded_test_server()->GetURL(kPageUrl), | 1352 embedded_test_server()->GetURL(kPageUrl), |
1353 embedded_test_server()->GetURL(kWorkerUrl), | 1353 embedded_test_server()->GetURL(kWorkerUrl), false, |
1354 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); | 1354 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); |
1355 observer->Wait(); | 1355 observer->Wait(); |
1356 | 1356 |
1357 const base::string16 title = base::ASCIIToUTF16("PASS"); | 1357 const base::string16 title = base::ASCIIToUTF16("PASS"); |
1358 TitleWatcher title_watcher(shell()->web_contents(), title); | 1358 TitleWatcher title_watcher(shell()->web_contents(), title); |
1359 NavigateToURL(shell(), | 1359 NavigateToURL(shell(), |
1360 embedded_test_server()->GetURL(base::StringPrintf( | 1360 embedded_test_server()->GetURL(base::StringPrintf( |
1361 "%s?%s", kPageUrl, | 1361 "%s?%s", kPageUrl, |
1362 cross_origin_server.GetURL("/cross_origin_request.html") | 1362 cross_origin_server.GetURL("/cross_origin_request.html") |
1363 .spec() | 1363 .spec() |
(...skipping 22 matching lines...) Expand all Loading... |
1386 scoped_refptr<WorkerActivatedObserver> observer = | 1386 scoped_refptr<WorkerActivatedObserver> observer = |
1387 new WorkerActivatedObserver(wrapper()); | 1387 new WorkerActivatedObserver(wrapper()); |
1388 observer->Init(); | 1388 observer->Init(); |
1389 | 1389 |
1390 embedded_test_server()->RegisterRequestHandler( | 1390 embedded_test_server()->RegisterRequestHandler( |
1391 base::Bind(&VerifySaveDataHeaderInRequest)); | 1391 base::Bind(&VerifySaveDataHeaderInRequest)); |
1392 StartServerAndNavigateToSetup(); | 1392 StartServerAndNavigateToSetup(); |
1393 | 1393 |
1394 public_context()->RegisterServiceWorker( | 1394 public_context()->RegisterServiceWorker( |
1395 embedded_test_server()->GetURL(kPageUrl), | 1395 embedded_test_server()->GetURL(kPageUrl), |
1396 embedded_test_server()->GetURL(kWorkerUrl), | 1396 embedded_test_server()->GetURL(kWorkerUrl), false, |
1397 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); | 1397 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); |
1398 observer->Wait(); | 1398 observer->Wait(); |
1399 | 1399 |
1400 NavigateToURLBlockUntilNavigationsComplete( | 1400 NavigateToURLBlockUntilNavigationsComplete( |
1401 shell(), embedded_test_server()->GetURL(kPageUrl), 1); | 1401 shell(), embedded_test_server()->GetURL(kPageUrl), 1); |
1402 | 1402 |
1403 SetBrowserClientForTesting(old_client); | 1403 SetBrowserClientForTesting(old_client); |
1404 shell()->Close(); | 1404 shell()->Close(); |
1405 | 1405 |
1406 base::RunLoop run_loop; | 1406 base::RunLoop run_loop; |
1407 public_context()->UnregisterServiceWorker( | 1407 public_context()->UnregisterServiceWorker( |
1408 embedded_test_server()->GetURL(kPageUrl), | 1408 embedded_test_server()->GetURL(kPageUrl), |
1409 base::Bind(&ExpectResultAndRun, true, run_loop.QuitClosure())); | 1409 base::Bind(&ExpectResultAndRun, true, run_loop.QuitClosure())); |
1410 run_loop.Run(); | 1410 run_loop.Run(); |
1411 } | 1411 } |
1412 | 1412 |
1413 IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, Reload) { | 1413 IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, Reload) { |
1414 StartServerAndNavigateToSetup(); | 1414 StartServerAndNavigateToSetup(); |
1415 const char kPageUrl[] = "/service_worker/reload.html"; | 1415 const char kPageUrl[] = "/service_worker/reload.html"; |
1416 const char kWorkerUrl[] = "/service_worker/fetch_event_reload.js"; | 1416 const char kWorkerUrl[] = "/service_worker/fetch_event_reload.js"; |
1417 scoped_refptr<WorkerActivatedObserver> observer = | 1417 scoped_refptr<WorkerActivatedObserver> observer = |
1418 new WorkerActivatedObserver(wrapper()); | 1418 new WorkerActivatedObserver(wrapper()); |
1419 observer->Init(); | 1419 observer->Init(); |
1420 public_context()->RegisterServiceWorker( | 1420 public_context()->RegisterServiceWorker( |
1421 embedded_test_server()->GetURL(kPageUrl), | 1421 embedded_test_server()->GetURL(kPageUrl), |
1422 embedded_test_server()->GetURL(kWorkerUrl), | 1422 embedded_test_server()->GetURL(kWorkerUrl), false, |
1423 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); | 1423 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); |
1424 observer->Wait(); | 1424 observer->Wait(); |
1425 | 1425 |
1426 const base::string16 title1 = base::ASCIIToUTF16("reload=false"); | 1426 const base::string16 title1 = base::ASCIIToUTF16("reload=false"); |
1427 TitleWatcher title_watcher1(shell()->web_contents(), title1); | 1427 TitleWatcher title_watcher1(shell()->web_contents(), title1); |
1428 NavigateToURL(shell(), embedded_test_server()->GetURL(kPageUrl)); | 1428 NavigateToURL(shell(), embedded_test_server()->GetURL(kPageUrl)); |
1429 EXPECT_EQ(title1, title_watcher1.WaitAndGetTitle()); | 1429 EXPECT_EQ(title1, title_watcher1.WaitAndGetTitle()); |
1430 | 1430 |
1431 const base::string16 title2 = base::ASCIIToUTF16("reload=true"); | 1431 const base::string16 title2 = base::ASCIIToUTF16("reload=true"); |
1432 TitleWatcher title_watcher2(shell()->web_contents(), title2); | 1432 TitleWatcher title_watcher2(shell()->web_contents(), title2); |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1486 callback.Run(false, 0); | 1486 callback.Run(false, 0); |
1487 } | 1487 } |
1488 | 1488 |
1489 void SetupForNavigationPreloadTest(const GURL& scope, | 1489 void SetupForNavigationPreloadTest(const GURL& scope, |
1490 const GURL& worker_url) { | 1490 const GURL& worker_url) { |
1491 scoped_refptr<WorkerActivatedObserver> observer = | 1491 scoped_refptr<WorkerActivatedObserver> observer = |
1492 new WorkerActivatedObserver(wrapper()); | 1492 new WorkerActivatedObserver(wrapper()); |
1493 observer->Init(); | 1493 observer->Init(); |
1494 | 1494 |
1495 public_context()->RegisterServiceWorker( | 1495 public_context()->RegisterServiceWorker( |
1496 scope, worker_url, | 1496 scope, worker_url, false, |
1497 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); | 1497 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); |
1498 observer->Wait(); | 1498 observer->Wait(); |
1499 } | 1499 } |
1500 | 1500 |
1501 void RegisterMonitorRequestHandler() { | 1501 void RegisterMonitorRequestHandler() { |
1502 embedded_test_server()->RegisterRequestMonitor( | 1502 embedded_test_server()->RegisterRequestMonitor( |
1503 base::Bind(&self::MonitorRequestHandler, base::Unretained(this))); | 1503 base::Bind(&self::MonitorRequestHandler, base::Unretained(this))); |
1504 } | 1504 } |
1505 | 1505 |
1506 void RegisterStaticFile(const std::string& relative_url, | 1506 void RegisterStaticFile(const std::string& relative_url, |
(...skipping 689 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2196 const char kPageUrl[] = "/service_worker/fetch_event_blob.html"; | 2196 const char kPageUrl[] = "/service_worker/fetch_event_blob.html"; |
2197 const char kWorkerUrl[] = "/service_worker/fetch_event_blob.js"; | 2197 const char kWorkerUrl[] = "/service_worker/fetch_event_blob.js"; |
2198 net::EmbeddedTestServer https_server(net::EmbeddedTestServer::TYPE_HTTPS); | 2198 net::EmbeddedTestServer https_server(net::EmbeddedTestServer::TYPE_HTTPS); |
2199 https_server.ServeFilesFromSourceDirectory("content/test/data"); | 2199 https_server.ServeFilesFromSourceDirectory("content/test/data"); |
2200 ASSERT_TRUE(https_server.Start()); | 2200 ASSERT_TRUE(https_server.Start()); |
2201 | 2201 |
2202 scoped_refptr<WorkerActivatedObserver> observer = | 2202 scoped_refptr<WorkerActivatedObserver> observer = |
2203 new WorkerActivatedObserver(wrapper()); | 2203 new WorkerActivatedObserver(wrapper()); |
2204 observer->Init(); | 2204 observer->Init(); |
2205 public_context()->RegisterServiceWorker( | 2205 public_context()->RegisterServiceWorker( |
2206 https_server.GetURL(kPageUrl), | 2206 https_server.GetURL(kPageUrl), https_server.GetURL(kWorkerUrl), false, |
2207 https_server.GetURL(kWorkerUrl), | |
2208 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); | 2207 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); |
2209 observer->Wait(); | 2208 observer->Wait(); |
2210 | 2209 |
2211 const base::string16 title = base::ASCIIToUTF16("Title"); | 2210 const base::string16 title = base::ASCIIToUTF16("Title"); |
2212 TitleWatcher title_watcher(shell()->web_contents(), title); | 2211 TitleWatcher title_watcher(shell()->web_contents(), title); |
2213 NavigateToURL(shell(), https_server.GetURL(kPageUrl)); | 2212 NavigateToURL(shell(), https_server.GetURL(kPageUrl)); |
2214 EXPECT_EQ(title, title_watcher.WaitAndGetTitle()); | 2213 EXPECT_EQ(title, title_watcher.WaitAndGetTitle()); |
2215 NavigationEntry* entry = | 2214 NavigationEntry* entry = |
2216 shell()->web_contents()->GetController().GetVisibleEntry(); | 2215 shell()->web_contents()->GetController().GetVisibleEntry(); |
2217 EXPECT_TRUE(entry->GetSSL().initialized); | 2216 EXPECT_TRUE(entry->GetSSL().initialized); |
(...skipping 15 matching lines...) Expand all Loading... |
2233 IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, | 2232 IN_PROC_BROWSER_TEST_F(ServiceWorkerBrowserTest, |
2234 ResponseFromHTTPServiceWorkerIsNotMarkedAsSecure) { | 2233 ResponseFromHTTPServiceWorkerIsNotMarkedAsSecure) { |
2235 StartServerAndNavigateToSetup(); | 2234 StartServerAndNavigateToSetup(); |
2236 const char kPageUrl[] = "/service_worker/fetch_event_blob.html"; | 2235 const char kPageUrl[] = "/service_worker/fetch_event_blob.html"; |
2237 const char kWorkerUrl[] = "/service_worker/fetch_event_blob.js"; | 2236 const char kWorkerUrl[] = "/service_worker/fetch_event_blob.js"; |
2238 scoped_refptr<WorkerActivatedObserver> observer = | 2237 scoped_refptr<WorkerActivatedObserver> observer = |
2239 new WorkerActivatedObserver(wrapper()); | 2238 new WorkerActivatedObserver(wrapper()); |
2240 observer->Init(); | 2239 observer->Init(); |
2241 public_context()->RegisterServiceWorker( | 2240 public_context()->RegisterServiceWorker( |
2242 embedded_test_server()->GetURL(kPageUrl), | 2241 embedded_test_server()->GetURL(kPageUrl), |
2243 embedded_test_server()->GetURL(kWorkerUrl), | 2242 embedded_test_server()->GetURL(kWorkerUrl), false, |
2244 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); | 2243 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); |
2245 observer->Wait(); | 2244 observer->Wait(); |
2246 | 2245 |
2247 const base::string16 title = base::ASCIIToUTF16("Title"); | 2246 const base::string16 title = base::ASCIIToUTF16("Title"); |
2248 TitleWatcher title_watcher(shell()->web_contents(), title); | 2247 TitleWatcher title_watcher(shell()->web_contents(), title); |
2249 NavigateToURL(shell(), embedded_test_server()->GetURL(kPageUrl)); | 2248 NavigateToURL(shell(), embedded_test_server()->GetURL(kPageUrl)); |
2250 EXPECT_EQ(title, title_watcher.WaitAndGetTitle()); | 2249 EXPECT_EQ(title, title_watcher.WaitAndGetTitle()); |
2251 NavigationEntry* entry = | 2250 NavigationEntry* entry = |
2252 shell()->web_contents()->GetController().GetVisibleEntry(); | 2251 shell()->web_contents()->GetController().GetVisibleEntry(); |
2253 EXPECT_TRUE(entry->GetSSL().initialized); | 2252 EXPECT_TRUE(entry->GetSSL().initialized); |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2346 embedded_test_server()->GetURL("/"), | 2345 embedded_test_server()->GetURL("/"), |
2347 base::Bind(&ExpectResultAndRun, false, run_loop.QuitClosure())); | 2346 base::Bind(&ExpectResultAndRun, false, run_loop.QuitClosure())); |
2348 run_loop.Run(); | 2347 run_loop.Run(); |
2349 } | 2348 } |
2350 | 2349 |
2351 // If we use a worker URL that doesn't exist, registration fails. | 2350 // If we use a worker URL that doesn't exist, registration fails. |
2352 { | 2351 { |
2353 base::RunLoop run_loop; | 2352 base::RunLoop run_loop; |
2354 public_context()->RegisterServiceWorker( | 2353 public_context()->RegisterServiceWorker( |
2355 embedded_test_server()->GetURL(kScope), | 2354 embedded_test_server()->GetURL(kScope), |
2356 embedded_test_server()->GetURL("/does/not/exist"), | 2355 embedded_test_server()->GetURL("/does/not/exist"), false, |
2357 base::Bind(&ExpectResultAndRun, false, run_loop.QuitClosure())); | 2356 base::Bind(&ExpectResultAndRun, false, run_loop.QuitClosure())); |
2358 run_loop.Run(); | 2357 run_loop.Run(); |
2359 } | 2358 } |
2360 EXPECT_EQ(0, CountRenderProcessHosts()); | 2359 EXPECT_EQ(0, CountRenderProcessHosts()); |
2361 | 2360 |
2362 // Register returns when the promise would be resolved. | 2361 // Register returns when the promise would be resolved. |
2363 { | 2362 { |
2364 base::RunLoop run_loop; | 2363 base::RunLoop run_loop; |
2365 public_context()->RegisterServiceWorker( | 2364 public_context()->RegisterServiceWorker( |
2366 embedded_test_server()->GetURL(kScope), | 2365 embedded_test_server()->GetURL(kScope), |
2367 embedded_test_server()->GetURL(kWorkerUrl), | 2366 embedded_test_server()->GetURL(kWorkerUrl), false, |
2368 base::Bind(&ExpectResultAndRun, true, run_loop.QuitClosure())); | 2367 base::Bind(&ExpectResultAndRun, true, run_loop.QuitClosure())); |
2369 run_loop.Run(); | 2368 run_loop.Run(); |
2370 } | 2369 } |
2371 EXPECT_EQ(1, CountRenderProcessHosts()); | 2370 EXPECT_EQ(1, CountRenderProcessHosts()); |
2372 | 2371 |
2373 // Registering again should succeed, although the algo still | 2372 // Registering again should succeed, although the algo still |
2374 // might not be complete. | 2373 // might not be complete. |
2375 { | 2374 { |
2376 base::RunLoop run_loop; | 2375 base::RunLoop run_loop; |
2377 public_context()->RegisterServiceWorker( | 2376 public_context()->RegisterServiceWorker( |
2378 embedded_test_server()->GetURL(kScope), | 2377 embedded_test_server()->GetURL(kScope), |
2379 embedded_test_server()->GetURL(kWorkerUrl), | 2378 embedded_test_server()->GetURL(kWorkerUrl), false, |
2380 base::Bind(&ExpectResultAndRun, true, run_loop.QuitClosure())); | 2379 base::Bind(&ExpectResultAndRun, true, run_loop.QuitClosure())); |
2381 run_loop.Run(); | 2380 run_loop.Run(); |
2382 } | 2381 } |
2383 | 2382 |
2384 // The registration algo might not be far enough along to have | 2383 // The registration algo might not be far enough along to have |
2385 // stored the registration data, so it may not be findable | 2384 // stored the registration data, so it may not be findable |
2386 // at this point. | 2385 // at this point. |
2387 | 2386 |
2388 // Unregistering something should return true. | 2387 // Unregistering something should return true. |
2389 { | 2388 { |
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2678 static const std::string kWorkerUrl; | 2677 static const std::string kWorkerUrl; |
2679 static const std::string kScriptUrl; | 2678 static const std::string kScriptUrl; |
2680 static const int kV8CacheTimeStampDataSize; | 2679 static const int kV8CacheTimeStampDataSize; |
2681 | 2680 |
2682 void RegisterAndActivateServiceWorker() { | 2681 void RegisterAndActivateServiceWorker() { |
2683 scoped_refptr<WorkerActivatedObserver> observer = | 2682 scoped_refptr<WorkerActivatedObserver> observer = |
2684 new WorkerActivatedObserver(wrapper()); | 2683 new WorkerActivatedObserver(wrapper()); |
2685 observer->Init(); | 2684 observer->Init(); |
2686 public_context()->RegisterServiceWorker( | 2685 public_context()->RegisterServiceWorker( |
2687 embedded_test_server()->GetURL(kPageUrl), | 2686 embedded_test_server()->GetURL(kPageUrl), |
2688 embedded_test_server()->GetURL(kWorkerUrl), | 2687 embedded_test_server()->GetURL(kWorkerUrl), false, |
2689 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); | 2688 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); |
2690 observer->Wait(); | 2689 observer->Wait(); |
2691 } | 2690 } |
2692 | 2691 |
2693 void NavigateToTestPage() { | 2692 void NavigateToTestPage() { |
2694 const base::string16 title = | 2693 const base::string16 title = |
2695 base::ASCIIToUTF16("Title was changed by the script."); | 2694 base::ASCIIToUTF16("Title was changed by the script."); |
2696 TitleWatcher title_watcher(shell()->web_contents(), title); | 2695 TitleWatcher title_watcher(shell()->web_contents(), title); |
2697 NavigateToURL(shell(), embedded_test_server()->GetURL(kPageUrl)); | 2696 NavigateToURL(shell(), embedded_test_server()->GetURL(kPageUrl)); |
2698 EXPECT_EQ(title, title_watcher.WaitAndGetTitle()); | 2697 EXPECT_EQ(title, title_watcher.WaitAndGetTitle()); |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2817 ServiceWorkerBrowserTest::SetUpOnMainThread(); | 2816 ServiceWorkerBrowserTest::SetUpOnMainThread(); |
2818 } | 2817 } |
2819 | 2818 |
2820 void RegisterServiceWorkerOnCrossOriginServer(const std::string& scope, | 2819 void RegisterServiceWorkerOnCrossOriginServer(const std::string& scope, |
2821 const std::string& script) { | 2820 const std::string& script) { |
2822 scoped_refptr<WorkerActivatedObserver> observer = | 2821 scoped_refptr<WorkerActivatedObserver> observer = |
2823 new WorkerActivatedObserver(wrapper()); | 2822 new WorkerActivatedObserver(wrapper()); |
2824 observer->Init(); | 2823 observer->Init(); |
2825 public_context()->RegisterServiceWorker( | 2824 public_context()->RegisterServiceWorker( |
2826 cross_origin_server_.GetURL(scope), cross_origin_server_.GetURL(script), | 2825 cross_origin_server_.GetURL(scope), cross_origin_server_.GetURL(script), |
| 2826 false, |
2827 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); | 2827 base::Bind(&ExpectResultAndRun, true, base::Bind(&base::DoNothing))); |
2828 observer->Wait(); | 2828 observer->Wait(); |
2829 } | 2829 } |
2830 | 2830 |
2831 void RunTestWithCrossOriginURL(const std::string& test_page, | 2831 void RunTestWithCrossOriginURL(const std::string& test_page, |
2832 const std::string& cross_origin_url) { | 2832 const std::string& cross_origin_url) { |
2833 const base::string16 title = base::ASCIIToUTF16("PASS"); | 2833 const base::string16 title = base::ASCIIToUTF16("PASS"); |
2834 TitleWatcher title_watcher(shell()->web_contents(), title); | 2834 TitleWatcher title_watcher(shell()->web_contents(), title); |
2835 NavigateToURL(shell(), | 2835 NavigateToURL(shell(), |
2836 embedded_test_server()->GetURL( | 2836 embedded_test_server()->GetURL( |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2937 // effect in CanSuspendRenderer(). | 2937 // effect in CanSuspendRenderer(). |
2938 shell()->web_contents()->WasHidden(); | 2938 shell()->web_contents()->WasHidden(); |
2939 EXPECT_TRUE(rph->IsProcessBackgrounded()); | 2939 EXPECT_TRUE(rph->IsProcessBackgrounded()); |
2940 | 2940 |
2941 // The process which has service worker thread shouldn't be suspended. | 2941 // The process which has service worker thread shouldn't be suspended. |
2942 EXPECT_FALSE(memory_coordinator->CanSuspendRenderer(render_process_id)); | 2942 EXPECT_FALSE(memory_coordinator->CanSuspendRenderer(render_process_id)); |
2943 } | 2943 } |
2944 #endif | 2944 #endif |
2945 | 2945 |
2946 } // namespace content | 2946 } // namespace content |
OLD | NEW |