Index: third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/resources/navigation-preload-origin-trial-methods-worker.php |
diff --git a/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/resources/navigation-preload-origin-trial-methods-worker.php b/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/resources/navigation-preload-origin-trial-methods-worker.php |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5224c93e50327583279afe14dcacc8f221e22cb0 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/http/tests/serviceworker/chromium/resources/navigation-preload-origin-trial-methods-worker.php |
@@ -0,0 +1,64 @@ |
+<?php |
+if (isset($_GET["origintrial"])) { |
+ // generate_token.py http://127.0.0.1:8000 ServiceWorkerNavigationPreload -expire-timestamp=2000000000 |
+ header("Origin-Trial: AsAA4dg2Rm+GSgnpyxxnpVk1Bk8CcE+qVBTDpPbIFNscyNRJOdqw1l0vkC4dtsGm1tmP4ZDAKwycQDzsc9xr7gMAAABmeyJvcmlnaW4iOiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwIiwgImZlYXR1cmUiOiAiU2VydmljZVdvcmtlck5hdmlnYXRpb25QcmVsb2FkIiwgImV4cGlyeSI6IDIwMDAwMDAwMDB9"); |
+} |
+header('Content-Type: application/javascript'); |
+?> |
+var log = ''; |
+ |
+self.addEventListener('activate', event => { |
+ log += 'Activate event handler\n'; |
+ if (!self.registration.navigationPreload) { |
+ log += 'registration.navigationPreload not found\n'; |
+ return; |
+ } |
+ event.waitUntil( |
+ registration.navigationPreload.disable() |
+ .then( |
+ result => { log += 'disable() resolved with: ' + result + '\n';}, |
+ error => { log += 'disable() rejected with: ' + error + '\n';}) |
+ .then(_ => registration.navigationPreload.enable()) |
+ .then( |
+ result => { log += 'enable() resolved with: ' + result + '\n';}, |
+ error => { log += 'enable() rejected with: ' + error + '\n';}) |
+ .then(_ => registration.navigationPreload.getState()) |
+ .then( |
+ result => { |
+ log += 'getState() resolved with: ' + JSON.stringify(result) + '\n'; |
+ }, |
+ error => { log += 'getState() rejected with: ' + error + '\n';}) |
+ .then(_ => registration.navigationPreload.setHeaderValue('world')) |
+ .then( |
+ result => { log += 'setHeaderValue() resolved with: ' + result + '\n';}, |
+ error => { log += 'setHeaderValue() rejected with: ' + error + '\n';})); |
+}); |
+ |
+self.addEventListener('message', event => { |
+ event.source.postMessage(log); |
+}); |
+ |
+self.addEventListener('fetch', event => { |
+ log += 'Fetch event handler\n'; |
+ if (!event.preloadResponse) { |
+ log += 'event.preloadResponse not found\n'; |
+ } else { |
+ event.respondWith( |
+ event.preloadResponse |
+ .then( |
+ res => { |
+ log += 'event.preloadResponse resolved with: ' + res + '\n'; |
+ if (!res) { |
+ return new Response(''); |
+ } |
+ return res.text().then(text => { |
+ log += 'Text of preloadResponse: [' + text + ']\n'; |
+ return new Response(''); |
+ }) |
+ }, |
+ err => { |
+ log += 'event.preloadResponse rejected with: ' + err + '\n'; |
+ return new Response(''); |
+ })); |
+ } |
+}); |