Changeset 249648 in webkit
- Timestamp:
- Sep 9, 2019 10:18:25 AM (5 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 5 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r249645 r249648 1 2019-09-09 Chris Dumez <cdumez@apple.com> 2 3 Stop using testRunner.setPrivateBrowsingEnabled_DEPRECATED() in http/tests/workers/service/basic-register.html 4 https://bugs.webkit.org/show_bug.cgi?id=201590 5 6 Reviewed by Youenn Fablet. 7 8 Split the layout test in 2 to test both the default and the ephemeral session without relying on the 9 testRunner.setPrivateBrowsingEnabled_DEPRECATED() hack. 10 11 * http/tests/workers/service/basic-register-expected.txt: 12 * http/tests/workers/service/basic-register-private-expected.txt: Copied from LayoutTests/http/tests/workers/service/basic-register-expected.txt. 13 * http/tests/workers/service/basic-register-private.html: Added. 14 * http/tests/workers/service/resources/basic-register.js: 15 (async.test): 16 1 17 2019-09-09 Rob Buis <rbuis@igalia.com> 2 18 -
trunk/LayoutTests/http/tests/workers/service/basic-register-expected.txt
r225975 r249648 1 1 PASS: No service worker is initially registered for this origin 2 PASS: No service worker is initially registered for this origin in private session3 2 Registered! 4 3 PASS: registration object's scope is valid 5 4 PASS: registration object's updateViaCache is valid 6 5 PASS: A service worker is now registered for this origin 7 PASS: No service worker is registered for this origin in private session8 6 PASS: registering a script which does not exist rejected the promise 9 7 -
trunk/LayoutTests/http/tests/workers/service/basic-register-private-expected.txt
r249647 r249648 1 1 PASS: No service worker is initially registered for this origin 2 PASS: No service worker is initially registered for this origin in private session3 2 Registered! 4 3 PASS: registration object's scope is valid 5 4 PASS: registration object's updateViaCache is valid 6 5 PASS: A service worker is now registered for this origin 7 PASS: No service worker is registered for this origin in private session8 6 PASS: registering a script which does not exist rejected the promise 9 7 -
trunk/LayoutTests/http/tests/workers/service/resources/basic-register.js
r249542 r249648 11 11 log("FAIL: A service worker is initially registered for this origin"); 12 12 13 testRunner.setPrivateBrowsingEnabled_DEPRECATED(true);14 15 if (!await internals.hasServiceWorkerRegistration(self.origin))16 log("PASS: No service worker is initially registered for this origin in private session");17 else18 log("FAIL: A service worker is initially registered for this origin in private session");19 20 testRunner.setPrivateBrowsingEnabled_DEPRECATED(false);21 13 try { 22 14 r = await navigator.serviceWorker.register("resources/empty-worker.js", { scope: "/workers/service/resources/test", updateViaCache: "none" }) … … 37 29 else 38 30 log("FAIL: No service worker is registered for this origin"); 39 40 testRunner.setPrivateBrowsingEnabled_DEPRECATED(true);41 42 if (!await internals.hasServiceWorkerRegistration("/test"))43 log("PASS: No service worker is registered for this origin in private session");44 else45 log("FAIL: A service worker is registered for this origin in private session");46 47 testRunner.setPrivateBrowsingEnabled_DEPRECATED(false);48 31 } catch (e) { 49 32 log("Exception registering: " + e); -
trunk/Tools/ChangeLog
r249646 r249648 1 2019-09-09 Chris Dumez <cdumez@apple.com> 2 3 Stop using testRunner.setPrivateBrowsingEnabled_DEPRECATED() in http/tests/workers/service/basic-register.html 4 https://bugs.webkit.org/show_bug.cgi?id=201590 5 6 Reviewed by Youenn Fablet. 7 8 Add a new API test to check that if the default session registers a service worker, the 9 hasServiceWorkerRegistration flag is still false in an ephemeral session. 10 11 * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: 12 1 13 2019-09-09 Jonathan Bedard <jbedard@apple.com> 2 14 -
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm
r249626 r249648 1431 1431 } 1432 1432 1433 static const char* differentSessionsUseDifferentRegistrationsMainBytes = R"SWRESOURCE( 1434 <script> 1435 try { 1436 navigator.serviceWorker.register("empty-worker.js", { scope : "/test" }).then((registration) => { 1437 activeWorker = registration.installing; 1438 activeWorker.addEventListener('statechange', () => { 1439 if (activeWorker.state === "activated") 1440 webkit.messageHandlers.sw.postMessage("PASS"); 1441 }); 1442 }); 1443 } catch (e) { 1444 webkit.messageHandlers.sw.postMessage("" + e); 1445 } 1446 </script> 1447 )SWRESOURCE"; 1448 1449 static const char* defaultPageMainBytes = R"SWRESOURCE( 1450 <script> 1451 async function getResult() 1452 { 1453 var result = await internals.hasServiceWorkerRegistration("/test"); 1454 window.webkit.messageHandlers.sw.postMessage(result ? "PASS" : "FAIL"); 1455 } 1456 getResult(); 1457 </script> 1458 )SWRESOURCE"; 1459 1460 static const char* privatePageMainBytes = R"SWRESOURCE( 1461 <script> 1462 async function getResult() 1463 { 1464 var result = await internals.hasServiceWorkerRegistration("/test"); 1465 window.webkit.messageHandlers.sw.postMessage(result ? "FAIL" : "PASS"); 1466 } 1467 getResult(); 1468 </script> 1469 )SWRESOURCE"; 1470 1471 TEST(ServiceWorkers, DifferentSessionsUseDifferentRegistrations) 1472 { 1473 [WKWebsiteDataStore _allowWebsiteDataRecordsForAllOrigins]; 1474 1475 // Start with a clean slate data store 1476 [[WKWebsiteDataStore defaultDataStore] removeDataOfTypes:[WKWebsiteDataStore allWebsiteDataTypes] modifiedSince:[NSDate distantPast] completionHandler:^() { 1477 done = true; 1478 }]; 1479 TestWebKitAPI::Util::run(&done); 1480 done = false; 1481 1482 auto configuration = adoptNS([[WKWebViewConfiguration alloc] init]); 1483 setConfigurationInjectedBundlePath(configuration.get()); 1484 1485 auto messageHandler = adoptNS([[SWMessageHandlerForCacheStorage alloc] init]); 1486 [[configuration userContentController] addScriptMessageHandler:messageHandler.get() name:@"sw"]; 1487 1488 auto handler = adoptNS([[SWSchemes alloc] init]); 1489 handler->resources.set("sw://host/main.html", ResourceInfo { @"text/html", differentSessionsUseDifferentRegistrationsMainBytes }); 1490 handler->resources.set("sw://host/main2.html", ResourceInfo { @"text/html", defaultPageMainBytes }); 1491 handler->resources.set("sw://host/empty-worker.js", ResourceInfo { @"application/javascript", "" }); 1492 handler->resources.set("sw://host/private.html", ResourceInfo { @"text/html", privatePageMainBytes }); 1493 [configuration setURLSchemeHandler:handler.get() forURLScheme:@"SW"]; 1494 1495 auto defaultWebView = adoptNS([[TestWKWebView alloc] initWithFrame:NSMakeRect(0, 0, 800, 600) configuration:configuration.get()]); 1496 NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"sw://host/main.html"]]; 1497 [defaultWebView synchronouslyLoadRequest:request]; 1498 1499 TestWebKitAPI::Util::run(&done); 1500 done = false; 1501 1502 request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"sw://host/main2.html"]]; 1503 [defaultWebView synchronouslyLoadRequest:request]; 1504 1505 TestWebKitAPI::Util::run(&done); 1506 done = false; 1507 1508 configuration.get().websiteDataStore = [WKWebsiteDataStore nonPersistentDataStore]; 1509 auto ephemeralWebView = adoptNS([[WKWebView alloc] initWithFrame:NSMakeRect(0, 0, 800, 600) configuration:configuration.get()]); 1510 request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"sw://host/private.html"]]; 1511 [ephemeralWebView synchronouslyLoadRequest:request]; 1512 1513 TestWebKitAPI::Util::run(&done); 1514 done = false; 1515 } 1516 1433 1517 static const char* regularPageGrabbingCacheStorageDirectory = R"SWRESOURCE( 1434 1518 <script>
Note: See TracChangeset
for help on using the changeset viewer.