| 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..3a8c9d2191011984021c43a9704c418a8b9f6714
|
| --- /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}));
|
| +
|
| +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);
|
| + });
|
|
|