Update web-platform-tests to revision 36acf7a01cb8ffbbafbd578229c5ad3fde2e47cc

This commit is contained in:
WPT Sync Bot 2019-07-11 10:25:27 +00:00
parent 305312e93b
commit 4499a0fbb6
151 changed files with 4858 additions and 2407 deletions

View file

@ -14,9 +14,6 @@
[Revoke blob URL after creating Request, will fetch]
expected: FAIL
[Revoke blob URL after calling fetch, fetch should succeed]
expected: FAIL
[url-with-fetch.any.html]
[Untitled]
@ -37,3 +34,6 @@
[Revoke blob URL after creating Request, will fetch]
expected: FAIL
[Revoke blob URL after calling fetch, fetch should succeed]
expected: FAIL

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,28 @@
[align-content-valid.html]
[e.style['align-content'\] = "first baseline" should set the property value]
expected: FAIL
[e.style['align-content'\] = "unsafe end" should set the property value]
expected: FAIL
[e.style['align-content'\] = "end" should set the property value]
expected: FAIL
[e.style['align-content'\] = "normal" should set the property value]
expected: FAIL
[e.style['align-content'\] = "baseline" should set the property value]
expected: FAIL
[e.style['align-content'\] = "space-evenly" should set the property value]
expected: FAIL
[e.style['align-content'\] = "start" should set the property value]
expected: FAIL
[e.style['align-content'\] = "safe flex-start" should set the property value]
expected: FAIL
[e.style['align-content'\] = "last baseline" should set the property value]
expected: FAIL

View file

@ -0,0 +1,28 @@
[align-items-valid.html]
[e.style['align-items'\] = "last baseline" should set the property value]
expected: FAIL
[e.style['align-items'\] = "unsafe center" should set the property value]
expected: FAIL
[e.style['align-items'\] = "first baseline" should set the property value]
expected: FAIL
[e.style['align-items'\] = "normal" should set the property value]
expected: FAIL
[e.style['align-items'\] = "start" should set the property value]
expected: FAIL
[e.style['align-items'\] = "self-start" should set the property value]
expected: FAIL
[e.style['align-items'\] = "end" should set the property value]
expected: FAIL
[e.style['align-items'\] = "self-end" should set the property value]
expected: FAIL
[e.style['align-items'\] = "safe self-end" should set the property value]
expected: FAIL

View file

@ -0,0 +1,28 @@
[align-self-valid.html]
[e.style['align-self'\] = "self-end" should set the property value]
expected: FAIL
[e.style['align-self'\] = "last baseline" should set the property value]
expected: FAIL
[e.style['align-self'\] = "first baseline" should set the property value]
expected: FAIL
[e.style['align-self'\] = "start" should set the property value]
expected: FAIL
[e.style['align-self'\] = "end" should set the property value]
expected: FAIL
[e.style['align-self'\] = "safe self-end" should set the property value]
expected: FAIL
[e.style['align-self'\] = "normal" should set the property value]
expected: FAIL
[e.style['align-self'\] = "unsafe center" should set the property value]
expected: FAIL
[e.style['align-self'\] = "self-start" should set the property value]
expected: FAIL

View file

@ -0,0 +1,25 @@
[justify-content-valid.html]
[e.style['justify-content'\] = "unsafe right" should set the property value]
expected: FAIL
[e.style['justify-content'\] = "start" should set the property value]
expected: FAIL
[e.style['justify-content'\] = "normal" should set the property value]
expected: FAIL
[e.style['justify-content'\] = "unsafe end" should set the property value]
expected: FAIL
[e.style['justify-content'\] = "space-evenly" should set the property value]
expected: FAIL
[e.style['justify-content'\] = "end" should set the property value]
expected: FAIL
[e.style['justify-content'\] = "safe flex-start" should set the property value]
expected: FAIL
[e.style['justify-content'\] = "left" should set the property value]
expected: FAIL

View file

@ -0,0 +1,61 @@
[justify-items-valid.html]
[e.style['justify-items'\] = "self-end" should set the property value]
expected: FAIL
[e.style['justify-items'\] = "unsafe center" should set the property value]
expected: FAIL
[e.style['justify-items'\] = "safe left" should set the property value]
expected: FAIL
[e.style['justify-items'\] = "baseline" should set the property value]
expected: FAIL
[e.style['justify-items'\] = "safe self-end" should set the property value]
expected: FAIL
[e.style['justify-items'\] = "flex-start" should set the property value]
expected: FAIL
[e.style['justify-items'\] = "center" should set the property value]
expected: FAIL
[e.style['justify-items'\] = "center legacy" should set the property value]
expected: FAIL
[e.style['justify-items'\] = "right legacy" should set the property value]
expected: FAIL
[e.style['justify-items'\] = "last baseline" should set the property value]
expected: FAIL
[e.style['justify-items'\] = "start" should set the property value]
expected: FAIL
[e.style['justify-items'\] = "left legacy" should set the property value]
expected: FAIL
[e.style['justify-items'\] = "normal" should set the property value]
expected: FAIL
[e.style['justify-items'\] = "stretch" should set the property value]
expected: FAIL
[e.style['justify-items'\] = "flex-end" should set the property value]
expected: FAIL
[e.style['justify-items'\] = "self-start" should set the property value]
expected: FAIL
[e.style['justify-items'\] = "end" should set the property value]
expected: FAIL
[e.style['justify-items'\] = "first baseline" should set the property value]
expected: FAIL
[e.style['justify-items'\] = "right" should set the property value]
expected: FAIL
[e.style['justify-items'\] = "legacy" should set the property value]
expected: FAIL

View file

@ -0,0 +1,52 @@
[justify-self-valid.html]
[e.style['justify-self'\] = "self-end" should set the property value]
expected: FAIL
[e.style['justify-self'\] = "unsafe center" should set the property value]
expected: FAIL
[e.style['justify-self'\] = "auto" should set the property value]
expected: FAIL
[e.style['justify-self'\] = "safe self-end" should set the property value]
expected: FAIL
[e.style['justify-self'\] = "baseline" should set the property value]
expected: FAIL
[e.style['justify-self'\] = "start" should set the property value]
expected: FAIL
[e.style['justify-self'\] = "left" should set the property value]
expected: FAIL
[e.style['justify-self'\] = "center" should set the property value]
expected: FAIL
[e.style['justify-self'\] = "flex-start" should set the property value]
expected: FAIL
[e.style['justify-self'\] = "stretch" should set the property value]
expected: FAIL
[e.style['justify-self'\] = "normal" should set the property value]
expected: FAIL
[e.style['justify-self'\] = "end" should set the property value]
expected: FAIL
[e.style['justify-self'\] = "flex-end" should set the property value]
expected: FAIL
[e.style['justify-self'\] = "self-start" should set the property value]
expected: FAIL
[e.style['justify-self'\] = "last baseline" should set the property value]
expected: FAIL
[e.style['justify-self'\] = "first baseline" should set the property value]
expected: FAIL
[e.style['justify-self'\] = "unsafe right" should set the property value]
expected: FAIL

View file

@ -56,6 +56,3 @@
[background-position length(px) / events]
expected: FAIL
[font-size length(em) / events]
expected: FAIL

View file

@ -509,39 +509,3 @@
[border-left-width length(pt) / values]
expected: FAIL
[padding-right length(pt) / values]
expected: FAIL
[margin-top length(in) / values]
expected: FAIL
[padding-left length(ex) / values]
expected: FAIL
[height length(px) / values]
expected: FAIL
[margin-top length(px) / values]
expected: FAIL
[padding-left length(pt) / values]
expected: FAIL
[padding-right length(ex) / values]
expected: FAIL
[margin-top length(pt) / values]
expected: FAIL
[margin-top length(cm) / values]
expected: FAIL
[padding-bottom length(ex) / values]
expected: FAIL
[height length(pt) / values]
expected: FAIL
[padding-left length(pc) / values]
expected: FAIL

View file

@ -0,0 +1,2 @@
[matchMedia-display-none-iframe.html]
expected: ERROR

View file

@ -3,3 +3,9 @@
[scroll-behavior: smooth on DIV element]
expected: FAIL
[Smooth scrolling while doing history navigation.]
expected: FAIL
[Instant scrolling while doing history navigation.]
expected: FAIL

View file

