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

Side by Side Diff: content/browser/service_worker/service_worker_browsertest.cc

Issue 2771823002: Implement updateViaCache flag and no-cache by default for main service worker scripts
Patch Set: fix tests Created 3 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
OLDNEW
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
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
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
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
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
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
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
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
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698