Bug 1338173 Remove the service-worker version of get-host-info.sub.js. r=jgraham
authorBen Kelly <ben@wanderview.com>
Thu, 09 Feb 2017 12:35:24 -0500
changeset 481425 0a8eec8c332e7058b42db64d3f2329103a3fa23d
parent 481424 fe2fedb64403254e8c299d1df2e94521733d5c95
child 481426 b5f610c22132f1af5c816c70fe7036986c9b23c1
push id44791
push userbmo:miket@mozilla.com
push dateThu, 09 Feb 2017 19:59:00 +0000
reviewersjgraham
bugs1338173
milestone54.0a1
Bug 1338173 Remove the service-worker version of get-host-info.sub.js. r=jgraham
testing/web-platform/meta/MANIFEST.json
testing/web-platform/tests/service-workers/service-worker/client-navigate.https.html
testing/web-platform/tests/service-workers/service-worker/clients-get-cross-origin.https.html
testing/web-platform/tests/service-workers/service-worker/clients-get.https.html
testing/web-platform/tests/service-workers/service-worker/fetch-canvas-tainting-cache.https.html
testing/web-platform/tests/service-workers/service-worker/fetch-canvas-tainting.https.html
testing/web-platform/tests/service-workers/service-worker/fetch-cors-xhr.https.html
testing/web-platform/tests/service-workers/service-worker/fetch-csp.https.html
testing/web-platform/tests/service-workers/service-worker/fetch-event-redirect.https.html
testing/web-platform/tests/service-workers/service-worker/fetch-event.https.html
testing/web-platform/tests/service-workers/service-worker/fetch-frame-resource.https.html
testing/web-platform/tests/service-workers/service-worker/fetch-header-visibility.https.html
testing/web-platform/tests/service-workers/service-worker/fetch-mixed-content-to-inscope.https.html
testing/web-platform/tests/service-workers/service-worker/fetch-mixed-content-to-outscope.https.html
testing/web-platform/tests/service-workers/service-worker/fetch-request-css-base-url.https.html
testing/web-platform/tests/service-workers/service-worker/fetch-request-css-images.https.html
testing/web-platform/tests/service-workers/service-worker/fetch-request-fallback.https.html
testing/web-platform/tests/service-workers/service-worker/fetch-request-redirect.https.html
testing/web-platform/tests/service-workers/service-worker/fetch-request-resources.https.html
testing/web-platform/tests/service-workers/service-worker/fetch-request-xhr.https.html
testing/web-platform/tests/service-workers/service-worker/fetch-response-xhr.https.html
testing/web-platform/tests/service-workers/service-worker/fetch-waits-for-activate.https.html
testing/web-platform/tests/service-workers/service-worker/getregistrations.https.html
testing/web-platform/tests/service-workers/service-worker/invalid-blobtype.https.html
testing/web-platform/tests/service-workers/service-worker/invalid-header.https.html
testing/web-platform/tests/service-workers/service-worker/navigate-window.https.html
testing/web-platform/tests/service-workers/service-worker/navigation-redirect.https.html
testing/web-platform/tests/service-workers/service-worker/postmessage-to-client.https.html
testing/web-platform/tests/service-workers/service-worker/referer.https.html
testing/web-platform/tests/service-workers/service-worker/register-closed-window.https.html
testing/web-platform/tests/service-workers/service-worker/resource-timing.https.html
testing/web-platform/tests/service-workers/service-worker/resources/client-navigate-worker.js
testing/web-platform/tests/service-workers/service-worker/resources/clients-get-other-origin.html
testing/web-platform/tests/service-workers/service-worker/resources/dummy-worker-interceptor.js
testing/web-platform/tests/service-workers/service-worker/resources/fetch-canvas-tainting-iframe.html
testing/web-platform/tests/service-workers/service-worker/resources/fetch-cors-xhr-iframe.html
testing/web-platform/tests/service-workers/service-worker/resources/fetch-csp-iframe.html
testing/web-platform/tests/service-workers/service-worker/resources/fetch-header-visibility-iframe.html
testing/web-platform/tests/service-workers/service-worker/resources/fetch-mixed-content-iframe-inscope-to-inscope.html
testing/web-platform/tests/service-workers/service-worker/resources/fetch-mixed-content-iframe-inscope-to-outscope.html
testing/web-platform/tests/service-workers/service-worker/resources/fetch-mixed-content-iframe.html
testing/web-platform/tests/service-workers/service-worker/resources/fetch-request-css-base-url-worker.js
testing/web-platform/tests/service-workers/service-worker/resources/fetch-request-xhr-iframe.https.html
testing/web-platform/tests/service-workers/service-worker/resources/fetch-response-xhr-iframe.https.html
testing/web-platform/tests/service-workers/service-worker/resources/get-host-info.sub.js
testing/web-platform/tests/service-workers/service-worker/resources/navigation-redirect-other-origin.html
testing/web-platform/tests/service-workers/service-worker/resources/referer-iframe.html
testing/web-platform/tests/service-workers/service-worker/resources/service-worker-csp-worker.py
testing/web-platform/tests/service-workers/service-worker/resources/worker-interception-iframe.https.html
testing/web-platform/tests/service-workers/service-worker/resources/worker-load-interceptor.js
testing/web-platform/tests/service-workers/service-worker/websocket.https.html
testing/web-platform/tests/service-workers/service-worker/xhr.https.html
--- a/testing/web-platform/meta/MANIFEST.json
+++ b/testing/web-platform/meta/MANIFEST.json
@@ -60036,21 +60036,16 @@
      {}
     ]
    ],
    "service-workers/service-worker/resources/frame-for-getregistrations.html": [
     [
      {}
     ]
    ],