@ -312,9 +312,24 @@
[<iframe>: separate response Content-Type: */* text/html]
expected: FAIL
[<iframe>: separate response Content-Type: text/plain */*]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;charset=gbk text/plain text/html]
expected: FAIL
[<iframe>: combined response Content-Type: text/html;" text/plain]
expected: FAIL
[<iframe>: separate response Content-Type: text/html;" text/plain]
expected: FAIL
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
expected: FAIL
[<iframe>: separate response Content-Type: text/html */*]
expected: FAIL
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
expected: FAIL
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
expected: FAIL

View file

@ -56,3 +56,9 @@
[separate text/javascript x/x]
expected: FAIL
[separate text/javascript;charset=windows-1252 error text/javascript]
expected: FAIL
[separate text/javascript;charset=windows-1252 text/javascript]
expected: FAIL

View file

@ -11,3 +11,6 @@
[X-Content-Type-Options%3A%20nosniff%0C]
expected: FAIL
[X-Content-Type-Options%3A%20'NosniFF']
expected: FAIL

View file

@ -0,0 +1,4 @@
[traverse_the_history_1.html]
[Multiple history traversals from the same task]
expected: FAIL

View file

@ -1,4 +0,0 @@
[traverse_the_history_3.html]
[Multiple history traversals, last would be aborted]
expected: FAIL

View file

@ -1,4 +0,0 @@
[traverse_the_history_5.html]
[Multiple history traversals, last would be aborted]
expected: FAIL

View file

@ -1,24 +1,5 @@
[open-features-negative-innerwidth-innerheight.html]
type: testharness
expected: TIMEOUT
[HTML: window.open `features`: negative values for legacy `innerwidth`, `innerheight`]
expected: FAIL
[features "innerheight=-404.5" should NOT set "height=404"]
expected: TIMEOUT
[features "innerwidth=-404.5" should NOT set "width=404"]
expected: TIMEOUT
[features "innerwidth=-404" should NOT set "width=404"]
expected: TIMEOUT
[features "innerheight=-404e1" should NOT set "height=404"]
expected: TIMEOUT
[features "innerheight=-404" should NOT set "height=404"]
expected: TIMEOUT
[features "innerwidth=-404e1" should NOT set "width=404"]
expected: TIMEOUT

View file

@ -1,24 +1,5 @@
[open-features-negative-screenx-screeny.html]
type: testharness
expected: TIMEOUT
[HTML: window.open `features`: negative values for legacy `screenx`, `screeny`]
expected: FAIL
[features "screenx=-204" should NOT set "left=204"]
expected: TIMEOUT
[features "screeny=-204" should NOT set "top=204"]
expected: TIMEOUT
[features "screeny=-204.5" should NOT set "top=204"]
expected: TIMEOUT
[features "screeny=-0" should NOT set "top=204"]
expected: TIMEOUT
[features "screenx=-0" should NOT set "left=204"]
expected: TIMEOUT
[features "screenx=-204.5" should NOT set "left=204"]
expected: TIMEOUT

View file

@ -1,24 +1,5 @@
[open-features-negative-top-left.html]
type: testharness
expected: TIMEOUT
[HTML: window.open `features`: negative values for `top`, `left`]
expected: FAIL
[features "top=-204" should NOT set "top=204"]
expected: TIMEOUT
[features "top=-204.5" should NOT set "top=204"]
expected: TIMEOUT
[features "left=-204" should NOT set "left=204"]
expected: TIMEOUT
[features "top=-0" should NOT set "top=204"]
expected: TIMEOUT
[features "left=-204.5" should NOT set "left=204"]
expected: TIMEOUT
[features "left=-0" should NOT set "left=204"]
expected: TIMEOUT

View file

@ -1,24 +1,5 @@
[open-features-negative-width-height.html]
type: testharness
expected: TIMEOUT
[HTML: window.open `features`: negative values for `width`, `height`]
expected: FAIL
[features "height=-404" should NOT set "height=404"]
expected: TIMEOUT
[features "height=-404e1" should NOT set "height=404"]
expected: TIMEOUT
[features "height=-404.5" should NOT set "height=404"]
expected: TIMEOUT
[features "width=-404" should NOT set "width=404"]
expected: TIMEOUT
[features "width=-404e1" should NOT set "width=404"]
expected: TIMEOUT
[features "width=-404.5" should NOT set "width=404"]
expected: TIMEOUT

View file

@ -1,48 +1,32 @@
[open-features-non-integer-height.html]
type: testharness
expected: TIMEOUT
[HTML: window.open `features`: non-integer values for feature `height`]
expected: FAIL
[features "height=405*3" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "height=405.32" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "height=405e1" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "height=405/5" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "height=405^4" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "height=405.5" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "height=405e-1" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "height=405 " should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "height=405LLl" should set "height=405"]
expected: TIMEOUT
[features "height=/404" should NOT set "height=404"]
expected: TIMEOUT
[top=0,left=0,width=401,: absence of feature "height" should be treated same as "height=0"]
expected: TIMEOUT
[top=0,left=0: absence of feature "height" should be treated same as "height=0"]
expected: TIMEOUT
[features "height=_404" should NOT set "height=404"]
expected: TIMEOUT
[features "height=L404" should NOT set "height=404"]
expected: TIMEOUT
expected: FAIL

View file

@ -1,42 +1,32 @@
[open-features-non-integer-innerheight.html]
type: testharness
expected: TIMEOUT
[HTML: window.open `features`: non-integer values for legacy feature `innerheight`]
expected: FAIL
[features "innerheight=405e-1" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "innerheight=405LLl" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "innerheight=405^4" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "innerheight=405e1" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "innerheight=405 " should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "innerheight=405/5" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "innerheight=405.32" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "innerheight=405.5" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "innerheight=405*3" should set "height=405"]
expected: TIMEOUT
[features "innerheight=_404" should NOT set "height=404"]
expected: TIMEOUT
[features "innerheight=L404" should NOT set "height=404"]
expected: TIMEOUT
[features "innerheight=/404" should NOT set "height=404"]
expected: TIMEOUT
expected: FAIL

View file

@ -1,42 +1,32 @@
[open-features-non-integer-innerwidth.html]
type: testharness
expected: TIMEOUT
[HTML: window.open `features`: non-integer values for legacy feature `innerwidth`]
expected: FAIL
[features "innerwidth=405e-1" should set "width=405"]
expected: TIMEOUT
expected: FAIL
[features "innerwidth=405*3" should set "width=405"]
expected: TIMEOUT
expected: FAIL
[features "innerwidth=405.5" should set "width=405"]
expected: TIMEOUT
expected: FAIL
[features "innerwidth=405e1" should set "width=405"]
expected: TIMEOUT
expected: FAIL
[features "innerwidth=405.32" should set "width=405"]
expected: TIMEOUT
expected: FAIL
[features "innerwidth=405 " should set "width=405"]
expected: TIMEOUT
expected: FAIL
[features "innerwidth=405LLl" should set "width=405"]
expected: TIMEOUT
expected: FAIL
[features "innerwidth=405/5" should set "width=405"]
expected: TIMEOUT
expected: FAIL
[features "innerwidth=405^4" should set "width=405"]
expected: TIMEOUT
[features "innerwidth=/404" should NOT set "width=404"]
expected: TIMEOUT
[features "innerwidth=_404" should NOT set "width=404"]
expected: TIMEOUT
[features "innerwidth=L404" should NOT set "width=404"]
expected: TIMEOUT
expected: FAIL

View file

@ -1,42 +1,32 @@
[open-features-non-integer-left.html]
type: testharness
expected: TIMEOUT
[HTML: window.open `features`: non-integer values for feature `left`]
expected: FAIL
[features "left=105e1" should set "left=105"]
expected: TIMEOUT
expected: FAIL
[features "left=105 " should set "left=105"]
expected: TIMEOUT
expected: FAIL
[features "left=105/5" should set "left=105"]
expected: TIMEOUT
expected: FAIL
[features "left=105e-1" should set "left=105"]
expected: TIMEOUT
expected: FAIL
[features "left=105^4" should set "left=105"]
expected: TIMEOUT
expected: FAIL
[features "left=105LLl" should set "left=105"]
expected: TIMEOUT
expected: FAIL
[features "left=105.32" should set "left=105"]
expected: TIMEOUT
expected: FAIL
[features "left=105*3" should set "left=105"]
expected: TIMEOUT
expected: FAIL
[features "left=105.5" should set "left=105"]
expected: TIMEOUT
[features "left=L104" should NOT set "left=104"]
expected: TIMEOUT
[features "left=/104" should NOT set "left=104"]
expected: TIMEOUT
[features "left=_104" should NOT set "left=104"]
expected: TIMEOUT
expected: FAIL

View file

@ -1,42 +1,32 @@
[open-features-non-integer-screenx.html]
type: testharness
expected: TIMEOUT
[HTML: window.open `features`: non-integer values for legacy feature `screenx`]
expected: FAIL
[features "screenx=105.5" should set "left=105"]
expected: TIMEOUT
expected: FAIL
[features "screenx=105e1" should set "left=105"]
expected: TIMEOUT
expected: FAIL
[features "screenx=105 " should set "left=105"]
expected: TIMEOUT
expected: FAIL
[features "screenx=105*3" should set "left=105"]
expected: TIMEOUT
expected: FAIL
[features "screenx=105e-1" should set "left=105"]
expected: TIMEOUT
expected: FAIL
[features "screenx=105^4" should set "left=105"]
expected: TIMEOUT
expected: FAIL
[features "screenx=105LLl" should set "left=105"]
expected: TIMEOUT
expected: FAIL
[features "screenx=105/5" should set "left=105"]
expected: TIMEOUT
expected: FAIL
[features "screenx=105.32" should set "left=105"]
expected: TIMEOUT
[features "screenx=_104" should NOT set "left=104"]
expected: TIMEOUT
[features "screenx=L104" should NOT set "left=104"]
expected: TIMEOUT
[features "screenx=/104" should NOT set "left=104"]
expected: TIMEOUT
expected: FAIL

View file

@ -1,42 +1,32 @@
[open-features-non-integer-screeny.html]
type: testharness
expected: TIMEOUT
[HTML: window.open `features`: non-integer values for legacy feature `screeny`]
expected: FAIL
[features "screeny=405^4" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "screeny=405e-1" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "screeny=405LLl" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "screeny=405e1" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "screeny=405 " should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "screeny=405/5" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "screeny=405*3" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "screeny=405.32" should set "height=405"]
expected: TIMEOUT
expected: FAIL
[features "screeny=405.5" should set "height=405"]
expected: TIMEOUT
[features "screeny=_404" should NOT set "height=404"]
expected: TIMEOUT
[features "screeny=L404" should NOT set "height=404"]
expected: TIMEOUT
[features "screeny=/404" should NOT set "height=404"]
expected: TIMEOUT
expected: FAIL

View file

@ -1,42 +1,32 @@
[open-features-non-integer-top.html]
type: testharness
expected: TIMEOUT
[HTML: window.open `features`: non-integer values for feature `top`]
expected: FAIL
[features "top=105/5" should set "top=105"]
expected: TIMEOUT
expected: FAIL
[features "top=105*3" should set "top=105"]
expected: TIMEOUT
expected: FAIL
[features "top=105LLl" should set "top=105"]
expected: TIMEOUT
expected: FAIL
[features "top=105e-1" should set "top=105"]
expected: TIMEOUT
expected: FAIL
[features "top=105.32" should set "top=105"]
expected: TIMEOUT
expected: FAIL
[features "top=105e1" should set "top=105"]
expected: TIMEOUT
expected: FAIL
[features "top=105 " should set "top=105"]
expected: TIMEOUT
expected: FAIL
[features "top=105^4" should set "top=105"]
expected: TIMEOUT
expected: FAIL
[features "top=105.5" should set "top=105"]
expected: TIMEOUT
[features "top=/104" should NOT set "top=104"]
expected: TIMEOUT
[features "top=_104" should NOT set "top=104"]
expected: TIMEOUT
[features "top=L104" should NOT set "top=104"]
expected: TIMEOUT
expected: FAIL

View file

@ -1,48 +1,32 @@
[open-features-non-integer-width.html]
type: testharness
expected: TIMEOUT
[HTML: window.open `features`: non-integer values for feature `width`]
expected: FAIL
[features "width=405^4" should set "width=405"]
expected: TIMEOUT
expected: FAIL
[features "width=405.5" should set "width=405"]
expected: TIMEOUT
expected: FAIL
[features "width=405e1" should set "width=405"]
expected: TIMEOUT
expected: FAIL
[features "width=405 " should set "width=405"]
expected: TIMEOUT
expected: FAIL
[features "width=405.32" should set "width=405"]
expected: TIMEOUT
expected: FAIL
[features "width=405LLl" should set "width=405"]
expected: TIMEOUT
expected: FAIL
[features "width=405*3" should set "width=405"]
expected: TIMEOUT
expected: FAIL
[features "width=405e-1" should set "width=405"]
expected: TIMEOUT
expected: FAIL
[features "width=405/5" should set "width=405"]
expected: TIMEOUT
[top=0,left=0: absence of feature "width" should be treated same as "width=0"]
expected: TIMEOUT
[features "width=_404" should NOT set "width=404"]
expected: TIMEOUT
[top=0,left=0,height=401,: absence of feature "width" should be treated same as "width=0"]
expected: TIMEOUT
[features "width=/404" should NOT set "width=404"]
expected: TIMEOUT
[features "width=L404" should NOT set "width=404"]
expected: TIMEOUT
expected: FAIL

File diff suppressed because it is too large Load diff

View file

@ -1,5 +1,4 @@
[pixel-length-attributes.html]
expected: ERROR
[<iframe marginheight="200%"> mapping to marginBottom]
expected: FAIL
@ -192,3 +191,6 @@
[<iframe marginwidth="0"> mapping to marginLeft]
expected: FAIL
[Test handling of attributes that map to pixel length properties]
expected: FAIL

View file

@ -1,7 +0,0 @@
[toggleEvent.html]
[Calling open twice on 'details' fires only one toggle event]
expected: FAIL
[Setting open=true to opened 'details' element should not fire a toggle event at the 'details' element]
expected: FAIL

View file

@ -1,4 +0,0 @@
[DOMContentLoaded-defer.html]
[The end: DOMContentLoaded and defer scripts]
expected: FAIL

View file

@ -0,0 +1,4 @@
[iframe_005.html]
[document.write external script into iframe write back into parent]
expected: FAIL

View file

@ -0,0 +1,6 @@
[requires-failure.https.any.html]
[requires-failure.https.any.serviceworker.html]
[requires-failure]
expected: FAIL

View file

@ -0,0 +1,9 @@
[requires-success.any.worker.html]
[[[CanBlock\]\] in a DedicatedWorkerGlobalScope]
expected: FAIL
[requires-success.any.sharedworker.html]
[requires-success]
expected: FAIL

View file

@ -1,5 +1,4 @@
[promise-rejection-events.html]
expected: TIMEOUT
[delayed handling: delaying handling rejected promise created from createImageBitmap will cause both events to fire]
expected: FAIL
@ -9,6 +8,3 @@
[no unhandledrejection/rejectionhandled: rejection handler attached synchronously to a promise created from createImageBitmap]
expected: FAIL
[rejectionhandled is dispatched from a queued task, and not immediately]
expected: TIMEOUT

View file

@ -23,6 +23,3 @@
[domainLookupStart should be 0 in cross-origin request.]
expected: FAIL
[responseEnd should be greater than 0 in cross-origin request.]
expected: FAIL

View file

@ -83,3 +83,9 @@
[X Stitched sine-wave buffers at sample rate 43800 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.0038986,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[30\]\t9.4836157560348511e-1\t9.5236867666244507e-1\t4.0071010589599609e-3\t4.2075103446311962e-3\t3.8985999999999999e-3\n\t[31\]\t9.2646563053131104e-1\t9.3139332532882690e-1\t4.9276947975158691e-3\t5.2906700783754857e-3\t3.8985999999999999e-3\n\t[32\]\t9.0087991952896118e-1\t9.0675884485244751e-1\t5.8789253234863281e-3\t6.4834496590358351e-3\t3.8985999999999999e-3\n\t[33\]\t8.7170630693435669e-1\t8.7856203317642212e-1\t6.8557262420654297e-3\t7.8033490899654511e-3\t3.8985999999999999e-3\n\t[34\]\t8.3906102180480957e-1\t8.4691369533538818e-1\t7.8526735305786133e-3\t9.2721059699818163e-3\t3.8985999999999999e-3\n\t...and 31037 more errors.\n\tMax AbsError of 1.3054461021373052e+24 at index of 20238.\n\t[20238\]\t1.3054461021373052e+24\t-4.7574958205223083e-1\t1.3054461021373052e+24\t2.7439774019475333e+24\t3.8985999999999999e-3\n\tMax RelError of 2.7439774019475333e+24 at index of 20238.\n\t[20238\]\t1.3054461021373052e+24\t-4.7574958205223083e-1\t1.3054461021373052e+24\t2.7439774019475333e+24\t3.8985999999999999e-3\n]
expected: FAIL
[X SNR (-354.903972203962 dB) is not greater than or equal to 65.737. Got -354.903972203962.]
expected: FAIL
[X Stitched sine-wave buffers at sample rate 43800 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.0038986,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[30\]\t9.4836157560348511e-1\t9.5236867666244507e-1\t4.0071010589599609e-3\t4.2075103446311962e-3\t3.8985999999999999e-3\n\t[31\]\t9.2646563053131104e-1\t9.3139332532882690e-1\t4.9276947975158691e-3\t5.2906700783754857e-3\t3.8985999999999999e-3\n\t[32\]\t9.0087991952896118e-1\t9.0675884485244751e-1\t5.8789253234863281e-3\t6.4834496590358351e-3\t3.8985999999999999e-3\n\t[33\]\t8.7170630693435669e-1\t8.7856203317642212e-1\t6.8557262420654297e-3\t7.8033490899654511e-3\t3.8985999999999999e-3\n\t[34\]\t8.3906102180480957e-1\t8.4691369533538818e-1\t7.8526735305786133e-3\t9.2721059699818163e-3\t3.8985999999999999e-3\n\t...and 31037 more errors.\n\tMax AbsError of 6.0007368809968042e+19 at index of 20238.\n\t[20238\]\t-6.0007368809968042e+19\t-4.7574958205223083e-1\t6.0007368809968042e+19\t1.2613225754422218e+20\t3.8985999999999999e-3\n\tMax RelError of 1.2613225754422218e+20 at index of 20238.\n\t[20238\]\t-6.0007368809968042e+19\t-4.7574958205223083e-1\t6.0007368809968042e+19\t1.2613225754422218e+20\t3.8985999999999999e-3\n]
expected: FAIL

View file

@ -0,0 +1,4 @@
[mediastreamaudiosourcenode-ctor.html]
[MediaStreamAudioSourceNode]
expected: FAIL

View file

@ -0,0 +1,5 @@
[mediastreamaudiosourcenode-routing.html]
expected: ERROR
[MediaStreamAudioSourceNode captures the right track.]
expected: NOTRUN

View file

@ -21,3 +21,6 @@
[lastModified set to related HTTP header if provided]
expected: FAIL
[XMLHttpRequest: responseXML document properties]
expected: FAIL

View file

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

View file

@ -61,6 +61,14 @@ promise_test(async t => {
assert_equals(comparableOutput, comparableInput);
}, 'Verify write and read clipboard [image/png Blob]');
promise_test(async t => {
const invalidPngBlob = new Blob(['this text is not a valid png image'],
{type: "image/png"});
const clipboardItemInput = new ClipboardItem({'image/png' : invalidPngBlob});
await promise_rejects(t, "DataError",
navigator.clipboard.write([clipboardItemInput]));
}, 'Verify write error on malformed data [image/png ClipboardItem]');
</script>
<p>
Note: This is a manual test because it writes/reads to the shared system

View file

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Box Alignment Level 3: parsing align-content with invalid values</title>
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-align-content">
<meta name="assert" content="align-content supports only the grammar 'normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_invalid_value("align-content", "auto");
test_invalid_value("align-content", "baseline last");
test_invalid_value("align-content", "center baseline");
test_invalid_value("align-content", "first");
test_invalid_value("align-content", "flex-start flex-end");
test_invalid_value("align-content", "last");
test_invalid_value("align-content", "left");
test_invalid_value("align-content", "legacy center");
test_invalid_value("align-content", "legacy left");
test_invalid_value("align-content", "legacy");
test_invalid_value("align-content", "normal baseline");
test_invalid_value("align-content", "right legacy");
test_invalid_value("align-content", "safe self-end");
test_invalid_value("align-content", "safe");
test_invalid_value("align-content", "self-end unsafe");
test_invalid_value("align-content", "self-start");
test_invalid_value("align-content", "start safe");
test_invalid_value("align-content", "unsafe right");
test_invalid_value("align-content", "unsafe");
</script>
</body>
</html>

View file

@ -0,0 +1,39 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Box Alignment Level 3: parsing align-content with valid values</title>
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-align-content">
<meta name="assert" content="align-content supports the full grammar 'normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_valid_value("align-content", "normal");
// <baseline-position> = [ first | last ]? baseline
test_valid_value("align-content", "baseline");
test_valid_value("align-content", "first baseline", "baseline");
test_valid_value("align-content", "last baseline");
// <content-distribution> = space-between | space-around | space-evenly | stretch
test_valid_value("align-content", "space-between");
test_valid_value("align-content", "space-around");
test_valid_value("align-content", "space-evenly");
test_valid_value("align-content", "stretch");
// <overflow-position>? <content-position>
// <overflow-position> = unsafe | safe
// <content-position> = center | start | end | flex-start | flex-end
test_valid_value("align-content", "center");
test_valid_value("align-content", "start");
test_valid_value("align-content", "end");
test_valid_value("align-content", "flex-start");
test_valid_value("align-content", "flex-end");
test_valid_value("align-content", "unsafe end");
test_valid_value("align-content", "safe flex-start");
</script>
</body>
</html>

View file

@ -0,0 +1,36 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Box Alignment Level 3: parsing align-items with invalid values</title>
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-align-items">
<meta name="assert" content="align-items supports only the grammar 'normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ]'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_invalid_value("align-items", "auto");
test_invalid_value("align-items", "baseline last");
test_invalid_value("align-items", "center baseline");
test_invalid_value("align-items", "first");
test_invalid_value("align-items", "flex-start flex-end");
test_invalid_value("align-items", "last");
test_invalid_value("align-items", "left");
test_invalid_value("align-items", "legacy center");
test_invalid_value("align-items", "legacy left");
test_invalid_value("align-items", "legacy");
test_invalid_value("align-items", "normal baseline");
test_invalid_value("align-items", "right legacy");
test_invalid_value("align-items", "safe");
test_invalid_value("align-items", "self-end unsafe");
test_invalid_value("align-items", "space-around");
test_invalid_value("align-items", "space-between");
test_invalid_value("align-items", "space-evenly");
test_invalid_value("align-items", "start safe");
test_invalid_value("align-items", "unsafe right");
test_invalid_value("align-items", "unsafe");
</script>
</body>
</html>

View file

@ -0,0 +1,36 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Box Alignment Level 3: parsing align-items with valid values</title>
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-align-items">
<meta name="assert" content="align-items supports the full grammar 'normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ]'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_valid_value("align-items", "normal");
test_valid_value("align-items", "stretch");
// <baseline-position> = [ first | last ]? baseline
test_valid_value("align-items", "baseline");
test_valid_value("align-items", "first baseline", "baseline");
test_valid_value("align-items", "last baseline");
// <overflow-position>? <self-position>
// <overflow-position> = unsafe | safe
// <self-position> = center | start | end | self-start | self-end | flex-start | flex-end
test_valid_value("align-items", "center");
test_valid_value("align-items", "start");
test_valid_value("align-items", "end");
test_valid_value("align-items", "self-start");
test_valid_value("align-items", "self-end");
test_valid_value("align-items", "flex-start");
test_valid_value("align-items", "flex-end");
test_valid_value("align-items", "unsafe center");
test_valid_value("align-items", "safe self-end");
</script>
</body>
</html>

View file

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Box Alignment Level 3: parsing align-self with invalid values</title>
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-align-self">
<meta name="assert" content="align-self supports only the grammar 'auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_invalid_value("align-self", "baseline last");
test_invalid_value("align-self", "center baseline");
test_invalid_value("align-self", "first");
test_invalid_value("align-self", "flex-start flex-end");
test_invalid_value("align-self", "last");
test_invalid_value("align-self", "left");
test_invalid_value("align-self", "legacy center");
test_invalid_value("align-self", "legacy left");
test_invalid_value("align-self", "legacy");
test_invalid_value("align-self", "normal baseline");
test_invalid_value("align-self", "right legacy");
test_invalid_value("align-self", "safe");
test_invalid_value("align-self", "self-end unsafe");
test_invalid_value("align-self", "space-around");
test_invalid_value("align-self", "space-between");
test_invalid_value("align-self", "space-evenly");
test_invalid_value("align-self", "start safe");
test_invalid_value("align-self", "unsafe right");
test_invalid_value("align-self", "unsafe");
</script>
</body>
</html>

View file

@ -0,0 +1,37 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Box Alignment Level 3: parsing align-self with valid values</title>
<link rel="help" href="https://drafts.csswg.org/css-align-3/#propdef-align-self">
<meta name="assert" content="align-self supports the full grammar 'auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_valid_value("align-self", "auto");
test_valid_value("align-self", "normal");
test_valid_value("align-self", "stretch");
// <baseline-position> = [ first | last ]? baseline
test_valid_value("align-self", "baseline");
test_valid_value("align-self", "first baseline", "baseline");
test_valid_value("align-self", "last baseline");
// <overflow-position>? <self-position>
// <overflow-position> = unsafe | safe
// <self-position> = center | start | end | self-start | self-end | flex-start | flex-end
test_valid_value("align-self", "center");
test_valid_value("align-self", "start");
test_valid_value("align-self", "end");
test_valid_value("align-self", "self-start");
test_valid_value("align-self", "self-end");
test_valid_value("align-self", "flex-start");
test_valid_value("align-self", "flex-end");
test_valid_value("align-self", "unsafe center");
test_valid_value("align-self", "safe self-end");
</script>
</body>
</html>

View file

@ -0,0 +1,36 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Box Alignment Level 3: parsing justify-content with invalid values</title>
<link rel="help" href="https://drafts.csswg.org/css-justify-3/#propdef-justify-content">
<meta name="assert" content="justify-content supports only the grammar 'normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_invalid_value("justify-content", "auto");
test_invalid_value("justify-content", "baseline last");
test_invalid_value("justify-content", "baseline");
test_invalid_value("justify-content", "center baseline");
test_invalid_value("justify-content", "first baseline");
test_invalid_value("justify-content", "first");
test_invalid_value("justify-content", "flex-start flex-end");
test_invalid_value("justify-content", "last baseline");
test_invalid_value("justify-content", "last");
test_invalid_value("justify-content", "legacy center");
test_invalid_value("justify-content", "legacy left");
test_invalid_value("justify-content", "legacy");
test_invalid_value("justify-content", "normal baseline");
test_invalid_value("justify-content", "right legacy");
test_invalid_value("justify-content", "safe self-end");
test_invalid_value("justify-content", "safe");
test_invalid_value("justify-content", "self-end unsafe");
test_invalid_value("justify-content", "self-start");
test_invalid_value("justify-content", "start safe");
test_invalid_value("justify-content", "unsafe");
</script>
</body>
</html>

View file

@ -0,0 +1,36 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Box Alignment Level 3: parsing justify-content with valid values</title>
<link rel="help" href="https://drafts.csswg.org/css-justify-3/#propdef-justify-content">
<meta name="assert" content="justify-content supports the full grammar 'normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_valid_value("justify-content", "normal");
// <content-distribution> = space-between | space-around | space-evenly | stretch
test_valid_value("justify-content", "space-between");
test_valid_value("justify-content", "space-around");
test_valid_value("justify-content", "space-evenly");
test_valid_value("justify-content", "stretch");
// <overflow-position>? [ <content-position> | left | right ]
// <overflow-position> = unsafe | safe
// <content-position> = center | start | end | flex-start | flex-end
test_valid_value("justify-content", "center");
test_valid_value("justify-content", "start");
test_valid_value("justify-content", "end");
test_valid_value("justify-content", "flex-start");
test_valid_value("justify-content", "flex-end");
test_valid_value("justify-content", "unsafe end");
test_valid_value("justify-content", "safe flex-start");
test_valid_value("justify-content", "left");
test_valid_value("justify-content", "unsafe right");
</script>
</body>
</html>

View file

@ -0,0 +1,30 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Box Alignment Level 3: parsing justify-items with invalid values</title>
<link rel="help" href="https://drafts.csswg.org/css-justify-3/#propdef-justify-items">
<meta name="assert" content="justify-items supports only the grammar 'normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ]'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_invalid_value("justify-items", "auto");
test_invalid_value("justify-items", "baseline last");
test_invalid_value("justify-items", "center baseline");
test_invalid_value("justify-items", "first");
test_invalid_value("justify-items", "flex-start flex-end");
test_invalid_value("justify-items", "last");
test_invalid_value("justify-items", "normal baseline");
test_invalid_value("justify-items", "safe");
test_invalid_value("justify-items", "self-end unsafe");
test_invalid_value("justify-items", "space-around");
test_invalid_value("justify-items", "space-between");
test_invalid_value("justify-items", "space-evenly");
test_invalid_value("justify-items", "start safe");
test_invalid_value("justify-items", "unsafe");
</script>
</body>
</html>

View file

@ -0,0 +1,44 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Box Alignment Level 3: parsing justify-items with valid values</title>
<link rel="help" href="https://drafts.csswg.org/css-justify-3/#propdef-justify-items">
<meta name="assert" content="justify-items supports the full grammar 'normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ]'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_valid_value("justify-items", "normal");
test_valid_value("justify-items", "stretch");
// <baseline-position> = [ first | last ]? baseline
test_valid_value("justify-items", "baseline");
test_valid_value("justify-items", "first baseline", "baseline");
test_valid_value("justify-items", "last baseline");
// <overflow-position>? [ <self-position> | left | right ]
// <overflow-position> = unsafe | safe
// <self-position> = center | start | end | self-start | self-end | flex-start | flex-end
test_valid_value("justify-items", "center");
test_valid_value("justify-items", "start");
test_valid_value("justify-items", "end");
test_valid_value("justify-items", "self-start");
test_valid_value("justify-items", "self-end");
test_valid_value("justify-items", "flex-start");
test_valid_value("justify-items", "flex-end");
test_valid_value("justify-items", "unsafe center");
test_valid_value("justify-items", "safe self-end");
test_valid_value("justify-items", "right");
test_valid_value("justify-items", "safe left");
// legacy | legacy && [ left | right | center ]
test_valid_value("justify-items", "legacy");
test_valid_value("justify-items", "left legacy", "legacy left");
test_valid_value("justify-items", "right legacy", "legacy right");
test_valid_value("justify-items", "center legacy", "legacy center");
</script>
</body>
</html>

View file

@ -0,0 +1,33 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Box Alignment Level 3: parsing justify-self with invalid values</title>
<link rel="help" href="https://drafts.csswg.org/css-justify-3/#propdef-justify-self">
<meta name="assert" content="justify-self supports only the grammar 'auto | normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ]'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_invalid_value("justify-self", "baseline last");
test_invalid_value("justify-self", "center baseline");
test_invalid_value("justify-self", "first");
test_invalid_value("justify-self", "flex-start flex-end");
test_invalid_value("justify-self", "last");
test_invalid_value("justify-self", "legacy center");
test_invalid_value("justify-self", "legacy left");
test_invalid_value("justify-self", "legacy");
test_invalid_value("justify-self", "normal baseline");
test_invalid_value("justify-self", "right legacy");
test_invalid_value("justify-self", "safe");
test_invalid_value("justify-self", "self-end unsafe");
test_invalid_value("justify-self", "space-around");
test_invalid_value("justify-self", "space-between");
test_invalid_value("justify-self", "space-evenly");
test_invalid_value("justify-self", "start safe");
test_invalid_value("justify-self", "unsafe");
</script>
</body>
</html>

View file

@ -0,0 +1,39 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS Box Alignment Level 3: parsing justify-self with valid values</title>
<link rel="help" href="https://drafts.csswg.org/css-justify-3/#propdef-justify-self">
<meta name="assert" content="justify-self supports the full grammar 'auto | normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ]'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
</head>
<body>
<script>
test_valid_value("justify-self", "auto");
test_valid_value("justify-self", "normal");
test_valid_value("justify-self", "stretch");
// <baseline-position> = [ first | last ]? baseline
test_valid_value("justify-self", "baseline");
test_valid_value("justify-self", "first baseline", "baseline");
test_valid_value("justify-self", "last baseline");
// <overflow-position>? [ <self-position> | left | right ]
// <overflow-position> = unsafe | safe
// <self-position> = center | start | end | self-start | self-end | flex-start | flex-end
test_valid_value("justify-self", "center");
test_valid_value("justify-self", "start");
test_valid_value("justify-self", "end");
test_valid_value("justify-self", "self-start");
test_valid_value("justify-self", "self-end");
test_valid_value("justify-self", "flex-start");
test_valid_value("justify-self", "flex-end");
test_valid_value("justify-self", "unsafe center");
test_valid_value("justify-self", "safe self-end");
test_valid_value("justify-self", "left");
test_valid_value("justify-self", "unsafe right");
</script>
</body>
</html>

View file

@ -12,7 +12,6 @@
<script src="/css/support/inheritance-testcommon.js"></script>
<style>
#box {
font: initial;
font-size: medium;
}
</style>
@ -25,10 +24,9 @@
<script>
'use strict';
const box = document.getElementById('box');
const initialFontFamily = getComputedStyle(box).fontFamily;
const mediumFontSize = getComputedStyle(box).fontSize;
assert_inherited('font-family', initialFontFamily, '"Not Initial!"');
assert_inherited('font-family', null, '"Not Initial!"'); // Initial value depends on user agent.
assert_inherited('font-feature-settings', 'normal', '"smcp", "swsh" 2');
assert_inherited('font-kerning', 'auto', 'none');
assert_inherited('font-size', mediumFontSize /* medium */, '123px');

View file

@ -0,0 +1,49 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>Test flow-relative versions of overscroll-behavior properties</title>
<link rel="author" title="Majid Valipour">
<link rel="help" href="https://drafts.csswg.org/css-overscroll-behavior-1/#overscroll-behavior-longhands-logical">
<link rel="help" href="https://drafts.csswg.org/css-logical/#box">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style>
div {
overscroll-behavior-block: contain;
overscroll-behavior-inline: none;
}
#horizontal {
writing-mode: horizontal-tb;
}
#vertical {
writing-mode: vertical-rl;
}
#horizontalreversed {
writing-mode: horizontal-tb;
direction: rtl;
}
</style>
<body>
<div id="horizontal"></div>
<div id="vertical"></div>
<div id="horizontalreversed"></div>
</body>
<script>
test(function() {
var element = document.getElementById("horizontal");
assert_equals(getComputedStyle(element).overscrollBehaviorX, "none");
assert_equals(getComputedStyle(element).overscrollBehaviorY, "contain");
}, "Logical overscroll-behavior maps correctly when element has horizontal-tb writing mode");
test(function() {
var element = document.getElementById("vertical");
assert_equals(getComputedStyle(element).overscrollBehaviorX, "contain");
assert_equals(getComputedStyle(element).overscrollBehaviorY, "none");
}, "Logical overscroll-behavior maps correctly when element has vertical-rl writing mode");
test(function() {
var element = document.getElementById("horizontalreversed");
assert_equals(getComputedStyle(element).overscrollBehaviorX, "none");
assert_equals(getComputedStyle(element).overscrollBehaviorY, "contain");
}, "Logical overscroll-behavior maps correctly when element has horizontal-tb writing mode and is not affected by rtl direction");
</script>

