| Index: third_party/WebKit/LayoutTests/http/tests/fetch/chromium/data-saver.html
|
| diff --git a/third_party/WebKit/LayoutTests/http/tests/fetch/chromium/data-saver.html b/third_party/WebKit/LayoutTests/http/tests/fetch/chromium/data-saver.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..76d6dd1bbc479ab703aa57a2443c20bf89ddd57a
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/http/tests/fetch/chromium/data-saver.html
|
| @@ -0,0 +1,126 @@
|
| +<html>
|
| +<title>Tests for 'Save-Data' header.</title>
|
| +<script src="/resources/testharness.js"></script>
|
| +<script src="/resources/testharnessreport.js"></script>
|
| +<script>
|
| +
|
| +var CHECK_PATH = './resources/check-save-data-header.php';
|
| +var METHODS = ['GET', 'POST', 'PUT'];
|
| +var REQUESTS =
|
| + METHODS.map(method => new Request(CHECK_PATH, {method: method}));
|
| +
|
| +promise_test(t => {
|
| + window.internals.settings.setDataSaverEnabled(false);
|
| + return Promise.all(REQUESTS.map(request => fetch(request.clone())))
|
| + .then(responses => Promise.all(responses.map(response => response.text())))
|
| + .then(texts => {
|
| + for (var i = 0; i < METHODS.length; ++i) {
|
| + assert_equals(
|
| + texts[i], 'No Save-Data',
|
| + 'Save-Data header should not be sent when disabled. method: ' +
|
| + METHODS[i]);
|
| + }
|
| + });
|
| +}, 'fetch() from document with Data-Saver disabled.');
|
| +
|
| +promise_test(t => {
|
| + window.internals.settings.setDataSaverEnabled(true);
|
| + return Promise.all(REQUESTS.map(request => fetch(request.clone())))
|
| + .then(responses => Promise.all(responses.map(response => response.text())))
|
| + .then(texts => {
|
| + for (var i = 0; i < METHODS.length; ++i) {
|
| + assert_equals(
|
| + texts[i], 'Save-Data: on',
|
| + 'Save-Data header should be sent when disabled. method: ' +
|
| + METHODS[i]);
|
| + }
|
| + });
|
| +}, 'fetch() from document with Data-Saver enabled.');
|
| +
|
| +promise_test(t => {
|
| + window.internals.settings.setDataSaverEnabled(false);
|
| + var worker =
|
| + new Worker('./resources/data-saver-worker.php?dedicated-disabled');
|
| + return new Promise(resolve =>
|
| + worker.addEventListener('message', resolve))
|
| + .then(msg => {
|
| + var result = msg.data;
|
| + assert_equals(
|
| + result['worker_script_header'], 'No Save-Data',
|
| + 'Save-Data header should not be sent for worker script when ' +
|
| + 'disabled.');
|
| + for (var i = 0; i < METHODS.length; ++i) {
|
| + assert_equals(
|
| + result[METHODS[i]], 'No Save-Data',
|
| + 'Save-Data header should not be sent when disabled. method: ' +
|
| + METHODS[i]);
|
| + }
|
| + });
|
| +}, 'fetch() from dedicated worker with Data-Saver disabled.');
|
| +
|
| +promise_test(t => {
|
| + window.internals.settings.setDataSaverEnabled(true);
|
| + var worker =
|
| + new Worker('./resources/data-saver-worker.php?dedicated-enabled');
|
| + return new Promise(resolve =>
|
| + worker.addEventListener('message', resolve))
|
| + .then(msg => {
|
| + var result = msg.data;
|
| + assert_equals(
|
| + result['worker_script_header'], 'Save-Data: on',
|
| + 'Save-Data header should be sent for worker script when enabled.');
|
| + for (var i = 0; i < METHODS.length; ++i) {
|
| + assert_equals(
|
| + result[METHODS[i]], 'Save-Data: on',
|
| + 'Save-Data header should be sent when enabled. method: ' +
|
| + METHODS[i]);
|
| + }
|
| + });
|
| +}, 'fetch() from dedicated worker with Data-Saver enabled.');
|
| +
|
| +promise_test(t => {
|
| + window.internals.settings.setDataSaverEnabled(false);
|
| + var worker =
|
| + new SharedWorker('./resources/data-saver-worker.php?shared-disabled');
|
| + return new Promise(resolve => {
|
| + worker.port.addEventListener('message', resolve);
|
| + worker.port.start();
|
| + })
|
| + .then(msg => {
|
| + var result = msg.data;
|
| + assert_equals(
|
| + result['worker_script_header'], 'No Save-Data',
|
| + 'Save-Data header should not be sent for worker script when ' +
|
| + 'disabled.');
|
| + for (var i = 0; i < METHODS.length; ++i) {
|
| + assert_equals(
|
| + result[METHODS[i]], 'No Save-Data',
|
| + 'Save-Data header should not be sent when disabled. method: ' +
|
| + METHODS[i]);
|
| + }
|
| + });
|
| +}, 'fetch() from shared worker with Data-Saver disabled.');
|
| +
|
| +promise_test(t => {
|
| + window.internals.settings.setDataSaverEnabled(true);
|
| + var worker =
|
| + new SharedWorker('./resources/data-saver-worker.php?shared-enabled');
|
| + return new Promise(resolve => {
|
| + worker.port.addEventListener('message', resolve);
|
| + worker.port.start();
|
| + })
|
| + .then(msg => {
|
| + var result = msg.data;
|
| + assert_equals(
|
| + result['worker_script_header'], 'Save-Data: on',
|
| + 'Save-Data header should be sent for worker script when enabled.');
|
| + for (var i = 0; i < METHODS.length; ++i) {
|
| + assert_equals(
|
| + result[METHODS[i]], 'Save-Data: on',
|
| + 'Save-Data header should be sent when enabled. method: ' +
|
| + METHODS[i]);
|
| + }
|
| + });
|
| +}, 'fetch() from shared worker with Data-Saver enabled.');
|
| +
|
| +</script>
|
|
|