Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(657)

Unified Diff: third_party/WebKit/LayoutTests/http/tests/fetch/serviceworker-proxied/useragent-header-via-forwarding-worker.html

Issue 2254693002: Delay generation of User-Agent header to URLRequestHttpJob and accept custom User-Agent from XHR/Fe… Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Changed Android test Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/http/tests/fetch/serviceworker-proxied/useragent-header-via-forwarding-worker.html
diff --git a/third_party/WebKit/LayoutTests/http/tests/fetch/serviceworker-proxied/useragent-header-via-forwarding-worker.html b/third_party/WebKit/LayoutTests/http/tests/fetch/serviceworker-proxied/useragent-header-via-forwarding-worker.html
new file mode 100644
index 0000000000000000000000000000000000000000..eab08944530fc1bc73370e91870abf245a9cc305
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/http/tests/fetch/serviceworker-proxied/useragent-header-via-forwarding-worker.html
@@ -0,0 +1,63 @@
+<!doctype html>
+<script src = "/resources/testharness.js"></script>
+<script src = "/resources/testharnessreport.js"></script>
+<script src = "/serviceworker/resources/test-helpers.js"></script>
+<script>
+promise_test(test => {
+ const SCOPE = '../resources/useragent-header-iframe.html';
+ const SCRIPT = '../resources/forwarding-worker.js';
horo 2016/08/24 01:38:33 missing this file?
+
+ let frame;
+
+ let portToSW;
+
+ function waitForMessageFromSW(expected_message) {
+ return new Promise((resolve, reject) => {
+ portToSW.onmessage = event => {
+ try {
+ assert_equals(event.data, expected_message);
+ resolve();
+ } catch (e) {
+ reject(e);
+ }
+ };
+ });
+ }
+
+ return service_worker_unregister_and_register(test, SCRIPT, SCOPE)
+ .then(r => {
+ const worker = r.installing;
+
+ const channel = new MessageChannel();
+ portToSW = channel.port1;
+ const readyPromise = waitForMessageFromSW('READY');
+ worker.postMessage({port: channel.port2}, [channel.port2]);
+
+ return Promise.all([wait_for_state(test, worker, 'activated'), readyPromise]);
+ })
+ .then(() => {
horo 2016/08/24 01:38:33 ditto
+ return with_iframe(SCOPE);
+ })
+ .then(f => {
+ frame = f;
+ })
+ .then(() => {
+ const onFetchPromise = waitForMessageFromSW('onfetch');
+ return Promise.all([frame.contentWindow.get_useragent(), onFetchPromise]);
+ })
+ .then(v => {
+ assert_true(v[0].length > 0);
+ })
+ .then(() => {
+ const onFetchPromise = waitForMessageFromSW('onfetch');
+ return Promise.all([frame.contentWindow.get_overridden_useragent(), onFetchPromise]);
+ })
+ .then(v => {
+ assert_equals(v[0], 'foobar');
+ })
+ .then(() => {
+ frame.remove();
+ return service_worker_unregister(test, SCOPE);
+ });
+ }, 'Check User-Agent header generation for requests proxied by the forwarding worker');
+</script>

Powered by Google App Engine
This is Rietveld 408576698