Index: chrome/test/data/extensions/api_test/service_worker/content_script_fetch/controlled_page/index.html |
diff --git a/chrome/test/data/extensions/api_test/service_worker/content_script_fetch/controlled_page/index.html b/chrome/test/data/extensions/api_test/service_worker/content_script_fetch/controlled_page/index.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..b2a2191abf749dbe7434973f8ba35d18bdaf3bdd |
--- /dev/null |
+++ b/chrome/test/data/extensions/api_test/service_worker/content_script_fetch/controlled_page/index.html |
@@ -0,0 +1,25 @@ |
+<script> |
+function register() { |
+ var script = './sw.js'; |
+ var scope = './'; |
+ navigator.serviceWorker.register(script, {scope: scope}) |
+ .then(function() { return navigator.serviceWorker.ready; }) |
+ .then(function(registration) { |
+ var channel = new MessageChannel(); |
+ var saw_message = new Promise(function(resolve, reject) { |
+ channel.port1.onmessage = function (e) { |
+ if (e.data == 'clients claimed') |
+ resolve(); |
+ else |
+ reject(e.data) |
+ }; |
+ }); |
+ registration.active.postMessage({port: channel.port2}, [channel.port2]); |
+ return saw_message; |
+ }) |
+ .then(function() { return fetch('./sw_controlled_check'); }) |
+ .then(function(res) { return res.text(); }) |
+ .then(function(txt) { window.domAutomationController.send(txt); }) |
+ .catch(function(e) { window.domAutomationController.send('Fail: ' + e); }); |
+} |
+</script> |