Commit 052365a9 authored by Hiroki Nakagawa's avatar Hiroki Nakagawa Committed by Commit Bot

Worker: Remove data saver tests for dedicated workers from web_tests

This CL removes data saver tests for dedicated workers from web_tests. They
are covered by DataSaverForWorkerBrowserTest.

The motivation of this change is that the tests depend on
internals.setSaveDataEnable(), but it no longer works after browser-initiated
dedicated worker script loading (PlzDedicatedWorker) is enabled. We already
removed the tests for shared workers for the same reason (PlzSharedWorker).

Bug: 906991
Change-Id: I93775824d2dab398268bf9b3a7a54d5e9d79f74d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1715729Reviewed-by: default avatarMakoto Shimazu <shimazu@chromium.org>
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#680298}
parent 467d1d9d
......@@ -33,29 +33,9 @@ window.top.promise_test(t => {
});
}, 'fetch() from document with Data-Saver enabled.');
window.top.promise_test(t => {
internals.setSaveDataEnabled(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.');
// A test for shared workers is implemented as a browser test because shared
// worker script is requested from the browser process when NetworkService is
// enabled, and internals.setSaveDataEnable() doesn't work in that case.
// Tests for dedicated workers and shared workers are implemented as browser
// tests because they are requested from the browser process, and
// internals.setSaveDataEnable() doesn't work in those cases.
</script>
"></iframe>
......
......@@ -32,31 +32,9 @@ window.top.promise_test(t => {
});
}, 'fetch() from document with Data-Saver disabled.');
window.top.promise_test(t => {
internals.setSaveDataEnabled(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.');
// A test for shared workers is implemented as a browser test because shared
// worker script is requested from the browser process when NetworkService is
// enabled, and internals.setSaveDataEnable() doesn't work in that case.
// Tests for dedicated workers and shared workers are implemented as browser
// tests because they are requested from the browser process, and
// internals.setSaveDataEnable() doesn't work in those cases.
</script>
"></iframe>
......
<?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);
});
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment