diff options
author | WPT Sync Bot <josh+wptsync@joshmatthews.net> | 2020-01-12 08:24:07 +0000 |
---|---|---|
committer | WPT Sync Bot <josh+wptsync@joshmatthews.net> | 2020-01-12 10:57:15 +0000 |
commit | 50a69964616f79489ed44201d48a2ac36c6f7ebc (patch) | |
tree | 2515d5f172a629d098b60a1ab19a1968f322c9f8 | |
parent | dbba9ea453c5cb235f55b2ccaa87782b6c22a5cb (diff) | |
download | servo-50a69964616f79489ed44201d48a2ac36c6f7ebc.tar.gz servo-50a69964616f79489ed44201d48a2ac36c6f7ebc.zip |
Update web-platform-tests to revision b1d8b4ac4dc04fd1da16cb309ed675fa6a07bfd6
36 files changed, 787 insertions, 66 deletions
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index c990424b391..6b7c74fb63c 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -137793,6 +137793,18 @@ {} ] ], + "css/css-overflow/overflow-recalc-001.html": [ + [ + "css/css-overflow/overflow-recalc-001.html", + [ + [ + "/css/css-overflow/reference/overflow-recalc-001-ref.html", + "==" + ] + ], + {} + ] + ], "css/css-overflow/webkit-line-clamp-001.html": [ [ "css/css-overflow/webkit-line-clamp-001.html", @@ -256922,6 +256934,9 @@ "css/css-overflow/reference/overflow-body-propagation-ref.html": [ [] ], + "css/css-overflow/reference/overflow-recalc-001-ref.html": [ + [] + ], "css/css-overflow/reference/webkit-line-clamp-001-ref.html": [ [] ], @@ -269876,6 +269891,9 @@ "element-timing/resources/circle.svg": [ [] ], + "element-timing/resources/circle.svg.headers": [ + [] + ], "element-timing/resources/element-timing-helpers.js": [ [] ], @@ -273362,6 +273380,9 @@ "html/browsers/windows/resources/window-opener.html": [ [] ], + "html/cross-origin-embedder-policy/META.yml": [ + [] + ], "html/cross-origin-embedder-policy/README.md": [ [] ], @@ -273437,6 +273458,9 @@ "html/cross-origin-embedder-policy/srcdoc.https.html.headers": [ [] ], + "html/cross-origin-opener-policy/META.yml": [ + [] + ], "html/cross-origin-opener-policy/README.md": [ [] ], @@ -341479,6 +341503,12 @@ {} ] ], + "dom/collections/HTMLCollection-live-mutations.window.js": [ + [ + "dom/collections/HTMLCollection-live-mutations.window.html", + {} + ] + ], "dom/collections/HTMLCollection-own-props.html": [ [ "dom/collections/HTMLCollection-own-props.html", @@ -342986,6 +343016,12 @@ {} ] ], + "dom/nodes/NodeList-live-mutations.window.js": [ + [ + "dom/nodes/NodeList-live-mutations.window.html", + {} + ] + ], "dom/nodes/ParentNode-append.html": [ [ "dom/nodes/ParentNode-append.html", @@ -362034,6 +362070,12 @@ } ] ], + "html/cross-origin-opener-policy/popup-meta-http-equiv.https.html": [ + [ + "html/cross-origin-opener-policy/popup-meta-http-equiv.https.html", + {} + ] + ], "html/cross-origin-opener-policy/popup-redirect-cache.https.html": [ [ "html/cross-origin-opener-policy/popup-redirect-cache.https.html", @@ -376492,6 +376534,12 @@ {} ] ], + "largest-contentful-paint/multi-redirects-TAO.html": [ + [ + "largest-contentful-paint/multi-redirects-TAO.html", + {} + ] + ], "largest-contentful-paint/observe-after-untrusted-scroll.html": [ [ "largest-contentful-paint/observe-after-untrusted-scroll.html", @@ -410028,6 +410076,12 @@ {} ] ], + "resource-timing/object-not-found-adds-entry.html": [ + [ + "resource-timing/object-not-found-adds-entry.html", + {} + ] + ], "resource-timing/redirects.sub.html": [ [ "resource-timing/redirects.sub.html", @@ -591118,6 +591172,10 @@ "963192f6f431cd073f5d8fddc2294259ad62962b", "testharness" ], + "css/css-overflow/overflow-recalc-001.html": [ + "9c5919a5044bdbac0e782fbb662f1ff3b81857fc", + "reftest" + ], "css/css-overflow/overflow-shorthand-001.html": [ "f425636c3bb4297e4e6564d1c2629dc10dde5607", "testharness" @@ -591202,6 +591260,10 @@ "340bda9de92352fe1ef6633610da31e867013299", "support" ], + "css/css-overflow/reference/overflow-recalc-001-ref.html": [ + "b18dee8caf1864dc30fe656750fe81a8863f1e90", + "support" + ], "css/css-overflow/reference/webkit-line-clamp-001-ref.html": [ "ef28e01dac0223c9a2768d3fd1415fb9ef2f1c6b", "support" @@ -641815,7 +641877,7 @@ "support" ], "document-policy/required-policy/document-policy.html": [ - "d6bf3e9a6d490ad5462267ae913002b696b96a80", + "1935be3dd0a961add3d80aa35ded92734d9f8869", "testharness" ], "document-policy/required-policy/document-policy.html.headers": [ @@ -641835,7 +641897,7 @@ "testharness" ], "document-policy/required-policy/required-document-policy.html.headers": [ - "066c0f8339ea21c1102c78d82d07d060252a9980", + "1b671dafe06d44e5b267bbfc54691f5f911297eb", "support" ], "dom/META.yml": [ @@ -641858,6 +641920,10 @@ "4fc34db7f5f245933013a76335f71e9f4cffe115", "testharness" ], + "dom/collections/HTMLCollection-live-mutations.window.js": [ + "7dbfc6ccf67d37d7272b3490665e218d0549e79e", + "testharness" + ], "dom/collections/HTMLCollection-own-props.html": [ "1f21c0837ec92bf48b6f497da22e60a435913a06", "testharness" @@ -643054,6 +643120,10 @@ "fcbee175cb3e07235fcd759e866feb488e31e91f", "testharness" ], + "dom/nodes/NodeList-live-mutations.window.js": [ + "a11fed1e38efe88e634310d64db1bafe4d34fa1a", + "testharness" + ], "dom/nodes/ParentNode-append.html": [ "dcc398f3f586d1d627d0ffa0c689f3b1f67ece16", "testharness" @@ -644415,7 +644485,7 @@ "testharness" ], "element-timing/multi-redirect-image.html": [ - "c2f570f20df7989617ea37beaee266562cbf7756", + "2a12c5f03c42c6f45c3c975d3deba0c01b8db084", "testharness" ], "element-timing/multiple-background-images.html": [ @@ -644478,6 +644548,10 @@ "209b9f4e5b5d55b45b5ec80dac25873d06dfb593", "support" ], + "element-timing/resources/circle.svg.headers": [ + "7296361df3d1c5755acdb825661dbd9a1807b64f", + "support" + ], "element-timing/resources/element-timing-helpers.js": [ "b7f2eef5978ac5d559865dd34848f15ef0abba10", "support" @@ -654286,6 +654360,10 @@ "7407248ffe9fe3da977275c2192e31e3db9fc8a9", "testharness" ], + "html/cross-origin-embedder-policy/META.yml": [ + "103217d38892308541fbc0dbc8d39acfb47d4e80", + "support" + ], "html/cross-origin-embedder-policy/README.md": [ "16179eb0133a9e14667e127da05f3dc796975875", "support" @@ -654450,6 +654528,10 @@ "6604450991a122e3e241e40b1b9e0516c525389d", "support" ], + "html/cross-origin-opener-policy/META.yml": [ + "6c6d26211861f5af94cebae7a687b70d10ffe1b4", + "support" + ], "html/cross-origin-opener-policy/README.md": [ "3f080c82d25de71d899d3b3011afcc3c553fb2a2", "support" @@ -654491,7 +654573,7 @@ "support" ], "html/cross-origin-opener-policy/coop-sandbox.https.html": [ - "fc16c186cadf44bd1639d0eacf610e7781bc02bd", + "5fd11643d5720f54e0b5112e96a9cfea5cafdf9d", "testharness" ], "html/cross-origin-opener-policy/coop-sandbox.https.html.headers": [ @@ -654582,6 +654664,10 @@ "46ad58d83bf6e98913ca4c564b7acb8f19fa0093", "support" ], + "html/cross-origin-opener-policy/popup-meta-http-equiv.https.html": [ + "e36b5190aafc0b42b043802422dd411a831a20a5", + "testharness" + ], "html/cross-origin-opener-policy/popup-meta-http-equiv.https.html.headers": [ "46ad58d83bf6e98913ca4c564b7acb8f19fa0093", "support" @@ -661447,7 +661533,7 @@ "testharness" ], "html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-aspect-ratio.html": [ - "3000032978082356086930b2b5bee96b73947dc8", + "eceef92a6418f3d74ffbd13a08d8e648dff42a3f", "testharness" ], "html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-dim-ref.html": [ @@ -673463,7 +673549,7 @@ "support" ], "interfaces/html.idl": [ - "266574de63e8f2aac4a782ba836a277bb5a2997d", + "2c0c489315c96b6980181236b8602df60929c3f9", "support" ], "interfaces/image-capture.idl": [ @@ -673723,7 +673809,7 @@ "support" ], "interfaces/web-nfc.idl": [ - "12ea9d58bc055ee57efb65ae1495ebf4301427a5", + "f2e31b7352867d39edc9c43a4f1fffb3a02cb985", "support" ], "interfaces/web-share.idl": [ @@ -674358,6 +674444,10 @@ "0e40127b57683fa76392827003b15c2bb9c8d558", "testharness" ], + "largest-contentful-paint/multi-redirects-TAO.html": [ + "4e462c729aace01d40b9255465af7fc79f8fdb3c", + "testharness" + ], "largest-contentful-paint/observe-after-untrusted-scroll.html": [ "1b2cd1d25b5bb9da740e5127526fed41dcebfae7", "testharness" @@ -702042,6 +702132,10 @@ "63f9e06e19083a6d956af0d5916455cd7e91b89c", "testharness" ], + "resource-timing/object-not-found-adds-entry.html": [ + "22ee95e2d51ffcb29468d9e51459c5035f508bb5", + "testharness" + ], "resource-timing/redirects.sub.html": [ "d3d4f75c817dea1f61e27660949ec327d3a7a61a", "testharness" @@ -713883,7 +713977,7 @@ "support" ], "tools/lint/lint.py": [ - "a050cfa8a8e4e2699db44ce9e52f8f230a34a869", + "4090f2628a6fea12a0ed4957c55b925b14882f33", "support" ], "tools/lint/rules.py": [ diff --git a/tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini b/tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini index 171592fc08f..6ef8bb1049f 100644 --- a/tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini +++ b/tests/wpt/metadata/css/cssom-view/elementsFromPoint-iframes.html.ini @@ -2,3 +2,6 @@ [elementsFromPoint on the root document for points in iframe elements] expected: FAIL + [elementsFromPoint on inner documents] + expected: FAIL + diff --git a/tests/wpt/metadata/fetch/content-type/response.window.js.ini b/tests/wpt/metadata/fetch/content-type/response.window.js.ini index 07769384006..117c8f9a8c3 100644 --- a/tests/wpt/metadata/fetch/content-type/response.window.js.ini +++ b/tests/wpt/metadata/fetch/content-type/response.window.js.ini @@ -312,24 +312,21 @@ [fetch(): separate response Content-Type: text/plain ] expected: NOTRUN - [<iframe>: separate response Content-Type: text/html;" text/plain] - expected: FAIL - [<iframe>: combined response Content-Type: text/html;" \\" text/plain] expected: FAIL - [<iframe>: combined response Content-Type: text/html */*;charset=gbk] + [<iframe>: separate response Content-Type: text/plain */*;charset=gbk] expected: FAIL - [<iframe>: separate response Content-Type: text/html */*;charset=gbk] + [<iframe>: combined response Content-Type: text/html;" text/plain] expected: FAIL - [<iframe>: separate response Content-Type: text/plain */*] + [<iframe>: combined response Content-Type: text/html */*] expected: FAIL - [<iframe>: separate response Content-Type: text/html;" \\" text/plain] + [<iframe>: separate response Content-Type: text/html;x=" text/plain] expected: FAIL - [<iframe>: separate response Content-Type: text/plain */*;charset=gbk] + [<iframe>: combined response Content-Type: text/html;x=" text/plain] expected: FAIL diff --git a/tests/wpt/metadata/fetch/content-type/script.window.js.ini b/tests/wpt/metadata/fetch/content-type/script.window.js.ini index b2ffc8abf78..d2df9b78483 100644 --- a/tests/wpt/metadata/fetch/content-type/script.window.js.ini +++ b/tests/wpt/metadata/fetch/content-type/script.window.js.ini @@ -56,6 +56,3 @@ [separate text/javascript x/x] expected: FAIL - [separate text/javascript error] - expected: FAIL - diff --git a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini index 87c807a49ff..b7052af5b5c 100644 --- a/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini +++ b/tests/wpt/metadata/fetch/nosniff/parsing-nosniff.window.js.ini @@ -11,3 +11,6 @@ [X-Content-Type-Options%3A%20nosniff%0C] expected: FAIL + [X-Content-Type-Options%3A%0D%0AX-Content-Type-Options%3A%20nosniff] + expected: FAIL + diff --git a/tests/wpt/metadata/fetch/security/embedded-credentials.tentative.sub.html.ini b/tests/wpt/metadata/fetch/security/embedded-credentials.tentative.sub.html.ini index 62068b05a2f..54eb82367bf 100644 --- a/tests/wpt/metadata/fetch/security/embedded-credentials.tentative.sub.html.ini +++ b/tests/wpt/metadata/fetch/security/embedded-credentials.tentative.sub.html.ini @@ -1,6 +1,6 @@ [embedded-credentials.tentative.sub.html] type: testharness - expected: TIMEOUT + expected: CRASH [Embedded credentials are treated as network errors.] expected: FAIL diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini new file mode 100644 index 00000000000..87b07c3e670 --- /dev/null +++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini @@ -0,0 +1,4 @@ +[traverse_the_history_1.html] + [Multiple history traversals from the same task] + expected: FAIL + diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini deleted file mode 100644 index 75d75b4cda2..00000000000 --- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_2.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[traverse_the_history_2.html] - [Multiple history traversals, last would be aborted] - expected: FAIL - diff --git a/tests/wpt/metadata/html/dom/idlharness.https.html.ini b/tests/wpt/metadata/html/dom/idlharness.https.html.ini index d966e5ef1cd..d4b393dda49 100644 --- a/tests/wpt/metadata/html/dom/idlharness.https.html.ini +++ b/tests/wpt/metadata/html/dom/idlharness.https.html.ini @@ -1397,6 +1397,18 @@ [SubmitEvent interface: existence and properties of interface prototype object's "constructor" property] expected: FAIL + [SVGElement interface: attribute onwebkitanimationend] + expected: FAIL + + [SVGElement interface: attribute onwebkitanimationstart] + expected: FAIL + + [SVGElement interface: attribute onwebkittransitionend] + expected: FAIL + + [SVGElement interface: attribute onwebkitanimationiteration] + expected: FAIL + [idlharness.https.html?include=(Document|Window)] [Document interface: documentWithHandlers must inherit property "queryCommandEnabled(DOMString)" with the proper type] @@ -1777,6 +1789,78 @@ [SVGAElement includes HTMLHyperlinkElementUtils: member names are unique] expected: FAIL + [Window interface: attribute onwebkitanimationstart] + expected: FAIL + + [Document interface: new Document() must inherit property "onwebkittransitionend" with the proper type] + expected: FAIL + + [Document interface: new Document() must inherit property "onwebkitanimationstart" with the proper type] + expected: FAIL + + [Document interface: iframe.contentDocument must inherit property "onwebkitanimationend" with the proper type] + expected: FAIL + + [Window interface: window must inherit property "onwebkitanimationiteration" with the proper type] + expected: FAIL + + [Document interface: new Document() must inherit property "onwebkitanimationiteration" with the proper type] + expected: FAIL + + [Document interface: iframe.contentDocument must inherit property "onwebkitanimationiteration" with the proper type] + expected: FAIL + + [Document interface: attribute onwebkitanimationiteration] + expected: FAIL + + [Document interface: iframe.contentDocument must inherit property "onwebkitanimationstart" with the proper type] + expected: FAIL + + [Document interface: attribute onwebkittransitionend] + expected: FAIL + + [Window interface: attribute onwebkitanimationiteration] + expected: FAIL + + [Document interface: documentWithHandlers must inherit property "onwebkitanimationiteration" with the proper type] + expected: FAIL + + [Window interface: window must inherit property "onwebkittransitionend" with the proper type] + expected: FAIL + + [Window interface: attribute onwebkittransitionend] + expected: FAIL + + [Document interface: attribute onwebkitanimationend] + expected: FAIL + + [Document interface: documentWithHandlers must inherit property "onwebkitanimationend" with the proper type] + expected: FAIL + + [Document interface: documentWithHandlers must inherit property "onwebkitanimationstart" with the proper type] + expected: FAIL + + [Document interface: attribute onwebkitanimationstart] + expected: FAIL + + [Window interface: window must inherit property "onwebkitanimationend" with the proper type] + expected: FAIL + + [Document interface: new Document() must inherit property "onwebkitanimationend" with the proper type] + expected: FAIL + + [Document interface: iframe.contentDocument must inherit property "onwebkittransitionend" with the proper type] + expected: FAIL + + [Window interface: attribute onwebkitanimationend] + expected: FAIL + + [Document interface: documentWithHandlers must inherit property "onwebkittransitionend" with the proper type] + expected: FAIL + + [Window interface: window must inherit property "onwebkitanimationstart" with the proper type] + expected: FAIL + [idlharness.https.html?include=HTML.*] [HTMLInputElement interface: calling setCustomValidity(DOMString) on createInput("hidden") with too few arguments must throw TypeError] @@ -4455,3 +4539,27 @@ [HTMLOptionElement interface: named constructor without 'new'] expected: FAIL + [HTMLElement interface: attribute onwebkitanimationiteration] + expected: FAIL + + [HTMLElement interface: attribute onwebkitanimationend] + expected: FAIL + + [HTMLElement interface: attribute onwebkitanimationstart] + expected: FAIL + + [HTMLElement interface: document.createElement("noscript") must inherit property "onwebkitanimationend" with the proper type] + expected: FAIL + + [HTMLElement interface: document.createElement("noscript") must inherit property "onwebkitanimationiteration" with the proper type] + expected: FAIL + + [HTMLElement interface: attribute onwebkittransitionend] + expected: FAIL + + [HTMLElement interface: document.createElement("noscript") must inherit property "onwebkitanimationstart" with the proper type] + expected: FAIL + + [HTMLElement interface: document.createElement("noscript") must inherit property "onwebkittransitionend" with the proper type] + expected: FAIL + diff --git a/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini b/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini index 8b743f36e1d..6b68e9094e4 100644 --- a/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini +++ b/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/supported-elements.html.ini @@ -1,20 +1,16 @@ [supported-elements.html] - expected: TIMEOUT [Contenteditable element should support autofocus] expected: FAIL [Element with tabindex should support autofocus] - expected: TIMEOUT + expected: FAIL [Host element with delegatesFocus including no focusable descendants should be skipped] - expected: NOTRUN + expected: FAIL [Area element should support autofocus] - expected: NOTRUN + expected: FAIL [Host element with delegatesFocus should support autofocus] - expected: NOTRUN - - [Non-HTMLElement should not support autofocus] - expected: NOTRUN + expected: FAIL diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini index dc856a3d5a3..2568040e6e5 100644 --- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini +++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html.ini @@ -1,5 +1,6 @@ [iframe_sandbox_popups_nonescaping-3.html] type: testharness + expected: CRASH [Check that popups from a sandboxed iframe do not escape the sandbox] expected: FAIL diff --git a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/iframe_005.html.ini b/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/iframe_005.html.ini deleted file mode 100644 index 6cf9d13975c..00000000000 --- a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/iframe_005.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[iframe_005.html] - [document.write external script into iframe write back into parent] - expected: FAIL - diff --git a/tests/wpt/metadata/html/webappapis/scripting/events/event-handler-all-global-events.html.ini b/tests/wpt/metadata/html/webappapis/scripting/events/event-handler-all-global-events.html.ini index a0e595a2bac..f90ce7d2b91 100644 --- a/tests/wpt/metadata/html/webappapis/scripting/events/event-handler-all-global-events.html.ini +++ b/tests/wpt/metadata/html/webappapis/scripting/events/event-handler-all-global-events.html.ini @@ -393,3 +393,39 @@ [onslotchange: the default value must be null] expected: FAIL + [onwebkitanimationiteration: the default value must be null] + expected: FAIL + + [onwebkitanimationstart: must be on the appropriate locations for GlobalEventHandlers] + expected: FAIL + + [onwebkitanimationend: must be on the appropriate locations for GlobalEventHandlers] + expected: FAIL + + [onwebkitanimationiteration: the content attribute must be compiled into a function as the corresponding property] + expected: FAIL + + [onwebkitanimationstart: the content attribute must be compiled into a function as the corresponding property] + expected: FAIL + + [onwebkitanimationstart: the default value must be null] + expected: FAIL + + [onwebkitanimationend: the content attribute must be compiled into a function as the corresponding property] + expected: FAIL + + [onwebkitanimationiteration: must be on the appropriate locations for GlobalEventHandlers] + expected: FAIL + + [onwebkittransitionend: must be on the appropriate locations for GlobalEventHandlers] + expected: FAIL + + [onwebkittransitionend: the content attribute must be compiled into a function as the corresponding property] + expected: FAIL + + [onwebkitanimationend: the default value must be null] + expected: FAIL + + [onwebkittransitionend: the default value must be null] + expected: FAIL + diff --git a/tests/wpt/metadata/html/webappapis/scripting/events/event-handler-attributes-body-window.html.ini b/tests/wpt/metadata/html/webappapis/scripting/events/event-handler-attributes-body-window.html.ini index d400bd7e6e3..62f99bff922 100644 --- a/tests/wpt/metadata/html/webappapis/scripting/events/event-handler-attributes-body-window.html.ini +++ b/tests/wpt/metadata/html/webappapis/scripting/events/event-handler-attributes-body-window.html.ini @@ -78,3 +78,39 @@ [not shadowed slotchange (document.body)] expected: FAIL + [not shadowed webkittransitionend (document.body)] + expected: FAIL + + [not shadowed webkitanimationstart (document.body)] + expected: FAIL + + [not shadowed webkittransitionend (document.createElement("body"))] + expected: FAIL + + [not shadowed webkitanimationend (document.createElement("body"))] + expected: FAIL + + [not shadowed webkitanimationend (document.body)] + expected: FAIL + + [not shadowed webkitanimationiteration (document.createElement("body"))] + expected: FAIL + + [not shadowed webkitanimationstart (document.createElement("body"))] + expected: FAIL + + [not shadowed webkitanimationend (window)] + expected: FAIL + + [not shadowed webkitanimationiteration (window)] + expected: FAIL + + [not shadowed webkittransitionend (window)] + expected: FAIL + + [not shadowed webkitanimationiteration (document.body)] + expected: FAIL + + [not shadowed webkitanimationstart (window)] + expected: FAIL + diff --git a/tests/wpt/metadata/html/webappapis/scripting/events/event-handler-attributes-frameset-window.html.ini b/tests/wpt/metadata/html/webappapis/scripting/events/event-handler-attributes-frameset-window.html.ini index 287079cc689..459422d322e 100644 --- a/tests/wpt/metadata/html/webappapis/scripting/events/event-handler-attributes-frameset-window.html.ini +++ b/tests/wpt/metadata/html/webappapis/scripting/events/event-handler-attributes-frameset-window.html.ini @@ -71,3 +71,39 @@ [not shadowed slotchange (document.body)] expected: FAIL + [not shadowed webkittransitionend (document.body)] + expected: FAIL + + [not shadowed webkitanimationend (document.createElement("frameset"))] + expected: FAIL + + [not shadowed webkitanimationstart (document.body)] + expected: FAIL + + [not shadowed webkitanimationstart (window)] + expected: FAIL + + [not shadowed webkitanimationend (document.body)] + expected: FAIL + + [not shadowed webkitanimationiteration (document.createElement("frameset"))] + expected: FAIL + + [not shadowed webkitanimationstart (document.createElement("frameset"))] + expected: FAIL + + [not shadowed webkittransitionend (document.createElement("frameset"))] + expected: FAIL + + [not shadowed webkitanimationend (window)] + expected: FAIL + + [not shadowed webkitanimationiteration (window)] + expected: FAIL + + [not shadowed webkittransitionend (window)] + expected: FAIL + + [not shadowed webkitanimationiteration (document.body)] + expected: FAIL + diff --git a/tests/wpt/metadata/html/webappapis/scripting/events/event-handler-attributes-windowless-body.html.ini b/tests/wpt/metadata/html/webappapis/scripting/events/event-handler-attributes-windowless-body.html.ini index 1f8fe7fa677..a6fc6b39fc1 100644 --- a/tests/wpt/metadata/html/webappapis/scripting/events/event-handler-attributes-windowless-body.html.ini +++ b/tests/wpt/metadata/html/webappapis/scripting/events/event-handler-attributes-windowless-body.html.ini @@ -32,3 +32,27 @@ [slotchange is unaffected on a windowless body] expected: FAIL + [webkitanimationstart is unaffected on a windowless body] + expected: FAIL + + [webkitanimationiteration is unaffected on a windowless frameset] + expected: FAIL + + [webkitanimationiteration is unaffected on a windowless body] + expected: FAIL + + [webkittransitionend is unaffected on a windowless frameset] + expected: FAIL + + [webkitanimationend is unaffected on a windowless frameset] + expected: FAIL + + [webkitanimationend is unaffected on a windowless body] + expected: FAIL + + [webkittransitionend is unaffected on a windowless body] + expected: FAIL + + [webkitanimationstart is unaffected on a windowless frameset] + expected: FAIL + diff --git a/tests/wpt/metadata/resource-timing/object-not-found-adds-entry.html.ini b/tests/wpt/metadata/resource-timing/object-not-found-adds-entry.html.ini new file mode 100644 index 00000000000..2138be3cfe8 --- /dev/null +++ b/tests/wpt/metadata/resource-timing/object-not-found-adds-entry.html.ini @@ -0,0 +1,10 @@ +[object-not-found-adds-entry.html] + [Test that an navigation object with a 200 response displays an entry] + expected: FAIL + + [Test that an navigation object with a 404 response displays an entry] + expected: FAIL + + [Test that an image object with a 404 response displays an entry] + expected: FAIL + diff --git a/tests/wpt/metadata/webmessaging/without-ports/017.html.ini b/tests/wpt/metadata/webmessaging/without-ports/017.html.ini new file mode 100644 index 00000000000..064cf47545b --- /dev/null +++ b/tests/wpt/metadata/webmessaging/without-ports/017.html.ini @@ -0,0 +1,5 @@ +[017.html] + expected: TIMEOUT + [origin of the script that invoked the method, about:blank] + expected: TIMEOUT + diff --git a/tests/wpt/web-platform-tests/css/css-overflow/overflow-recalc-001.html b/tests/wpt/web-platform-tests/css/css-overflow/overflow-recalc-001.html new file mode 100644 index 00000000000..9c5919a5044 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-overflow/overflow-recalc-001.html @@ -0,0 +1,52 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<meta charset="utf-8"> +<title>CSS Overflow: Overflow recalc after font-size change</title> +<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com"> +<link rel="help" href="https://drafts.csswg.org/css-overflow/"> +<link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1036644"> +<link rel="match" href="reference/overflow-recalc-001-ref.html"> +<meta name="assert" content="Checks that overflow of an inline element is properly recomputed after changes on the descendants."> +<script src="/common/reftest-wait.js"></script> +<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> +<style> +#scroller { + height: 200px; + overflow: scroll; + position: relative; +} +#wrapper { + margin-top: 100px; + width: 200px; + height: 200px; + overflow: hidden; + font-family: Ahem; + line-height: 1; + color: green; +} +#red { + background: red; + width: 200px; + height: 200px; + position: absolute; + top: 100px; + z-index: -1; +} +</style> +<p>Test passes if there is <strong>no red</strong>.</p> +<div id="scroller"> + <div id="wrapper"> + <span id="inlineouter"> + <span id="inlineinner">X</span> + </span> + </div> + <div id="red"></div> +</div> + +<script> + requestAnimationFrame(() => requestAnimationFrame(() => { + inlineinner.style.fontSize = "200px"; + takeScreenshot(); + })); +</script> +</html> diff --git a/tests/wpt/web-platform-tests/css/css-overflow/reference/overflow-recalc-001-ref.html b/tests/wpt/web-platform-tests/css/css-overflow/reference/overflow-recalc-001-ref.html new file mode 100644 index 00000000000..b18dee8caf1 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-overflow/reference/overflow-recalc-001-ref.html @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>CSS Overflow: Reference Overflow recalc after font-size change</title> +<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com"> +<style> +#scroller { + height: 200px; + overflow: scroll; +} +#wrapper { + margin-top: 100px; + width: 200px; + height: 200px; + background: green; +} +</style> +<p>Test passes if there is <strong>no red</strong>.</p> +<div id="scroller"> + <div id="wrapper"></div> +</div> diff --git a/tests/wpt/web-platform-tests/document-policy/required-policy/document-policy.html b/tests/wpt/web-platform-tests/document-policy/required-policy/document-policy.html index d6bf3e9a6d4..1935be3dd0a 100644 --- a/tests/wpt/web-platform-tests/document-policy/required-policy/document-policy.html +++ b/tests/wpt/web-platform-tests/document-policy/required-policy/document-policy.html @@ -45,7 +45,7 @@ async_test(t => { iframe.src = "/document-policy/echo-policy.py?id=3"; iframe.policy = "unoptimized-lossless-images;bpp=4"; callbacks["3"] = t.step_func_done(result => { - assert_equals(result, "unoptimized-lossless-images;bpp=4"); + assert_equals(result, "unoptimized-lossless-images;bpp=4.0"); }); document.body.appendChild(iframe); }, "Child frame can have a required policy which is less strict than the parent document's policy."); diff --git a/tests/wpt/web-platform-tests/document-policy/required-policy/required-document-policy.html.headers b/tests/wpt/web-platform-tests/document-policy/required-policy/required-document-policy.html.headers index 066c0f8339e..1b671dafe06 100644 --- a/tests/wpt/web-platform-tests/document-policy/required-policy/required-document-policy.html.headers +++ b/tests/wpt/web-platform-tests/document-policy/required-policy/required-document-policy.html.headers @@ -1 +1 @@ -Required-Document-Policy: unoptimized-lossless-images;bpp=1.1 +Require-Document-Policy: unoptimized-lossless-images;bpp=1.1 diff --git a/tests/wpt/web-platform-tests/dom/collections/HTMLCollection-live-mutations.window.js b/tests/wpt/web-platform-tests/dom/collections/HTMLCollection-live-mutations.window.js new file mode 100644 index 00000000000..7dbfc6ccf67 --- /dev/null +++ b/tests/wpt/web-platform-tests/dom/collections/HTMLCollection-live-mutations.window.js @@ -0,0 +1,93 @@ +function testHTMLCollection(name, hooks) { + test(() => { + const nodes = { + root: document.createElement("div"), + div1: document.createElement("div"), + div2: document.createElement("div"), + p: document.createElement("p") + }; + + nodes.div1.id = "div1"; + nodes.div2.id = "div2"; + + const list = nodes.root.getElementsByTagName("div"); + + hooks.initial(list, nodes); + + nodes.root.appendChild(nodes.div1); + nodes.root.appendChild(nodes.p); + nodes.root.appendChild(nodes.div2); + + hooks.afterInsertion(list, nodes); + + nodes.root.removeChild(nodes.div1); + + hooks.afterRemoval(list, nodes); + }, `HTMLCollection live mutations: ${name}`); +} + +testHTMLCollection("HTMLCollection.length", { + initial(list) { + assert_equals(list.length, 0); + }, + afterInsertion(list) { + assert_equals(list.length, 2); + }, + afterRemoval(list) { + assert_equals(list.length, 1); + } +}); + +testHTMLCollection("HTMLCollection.item(index)", { + initial(list) { + assert_equals(list.item(0), null); + }, + afterInsertion(list, nodes) { + assert_equals(list.item(0), nodes.div1); + assert_equals(list.item(1), nodes.div2); + }, + afterRemoval(list, nodes) { + assert_equals(list.item(0), nodes.div2); + } +}); + +testHTMLCollection("HTMLCollection[index]", { + initial(list) { + assert_equals(list[0], undefined); + }, + afterInsertion(list, nodes) { + assert_equals(list[0], nodes.div1); + assert_equals(list[1], nodes.div2); + }, + afterRemoval(list, nodes) { + assert_equals(list[0], nodes.div2); + } +}); + +testHTMLCollection("HTMLCollection.namedItem(index)", { + initial(list) { + assert_equals(list.namedItem("div1"), null); + assert_equals(list.namedItem("div2"), null); + }, + afterInsertion(list, nodes) { + assert_equals(list.namedItem("div1"), nodes.div1); + assert_equals(list.namedItem("div2"), nodes.div2); + }, + afterRemoval(list, nodes) { + assert_equals(list.namedItem("div1"), null); + assert_equals(list.namedItem("div2"), nodes.div2); + } +}); + +testHTMLCollection("HTMLCollection ownPropertyNames", { + initial(list) { + assert_object_equals(Object.getOwnPropertyNames(list), []); + }, + afterInsertion(list) { + assert_object_equals(Object.getOwnPropertyNames(list), ["0", "1", "div1", "div2"]); + }, + afterRemoval(list) { + assert_object_equals(Object.getOwnPropertyNames(list), ["0", "div2"]); + } +}); + diff --git a/tests/wpt/web-platform-tests/dom/nodes/NodeList-live-mutations.window.js b/tests/wpt/web-platform-tests/dom/nodes/NodeList-live-mutations.window.js new file mode 100644 index 00000000000..a11fed1e38e --- /dev/null +++ b/tests/wpt/web-platform-tests/dom/nodes/NodeList-live-mutations.window.js @@ -0,0 +1,79 @@ +function testNodeList(name, hooks) { + test(() => { + const nodes = { + root: document.createElement("div"), + div1: document.createElement("div"), + div2: document.createElement("div"), + p: document.createElement("p") + }; + + const list = nodes.root.childNodes; + + hooks.initial(list, nodes); + + nodes.root.appendChild(nodes.div1); + nodes.root.appendChild(nodes.p); + nodes.root.appendChild(nodes.div2); + + hooks.afterInsertion(list, nodes); + + nodes.root.removeChild(nodes.div1); + + hooks.afterRemoval(list, nodes); + }, `NodeList live mutations: ${name}`); +} + +testNodeList("NodeList.length", { + initial(list) { + assert_equals(list.length, 0); + }, + afterInsertion(list) { + assert_equals(list.length, 3); + }, + afterRemoval(list) { + assert_equals(list.length, 2); + } +}); + +testNodeList("NodeList.item(index)", { + initial(list) { + assert_equals(list.item(0), null); + }, + afterInsertion(list, nodes) { + assert_equals(list.item(0), nodes.div1); + assert_equals(list.item(1), nodes.p); + assert_equals(list.item(2), nodes.div2); + }, + afterRemoval(list, nodes) { + assert_equals(list.item(0), nodes.p); + assert_equals(list.item(1), nodes.div2); + } +}); + +testNodeList("NodeList[index]", { + initial(list) { + assert_equals(list[0], undefined); + }, + afterInsertion(list, nodes) { + assert_equals(list[0], nodes.div1); + assert_equals(list[1], nodes.p); + assert_equals(list[2], nodes.div2); + }, + afterRemoval(list, nodes) { + assert_equals(list[0], nodes.p); + assert_equals(list[1], nodes.div2); + } +}); + +testNodeList("NodeList ownPropertyNames", { + initial(list) { + assert_object_equals(Object.getOwnPropertyNames(list), []); + }, + afterInsertion(list) { + assert_object_equals(Object.getOwnPropertyNames(list), ["0", "1", "2"]); + }, + afterRemoval(list) { + assert_object_equals(Object.getOwnPropertyNames(list), ["0", "1"]); + } +}); + diff --git a/tests/wpt/web-platform-tests/element-timing/multi-redirect-image.html b/tests/wpt/web-platform-tests/element-timing/multi-redirect-image.html index c2f570f20df..2a12c5f03c4 100644 --- a/tests/wpt/web-platform-tests/element-timing/multi-redirect-image.html +++ b/tests/wpt/web-platform-tests/element-timing/multi-redirect-image.html @@ -18,7 +18,7 @@ async_test(t => { + '/resource-timing/resources/multi_redirect.py?'; destUrl += 'page_origin=' + get_host_info().HTTP_ORIGIN; destUrl += '&cross_origin=' + get_host_info().HTTP_REMOTE_ORIGIN; - destUrl += '&final_resource=' + '/images/blue.png'; + destUrl += '&final_resource=' + '/element-timing/resources/circle.svg'; destUrl += '&timing_allow=1'; destUrl += '&tao_steps='; for (let taoSteps=0; taoSteps < 4; taoSteps++) { diff --git a/tests/wpt/web-platform-tests/element-timing/resources/circle.svg.headers b/tests/wpt/web-platform-tests/element-timing/resources/circle.svg.headers new file mode 100644 index 00000000000..7296361df3d --- /dev/null +++ b/tests/wpt/web-platform-tests/element-timing/resources/circle.svg.headers @@ -0,0 +1 @@ +Timing-Allow-Origin: * diff --git a/tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/META.yml b/tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/META.yml new file mode 100644 index 00000000000..103217d3889 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/cross-origin-embedder-policy/META.yml @@ -0,0 +1,9 @@ +spec: https://mikewest.github.io/corpp/ +suggested_reviewers: + - mikewest + - jugglinmike + - arturjanc + - lweichselbaum + - hemeryar + - ParisMeuleman + - valenting diff --git a/tests/wpt/web-platform-tests/html/cross-origin-opener-policy/META.yml b/tests/wpt/web-platform-tests/html/cross-origin-opener-policy/META.yml new file mode 100644 index 00000000000..6c6d2621186 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/cross-origin-opener-policy/META.yml @@ -0,0 +1,9 @@ +spec: https://gist.github.com/annevk/6f2dd8c79c77123f39797f6bdac43f3e +suggested_reviewers: + - mikewest + - jugglinmike + - arturjanc + - lweichselbaum + - hemeryar + - ParisMeuleman + - valenting diff --git a/tests/wpt/web-platform-tests/html/cross-origin-opener-policy/coop-sandbox.https.html b/tests/wpt/web-platform-tests/html/cross-origin-opener-policy/coop-sandbox.https.html index fc16c186cad..5fd11643d57 100644 --- a/tests/wpt/web-platform-tests/html/cross-origin-opener-policy/coop-sandbox.https.html +++ b/tests/wpt/web-platform-tests/html/cross-origin-opener-policy/coop-sandbox.https.html @@ -5,20 +5,25 @@ <script src="/common/utils.js"></script> <!-- Use token() to allow running tests in parallel --> <div id=log> <script> -async_test(t => { - const frame = document.createElement("iframe"); - const channel = new BroadcastChannel(token()); - channel.onmessage = t.unreached_func("A COOP popup was created from a sandboxed frame"); - t.add_cleanup(() => frame.remove()); - frame.sandbox = "allow-popups allow-scripts allow-same-origin"; - frame.srcdoc = `<script> -const popup = window.open("resources/coop-coep.py?coop=same-origin&coep=&channel=${channel.name}"); -<\/script>`; - document.body.append(frame); - window.onload = t.step_func(() => { - t.step_timeout(() => { - t.done() - }, 1500); - }); +[ + "allow-popups allow-scripts allow-same-origin", + "allow-popups allow-scripts", +].forEach(sandboxValue => { + async_test(t => { + const frame = document.createElement("iframe"); + const channel = new BroadcastChannel(token()); + channel.onmessage = t.unreached_func("A COOP popup was created from a sandboxed frame"); + t.add_cleanup(() => frame.remove()); + frame.sandbox = sandboxValue; + frame.srcdoc = `<script> + const popup = window.open("resources/coop-coep.py?coop=same-origin&coep=&channel=${channel.name}"); + <\/script>`; + document.body.append(frame); + addEventListener('load', t.step_func(() => { + t.step_timeout(() => { + t.done() + }, 1500); + })); + }, `<iframe sandbox="${sandboxValue}"> ${document.title}`); }); </script> diff --git a/tests/wpt/web-platform-tests/html/cross-origin-opener-policy/popup-meta-http-equiv.https.html b/tests/wpt/web-platform-tests/html/cross-origin-opener-policy/popup-meta-http-equiv.https.html new file mode 100644 index 00000000000..e36b5190aaf --- /dev/null +++ b/tests/wpt/web-platform-tests/html/cross-origin-opener-policy/popup-meta-http-equiv.https.html @@ -0,0 +1,19 @@ +<!doctype html> +<meta http-equiv="Cross-Origin-Opener-Policy" content="same-origin"><!-- should not be supported --> +<meta charset=utf-8> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<script src="/common/get-host-info.sub.js"></script> +<script src="resources/common.js"></script> + +<div id=log></div> +<script> + +let tests = [ + // popup Origin, popup COOP, expect opener + [SAME_ORIGIN, "", true], +]; + +run_coop_tests("same-origin", tests); + +</script> diff --git a/tests/wpt/web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-aspect-ratio.html b/tests/wpt/web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-aspect-ratio.html index 30000329780..eceef92a641 100644 --- a/tests/wpt/web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-aspect-ratio.html +++ b/tests/wpt/web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-aspect-ratio.html @@ -18,7 +18,7 @@ let t = async_test("Image width and height attributes are used to infer aspect-ratio"); function assert_ratio(img, expected) { let epsilon = 0.001; - assert_approx_equals(parseInt(getComputedStyle(img).width, 10) / parseInt(getComputedStyle(img).height, 10), expected, epsilon); + assert_approx_equals(parseFloat(getComputedStyle(img).width, 10) / parseFloat(getComputedStyle(img).height, 10), expected, epsilon); } // Create and append a new image and immediately check the ratio. // This is not racy because the spec requires the user agent to queue a task: @@ -53,6 +53,6 @@ onload = t.step_func_done(function() { assert_ratio(images[1], 2.0); // 2.0 is the original aspect ratio of green.png assert_equals(getComputedStyle(images[2]).height, "0px"); // aspect-ratio doesn't override intrinsic size of images that don't have any src. assert_equals(getComputedStyle(images[3]).height, getComputedStyle(images[4]).height); // aspect-ratio doesn't override intrinsic size of error images. - assert_ratio(images[5], 1.266); // 1.266 is the original aspect ratio of blue.png + assert_ratio(images[5], 133/106); // The original aspect ratio of blue.png }); </script> diff --git a/tests/wpt/web-platform-tests/interfaces/html.idl b/tests/wpt/web-platform-tests/interfaces/html.idl index 266574de63e..2c0c489315c 100644 --- a/tests/wpt/web-platform-tests/interfaces/html.idl +++ b/tests/wpt/web-platform-tests/interfaces/html.idl @@ -1925,6 +1925,10 @@ interface mixin GlobalEventHandlers { attribute EventHandler ontoggle; attribute EventHandler onvolumechange; attribute EventHandler onwaiting; + attribute EventHandler onwebkitanimationend; + attribute EventHandler onwebkitanimationiteration; + attribute EventHandler onwebkitanimationstart; + attribute EventHandler onwebkittransitionend; }; interface mixin WindowEventHandlers { diff --git a/tests/wpt/web-platform-tests/interfaces/web-nfc.idl b/tests/wpt/web-platform-tests/interfaces/web-nfc.idl index 12ea9d58bc0..f2e31b73528 100644 --- a/tests/wpt/web-platform-tests/interfaces/web-nfc.idl +++ b/tests/wpt/web-platform-tests/interfaces/web-nfc.idl @@ -47,7 +47,7 @@ typedef (DOMString or BufferSource or NDEFMessageInit) NDEFMessageSource; interface NDEFWriter { constructor(); - Promise<void> push(NDEFMessageSource message, optional NDEFPushOptions options={}); + Promise<void> write(NDEFMessageSource message, optional NDEFWriteOptions options={}); }; [SecureContext, Exposed=Window] @@ -73,19 +73,12 @@ dictionary NDEFReadingEventInit : EventInit { required NDEFMessageInit message; }; -dictionary NDEFPushOptions { - NDEFPushTarget target = "any"; +dictionary NDEFWriteOptions { boolean ignoreRead = true; boolean overwrite = true; AbortSignal? signal; }; -enum NDEFPushTarget { - "tag", - "peer", - "any" -}; - dictionary NDEFScanOptions { USVString id; USVString recordType; diff --git a/tests/wpt/web-platform-tests/largest-contentful-paint/multi-redirects-TAO.html b/tests/wpt/web-platform-tests/largest-contentful-paint/multi-redirects-TAO.html new file mode 100644 index 00000000000..4e462c729aa --- /dev/null +++ b/tests/wpt/web-platform-tests/largest-contentful-paint/multi-redirects-TAO.html @@ -0,0 +1,52 @@ +<!DOCTYPE HTML> +<html> +<head> +<meta charset="utf-8" /> +<title>This test validates LargestContenfulPaint information for cross-origin redirect chain images.</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/largest-contentful-paint-helpers.js"></script> +<script src=/common/get-host-info.sub.js></script> +</head> +<body> +<script> +async_test(t => { + if (!window.LargestContentfulPaint) { + assert_unreached("LargestContentfulPaint is not implemented"); + } + let destUrl = get_host_info().HTTP_REMOTE_ORIGIN + + '/resource-timing/resources/multi_redirect.py?'; + destUrl += 'page_origin=' + get_host_info().HTTP_ORIGIN; + destUrl += '&cross_origin=' + get_host_info().HTTP_REMOTE_ORIGIN; + destUrl += '&final_resource=' + '/element-timing/resources/circle.svg'; + destUrl += '&timing_allow=1'; + destUrl += '&tao_steps='; + + const image = document.createElement('img'); + image.src = destUrl + '0'; + image.setAttribute('id', 'id'); + document.body.appendChild(image); + + let numObserved = 0; + let beforeLoad = performance.now(); + + new PerformanceObserver(t.step_func(entries => { + assert_equals(entries.getEntries().length, 1); + const entry = entries.getEntries()[0]; + const options = numObserved === 3 ? [] : ['renderTimeIs0']; + checkImage(entry, destUrl + numObserved, 'id', 200 * 200, beforeLoad, options); + numObserved++; + if (numObserved === 4) + t.done(); + else { + // Change the image to trigger a new LCP entry. + const img = document.getElementById('id'); + image.src = destUrl + numObserved; + beforeLoad = performance.now(); + } + })).observe({type: 'largest-contentful-paint'}); +}, 'Cross-origin image without TAO should not have its renderTime set, with full TAO it should.'); +</script> +</body> +</html> + diff --git a/tests/wpt/web-platform-tests/resource-timing/object-not-found-adds-entry.html b/tests/wpt/web-platform-tests/resource-timing/object-not-found-adds-entry.html new file mode 100644 index 00000000000..22ee95e2d51 --- /dev/null +++ b/tests/wpt/web-platform-tests/resource-timing/object-not-found-adds-entry.html @@ -0,0 +1,43 @@ +<!doctype html> +<html> +<head> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +</head> +<body> +<script> +const test_object_entry = (url, type, test_name) => { + promise_test(t => { + return new Promise((resolve, reject) => { + performance.clearResourceTimings(); + const el = document.createElement("object"); + const po = new PerformanceObserver(t.step_func(e => { + const entries = e.getEntriesByType("resource"); + assert_greater_than(entries.length, 0, "Got a performance entry"); + + assert_true(entries[0].name.includes(url), "Performance resource timing entry has the right name"); + po.disconnect(); + resolve(); + })); + po.observe({type: "resource"}); + el.data = url; + if (type) { + el.type = type; + } + el.style = "width: 0px; height: 0px;"; + document.body.appendChild(el); + + el.onload = el.onerror = t.step_timeout(() => { + assert_unreached("No performance entry was observed"); + reject(); + }, 500); + }); + }, test_name); + +}; + +test_object_entry("resources/status-code.py?status=404&type=none", null, "Test that an navigation object with a 404 response displays an entry"); +test_object_entry("resources/status-code.py?status=200&type=none", null, "Test that an navigation object with a 200 response displays an entry"); +test_object_entry("resources/status-code.py?status=404&type=img", "image/png", "Test that an image object with a 404 response displays an entry"); + +</script> diff --git a/tests/wpt/web-platform-tests/tools/lint/lint.py b/tests/wpt/web-platform-tests/tools/lint/lint.py index a050cfa8a8e..4090f2628a6 100644 --- a/tests/wpt/web-platform-tests/tools/lint/lint.py +++ b/tests/wpt/web-platform-tests/tools/lint/lint.py @@ -843,7 +843,7 @@ def create_parser(): help="Output machine-readable JSON format") parser.add_argument("--markdown", action="store_true", help="Output markdown") - parser.add_argument("--repo-root", help="The WPT directory. Use this" + parser.add_argument("--repo-root", help="The WPT directory. Use this " "option if the lint script exists outside the repository") parser.add_argument("--ignore-glob", help="Additional file glob to ignore.") parser.add_argument("--all", action="store_true", help="If no paths are passed, try to lint the whole " |