View file

@ -6,6 +6,8 @@
<link rel="help" href="https://drafts.csswg.org/css-overscroll-behavior/#overscroll-behavior-properties">
<meta name="assert" content="overscroll-behavior-x computed value is as specified.">
<meta name="assert" content="overscroll-behavior-y computed value is as specified.">
<meta name="assert" content="overscroll-behavior-inline computed value is as specified.">
<meta name="assert" content="overscroll-behavior-block computed value is as specified.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/computed-testcommon.js"></script>
@ -14,7 +16,7 @@
<div id="target"></div>
<script>
'use strict';
for (let property of ["overscroll-behavior-x", "overscroll-behavior-y"]) {
for (let property of ["overscroll-behavior-x", "overscroll-behavior-y", "overscroll-behavior-inline", "overscroll-behavior-block"]) {
test_computed_value(property, "contain");
test_computed_value(property, "none");
test_computed_value(property, "auto");

View file

@ -18,7 +18,7 @@ test_invalid_value("overscroll-behavior", "0");
test_invalid_value("overscroll-behavior", "contain contain contain");
for (let property of ["overscroll-behavior-x", "overscroll-behavior-y"]) {
for (let property of ["overscroll-behavior-x", "overscroll-behavior-y", "overscroll-behavior-inline", "overscroll-behavior-block"]) {
test_invalid_value(property, "normal");
test_invalid_value(property, "0");
test_invalid_value(property, "contain contain");

View file

@ -26,7 +26,7 @@ test_valid_value("overscroll-behavior", "none none", "none");
test_valid_value("overscroll-behavior", "auto auto", "auto");
for (let property of ["overscroll-behavior-x", "overscroll-behavior-y"]) {
for (let property of ["overscroll-behavior-x", "overscroll-behavior-y", "overscroll-behavior-inline", "overscroll-behavior-block"]) {
test_valid_value(property, "contain");
test_valid_value(property, "none");
test_valid_value(property, "auto");

View file

@ -0,0 +1,11 @@
<!DOCTYPE html>
<link rel="help" href="https://crbug.com/982403" />
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht">
<meta name="assert" content="Tests the static position of an inline-level absolute-positioned element." />
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<div style="overflow: hidden;">
<div style="float: left; width: 100px; height: 50px; background: green;"></div>
<div style="clear: both; width: 100px; height: 50px; background: red;">
<div style="position: absolute; display: inline; width: 100px; height: 50px; background: green;"></div>
</div>
</div>

View file

@ -0,0 +1,12 @@
<!DOCTYPE html>
<link rel="help" href="https://crbug.com/982403" />
<link rel="match" href="../../reference/ref-filled-green-100px-square.xht">
<meta name="assert" content="Tests the static position of an inline-level absolute-positioned element." />
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<div style="overflow: hidden;">
<div style="float: left; width: 100px; height: 50px; background: green;"></div>
<div style="clear: both; width: 100px; height: 50px; background: red;">
<div></div>
<div style="position: absolute; display: inline; width: 100px; height: 50px; background: green;"></div>
</div>
</div>

View file

@ -6,7 +6,6 @@
<style>
body {
margin: 0px;
overflow: scroll;
scroll-snap-type: both mandatory;
}
#content {
@ -22,6 +21,7 @@ body {
width: 400px;
height: 400px;
background-color: lightblue;
overflow: hidden;
scroll-snap-align: start;
}
#i1 {
@ -74,10 +74,13 @@ button.onclick = function() {
if (!scrolled_x || !scrolled_y)
return;
snap_test.step(() => {
assert_equals(window.scrollX, target.offsetLeft,
"window.scrollX should be at snapped position.");
assert_equals(window.scrollY, target.offsetTop,
"window.scrollY should be at snapped position.");
});
// To make the test result visible.
var content = document.getElementById("content");
body.removeChild(content);

View file

@ -0,0 +1,36 @@
<!doctype html>
<link rel="author" title="David Grogan" href="mailto:dgrogan@chromium.org">
<link rel="help" href="https://www.w3.org/TR/css-position-3/#def-cb">
<link rel="match" href="../reference/ref-filled-green-100px-square-only.html">
<link rel="bookmark" href="https://crbug.com/977507" />
<meta name="flags" content="" />
<meta name="assert" content="Abspos table works when it is dynamically added" />
<style>
table {
border-spacing: 0px;
}
td {
padding: 0px;
}
.outerTable {
height: 100px;
width: 100px;
position: relative;
}
.innerTable {
position: absolute;
top: 0px;
width: 100px;
height: 100%;
color: green;
background: green;
}
</style>
<p>Test passes if there is a filled green square.</p>
<table class=outerTable>
<td id=outerCell></td>
</table>
<script>
outerCell.innerHTML = "<table class=innerTable><td>some text</td></table>";
</script>

View file

@ -0,0 +1,23 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Non-reference case for text-underline-offset</title>
<style>
#text{
border: black dashed;
overflow-y: auto;
height: 5em;
width: 20em;
font: 20px/1 Ahem;
color: transparent;
text-decoration: red underline;
text-decoration-skip-ink: none;
}
</style>
</head>
<body>
<div>Test fails if there is a red line or scrollbar in the dashed area</div>
<div id="text">XXXXXXX</div>
</body>
</html>

View file

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Reference case for text-underline-offset</title>
<style>
#text{
border: black dashed;
height: 5em;
width: 20em;
font: 20px/1 Ahem;
color: transparent;
}
</style>
</head>
<body>
<div>Test fails if there is a red line or scrollbar in the dashed area</div>
<div id="text">XXXXXXX</div>
</body>
</html>

View file

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Reference case for text-underline-offset</title>
<style>
span{
font: 20px/1 Ahem;
color: transparent;
writing-mode: vertical-lr;
text-decoration: green underline;
text-decoration-skip-ink: none;
text-underline-offset: 0;
}
</style>
</head>
<body>
<div>Test passes if the underline is vertical and close to the word left</div>
<div>left<span>XXXXX</span></div>
</body>
</html>

View file

@ -0,0 +1,28 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Reference case for text-underline-offset</title>
<style>
div{
font: 20px/1 Ahem;
margin-left: 5em;
}
#text{
color: transparent;
writing-mode: sideways-lr;
text-decoration: green underline;
text-decoration-skip-ink: none;
text-underline-offset: 0;
margin-left: 5em;
}
</style>
</head>
<body>
<p>Test passes if the underline is further to the right of the text</p>
<div>
<p>XXXX</p>
<span id="text">XXXXX</span>
</div>
</body>
</html>

View file

@ -0,0 +1,38 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Test case for text-underline-offset</title>
<meta name="assert" content="text-underline-offset should influence the placement of the underline">
<link rel="author" title="Charlie Marlow" href="mailto:cmarlow@mozilla.com">
<link rel="author" title="Mozilla" href="https://www.mozilla.org">
<link rel="help" href="https://drafts.csswg.org/css-text-decor-4/#underline-offset">
<link rel="match" href="reference/text-underline-offset-scroll-001-ref.html">
<link rel="mismatch" href="reference/text-underline-offset-scroll-001-notref.html">
<style>
/*
* Testing to make sure that positioning the underline
* outside of the scrollframe does not create scrollable
* overflow and is not visible outside of the div
*/
#scroll{
border: black dashed;
overflow-y: auto;
height: 5em;
width: 20em;
font: 20px/1 Ahem;
}
#text{
color: transparent;
text-decoration: red underline;
text-decoration-skip-ink: none;
text-underline-offset: 5em;
}
</style>
</head>
<body>
<div>Test fails if there is a red line or scrollbar in the dashed area</div>
<div id="scroll"><span id="text">XXXXXXX</span></div>
</body>
</html>

View file

@ -0,0 +1,27 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Test case for text-underline-offset</title>
<meta name="assert" content="text-underline-offset should influence the placement of the underline">
<link rel="author" title="Charlie Marlow" href="mailto:cmarlow@mozilla.com">
<link rel="author" title="Mozilla" href="https://www.mozilla.org">
<link rel="help" href="https://drafts.csswg.org/css-text-decor-4/#underline-offset">
<link rel="match" href="reference/text-underline-offset-vertical-001-ref.html">
<style>
span{
margin-left: 5em;
font: 20px/1 Ahem;
color: transparent;
writing-mode: vertical-lr;
text-decoration: green underline;
text-decoration-skip-ink: none;
text-underline-offset: 5em;
}
</style>
</head>
<body>
<div>Test passes if the underline is vertical and close to the word left</div>
<div>left<span>XXXXX</span></div>
</body>
</html>

View file

@ -0,0 +1,32 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Test case for text-underline-offset</title>
<meta name="assert" content="text-underline-offset should influence the placement of the underline">
<link rel="author" title="Charlie Marlow" href="mailto:cmarlow@mozilla.com">
<link rel="author" title="Mozilla" href="https://www.mozilla.org">
<link rel="help" href="https://drafts.csswg.org/css-text-decor-4/#underline-offset">
<link rel="match" href="reference/text-underline-offset-vertical-002-ref.html">
<style>
div{
font: 20px/1 Ahem;
margin-left: 5em;
}
#text{
color: transparent;
writing-mode: sideways-lr;
text-decoration: green underline;
text-decoration-skip-ink: none;
text-underline-offset: 5em;
}
</style>
</head>
<body>
<p>Test passes if the underline is further to the right of the text</p>
<div>
<p>XXXX</p>
<span id="text">XXXXX</span>
</div>
</body>
</html>

View file

@ -33,6 +33,7 @@ function assert_initial(property, initial) {
* value.
*/
function assert_inherited(property, initial, other) {
if (initial)
assert_initial(property, initial);
test(() => {

View file

@ -1,54 +0,0 @@
<!DOCTYPE HTML>
<meta charset=utf-8>
<title>Element Timing: observe elements from same-origin iframes</title>
<body>
<style>
body {
margin: 0;
}
</style>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="resources/element-timing-helpers.js"></script>
<script>
async_test((t) => {
if (!window.PerformanceElementTiming) {
assert_unreached("PerformanceElementTiming is not implemented");
}
let beforeRender;
let img;
const img_src = 'http://{{domains[www]}}:{{ports[http][1]}}/element-timing/'
+ 'resources/TAOImage.py?tao=wildcard';
const observer = new PerformanceObserver(
t.step_func_done((entryList) => {
assert_equals(entryList.getEntries().length, 1);
const entry = entryList.getEntries()[0];
checkElement(entry, img_src, 'my_image', 'my_id', beforeRender, img);
// Assume viewport has size at least 20, so the element is fully visible.
checkRect(entry, [0, 20, 0, 20]);
checkNaturalSize(entry, 20, 20);
})
);
observer.observe({entryTypes: ['element']});
// We add the image during onload to be sure that the observer is registered
// in time for it to observe the element timing.
// TODO(npm): change observer to use buffered flag.
window.onload = t.step_func(() => {
img = document.createElement('img');
img.src = img_src;
img.setAttribute('elementtiming', 'my_image');
img.setAttribute('id', 'my_id');
img.onload = t.step_func(() => {
// After a short delay, assume that the entry was not dispatched.
t.step_timeout(() => {
assert_unreached("Should have received an entry!");
t.done();
}, 100);
});
document.body.appendChild(img);
beforeRender = performance.now();
});
}, 'Cross-origin element with wildcard TAO is observed.');
</script>
</body>

View file

@ -0,0 +1,56 @@
<!DOCTYPE HTML>
<meta charset=utf-8>
<title>Element Timing: observe cross origin images with various Timing-Allow-Origin headers</title>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="resources/element-timing-helpers.js"></script>
<script>
async_test(t => {
if (!window.PerformanceElementTiming) {
assert_unreached("PerformanceElementTiming is not implemented");
}
const beforeRender = performance.now();
const remote_img = 'http://{{domains[www]}}:{{ports[http][1]}}/element-timing/resources/TAOImage.py?'
+ 'origin=' + window.location.origin +'&tao=';
const valid_tao = ['wildcard', 'origin', 'multi', 'multi_wildcard', 'match_origin', 'match_wildcard'];
function addImage(tao) {
const img = document.createElement('img');
img.src = remote_img + tao;
img.setAttribute('elementtiming', tao);
img.id = 'id_' + tao;
document.body.appendChild(img);
}
valid_tao.forEach(tao => {
addImage(tao);
});
const invalid_tao = ['null', 'space', 'uppercase'];
invalid_tao.forEach(tao => {
addImage(tao);
});
let img_count = 0;
const total_images = valid_tao.length + invalid_tao.length;
new PerformanceObserver(
t.step_func(entryList => {
entryList.getEntries().forEach(entry => {
img_count++;
const tao = entry.identifier;
const img = document.getElementById('id_' + tao);
if (valid_tao.includes(tao)) {
checkElement(entry, remote_img + tao, tao, 'id_' + tao, beforeRender, img);
} else if (invalid_tao.includes(tao)) {
assert_equals(entry.startTime, 0, 'Entry with tao=' + tao + ' must have a startTime of 0');
checkElement(entry, remote_img + tao, tao, 'id_' + tao, 0, img);
}
else {
assert_unreached('Should be in one of valid_tao OR invalid_tao');
}
checkNaturalSize(entry, 20, 20);
if (img_count == total_images)
t.done();
});
})
).observe({type: 'element', buffered: true});
}, 'Cross-origin elements with valid TAO have correct startTime, with invalid TAO have startTime set to 0.');
</script>
</body>

View file

@ -1,7 +1,7 @@
import os
def main(request, response):
origin = request.GET.first('origin', '');
origin = request.GET.first('origin')
if origin:
response.headers.set('Access-Control-Allow-Origin', origin)

View file

@ -1,6 +0,0 @@
[
{
"id": "event-definitions-0",
"original_id": "event-definitions-0"
}
]

View file

@ -1,6 +0,0 @@
[
{
"id": "event-definition",
"original_id": "event-definition"
}
]

View file

@ -1,6 +0,0 @@
[
{
"id": "security-location",
"original_id": "security-location"
}
]

View file

@ -1,10 +0,0 @@
[
{
"id": "supporting-offline-caching-for-legacy-applications",
"original_id": "supporting-offline-caching-for-legacy-applications"
},
{
"id": "appcacheevents",
"original_id": "appcacheevents"
}
]

View file

@ -1,14 +0,0 @@
[
{
"id": "some-sample-manifests",
"original_id": "some-sample-manifests"
},
{
"id": "writing-cache-manifests",
"original_id": "writing-cache-manifests"
},
{
"id": "parsing-cache-manifests",
"original_id": "parsing-cache-manifests"
}
]

View file

@ -1,6 +0,0 @@
[
{
"id": "navigating-auxiliary-browsing-contexts-in-the-dom",
"original_id": "navigating-auxiliary-browsing-contexts-in-the-dom"
}
]

View file

@ -1,6 +0,0 @@
[
{
"id": "navigating-nested-browsing-contexts-in-the-dom",
"original_id": "navigating-nested-browsing-contexts-in-the-dom"
}
]

View file

@ -1,48 +0,0 @@
[
{
"id": "kinds-of-content",
"original_id": "kinds-of-content",
"children": [
{
"id": "metadata-content",
"original_id": "metadata-content"
},
{
"id": "flow-content",
"original_id": "flow-content"
},
{
"id": "sectioning-content",
"original_id": "sectioning-content"
},
{
"id": "heading-content",
"original_id": "heading-content"
},
{
"id": "phrasing-content",
"original_id": "phrasing-content"
},
{
"id": "embedded-content",
"original_id": "embedded-content"
},
{
"id": "interactive-content",
"original_id": "interactive-content"
},
{
"id": "palpable-content",
"original_id": "palpable-content"
}
]
},
{
"id": "transparent-content-models",
"original_id": "transparent-content-models"
},
{
"id": "paragraphs",
"original_id": "paragraphs"
}
]

View file

@ -1,6 +0,0 @@
[
{
"id": "attributes",
"original_id": "attributes"
}
]

View file

@ -1,38 +0,0 @@
[
{
"id": "the-id-attribute",
"original_id": "the-id-attribute"
},
{
"id": "the-title-attribute",
"original_id": "the-title-attribute"
},
{
"id": "the-lang-and-xml-lang-attributes",
"original_id": "the-lang-and-xml:lang-attributes"
},
{
"id": "the-translate-attribute",
"original_id": "the-translate-attribute"
},
{
"id": "the-xml-base-attribute-xml-only",
"original_id": "the-xml:base-attribute-(xml-only)"
},
{
"id": "the-dir-attribute",
"original_id": "the-dir-attribute"
},
{
"id": "classes",
"original_id": "classes"
},
{
"id": "the-style-attribute",
"original_id": "the-style-attribute"
},
{
"id": "embedding-custom-non-visible-data-with-the-data-attributes",
"original_id": "embedding-custom-non-visible-data-with-the-data-*-attributes"
}
]

View file

@ -1,18 +0,0 @@
[
{
"id": "aria-role-attribute",
"original_id": "aria-role-attribute"
},
{
"id": "state-and-property-attributes",
"original_id": "state-and-property-attributes"
},
{
"id": "sec-strong-native-semantics",
"original_id": "sec-strong-native-semantics"
},
{
"id": "sec-implicit-aria-semantics",
"original_id": "sec-implicit-aria-semantics"
}
]

View file

@ -1,14 +0,0 @@
[
{
"id": "htmlallcollection",
"original_id": "htmlallcollection"
},
{
"id": "htmlformcontrolscollection",
"original_id": "htmlformcontrolscollection"
},
{
"id": "htmloptionscollection",
"original_id": "htmloptionscollection"
}
]

View file

@ -1,42 +0,0 @@
[
{
"id": "months",
"original_id": "months"
},
{
"id": "dates",
"original_id": "dates"
},
{
"id": "yearless-dates",
"original_id": "yearless-dates"
},
{
"id": "times",
"original_id": "times"
},
{
"id": "local-dates-and-times",
"original_id": "local-dates-and-times"
},
{
"id": "time-zones",
"original_id": "time-zones"
},
{
"id": "global-dates-and-times",
"original_id": "global-dates-and-times"
},
{
"id": "weeks",
"original_id": "weeks"
},
{
"id": "durations",
"original_id": "durations"
},
{
"id": "vaguer-moments-in-time",
"original_id": "vaguer-moments-in-time"
}
]

View file

@ -1,26 +0,0 @@
[
{
"id": "signed-integers",
"original_id": "signed-integers"
},
{
"id": "non-negative-integers",
"original_id": "non-negative-integers"
},
{
"id": "floating-point-numbers",
"original_id": "floating-point-numbers"
},
{
"id": "percentages-and-dimensions",
"original_id": "percentages-and-dimensions"
},
{
"id": "lists-of-integers",
"original_id": "lists-of-integers"
},
{
"id": "lists-of-dimensions",
"original_id": "lists-of-dimensions"
}
]

View file

@ -33,6 +33,7 @@ const valid_values = [
[ "1007", "1007px" ],
[ " 00523 ", "523px" ],
[ "200.25", "200.25px" ],
[ "200.7", "200.7px" ],
[ "200.", "200px" ],
[ "+200", "200px" ],
[ "200in", "200px" ],
@ -99,39 +100,60 @@ function newImageInput() {
* Array of tests. Each test consists of the following information:
*
* 1) An element creation function.
* 2) The name of the attribute to set (and CSS property to get).
* 3) A boolean indicating whether 0 is a valid value for the dimension
* 2) The name of the attribute to set
* 3) The name of the CSS property to get.
* 4) A boolean indicating whether 0 is a valid value for the dimension
* attribute.
*/
const tests = [
[ newElem("hr"), "width", true ],
[ newElem("iframe"), "width", true ],
[ newElem("iframe"), "height", true ],
[ newImageInput(), "width", true ],
[ newImageInput(), "height", true ],
[ newElem("marquee"), "width", true ],
[ newElem("marquee"), "height", true ],
[ newElem("video"), "width", true ],
[ newElem("video"), "height", true ],
[ newElem("object"), "width", true ],
[ newElem("object"), "height", true ],
[ newElem("embed"), "width", true ],
[ newElem("embed"), "height", true ],
[ newElem("img"), "width", true ],
[ newElem("img"), "height", true ],
[ newElem("td"), "width", false ],
[ newElem("td"), "height", false ],
[ newElem("hr"), "width", "width", true ],
[ newElem("iframe"), "width", "width", true ],
[ newElem("iframe"), "height", "height", true ],
[ newImageInput(), "width", "width", true ],
[ newImageInput(), "height", "height", true ],
[ newElem("marquee"), "width", "width", true ],
[ newElem("marquee"), "height", "height", true ],
[ newElem("video"), "width", "width", true ],
[ newElem("video"), "height", "height", true ],
[ newElem("object"), "width", "width", true ],
[ newElem("object"), "height", "height", true ],
[ newElem("embed"), "width", "width", true ],
[ newElem("embed"), "height", "height", true ],
[ newElem("img"), "width", "width", true ],
[ newElem("img"), "height", "height", true ],
[ newElem("td"), "width", "width", false ],
[ newElem("td"), "height", "height", false ],
// https://github.com/whatwg/html/issues/4715 tracks the fact that for
// <table width> and <table height> the "0 is valid" boolean should probably
// be true.
[ newElem("table"), "width", false ],
[ newElem("table"), "height", false ],
[ newElem("table"), "width", "width", false ],
[ newElem("table"), "height", "height", false ],
// https://github.com/whatwg/html/issues/4716 tracks the fact that for the
// <tr height> case that "0 is valid" boolean should probably be true.
[ newElem("tr"), "height", false ],
[ newElem("tr"), "height", "height", false ],
// https://github.com/whatwg/html/issues/4717 tracks the fact that for the
// <col width> case that "0 is valid" boolean should probably be true.
[ newElem("col"), "width", false ],
[ newElem("col"), "width", "width", false ],
[ newElem("embed"), "hspace", "marginLeft", true ],
[ newElem("embed"), "hspace", "marginRight", true ],
[ newElem("embed"), "vspace", "marginTop", true ],
[ newElem("embed"), "vspace", "marginBottom", true ],
[ newElem("img"), "hspace", "marginLeft", true ],
[ newElem("img"), "hspace", "marginRight", true ],
[ newElem("img"), "vspace", "marginTop", true ],
[ newElem("img"), "vspace", "marginBottom", true ],
[ newElem("object"), "hspace", "marginLeft", true ],
[ newElem("object"), "hspace", "marginRight", true ],
[ newElem("object"), "vspace", "marginTop", true ],
[ newElem("object"), "vspace", "marginBottom", true ],
[ newImageInput(), "hspace", "marginLeft", true ],
[ newImageInput(), "hspace", "marginRight", true ],
[ newImageInput(), "vspace", "marginTop", true ],
[ newImageInput(), "vspace", "marginBottom", true ],
[ newElem("marquee"), "hspace", "marginLeft", true ],
[ newElem("marquee"), "hspace", "marginRight", true ],
[ newElem("marquee"), "vspace", "marginTop", true ],
[ newElem("marquee"), "vspace", "marginBottom", true ],
];
@ -141,7 +163,7 @@ function style(element) {
const container = document.getElementById("container");
for (let [ctor, attr, zero_allowed] of tests) {
for (let [ctor, attr, prop, zero_allowed] of tests) {
let valid, invalid;
if (zero_allowed) {
valid = valid_values_with_0;
@ -157,13 +179,13 @@ for (let [ctor, attr, zero_allowed] of tests) {
elem.setAttribute(attr, value);
assert_equals(elem.getAttribute(attr), value);
container.appendChild(elem);
assert_equals(style(elem)[attr], result);
}, `<${elem.localName} ${attr}="${value}"> mapping`);
assert_equals(style(elem)[prop], result);
}, `<${elem.localName} ${attr}="${value}"> mapping to ${prop}`);
}
let default_elem = ctor();
container.appendChild(default_elem);
let defaultVal = style(default_elem)[attr];
let defaultVal = style(default_elem)[prop];
default_elem.remove();
for (let value of invalid) {
let elem = ctor();
@ -172,8 +194,8 @@ for (let [ctor, attr, zero_allowed] of tests) {
elem.setAttribute(attr, value);
assert_equals(elem.getAttribute(attr), value);
container.appendChild(elem);
assert_equals(style(elem)[attr], defaultVal);
}, `<${elem.localName} ${attr}="${value}"> mapping`);
assert_equals(style(elem)[prop], defaultVal);
}, `<${elem.localName} ${attr}="${value}"> mapping to ${prop}`);
}
}
</script>