-   "service-workers/service-worker/resources/get-host-info.sub.js": [
-    [
-     {}
-    ]
-   ],
    "service-workers/service-worker/resources/indexeddb-worker.js": [
     [
      {}
     ]
    ],
    "service-workers/service-worker/resources/install-event-type-worker.js": [
     [
      {}
@@ -138484,17 +138479,17 @@
    "22fd0012458685b4bce13e5f15cc650726482f26",
    "support"
   ],
   "common/form-submission.py": [
    "079aedef390e883d1a1815238f7a04c058dfb9bf",
    "support"
   ],
   "common/get-host-info.sub.js": [
-   "4feb5667d2093736391c71b8f0224f6d868c8cf4",
+   "eade85ef5ac0eb56ba5ecf8057ab7a4ea05a22e1",
    "support"
   ],
   "common/large.py": [
    "19d0b8d5fec34f080c37f1b1b837ea0c2401ad82",
    "support"
   ],
   "common/media.js": [
    "a575b8135e6ddb1501fc2a082d7544ee86011b7d",
@@ -177888,17 +177883,17 @@
    "febb81c38f530c81d9e9837df2c6d603225ecfd1",
    "testharness"
   ],
   "html/webappapis/idle-callbacks/callback-timeout.html": [
    "ba76964575cdf9b433f26c8a5d7a8183ab5c16e9",
    "testharness"
   ],
   "html/webappapis/idle-callbacks/cancel-invoked.html": [
-   "d0128b4d4b805a58926ad895f35b341321cf56ec",
+   "30787d765fa435c1392bd852559042bf3c2e2553",
    "testharness"
   ],
   "html/webappapis/idle-callbacks/idlharness.html": [
    "520ee58982b43875f3caa08d7f46b9c6311be0b6",
    "testharness"
   ],
   "html/webappapis/scripting/.gitkeep": [
    "da39a3ee5e6b4b0d3255bfef95601890afd80709",
@@ -198296,25 +198291,25 @@
    "72da19e038b6ab32ea04a0e91d117bc67d25a301",
    "testharness"
   ],
   "service-workers/service-worker/claim-using-registration.https.html": [
    "fb56cc3ae802669bb7898e76ac55e75ba6ac1441",
    "testharness"
   ],
   "service-workers/service-worker/client-navigate.https.html": [
-   "79904ed11a3c53c4559c8f44603fcc1cf0a05844",
+   "e0c704605ec008a29662e1804d512284899ddd6f",
    "testharness"
   ],
   "service-workers/service-worker/clients-get-cross-origin.https.html": [
-   "7e9d0cd022aa70a0f38b2f15f05919e9ff185728",
+   "21ed1eab21bb6f0b342895c8185ecb92afe93b79",
    "testharness"
   ],
   "service-workers/service-worker/clients-get.https.html": [
-   "54c7ac17c93881644c202dbacf36de2fc507a3f5",
+   "32ccf7734a7d0d40205c4fd30b393b175e6507bd",
    "testharness"
   ],
   "service-workers/service-worker/clients-matchall-client-types.https.html": [
    "576b4306b0976071ec1c7e085e016b99b5ab12cc",
    "testharness"
   ],
   "service-workers/service-worker/clients-matchall-include-uncontrolled.https.html": [
    "f3fbc439d4352a9c781290d80373fce8ff3e7c40",
@@ -198340,113 +198335,113 @@
    "fe5c4595f528af34d83a64bae1fe94a14483cde5",
    "testharness"
   ],
   "service-workers/service-worker/extendable-event-waituntil.https.html": [
    "9232c93bc437aa6c32a2a82db03e622b96d23395",
    "testharness"
   ],
   "service-workers/service-worker/fetch-canvas-tainting-cache.https.html": [
-   "3401c0848a63c619c618d4a2cf3c59f3928ff162",
+   "b3f8375bc412c99099ac886673fd80f6cb0a312b",
    "testharness"
   ],
   "service-workers/service-worker/fetch-canvas-tainting.https.html": [
-   "1f2d87f214450395472fe3dffcb2783e71ec0d52",
+   "9c2e160f95d2915a961bd7da840ac53779c9387d",
    "testharness"
   ],
   "service-workers/service-worker/fetch-cors-xhr.https.html": [
-   "5a35a77eb5575e181aee035ffa103f51152fda54",
+   "448c071ddeaaaf828800d8fad20d8ce672e56590",
    "testharness"
   ],
   "service-workers/service-worker/fetch-csp.https.html": [
-   "b9ff203833b7af8b0181eea9a1778b9e4d20ccb1",
+   "97fff975592937acda3e8f363685dc9a835c12be",
    "testharness"
   ],
   "service-workers/service-worker/fetch-event-after-navigation-within-page.https.html": [
    "3071523401bd9147ac4dab89361e07de99babc9c",
    "testharness"
   ],
   "service-workers/service-worker/fetch-event-async-respond-with.https.html": [
    "6ea721f98b2d145eeeb07b762901b9cfa1b51fbd",
    "testharness"
   ],
   "service-workers/service-worker/fetch-event-network-error.https.html": [
    "ee1cd2ed2c3204af53422116289c558f5eff68d9",
    "testharness"
   ],
   "service-workers/service-worker/fetch-event-redirect.https.html": [
-   "5d4efd3504c37f5b728eef4941266b3d1d8842e7",
+   "e322139b14149fe9b3f3aff76a9af8a58437e715",
    "testharness"
   ],
   "service-workers/service-worker/fetch-event-respond-with-stops-propagation.https.html": [
    "2feaa5022ee31fb980f97075d932b0d87d6efe75",
    "testharness"
   ],
   "service-workers/service-worker/fetch-event.https.html": [
-   "9197ebb50014905e02645c5dc71d467be0e7604c",
+   "ce7785af8286cd371cc08092903c333332deb862",
    "testharness"
   ],
   "service-workers/service-worker/fetch-frame-resource.https.html": [
-   "e5996d90c4c383eda2947cc2bc39e734448b3bde",
+   "77709ff94cfaeec0b01e157714244d1b568c6b18",
    "testharness"
   ],
   "service-workers/service-worker/fetch-header-visibility.https.html": [
-   "c12941b5e391a520b20f227fd515089ac922f50e",
+   "054a581d2585cf34e4f0626870c2a093d53dc09b",
    "testharness"
   ],
   "service-workers/service-worker/fetch-mixed-content-to-inscope.https.html": [
-   "16bf962ab092624da480de9a75ac767cdc00c2c7",
+   "e3035bdf8cec65bb0322b5dfce10a3a827bd415e",
    "testharness"
   ],
   "service-workers/service-worker/fetch-mixed-content-to-outscope.https.html": [
-   "431348eba25f6db93684b39dcdc9eb29071e27f1",
+   "45a83eeeb922301fc399a4808bb4d1014a541733",
    "testharness"
   ],
   "service-workers/service-worker/fetch-request-css-base-url.https.html": [
-   "e9e6bc4ecfe69bf5f1c8fa718f15fe19ca612143",
+   "01a5220ff2abe5735d7b03c2ee3ccbe21c9a260e",
    "testharness"
   ],
   "service-workers/service-worker/fetch-request-css-images.https.html": [
-   "14c5ad1b9e3971c994ec9134989f03ff4a01962c",
+   "ca776bff1f106f9a1e2dfe4d25ff3618d99758b7",
    "testharness"
   ],
   "service-workers/service-worker/fetch-request-fallback.https.html": [
-   "11b3e5fe92d27ea1058f725a904a4ed8e448a2dd",
+   "60dcb3a4c3b3ca2e79adfc7b779724cbe3ffa1c4",
    "testharness"
   ],
   "service-workers/service-worker/fetch-request-no-freshness-headers.https.html": [
    "9631947d3cec78547bd4666b8ca970d037648cc8",
    "testharness"
   ],
   "service-workers/service-worker/fetch-request-redirect.https.html": [
-   "ffe217a363c6db265aaa2f45661bdc3a4289c9a0",
+   "e0c2c7752674bd8bb65ce09bc1d49b2f5d458d54",
    "testharness"
   ],
   "service-workers/service-worker/fetch-request-resources.https.html": [
-   "6676e514ba04f2759346eaa94f1c87c8290e44cd",
+   "5ae2d1ae4eec846002635d6ff8d9d7c9a2aebd3f",
    "testharness"
   ],
   "service-workers/service-worker/fetch-request-xhr.https.html": [
-   "760037db448b32b146c51ba8e7c453dd9c734a6e",
+   "840aafe30e5a0c8129c05e3b311084b8c00267a6",
    "testharness"
   ],
   "service-workers/service-worker/fetch-response-xhr.https.html": [
-   "b6fa000865a6961afabb592a09bbf686ee4302df",
+   "6d50c69d78a1eb077108209b94fdf0efe540883d",
    "testharness"
   ],
   "service-workers/service-worker/fetch-waits-for-activate.https.html": [
-   "9be9d969099e27be5edc15f6014ac2f06f81674c",
+   "04eeedc3f074aff32281a438acda62b7a6d86e2d",
    "testharness"
   ],
   "service-workers/service-worker/getregistration.https.html": [
    "989c30567eb1dd650dc7e2bf807e18961c991087",
    "testharness"
   ],
   "service-workers/service-worker/getregistrations.https.html": [
-   "8b66990c80dfb44f43a053829005dbca2264106c",
+   "d76c66c08bd5c1addbdb149447f2268ac52ffcb2",
    "testharness"
   ],
   "service-workers/service-worker/indexeddb.https.html": [
    "6b25a37ebe79c60e3645a1006e61f1f2c272ce86",
    "testharness"
   ],
   "service-workers/service-worker/install-event-type.https.html": [
    "55175d94a5d90a030c03d598c079455bb93c71c8",
@@ -198456,37 +198451,37 @@
    "dda1a1967e6e0be64b9bd2198a08aa0429e185ff",
    "testharness"
   ],
   "service-workers/service-worker/interfaces.https.html": [
    "9153cc6536203170ba8d2189d7646200a1ded72e",
    "testharness"
   ],
   "service-workers/service-worker/invalid-blobtype.https.html": [
-   "ff9dca8c16a3635b74a7dfbff8ae5061b89a86e5",
+   "ca29ab7c214d2fa4973cf7be633a7fb8507ae897",
    "testharness"
   ],
   "service-workers/service-worker/invalid-header.https.html": [
-   "559a924fa530f4a4082c306d5821d88f9d2ba064",
+   "393c3b3c393b58e74f82affecdd06c4e7be1787a",
    "testharness"
   ],
   "service-workers/service-worker/multiple-register.https.html": [
    "fe3fe5f2c11f721c8686553587534c2679f670ed",
    "testharness"
   ],
   "service-workers/service-worker/multiple-update.https.html": [
    "1cb6912164a02808f455538ea292f288b2f12ace",
    "testharness"
   ],
   "service-workers/service-worker/navigate-window.https.html": [
-   "fe503981bd965d0d424f4c2e404ab940a2d6db0b",
+   "669507683c98d99aa5dcfbddd71c23f8464b7c21",
    "testharness"
   ],
   "service-workers/service-worker/navigation-redirect.https.html": [
-   "919eb3d5d1203626cc6e23a5200033cb8a756347",
+   "7d9f8501624e1832170d427657d6dbf19253c989",
    "testharness"
   ],
   "service-workers/service-worker/onactivate-script-error.https.html": [
    "7c397361b27e4c4d90a84d92b16593ac40d443a9",
    "testharness"
   ],
   "service-workers/service-worker/oninstall-script-error.https.html": [
    "0497bf37f0e3b55a6a4745cae2ec700b6f963fd3",
@@ -198496,33 +198491,33 @@
    "23d9e3dc830b83370875387cd5d6e1d5e913452f",
    "testharness"
   ],
   "service-workers/service-worker/postmessage-msgport-to-client.https.html": [
    "21ae7fb96321dc75e7063c27b7e6838e6b9ff6c6",
    "testharness"
   ],
   "service-workers/service-worker/postmessage-to-client.https.html": [
-   "8a96689891c9e49456c48e47a09405fe2edb4cce",
+   "4f91d302091df45ca72567c2cedc1584ad9045a9",
    "testharness"
   ],
   "service-workers/service-worker/postmessage.https.html": [
    "5f713ca30ab26d1ee7f3e763911aeb41fcb660bb",
    "testharness"
   ],
   "service-workers/service-worker/ready.https.html": [
    "77199b966f0ef2d05fddaf33b975cc3e7c593546",
    "testharness"
   ],
   "service-workers/service-worker/referer.https.html": [
-   "3a78997f47e3f53bcb94f871032b0d6099361f10",
+   "a9e4073192f5b69984624ad7376ec7787101dfea",
    "testharness"
   ],
   "service-workers/service-worker/register-closed-window.https.html": [
-   "bc6e9bb358fdd6b66d49eaf99e9d5f2e111c874b",
+   "2e24c6664881449ab67f04b860a701c8b8ef93c1",
    "testharness"
   ],
   "service-workers/service-worker/register-default-scope.https.html": [
    "864f5435fc40124dbe2c1ffb0e1942fee58228d2",
    "testharness"
   ],
   "service-workers/service-worker/register-same-scope-different-script-url.https.html": [
    "7c32948fe5ff738a38b08ff2d2497ddb63f0a8ef",
@@ -198560,17 +198555,17 @@
    "785a18ac3c8001034f583a8e97195aa47093bd0d",
    "testharness"
   ],
   "service-workers/service-worker/request-end-to-end.https.html": [
    "751848110fcccb77528114424511fd53857e38ff",
    "testharness"
   ],
   "service-workers/service-worker/resource-timing.https.html": [
-   "003956c17576fa4e0f1c7a5cc7aaf6bb211510ff",
+   "587060940cb25ff8072fa83cb41d538a73320ca6",
    "testharness"
   ],
   "service-workers/service-worker/resources/404.py": [
    "567d0a7de3ef54adaa8339bb04632a2ecfcc57a5",
    "support"
   ],
   "service-workers/service-worker/resources/appcache-ordering.install.html": [
    "2fbe9f464383783774f08276b8e2cc7103fee83c",
@@ -198596,29 +198591,29 @@
    "2839599adca9049d31085e50504623576dc81643",
    "support"
   ],
   "service-workers/service-worker/resources/client-navigate-frame.html": [
    "ecad40948e5d00ca737ea91b702ebbecc268e53b",
    "support"
   ],
   "service-workers/service-worker/resources/client-navigate-worker.js": [
-   "28442dc3f2bb1b2761a17ae599b1300c50327a56",
+   "6b277e1dcde40babec32046f9e637a47830bf29b",
    "support"
   ],
   "service-workers/service-worker/resources/client-navigated-frame.html": [
    "efb9dd2b3468305396a3767fc780d07525bd8e61",
    "support"
   ],
   "service-workers/service-worker/resources/clients-get-frame.html": [
    "2a34fdfb584674ef7b534fb91b313fc630ac0ffa",
    "support"
   ],
   "service-workers/service-worker/resources/clients-get-other-origin.html": [
-   "2bcea64745be9b6aab7d91eb2c54774b8110bb6f",
+   "1b495621d4024d18579626cc5fd6049789bce115",
    "support"
   ],
   "service-workers/service-worker/resources/clients-get-worker.js": [
    "cab646738d3d9662756dcd337718ae02ea234313",
    "support"
   ],
   "service-workers/service-worker/resources/clients-matchall-client-types-iframe.html": [
    "3c8866699d99cfaf61c52ca7a5dafc058a8c349d",
@@ -198632,17 +198627,17 @@
    "e204fdb53a9ae84f1b463f4655d62d1182d77cd5",
    "support"
   ],
   "service-workers/service-worker/resources/dummy-shared-worker-interceptor.js": [
    "620e50059fabfdd4b5c61dbb3ed2d8dca872b9bf",
    "support"
   ],
   "service-workers/service-worker/resources/dummy-worker-interceptor.js": [
-   "5bad22ca85e049d9ccd1228cef98f58bbf21a16a",
+   "f631d35c4eed6be4a8e6d2cdc5258ac0b169e177",
    "support"
   ],
   "service-workers/service-worker/resources/dummy-worker-script.py": [
    "1cde5ac271154715f3e06139e594e6676746cfbe",
    "support"
   ],
   "service-workers/service-worker/resources/dummy.html": [
    "b15855240cf7dbc5df4ee30a544d7ff94935d146",
@@ -198688,25 +198683,25 @@
    "7603f015f115df4bc04e6c1b10d0d0b0abcd3f2d",
    "support"
   ],
   "service-workers/service-worker/resources/fetch-access-control.py": [
    "fb2235ce343b51e958f73f7fc8d7ab7dbcc8f71e",
    "support"
   ],
   "service-workers/service-worker/resources/fetch-canvas-tainting-iframe.html": [
-   "238c7a5082169f5a96160aa298d0450c9e1ed60b",
+   "04c234d3cc210d24962ce2b7cbbefcbd16d335e8",
    "support"
   ],
   "service-workers/service-worker/resources/fetch-cors-xhr-iframe.html": [
-   "a95c7def61681468026031380425f03d3020d66a",
+   "bbed4c0dcae12d91bcda4241103e674a6ffc73b1",
    "support"
   ],
   "service-workers/service-worker/resources/fetch-csp-iframe.html": [
-   "b84cb08bd5e4504dc5509f78ca3a4c07be702814",
+   "0c82ccc773dc644bac0cef39faadcb3280c0c6f4",
    "support"
   ],
   "service-workers/service-worker/resources/fetch-csp-iframe.html.sub.headers": [
    "fba766f6fb555fbd8fde44e8c71ab26d3191e85f",
    "support"
   ],
   "service-workers/service-worker/resources/fetch-event-after-navigation-within-page-iframe.html": [
    "f13e8a4322df20dba937c2658d2c9d9d354a34c2",
@@ -198732,41 +198727,41 @@
    "900fd1c2080fbb386589f7d6ee52c49da9d4fcb8",
    "support"
   ],
   "service-workers/service-worker/resources/fetch-event-test-worker.js": [
    "ca79da139169762737411cb6cffb66b55b901d04",
    "support"
   ],
   "service-workers/service-worker/resources/fetch-header-visibility-iframe.html": [
-   "99c91098d8df9e0b840699770d240bb0aa2ee715",
+   "f5975491b4c516cdfc62eaaba019ab546451d6e7",
    "support"
   ],
   "service-workers/service-worker/resources/fetch-mixed-content-iframe-inscope-to-inscope.html": [
-   "7cf39eebde4a25c1af8690c28db50ef0a4b147cd",
+   "7485fa9c96fbbc4af9de634e0738957dd6ab2aa0",
    "support"
   ],
   "service-workers/service-worker/resources/fetch-mixed-content-iframe-inscope-to-outscope.html": [
-   "623898c5d5975ae661f8b2375af2a1aaf2859c23",
+   "c9a7ec401f8db3416e73694370be0b711f04110e",
    "support"
   ],
   "service-workers/service-worker/resources/fetch-mixed-content-iframe.html": [
-   "bb8ade5c70097997726faf2624b11581e4cfe2f1",
+   "1b7a67809f06e5a14ca77da10d9c43e94f5dc1f0",
    "support"
   ],
   "service-workers/service-worker/resources/fetch-request-css-base-url-iframe.html": [
    "cb6f80953f58469e6c0048fb767d5e9561b0a19c",
    "support"
   ],
   "service-workers/service-worker/resources/fetch-request-css-base-url-style.css": [
    "96f892f4359baa6c12bf8da068c4aeb76a60d657",
    "support"
   ],
   "service-workers/service-worker/resources/fetch-request-css-base-url-worker.js": [
-   "4536000808809f0354c6b206380d92f4e2fddd0e",
+   "30e4285e144a5c9caa0dd48224cefc4b41973de1",
    "support"
   ],
   "service-workers/service-worker/resources/fetch-request-fallback-iframe.html": [
    "a1202e192e51d625cc06c0f7a7e0a27efadc1f2d",
    "support"
   ],
   "service-workers/service-worker/resources/fetch-request-fallback-worker.js": [
    "5195f7d76f6c77bd167c9192a0386c2f8b7863c1",
@@ -198788,25 +198783,25 @@
    "0023475ba862c10277efb63a18275a79facdd9c2",
    "support"
   ],
   "service-workers/service-worker/resources/fetch-request-resources-worker.js": [
    "db66bb2ec1cb1b70e1dddc50748ff134e623e401",
    "support"
   ],
   "service-workers/service-worker/resources/fetch-request-xhr-iframe.https.html": [
-   "2a1cb00d377b6a3460daf9727828af0040756420",
+   "e28b416c027c2ed1a633c0804ef826cad99509ff",
    "support"
   ],
   "service-workers/service-worker/resources/fetch-request-xhr-worker.js": [
    "fcbb50668ec1a3f7bdbd4331babda5b6e0295f2e",
    "support"
   ],
   "service-workers/service-worker/resources/fetch-response-xhr-iframe.https.html": [
-   "bdba81b06c43907a879b992ea20a77526a0e8810",
+   "8bef6d586f438fa912c7e40ac82a5aa73e05706a",
    "support"
   ],
   "service-workers/service-worker/resources/fetch-response-xhr-worker.js": [
    "f94ad37a6f751b96a95c325b0787c1f0c28d2418",
    "support"
   ],
   "service-workers/service-worker/resources/fetch-rewrite-worker.js": [
    "e390cdc4fa2324db03069193e2b049dde82fbc2d",
@@ -198815,20 +198810,16 @@
   "service-workers/service-worker/resources/fetch-waits-for-activate-worker.js": [
    "a557b92d3119f43bbbe10d46effc240d7f11c784",
    "support"
   ],
   "service-workers/service-worker/resources/frame-for-getregistrations.html": [
    "c5f88c11333ff1faba5d57812a36553d174ab711",
    "support"
   ],
-  "service-workers/service-worker/resources/get-host-info.sub.js": [
-   "b9310fbd533b9382c3413bbcf2d49f778d4737dd",
-   "support"
-  ],
   "service-workers/service-worker/resources/indexeddb-worker.js": [
    "ed0ff45423ba74ad0b82e46debd865fdae2fbcb6",
    "support"
   ],
   "service-workers/service-worker/resources/install-event-type-worker.js": [
    "b6949fcd3d82a99595356448fce6ac830366200e",
    "support"
   ],
@@ -198884,17 +198875,17 @@
    "c99d267d5d819bebae13b1866671c9c2460b0104",
    "support"
   ],
   "service-workers/service-worker/resources/navigate-window-worker.js": [
    "4d3b80c17efd78bda66333ba01ffde1b8f6e976b",
    "support"
   ],
   "service-workers/service-worker/resources/navigation-redirect-other-origin.html": [
-   "a43dcad198cad8b1589de1963342c75a0b70d1e9",
+   "8c51024d8e369bc5ae21e94c486c59690df2de3e",
    "support"
   ],
   "service-workers/service-worker/resources/navigation-redirect-out-scope.py": [
    "b41d084ce18e177e59b7caa0d305fc11f37fd4d5",
    "support"
   ],
   "service-workers/service-worker/resources/navigation-redirect-scope1.py": [
    "b41d084ce18e177e59b7caa0d305fc11f37fd4d5",
@@ -198976,17 +198967,17 @@
    "4ccc1681cd016327aafed77210afe6ed1cc8c04a",
    "support"
   ],
   "service-workers/service-worker/resources/redirect.py": [
    "3c5cc6f523aff39bb50a5a9ea1f65e494b49b3f7",
    "support"
   ],
   "service-workers/service-worker/resources/referer-iframe.html": [
-   "f7dc2c960e0bbe78ea14d66d9ee76e7876c29b90",
+   "6b549d0a185a0fb76c230274a672ef4843d33a90",
    "support"
   ],
   "service-workers/service-worker/resources/register-closed-window-iframe.html": [
    "18ee27c8d6a5497bf16b3315ba9eee2b474154b5",
    "support"
   ],
   "service-workers/service-worker/resources/registration-worker.js": [
    "048f75fc0d193765d6264e7be132c29e56dd7bcb",
@@ -199008,17 +198999,17 @@
    "0fc85a13c536aad45a87fb073fdcebf371d4476d",
    "support"
   ],
   "service-workers/service-worker/resources/resource-timing-worker.js": [
    "ee7888f2e145700cf2590b6d6de9bab39088a979",
    "support"
   ],
   "service-workers/service-worker/resources/service-worker-csp-worker.py": [
-   "f91ff42d4a88961aeb4c29cce61db8ad32261f4e",
+   "f7c6bb3ba222dc35a09ef806a7c6d145339f9eb2",
    "support"
   ],
   "service-workers/service-worker/resources/shared-worker-controlled.js": [
    "9ae937c2e8499991432caa4587eb68fe2998f503",
    "support"
   ],
   "service-workers/service-worker/resources/shared-worker-import.js": [
    "700fc039f3115019ab536924985ed9280f39ff0a",
@@ -199096,21 +199087,21 @@
    "29d35c8ffdc89278c6771b47544375145e2b23d5",
    "support"
   ],
   "service-workers/service-worker/resources/websocket.js": [
    "dbf752f9a356f51f6ddf96053b39b5cd3515ddc8",
    "support"
   ],
   "service-workers/service-worker/resources/worker-interception-iframe.https.html": [
-   "06594aaad28018acf9e670b23eb97e8b0b7e1b98",
+   "b9fd4ea281b328c1f21573d1563c968dac52cf22",
    "support"
   ],
   "service-workers/service-worker/resources/worker-load-interceptor.js": [
-   "8e92e777917d2e39558a7609d34ec839f24e5fac",
+   "de9cfcbef6528a4b5e6b2552f260501e4d165ea4",
    "support"
   ],
   "service-workers/service-worker/resources/worker-testharness.js": [
    "8624b498e37d44bf3a3a74ccd46f928f7b0338cb",
    "support"
   ],
   "service-workers/service-worker/resources/xhr.js": [
    "bb913597a735c33caac7aee8cb8de76a38484ae4",
@@ -199204,25 +199195,25 @@
    "73c129838eda3c18365f384b8b0a5c32b5e9cf6d",
    "testharness"
   ],
   "service-workers/service-worker/waiting.https.html": [
    "6e3c7a4c12d90b10651653e680615185eaf270bc",
    "testharness"
   ],
   "service-workers/service-worker/websocket.https.html": [
-   "41a6008966629c84ffba592e038adae1050c947a",
+   "40ec7850c61a3ee7578f055d3eef87293cfad482",
    "testharness"
   ],
   "service-workers/service-worker/worker-interception.https.html": [
    "2c5e8cb2b7be6d394aaa1400158d3f14895909f3",
    "testharness"
   ],
   "service-workers/service-worker/xhr.https.html": [
-   "e306f2662c779b7fe2b3727e6ee9a27c7c95a151",
+   "f5d565c95c7a08da139b0f3b95bb0cfb0ae2b936",
    "testharness"
   ],
   "service-workers/specgen.json": [
    "0d98c8249e25cd4c7a4d88f722cfe8f235fb7a66",
    "support"
   ],
   "service-workers/stub-3.1-service-worker-obj.html": [
    "26e7afb8569cc3c997c6338dc86bfbe7232a8c0e",
@@ -218072,17 +218063,17 @@
    "554d027aac3a5bd022d284fcd8bcb126ecca2cc4",
    "testharness"
   ],
   "workers/data-url.html": [
    "c736022a55eff0593172a20023da80b13bb1f31f",
    "testharness"
   ],
   "workers/interfaces.idl": [
-   "8b1a9f8688e38a009fa82936610ca221541bafbc",
+   "d8961ea6af91a92a064bcf0e0da5b56781f6bc6b",
    "support"
   ],
   "workers/interfaces.worker.js": [
    "e35e0f6de69052f24340bd887da469b85833953b",
    "testharness"
   ],
   "workers/interfaces/DedicatedWorkerGlobalScope/EventTarget.worker.js": [
    "b613859a3c941384721e5331e39a3fc0931612ac",
--- a/testing/web-platform/tests/service-workers/service-worker/client-navigate.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/client-navigate.https.html
@@ -1,14 +1,14 @@
 <!doctype html>
 <meta charset=utf-8>
 <title>Service Worker: WindowClient.navigate</title>
 <script src=/resources/testharness.js></script>
 <script src=/resources/testharnessreport.js></script>
-<script src="resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="resources/test-helpers.sub.js"></script>
 <script>
   function wait_for_message(msg) {
     return new Promise(function(resolve, reject) {
       var get_message_data = function get_message_data(e) {
         window.removeEventListener("message", get_message_data);
         resolve(e.data);
       }
--- a/testing/web-platform/tests/service-workers/service-worker/clients-get-cross-origin.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/clients-get-cross-origin.https.html
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <title>Service Worker: Clients.get across origins</title>
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="resources/test-helpers.sub.js"></script>
 <script>
 var host_info = get_host_info();
 
 var scope = 'resources/blank.html?clients-get';
 var t = async_test('Test Clients.get() cross origin');
 var other_origin_iframe = host_info['HTTPS_REMOTE_ORIGIN'] + base_path() +
                           'resources/clients-get-other-origin.html';
--- a/testing/web-platform/tests/service-workers/service-worker/clients-get.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/clients-get.https.html
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <title>Service Worker: Clients.get</title>
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="resources/test-helpers.sub.js"></script>
 <script>
 var host_info = get_host_info();
 
 var scope = 'resources/clients-get-frame.html';
 var t = async_test('Test Clients.get()');
 var clientIds = [];
 var frame;
--- a/testing/web-platform/tests/service-workers/service-worker/fetch-canvas-tainting-cache.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/fetch-canvas-tainting-cache.https.html
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <title>Service Worker: canvas tainting of the fetched image using cached responses</title>
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="resources/test-helpers.sub.js?pipe=sub"></script>
 <body>
 <script>
 async_test(function(t) {
     var SCOPE = 'resources/fetch-canvas-tainting-iframe.html?cache';
     var SCRIPT = 'resources/fetch-rewrite-worker.js';
     var host_info = get_host_info();
 
--- a/testing/web-platform/tests/service-workers/service-worker/fetch-canvas-tainting.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/fetch-canvas-tainting.https.html
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <title>Service Worker: canvas tainting of the fetched image</title>
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="resources/test-helpers.sub.js?pipe=sub"></script>
 <body>
 <script>
 async_test(function(t) {
     var SCOPE = 'resources/fetch-canvas-tainting-iframe.html';
     var SCRIPT = 'resources/fetch-rewrite-worker.js';
     var host_info = get_host_info();
 
--- a/testing/web-platform/tests/service-workers/service-worker/fetch-cors-xhr.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/fetch-cors-xhr.https.html
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <title>Service Worker: CORS XHR of fetch()</title>
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="resources/test-helpers.sub.js?pipe=sub"></script>
 <body>
 <script>
 async_test(function(t) {
     var SCOPE = 'resources/fetch-cors-xhr-iframe.html';
     var SCRIPT = 'resources/fetch-rewrite-worker.js';
     var host_info = get_host_info();
 
--- a/testing/web-platform/tests/service-workers/service-worker/fetch-csp.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/fetch-csp.https.html
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <title>Service Worker: CSP control of fetch()</title>
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="resources/test-helpers.sub.js?pipe=sub"></script>
 <script>
 async_test(function(t) {
     var SCOPE = 'resources/fetch-csp-iframe.html';
     var SCRIPT = 'resources/fetch-rewrite-worker.js';
     var host_info = get_host_info();
     service_worker_unregister_and_register(t, SCRIPT, SCOPE)
       .then(function(registration) {
--- a/testing/web-platform/tests/service-workers/service-worker/fetch-event-redirect.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/fetch-event-redirect.https.html
@@ -1,15 +1,15 @@
 <!DOCTYPE html>
 <title>Service Worker: Fetch Event Redirect Handling</title>
 <meta name=timeout content=long>
 <script src="/resources/testharness.js"></script>
 <script src="resources/testharness-helpers.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="resources/test-helpers.sub.js"></script>
 <body>
 <script>
 
 // ------------------------
 // Utilities for testing non-navigation requests that are intercepted with
 // a redirect.
 
--- a/testing/web-platform/tests/service-workers/service-worker/fetch-event.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/fetch-event.https.html
@@ -1,12 +1,12 @@
 <!DOCTYPE html>
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="resources/test-helpers.sub.js"></script>
 <body>
 <script>
 var worker = 'resources/fetch-event-test-worker.js';
 
 async_test(function(t) {
     var scope = 'resources/simple.html?string';
     service_worker_unregister_and_register(t, worker, scope)
--- a/testing/web-platform/tests/service-workers/service-worker/fetch-frame-resource.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/fetch-frame-resource.https.html
@@ -1,14 +1,14 @@
 <!DOCTYPE html>
 <title>Service Worker: Fetch for the frame loading.</title>
 <meta name=timeout content=long>
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="resources/test-helpers.sub.js"></script>
 <body>
 <script>
 var worker = 'resources/fetch-rewrite-worker.js';
 var path = base_path() + 'resources/fetch-access-control.py';
 var host_info = get_host_info();
 
 if (window.testRunner) {
--- a/testing/web-platform/tests/service-workers/service-worker/fetch-header-visibility.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/fetch-header-visibility.https.html
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <title>Service Worker: Visibility of headers during fetch.</title>
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="resources/test-helpers.sub.js"></script>
 <body>
 <script>
   var worker = 'resources/fetch-rewrite-worker.js';
   var path = base_path() + 'resources/fetch-access-control.py';
   var host_info = get_host_info();
   var frame;
 
--- a/testing/web-platform/tests/service-workers/service-worker/fetch-mixed-content-to-inscope.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/fetch-mixed-content-to-inscope.https.html
@@ -1,14 +1,14 @@
 <!DOCTYPE html>
 <title>Service Worker: Mixed content of fetch()</title>
 <meta name=timeout content=long>
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="resources/test-helpers.sub.js?pipe=sub"></script>
 <body></body>
 <script>
 if (window.testRunner) {
   // In Chromium we need to change the setting to disallow displaying insecure
   // contents.
   testRunner.overridePreference('WebKitAllowDisplayingInsecureContent', false);
 }
--- a/testing/web-platform/tests/service-workers/service-worker/fetch-mixed-content-to-outscope.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/fetch-mixed-content-to-outscope.https.html
@@ -1,14 +1,14 @@
 <!DOCTYPE html>
 <title>Service Worker: Mixed content of fetch()</title>
 <meta name=timeout content=long>
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="resources/test-helpers.sub.js?pipe=sub"></script>
 <body></body>
 <script>
 if (window.testRunner) {
   // In Chromium we need to change the setting to disallow displaying insecure
   // contents.
   testRunner.overridePreference('WebKitAllowDisplayingInsecureContent', false);
 }
--- a/testing/web-platform/tests/service-workers/service-worker/fetch-request-css-base-url.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/fetch-request-css-base-url.https.html
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <title>Service Worker: CSS's base URL must be the request URL even when fetched from other URL</title>
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="resources/test-helpers.sub.js?pipe=sub"></script>
 <script>
 async_test(function(t) {
     var SCOPE = 'resources/fetch-request-css-base-url-iframe.html';
     var SCRIPT = 'resources/fetch-request-css-base-url-worker.js';
     var worker;
     var testDonePromise;
 
--- a/testing/web-platform/tests/service-workers/service-worker/fetch-request-css-images.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/fetch-request-css-images.https.html
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <title>Service Worker: FetchEvent for css image</title>
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="resources/test-helpers.sub.js?pipe=sub"></script>
 <script>
 var SCOPE = 'resources/fetch-request-resources-iframe.https.html';
 var SCRIPT = 'resources/fetch-request-resources-worker.js';
 var host_info = get_host_info();
 var LOCAL_URL =
   host_info['HTTPS_ORIGIN'] + base_path() + 'resources/dummy?test';
 var REMOTE_URL =
--- a/testing/web-platform/tests/service-workers/service-worker/fetch-request-fallback.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/fetch-request-fallback.https.html
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <title>Service Worker: the fallback behavior of FetchEvent</title>
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="resources/test-helpers.sub.js?pipe=sub"></script>
 <script>
 var expected_urls = [];
 
 function xhr_fail_test(frame, url) {
   expected_urls.push(url);
   return new Promise(function(resolve, reject) {
       frame.contentWindow.xhr(url)
--- a/testing/web-platform/tests/service-workers/service-worker/fetch-request-redirect.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/fetch-request-redirect.https.html
@@ -1,14 +1,14 @@
 <!DOCTYPE html>
 <title>Service Worker: FetchEvent for resources</title>
 <meta name="timeout" content="long">
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="resources/test-helpers.sub.js"></script>
 <script>
 
 function assert_resolves(promise, description) {
   return promise.catch(function(reason) {
       throw new Error(description + ' - ' + reason.message);
   });
 }
--- a/testing/web-platform/tests/service-workers/service-worker/fetch-request-resources.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/fetch-request-resources.https.html
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <title>Service Worker: FetchEvent for resources</title>
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="resources/test-helpers.sub.js?pipe=sub"></script>
 <script>
 var url_count = 0;
 var expected_results = {};
 
 function image_test(frame, url, cross_origin, expected_mode,
                     expected_credentials) {
   var actual_url = url + (++url_count);
--- a/testing/web-platform/tests/service-workers/service-worker/fetch-request-xhr.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/fetch-request-xhr.https.html
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <title>Service Worker: the body of FetchEvent using XMLHttpRequest</title>
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="resources/test-helpers.sub.js?pipe=sub"></script>
 <script>
 async_test(function(t) {
     var SCOPE = 'resources/fetch-request-xhr-iframe.https.html';
     var SCRIPT = 'resources/fetch-request-xhr-worker.js';
     var host_info = get_host_info();
     service_worker_unregister_and_register(t, SCRIPT, SCOPE)
       .then(function(registration) {
--- a/testing/web-platform/tests/service-workers/service-worker/fetch-response-xhr.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/fetch-response-xhr.https.html
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <title>Service Worker: the response of FetchEvent using XMLHttpRequest</title>
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="resources/test-helpers.sub.js?pipe=sub"></script>
 <script>
 async_test(function(t) {
     var SCOPE = 'resources/fetch-response-xhr-iframe.https.html';
     var SCRIPT = 'resources/fetch-response-xhr-worker.js';
     var host_info = get_host_info();
 
     window.addEventListener('message', t.step_func(on_message), false);
--- a/testing/web-platform/tests/service-workers/service-worker/fetch-waits-for-activate.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/fetch-waits-for-activate.https.html
@@ -1,15 +1,15 @@
 <!DOCTYPE html>
 <title>Service Worker: Fetch Event Waits for Activate Event</title>
 <meta name=timeout content=long>
 <script src="/resources/testharness.js"></script>
 <script src="resources/testharness-helpers.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="resources/test-helpers.sub.js"></script>
 <body>
 <script>
 
 var worker = 'resources/fetch-waits-for-activate-worker.js';
 var expected_url = normalizeURL(worker);
 var scope = 'resources/fetch-waits-for-activate/';
 
--- a/testing/web-platform/tests/service-workers/service-worker/getregistrations.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/getregistrations.https.html
@@ -1,14 +1,14 @@
 <!DOCTYPE html>
 <title>Service Worker: getRegistrations()</title>
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
 <script src="resources/test-helpers.sub.js"></script>
-<script src="resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="../fetch/resources/fetch-test-helpers.sub.js"></script>
 <script>
 // Purge the existing registrations for the origin.
 // getRegistrations() is used in order to avoid adding additional complexity
 // e.g. adding an internal function.
 promise_test(function(t) {
     return navigator.serviceWorker.getRegistrations()
       .then(function(registrations) {
--- a/testing/web-platform/tests/service-workers/service-worker/invalid-blobtype.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/invalid-blobtype.https.html
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <title>Service Worker: respondWith with header value containing a null byte</title>
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="resources/test-helpers.sub.js?pipe=sub"></script>
 <script>
 async_test(function(t) {
     var SCOPE = 'resources/invalid-blobtype-iframe.https.html';
     var SCRIPT = 'resources/invalid-blobtype-worker.js';
     var host_info = get_host_info();
     service_worker_unregister_and_register(t, SCRIPT, SCOPE)
       .then(function(registration) {
--- a/testing/web-platform/tests/service-workers/service-worker/invalid-header.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/invalid-header.https.html
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <title>Service Worker: respondWith with header value containing a null byte</title>
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="resources/test-helpers.sub.js?pipe=sub"></script>
 <script>
 async_test(function(t) {
     var SCOPE = 'resources/invalid-header-iframe.https.html';
     var SCRIPT = 'resources/invalid-header-worker.js';
     var host_info = get_host_info();
     service_worker_unregister_and_register(t, SCRIPT, SCOPE)
       .then(function(registration) {
--- a/testing/web-platform/tests/service-workers/service-worker/navigate-window.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/navigate-window.https.html
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <title>Service Worker: Navigate a Window</title>
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="resources/test-helpers.sub.js"></script>
 <body>
 <script>
 var host_info = get_host_info();
 var BASE_URL = host_info['HTTPS_ORIGIN'] + base_path();
 
 function wait_for_message(msg) {
   return new Promise(function(resolve, reject) {
--- a/testing/web-platform/tests/service-workers/service-worker/navigation-redirect.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/navigation-redirect.https.html
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <title>Service Worker: Navigation redirection</title>
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="resources/test-helpers.sub.js"></script>
 <body>
 <script>
 var host_info = get_host_info();
 
 // This test registers three Service Workers at SCOPE1, SCOPE2 and
 // OTHER_ORIGIN_SCOPE. And checks the redirected page's URL and the requests
 // which are intercepted by Service Worker while loading redirect page.
--- a/testing/web-platform/tests/service-workers/service-worker/postmessage-to-client.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/postmessage-to-client.https.html
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <title>Service Worker: postMessage to Client</title>
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="resources/test-helpers.sub.js"></script>
 <script>
 var frame;
 var t = async_test('postMessage from ServiceWorker to Client');
 t.step(function() {
     var scope = 'resources/blank.html';
     var host_info = get_host_info();
     var sw;
--- a/testing/web-platform/tests/service-workers/service-worker/referer.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/referer.https.html
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <title>Service Worker: check referer of fetch()</title>
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="resources/test-helpers.sub.js?pipe=sub"></script>
 <script>
 async_test(function(t) {
     var SCOPE = 'resources/referer-iframe.html';
     var SCRIPT = 'resources/fetch-rewrite-worker.js';
     var host_info = get_host_info();
     service_worker_unregister_and_register(t, SCRIPT, SCOPE)
       .then(function(registration) {
--- a/testing/web-platform/tests/service-workers/service-worker/register-closed-window.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/register-closed-window.https.html
@@ -1,15 +1,15 @@
 <!DOCTYPE html>
 <title>Service Worker: Register() on Closed Window</title>
 <meta name=timeout content=long>
 <script src="/resources/testharness.js"></script>
 <script src="resources/testharness-helpers.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="resources/test-helpers.sub.js"></script>
 <body>
 <script>
 
 var host_info = get_host_info();
 var frameURL = host_info['HTTPS_ORIGIN'] + base_path() +
                'resources/register-closed-window-iframe.html';
 
--- a/testing/web-platform/tests/service-workers/service-worker/resource-timing.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/resource-timing.https.html
@@ -1,12 +1,12 @@
 <!DOCTYPE html>
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="resources/test-helpers.sub.js"></script>
 <script>
 function resourceUrl(path) {
     return get_host_info()['HTTP_ORIGIN'] + base_path() + path;
 }
 
 function verify(performance, resource, description) {
     var entry = performance.getEntriesByName(resourceUrl(resource))[0];
--- a/testing/web-platform/tests/service-workers/service-worker/resources/client-navigate-worker.js
+++ b/testing/web-platform/tests/service-workers/service-worker/resources/client-navigate-worker.js
@@ -1,11 +1,11 @@
 importScripts("worker-testharness.js");
 importScripts("test-helpers.sub.js");
-importScripts("get-host-info.sub.js")
+importScripts("/common/get-host-info.sub.js")
 importScripts("testharness-helpers.js")
 
 self.onfetch = function(e) {
   if (e.request.url.indexOf("client-navigate-frame.html") >= 0) {
     if (e.clientId === null) {
       e.respondWith(fetch(e.request));
     } else {
       e.respondWith(Response.error());
--- a/testing/web-platform/tests/service-workers/service-worker/resources/clients-get-other-origin.html
+++ b/testing/web-platform/tests/service-workers/service-worker/resources/clients-get-other-origin.html
@@ -1,10 +1,10 @@
 <!DOCTYPE html>
-<script src="get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="test-helpers.sub.js"></script>
 <script>
 var host_info = get_host_info();
 var SCOPE = 'blank.html?clients-get';
 var SCRIPT = 'clients-get-worker.js';
 
 var registration;
 var worker;
--- a/testing/web-platform/tests/service-workers/service-worker/resources/dummy-worker-interceptor.js
+++ b/testing/web-platform/tests/service-workers/service-worker/resources/dummy-worker-interceptor.js
@@ -1,9 +1,9 @@
-importScripts('get-host-info.sub.js');
+importScripts('/common/get-host-info.sub.js');
 
 var worker_text = 'postMessage("worker loading intercepted by service worker"); ';
 
 self.onfetch = function(event) {
   if (event.request.url.indexOf('synthesized') != -1) {
     event.respondWith(new Response(worker_text));
   } else if (event.request.url.indexOf('same-origin') != -1) {
     event.respondWith(fetch('dummy-worker-script.py'));
--- a/testing/web-platform/tests/service-workers/service-worker/resources/fetch-canvas-tainting-iframe.html
+++ b/testing/web-platform/tests/service-workers/service-worker/resources/fetch-canvas-tainting-iframe.html
@@ -1,9 +1,9 @@
-<script src="../resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="test-helpers.sub.js?pipe=sub"></script>
 <script>
 var image_path = base_path() + 'fetch-access-control.py?PNGIMAGE';
 var host_info = get_host_info();
 var params = get_query_params(location.href);
 
 var NOT_TAINTED = 'NOT_TAINTED';
 var TAINTED = 'TAINTED';
--- a/testing/web-platform/tests/service-workers/service-worker/resources/fetch-cors-xhr-iframe.html
+++ b/testing/web-platform/tests/service-workers/service-worker/resources/fetch-cors-xhr-iframe.html
@@ -1,9 +1,9 @@
-<script src="../resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="test-helpers.sub.js?pipe=sub"></script>
 <script>
 var path = base_path() + 'fetch-access-control.py';
 var host_info = get_host_info();
 var SUCCESS = 'SUCCESS';
 var FAIL = 'FAIL';
 
 function create_test_case_promise(url, with_credentials) {
--- a/testing/web-platform/tests/service-workers/service-worker/resources/fetch-csp-iframe.html
+++ b/testing/web-platform/tests/service-workers/service-worker/resources/fetch-csp-iframe.html
@@ -1,9 +1,9 @@
-<script src="../resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="test-helpers.sub.js?pipe=sub"></script>
 <script>
 var image_path = base_path() + 'fetch-access-control.py?PNGIMAGE';
 var host_info = get_host_info();
 var results = '';
 var port = undefined;
 
 function test1() {
--- a/testing/web-platform/tests/service-workers/service-worker/resources/fetch-header-visibility-iframe.html
+++ b/testing/web-platform/tests/service-workers/service-worker/resources/fetch-header-visibility-iframe.html
@@ -1,9 +1,9 @@
-<script src="../resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="test-helpers.sub.js?pipe=sub"></script>
 <script>
   var host_info = get_host_info();
   var uri = document.location + '?check-ua-header';
 
   var headers = new Headers();
   headers.set('User-Agent', 'custom_ua');
 
--- a/testing/web-platform/tests/service-workers/service-worker/resources/fetch-mixed-content-iframe-inscope-to-inscope.html
+++ b/testing/web-platform/tests/service-workers/service-worker/resources/fetch-mixed-content-iframe-inscope-to-inscope.html
@@ -1,9 +1,9 @@
-<script src="../resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="test-helpers.sub.js?pipe=sub"></script>
 <script>
 var image_path = base_path() + 'fetch-access-control.py?PNGIMAGE';
 var host_info = get_host_info();
 var results = '';
 
 function test1() {
   var img = document.createElement('img');
--- a/testing/web-platform/tests/service-workers/service-worker/resources/fetch-mixed-content-iframe-inscope-to-outscope.html
+++ b/testing/web-platform/tests/service-workers/service-worker/resources/fetch-mixed-content-iframe-inscope-to-outscope.html
@@ -1,9 +1,9 @@
-<script src="../resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="test-helpers.sub.js?pipe=sub"></script>
 <script>
 var image_path = base_path() + 'fetch-access-control.py?PNGIMAGE';
 var host_info = get_host_info();
 var results = '';
 
 function test1() {
   var img = document.createElement('img');
--- a/testing/web-platform/tests/service-workers/service-worker/resources/fetch-mixed-content-iframe.html
+++ b/testing/web-platform/tests/service-workers/service-worker/resources/fetch-mixed-content-iframe.html
@@ -1,10 +1,10 @@
 <!DOCTYPE html>
-<script src="../resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="test-helpers.sub.js?pipe=sub"></script>
 <script>
 var params = get_query_params(location.href);
 var SCOPE = 'fetch-mixed-content-iframe-inscope-to-' + params['target'] + '.html';
 var URL = 'fetch-rewrite-worker.js';
 var host_info = get_host_info();
 
 window.addEventListener('message', on_message, false);
--- a/testing/web-platform/tests/service-workers/service-worker/resources/fetch-request-css-base-url-worker.js
+++ b/testing/web-platform/tests/service-workers/service-worker/resources/fetch-request-css-base-url-worker.js
@@ -1,9 +1,9 @@
-importScripts('../resources/get-host-info.sub.js');
+importScripts('/common/get-host-info.sub.js');
 importScripts('test-helpers.sub.js');
 
 var port = undefined;
 
 self.onmessage = function(e) {
   var message = e.data;
   if ('port' in message) {
     port = message.port;
--- a/testing/web-platform/tests/service-workers/service-worker/resources/fetch-request-xhr-iframe.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/resources/fetch-request-xhr-iframe.https.html
@@ -1,9 +1,9 @@
-<script src="../resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="test-helpers.sub.js?pipe=sub"></script>
 <script>
 var port;
 var host_info = get_host_info();
 
 function assert_equals(a, b) {
   port.postMessage({results: 'equals', got: a, expected: b});
 }
--- a/testing/web-platform/tests/service-workers/service-worker/resources/fetch-response-xhr-iframe.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/resources/fetch-response-xhr-iframe.https.html
@@ -1,9 +1,9 @@
-<script src="../resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="test-helpers.sub.js?pipe=sub"></script>
 <script>
 var host_info = get_host_info();
 
 function xhr_send(method, data) {
   return new Promise(function(resolve, reject) {
       var xhr = new XMLHttpRequest();
       xhr.onload = function() {
deleted file mode 100644
--- a/testing/web-platform/tests/service-workers/service-worker/resources/get-host-info.sub.js
+++ /dev/null
@@ -1,26 +0,0 @@
-function get_host_info() {
-  var ORIGINAL_HOST = '127.0.0.1';
-  var REMOTE_HOST = 'localhost';
-  var UNAUTHENTICATED_HOST = 'example.test';
-  var HTTP_PORT = 8000;
-  var HTTPS_PORT = 8443;
-  try {
-    // In W3C test, we can get the hostname and port number in config.json
-    // using wptserve's built-in pipe.
-    // http://wptserve.readthedocs.org/en/latest/pipes.html#built-in-pipes
-    HTTP_PORT = eval('{{ports[http][0]}}');
-    HTTPS_PORT = eval('{{ports[https][0]}}');
-    ORIGINAL_HOST = eval('\'{{host}}\'');
-    REMOTE_HOST = 'www1.' + ORIGINAL_HOST;
-  } catch (e) {
-  }
-  return {
-    HTTP_ORIGIN: 'http://' + ORIGINAL_HOST + ':' + HTTP_PORT,
-    HTTPS_ORIGIN: 'https://' + ORIGINAL_HOST + ':' + HTTPS_PORT,
-    HTTPS_ORIGIN_WITH_CREDS: 'https://foo:bar@' + ORIGINAL_HOST + ':' + HTTPS_PORT,
-    HTTP_REMOTE_ORIGIN: 'http://' + REMOTE_HOST + ':' + HTTP_PORT,
-    HTTPS_REMOTE_ORIGIN: 'https://' + REMOTE_HOST + ':' + HTTPS_PORT,
-    HTTPS_REMOTE_ORIGIN_WITH_CREDS: 'https://foo:bar@' + REMOTE_HOST + ':' + HTTPS_PORT,
-    UNAUTHENTICATED_ORIGIN: 'http://' + UNAUTHENTICATED_HOST + ':' + HTTP_PORT
-  };
-}
--- a/testing/web-platform/tests/service-workers/service-worker/resources/navigation-redirect-other-origin.html
+++ b/testing/web-platform/tests/service-workers/service-worker/resources/navigation-redirect-other-origin.html
@@ -1,10 +1,10 @@
 <!DOCTYPE html>
-<script src="get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="test-helpers.sub.js"></script>
 <script>
 var host_info = get_host_info();
 var SCOPE = 'navigation-redirect-scope1.py';
 var SCRIPT = 'navigation-redirect-worker.js';
 
 var registration;
 var worker;
--- a/testing/web-platform/tests/service-workers/service-worker/resources/referer-iframe.html
+++ b/testing/web-platform/tests/service-workers/service-worker/resources/referer-iframe.html
@@ -1,9 +1,9 @@
-<script src="../resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="test-helpers.sub.js"></script>
 <script>
 function check_referer(url, expected_referer) {
   return fetch(url)
     .then(function(res) { return res.json(); })
     .then(function(headers) {
         if (headers['referer'] === expected_referer) {
           return Promise.resolve();
--- a/testing/web-platform/tests/service-workers/service-worker/resources/service-worker-csp-worker.py
+++ b/testing/web-platform/tests/service-workers/service-worker/resources/service-worker-csp-worker.py
@@ -1,12 +1,12 @@
 bodyDefault = '''
 importScripts('worker-testharness.js');
 importScripts('test-helpers.sub.js');
-importScripts('../resources/get-host-info.sub.js');
+importScripts('/common/get-host-info.sub.js');
 
 var host_info = get_host_info();
 
 test(function() {
     var import_script_failed = false;
     try {
       importScripts(host_info.HTTPS_REMOTE_ORIGIN +
         base_path() + 'empty.js');
@@ -42,17 +42,17 @@ async_test(function(t) {
           t.done();
         })
       .catch(unreached_rejection(t));
   }, 'Redirected fetch test for default-src');'''
 
 bodyScript = '''
 importScripts('worker-testharness.js');
 importScripts('test-helpers.sub.js');
-importScripts('../resources/get-host-info.sub.js');
+importScripts('/common/get-host-info.sub.js');
 
 var host_info = get_host_info();
 
 test(function() {
     var import_script_failed = false;
     try {
       importScripts(host_info.HTTPS_REMOTE_ORIGIN +
         base_path() + 'empty.js');
@@ -88,17 +88,17 @@ async_test(function(t) {
           assert_unreached('Redirected fetch should not fail.');
         })
       .catch(unreached_rejection(t));
   }, 'Redirected fetch test for script-src');'''
 
 bodyConnect = '''
 importScripts('worker-testharness.js');
 importScripts('test-helpers.sub.js');
-importScripts('../resources/get-host-info.sub.js');
+importScripts('/common/get-host-info.sub.js');
 
 var host_info = get_host_info();
 
 test(function() {
     var import_script_failed = false;
     try {
       importScripts(host_info.HTTPS_REMOTE_ORIGIN +
         base_path() + 'empty.js');
--- a/testing/web-platform/tests/service-workers/service-worker/resources/worker-interception-iframe.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/resources/worker-interception-iframe.https.html
@@ -1,9 +1,9 @@
-<script src="../resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="test-helpers.sub.js?pipe=sub"></script>
 <script>
 var host_info = get_host_info();
 
 function boilerplate_test(msg) {
     return new Promise(function(resolve, reject) {
           var worker = new Worker("load_worker.js");
           worker.onmessage = function(e) { resolve(e.data) };
--- a/testing/web-platform/tests/service-workers/service-worker/resources/worker-load-interceptor.js
+++ b/testing/web-platform/tests/service-workers/service-worker/resources/worker-load-interceptor.js
@@ -1,9 +1,9 @@
-importScripts('get-host-info.sub.js');
+importScripts('/common/get-host-info.sub.js');
 
 var response_text = "This load was successfully intercepted.";
 var response_script = "postMessage(\"This load was successfully intercepted.\");";
 
 self.onfetch = function(event) {
     var url = event.request.url;
     if (url.indexOf("synthesized-response.txt") != -1) {
         event.respondWith(new Response(response_text));
--- a/testing/web-platform/tests/service-workers/service-worker/websocket.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/websocket.https.html
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <title>Service Worker: WebSocket handshake channel is not intercepted</title>
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="resources/test-helpers.sub.js?pipe=sub"></script>
 <script>
 
 async_test(function(t) {
     var path = new URL(".", window.location).pathname
     var url = 'resources/websocket.js';
     var scope = 'resources/blank.html?websocket';
     var host_info = get_host_info();
--- a/testing/web-platform/tests/service-workers/service-worker/xhr.https.html
+++ b/testing/web-platform/tests/service-workers/service-worker/xhr.https.html
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <title>Service Worker: XHR doesn't exist</title>
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
-<script src="resources/get-host-info.sub.js"></script>
+<script src="/common/get-host-info.sub.js"></script>
 <script src="resources/test-helpers.sub.js?pipe=sub"></script>
 <script>
 
 async_test(function(t) {
     var path = new URL(".", window.location).pathname
     var url = 'resources/xhr.js';
     var scope = 'resources/blank.html?xhr';
     var host_info = get_host_info();