Update web-platform-tests to revision b382ac7192087da0a7439902e20be76ab7587ee8

This commit is contained in:
WPT Sync Bot 2018-08-10 21:31:07 -04:00
parent 3e96a322ae
commit defee2aae0
45 changed files with 645 additions and 189 deletions

View file

@ -75225,6 +75225,18 @@
{}
]
],
"css/CSS2/positioning/abspos-inline-007.xht": [
[
"/css/CSS2/positioning/abspos-inline-007.xht",
[
[
"/css/CSS2/positioning/abspos-inline-007-ref.xht",
"=="
]
],
{}
]
],
"css/CSS2/positioning/abspos-overflow-001.xht": [
[
"/css/CSS2/positioning/abspos-overflow-001.xht",
@ -160925,6 +160937,18 @@
{}
]
],
"css/css-writing-modes/relpos-inline-overflowing-block-vrl.html": [
[
"/css/css-writing-modes/relpos-inline-overflowing-block-vrl.html",
[
[
"/css/reference/ref-filled-green-100px-square.xht",
"=="
]
],
{}
]
],
"css/css-writing-modes/row-progression-slr-023.xht": [
[
"/css/css-writing-modes/row-progression-slr-023.xht",
@ -185945,6 +185969,30 @@
{}
]
],
"svg/render/reftests/blending-svg-foreign-object.html": [
[
"/svg/render/reftests/blending-svg-foreign-object.html",
[
[
"/svg/render/reftests/blending-svg-foreign-object-ref.html",
"=="
]
],
{}
]
],
"svg/render/reftests/blending-svg-root.html": [
[
"/svg/render/reftests/blending-svg-root.html",
[
[
"/svg/render/reftests/blending-svg-root-ref.html",
"=="
]
],
{}
]
],
"svg/rendering/order/z-index.svg": [
[
"/svg/rendering/order/z-index.svg",
@ -195108,12 +195156,22 @@
{}
]
],
"background-fetch/resources/sw.js": [
"background-fetch/resources/utils.js": [
[
{}
]
],
"background-fetch/resources/utils.js": [
"background-fetch/service_workers/sw-helpers.js": [
[
{}
]
],
"background-fetch/service_workers/sw-update-ui.js": [
[
{}
]
],
"background-fetch/service_workers/sw.js": [
[
{}
]
@ -231523,6 +231581,11 @@
{}
]
],
"css/CSS2/positioning/abspos-inline-007-ref.xht": [
[
{}
]
],
"css/CSS2/positioning/abspos-overflow-001-ref.xht": [
[
{}
@ -300118,6 +300181,16 @@
{}
]
],
"svg/render/reftests/blending-svg-foreign-object-ref.html": [
[
{}
]
],
"svg/render/reftests/blending-svg-root-ref.html": [
[
{}
]
],
"svg/rendering/order/z-index-ref.svg": [
[
{}
@ -300748,6 +300821,11 @@
{}
]
],
"tools/manifest/tests/test_item.py": [
[
{}
]
],
"tools/manifest/tests/test_manifest.py": [
[
{}
@ -319493,6 +319571,10 @@
"/IndexedDB/idlharness.any.html",
{}
],
[
"/IndexedDB/idlharness.any.serviceworker.html",
{}
],
[
"/IndexedDB/idlharness.any.sharedworker.html",
{}
@ -319500,10 +319582,6 @@
[
"/IndexedDB/idlharness.any.worker.html",
{}
],
[
"/IndexedDB/idlharness.https.any.serviceworker.html",
{}
]
],
"IndexedDB/index_sort_order.htm": [
@ -321070,6 +321148,12 @@
{}
]
],
"background-fetch/update-ui.https.window.js": [
[
"/background-fetch/update-ui.https.window.html",
{}
]
],
"battery-status/battery-iframe.https.html": [
[
"/battery-status/battery-iframe.https.html",
@ -322508,13 +322592,13 @@
}
]
],
"budget-api/interfaces.any.js": [
"budget-api/idlharness.https.any.js": [
[
"/budget-api/interfaces.any.html",
"/budget-api/idlharness.https.any.html",
{}
],
[
"/budget-api/interfaces.any.worker.html",
"/budget-api/idlharness.https.any.worker.html",
{}
]
],
@ -339847,6 +339931,10 @@
"/encoding/idlharness.any.html",
{}
],
[
"/encoding/idlharness.any.serviceworker.html",
{}
],
[
"/encoding/idlharness.any.sharedworker.html",
{}
@ -339854,10 +339942,6 @@
[
"/encoding/idlharness.any.worker.html",
{}
],
[
"/encoding/idlharness.https.any.serviceworker.html",
{}
]
],
"encoding/iso-2022-jp-decoder.any.js": [
@ -348627,6 +348711,10 @@
"/fetch/api/abort/general.any.html",
{}
],
[
"/fetch/api/abort/general.any.serviceworker.html",
{}
],
[
"/fetch/api/abort/general.any.sharedworker.html",
{}
@ -348634,10 +348722,6 @@
[
"/fetch/api/abort/general.any.worker.html",
{}
],
[
"/fetch/api/abort/general.https.any.serviceworker.html",
{}
]
],
"fetch/api/abort/keepalive.html": [
@ -349137,6 +349221,10 @@
"/fetch/api/idl.any.html",
{}
],
[
"/fetch/api/idl.any.serviceworker.html",
{}
],
[
"/fetch/api/idl.any.sharedworker.html",
{}
@ -349144,10 +349232,6 @@
[
"/fetch/api/idl.any.worker.html",
{}
],
[
"/fetch/api/idl.https.any.serviceworker.html",
{}
]
],
"fetch/api/policies/csp-blocked-worker.html": [
@ -349711,6 +349795,10 @@
"/fetch/cors-rfc1918/idlharness.tentative.any.html",
{}
],
[
"/fetch/cors-rfc1918/idlharness.tentative.any.serviceworker.html",
{}
],
[
"/fetch/cors-rfc1918/idlharness.tentative.any.sharedworker.html",
{}
@ -349718,10 +349806,6 @@
[
"/fetch/cors-rfc1918/idlharness.tentative.any.worker.html",
{}
],
[
"/fetch/cors-rfc1918/idlharness.tentative.https.any.serviceworker.html",
{}
]
],
"fetch/cross-origin-resource-policy/fetch-in-iframe.html": [
@ -350255,6 +350339,10 @@
"/hr-time/idlharness.any.html",
{}
],
[
"/hr-time/idlharness.any.serviceworker.html",
{}
],
[
"/hr-time/idlharness.any.sharedworker.html",
{}
@ -350262,10 +350350,6 @@
[
"/hr-time/idlharness.any.worker.html",
{}
],
[
"/hr-time/idlharness.https.any.serviceworker.html",
{}
]
],
"hr-time/monotonic-clock.any.js": [
@ -362641,6 +362725,10 @@
"/html/webappapis/microtask-queuing/queue-microtask-exceptions.any.html",
{}
],
[
"/html/webappapis/microtask-queuing/queue-microtask-exceptions.any.serviceworker.html",
{}
],
[
"/html/webappapis/microtask-queuing/queue-microtask-exceptions.any.sharedworker.html",
{}
@ -362648,10 +362736,6 @@
[
"/html/webappapis/microtask-queuing/queue-microtask-exceptions.any.worker.html",
{}
],
[
"/html/webappapis/microtask-queuing/queue-microtask-exceptions.https.any.serviceworker.html",
{}
]
],
"html/webappapis/microtask-queuing/queue-microtask.any.js": [
@ -362659,6 +362743,10 @@
"/html/webappapis/microtask-queuing/queue-microtask.any.html",
{}
],
[
"/html/webappapis/microtask-queuing/queue-microtask.any.serviceworker.html",
{}
],
[
"/html/webappapis/microtask-queuing/queue-microtask.any.sharedworker.html",
{}
@ -362666,10 +362754,6 @@
[
"/html/webappapis/microtask-queuing/queue-microtask.any.worker.html",
{}
],
[
"/html/webappapis/microtask-queuing/queue-microtask.https.any.serviceworker.html",
{}
]
],
"html/webappapis/microtask-queuing/queue-microtask.window.js": [
@ -363320,6 +363404,24 @@
{}
]
],
"infrastructure/server/context.any.js": [
[
"/infrastructure/server/context.any.html",
{}
],
[
"/infrastructure/server/context.any.serviceworker.html",
{}
],
[
"/infrastructure/server/context.any.sharedworker.html",
{}
],
[
"/infrastructure/server/context.any.worker.html",
{}
]
],
"infrastructure/server/order-of-metas.any.js": [
[
"/infrastructure/server/order-of-metas.any.html",
@ -363353,6 +363455,14 @@
"/infrastructure/server/secure-context.https.any.html",
{}
],
[
"/infrastructure/server/secure-context.https.any.serviceworker.html",
{}
],
[
"/infrastructure/server/secure-context.https.any.sharedworker.html",
{}
],
[
"/infrastructure/server/secure-context.https.any.worker.html",
{}
@ -376523,6 +376633,10 @@
"/performance-timeline/idlharness.any.html",
{}
],
[
"/performance-timeline/idlharness.any.serviceworker.html",
{}
],
[
"/performance-timeline/idlharness.any.sharedworker.html",
{}
@ -376530,10 +376644,6 @@
[
"/performance-timeline/idlharness.any.worker.html",
{}
],
[
"/performance-timeline/idlharness.https.any.serviceworker.html",
{}
]
],
"performance-timeline/performanceentry-tojson.any.js": [
@ -386311,6 +386421,10 @@
"/secure-contexts/idlharness.any.html",
{}
],
[
"/secure-contexts/idlharness.any.serviceworker.html",
{}
],
[
"/secure-contexts/idlharness.any.sharedworker.html",
{}
@ -386318,10 +386432,6 @@
[
"/secure-contexts/idlharness.any.worker.html",
{}
],
[
"/secure-contexts/idlharness.https.any.serviceworker.html",
{}
]
],
"secure-contexts/shared-worker-insecure-first.https.html": [
@ -391403,6 +391513,10 @@
"/user-timing/idlharness.any.html",
{}
],
[
"/user-timing/idlharness.any.serviceworker.html",
{}
],
[
"/user-timing/idlharness.any.sharedworker.html",
{}
@ -391410,10 +391524,6 @@
[
"/user-timing/idlharness.any.worker.html",
{}
],
[
"/user-timing/idlharness.https.any.serviceworker.html",
{}
]
],
"user-timing/invoke_with_timing_attributes.html": [
@ -395563,6 +395673,10 @@
"/websockets/basic-auth.any.html",
{}
],
[
"/websockets/basic-auth.any.serviceworker.html",
{}
],
[
"/websockets/basic-auth.any.sharedworker.html",
{}
@ -395570,10 +395684,6 @@
[
"/websockets/basic-auth.any.worker.html",
{}
],
[
"/websockets/basic-auth.https.any.serviceworker.html",
{}
]
],
"websockets/binary/001.html": [
@ -430351,14 +430461,26 @@
"4d54f5054c450b8cf81e35015d5336f51b7117ef",
"support"
],
"background-fetch/resources/sw.js": [
"8ac3f4c19b963307982cd0541aa791395ae6fc13",
"background-fetch/resources/utils.js": [
"dbe041941d093e3c91472c410d506d40a466fe45",
"support"
],
"background-fetch/resources/utils.js": [
"8087f95d8f63577bcfcf88ded79d1ad56cb886e6",
"background-fetch/service_workers/sw-helpers.js": [
"ff51f22a2b950f25ff5668a20868a5e03cb13b4c",
"support"
],
"background-fetch/service_workers/sw-update-ui.js": [
"ae0ed090b42df76780ae23a9bf250d1e359917c4",
"support"
],
"background-fetch/service_workers/sw.js": [
"34ea5d4fb64fb410247d844b89e87f14a9223b11",
"support"
],
"background-fetch/update-ui.https.window.js": [
"d561267d14eca9abe4bedf6c216d5044778aa843",
"testharness"
],
"battery-status/META.yml": [
"eded36c5e2f2487376caae21cda9cc36a5090168",
"support"
@ -431299,8 +431421,8 @@
"6cc0000f6ff7547e1b1bc635cbd0cabf0754675a",
"support"
],
"budget-api/interfaces.any.js": [
"5a87b3f8a2f42627063cfbb9a79e8b0cd63d63e8",
"budget-api/idlharness.https.any.js": [
"335c7a60a4dc8daecd3a2b28b86438698ac06484",
"testharness"
],
"check_stability.ini": [
@ -488563,6 +488685,14 @@
"e5a544f351427b27f6a428fee50f83009f457304",
"manual"
],
"css/CSS2/positioning/abspos-inline-007-ref.xht": [
"7f80605dbc8d3b7aba12b1ff79fac31ad51ba12a",
"support"
],
"css/CSS2/positioning/abspos-inline-007.xht": [
"7e5880b10637e39055b428c3411d86b2c6dc0daa",
"reftest"
],
"css/CSS2/positioning/abspos-overflow-001-ref.xht": [
"ba7e87c6a7c18a9335b51e07052ab47631299c9b",
"support"
@ -513276,7 +513406,7 @@
"reftest"
],
"css/css-backgrounds/background-attachment-local/reftest.list": [
"6984fafc5d9a883b1f2e284e589ff525f643e6b7",
"b1d23371e3e5ef66de8d2bf3ef78fa4d3ce83803",
"support"
],
"css/css-backgrounds/background-clip-001.html": [
@ -561603,6 +561733,10 @@
"5dccf5071e82905297c33bde6e019ad4b9c019cd",
"support"
],
"css/css-writing-modes/relpos-inline-overflowing-block-vrl.html": [
"ea075c3f95e176c4fd4935fb2d305fc5bcf277da",
"reftest"
],
"css/css-writing-modes/replaced-content-image-002.xht": [
"ef650ee1bd4d4e27dccbbede2e3eaf5dfb8bd635",
"visual"
@ -603719,6 +603853,10 @@
"fec62a3cae00655a95f7bc569d2eb1f43eac6062",
"reftest"
],
"infrastructure/server/context.any.js": [
"8ee168b7653108f34cfb0dc94fe569df0f9ad6be",
"testharness"
],
"infrastructure/server/order-of-metas.any.js": [
"20f678475c348498d5d5faad9740fddb32c424c1",
"testharness"
@ -603740,7 +603878,7 @@
"support"
],
"infrastructure/server/secure-context.https.any.js": [
"99f6c4c0894c4c78c5e104c1dea6f49a94d5543c",
"626fa70069d2caeddb800e4224b316ac1a0f16ff",
"testharness"
],
"infrastructure/server/title.any.js": [
@ -633863,6 +634001,22 @@
"01e180f23a5b35b27e80ceee39087e1fa3118c6b",
"reftest"
],
"svg/render/reftests/blending-svg-foreign-object-ref.html": [
"021be3582515cb0ae28ccac27e296f68142d27fe",
"support"
],
"svg/render/reftests/blending-svg-foreign-object.html": [
"24f87ae5cb0503c5fd2d604845d859ad7c073056",
"reftest"
],
"svg/render/reftests/blending-svg-root-ref.html": [
"35f278cfaf59168bf6e221b1b6a7bb2dc08578e2",
"support"
],
"svg/render/reftests/blending-svg-root.html": [
"7cbf68d39a05d9b3e27f2613b65eaf64f63ed54b",
"reftest"
],
"svg/rendering/order/z-index-ref.svg": [
"ff7f9156682b6436ea8d0e4ab805b7c0f0d0fd5a",
"support"
@ -634704,7 +634858,7 @@
"support"
],
"tools/manifest/item.py": [
"d4e4d0a51cf78e7cd229c633cccd12baefb6baf4",
"61919fcc31e9c7afa8c1d5733a2723fc41bd326d",
"support"
],
"tools/manifest/log.py": [
@ -634716,7 +634870,7 @@
"support"
],
"tools/manifest/sourcefile.py": [
"7cb4613bd3e3028929a80cbfdaca62eb602e6ebb",
"133f8b59828dafd016df95429fe5286562b4733c",
"support"
],
"tools/manifest/tests/__init__.py": [
@ -634727,12 +634881,16 @@
"fc130b7a21f4f89f152d50ab1d34644b86284815",
"support"
],
"tools/manifest/tests/test_item.py": [
"9f798747bd4ed5e972a11b232480fca16728f25d",
"support"
],
"tools/manifest/tests/test_manifest.py": [
"04e8f1e6c7c721d187d723fcb1cf1f6f5c3df650",
"support"
],
"tools/manifest/tests/test_sourcefile.py": [
"c7093b8b69379e3727f83b97c37892ab2c78bfa4",
"57a175cae913a273c6ba4ebbcc13dd47571e4970",
"support"
],
"tools/manifest/update.py": [
@ -635220,7 +635378,7 @@
"support"
],
"tools/serve/serve.py": [
"fc7dad8f9b18073bcbfd74efc5834f38dddb007c",
"2cf41a42f4588b5b6c069f50843abb5a1b9571c5",
"support"
],
"tools/serve/test_serve.py": [

View file

@ -0,0 +1,2 @@
[floats-in-table-caption-001.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[abspos-inline-007.xht]
expected: FAIL

View file

@ -0,0 +1,2 @@
[css3-text-line-break-opclns-050.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[css3-text-line-break-opclns-054.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[css3-text-line-break-opclns-059.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[css3-text-line-break-opclns-164.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[css3-text-line-break-opclns-165.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[vh_not_refreshing_on_chrome.html]
expected: FAIL

View file

@ -29,3 +29,8 @@
[idlharness]
expected: FAIL
[idlharness.any.serviceworker.html]
[idlharness]
expected: FAIL

View file

@ -31,3 +31,8 @@
[general]
expected: FAIL
[general.any.serviceworker.html]
[general]
expected: FAIL

View file

@ -29,3 +29,8 @@
[idl]
expected: FAIL
[idl.any.serviceworker.html]
[idl]
expected: FAIL

View file

@ -17,3 +17,8 @@
[idlharness]
expected: FAIL
[idlharness.tentative.any.serviceworker.html]
[idlharness]
expected: FAIL

View file

@ -17,3 +17,8 @@
[idlharness]
expected: FAIL
[idlharness.any.serviceworker.html]
[idlharness]
expected: FAIL

View file

@ -172,63 +172,3 @@
[XHTML img usemap="http://example.org/#garbage-before-hash-id"]
expected: FAIL
[XHTML img usemap="#percent-escape-id-%41"]
expected: FAIL
[XHTML img usemap="#different-CASE-id"]
expected: FAIL
[HTML (quirks) IMG usemap="#"]
expected: FAIL
[XHTML img usemap="hash-last#"]
expected: FAIL
[HTML (quirks) IMG usemap="no-hash-id"]
expected: FAIL
[HTML (quirks) IMG usemap="no-hash-name"]
expected: FAIL
[HTML (quirks) IMG usemap="#no-such-map"]
expected: FAIL
[HTML (quirks) IMG usemap="hash-last#"]
expected: FAIL
[XHTML img usemap="no-hash-id"]
expected: FAIL
[HTML (quirks) IMG usemap="#different-CASE-name"]
expected: FAIL
[XHTML img usemap="#no-such-map"]
expected: FAIL
[XHTML img usemap="#percent-escape-name-%41"]
expected: FAIL
[XHTML img usemap="#"]
expected: FAIL
[HTML (quirks) IMG usemap="#different-CASE-id"]
expected: FAIL
[XHTML img usemap="#different-CASE-name"]
expected: FAIL
[XHTML img usemap=""]
expected: FAIL
[HTML (quirks) IMG usemap=""]
expected: FAIL
[HTML (quirks) IMG usemap="#percent-escape-name-%41"]
expected: FAIL
[HTML (quirks) IMG usemap="#percent-escape-id-%41"]
expected: FAIL
[XHTML img usemap="no-hash-name"]
expected: FAIL

View file

@ -17,3 +17,8 @@
[It rethrows exceptions]
expected: FAIL
[queue-microtask-exceptions.any.serviceworker.html]
[queue-microtask-exceptions]
expected: FAIL

View file

@ -41,3 +41,8 @@
[It interleaves with promises as expected]
expected: FAIL
[queue-microtask.any.serviceworker.html]
[queue-microtask]
expected: FAIL

View file

@ -26,3 +26,8 @@
[idlharness]
expected: FAIL
[idlharness.any.serviceworker.html]
[idlharness]
expected: FAIL

View file

@ -1,17 +1,11 @@
[urlencoded-parser.any.html]
[request.formData() with input: &&&a=b&&&&c=d&]
expected: FAIL
[request.formData() with input: a&b&c]
expected: FAIL
[response.formData() with input: a=b&c=d]
expected: FAIL
[response.formData() with input: a&b&c]
expected: FAIL
[request.formData() with input: a=b&c=d]
[response.formData() with input: &&&a=b&&&&c=d&]
expected: FAIL
@ -19,12 +13,6 @@
[response.formData() with input: a&b&c]
expected: FAIL
[request.formData() with input: &&&a=b&&&&c=d&]
expected: FAIL
[request.formData() with input: _charset_=windows-1252&test=%C2x]
expected: FAIL
[request.formData() with input: a&b&c]
expected: FAIL
@ -34,6 +22,12 @@
[response.formData() with input: &&&a=b&&&&c=d&]
expected: FAIL
[request.formData() with input: a=b&c=d&]
[response.formData() with input: a=b&c=d&]
expected: FAIL
[response.formData() with input: _charset_=windows-1252&test=%C2x]
expected: FAIL
[response.formData() with input: a=b&c=d]
expected: FAIL

View file

@ -23,3 +23,8 @@
[HTTP basic authentication should work with WebSockets]
expected: FAIL
[basic-auth.any.serviceworker.html]
[basic-auth]
expected: FAIL

View file

@ -1,5 +1,5 @@
[xmlhttprequest-sync-default-feature-policy.sub.html]
expected: ERROR
expected: TIMEOUT
[Default "sync-xhr" feature policy ["*"\] allows same-origin iframes.]
expected: TIMEOUT

View file

@ -0,0 +1,2 @@
[transition_calc_implicit.html]
expected: TIMEOUT

View file

@ -1,5 +0,0 @@
[shader-with-non-reserved-words.html]
expected: TIMEOUT
[Overall test]
expected: NOTRUN

View file

@ -14,14 +14,14 @@ async function getMessageFromServiceWorker() {
});
}
// Registers the instrumentation Service Worker located at "resources/sw.js"
// Registers the |name| instrumentation Service Worker located at "service_workers/"
// with a scope unique to the test page that's running, and waits for it to be
// activated. The Service Worker will be unregistered automatically.
//
// Depends on /service-workers/service-worker/resources/test-helpers.sub.js
async function registerAndActivateServiceWorker(test) {
const script = 'resources/sw.js';
const scope = 'resources/scope' + location.pathname;
async function registerAndActivateServiceWorker(test, name) {
const script = `service_workers/${name}`;
const scope = 'service_workers/scope' + location.pathname;
let serviceWorkerRegistration =
await service_worker_unregister_and_register(test, script, scope);
@ -35,10 +35,13 @@ async function registerAndActivateServiceWorker(test) {
// Creates a Promise test for |func| given the |description|. The |func| will be
// executed with the `backgroundFetch` object of an activated Service Worker
// Registration.
function backgroundFetchTest(func, description) {
// |workerName| is the name of the service worker file in the service_workers
// directory to register.
function backgroundFetchTest(func, description, workerName = 'sw.js') {
promise_test(async t => {
const serviceWorkerRegistration = await registerAndActivateServiceWorker(t);
serviceWorkerRegistration.active.postMessage(null /* unused */);
const serviceWorkerRegistration =
await registerAndActivateServiceWorker(t, workerName);
serviceWorkerRegistration.active.postMessage(null);
assert_equals(await getMessageFromServiceWorker(), 'ready');

View file

@ -0,0 +1,12 @@
// The source to post setup and completion results to.
let source = null;
function sendMessageToDocument(msg) {
source.postMessage(msg);
}
// Notify the document that the SW is registered and ready.
self.addEventListener('message', event => {
source = event.source;
sendMessageToDocument('ready');
});

View file

@ -0,0 +1,22 @@
importScripts('sw-helpers.js');
async function updateUI(event) {
let updateParams = [];
switch (event.id) {
case 'update-once':
updateParams = [{title: 'Title1'}];
break;
case 'update-twice':
updateParams = [{title: 'Title1'}, {title: 'Title2'}];
break;
}
return Promise.all(updateParams.map(param => event.updateUI(param)))
.then(() => 'update success')
.catch(e => e.message);
}
self.addEventListener('backgroundfetched', event => {
event.waitUntil(updateUI(event)
.then(update => sendMessageToDocument({ type: event.type, update })))
});

View file

@ -1,4 +1,4 @@
let source = null;
importScripts('sw-helpers.js');
async function getFetchResult(settledFetch) {
if (!settledFetch.response)
@ -11,14 +11,9 @@ async function getFetchResult(settledFetch) {
};
}
self.addEventListener('message', event => {
source = event.source;
source.postMessage('ready');
});
self.addEventListener('backgroundfetched', event => {
event.waitUntil(
event.fetches.values()
.then(fetches => Promise.all(fetches.map(fetch => getFetchResult(fetch))))
.then(results => source.postMessage({ type: event.type, results })));
.then(results => sendMessageToDocument({ type: event.type, results })));
});

View file

@ -0,0 +1,32 @@
// META: script=/service-workers/service-worker/resources/test-helpers.sub.js
// META: script=resources/utils.js
'use strict';
// Covers functionality provided by BackgroundFetchUpdateEvent.updateUI().
//
// https://wicg.github.io/background-fetch/#backgroundfetchupdateuievent
const swName = 'sw-update-ui.js';
backgroundFetchTest(async (test, backgroundFetch) => {
const registrationId = 'update-once';
const registration =
await backgroundFetch.fetch(registrationId, 'resources/feature-name.txt');
assert_equals(registration.id, registrationId);
const message = await getMessageFromServiceWorker();
assert_equals(message.update, 'update success');
}, 'Background Fetch updateUI resolves', swName);
backgroundFetchTest(async (test, backgroundFetch) => {
const registrationId = 'update-twice';
const registration =
await backgroundFetch.fetch(registrationId, 'resources/feature-name.txt');
assert_equals(registration.id, registrationId);
const message = await getMessageFromServiceWorker();
assert_equals(message.update, 'updateUI may only be called once.');
}, 'Background Fetch updateUI called twice fails', swName);

View file

@ -0,0 +1,24 @@
// META: script=/resources/WebIDLParser.js
// META: script=/resources/idlharness.js
'use strict';
// See https://wicg.github.io/budget-api/
idl_test(
['budget-api'],
['html'],
async idl_array => {
idl_array.add_objects({ BudgetService: ['navigator.budget'] });
if (self.Window) {
idl_array.add_objects({ Navigator: ['navigator'] });
} else {
idl_array.add_objects({ WorkerNavigator: ['navigator'] });
}
const budgetStates = await navigator.budget.getBudget();
if (budgetStates.length) {
self.budgetState = budgetStates[0];
idl_array.add_objects({ BudgetState: ['budgetState'] });
}
}
);

View file

@ -1,19 +0,0 @@
// META: script=/resources/WebIDLParser.js
// META: script=/resources/idlharness.js
'use strict';
// See https://wicg.github.io/budget-api/
promise_test(async () => {
const html = await fetch('/interfaces/html.idl').then(r => r.text());
const workers = await fetch('/interfaces/dedicated-workers.idl').then(r => r.text());
const idl = await fetch('/interfaces/budget-api.idl').then(r => r.text());
const idlArray = new IdlArray();
idlArray.add_idls(idl);
idlArray.add_dependency_idls(html);
idlArray.add_dependency_idls(workers);
idlArray.test();
done();
}, 'budget-api interfaces.');

View file

@ -0,0 +1,70 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>reference for abspos-inline-007</title>
<style type="text/css">
.block-container {
font: 20px Ahem;
height: 20px;
position: relative;
top: -1px;
}
.inline-container {
position: relative;
border: 1px solid black;
display: inline-block;
}
.parent-block {
display: inline-block;
width: 30px;
height: 10px;
}
.abspos {
position: absolute;
width: 10px;
height: 10px;
background-color: green;
display: inline-block;
vertical-align: baseline;
}
.br {
right: 0;
bottom: 0;
}
.tl {
top: 0;
left: 0;
}
.filler {
display: inline-block;
width: 30px;
height: 10px;
}
</style>
</head>
<body>
<div class="block-container">
x
<div class="inline-container">
tl
<div class="abspos tl"></div>
<div class="parent-block"></div>
<div class="filler"></div>&nbsp;
</div>x
<div class="inline-container">
br
<div class="abspos br"></div>
<div class="parent-block"></div>
<div class="filler"></div>&nbsp;
</div>x
<div class="inline-container">
static
<div class="abspos" style="position:static"></div><div class="parent-block"></div>
<div class="filler" style="width: 20px;"></div>
</div>
</div>
<p>Tests abspos positioning of an Element that 1) has an inline containing
block, and 2) is not a child of the inline containing block, but a descendant.</p>
</body>
</html>

View file

@ -0,0 +1,74 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>CSS Test: Absolutely positioned descendants in inlines</title>
<link rel="author" title="Aleks Totic" href="mailto:atotic@chromium.org"/>
<link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#comp-abspos" />
<link rel="match" href="abspos-inline-007-ref.xht" />
<style type="text/css">
.block-container {
position: relative;
font: 20px Ahem;
}
.inline-container {
position: relative;
border: 1px solid black;
}
.parent-block {
display: inline-block;
width: 30px;
height: 10px;
}
.abspos {
position: absolute;
width: 10px;
height: 10px;
background-color: green;
}
.br {
right: 0;
bottom: 0;
}
.tl {
top: 0;
left: 0;
}
.filler {
display: inline-block;
width: 30px;
height: 10px;
}
</style>
</head>
<body>
<div class="block-container">
x
<span class="inline-container">
tl
<div class="parent-block">
<div class="abspos tl"></div>
</div>
<div class="filler"></div>
</span>
x
<span class="inline-container">
br
<div class="parent-block">
<div class="abspos br"></div>
</div>
<div class="filler"></div>
</span>
x
<span class="inline-container">
static
<div class="parent-block">
<div class="abspos"></div>
</div>
<div class="filler"></div>
</span>
</div>
<p>Tests abspos positioning of an Element that 1) has an inline containing
block, and 2) is not a child of the inline containing block, but a descendant.</p>
</body>
</html>

View file

@ -10,11 +10,11 @@
== attachment-local-clipping-color-3.html attachment-local-clipping-color-3-ref.html
== attachment-local-clipping-color-4.html attachment-local-clipping-color-4-ref.html
== attachment-local-clipping-color-5.html attachment-local-clipping-color-4-ref.html # Same ref as the previous test.
fuzzy(50,500) == attachment-local-clipping-color-6.html attachment-local-clipping-color-6-ref.html
fuzzy(0-50,0-500) == attachment-local-clipping-color-6.html attachment-local-clipping-color-6-ref.html
== attachment-local-clipping-image-1.html attachment-local-clipping-image-1-ref.html
== attachment-local-clipping-image-2.html attachment-local-clipping-image-1-ref.html # Same ref as the previous test.
== attachment-local-clipping-image-3.html attachment-local-clipping-image-3-ref.html
== attachment-local-clipping-image-4.html attachment-local-clipping-image-4-ref.html
== attachment-local-clipping-image-5.html attachment-local-clipping-image-4-ref.html # Same ref as the previous test.
fuzzy(80,500) == attachment-local-clipping-image-6.html attachment-local-clipping-image-6-ref.html
fuzzy(0-80,0-500) == attachment-local-clipping-image-6.html attachment-local-clipping-image-6-ref.html

View file

@ -0,0 +1,12 @@
<!DOCTYPE html>
<title>vertical-rl, relatively positioned inline in block that overflows smaller parent</title>
<link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org">
<link rel="help" href="https://www.w3.org/TR/css-writing-modes-3/#vertical-layout" title="7.1. Principles of Layout in Vertical Writing Modes">
<link rel="match" href="../reference/ref-filled-green-100px-square.xht" />
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<div style="position:relative; writing-mode:vertical-rl; width:100px; height:100px; background:green;">
<div style="position:absolute; right:0; top:0; width:0.5em; height:1em; background:red;"></div>
<div style="width:200px;">
<span style="position:relative; color:green; background:green;">XXX</span>
</div>
</div>

View file

@ -0,0 +1,13 @@
// META: global=window,dedicatedworker,sharedworker,serviceworker
test(t => {
// Test for object that's only exposed in serviceworker
if (self.clients) {
assert_true(self.isSecureContext);
assert_equals(location.protocol, "https:");
} else {
assert_false(self.isSecureContext);
assert_equals(location.protocol, "http:");
}
});
done();

View file

@ -1,3 +1,4 @@
// META: global=window,dedicatedworker,sharedworker,serviceworker
test(() => {
assert_true(self.isSecureContext);
}, "Use of .https file name flag implies secure context");

View file

@ -0,0 +1,9 @@
<!DOCTYPE html>
<div style="background: green">
<div>Expected: a black square on green background.</div>
<svg style="height: 200px">
<foreignObject>
<div style="width: 200px; height: 200px; background: black"></div>
</foreignObject>
</svg>
</div>

View file

@ -0,0 +1,12 @@
<!DOCTYPE html>
<title>'mix-blend-mode' for &lt;svg:foreignObject&gt;</title>
<link rel="help" href="https://www.w3.org/TR/SVG2/render.html#PaintersModel">
<link rel="match" href="blending-svg-foreign-object-ref.html">
<div style="background: green">
<div>Expected: a black square on green background.</div>
<svg style="width: 200px; height: 200px">
<foreignObject style="mix-blend-mode: multiply">
<div style="width: 200px; height: 200px; background: red"></div>
</foreignObject>
</svg>
</div>

View file

@ -0,0 +1,6 @@
<!DOCTYPE html>
<div style="background: green">
<div>Expected: a black square on green background.</div>
<svg style="width: 200px; height: 200px; background: black">
</svg>
</div>

View file

@ -0,0 +1,9 @@
<!DOCTYPE html>
<title>'mix-blend-mode' for &lt;svg&gt;</title>
<link rel="help" href="https://www.w3.org/TR/SVG2/render.html#PaintersModel">
<link rel="match" href="blending-svg-root-ref.html">
<div style="background: green">
<div>Expected: a black square on green background.</div>
<svg style="mix-blend-mode: multiply; width: 200px; height: 200px; background: red">
</svg>
</div>

View file

@ -1,4 +1,4 @@
from six.moves.urllib.parse import urljoin
from six.moves.urllib.parse import urljoin, urlparse
from abc import ABCMeta, abstractproperty
@ -46,6 +46,10 @@ class ManifestItem(object):
"""The test's id (usually its url)"""
pass
@property
def meta_flags(self):
return set(self.source_file.meta_flags)
@property
def path(self):
"""The test path relative to the test_root"""
@ -53,7 +57,8 @@ class ManifestItem(object):
@property
def https(self):
return "https" in self.source_file.meta_flags
flags = self.meta_flags
return ("https" in flags or "serviceworker" in flags)
def key(self):
"""A unique identifier for the test"""
@ -95,6 +100,10 @@ class URLManifestItem(ManifestItem):
def id(self):
return self.url
@property
def meta_flags(self):
return set(urlparse(self.url).path.rsplit("/", 1)[1].split(".")[1:-1])
@property
def url(self):
return urljoin(self.url_base, self._url)

View file

@ -113,8 +113,6 @@ def global_suffixes(value):
for global_type in global_types:
variant = _any_variants[global_type]
suffix = variant.get("suffix", ".any.%s.html" % global_type.decode("utf-8"))
if variant.get("force_https", False):
suffix = ".https" + suffix
rv.add((suffix, global_type == b"jsshell"))
return rv
@ -623,7 +621,8 @@ class SourceFile(object):
break
tests = [
TestharnessTest(self, global_variant_url(self.url, suffix) + variant, timeout=self.timeout, jsshell=jsshell)
TestharnessTest(self, global_variant_url(self.url, suffix) + variant, timeout=self.timeout,
jsshell=jsshell)
for (suffix, jsshell) in sorted(global_suffixes(globals))
for variant in self.test_variants
]

View file

@ -0,0 +1,23 @@
from ..item import SupportFile, URLManifestItem
from ..sourcefile import SourceFile
def test_base_meta_flags():
s = SourceFile("/", "a.b.c.d", "/", contents="")
m = SupportFile(s)
assert m.meta_flags == {"b", "c"}
def test_url_meta_flags():
s = SourceFile("/", "a.b.c", "/", contents="")
m = URLManifestItem(s, "/foo.bar/a.b.d.e")
assert m.meta_flags == {"b", "d"}
def test_url_empty_meta_flags():
s = SourceFile("/", "a.b.c", "/", contents="")
m = URLManifestItem(s, "/foo.bar/abcde")
assert m.meta_flags == set()

View file

@ -366,7 +366,7 @@ test()""" % input
urls = {
"dedicatedworker": "/html/test.any.worker.html",
"serviceworker": "/html/test.https.any.serviceworker.html",
"serviceworker": "/html/test.any.serviceworker.html",
"sharedworker": "/html/test.any.sharedworker.html",
"window": "/html/test.any.html",
}
@ -431,7 +431,7 @@ test()"""
urls = {
"dedicatedworker": "/html/test.any.worker.html",
"serviceworker": "/html/test.https.any.serviceworker.html",
"serviceworker": "/html/test.any.serviceworker.html",
"sharedworker": "/html/test.any.sharedworker.html",
"window": "/html/test.any.html",
}

View file

@ -249,7 +249,7 @@ fetch_tests_from_worker(new SharedWorker("%(path)s%(query)s"));
class ServiceWorkersHandler(HtmlWrapperHandler):
global_type = b"serviceworker"
path_replace = [(".https.any.serviceworker.html", ".any.js", ".any.worker.js")]
path_replace = [(".any.serviceworker.html", ".any.js", ".any.worker.js")]
wrapper = """<!doctype html>
<meta charset=utf-8>
%(meta)s
@ -342,7 +342,7 @@ class RoutesBuilder(object):
("GET", "*.window.html", WindowHandler),
("GET", "*.any.html", AnyHtmlHandler),
("GET", "*.any.sharedworker.html", SharedWorkersHandler),
("GET", "*.https.any.serviceworker.html", ServiceWorkersHandler),
("GET", "*.any.serviceworker.html", ServiceWorkersHandler),
("GET", "*.any.worker.js", AnyWorkerHandler),
("GET", "*.asis", handlers.AsIsHandler),
("*", "*.py", handlers.PythonScriptHandler),