View file

@ -1,11 +1,18 @@
<!doctype html>
<meta charset=utf-8>
<!-- Creating iframes is slow in browsers -->
<meta name=timeout content=long>
<title>Test handling of attributes that map to pixel length properties</title>
<link rel="help"
href="https://html.spec.whatwg.org/multipage/rendering.html#maps-to-the-pixel-length-property">
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<body>
<div id="container" style="display: none">
<img id="defaultImg">
<object id="defaultObject"></object>
<input type="image" id="defaultInput"></input>
</div>
<script>
/*
* This test tests
@ -69,8 +76,42 @@ const tests = [
[ createFrame, "marginwidth", "marginRight", document.body ],
[ createFrame, "marginheight", "marginTop", document.body ],
[ createFrame, "marginheight", "marginBottom", document.body ],
[ createBody, "marginwidth", "marginLeft", document.body ],
[ createBody, "marginwidth", "marginRight", document.body ],
[ createBody, "leftmargin", "marginLeft", document.body ],
[ createBody, "rightmargin", "marginRight", document.body ],
[ createBody, "marginheight", "marginTop", document.body ],
[ createBody, "marginheight", "marginBottom", document.body ],
[ createBody, "topmargin", "marginTop", document.body ],
[ createBody, "bottommargin", "marginBottom", document.body ],
[ newElem("img"), "border", "borderTopWidth", defaultImg ],
[ newElem("img"), "border", "borderRightWidth", defaultImg ],
[ newElem("img"), "border", "borderBottomWidth", defaultImg ],
[ newElem("img"), "border", "borderLeftWidth", defaultImg ],
[ newElem("object"), "border", "borderTopWidth", defaultObject ],
[ newElem("object"), "border", "borderRightWidth", defaultObject ],
[ newElem("object"), "border", "borderBottomWidth", defaultObject ],
[ newElem("object"), "border", "borderLeftWidth", defaultObject ],
[ newImageInput, "border", "borderTopWidth", defaultInput ],
[ newImageInput, "border", "borderRightWidth", defaultInput ],
[ newImageInput, "border", "borderBottomWidth", defaultInput ],
[ newImageInput, "border", "borderLeftWidth", defaultInput ],
];
function newElem(name) {
return () => {
var elem = document.createElement(name);
document.getElementById("container").appendChild(elem);
return [ elem, elem, () => elem.remove() ];
}
}
function newImageInput() {
var elem = document.createElement("input");
elem.type = "image";
document.getElementById("container").appendChild(elem);
return [ elem, elem, () => elem.remove() ];
}
function createIframe() {
let ifr = document.createElement("iframe");
@ -78,6 +119,12 @@ function createIframe() {
return [ ifr, ifr.contentDocument.body, () => ifr.remove() ];
}
function createBody() {
let ifr = document.createElement("iframe");
document.body.appendChild(ifr);
return [ ifr.contentDocument.body, ifr.contentDocument.body, () => ifr.remove() ];
}
function createFrame() {
// We need to create a separate iframe to put our frameset into.
let ifr = document.createElement("iframe");

View file

@ -0,0 +1,91 @@
<!doctype html>
<meta charset=utf-8>
<title>Test handling of attributes that should not be mapped into style, but
incorrectly were in some browsers</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<body>
<div id="container" style="display: none"></div>
<iframe></iframe>
<script>
/*
* We wand to test both quirks and standards mode. We can use the fact that
* our document is in standards mode and the about:blank iframe we have is in
* quirks mode.
*/
test(() => {
assert_equals(document.compatMode, "CSS1Compat")
}, "We should be in standards mode");
const container = document.getElementById("container");
const frameDoc = document.querySelector("iframe").contentDocument;
test(() => {
assert_equals(frameDoc.compatMode, "BackCompat")
}, "Subframe should be in quirks mode");
const frameContainer = frameDoc.createElement("div");
frameContainer.style.display = "none";
frameDoc.body.appendChild(frameContainer);
function newElem(name) {
return (parent) =>
parent.appendChild(parent.ownerDocument.createElement(name));
}
/*
* Array of tests. Each test consists of the following information:
*
* 1) An element creation function, which takes a parent element as an
* argument.
* 2) The name of the attribute to set
* 3) The name of the CSS property to get.
*/
const tests = [
[ newElem("table"), "hspace", "marginLeft" ],
[ newElem("table"), "hspace", "marginRight" ],
[ newElem("table"), "vspace", "marginTop" ],
[ newElem("table"), "vspace", "marginBottom" ],
[ newElem("embed"), "border", "borderTopWidth" ],
[ newElem("embed"), "border", "borderRightWidth" ],
[ newElem("embed"), "border", "borderBottomWidth" ],
[ newElem("embed"), "border", "borderLeftWidth" ],
[ newElem("iframe"), "border", "borderTopWidth" ],
[ newElem("iframe"), "border", "borderRightWidth" ],
[ newElem("iframe"), "border", "borderBottomWidth" ],
[ newElem("iframe"), "border", "borderLeftWidth" ],
[ newElem("marquee"), "border", "borderTopWidth" ],
[ newElem("marquee"), "border", "borderRightWidth" ],
[ newElem("marquee"), "border", "borderBottomWidth" ],
[ newElem("marquee"), "border", "borderLeftWidth" ],
// Non-image input
[ newElem("input"), "border", "borderTopWidth" ],
[ newElem("input"), "border", "borderRightWidth" ],
[ newElem("input"), "border", "borderBottomWidth" ],
[ newElem("input"), "border", "borderLeftWidth" ],
[ newElem("input"), "width", "width" ],
[ newElem("input"), "height", "height" ],
[ newElem("input"), "hspace", "marginLeft" ],
[ newElem("input"), "hspace", "marginRight" ],
[ newElem("input"), "vspace", "marginTop" ],
[ newElem("input"), "vspace", "marginBottom" ],
];
function style(element) {
return element.ownerDocument.defaultView.getComputedStyle(element);
}
for (let [ctor, attr, prop] of tests) {
for (let parent of [container, frameContainer]) {
let elem = ctor(parent);
test(function() {
let default_elem = ctor(parent);
this.add_cleanup(() => {
elem.remove();
default_elem.remove();
});
elem.setAttribute(attr, "200");
assert_equals(elem.getAttribute(attr), "200");
assert_equals(style(elem)[prop], style(default_elem)[prop]);
}, `<${elem.localName} ${attr}> should not be mapped to style ${prop} in ${parent.ownerDocument.compatMode} mode`);
}
}
</script>

