Bug 1577481 [wpt PR 18745] - Remove service-workers/stub-* files, a=testonly

Automatic update from web-platform-tests
Remove service-workers/stub-* files (#18745)

This originates in commit 5ac8b780247e02235b3d8d344428886b20e5b8b0
where specgen.json and the genereated stubs were added.

In effect, these stubs don't do anything, and the idea of generating
tests from the spec hasn't been realized.

Part 1 of https://github.com/web-platform-tests/rfcs/pull/27.
--

wpt-commits: 9d89fa83724d2dd6a1cd82975934ff55b8770b42
wpt-pr: 18745
This commit is contained in:
Philip Jägenstedt 2019-09-02 13:43:44 +00:00 коммит произвёл moz-wptsync-bot
Родитель d966d912e1
Коммит 14f74ad0d9
51 изменённых файлов: 0 добавлений и 2966 удалений

Просмотреть файл

@ -1,658 +0,0 @@
{
"sections": [
{
"href": "#introduction",
"id": "introduction",
"hash": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
"secno": "1",
"testable": false
},
{
"href": "#about",
"id": "about",
"hash": "8d3cf149aa73cff52328509ebbaffd933e8fb6af",
"secno": "1.1",
"testable": false
},
{
"href": "#dependencies",
"id": "dependencies",
"hash": "1355f2d7ec9bf4e617ee632c0db44f834c96435b",
"secno": "1.2",
"testable": false
},
{
"href": "#motivations",
"id": "motivations",
"hash": "92d899bc1e63a170d2324638d16f580b97b4f4d6",
"secno": "1.3",
"testable": false
},
{
"href": "#concepts",
"id": "concepts",
"hash": "589023372dc033b0a77be1cd01f54f5f8c3ebfa8",
"secno": "2",
"testable": false
},
{
"href": "#document-context",
"id": "document-context",
"hash": "34feeb18dea978349a2f76e6b17c127123b3db74",
"secno": "3",
"testable": false
},
{
"href": "#service-worker-obj",
"id": "service-worker-obj",
"hash": "6cbd0107199072ab86b36e72d08d5465b42e6da8",
"secno": "3.1",
"testPageHash": "8dbbc9aa4300f0203524f3e405dbf7ca462e7164",
"testPagePath": "stub-3.1-service-worker-obj.html",
"testable": true
},
{
"href": "#service-worker-scope",
"id": "service-worker-scope",
"hash": "136f25ef227515a7be9b32c44967f68b34ad8924",
"secno": "3.1.1",
"testPageHash": "965a00b32d56192330aa9f6337072bb3633ad382",
"testPagePath": "stub-3.1.1-service-worker-scope.html",
"testable": true
},
{
"href": "#service-worker-url",
"id": "service-worker-url",
"hash": "df66a1b4b3bfa3e7ab96fd491a6829fab1d18a88",
"secno": "3.1.2",
"testPageHash": "92f6aed1437bb39c5941b495ac6c5f342c025b38",
"testPagePath": "stub-3.1.2-service-worker-url.html",
"testable": true
},
{
"href": "#service-worker-state",
"id": "service-worker-state",
"hash": "8f80f2b4cbb1c228867c9dd90c05cbecfc92dd77",
"secno": "3.1.3",
"testPageHash": "4aad1dc47572879fdc2c79a814ad21e1ef9a64ec",
"testPagePath": "stub-3.1.3-service-worker-state.html",
"testable": true
},
{
"href": "#service-worker-on-state-change",
"id": "service-worker-on-state-change",
"hash": "0f8fd9d1431deacea72fe739f42992ab5a396bf2",
"secno": "3.1.4",
"testPageHash": "6bb309bccc1e7c74ade7fc4c6e400bafb60daceb",
"testPagePath": "stub-3.1.4-service-worker-on-state-change.html",
"testable": true
},
{
"href": "#navigator-service-worker",
"id": "navigator-service-worker",
"hash": "22f1ebbafca6976d0f4814b0fbb8f173bf919f06",
"secno": "3.2",
"testPageHash": "6d597735816a09ec774150029ed5136198f52ab7",
"testPagePath": "stub-3.2-navigator-service-worker.html",
"testable": true
},
{
"href": "#navigator-service-worker-installing",
"id": "navigator-service-worker-installing",
"hash": "9675c3cdf5ba4b4155284e06a19e4de631645509",
"secno": "3.2.1",
"testPageHash": "2c8e56e74c130104e395de46bad20fb5d3021d95",
"testPagePath": "stub-3.2.1-navigator-service-worker-installing.html",
"testable": true
},
{
"href": "#navigator-service-worker-waiting",
"id": "navigator-service-worker-waiting",
"hash": "88b4db92cc49109e6a15ddebdd219690d9648e76",
"secno": "3.2.2",
"testPageHash": "1cf6ed58bf5ecf963fed8c3d9211b853dab564e2",
"testPagePath": "stub-3.2.2-navigator-service-worker-waiting.html",
"testable": true
},
{
"href": "#navigator-service-worker-active",
"id": "navigator-service-worker-active",
"hash": "0da48e885c77da60d1837197780049904789e3cb",
"secno": "3.2.3",
"testPageHash": "f5dca8c6eb5f29a0f9a5f06e25861e7f3106cc67",
"testPagePath": "stub-3.2.3-navigator-service-worker-active.html",
"testable": true
},
{
"href": "#navigator-service-worker-controller",
"id": "navigator-service-worker-controller",
"hash": "293433ccb7bb2a22d8d5a81e788892e071b25e65",
"secno": "3.2.4",
"testPageHash": "6452f431d0765d7aa3135d18fee43e6664dcbb12",
"testPagePath": "stub-3.2.4-navigator-service-worker-controller.html",
"testable": true
},
{
"href": "#navigator-service-worker-ready",
"id": "navigator-service-worker-ready",
"hash": "6240fde8d7168beeb95f4f36aa9e143319b2061b",
"secno": "3.2.5",
"testPageHash": "ae4fd694c88bab72f338d97bf96b7d23e2e83e87",
"testPagePath": "stub-3.2.5-navigator-service-worker-ready.html",
"testable": true
},
{
"href": "#navigator-service-worker-getAll",
"id": "navigator-service-worker-getAll",
"hash": "292ee3af2cc8fadc24302446809d04bf2e9811a5",
"secno": "3.2.6",
"testPageHash": "4096ae712cc3e753456fbe05bb4d0cfc4399d2c9",
"testPagePath": "stub-3.2.6-navigator-service-worker-getAll.html",
"testable": true
},
{
"href": "#navigator-service-worker-register",
"id": "navigator-service-worker-register",
"hash": "c999dc5f67126c9f0f02b25fd943a34b48cff618",
"secno": "3.2.7",
"testPageHash": "bde900b97dbb08b053ff8115775ea3b79a124b6e",
"testPagePath": "stub-3.2.7-navigator-service-worker-register.html",
"testable": true
},
{
"href": "#navigator-service-worker-unregister",
"id": "navigator-service-worker-unregister",
"hash": "fd196f926f181563855e4683cc995405c1e611d0",
"secno": "3.2.8",
"testPageHash": "dbd99a1dcbcb629431617790a305e840495049eb",
"testPagePath": "stub-3.2.8-navigator-service-worker-unregister.html",
"testable": true
},
{
"href": "#navigator-service-worker-onupdatefound",
"id": "navigator-service-worker-onupdatefound",
"hash": "2bb5aabaca24a68f9e6b4c4443968178eb1ccfe8",
"secno": "3.2.9",
"testPageHash": "eef0c1c39577abefb3654a6e9917ff2da657871b",
"testPagePath": "stub-3.2.9-navigator-service-worker-onupdatefound.html",
"testable": true
},
{
"href": "#navigator-service-worker-oncontrollerchange",
"id": "navigator-service-worker-oncontrollerchange",
"hash": "c89a4ffba10d9285e07c38c28718719d87053994",
"secno": "3.2.10",
"testPageHash": "35e0ce2b8f4527ebbd75d4dfa3436fd7f8c79792",
"testPagePath": "stub-3.2.10-navigator-service-worker-oncontrollerchange.html",
"testable": true
},
{
"href": "#navigator-service-worker-onreloadpage",
"id": "navigator-service-worker-onreloadpage",
"hash": "424441910abf2e1bdc3db658fe46827f7abe60a4",
"secno": "3.2.11",
"testPageHash": "ae614de17e5f339b65f77cafa6e0f5625491abfb",
"testPagePath": "stub-3.2.11-navigator-service-worker-onreloadpage.html",
"testable": true
},
{
"href": "#navigator-service-worker-onerror",
"id": "navigator-service-worker-onerror",
"hash": "710f7fcd2f5340147b9e030bc5932b8242cef828",
"secno": "3.2.12",
"testPageHash": "cd62779e27151d55f14ac6ab7aa41dcf723e0ac7",
"testPagePath": "stub-3.2.12-navigator-service-worker-onerror.html",
"testable": true
},
{
"href": "#execution-context",
"id": "execution-context",
"hash": "ddf24f0adf58237e264c3c43cb7ab07af3013c9d",
"secno": "4",
"testable": false
},
{
"href": "#service-worker-global-scope",
"id": "service-worker-global-scope",
"hash": "e6b8bb7f99c125f4226fc5b6c51cf03a7437f2ef",
"secno": "4.1",
"testPageHash": "2f596b6b07bcfb71c01d75f725eb52c84e9c69dd",
"testPagePath": "stub-4.1-service-worker-global-scope.html",
"testable": true
},
{
"href": "#service-worker-global-scope-caches",
"id": "service-worker-global-scope-caches",
"hash": "43d3c9f441b3a7abd0d3a7f55d93faaceeb7d97d",
"secno": "4.1.1",
"testPageHash": "f19b91c887f6312688b66b1988147a599cd9470f",
"testPagePath": "stub-4.1.1-service-worker-global-scope-caches.html",
"testable": true
},
{
"href": "#service-worker-global-scope-clients",
"id": "service-worker-global-scope-clients",
"hash": "cb83230107645229da9776ed0fc9f7bc6fcce747",
"secno": "4.1.2",
"testPageHash": "45b3aae572f7161748fa98e97b4f2b738c3dcfef",
"testPagePath": "stub-4.1.2-service-worker-global-scope-clients.html",
"testable": true
},
{
"href": "#service-worker-global-scope-scope",
"id": "service-worker-global-scope-scope",
"hash": "08c808048b647aa9d4cc0b0a0f70b06ca89af4a3",
"secno": "4.1.3",
"testPageHash": "bfe7eaf8deb8de7d2ccfbba97640478b1c81d6c7",
"testPagePath": "stub-4.1.3-service-worker-global-scope-scope.html",
"testable": true
},
{
"href": "#service-worker-global-scope-fetch",
"id": "service-worker-global-scope-fetch",
"hash": "b66133d8a2c67f9b10c274d5b05383ff76d2cd42",
"secno": "4.1.4",
"testPageHash": "2b1ffa915afddeb099dfff23f4ecf555b0710ed4",
"testPagePath": "stub-4.1.4-service-worker-global-scope-fetch.html",
"testable": true
},
{
"href": "#service-worker-global-scope-update",
"id": "service-worker-global-scope-update",
"hash": "3ddf48cecb4d4a67a329248787dd220ce17f4eff",
"secno": "4.1.5",
"testPageHash": "15879bf45f460c0ab0c02793655096c1bca418a7",
"testPagePath": "stub-4.1.5-service-worker-global-scope-update.html",
"testable": true
},
{
"href": "#service-worker-global-scope-unregister",
"id": "service-worker-global-scope-unregister",
"hash": "fff9ef2daa5689b38a17eeb9a6bd7071098ca778",
"secno": "4.1.6",
"testPageHash": "c4bf327228628b794db9c6f2eb17519e37cea6b9",
"testPagePath": "stub-4.1.6-service-worker-global-scope-unregister.html",
"testable": true
},
{
"href": "#service-worker-global-scope-onmessage",
"id": "service-worker-global-scope-onmessage",
"hash": "bc8f6aed2d515dc7f6b0757afa02f37899082668",
"secno": "4.1.7",
"testPageHash": "9e6f2732d21871ec06e9541ea881baf962f7cdf4",
"testPagePath": "stub-4.1.7-service-worker-global-scope-onmessage.html",
"testable": true
},
{
"href": "#client",
"id": "client",
"hash": "47a1c10cd9e4db9a5c86d9bcf80477f771ea954c",
"secno": "4.2",
"testPageHash": "21d74c1af0b3176b029c9b62b37fe73436e0f197",
"testPagePath": "stub-4.2-client.html",
"testable": true
},
{
"href": "#service-worker-clients",
"id": "service-worker-clients",
"hash": "c2c6f4873f07b53705a46b2bd44ba10f84dd2b56",
"secno": "4.3",
"testPageHash": "9c0366e6cfd28caaeaf940bad2b3c7ace93037f6",
"testPagePath": "stub-4.3-service-worker-clients.html",
"testable": true
},
{
"href": "#get-serviced-method",
"id": "get-serviced-method",
"hash": "299abaa21cf096e423edfa19755987986f742a1f",
"secno": "4.3.1",
"testPageHash": "efeb1c2dc8144c30e6628cb56b3e532531ee1e88",
"testPagePath": "stub-4.3.1-get-serviced-method.html",
"testable": true
},
{
"href": "#reloadall-method",
"id": "reloadall-method",
"hash": "bb4d775d261e69cbeaf65c123e949c24cf542ae7",
"secno": "4.3.2",
"testPageHash": "d1a4dde873b77201b4de745d2083bf63549b0b8b",
"testPagePath": "stub-4.3.2-reloadall-method.html",
"testable": true
},
{
"href": "#request-objects",
"id": "request-objects",
"hash": "65ae6c08f720a2eedb7b140f5635a5ac46ddadfc",
"secno": "4.4",
"testPageHash": "ec493c70e8a0d8d3eeb0ecaef59610aed97d298e",
"testPagePath": "stub-4.4-request-objects.html",
"testable": true
},
{
"href": "#response-objects",
"id": "response-objects",
"hash": "2efbff63c70ab92f93e4acd021409b9df4776882",
"secno": "4.5",
"testPageHash": "8340b69d62f111f56095c5fe9047d9215fa7aefc",
"testPagePath": "stub-4.5-response-objects.html",
"testable": true
},
{
"href": "#abstract-response",
"id": "abstract-response",
"hash": "bddc306a9892c0bca43e8b361c1ee22b87759e23",
"secno": "4.5.1",
"testable": false
},
{
"href": "#response",
"id": "response",
"hash": "6471d25755bdab0d4f72413f9367b7bb36c53a6f",
"secno": "4.5.2",
"testPageHash": "346d63cc7eb8ee412f5f704ba241205c8d437540",
"testPagePath": "stub-4.5.2-response.html",
"testable": true
},
{
"href": "#header",
"id": "header",
"hash": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
"secno": "4.5.3",
"testable": false
},
{
"href": "#opaque-response",
"id": "opaque-response",
"hash": "df5431f4fbd26d81f2d4f567309c6a7a26dbfd4a",
"secno": "4.5.4",
"testPageHash": "85373f290cf594f0f09eb0a76bc6ef6299be595f",
"testPagePath": "stub-4.5.4-opaque-response.html",
"testable": true
},
{
"href": "#cors-response",
"id": "cors-response",
"hash": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
"secno": "4.5.5",
"testable": false
},
{
"href": "#cache-objects",
"id": "cache-objects",
"hash": "001d0dfb8fbcbcb6443d1be2b722c9a84d6fd95b",
"secno": "4.6",
"testPageHash": "c1ef341d15a8c76d015eef57842ed10e62c02927",
"testPagePath": "stub-4.6-cache-objects.html",
"testable": true
},
{
"href": "#cache-lifetimes",
"id": "cache-lifetimes",
"hash": "7c73698ca9b686a0314ddf368bf8ad4ca6af392f",
"secno": "4.6.1",
"testPageHash": "f3524320a98f2fbdc5d711de82770957a7f5ec4b",
"testPagePath": "stub-4.6.1-cache-lifetimes.html",
"testable": true
},
{
"href": "#cache",
"id": "cache",
"hash": "bf1fe844577ab57a60eb550be24335a3321ca2ee",
"secno": "4.6.2",
"testPageHash": "c55b7b05c8e2f4b65722e16cdbcd78ffdfe1e4bf",
"testPagePath": "stub-4.6.2-cache.html",
"testable": true
},
{
"href": "#cache-storage",
"id": "cache-storage",
"hash": "9cdaac070f56e55d66a89cd4b6e669a04aa73b82",
"secno": "4.6.3",
"testPageHash": "ee6902f170d94cc1e3a4a00f4c90e7e19c4dff95",
"testPagePath": "stub-4.6.3-cache-storage.html",
"testable": true
},
{
"href": "#events",
"id": "events",
"hash": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
"secno": "4.7",
"testable": false
},
{
"href": "#install-phase-event",
"id": "install-phase-event",
"hash": "8495382b418adbbed436b2002ab0155a3a295ef2",
"secno": "4.7.1",
"testPageHash": "e48e98d51936bd57d21903615203f2b78d3f4b12",
"testPagePath": "stub-4.7.1-install-phase-event.html",
"testable": true
},
{
"href": "#wait-until-method",
"id": "wait-until-method",
"hash": "295fb5d4932396fd13365ed2fe57aa672f1f2a56",
"secno": "4.7.1.1",
"testPageHash": "c3769e51852b8438a97c39c50fa62351a73c4ee6",
"testPagePath": "stub-4.7.1.1-wait-until-method.html",
"testable": true
},
{
"href": "#install-event",
"id": "install-event",
"hash": "3a0f6da1771c22ab21ddc00729433a4d95ac6782",
"secno": "4.7.2",
"testPageHash": "9a103cc461eaca3da75db583ce08f13ecd2b1a98",
"testPagePath": "stub-4.7.2-install-event.html",
"testable": true
},
{
"href": "#install-event-section",
"id": "install-event-section",
"hash": "4631577df2efc1a4350000461629bc1ca93dbd14",
"secno": "4.7.2.1",
"testPageHash": "32f54e74bef784d2f0ac772b44abeee06573062d",
"testPagePath": "stub-4.7.2.1-install-event-section.html",
"testable": true
},
{
"href": "#replace-method",
"id": "replace-method",
"hash": "b9093b05204d09748311023b4c737ede02ff8115",
"secno": "4.7.2.2",
"testPageHash": "372bed923f8c35c4923634ae27fa121919ac0fec",
"testPagePath": "stub-4.7.2.2-replace-method.html",
"testable": true
},
{
"href": "#activate-event",
"id": "activate-event",
"hash": "ac3d03aa0ed961fb1122850aeab92c302c55ecd0",
"secno": "4.7.3",
"testPageHash": "6241762ab1d6f430fa9b7cc8f02a00e6591c6bc6",
"testPagePath": "stub-4.7.3-activate-event.html",
"testable": true
},
{
"href": "#fetch-event",
"id": "fetch-event",
"hash": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
"secno": "4.7.4",
"testable": false
},
{
"href": "#fetch-event-section",
"id": "fetch-event-section",
"hash": "ae24fda9664a3bd7b7fe2a8712ac469c3ee7128e",
"secno": "4.7.4.1",
"testPageHash": "393fc7b65e9f5afd18da666b6b206ccd639397cd",
"testPagePath": "stub-4.7.4.1-fetch-event-section.html",
"testable": true
},
{
"href": "#respond-with-method",
"id": "respond-with-method",
"hash": "7e4f010e2ec1ea0500b435cf599ba58942164457",
"secno": "4.7.4.2",
"testPageHash": "31e0acd058b9a5b722ae9f405b50bc94d31596b8",
"testPagePath": "stub-4.7.4.2-respond-with-method.html",
"testable": true
},
{
"href": "#default-method",
"id": "default-method",
"hash": "4d6f8f93b2e10ab0e486dbf464ff107ec1a6aa4c",
"secno": "4.7.4.3",
"testPageHash": "34e015c973887e2b3bf8b6db62f75d5d417a43cc",
"testPagePath": "stub-4.7.4.3-default-method.html",
"testable": true
},
{
"href": "#is-reload-attribute",
"id": "is-reload-attribute",
"hash": "6e1afd9e8940e9cd38aa7de1ed57e8c5b1a60e3d",
"secno": "4.7.4.4",
"testPageHash": "703a6469782d37be3c25e2214f897d1064acca47",
"testPagePath": "stub-4.7.4.4-is-reload-attribute.html",
"testable": true
},
{
"href": "#security-considerations",
"id": "security-considerations",
"hash": "5b02b143172647dd7f74f0464dffa7ec7d0e8f94",
"secno": "5",
"testable": false
},
{
"href": "#origin-relativity",
"id": "origin-relativity",
"hash": "72bbbd7d3d43a859af6ff9f19353210ddfcc26de",
"secno": "5.1",
"testPageHash": "1c92607dfac57b0f59654d059a4a67e0f984b84d",
"testPagePath": "stub-5.1-origin-relativity.html",
"testable": true
},
{
"href": "#cross-origin-resources",
"id": "cross-origin-resources",
"hash": "6176879ecfb5ae769679ceef4ee1e8889be8df92",
"secno": "5.2",
"testPageHash": "bcf85ba278c70c086645c416cee729ce753bc528",
"testPagePath": "stub-5.2-cross-origin-resources.html",
"testable": true
},
{
"href": "#storage-considerations",
"id": "storage-considerations",
"hash": "e101cee2062749b1a73086492377458251a5e875",
"secno": "6",
"testable": false
},
{
"href": "#extensibility",
"id": "extensibility",
"hash": "ef1b382bb89c52e01edad421b02b237765a21ce7",
"secno": "7",
"testable": false
},
{
"href": "#algorithms",
"id": "algorithms",
"hash": "d130247eab1d368efea646ff369e65f6c0c19481",
"secno": "8",
"testable": false
},
{
"href": "#registration-algorithm",
"id": "registration-algorithm",
"hash": "b688d090671c08ca17ea7cadc561e6d471ee099e",
"secno": "8.1",
"testable": false
},
{
"href": "#update-algorithm",
"id": "update-algorithm",
"hash": "679a19fef428affc83103c1eec0dbd3be40c4e2a",
"secno": "8.2",
"testable": false
},
{
"href": "#soft-update-algorithm",
"id": "soft-update-algorithm",
"hash": "8eb103f5cd0e595ee5e25f075e8c6239211e482a",
"secno": "8.3",
"testable": false
},
{
"href": "#installation-algorithm",
"id": "installation-algorithm",
"hash": "5874d9247d979009b67aedf964ae097837cfb3d9",
"secno": "8.4",
"testable": false
},
{
"href": "#activation-algorithm",
"id": "activation-algorithm",
"hash": "648b34baf6e7c2096a842e6d367949117843108e",
"secno": "8.5",
"testable": false
},
{
"href": "#on-fetch-request-algorithm",
"id": "on-fetch-request-algorithm",
"hash": "e1da43671071ec307f99cd781fc9b46353f3adfd",
"secno": "8.6",
"testable": false
},
{
"href": "#on-document-unload-algorithm",
"id": "on-document-unload-algorithm",
"hash": "8a7196b5dd04ad4fb9b96e16a52f4f7ac1906763",
"secno": "8.7",
"testable": false
},
{
"href": "#unregistration-algorithm",
"id": "unregistration-algorithm",
"hash": "0114db166d42211d0d7ab4b8e77de64a9fc97517",
"secno": "8.8",
"testable": false
},
{
"href": "#update-state-algorithm",
"id": "update-state-algorithm",
"hash": "2ed8a1e7479f1a8ad038aa44ccdd5e4f6b65cf05",
"secno": "8.9",
"testable": false
},
{
"href": "#scope-match-algorithm",
"id": "scope-match-algorithm",
"hash": "a2117fb34a8fa4ca3e832d9276477cfc1318dd1a",
"secno": "8.10",
"testable": false
},
{
"href": "#get-registration-algorithm",
"id": "get-registration-algorithm",
"hash": "b20332db952ba8f4b7e5f65b740a18da4a199c2e",
"secno": "8.11",
"testable": false
},
{
"href": "#get-newest-worker-algorithm",
"id": "get-newest-worker-algorithm",
"hash": "72dc1cbee8c98501931c411018fd1cad4376142b",
"secno": "8.12",
"testable": false
},
{
"href": "#acknowledgements",
"id": "acknowledgements",
"hash": "6347067ca5a574f8cc80c76d95dee568042d059b",
"secno": "9",
"testable": false
}
],
"specUrl": "https://w3c.github.io/ServiceWorker/"
}

Просмотреть файл

@ -1,63 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: ServiceWorker</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#service-worker-obj">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src=/resources/WebIDLParser.js></script>
<script src=/resources/idlharness.js></script>
</head>
<body>
<script type=text/plain id="idl_0">
[Constructor()] // no-op constructor
interface ServiceWorker : Worker {
readonly attribute DOMString scope;
readonly attribute DOMString url;
readonly attribute ServiceWorkerState state;
// event
attribute EventHandler onstatechange;
};
enum ServiceWorkerState {
"installing",
"installed",
"activating",
"activated",
"redundant"
};
</script>
<!--
The `ServiceWorker` interface represents the document-side view of a Service
Worker. This object provides a no-op constructor. Callers should note that only
`ServiceWorker` objects created by the user agent (see
`navigator.serviceWorker.installing`, `navigator.serviceWorker.waiting`,
`navigator.serviceWorker.active` and `navigator.serviceWorker.controller`) will
provide meaningful functionality.
-->
<script type=text/plain id="untested_idls">
interface EventHandler {};
interface Worker {};
</script>
<script>
var idl_array = new IdlArray();
idl_array.add_untested_idls(document.getElementById("untested_idls").textContent);
idl_array.add_idls(document.getElementById("idl_0").textContent);
idl_array.add_objects({
ServiceWorker: ["throw new Error ('No object defined for the ServiceWorker interface')"],
ServiceWorkerState: ["throw new Error ('No object defined for the ServiceWorkerState enum')"]
});
idl_array.test();
</script>
</body>
</html>

Просмотреть файл

@ -1,46 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: scope</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#service-worker-scope">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
The `scope` of a `ServiceWorker` object reflects the [URL scope][1] of the
associated Service Worker [registration][2]. The `scope` attribute must return
the [serialization][3] of the URL representing the [URL scope][1] of the
associated Service Worker [registration][2].
For example, consider a document created by a navigation to
`https://example.com/app.html` which [matches][4] via the following
registration call which has been previously executed:
// Script on the page https://example.com/app.html
navigator.serviceWorker.register("/service_worker.js", { scope: "/*" });
The value of `navigator.serviceWorker.controller.scope` will be
`"https://example.com/*"`.
[1]: #url-scope
[2]: #registration
[3]: http://url.spec.whatwg.org/#concept-url-serializer
[4]: #on-fetch-request-algorithm
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section scope so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,43 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: url</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#service-worker-url">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
The `url` attribute must return the [serialization][1] of the URL of the script
of the Service Worker, identified by its [URL scope][2], that is associated
with the [ServiceWorkerGlobalScope][3] object. The `url` attribute is always an
[absolute URL][4] corresponding to the script file which the Service Worker
evaluates.
In the example in section 3.1.1, the value of
`navigator.serviceWorker.controller.url` will be
`"https://example.com/service_worker.js"`.
[1]: http://url.spec.whatwg.org/#concept-url-serializer
[2]: #url-scope
[3]: #service-worker-global-scope-interface
[4]: http://url.spec.whatwg.org/#concept-absolute-url
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section url so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,76 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: state</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#service-worker-state">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
The [ServiceWorker][1] object can be in several states. The `state` attribute
must return the current state, which must be one of the following values
defined in the [ServiceWorkerState][2] enumeration:
`"installing"`:
The Service Worker represented by the [ServiceWorker][1] object has entered
and is running the steps in the [installation process][3]. During this
state, `e.waitUntil(p)` can be called inside the `oninstall` event handler
of the associcated [ServiceWorkerGloberScope][4] object to extend the life
of the [installing worker][5] until the passed [Promise][6] resolves
successfully. This is primarily used to ensure that the Service Worker is
not active until all of the core caches are populated.
`"installed"`:
The Service Worker represented by the [ServiceWorker][1] object has
completed the steps in the [installation process][3]. The Service Worker in
this state is considered the [worker in waiting][7].
`"activating"`:
The Service Worker represented by the [ServiceWorker][1] object has entered
and is running the steps in the [activation process][8]. During this state,
`e.waitUntil(p)` can be called inside the `onactivate` event handler of the
associated [ServiceWorkerGloberScope][9] object to extend the life of the
activating [active worker][10] until the passed [Promise][6] resolves
successfully. Note that no [functional events][11] are dispatched until the
state becomes `"activated"`.
`"activated"`:
The Service Worker represented by the [ServiceWorker][1] object has
completed the steps in the [activation process][8]. The Service Worker in
this state is considered the [active worker][10] ready to [control][12] the
documents in matching scope upon subsequence [navigation][13].
`"redundant"`:
A newly created Service Worker [registration][14] is replacing the current
[registration][14] of the Service Worker.
[1]: #service-worker-interface
[2]: #service-worker-state-enum
[3]: #installation-process
[4]: #service-worker-glober-scope-interface
[5]: #installing-worker
[6]: http://goo.gl/3TobQS
[7]: #worker-in-waiting
[8]: #activation-process
[9]: #service-worker-global-scope-interface
[10]: #active-worker
[11]: #functional-events
[12]: #document-control
[13]: http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#navigate
[14]: #registration
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section state so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,35 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: onstatechange</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#service-worker-on-state-change">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
`onstatechange` is the [event handler][1] that must be supported as attribute
by the `[ServiceWorker][2]` object. A `statechange` event using the
`[Event][3]` interface is dispatched on `[ServiceWorker][2]` object when the
`state` attribute of the `ServiceWorker` object is changed.
[1]: http://goo.gl/rBfiz0
[2]: #service-worker-interface
[3]: http://goo.gl/Mzv7Dv
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section onstatechange so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,84 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: navigator.serviceWorker</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#navigator-service-worker">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src=/resources/WebIDLParser.js></script>
<script src=/resources/idlharness.js></script>
</head>
<body>
<!--
The `serviceWorker` attribute of the [Navigator][1] interface must return an
instance of the `ServiceWorkerContainer` interface, which provides access to
registration, removal, upgrade, and communication with Service Workers that are
(or will become) active for the current document. Communication with these
workers is provided via standard [HTML5 messaging APIs][2], and [messaging
occurs as per usual with Web Workers][3].
-->
<script type=text/plain id="idl_0">
partial interface Navigator {
readonly attribute ServiceWorkerContainer serviceWorker;
};
interface ServiceWorkerContainer : EventTarget {
[Unforgeable] readonly attribute ServiceWorker? installing;
[Unforgeable] readonly attribute ServiceWorker? waiting;
[Unforgeable] readonly attribute ServiceWorker? active;
[Unforgeable] readonly attribute ServiceWorker? controller;
readonly attribute Promise<ServiceWorker> ready;
Promise<sequence<ServiceWorker>?> getAll();
Promise<ServiceWorker> register(DOMString url, optional RegistrationOptionList options);
Promise<any> unregister(DOMString? scope);
// events
attribute EventHandler onupdatefound;
attribute EventHandler oncontrollerchange;
attribute EventHandler onreloadpage;
attribute EventHandler onerror;
};
dictionary RegistrationOptionList {
DOMString scope = "/*";
};
interface ReloadPageEvent : Event {
void waitUntil(Promise<any> f);
};
</script>
<!--
[1]: http://goo.gl/I7WAhg
[2]: http://www.whatwg.org/specs/web-apps/current-work/multipage/web-messaging.html
[3]: http://www.w3.org/TR/workers/#dom-worker-postmessage
-->
<script type=text/plain id="untested_idls">
interface ServiceWorker {};
interface EventHandler {};
interface EventTarget {};
interface Event {};
</script>
<script>
var idl_array = new IdlArray();
idl_array.add_untested_idls(document.getElementById("untested_idls").textContent);
idl_array.add_idls(document.getElementById("idl_0").textContent);
idl_array.add_objects({
Navigator: ["throw new Error ('No object defined for the Navigator interface')"],
ServiceWorkerContainer: ["throw new Error ('No object defined for the ServiceWorkerContainer interface')"],
RegistrationOptionList: ["throw new Error ('No object defined for the RegistrationOptionList dictionary')"],
ReloadPageEvent: ["throw new Error ('No object defined for the ReloadPageEvent interface')"]
});
idl_array.test();
</script>
</body>
</html>

Просмотреть файл

@ -1,43 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: installing</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#navigator-service-worker-installing">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
`navigator.serviceWorker.installing` must return a [ServiceWorker][1] object
representing the [installing worker][2] that is currently undergoing the
installation process (from step 1 to step 7 of the [_Installation
algorithm][3]) for the given [URL scope][4] in which the document may be
[controlled][5] when the Service Worker becomes the [active worker][6].
`navigator.serviceWorker.installing` returns `null` if no Service Worker
[registration][7] is in the [installation process][8].
[1]: #service-worker-interface
[2]: #installing-worker
[3]: #installation-algorithm
[4]: #url-scope
[5]: #document-control
[6]: #active-worker
[7]: #service-worker-registration-internal-interface
[8]: #installation-process
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section installing so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,45 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: oncontrollerchange</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#navigator-service-worker-oncontrollerchange">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
`navigator.serviceWorker.oncontrollerchange` is the [event handler][1] that
must be supported as attribute by the `[ServiceWorkerContainer][2]` object. A
`controllerchange` event using the `[Event][3]` interface is dispatched on
`[ServiceWorkerContainer][2]` object (See step 7 of the [_Activation
algorithm][4]) when the associated Service Worker [registration][5] for the
document enters the [activation process][6]. When the [activation process][6]
is triggered by `replace()` method call within the event handler of the
`install` event, `navigator.serviceWorker.controller` immediately reflects the
[active worker][7] as the Service Worker that [controls][8] the document.
[1]: http://goo.gl/rBfiz0
[2]: #service-worker-container-interface
[3]: http://goo.gl/Mzv7Dv
[4]: #activation-algorithm
[5]: #registration
[6]: #activation-process
[7]: #active-worker
[8]: #document-control
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section oncontrollerchange so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,41 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: onreloadpage</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#navigator-service-worker-onreloadpage">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
`navigator.serviceWorker.onreloadpage` is the [event handler][1] that must be
supported as attribute by the `[ServiceWorkerContainer][2]` object. An event
named `reloadpage` using the `[ReloadPageEvent][3]` interface is dispatched on
`[ServiceWorkerContainer][2]` object when the page reload is triggered by the
`[self.clients.reloadAll()][4]` method call from the [active worker][5],
represented by its associated [ServiceWorkerGlobalScope][6] object, for the
document.
[1]: http://goo.gl/rBfiz0
[2]: #service-worker-container-interface
[3]: #reload-page-event-interface
[4]: #reloadall-method
[5]: #active-worker
[6]: #service-worker-global-scope-interface
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section onreloadpage so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,37 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: onerror</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#navigator-service-worker-onerror">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
`navigator.serviceWorker.onerror` is the [event handler][1] that must be
supported as attribute by the `[ServiceWorkerContainer][2]` object. An event
named `error` using the `[ErrorEvent][3]` interface is dispatched on
`[ServiceWorkerContainer][2]` object for any error from the associated
`[ServiceWorker][4]` objects.
[1]: http://goo.gl/rBfiz0
[2]: #service-worker-container-interface
[3]: http://goo.gl/FKuWgu
[4]: #service-worker-interface
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section onerror so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,34 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: waiting</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#navigator-service-worker-waiting">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
`navigator.serviceWorker.waiting` must return a [ServiceWorker][1] object
representing the waiting Service Worker that is considered the [worker in
waiting][2] for the document. `navigator.serviceWorker.waiting` returns `null`
if there is no [worker in waiting][2] for the document.
[1]: #service-worker-interface
[2]: #worker-in-waiting
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section waiting so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,40 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: active</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#navigator-service-worker-active">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
`navigator.serviceWorker.active` must return a [ServiceWorker][1] object
representing the [active worker][2] that is currently undergoing or completed
the activation process (from step 4 to step 9 of the [_Activation
algorithm][3]) for the given [URL scope][4] in which the document is controlled
(or to be controlled). `navigator.serviceWorker.active` returns `null` if no
Service Worker [registration][5] is in the [activation process][6].
[1]: #service-worker-interface
[2]: #active-worker
[3]: #activation-algorithm
[4]: #url-scope
[5]: #service-worker-registration-internal-interface
[6]: #activation-process
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section active so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,37 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: controller</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#navigator-service-worker-controller">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
`navigator.serviceWorker.controller` must return a [ServiceWorker][1] object
representing the [active worker][2] that currently handles resource requests
for the document. `navigator.serviceWorker.controller` returns `null` if the
current document was not [created under a Service Worker][3] (See step 6-1 of
[_OnFetchRequest][3] algorithm) or the request is a force refresh
(shift+refresh).
[1]: #service-worker-interface
[2]: #active-worker
[3]: #on-fetch-request-algorithm
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section controller so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,67 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: ready</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#navigator-service-worker-ready">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
`navigator.serviceWorker.ready` attribute must return the result of running
these steps:
1. Let `promise` be a newly-created [promise][1].
2. Return `promise`.
3. Run the following steps asynchronously:
1. Let `registration` be the result of running [_ScopeMatch
algorithm][2] with document's url as its argument.
2. If `registration` is null, then:
1. Wait for the document to have a matching [registration][3].
3. If the [registration][3], represented by `registration`, for the
document has an [active worker][4], then:
1. Resolve `promise` with the [ServiceWorker][5] object associated
with the [active worker][4].
2. Abort these steps.
4. If the [registration][3], represented by `registration`, for the
document has a [worker in waiting][6], then:
1. Resolve `promise` with the [ServiceWorker][5] object associated
with the [worker in waiting][6].
2. Abort these steps.
5. Wait until the [registration][3], represented by `registration`,
for the document acquires a [worker in waiting][6] through a new
[installation process][7].
6. Resolve `promise` with the [ServiceWorker][5] object associated
with the [worker in waiting][6].
Note that `ready` attribute is desinged in a way that the returned [promise][1]
will never reject. Instead, it waits until the [promise][1] resolves with a
newly installed [worker in waiting][6]. Hence, the `state` of the acquired
[`ServiceWorker`][8] object is either `installed`, `activating` or `activated`.
[1]: http://goo.gl/3TobQS
[2]: #scope-match-algorithm
[3]: #registration
[4]: #active-worker
[5]: #service-worker-interface
[6]: #worker-in-waiting
[7]: #installation-process
[8]: #service-worker
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section ready so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,30 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: getAll()</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#navigator-service-worker-getAll">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
`navigator.serviceWorker.getAll()` method must return a promise that resolves
with the array of the ServiceWorker objects in `installing`, `installed`,
`activating` and `activated` states.
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section getAll() so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,32 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: register()</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#navigator-service-worker-register">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
`navigator.serviceWorker.register(url, options)` method must run the
[Registration algorithm][1] passing `url` and `options`.`scope` as the
arguments.
[1]: #registration-algorithm
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section register() so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,31 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: unregister()</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#navigator-service-worker-unregister">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
`navigator.serviceWorker.unregister(scope)` method must run the [Unregistration
algorithm][1] passing `scope` as the argument.
[1]: #unregistration-algorithm
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section unregister() so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,42 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: onupdatefound</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#navigator-service-worker-onupdatefound">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
`navigator.serviceWorker.onupdatefound` is the [event handler][1] that must be
supported as attribute by the `[ServiceWorkerContainer][2]` object. An
`updatefound` event using the `[Event][3]` interface is dispatched on
`[ServiceWorkerContainer][2]` object (See step 4 of the [_Installation
algorithm][4]) when the associated Service Worker [registration][5] for the
document enters the [installation process][6] such that
`navigator.serviceWorker.installing` becomes the new [installing worker][7].
[1]: http://goo.gl/rBfiz0
[2]: #service-worker-container-interface
[3]: http://goo.gl/Mzv7Dv
[4]: #installation-algorithm
[5]: #registration
[6]: #installation-process
[7]: #installing-worker
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section onupdatefound so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,75 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: ServiceWorkerGlobalScope</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#service-worker-global-scope">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src=/resources/WebIDLParser.js></script>
<script src=/resources/idlharness.js></script>
</head>
<body>
<script type=text/plain id="idl_0">
[Global]
interface ServiceWorkerGlobalScope : WorkerGlobalScope {
readonly attribute CacheStorage caches;
// A container for a list of window objects, identifiable by ID, that
// correspond to windows (or workers) that are "controlled" by this SW
readonly attribute ServiceWorkerClients clients;
[Unforgeable] readonly attribute DOMString scope;
Promise<any> fetch((Request or ScalarValueString) request);
void update();
void unregister();
attribute EventHandler oninstall;
attribute EventHandler onactivate;
attribute EventHandler onfetch;
attribute EventHandler onbeforeevicted;
attribute EventHandler onevicted;
// The event.source of these MessageEvents are instances of Client
attribute EventHandler onmessage;
// close() method inherited from WorkerGlobalScope is not exposed.
};
</script>
<!--
The `ServiceWorkerGlobalScope` interface represents the global execution
context of a Service Worker. `ServiceWorkerGlobalScope` object provides
generic, event-driven, time-limited script execution contexts that run at an
origin. Once successfully [registered][1], a Service Worker is started, kept
alive and killed by their relationship to events, not documents. Any type of
synchronous requests MUST NOT be initiated inside of a Service Worker.
[1]: #navigator-service-worker-register
-->
<script type=text/plain id="untested_idls">
interface CacheStorage {};
interface ServiceWorkerClients {};
interface Request {};
interface ScalarValueString {};
interface EventHandler {};
interface WorkerGlobalScope {};
</script>
<script>
var idl_array = new IdlArray();
idl_array.add_untested_idls(document.getElementById("untested_idls").textContent);
idl_array.add_idls(document.getElementById("idl_0").textContent);
idl_array.add_objects({
ServiceWorkerGlobalScope: ["throw new Error ('No object defined for the ServiceWorkerGlobalScope interface')"]
});
idl_array.test();
</script>
</body>
</html>

Просмотреть файл

@ -1,36 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: caches</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#service-worker-global-scope-caches">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
`self.caches` must return the `[CacheStorage][1]` object that is the global
asynchronous map object for the `[ServiceWorkerGlobalScope][2]` execution
context containing the cache objects keyed by the name of the caches. Caches
are always enumerable via `self.caches` in insertion order (per [ECMAScript 6
Map objects][3].)
[1]: #cache-storage-interface
[2]: #service-worker-global-scope-interface
[3]: http://goo.gl/gNnDPO
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section caches so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,33 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: clients</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#service-worker-global-scope-clients">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
`self.clients` must return the `[ServiceWorkerClients][1]` object containing a
list of client objects, identifiable by ID, that correspond to windows or
workers that are [controlled][2] by this Service Worker.
[1]: #service-worker-clients-interface
[2]: #document-control
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section clients so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,36 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: scope</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#service-worker-global-scope-scope">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
The `scope` attribute of a [ServiceWorkerGlobalScope][1] object reflects the
[URL scope][2] of the associated Service Worker [registration][3]. The `scope`
attribute must return the [serialization][4] of the URL representing the [URL
scope][2] of the associated Service Worker [registration][3].
[1]: #service-worker-global-scope-interface
[2]: #url-scope
[3]: #registration
[4]: http://url.spec.whatwg.org/#concept-url-serializer
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section scope so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,55 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: fetch(request)</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#service-worker-global-scope-fetch">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
`self.fetch(request)` method must run these steps:
1. Let `request` be a [request][1] represented by `request`.
2. Set [`client`][2] of `request` to the [JavaScript global
environment][3] represented by `self` object.
3. Let `promise` be a newly-created [promise][4].
4. Return `promise.`
5. Run the following steps asynchronously:
1. Let `response` be the result of running [fetch algorithm][5] with
`request` as its argument.
2. If `response` is a [network error][6], then:
1. Reject `promise` with a new [DOMException][7] whose name is
"[NetworkError][8]".
3. Else,
1. Resolve `promise` with a new [Response][9] object associated
with `response`.
[1]: http://goo.gl/ucOuXl
[2]: http://goo.gl/Oxj4xQ
[3]: http://goo.gl/ifwwCC
[4]: http://goo.gl/3TobQS
[5]: http://goo.gl/fGMifs
[6]: http://goo.gl/jprjjc
[7]: http://goo.gl/A0U8qC
[8]: http://goo.gl/lud5HB
[9]: http://goo.gl/Deazjv
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section fetch(request) so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,36 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: update()</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#service-worker-global-scope-update">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
`update()` pings the server for an updated version of this script without
consulting caches. `self.update()` method must run the [_SoftUpdate
algorithm][1] passing its serviceWorkerRegistration object as the argument
which is the result of running the [_GetRegistration algorithm][2] with
`self.scope` as the argument. (This is conceptually the same operation that UA
does maximum once per every 24 hours.)
[1]: #soft-update-algorithm
[2]: #get-registration-algorithm
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section update() so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,31 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: unregister()</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#service-worker-global-scope-unregister">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
`self.unregister()` method must run the [Unregistration algorithm][1]
implicitly passing `self.scope` as the argument.
[1]: #unregistration-algorithm
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section unregister() so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,45 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: onmessage</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#service-worker-global-scope-onmessage">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
`self.onmessage` is the [event handler][1] that must be supported as attribute
by the `ServiceWorkerGlobalScope` object. `ServiceWorkerGlobalScope` objects
act as if they had an implicit `[MessagePort][2]` associated with them. This
port is part of a channel that is set up when the worker is created, but it is
not exposed. This object must never be garbage collected before the
`ServiceWorkerGlobalScope` object.
All messages received by that port must immediately be retargeted at the
`ServiceWorkerGlobalScope` object. That is, an event named `message` using the
`[MessageEvent][3]` interface is dispatched on ServiceWorkerGlobalScope object.
The `event.source` of these `[MessageEvent][3]`s are instances of `[Client][4]`.
[1]: http://goo.gl/rBfiz0
[2]: http://goo.gl/tHBrI6
[3]: http://goo.gl/S5e0b6
[4]: #client-interface
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section onmessage so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,61 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: Client</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#client">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src=/resources/WebIDLParser.js></script>
<script src=/resources/idlharness.js></script>
</head>
<body>
<script type=text/plain id="idl_0">
[Constructor()] // no-op constructor
interface Client {
readonly attribute unsigned long id;
void postMessage(any message, DOMString targetOrigin,
optional sequence<Transferable> transfer);
};
</script>
<!--
The `Client` interface represents the window or the worker (defined as client)
that is [controlled][1] by the Service Worker. This object provides a no-op
constructor. Callers should note that only `Client` objects created by the user
agent (see [`this.clients.getServiced()`][2]) will provide meaningful
functionality.
The `id` of a `Client` identifies the specific client object from the list of
client objects serviced by the Service Worker. The `postMessage(message,
targetOrigin, transfer)` method of a `[Client][3]`, when called, causes a
`[MessageEvent][4]` to be dispatched at the client object.
[1]: #document-control
[2]: #get-serviced-method
[3]: #client-interface
[4]: http://goo.gl/4SLWiH
-->
<script type=text/plain id="untested_idls">
interface Transferable {};
</script>
<script>
var idl_array = new IdlArray();
idl_array.add_untested_idls(document.getElementById("untested_idls").textContent);
idl_array.add_idls(document.getElementById("idl_0").textContent);
idl_array.add_objects({
Client: ["throw new Error ('No object defined for the Client interface')"]
});
idl_array.test();
</script>
</body>
</html>

Просмотреть файл

@ -1,48 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: ServiceWorkerClients</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#service-worker-clients">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src=/resources/WebIDLParser.js></script>
<script src=/resources/idlharness.js></script>
</head>
<body>
<script type=text/plain id="idl_0">
interface ServiceWorkerClients {
// A list of client objects, identifiable by ID, that correspond to windows
// (or workers) that are "controlled" by this SW
Promise<sequence<Client>?> getServiced();
Promise<any> reloadAll();
};
</script>
<!--
The `ServiceWorkerClients` interface represents a container for a list of
`[Client][1]` objects.
[1]: #client-interface
-->
<script type=text/plain id="untested_idls">
interface Client {};
</script>
<script>
var idl_array = new IdlArray();
idl_array.add_untested_idls(document.getElementById("untested_idls").textContent);
idl_array.add_idls(document.getElementById("idl_0").textContent);
idl_array.add_objects({
ServiceWorkerClients: ["throw new Error ('No object defined for the ServiceWorkerClients interface')"]
});
idl_array.test();
</script>
</body>
</html>

Просмотреть файл

@ -1,34 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: getServiced()</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#get-serviced-method">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
The `getServiced()` method of a `ServiceWorkerClients`, when called, returns a
[Promise][1] that will resolve with a list of `[Client][2]` objects that are
[controlled][3] by this Service Worker.
[1]: http://goo.gl/3TobQS
[2]: #client-interface
[3]: #document-control
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section getServiced() so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,37 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: reloadAll()</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#reloadall-method">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
`reloadAll()` provides a mechanism for the worker to request synchronized
re-fetch of all documents whose URLs match the registration's [URL scope][1].
An event named `reloadpage` is dispatched on the `navigator.serviceWorker`
object of each document. The in-document handlers may allow the event to
continue, request an extension (via [`e.waitUntil()`][2]), or cancel the
collective reload by calling [`e.preventDefault()`][3].
[1]: #url-scope
[2]: #wait-until-method
[3]: http://goo.gl/2zH6ie
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section reloadAll() so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,72 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: Request Objects</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#request-objects">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src=/resources/WebIDLParser.js></script>
<script src=/resources/idlharness.js></script>
</head>
<body>
<script type=text/plain id="idl_0">
[Constructor(optional RequestInit init)]
interface Request {
attribute unsigned long timeout;
attribute DOMString url;
attribute ByteString method;
readonly attribute DOMString origin;
readonly attribute Mode mode;
attribute boolean synchronous;
attribute boolean forcePreflight;
attribute boolean omitCredentials;
readonly attribute DOMString referrer;
readonly attribute HeaderMap headers; // alternative: sequence<Header> headers;
attribute any body;
};
dictionary RequestInit {
unsigned long timeout = 0;
DOMString url;
boolean synchronous = false;
boolean forcePreflight = false;
boolean omitCredentials = false;
ByteString method = "GET";
HeaderMap headers;
any body;
};
enum Mode {
"same origin",
"tainted cross-origin",
"CORS",
"CORS-with-forced-preflight"
};
[MapClass(DOMString, DOMString)]
interface HeaderMap {
};
</script>
<script>
var idl_array = new IdlArray();
idl_array.add_untested_idls(document.getElementById("untested_idls").textContent);
idl_array.add_idls(document.getElementById("idl_0").textContent);
idl_array.add_objects({
Request: ["throw new Error ('No object defined for the Request interface')"],
RequestInit: ["throw new Error ('No object defined for the RequestInit dictionary')"],
Mode: ["throw new Error ('No object defined for the Mode enum')"],
HeaderMap: ["throw new Error ('No object defined for the HeaderMap interface')"]
});
idl_array.test();
</script>
</body>
</html>

Просмотреть файл

@ -1,75 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: Response Objects</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#response-objects">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src=/resources/WebIDLParser.js></script>
<script src=/resources/idlharness.js></script>
</head>
<body>
<!--
`Response` objects model HTTP responses.
-->
<script type=text/plain id="idl_0">
[Constructor]
interface AbstractResponse {
};
interface OpaqueResponse : AbstractResponse {
readonly attribute unsigned short status;
readonly attribute ByteString statusText;
// Returns a filtered list of headers. See prose for details.
readonly attribute HeaderMap headers;
// No setter for headers
readonly attribute DOMString url;
};
interface CORSResponse : Response {
readonly attribute HeaderMap headers;
};
[Constructor(optional ResponseInit responseInitDict)]
interface Response : AbstractResponse {
attribute unsigned short status;
attribute ByteString statusText;
readonly attribute HeaderMap headers;
attribute DOMString url;
Promise<Blob> toBlob();
};
dictionary ResponseInit {
unsigned short status = 200;
ByteString statusText = "OK";
HeaderMap headers;
};
</script>
<script type=text/plain id="untested_idls">
interface HeaderMap {};
interface Blob {};
</script>
<script>
var idl_array = new IdlArray();
idl_array.add_untested_idls(document.getElementById("untested_idls").textContent);
idl_array.add_idls(document.getElementById("idl_0").textContent);
idl_array.add_objects({
AbstractResponse: ["throw new Error ('No object defined for the AbstractResponse interface')"],
OpaqueResponse: ["throw new Error ('No object defined for the OpaqueResponse interface')"],
CORSResponse: ["throw new Error ('No object defined for the CORSResponse interface')"],
Response: ["throw new Error ('No object defined for the Response interface')"],
ResponseInit: ["throw new Error ('No object defined for the ResponseInit dictionary')"]
});
idl_array.test();
</script>
</body>
</html>

Просмотреть файл

@ -1,36 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: Response</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#response">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
`Response` objects are mutable and constructable. They model HTTP responses.
The `fetch()` API returns this type for same-origin responses.
It may be possible to set the `Location` header of a `Response` object to
someplace not in the current origin but this is not a security issue.
Cross-origin response bodies are opaque to script, and since only same-origin
documents will encounter these responses, the only systems the Service Worker
can "lie to" are same-origin (and therefore safe from the perspective of other
origins).
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section Response so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,36 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: OpaqueResponse</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#opaque-response">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
`OpaqueResponse` objects are immutable but constructable. The `fetch()` API
returns this type for cross-origin responses.
Their role is to encapsulate the security properties of the web platform. As
such, their `body` attribute will always be `undefined` and the list of
readable `headers` is heavily filtered.
`OpaqueResponse` objects may be forwarded on to rendering documents in exactly
the same way as mutable `Response` objects.
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section OpaqueResponse so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,37 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: Caches</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#cache-objects">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
To allow authors to fully manage their content caches for offline use, the
`[ServiceWorkerGlobalScope][1]` execution context provides the caching methods
largely conforming to [ECMAScript 6 Map objects][2] with additional convenience
methods. A domain can have multiple, named `[Cache][3]` objects, whose contents
are entirely under the control of scripts. Caches are not shared across
domains, and they are completely isolated from the browser's HTTP cache.
[1]: #service-worker-global-scope-interface
[2]: http://goo.gl/gNnDPO
[3]: #cache-interface
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section Caches so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,38 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: Understanding Cache Lifetimes</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#cache-lifetimes">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
The `[Cache][1]` instances are not part of the browser's HTTP cache. The
`[Cache][1]` objects are exactly what authors have to manage themselves. The
`[Cache][1]` objects do not get updated unless authors explicitly request them
to be. The `[Cache][1]` objects do not expire unless authors delete the
entries. The `[Cache][1]` objects do not disappear just because the Service
Worker script is updated. That is, caches are not updated automatically.
Updates must be manually managed. This implies that authors should version
their caches by name and make sure to use the caches only from the version of
the ServiceWorker that can safely operate on.
[1]: #cache-interface
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section Understanding Cache Lifetimes so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,64 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: Cache</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#cache">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src=/resources/WebIDLParser.js></script>
<script src=/resources/idlharness.js></script>
</head>
<body>
<script type=text/plain id="idl_0">
[Exposed=(Window,Worker)]
interface Cache {
Promise<Response> match(RequestInfo request, optional CacheQueryOptions options);
Promise<sequence<Response>> matchAll(optional RequestInfo request, optional CacheQueryOptions options);
Promise<void> add(RequestInfo request);
Promise<void> addAll(sequence<RequestInfo> requests);
Promise<void> put(RequestInfo request, Response response);
Promise<boolean> delete(RequestInfo request, optional CacheQueryOptions options);
Promise<sequence<Request>> keys(optional RequestInfo request, optional CacheQueryOptions options);
};
dictionary CacheQueryOptions {
boolean ignoreSearch = false;
boolean ignoreMethod = false;
boolean ignoreVary = false;
DOMString cacheName;
};
dictionary CacheBatchOperation {
DOMString type;
Request request;
Response response;
CacheQueryOptions options;
};
</script>
<script type=text/plain id="untested_idls">
interface AbstractResponse {};
interface Request {};
interface ScalarValueString {};
</script>
<script>
var idl_array = new IdlArray();
idl_array.add_untested_idls(document.getElementById("untested_idls").textContent);
idl_array.add_idls(document.getElementById("idl_0").textContent);
idl_array.add_objects({
Cache: ["throw new Error ('No object defined for the Cache interface')"],
QueryParams: ["throw new Error ('No object defined for the QueryParams dictionary')"],
CacheIterationCallback: ["throw new Error ('No object defined for the CacheIterationCallback callback')"]
});
idl_array.test();
</script>
</body>
</html>

Просмотреть файл

@ -1,62 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: CacheStorage</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#cache-storage">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src=/resources/WebIDLParser.js></script>
<script src=/resources/idlharness.js></script>
</head>
<body>
<script type=text/plain id="idl_0">
[Constructor(sequence<any> iterable)]
interface CacheStorage {
Promise<any> match(ScalarValueString url, optional DOMString cacheName);
Promise<Cache> get(DOMString key);
Promise<boolean> has(DOMString key);
Promise<any> set(DOMString key, Cache val);
Promise<any> clear();
Promise<any> delete(DOMString key);
void forEach(CacheStorageIterationCallback callback, optional object thisArg);
Promise<sequence<any>> entries();
Promise<sequence<DOMString>> keys();
Promise<sequence<Cache>> values();
Promise<unsigned long> size();
};
callback CacheStorageIterationCallback = void (Cache value, DOMString key, CacheStorage map);
</script>
<!--
**Note**:[CacheStorage][1]interface is designed to largely conform
to[ECMAScript 6 Map objects][2]but entirely async, and with additional
convenience methods.
[1]: #cache-storage-interface
[2]: http://goo.gl/gNnDPO
-->
<script type=text/plain id="untested_idls">
interface ScalarValueString {};
interface Cache {};
</script>
<script>
var idl_array = new IdlArray();
idl_array.add_untested_idls(document.getElementById("untested_idls").textContent);
idl_array.add_idls(document.getElementById("idl_0").textContent);
idl_array.add_objects({
CacheStorage: ["throw new Error ('No object defined for the CacheStorage interface')"],
CacheStorageIterationCallback: ["throw new Error ('No object defined for the CacheStorageIterationCallback callback')"]
});
idl_array.test();
</script>
</body>
</html>

Просмотреть файл

@ -1,51 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: InstallPhaseEvent</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#install-phase-event">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src=/resources/WebIDLParser.js></script>
<script src=/resources/idlharness.js></script>
</head>
<body>
<script type=text/plain id="idl_0">
interface InstallPhaseEvent : Event {
Promise<any> waitUntil(Promise<any> f);
};
</script>
<!--
Service Workers have two [Lifecycle events][1], `[install][2]` and
`[activate][3]`. Service Workers use the `[InstallPhaseEvent][4]` interface for
`[activate][3]` event and the `[InstallEvent][5]` interface, which inherits
from the `[InstallPhaseEvent][4]` interface, for `[install][2]` event.
[1]: #lifecycle-events
[2]: #install-event
[3]: #activate-event
[4]: #install-phase-event-interface
[5]: #install-event-interface
-->
<script type=text/plain id="untested_idls">
interface Event {};
</script>
<script>
var idl_array = new IdlArray();
idl_array.add_untested_idls(document.getElementById("untested_idls").textContent);
idl_array.add_idls(document.getElementById("idl_0").textContent);
idl_array.add_objects({
InstallPhaseEvent: ["throw new Error ('No object defined for the InstallPhaseEvent interface')"]
});
idl_array.test();
</script>
</body>
</html>

Просмотреть файл

@ -1,39 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: event.waitUntil(f)</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#wait-until-method">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
`event.waitUntil(f)` method, when called in `oninstall` or `onactivate`,
extends the lifetime of the event. When called in `oninstall`, it delays
treating the installing worker until the passed [Promise][1] resolves
successfully. This is primarily used to ensure that a `ServiceWorker` is not
active until all of the core caches it depends on are populated. When called in
`onactivate`, it delays treating the activating worker until the passed
[Promise][1] resolves successfully. This is primarily used to ensure that any
[Functional events][2] are not dispatched to the `ServiceWorker` until it
upgrades database schemas and deletes the outdated cache entries.
[1]: http://goo.gl/3TobQS
[2]: #functional-events
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section event.waitUntil(f) so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,35 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: install Event</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#install-event">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
An event named `[install][1]` using the `[InstallEvent][2]` interface is
dispatched on `ServiceWorkerGlobalScope` object when the state of the
associated `ServiceWorker` changes its value to `installing`. (See step 3 of
[_Installation algorithm][3])
[1]: #install-event
[2]: #install-event-interface
[3]: #installation-algorithm
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section install Event so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,47 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: InstallEvent</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#install-event-section">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src=/resources/WebIDLParser.js></script>
<script src=/resources/idlharness.js></script>
</head>
<body>
<script type=text/plain id="idl_0">
interface InstallEvent : InstallPhaseEvent {
readonly attribute ServiceWorker? activeWorker;
void replace();
};
</script>
<!--
Service Workers use the `[InstallEvent][1]` interface for `[install][2]` event.
[1]: #install-event-interface
[2]: #install-event
-->
<script type=text/plain id="untested_idls">
interface ServiceWorker {};
interface InstallPhaseEvent {};
</script>
<script>
var idl_array = new IdlArray();
idl_array.add_untested_idls(document.getElementById("untested_idls").textContent);
idl_array.add_idls(document.getElementById("idl_0").textContent);
idl_array.add_objects({
InstallEvent: ["throw new Error ('No object defined for the InstallEvent interface')"]
});
idl_array.test();
</script>
</body>
</html>

Просмотреть файл

@ -1,38 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: event.replace()</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#replace-method">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
`replace()` interacts with `waitUntil` method in the following way:
- Successful installation can be delayed by `waitUntil`, perhaps by
subsequent event handlers.
- Replacement only happens upon successful installation
- Therefore, replacement of the [active worker][1] (if any) is not
immediate, however it may occur as soon as the end of the current turn.
[1]: #navigator-service-worker-active
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section event.replace() so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,41 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: activate Event</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#activate-event">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
An event named `[activate][1]` using the `[InstallPhaseEvent][2]` interface is
dispatched on `ServiceWorkerGlobalScope` object when the state of the
associated `ServiceWorker` changes its value to `activating`. (See step 6 of
[_Activation algorithm][3])
Service Workers use the `[InstallPhaseEvent][4]` interface for `[activate][1]`
event.
[1]: #activate-event
[2]: #install-phase-event
[3]: #activation-algorithm
[4]: #install-phase-event-interface
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section activate Event so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,71 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: FetchEvent</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#fetch-event-section">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src=/resources/WebIDLParser.js></script>
<script src=/resources/idlharness.js></script>
</head>
<body>
<script type=text/plain id="idl_0">
[Constructor]
interface FetchEvent : Event {
readonly attribute Request request;
readonly attribute Client client; // The window issuing the request.
readonly attribute Context context;
readonly attribute boolean isReload;
void respondWith(Promise<AbstractResponse> r);
Promise<any> forwardTo(ScalarValueString url);
Promise<any> default();
};
enum Context {
"connect",
"font",
"img",
"object",
"script",
"style",
"worker",
"popup",
"child",
"navigate"
};
</script>
<!--
Service Workers use the `[FetchEvent][1]` interface for `[fetch][2]` event.
[1]: #fetch-event-interface
[2]: #fetch-event
-->
<script type=text/plain id="untested_idls">
interface Request {};
interface Client {};
interface AbstractResponse {};
interface ScalarValueString {};
interface Event {};
</script>
<script>
var idl_array = new IdlArray();
idl_array.add_untested_idls(document.getElementById("untested_idls").textContent);
idl_array.add_idls(document.getElementById("idl_0").textContent);
idl_array.add_objects({
FetchEvent: ["throw new Error ('No object defined for the FetchEvent interface')"],
Context: ["throw new Error ('No object defined for the Context enum')"]
});
idl_array.test();
</script>
</body>
</html>

Просмотреть файл

@ -1,46 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: event.respondWith(r)</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#respond-with-method">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
`event.respondWith(r)` method must run the steps, from step 10 to step 15,
defined in the [_OnFetchRequest algorithm][1].
The `r` argument must resolve with a [AbstractResponse][2], else a
[NetworkError][3] is thrown. If the request is a top-level navigation and the
return value is a [OpaqueResponse][4] (an opaque response body), a
[NetworkError][3] is thrown. The final URL of all successful (non
network-error) responses is the [requested][5] URL. Renderer-side security
checks about tainting for cross-origin content are tied to the transparency (or
opacity) of the [Response][6] body, not URLs.
[1]: #on-fetch-request-algorithm
[2]: #abstract-response-interface
[3]: http://w3c.github.io/dom/#networkerror
[4]: #opaque-response-interface
[5]: #request-objects
[6]: #response-interface
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section event.respondWith(r) so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,52 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: event.default()</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#default-method">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
`event.default()` method must run these steps:
1. Let `promise` be a newly-created [promise][1].
2. Return `promise.`
3. Run the following steps asynchronously:
1. Let `request` be `event`'s `request`.
2. Set `request`'s [skip service worker flag][2].
3. Let `response` be the result of running [fetch algorithm][3] with
`request` as its argument.
4. If `response` is a [network error][4], then:
1. Reject `promise` with a new [DOMException][5] whose name is
"[NetworkError][6]".
5. Else,
1. Resolve `promise` with a new [Response][7] object associated
with `response`.
[1]: http://goo.gl/3TobQS
[2]: http://goo.gl/gP7IWW
[3]: http://goo.gl/fGMifs
[4]: http://goo.gl/jprjjc
[5]: http://goo.gl/A0U8qC
[6]: http://goo.gl/lud5HB
[7]: http://goo.gl/Deazjv
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section event.default() so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,32 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: event.isReload</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#is-reload-attribute">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
Returns true if `event` was dispatched with the user's intention for the page
reload, and false otherwise. Pressing the refresh button should be considered a
reload while clicking a link and pressing the back button should not. The
behavior of the `Ctrl+l enter` is left to the implementations of the user
agents.
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section event.isReload so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,35 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: Origin Relativity</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#origin-relativity">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
One of the advanced concerns that major applications would encounter is whether
they can be hosted from a CDN. By definition, these are servers in other
places, often on other domains. Therefore, Service Workers cannot be hosted on
CDNs. But they can include resources via [importScripts()][1]. The reason for
this restriction is that Service Workers create the opportunity for a bad actor
to turn a bad day into a bad eternity.
[1]: http://goo.gl/Owcfs2
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section Origin Relativity so far.");
</script>
</body>
</html>

Просмотреть файл

@ -1,48 +0,0 @@
<!DOCTYPE html>
<html>
<title>Service Workers: Cross-Origin Resources &amp; CORS</title>
<head>
<link rel="help" href="https://w3c.github.io/ServiceWorker/#cross-origin-resources">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!--
Applications tend to cache items that come from a CDN or other domain. It is
possible to request many of them directly using <script>, <img>, <video> and
<link> elements. It would be hugely limiting if this sort of runtime
collaboration broke when offline. Similarly, it is possible to XHR many sorts
of off-domain resources when appropriate CORS headers are set.
ServiceWorkers enable this by allowing `Cache`s to fetch and cache off-origin
items. Some restrictions apply, however. First, unlike same-origin resources
which are managed in the `Cache` as `[Promise][1]`s for `Response` instances,
the objects stored are `[Promise][1]`s for `OpaqueResponse` instances.
`OpaqueResponse` provides a much less expressive API than `Response`; the
bodies and headers cannot be read or set, nor many of the other aspects of
their content inspected. They can be passed to `respondWith()` and
`forwardTo()` in the same manner as `Response`s, but cannot be meaningfully
created programmatically. These limitations are necessary to preserve the
security invariants of the platform. Allowing `Cache`s to store them allows
applications to avoid re-architecting in most cases.
[1]: http://goo.gl/3TobQS
-->
<script>
test(function() {
// not_implemented();
}, "There are no tests for section Cross-Origin Resources &amp; CORS so far.");
</script>
</body>
</html>