Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/http/tests/fetch/chromium/resources/data-saver-worker.php |
| diff --git a/third_party/WebKit/LayoutTests/http/tests/fetch/chromium/resources/data-saver-worker.php b/third_party/WebKit/LayoutTests/http/tests/fetch/chromium/resources/data-saver-worker.php |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..72e17f352774aa4b5628b69232040e75fae1e1e8 |
| --- /dev/null |
| +++ b/third_party/WebKit/LayoutTests/http/tests/fetch/chromium/resources/data-saver-worker.php |
| @@ -0,0 +1,33 @@ |
| +<?php |
| +header('Content-Type: text/javascript'); |
| +echo 'var result = {};' . "\n"; |
| +echo 'result["worker_script_header"] = '; |
| +if (isset($_SERVER['HTTP_SAVE_DATA'])) { |
| + echo '"Save-Data: ' . $_SERVER['HTTP_SAVE_DATA'] . '";' . "\n"; |
| +} else { |
| + echo '"No Save-Data";' . "\n"; |
| +} |
| +?> |
| + |
| +var CHECK_PATH = './check-save-data-header.php'; |
| +var methods = ['GET', 'POST', 'PUT']; |
| +var requests = |
| + methods.map(method => new Request(CHECK_PATH, {method: method})); |
|
falken
2017/05/16 08:45:53
METHODS and REQUESTS?
horo
2017/05/16 10:25:22
Done.
|
| + |
| +if (!self.postMessage) { |
| + // For Shared Worker |
| + var postMessagePromise = |
| + new Promise(resolve => { self.postMessage = resolve; }); |
| + self.addEventListener('connect', event => { |
| + postMessagePromise.then(data => event.ports[0].postMessage(data)); |
| + }); |
| +} |
| + |
| +Promise.all(requests.map(request => fetch(request))) |
| + .then(responses => Promise.all(responses.map(response => response.text()))) |
| + .then(texts => { |
| + for (var i = 0; i < methods.length; ++i) { |
| + result[methods[i]] = texts[i]; |
| + } |
| + self.postMessage(result); |
|
falken
2017/05/16 08:45:53
nit: indentation
horo
2017/05/16 10:25:22
Done.
|
| + }); |