View file

@ -1,22 +0,0 @@
[
{
"id": "standard-metadata-names",
"original_id": "standard-metadata-names"
},
{
"id": "other-metadata-names",
"original_id": "other-metadata-names"
},
{
"id": "pragma-directives",
"original_id": "pragma-directives"
},
{
"id": "other-pragma-directives",
"original_id": "other-pragma-directives"
},
{
"id": "charset",
"original_id": "charset"
}
]

View file

@ -1,10 +0,0 @@
[
{
"id": "authoring",
"original_id": "authoring"
},
{
"id": "image-map-processing-model",
"original_id": "image-map-processing-model"
}
]

View file

@ -1,132 +0,0 @@
[
{
"id": "error-codes",
"original_id": "error-codes"
},
{
"id": "location-of-the-media-resource",
"original_id": "location-of-the-media-resource"
},
{
"id": "mime-types",
"original_id": "mime-types"
},
{
"id": "network-states",
"original_id": "network-states"
},
{
"id": "loading-the-media-resource",
"original_id": "loading-the-media-resource"
},
{
"id": "offsets-into-the-media-resource",
"original_id": "offsets-into-the-media-resource"
},
{
"id": "ready-states",
"original_id": "ready-states"
},
{
"id": "playing-the-media-resource",
"original_id": "playing-the-media-resource"
},
{
"id": "seeking",
"original_id": "seeking"
},
{
"id": "media-resources-with-multiple-media-tracks",
"original_id": "media-resources-with-multiple-media-tracks",
"children": [
{
"id": "audiotracklist-and-videotracklist-objects",
"original_id": "audiotracklist-and-videotracklist-objects"
},
{
"id": "selecting-specific-audio-and-video-tracks-declaratively",
"original_id": "selecting-specific-audio-and-video-tracks-declaratively"
}
]
},
{
"id": "synchronising-multiple-media-elements",
"original_id": "synchronising-multiple-media-elements",
"children": [
{
"id": "introduction-0",
"original_id": "introduction-0"
},
{
"id": "media-controllers",
"original_id": "media-controllers"
},
{
"id": "assigning-a-media-controller-declaratively",
"original_id": "assigning-a-media-controller-declaratively"
}
]
},
{
"id": "timed-text-tracks",
"original_id": "timed-text-tracks",
"children": [
{
"id": "text-track-model",
"original_id": "text-track-model"
},
{
"id": "sourcing-in-band-text-tracks",
"original_id": "sourcing-in-band-text-tracks"
},
{
"id": "sourcing-out-of-band-text-tracks",
"original_id": "sourcing-out-of-band-text-tracks"
},
{
"id": "guidelines-for-exposing-cues-in-various-formats-as-text-track-cues",
"original_id": "guidelines-for-exposing-cues-in-various-formats-as-text-track-cues"
},
{
"id": "text-track-api",
"original_id": "text-track-api"
},
{
"id": "text-tracks-describing-chapters",
"original_id": "text-tracks-describing-chapters"
},
{
"id": "cue-events",
"original_id": "cue-events"
}
]
},
{
"id": "user-interface",
"original_id": "user-interface"
},
{
"id": "time-ranges",
"original_id": "time-ranges"
},
{
"id": "event-definitions",
"original_id": "event-definitions"
},
{
"id": "mediaevents",
"original_id": "mediaevents"
},
{
"id": "security-and-privacy-considerations",
"original_id": "security-and-privacy-considerations"
},
{
"id": "best-practices-for-authors-using-media-elements",
"original_id": "best-practices-for-authors-using-media-elements"
},
{
"id": "best-practices-for-implementors-of-media-elements",
"original_id": "best-practices-for-implementors-of-media-elements"
}
]

View file

@ -1,10 +0,0 @@
[
{
"id": "color-spaces-and-color-correction",
"original_id": "color-spaces-and-color-correction"
},
{
"id": "security-with-canvas-elements",
"original_id": "security-with-canvas-elements"
}
]

View file

@ -1,60 +0,0 @@
[
{
"id": "alt",
"original_id": "alt",
"children": [
{
"id": "general-guidelines",
"original_id": "general-guidelines"
},
{
"id": "a-link-or-button-containing-nothing-but-the-image",
"original_id": "a-link-or-button-containing-nothing-but-the-image"
},
{
"id": "a-phrase-or-paragraph-with-an-alternative-graphical-representation-charts-diagrams-graphs-maps-illustrations",
"original_id": "a-phrase-or-paragraph-with-an-alternative-graphical-representation:-charts,-diagrams,-graphs,-maps,-illustrations"
},
{
"id": "a-short-phrase-or-label-with-an-alternative-graphical-representation-icons-logos",
"original_id": "a-short-phrase-or-label-with-an-alternative-graphical-representation:-icons,-logos"
},
{
"id": "text-that-has-been-rendered-to-a-graphic-for-typographical-effect",
"original_id": "text-that-has-been-rendered-to-a-graphic-for-typographical-effect"
},
{
"id": "a-graphical-representation-of-some-of-the-surrounding-text",
"original_id": "a-graphical-representation-of-some-of-the-surrounding-text"
},
{
"id": "a-purely-decorative-image-that-doesn-t-add-any-information",
"original_id": "a-purely-decorative-image-that-doesn't-add-any-information"
},
{
"id": "a-group-of-images-that-form-a-single-larger-picture-with-no-links",
"original_id": "a-group-of-images-that-form-a-single-larger-picture-with-no-links"
},
{
"id": "a-group-of-images-that-form-a-single-larger-picture-with-links",
"original_id": "a-group-of-images-that-form-a-single-larger-picture-with-links"
},
{
"id": "a-key-part-of-the-content",
"original_id": "a-key-part-of-the-content"
},
{
"id": "an-image-not-intended-for-the-user",
"original_id": "an-image-not-intended-for-the-user"
},
{
"id": "guidance-for-markup-generators",
"original_id": "guidance-for-markup-generators"
},
{
"id": "guidance-for-conformance-checkers",
"original_id": "guidance-for-conformance-checkers"
}
]
}
]

View file

@ -1,38 +0,0 @@
[
{
"id": "naming-form-controls-the-name-attribute",
"original_id": "naming-form-controls:-the-name-attribute"
},
{
"id": "submitting-element-directionality-the-dirname-attribute",
"original_id": "submitting-element-directionality:-the-dirname-attribute"
},
{
"id": "limiting-user-input-length-the-maxlength-attribute",
"original_id": "limiting-user-input-length:-the-maxlength-attribute"
},
{
"id": "enabling-and-disabling-form-controls-the-disabled-attribute",
"original_id": "enabling-and-disabling-form-controls:-the-disabled-attribute"
},
{
"id": "form-submission",
"original_id": "form-submission"
},
{
"id": "autofocusing-a-form-control-the-autofocus-attribute",
"original_id": "autofocusing-a-form-control:-the-autofocus-attribute"
},
{
"id": "input-modalities-the-enterkeyhint-attribute",
"original_id": "input-modalities:-the-enterkeyhint-attribute"
},
{
"id": "input-modalities-the-inputmode-attribute",
"original_id": "input-modalities:-the-inputmode-attribute"
},
{
"id": "autofilling-form-controls-the-autocomplete-attribute",
"original_id": "autofilling-form-controls:-the-autocomplete-attribute"
}
]

Some files were not shown because too many files have changed in this diff Show more