mirror of
https://github.com/servo/servo.git
synced 2025-07-13 10:23:40 +01:00
Auto merge of #22919 - servo-wpt-sync:wpt_update_20-02-2019, r=jdm
Sync WPT with upstream (20-02-2019) Automated downstream sync of changes from upstream as of 20-02-2019. [no-wpt-sync] <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22919) <!-- Reviewable:end -->
This commit is contained in:
commit
0dda115609
60 changed files with 1588 additions and 120 deletions
|
@ -137677,6 +137677,42 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"css/css-tables/subpixel-collapsed-borders-001.html": [
|
||||||
|
[
|
||||||
|
"/css/css-tables/subpixel-collapsed-borders-001.html",
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/css-tables/subpixel-collapsed-borders-ref.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"css/css-tables/subpixel-collapsed-borders-002.html": [
|
||||||
|
[
|
||||||
|
"/css/css-tables/subpixel-collapsed-borders-002.html",
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/css-tables/subpixel-collapsed-borders-ref.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"css/css-tables/subpixel-collapsed-borders-003.html": [
|
||||||
|
[
|
||||||
|
"/css/css-tables/subpixel-collapsed-borders-003.html",
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/css/css-tables/subpixel-collapsed-borders-003-ref.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"css/css-tables/subpixel-table-cell-height-001.html": [
|
"css/css-tables/subpixel-table-cell-height-001.html": [
|
||||||
[
|
[
|
||||||
"/css/css-tables/subpixel-table-cell-height-001.html",
|
"/css/css-tables/subpixel-table-cell-height-001.html",
|
||||||
|
@ -193089,6 +193125,18 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue.html": [
|
||||||
|
[
|
||||||
|
"/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue.html",
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue-ref.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-line-doesnt-fit.html": [
|
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-line-doesnt-fit.html": [
|
||||||
[
|
[
|
||||||
"/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-line-doesnt-fit.html",
|
"/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-line-doesnt-fit.html",
|
||||||
|
@ -194305,6 +194353,114 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-bar-001.html": [
|
||||||
|
[
|
||||||
|
"/mathml/presentation-markup/fractions/frac-bar-001.html",
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/mathml/presentation-markup/fractions/frac-bar-001-ref.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-color-001.html": [
|
||||||
|
[
|
||||||
|
"/mathml/presentation-markup/fractions/frac-color-001.html",
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/mathml/presentation-markup/fractions/frac-color-001-notref.html",
|
||||||
|
"!="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-color-002.html": [
|
||||||
|
[
|
||||||
|
"/mathml/presentation-markup/fractions/frac-color-002.html",
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/mathml/presentation-markup/fractions/frac-color-002-ref.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-linethickness-001.html": [
|
||||||
|
[
|
||||||
|
"/mathml/presentation-markup/fractions/frac-linethickness-001.html",
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/mathml/presentation-markup/fractions/frac-linethickness-001-ref.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-linethickness-002.html": [
|
||||||
|
[
|
||||||
|
"/mathml/presentation-markup/fractions/frac-linethickness-002.html",
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/mathml/presentation-markup/fractions/frac-linethickness-002-ref.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-linethickness-003.html": [
|
||||||
|
[
|
||||||
|
"/mathml/presentation-markup/fractions/frac-linethickness-003.html",
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/mathml/presentation-markup/fractions/frac-linethickness-003-notref.html",
|
||||||
|
"!="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-mrow-001.html": [
|
||||||
|
[
|
||||||
|
"/mathml/presentation-markup/fractions/frac-mrow-001.html",
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/mathml/presentation-markup/fractions/frac-mrow-001-ref.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-numalign-denomalign-001.html": [
|
||||||
|
[
|
||||||
|
"/mathml/presentation-markup/fractions/frac-numalign-denomalign-001.html",
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/mathml/presentation-markup/fractions/frac-numalign-denomalign-001-ref.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-visibility-001.html": [
|
||||||
|
[
|
||||||
|
"/mathml/presentation-markup/fractions/frac-visibility-001.html",
|
||||||
|
[
|
||||||
|
[
|
||||||
|
"/mathml/presentation-markup/fractions/frac-visibility-001-ref.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"mathml/presentation-markup/spaces/space-2.html": [
|
"mathml/presentation-markup/spaces/space-2.html": [
|
||||||
[
|
[
|
||||||
"/mathml/presentation-markup/spaces/space-2.html",
|
"/mathml/presentation-markup/spaces/space-2.html",
|
||||||
|
@ -205742,6 +205898,11 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"client-hints/resources/sec-ch-ua.py": [
|
||||||
|
[
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"client-hints/resources/square.png": [
|
"client-hints/resources/square.png": [
|
||||||
[
|
[
|
||||||
{}
|
{}
|
||||||
|
@ -271047,6 +271208,16 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"css/css-tables/subpixel-collapsed-borders-003-ref.html": [
|
||||||
|
[
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"css/css-tables/subpixel-collapsed-borders-ref.html": [
|
||||||
|
[
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"css/css-tables/subpixel-table-cell-height-001-ref.html": [
|
"css/css-tables/subpixel-table-cell-height-001-ref.html": [
|
||||||
[
|
[
|
||||||
{}
|
{}
|
||||||
|
@ -298787,6 +298958,11 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue-ref.html": [
|
||||||
|
[
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-line-doesnt-fit-ref.html": [
|
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-line-doesnt-fit-ref.html": [
|
||||||
[
|
[
|
||||||
{}
|
{}
|
||||||
|
@ -303112,6 +303288,51 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-bar-001-ref.html": [
|
||||||
|
[
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-color-001-notref.html": [
|
||||||
|
[
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-color-002-ref.html": [
|
||||||
|
[
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-linethickness-001-ref.html": [
|
||||||
|
[
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-linethickness-002-ref.html": [
|
||||||
|
[
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-linethickness-003-notref.html": [
|
||||||
|
[
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-mrow-001-ref.html": [
|
||||||
|
[
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-numalign-denomalign-001-ref.html": [
|
||||||
|
[
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-visibility-001-ref.html": [
|
||||||
|
[
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"mathml/presentation-markup/spaces/space-2-ref.html": [
|
"mathml/presentation-markup/spaces/space-2-ref.html": [
|
||||||
[
|
[
|
||||||
{}
|
{}
|
||||||
|
@ -323982,6 +324203,11 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"webdriver/tests/send_alert_text/conftest.py": [
|
||||||
|
[
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"webdriver/tests/set_timeouts/__init__.py": [
|
"webdriver/tests/set_timeouts/__init__.py": [
|
||||||
[
|
[
|
||||||
{}
|
{}
|
||||||
|
@ -338580,6 +338806,18 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"client-hints/sec-ch-ua.http.html": [
|
||||||
|
[
|
||||||
|
"/client-hints/sec-ch-ua.http.html",
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"client-hints/sec-ch-ua.https.html": [
|
||||||
|
[
|
||||||
|
"/client-hints/sec-ch-ua.https.html",
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"clipboard-apis/async-interfaces.https.html": [
|
"clipboard-apis/async-interfaces.https.html": [
|
||||||
[
|
[
|
||||||
"/clipboard-apis/async-interfaces.https.html",
|
"/clipboard-apis/async-interfaces.https.html",
|
||||||
|
@ -376652,12 +376890,6 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue.html": [
|
|
||||||
[
|
|
||||||
"/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue.html",
|
|
||||||
{}
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"html/semantics/embedded-content/media-elements/track/track-element/track-cues-cuechange.html": [
|
"html/semantics/embedded-content/media-elements/track/track-element/track-cues-cuechange.html": [
|
||||||
[
|
[
|
||||||
"/html/semantics/embedded-content/media-elements/track/track-element/track-cues-cuechange.html",
|
"/html/semantics/embedded-content/media-elements/track/track-element/track-cues-cuechange.html",
|
||||||
|
@ -411214,12 +411446,52 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"reporting/bufferSize.html": [
|
||||||
|
[
|
||||||
|
"/reporting/bufferSize.html",
|
||||||
|
{
|
||||||
|
"testdriver": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"reporting/disconnect.html": [
|
||||||
|
[
|
||||||
|
"/reporting/disconnect.html",
|
||||||
|
{
|
||||||
|
"testdriver": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"reporting/generateTestReport.html": [
|
||||||
|
[
|
||||||
|
"/reporting/generateTestReport.html",
|
||||||
|
{
|
||||||
|
"testdriver": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
"reporting/idlharness.window.js": [
|
"reporting/idlharness.window.js": [
|
||||||
[
|
[
|
||||||
"/reporting/idlharness.window.html",
|
"/reporting/idlharness.window.html",
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"reporting/nestedReport.html": [
|
||||||
|
[
|
||||||
|
"/reporting/nestedReport.html",
|
||||||
|
{
|
||||||
|
"testdriver": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"reporting/order.html": [
|
||||||
|
[
|
||||||
|
"/reporting/order.html",
|
||||||
|
{
|
||||||
|
"testdriver": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
"requestidlecallback/basic.html": [
|
"requestidlecallback/basic.html": [
|
||||||
[
|
[
|
||||||
"/requestidlecallback/basic.html",
|
"/requestidlecallback/basic.html",
|
||||||
|
@ -425626,6 +425898,12 @@
|
||||||
{}
|
{}
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
"webxr/xrFrame_lifetime.https.html": [
|
||||||
|
[
|
||||||
|
"/webxr/xrFrame_lifetime.https.html",
|
||||||
|
{}
|
||||||
|
]
|
||||||
|
],
|
||||||
"webxr/xrSession_cancelAnimationFrame.https.html": [
|
"webxr/xrSession_cancelAnimationFrame.https.html": [
|
||||||
[
|
[
|
||||||
"/webxr/xrSession_cancelAnimationFrame.https.html",
|
"/webxr/xrSession_cancelAnimationFrame.https.html",
|
||||||
|
@ -449828,7 +450106,7 @@
|
||||||
},
|
},
|
||||||
"paths": {
|
"paths": {
|
||||||
".azure-pipelines.yml": [
|
".azure-pipelines.yml": [
|
||||||
"5bd9fd67a1d5cdf1f929f1dd38e606d3e4f9fb99",
|
"cb204cabe288508280622c59b1d30bf18b74c1a1",
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
".codecov.yml": [
|
".codecov.yml": [
|
||||||
|
@ -461083,10 +461361,22 @@
|
||||||
"2dd18068427ccec7f75ecbdc7fa4e19c339f53a7",
|
"2dd18068427ccec7f75ecbdc7fa4e19c339f53a7",
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
|
"client-hints/resources/sec-ch-ua.py": [
|
||||||
|
"a14a27dadf9e333784a5c636c821634b387e475f",
|
||||||
|
"support"
|
||||||
|
],
|
||||||
"client-hints/resources/square.png": [
|
"client-hints/resources/square.png": [
|
||||||
"01c9666a8de9d5535615aff830810e5df4b2156f",
|
"01c9666a8de9d5535615aff830810e5df4b2156f",
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
|
"client-hints/sec-ch-ua.http.html": [
|
||||||
|
"e333c605301e621133ee5e6f3d01e2525d5c058a",
|
||||||
|
"testharness"
|
||||||
|
],
|
||||||
|
"client-hints/sec-ch-ua.https.html": [
|
||||||
|
"b293745365a611475697aaa7b66a8a809cad7b3c",
|
||||||
|
"testharness"
|
||||||
|
],
|
||||||
"clipboard-apis/META.yml": [
|
"clipboard-apis/META.yml": [
|
||||||
"ecbac54806cb0d3a915c551f0a684fdc84acdd5e",
|
"ecbac54806cb0d3a915c551f0a684fdc84acdd5e",
|
||||||
"support"
|
"support"
|
||||||
|
@ -577063,6 +577353,26 @@
|
||||||
"a24556aa0dedfab35ff7792f03b804f44c0f4160",
|
"a24556aa0dedfab35ff7792f03b804f44c0f4160",
|
||||||
"reftest"
|
"reftest"
|
||||||
],
|
],
|
||||||
|
"css/css-tables/subpixel-collapsed-borders-001.html": [
|
||||||
|
"a71f5cc698b74a518411e57974577b4f4c4dccda",
|
||||||
|
"reftest"
|
||||||
|
],
|
||||||
|
"css/css-tables/subpixel-collapsed-borders-002.html": [
|
||||||
|
"8f8292cd22becd3ddba61f5205828596a8995e44",
|
||||||
|
"reftest"
|
||||||
|
],
|
||||||
|
"css/css-tables/subpixel-collapsed-borders-003-ref.html": [
|
||||||
|
"78e0be389393e235781549cd90ea961385ec5c68",
|
||||||
|
"support"
|
||||||
|
],
|
||||||
|
"css/css-tables/subpixel-collapsed-borders-003.html": [
|
||||||
|
"358562cbd7ff49f43c234db502513faabc8390d1",
|
||||||
|
"reftest"
|
||||||
|
],
|
||||||
|
"css/css-tables/subpixel-collapsed-borders-ref.html": [
|
||||||
|
"0a2e7a8d95b95dc21ad1c103fdfba65b8f5b1b86",
|
||||||
|
"support"
|
||||||
|
],
|
||||||
"css/css-tables/subpixel-table-cell-height-001-ref.html": [
|
"css/css-tables/subpixel-table-cell-height-001-ref.html": [
|
||||||
"3b6297fc4ab06643b2910194479b571ca3a462f2",
|
"3b6297fc4ab06643b2910194479b571ca3a462f2",
|
||||||
"support"
|
"support"
|
||||||
|
@ -601084,7 +601394,7 @@
|
||||||
"testharness"
|
"testharness"
|
||||||
],
|
],
|
||||||
"css/cssom/CSSStyleSheet-constructable.html": [
|
"css/cssom/CSSStyleSheet-constructable.html": [
|
||||||
"e3083d283f35145ae7f2be1941ff930ae864b088",
|
"80189fe2f36e7c89f0445511460732fa77169108",
|
||||||
"testharness"
|
"testharness"
|
||||||
],
|
],
|
||||||
"css/cssom/CSSStyleSheet.html": [
|
"css/cssom/CSSStyleSheet.html": [
|
||||||
|
@ -616472,7 +616782,7 @@
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
"domparsing/DOMParser-parseFromString-html.html": [
|
"domparsing/DOMParser-parseFromString-html.html": [
|
||||||
"ec424423a1d28988d2b949b51e9467f0cf702290",
|
"ad65cc58618462591568dda622f35b68a64c1d63",
|
||||||
"testharness"
|
"testharness"
|
||||||
],
|
],
|
||||||
"domparsing/DOMParser-parseFromString-xml-doctype.html": [
|
"domparsing/DOMParser-parseFromString-xml-doctype.html": [
|
||||||
|
@ -634167,12 +634477,16 @@
|
||||||
"76019c9b41e4fd4c56f4252d399f088b7b3e4470",
|
"76019c9b41e4fd4c56f4252d399f088b7b3e4470",
|
||||||
"reftest"
|
"reftest"
|
||||||
],
|
],
|
||||||
|
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue-ref.html": [
|
||||||
|
"837c4fd7833d569f2949bf1c2a677836ac851597",
|
||||||
|
"support"
|
||||||
|
],
|
||||||
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue.html": [
|
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue.html": [
|
||||||
"427189f6fc78074ae13c58e94ae3d02bc0e513b2",
|
"c2d300999eeaa207365b5c0b42f9b033e6b96446",
|
||||||
"testharness"
|
"reftest"
|
||||||
],
|
],
|
||||||
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-line-doesnt-fit-ref.html": [
|
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-line-doesnt-fit-ref.html": [
|
||||||
"8354041eb2a0aa57b283e12d9c0390f16327ac80",
|
"c4c14bc2a394ff19c14bfa76c4b59ad5d6ddb618",
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-line-doesnt-fit.html": [
|
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-line-doesnt-fit.html": [
|
||||||
|
@ -634180,7 +634494,7 @@
|
||||||
"reftest"
|
"reftest"
|
||||||
],
|
],
|
||||||
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-transformed-video-ref.html": [
|
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-transformed-video-ref.html": [
|
||||||
"39461350b089b9041a71a6ca9aad7f1cfc078d68",
|
"c3ee804c485b762d8b69614136558bbf2ed833a8",
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-transformed-video.html": [
|
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-transformed-video.html": [
|
||||||
|
@ -643460,7 +643774,7 @@
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
"interfaces/webxr.idl": [
|
"interfaces/webxr.idl": [
|
||||||
"74466f856be208f091372c778c0c70ca8fa0e9a2",
|
"899bb0daa008ccb547d47b0a96c383c40e7e776e",
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
"interfaces/worklets.idl": [
|
"interfaces/worklets.idl": [
|
||||||
|
@ -644087,6 +644401,70 @@
|
||||||
"848eb5b144cef3740b794475f699229243c1287e",
|
"848eb5b144cef3740b794475f699229243c1287e",
|
||||||
"testharness"
|
"testharness"
|
||||||
],
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-bar-001-ref.html": [
|
||||||
|
"5b7a8dff47e90cf2b0dc02688dd478deaf0a13fc",
|
||||||
|
"support"
|
||||||
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-bar-001.html": [
|
||||||
|
"6688a587b1f25e2523ef5fd2535227381a1c263d",
|
||||||
|
"reftest"
|
||||||
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-color-001-notref.html": [
|
||||||
|
"498d6277a3258c70882e7b2ec92e82e974bf9ab0",
|
||||||
|
"support"
|
||||||
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-color-001.html": [
|
||||||
|
"bc61dbf51ffe487122859f189223b2ef43f88bb1",
|
||||||
|
"reftest"
|
||||||
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-color-002-ref.html": [
|
||||||
|
"fe2f4fa7b1899e5d1114e3a89b14dc96843ef070",
|
||||||
|
"support"
|
||||||
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-color-002.html": [
|
||||||
|
"d7cc88cb21bd9ed62d9a269e1029f113f9a27d13",
|
||||||
|
"reftest"
|
||||||
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-linethickness-001-ref.html": [
|
||||||
|
"c703edb764fe883e05e47e26464149aa64af1070",
|
||||||
|
"support"
|
||||||
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-linethickness-001.html": [
|
||||||
|
"94111174c6aa3ecf1fff4982bfc9ecbf4a10c2ee",
|
||||||
|
"reftest"
|
||||||
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-linethickness-002-ref.html": [
|
||||||
|
"69663938c1951a34a1e1134d549b610ea00c15e8",
|
||||||
|
"support"
|
||||||
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-linethickness-002.html": [
|
||||||
|
"5bb0d6bfb9d6113a04b9d3160ccc9db80aceaaa6",
|
||||||
|
"reftest"
|
||||||
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-linethickness-003-notref.html": [
|
||||||
|
"934d66633397313175e98c4bda871bb0a95e5db0",
|
||||||
|
"support"
|
||||||
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-linethickness-003.html": [
|
||||||
|
"e535e703b52c75800155b5b25995730b2a236287",
|
||||||
|
"reftest"
|
||||||
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-mrow-001-ref.html": [
|
||||||
|
"e42cb96fe8383959bef2d778cfb29d0638f1de03",
|
||||||
|
"support"
|
||||||
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-mrow-001.html": [
|
||||||
|
"e5c6f52529443e881b8235a67f3e8cc7aa10fb51",
|
||||||
|
"reftest"
|
||||||
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-numalign-denomalign-001-ref.html": [
|
||||||
|
"2fa978624dc206c834f70d4cf620b565f8f3ac12",
|
||||||
|
"support"
|
||||||
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-numalign-denomalign-001.html": [
|
||||||
|
"61f49e2ff5381c9684e5b36d03a51daf7f8f3e74",
|
||||||
|
"reftest"
|
||||||
|
],
|
||||||
"mathml/presentation-markup/fractions/frac-parameters-1.html": [
|
"mathml/presentation-markup/fractions/frac-parameters-1.html": [
|
||||||
"543017e19006377cac0c1a434bd43400467fac3b",
|
"543017e19006377cac0c1a434bd43400467fac3b",
|
||||||
"testharness"
|
"testharness"
|
||||||
|
@ -644095,6 +644473,14 @@
|
||||||
"75074875c9e6b1fa205fe76b85c4a0b36fadf274",
|
"75074875c9e6b1fa205fe76b85c4a0b36fadf274",
|
||||||
"testharness"
|
"testharness"
|
||||||
],
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-visibility-001-ref.html": [
|
||||||
|
"41a262d511197edebb913cb68eb688eddf763ff2",
|
||||||
|
"support"
|
||||||
|
],
|
||||||
|
"mathml/presentation-markup/fractions/frac-visibility-001.html": [
|
||||||
|
"b98f68d2a585d340804b27120a89d8e71e4c9e51",
|
||||||
|
"reftest"
|
||||||
|
],
|
||||||
"mathml/presentation-markup/operators/mo-axis-height-1.html": [
|
"mathml/presentation-markup/operators/mo-axis-height-1.html": [
|
||||||
"7b0031ac1ed63219130b69113ebbfdc28eec10d6",
|
"7b0031ac1ed63219130b69113ebbfdc28eec10d6",
|
||||||
"testharness"
|
"testharness"
|
||||||
|
@ -666123,10 +666509,30 @@
|
||||||
"980823f59f7e3ac4f35a31ab6df37ce16e538f54",
|
"980823f59f7e3ac4f35a31ab6df37ce16e538f54",
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
|
"reporting/bufferSize.html": [
|
||||||
|
"b3512b3bc93b322e2015e71d70f01bc5986bc24d",
|
||||||
|
"testharness"
|
||||||
|
],
|
||||||
|
"reporting/disconnect.html": [
|
||||||
|
"2dc5e8fd2de724e41bc0c003b4e7036d1d954371",
|
||||||
|
"testharness"
|
||||||
|
],
|
||||||
|
"reporting/generateTestReport.html": [
|
||||||
|
"e3c2735686a05eefc9bbcfb107f76ec7275b8948",
|
||||||
|
"testharness"
|
||||||
|
],
|
||||||
"reporting/idlharness.window.js": [
|
"reporting/idlharness.window.js": [
|
||||||
"17cef8183596ae1d0b307fb8ddccc7455b955966",
|
"17cef8183596ae1d0b307fb8ddccc7455b955966",
|
||||||
"testharness"
|
"testharness"
|
||||||
],
|
],
|
||||||
|
"reporting/nestedReport.html": [
|
||||||
|
"156338ee74653bfdc843e6acceda073c02ca635b",
|
||||||
|
"testharness"
|
||||||
|
],
|
||||||
|
"reporting/order.html": [
|
||||||
|
"c43964220c981f4b91c7c5e7eac7fc67377b367b",
|
||||||
|
"testharness"
|
||||||
|
],
|
||||||
"requestidlecallback/META.yml": [
|
"requestidlecallback/META.yml": [
|
||||||
"9c829d3c8885bb9b594e7096a878166e07f3e278",
|
"9c829d3c8885bb9b594e7096a878166e07f3e278",
|
||||||
"support"
|
"support"
|
||||||
|
@ -667140,7 +667546,7 @@
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
"resources/testdriver.js": [
|
"resources/testdriver.js": [
|
||||||
"e328302e4f345114654eda323dbd09a5f650d419",
|
"031be1b7e5501658d412aecc6f0cba56b3444601",
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
"resources/testdriver.js.headers": [
|
"resources/testdriver.js.headers": [
|
||||||
|
@ -682188,7 +682594,7 @@
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
"tools/wptrunner/wptrunner/executors/base.py": [
|
"tools/wptrunner/wptrunner/executors/base.py": [
|
||||||
"0e54eca778b3d6df8ae41da00f6acce129be82c1",
|
"41cf2c641d291b9fa573c3421e6fb61622a502fd",
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
"tools/wptrunner/wptrunner/executors/executorchrome.py": [
|
"tools/wptrunner/wptrunner/executors/executorchrome.py": [
|
||||||
|
@ -682216,7 +682622,7 @@
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
"tools/wptrunner/wptrunner/executors/executorselenium.py": [
|
"tools/wptrunner/wptrunner/executors/executorselenium.py": [
|
||||||
"21868421712994e83eb317f281c6cf0ff69f5229",
|
"fa257e1296e9046425d88b99ce440b9e658edd2a",
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
"tools/wptrunner/wptrunner/executors/executorservo.py": [
|
"tools/wptrunner/wptrunner/executors/executorservo.py": [
|
||||||
|
@ -682228,7 +682634,7 @@
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
"tools/wptrunner/wptrunner/executors/executorwebdriver.py": [
|
"tools/wptrunner/wptrunner/executors/executorwebdriver.py": [
|
||||||
"3f8c2bb5a3f94a5230bf93e7e4192692df8f0ab3",
|
"817b2717cb71352955315497956065c72561050f",
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
"tools/wptrunner/wptrunner/executors/executorwebkit.py": [
|
"tools/wptrunner/wptrunner/executors/executorwebkit.py": [
|
||||||
|
@ -682240,7 +682646,7 @@
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
"tools/wptrunner/wptrunner/executors/protocol.py": [
|
"tools/wptrunner/wptrunner/executors/protocol.py": [
|
||||||
"aa3565e5726a0662d10ed49cee85f153691c441f",
|
"d08b74bfc36ae97cebaa148741701dcc2a767399",
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
"tools/wptrunner/wptrunner/executors/pytestrunner/__init__.py": [
|
"tools/wptrunner/wptrunner/executors/pytestrunner/__init__.py": [
|
||||||
|
@ -682300,7 +682706,7 @@
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
"tools/wptrunner/wptrunner/metadata.py": [
|
"tools/wptrunner/wptrunner/metadata.py": [
|
||||||
"3a92491aa22202e21041a258220afae6bda13a92",
|
"8699ac4fc734c1a45a4b7723b3dceea27590f8fa",
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
"tools/wptrunner/wptrunner/products.py": [
|
"tools/wptrunner/wptrunner/products.py": [
|
||||||
|
@ -682312,7 +682718,7 @@
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
"tools/wptrunner/wptrunner/testdriver-extra.js": [
|
"tools/wptrunner/wptrunner/testdriver-extra.js": [
|
||||||
"6336d227db8d7d9f3e6c4276ad2f5c609e9f27e9",
|
"09d7c2908671228e625d0717e567d751470fe6cd",
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
"tools/wptrunner/wptrunner/testdriver-vendor.js": [
|
"tools/wptrunner/wptrunner/testdriver-vendor.js": [
|
||||||
|
@ -687959,6 +688365,10 @@
|
||||||
"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
|
"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
|
||||||
"support"
|
"support"
|
||||||
],
|
],
|
||||||
|
"webdriver/tests/send_alert_text/conftest.py": [
|
||||||
|
"f34630c3cbc5de2700552e576bc7c797d2bd724f",
|
||||||
|
"support"
|
||||||
|
],
|
||||||
"webdriver/tests/send_alert_text/send.py": [
|
"webdriver/tests/send_alert_text/send.py": [
|
||||||
"6dbc03f94019abf6fc467ae2baf8fb9d21823e64",
|
"6dbc03f94019abf6fc467ae2baf8fb9d21823e64",
|
||||||
"wdspec"
|
"wdspec"
|
||||||
|
@ -693559,6 +693969,10 @@
|
||||||
"69a35c2510983550993f630ea6f0a165c2e89369",
|
"69a35c2510983550993f630ea6f0a165c2e89369",
|
||||||
"testharness"
|
"testharness"
|
||||||
],
|
],
|
||||||
|
"webxr/xrFrame_lifetime.https.html": [
|
||||||
|
"971a6d78a1e1ee1c51141a475868185318680495",
|
||||||
|
"testharness"
|
||||||
|
],
|
||||||
"webxr/xrSession_cancelAnimationFrame.https.html": [
|
"webxr/xrSession_cancelAnimationFrame.https.html": [
|
||||||
"9b08f93eead693c1c9aa6d7e2458988aa7dae442",
|
"9b08f93eead693c1c9aa6d7e2458988aa7dae442",
|
||||||
"testharness"
|
"testharness"
|
||||||
|
|
|
@ -74,3 +74,6 @@
|
||||||
[opacity end]
|
[opacity end]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
[border-bottom-width end]
|
||||||
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,3 @@
|
||||||
[Instant scrolling while doing history navigation.]
|
[Instant scrolling while doing history navigation.]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Smooth scrolling while doing history navigation.]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
|
|
||||||
|
|
||||||
[single-byte-decoder.html?XMLHttpRequest]
|
[single-byte-decoder.html?XMLHttpRequest]
|
||||||
expected: CRASH
|
expected: TIMEOUT
|
||||||
[ISO-8859-2: iso_8859-2:1987 (XMLHttpRequest)]
|
[ISO-8859-2: iso_8859-2:1987 (XMLHttpRequest)]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
@ -60,12 +60,6 @@
|
||||||
[windows-1254: iso_8859-9:1989 (XMLHttpRequest)]
|
[windows-1254: iso_8859-9:1989 (XMLHttpRequest)]
|
||||||
expected: TIMEOUT
|
expected: TIMEOUT
|
||||||
|
|
||||||
[windows-1258: cp1258 (XMLHttpRequest)]
|
|
||||||
expected: TIMEOUT
|
|
||||||
|
|
||||||
[windows-1256: cp1256 (XMLHttpRequest)]
|
|
||||||
expected: TIMEOUT
|
|
||||||
|
|
||||||
[windows-1254: iso_8859-9 (XMLHttpRequest)]
|
[windows-1254: iso_8859-9 (XMLHttpRequest)]
|
||||||
expected: TIMEOUT
|
expected: TIMEOUT
|
||||||
|
|
||||||
|
@ -90,35 +84,32 @@
|
||||||
[windows-1256: x-cp1256 (XMLHttpRequest)]
|
[windows-1256: x-cp1256 (XMLHttpRequest)]
|
||||||
expected: TIMEOUT
|
expected: TIMEOUT
|
||||||
|
|
||||||
[windows-1257: x-cp1257 (XMLHttpRequest)]
|
|
||||||
expected: TIMEOUT
|
|
||||||
|
|
||||||
[windows-1255: cp1255 (XMLHttpRequest)]
|
[windows-1255: cp1255 (XMLHttpRequest)]
|
||||||
expected: TIMEOUT
|
expected: TIMEOUT
|
||||||
|
|
||||||
[windows-1256: windows-1256 (XMLHttpRequest)]
|
|
||||||
expected: TIMEOUT
|
|
||||||
|
|
||||||
[windows-1257: windows-1257 (XMLHttpRequest)]
|
[windows-1257: windows-1257 (XMLHttpRequest)]
|
||||||
expected: TIMEOUT
|
expected: TIMEOUT
|
||||||
|
|
||||||
[windows-1254: iso88599 (XMLHttpRequest)]
|
[windows-1254: iso88599 (XMLHttpRequest)]
|
||||||
expected: TIMEOUT
|
expected: TIMEOUT
|
||||||
|
|
||||||
[windows-1254: iso-8859-9 (XMLHttpRequest)]
|
|
||||||
expected: TIMEOUT
|
|
||||||
|
|
||||||
[windows-1254: iso8859-9 (XMLHttpRequest)]
|
[windows-1254: iso8859-9 (XMLHttpRequest)]
|
||||||
expected: TIMEOUT
|
expected: TIMEOUT
|
||||||
|
|
||||||
[windows-1254: iso-ir-148 (XMLHttpRequest)]
|
|
||||||
expected: TIMEOUT
|
|
||||||
|
|
||||||
[windows-1254: csisolatin5 (XMLHttpRequest)]
|
|
||||||
expected: TIMEOUT
|
|
||||||
|
|
||||||
[windows-1255: windows-1255 (XMLHttpRequest)]
|
[windows-1255: windows-1255 (XMLHttpRequest)]
|
||||||
expected: TIMEOUT
|
expected: TIMEOUT
|
||||||
|
|
||||||
|
[windows-1258: x-cp1258 (XMLHttpRequest)]
|
||||||
|
expected: TIMEOUT
|
||||||
|
|
||||||
|
[windows-1255: x-cp1255 (XMLHttpRequest)]
|
||||||
|
expected: TIMEOUT
|
||||||
|
|
||||||
|
[windows-1258: windows-1258 (XMLHttpRequest)]
|
||||||
|
expected: TIMEOUT
|
||||||
|
|
||||||
|
[x-mac-cyrillic: x-mac-cyrillic (XMLHttpRequest)]
|
||||||
|
expected: TIMEOUT
|
||||||
|
|
||||||
|
|
||||||
[single-byte-decoder.html?TextDecoder]
|
[single-byte-decoder.html?TextDecoder]
|
||||||
|
|
|
@ -312,18 +312,9 @@
|
||||||
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
|
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: text/html;" text/plain]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: combined response Content-Type: text/html */*]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
|
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
|
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[<iframe>: separate response Content-Type: text/html;" \\" text/plain]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,3 @@
|
||||||
[X-Content-Type-Options%3A%20nosniff%0C]
|
[X-Content-Type-Options%3A%20nosniff%0C]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[X-Content-Type-Options%3A%20'NosniFF']
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[traverse_the_history_5.html]
|
|
||||||
[Multiple history traversals, last would be aborted]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
[track-cue-rendering-empty-cue.html]
|
[track-cue-rendering-empty-cue.html]
|
||||||
|
expected: TIMEOUT
|
||||||
[Empty cues]
|
[Empty cues]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
[non-active-document.html]
|
|
||||||
[DOMParser]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[createHTMLDocument]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[<template>]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -12,6 +12,3 @@
|
||||||
[Verifies the resolution of entry.startTime is at least 5 microseconds.]
|
[Verifies the resolution of entry.startTime is at least 5 microseconds.]
|
||||||
expected: TIMEOUT
|
expected: TIMEOUT
|
||||||
|
|
||||||
[Verifies the resolution of performance.now() is at least 5 microseconds.]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
[transition_calc_implicit.html]
|
||||||
|
expected: TIMEOUT
|
|
@ -1,4 +0,0 @@
|
||||||
[paint_timing.html]
|
|
||||||
[Performance entries observer]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
|
@ -211,16 +211,3 @@ jobs:
|
||||||
displayName: 'Publish results'
|
displayName: 'Publish results'
|
||||||
inputs:
|
inputs:
|
||||||
artifactName: 'safari-preview-results'
|
artifactName: 'safari-preview-results'
|
||||||
|
|
||||||
# The InvokeRESTAPI task can only run in a server job.
|
|
||||||
- job: results_post
|
|
||||||
displayName: 'all tests (wpt.fyi hook)'
|
|
||||||
dependsOn: results_safari_preview
|
|
||||||
pool:
|
|
||||||
vmImage: 'ubuntu-16.04'
|
|
||||||
steps:
|
|
||||||
- script: curl -s -S https://wpt.fyi/api/checks/azure/$(Build.BuildId)
|
|
||||||
displayName: 'Invoke wpt.fyi hook'
|
|
||||||
- script: curl -s -S https://staging.wpt.fyi/api/checks/azure/$(Build.BuildId)
|
|
||||||
displayName: 'Invoke staging.wpt.fyi hook'
|
|
||||||
condition: succeededOrFailed()
|
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
def main(request, response):
|
||||||
|
ua = request.headers.get('sec-ch-ua', '')
|
||||||
|
response.headers.set("Content-Type", "text/html")
|
||||||
|
response.headers.set("Accept-CH", "UA")
|
||||||
|
response.headers.set("Accept-CH-Lifetime", "10")
|
||||||
|
response.content = '''
|
||||||
|
<script>
|
||||||
|
window.opener.postMessage({ header: "%s" }, "*");
|
||||||
|
</script>
|
||||||
|
Sec-CH-UA: %s
|
||||||
|
''' % (ua, ua)
|
|
@ -0,0 +1,16 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<script src=/resources/testharness.js></script>
|
||||||
|
<script src=/resources/testharnessreport.js></script>
|
||||||
|
<script>
|
||||||
|
promise_test(t => {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
var w;
|
||||||
|
window.onmessage = e => {
|
||||||
|
assert_equals(e.data.header, "", "The `Sec-CH-UA` header is not delivered.");
|
||||||
|
w.close();
|
||||||
|
resolve();
|
||||||
|
};
|
||||||
|
w = window.open("./resources/sec-ch-ua.py");
|
||||||
|
});
|
||||||
|
}, "Open HTTP window: no `Sec-CH-UA` header.")
|
||||||
|
</script>
|
|
@ -0,0 +1,41 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<head>
|
||||||
|
<script src=/resources/testharness.js></script>
|
||||||
|
<script src=/resources/testharnessreport.js></script>
|
||||||
|
<script>
|
||||||
|
var minor = "";
|
||||||
|
promise_test(t => {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
var w;
|
||||||
|
window.onmessage = e => {
|
||||||
|
try {
|
||||||
|
assert_not_equals(e.data.header, "", "The `Sec-CH-UA` header is delivered.");
|
||||||
|
minor = e.data.header;
|
||||||
|
} catch (ex) {
|
||||||
|
reject(ex);
|
||||||
|
}
|
||||||
|
w.close();
|
||||||
|
resolve();
|
||||||
|
};
|
||||||
|
w = window.open("./resources/sec-ch-ua.py");
|
||||||
|
});
|
||||||
|
}, "Open HTTPS window prior to opt-in: `Sec-CH-UA` header with minor version.")
|
||||||
|
|
||||||
|
promise_test(t => {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
var w;
|
||||||
|
window.onmessage = e => {
|
||||||
|
try {
|
||||||
|
assert_not_equals(e.data.header, "", "The `Sec-CH-UA` header is delivered.");
|
||||||
|
assert_not_equals(e.data.header, minor, "The `Sec-CH-UA` header is different after the opt-in than before.");
|
||||||
|
} catch (ex) {
|
||||||
|
reject(ex);
|
||||||
|
}
|
||||||
|
w.close();
|
||||||
|
resolve();
|
||||||
|
};
|
||||||
|
w = window.open("./resources/sec-ch-ua.py");
|
||||||
|
});
|
||||||
|
}, "Open HTTPS window post-opt-in: `Sec-CH-UA` header with minor version.")
|
||||||
|
</script>
|
||||||
|
</head>
|
|
@ -0,0 +1,30 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<link rel="author" title="David Grogan" href="mailto:dgrogan@chromium.org">
|
||||||
|
<link rel="help" href="https://www.w3.org/TR/CSS22/tables.html#collapsing-borders">
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-tables-3/#border-conflict-resolution-algorithm">
|
||||||
|
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/606">
|
||||||
|
<link rel="match" href="subpixel-collapsed-borders-ref.html">
|
||||||
|
<meta name="flags" content="" />
|
||||||
|
<meta name="assert" content="When collapsed border tables have border widths larger than cells', the table border wins." />
|
||||||
|
|
||||||
|
<style>
|
||||||
|
table {
|
||||||
|
border: 5px solid green;
|
||||||
|
border-collapse: collapse;
|
||||||
|
}
|
||||||
|
|
||||||
|
td {
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
border: 4.95px solid red;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<p>There should be a square with a green border, not a red border.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
|
@ -0,0 +1,30 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<link rel="author" title="David Grogan" href="mailto:dgrogan@chromium.org">
|
||||||
|
<link rel="help" href="https://www.w3.org/TR/CSS22/tables.html#collapsing-borders">
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-tables-3/#border-conflict-resolution-algorithm">
|
||||||
|
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/606">
|
||||||
|
<link rel="match" href="subpixel-collapsed-borders-ref.html">
|
||||||
|
<meta name="flags" content="" />
|
||||||
|
<meta name="assert" content="When collapsed border tables have border widths larger than cells', the table border wins even when the cell border is merely 0.01 pixels narrower" />
|
||||||
|
|
||||||
|
<style>
|
||||||
|
table {
|
||||||
|
border: 5px solid green;
|
||||||
|
border-collapse: collapse;
|
||||||
|
}
|
||||||
|
|
||||||
|
td {
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
border: 4.99px solid red;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<p>There should be a square with a green border, not a red border.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
|
@ -0,0 +1,22 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<style>
|
||||||
|
table {
|
||||||
|
border: 5.95px solid green;
|
||||||
|
border-collapse: collapse;
|
||||||
|
}
|
||||||
|
|
||||||
|
td {
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
border: 1px solid red;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<p>There should be a square with a green border, not a red border.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
|
@ -0,0 +1,30 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<link rel="author" title="David Grogan" href="mailto:dgrogan@chromium.org">
|
||||||
|
<link rel="help" href="https://www.w3.org/TR/CSS22/tables.html#collapsing-borders">
|
||||||
|
<link rel="help" href="https://drafts.csswg.org/css-tables-3/#border-conflict-resolution-algorithm">
|
||||||
|
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/606">
|
||||||
|
<link rel="match" href="subpixel-collapsed-borders-003-ref.html">
|
||||||
|
<meta name="flags" content="" />
|
||||||
|
<meta name="assert" content="When collapsed border tables have border widths larger than cells', the table border wins even when the floored table border is the same size as the cell's." />
|
||||||
|
|
||||||
|
<style>
|
||||||
|
table {
|
||||||
|
border: 5.95px solid green;
|
||||||
|
border-collapse: collapse;
|
||||||
|
}
|
||||||
|
|
||||||
|
td {
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
border: 5px solid red;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<p>There should be a square with a green border, not a red border.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
|
@ -0,0 +1,22 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<style>
|
||||||
|
table {
|
||||||
|
border: 5px solid green;
|
||||||
|
border-collapse: collapse;
|
||||||
|
}
|
||||||
|
|
||||||
|
td {
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
border: 1px solid red;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<p>There should be a square with a green border, not a red border.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
|
@ -14,7 +14,7 @@
|
||||||
<span class="yellow"></span>
|
<span class="yellow"></span>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<section id="secondSection"></section>
|
<section id="shadowHost"></section>
|
||||||
<section id="thirdSection"></section>
|
<section id="thirdSection"></section>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
@ -27,7 +27,8 @@ const yellowStyleText = ".yellow { color: yellow; }";
|
||||||
|
|
||||||
const firstDiv = document.querySelector('#firstSection > div');
|
const firstDiv = document.querySelector('#firstSection > div');
|
||||||
const secondDiv = firstDiv.cloneNode(true);
|
const secondDiv = firstDiv.cloneNode(true);
|
||||||
const shadowRoot = document.querySelector('#secondSection').attachShadow({mode: 'open'});
|
const shadowHost = document.querySelector('#shadowHost');
|
||||||
|
const shadowRoot = shadowHost.attachShadow({mode: 'open'});
|
||||||
shadowRoot.appendChild(secondDiv);
|
shadowRoot.appendChild(secondDiv);
|
||||||
|
|
||||||
const greenSpan = firstDiv.children[0];
|
const greenSpan = firstDiv.children[0];
|
||||||
|
@ -209,6 +210,24 @@ promise_test(() => {
|
||||||
});
|
});
|
||||||
}, 'Constructed style sheets can be applied on shadow root');
|
}, 'Constructed style sheets can be applied on shadow root');
|
||||||
|
|
||||||
|
promise_test(() => {
|
||||||
|
return Promise.all(createAllSheetsPromise()).then(values => {
|
||||||
|
const greenStyleSheet = values[0];
|
||||||
|
const redStyleSheet = values[1];
|
||||||
|
shadowRoot.adoptedStyleSheets = [greenStyleSheet];
|
||||||
|
assert_equals(getComputedStyle(greenShadowSpan).color, "rgb(0, 128, 0)", "Style applies connected");
|
||||||
|
assert_equals(getComputedStyle(redShadowSpan).color, "rgb(0, 0, 0)", "Style applies when connected");
|
||||||
|
let hostParent = shadowHost.parentNode;
|
||||||
|
hostParent.removeChild(shadowHost);
|
||||||
|
assert_equals(getComputedStyle(greenShadowSpan).color, "", "Style doesn't apply when detached");
|
||||||
|
assert_equals(getComputedStyle(redShadowSpan).color, "", "Style doesn't apply when detached");
|
||||||
|
shadowRoot.adoptedStyleSheets = [redStyleSheet, greenStyleSheet];
|
||||||
|
hostParent.appendChild(shadowHost);
|
||||||
|
assert_equals(getComputedStyle(greenShadowSpan).color, "rgb(0, 128, 0)", "Style applies after reattach");
|
||||||
|
assert_equals(getComputedStyle(redShadowSpan).color, "rgb(255, 0, 0)", "Style applies after reattach");
|
||||||
|
});
|
||||||
|
}, 'Re-attaching shadow host with adopted stylesheets work');
|
||||||
|
|
||||||
promise_test(() => {
|
promise_test(() => {
|
||||||
const plainSheet = new CSSStyleSheet();
|
const plainSheet = new CSSStyleSheet();
|
||||||
const redStyleSheetPromise = plainSheet.replace(redStyleTexts[0]);
|
const redStyleSheetPromise = plainSheet.replace(redStyleTexts[0]);
|
||||||
|
|
|
@ -66,6 +66,11 @@ test(function() {
|
||||||
assert_equals(htmldoc.documentElement.namespaceURI, "http://www.w3.org/1999/xhtml");
|
assert_equals(htmldoc.documentElement.namespaceURI, "http://www.w3.org/1999/xhtml");
|
||||||
}, "DOMParser parses HTML tag soup with no problems");
|
}, "DOMParser parses HTML tag soup with no problems");
|
||||||
|
|
||||||
|
test(function() {
|
||||||
|
const doc = new DOMParser().parseFromString('<noembed><a></noembed>', 'text/html');
|
||||||
|
assert_equals(doc.querySelector('noembed').textContent, '<a>');
|
||||||
|
}, 'DOMParser should handle the content of <noembed> as raw text');
|
||||||
|
|
||||||
test(function() {
|
test(function() {
|
||||||
assert_throws(new TypeError(), function() {
|
assert_throws(new TypeError(), function() {
|
||||||
new DOMParser().parseFromString("", "text/foo-this-is-invalid");
|
new DOMParser().parseFromString("", "text/foo-this-is-invalid");
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html class="reftest-wait">
|
||||||
|
<title>Reference for track rendering with empty cue</title>
|
||||||
|
<script src="/common/reftest-wait.js"></script>
|
||||||
|
<style>
|
||||||
|
html { overflow:hidden }
|
||||||
|
body { margin:0 }
|
||||||
|
.container {
|
||||||
|
display: inline-block;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<div class="container">
|
||||||
|
<video width="320" height="180">
|
||||||
|
<source src="/media/white.webm" type="video/webm">
|
||||||
|
<source src="/media/white.mp4" type="video/mp4">
|
||||||
|
<script>
|
||||||
|
var video = document.querySelector("video");
|
||||||
|
video.addEventListener('playing', () => {
|
||||||
|
video.pause();
|
||||||
|
takeScreenshot();
|
||||||
|
}, { once: true});
|
||||||
|
video.play();
|
||||||
|
</script>
|
||||||
|
</video>
|
||||||
|
</div>
|
||||||
|
</html>
|
|
@ -1,16 +1,26 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<title>Empty cues</title>
|
<html class="reftest-wait">
|
||||||
<script src="/common/media.js"></script>
|
<title>Track rendering with empty cue</title>
|
||||||
<script src="/resources/testharness.js"></script>
|
<link rel="match" href="track-cue-rendering-empty-cue-ref.html">
|
||||||
<script src="/resources/testharnessreport.js"></script>
|
<style>
|
||||||
|
html { overflow:hidden }
|
||||||
|
body { margin:0 }
|
||||||
|
</style>
|
||||||
|
<script src="/common/reftest-wait.js"></script>
|
||||||
|
<video width="320" height="180">
|
||||||
|
<source src="/media/white.webm" type="video/webm">
|
||||||
|
<source src="/media/white.mp4" type="video/mp4">
|
||||||
<script>
|
<script>
|
||||||
async_test(function(t) {
|
var video = document.querySelector("video");
|
||||||
var video = document.createElement("video");
|
var track = video.addTextTrack("captions", "regular captions track", "en");
|
||||||
video.src = getVideoURI("/media/test");
|
track.addCue(new VTTCue(0, 4, ""));
|
||||||
video.addTextTrack("captions", "regular captions track", "en");
|
track.mode = "showing";
|
||||||
video.textTracks[0].addCue(new VTTCue(0, 4, ""));
|
|
||||||
|
|
||||||
video.onplaying = t.step_func_done();
|
video.addEventListener('playing', () => {
|
||||||
|
video.pause();
|
||||||
|
takeScreenshot();
|
||||||
|
}, { once: true});
|
||||||
video.play();
|
video.play();
|
||||||
});
|
|
||||||
</script>
|
</script>
|
||||||
|
</video>
|
||||||
|
</html>
|
|
@ -20,7 +20,6 @@
|
||||||
background: green;
|
background: green;
|
||||||
color: green;
|
color: green;
|
||||||
font-size: 120px;
|
font-size: 120px;
|
||||||
padding: 2px;
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
|
@ -22,7 +22,6 @@
|
||||||
background: green;
|
background: green;
|
||||||
color: green;
|
color: green;
|
||||||
font-size: 50px;
|
font-size: 50px;
|
||||||
padding: 2px;
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
|
@ -170,7 +170,7 @@ interface XRRay {
|
||||||
};
|
};
|
||||||
|
|
||||||
enum XRHandedness {
|
enum XRHandedness {
|
||||||
"",
|
"none",
|
||||||
"left",
|
"left",
|
||||||
"right"
|
"right"
|
||||||
};
|
};
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>fractions bar</title>
|
||||||
|
<style type="text/css">
|
||||||
|
#container {
|
||||||
|
position: absolute;
|
||||||
|
left: 10px;
|
||||||
|
top: 50px;
|
||||||
|
width: 150px;
|
||||||
|
height: 150px;
|
||||||
|
background: green;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>This test passes if you see a green square.</p>
|
||||||
|
<div id="container"></div>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,55 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html class="reftest-wait">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>fractions bar</title>
|
||||||
|
<link rel="help" href="http://www.mathml-association.org/MathMLinHTML5/S3.html#SS3.SSS2">
|
||||||
|
<meta name="assert" content="Verifies painting of the fraction bar">
|
||||||
|
<link rel="match" href="frac-bar-001-ref.html">
|
||||||
|
<style type="text/css">
|
||||||
|
@font-face {
|
||||||
|
font-family: TestFont;
|
||||||
|
src: url("/fonts/math/fraction-rulethickness10000.woff");
|
||||||
|
}
|
||||||
|
math {
|
||||||
|
/* FractionRuleThickness = 10000 * 1 / 1000 = 10px; */
|
||||||
|
/* The gap / shift / axisheight parameters are set to 0. */
|
||||||
|
font-family: "TestFont";
|
||||||
|
font-size: 1px;
|
||||||
|
}
|
||||||
|
#container {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<script src="/common/reftest-wait.js"></script>
|
||||||
|
<script>
|
||||||
|
window.addEventListener("load", () => {
|
||||||
|
// Delay the check to workaround WebKit's bug https://webkit.org/b/174030.
|
||||||
|
requestAnimationFrame(() => { document.fonts.ready.then(adjustPositionOfFraction); });
|
||||||
|
});
|
||||||
|
function adjustPositionOfFraction()
|
||||||
|
{
|
||||||
|
requestAnimationFrame(() => {
|
||||||
|
var container = document.getElementById("container");
|
||||||
|
var numeratorBox = document.getElementById("numerator").getBoundingClientRect();
|
||||||
|
container.style.left = (10 - numeratorBox.left) + "px";
|
||||||
|
container.style.top = (50 - numeratorBox.top) + "px";
|
||||||
|
requestAnimationFrame(takeScreenshot);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>This test passes if you see a green square.</p>
|
||||||
|
<div id="container">
|
||||||
|
<math>
|
||||||
|
<mfrac style="color: green; font-size: 15em">
|
||||||
|
<mspace id="numerator" width="150px"></mspace>
|
||||||
|
<mspace></mspace>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,16 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Fraction bar color</title>
|
||||||
|
</head>
|
||||||
|
<body style="font-size: 20pt;">
|
||||||
|
<p>This test passes if you see a fraction with a blue fraction bar.</p>
|
||||||
|
<math>
|
||||||
|
<mfrac>
|
||||||
|
<mspace width="200px" height="20px" style="background: black"></mspace>
|
||||||
|
<mspace width="200px" height="20px" style="background: black"></mspace>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,19 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Fraction bar color</title>
|
||||||
|
<link rel="help" href="http://www.mathml-association.org/MathMLinHTML5/S3.html#SS3.SSS2">
|
||||||
|
<meta name="assert" content="The CSS color property has an effect on the fraction bar.">
|
||||||
|
<link rel="mismatch" href="frac-color-001-notref.html">
|
||||||
|
</head>
|
||||||
|
<body style="font-size: 20pt;">
|
||||||
|
<p>This test passes if you see a fraction with a blue fraction bar.</p>
|
||||||
|
<math>
|
||||||
|
<mfrac style="color: blue;">
|
||||||
|
<mspace width="200px" height="20px" style="background: black"></mspace>
|
||||||
|
<mspace width="200px" height="20px" style="background: black"></mspace>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,14 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>fractions color</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>This test passes if you see a green square and a blue square.</p>
|
||||||
|
<div style="background: green; width: 200px; height: 200px;">
|
||||||
|
</div>
|
||||||
|
<div style="background: blue; width: 200px; height: 200px;">
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,31 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>fractions color</title>
|
||||||
|
<link rel="help" href="http://www.mathml-association.org/MathMLinHTML5/S3.html#SS3.SSS2">
|
||||||
|
<meta name="assert" content="Verifies the color attribute affects the fraction bar">
|
||||||
|
<link rel="match" href="frac-color-002-ref.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>This test passes if you see a green square and a blue square.</p>
|
||||||
|
<div style="background: green; width: 200px; height: 200px;">
|
||||||
|
<math>
|
||||||
|
<mspace width="10px"></mspace>
|
||||||
|
<mfrac style="color: green">
|
||||||
|
<mspace width="150px" height="20px"></mspace>
|
||||||
|
<mspace width="150px" height="20px"></mspace>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
</div>
|
||||||
|
<div style="background: blue; width: 200px; height: 200px;">
|
||||||
|
<math>
|
||||||
|
<mspace width="10px"></mspace>
|
||||||
|
<mfrac style="color: blue">
|
||||||
|
<mspace width="150px" height="20px"></mspace>
|
||||||
|
<mspace width="150px" height="20px"></mspace>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,39 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>fractions linethickness</title>
|
||||||
|
<style type="text/css">
|
||||||
|
@font-face {
|
||||||
|
font-family: TestFont;
|
||||||
|
src: url("/fonts/math/fraction-rulethickness10000.woff");
|
||||||
|
}
|
||||||
|
math {
|
||||||
|
/* FractionRuleThickness = 10000 * 1 / 1000 = 10px; */
|
||||||
|
font-family: "TestFont";
|
||||||
|
font-size: 1px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>This test passes if you see fractions with line thickness equal to the height of their blue numerator and cyan denominator.</p>
|
||||||
|
<math>
|
||||||
|
<mfrac linethickness="5px">
|
||||||
|
<mspace width="20px" height="5px" style="background: blue"></mspace>
|
||||||
|
<mspace width="20px" height="5px" style="background: cyan"></mspace>
|
||||||
|
</mfrac>
|
||||||
|
<mfrac linethickness="10px">
|
||||||
|
<mspace width="20px" height="10px" style="background: blue"></mspace>
|
||||||
|
<mspace width="20px" height="10px" style="background: cyan"></mspace>
|
||||||
|
</mfrac>
|
||||||
|
<mfrac linethickness="20px">
|
||||||
|
<mspace width="20px" height="20px" style="background: blue"></mspace>
|
||||||
|
<mspace width="20px" height="20px" style="background: cyan"></mspace>
|
||||||
|
</mfrac>
|
||||||
|
<mfrac linethickness="50px">
|
||||||
|
<mspace width="20px" height="50px" style="background: blue"></mspace>
|
||||||
|
<mspace width="20px" height="50px" style="background: cyan"></mspace>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,42 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>fractions linethickness</title>
|
||||||
|
<link rel="help" href="http://www.mathml-association.org/MathMLinHTML5/S3.html#SS3.SSS2">
|
||||||
|
<meta name="assert" content="Verifies 'thin', 'medium', 'thick' and unitless values for the linethickness attribute of the mfrac element">
|
||||||
|
<link rel="match" href="frac-linethickness-001-ref.html">
|
||||||
|
<style type="text/css">
|
||||||
|
@font-face {
|
||||||
|
font-family: TestFont;
|
||||||
|
src: url("/fonts/math/fraction-rulethickness10000.woff");
|
||||||
|
}
|
||||||
|
math {
|
||||||
|
/* FractionRuleThickness = 10000 * 1 / 1000 = 10px; */
|
||||||
|
font-family: "TestFont";
|
||||||
|
font-size: 1px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>This test passes if you see fractions with line thickness equal to the height of their blue numerator and cyan denominator.</p>
|
||||||
|
<math>
|
||||||
|
<mfrac linethickness="thin">
|
||||||
|
<mspace width="20px" height="5px" style="background: blue"></mspace>
|
||||||
|
<mspace width="20px" height="5px" style="background: cyan"></mspace>
|
||||||
|
</mfrac>
|
||||||
|
<mfrac linethickness="medium">
|
||||||
|
<mspace width="20px" height="10px" style="background: blue"></mspace>
|
||||||
|
<mspace width="20px" height="10px" style="background: cyan"></mspace>
|
||||||
|
</mfrac>
|
||||||
|
<mfrac linethickness="thick">
|
||||||
|
<mspace width="20px" height="20px" style="background: blue"></mspace>
|
||||||
|
<mspace width="20px" height="20px" style="background: cyan"></mspace>
|
||||||
|
</mfrac>
|
||||||
|
<mfrac linethickness="5">
|
||||||
|
<mspace width="20px" height="50px" style="background: blue"></mspace>
|
||||||
|
<mspace width="20px" height="50px" style="background: cyan"></mspace>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,40 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>fractions linethickness</title>
|
||||||
|
<style type="text/css">
|
||||||
|
@font-face {
|
||||||
|
font-family: TestFont;
|
||||||
|
src: url("/fonts/math/fraction-rulethickness10000.woff");
|
||||||
|
}
|
||||||
|
math {
|
||||||
|
/* FractionRuleThickness = 10000 * 1 / 1000 = 10px; */
|
||||||
|
font-family: "TestFont";
|
||||||
|
font-size: 1px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>This test passes if you see fraction with a cyan denominator and
|
||||||
|
a blue numerator as tall as its black bar.</p>
|
||||||
|
<math>
|
||||||
|
<mfrac linethickness="0px">
|
||||||
|
<mspace width="20px" height="0px" style="background: blue"></mspace>
|
||||||
|
<mspace width="20px" height="10px" style="background: cyan"></mspace>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
<math>
|
||||||
|
<mfrac linethickness="50px">
|
||||||
|
<mspace width="20px" height="50px" style="background: blue"></mspace>
|
||||||
|
<mspace width="20px" height="10px" style="background: cyan"></mspace>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
<math style="font-size: 180px">
|
||||||
|
<mfrac linethickness="0.3888888888888889em">
|
||||||
|
<mspace width="20px" height="70px" style="background: blue"></mspace>
|
||||||
|
<mspace width="20px" height="10px" style="background: cyan"></mspace>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,43 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>fractions linethickness</title>
|
||||||
|
<link rel="help" href="http://www.mathml-association.org/MathMLinHTML5/S3.html#SS3.SSS2">
|
||||||
|
<meta name="assert" content="Verifies fraction with negative, percent and named space linethickness values.">
|
||||||
|
<link rel="match" href="frac-linethickness-002-ref.html">
|
||||||
|
<style type="text/css">
|
||||||
|
@font-face {
|
||||||
|
font-family: TestFont;
|
||||||
|
src: url("/fonts/math/fraction-rulethickness10000.woff");
|
||||||
|
}
|
||||||
|
math {
|
||||||
|
/* FractionRuleThickness = 10000 * 1 / 1000 = 10px; */
|
||||||
|
font-family: "TestFont";
|
||||||
|
font-size: 1px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>This test passes if you see fraction with a cyan denominator and
|
||||||
|
a blue numerator as tall as its black bar.</p>
|
||||||
|
<math>
|
||||||
|
<mfrac linethickness="-1.23em">
|
||||||
|
<mspace width="20px" height="0px" style="background: blue"></mspace>
|
||||||
|
<mspace width="20px" height="10px" style="background: cyan"></mspace>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
<math>
|
||||||
|
<mfrac linethickness="500%">
|
||||||
|
<mspace width="20px" height="50px" style="background: blue"></mspace>
|
||||||
|
<mspace width="20px" height="10px" style="background: cyan"></mspace>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
<math style="font-size: 180px">
|
||||||
|
<mfrac linethickness="veryverythickmathspace">
|
||||||
|
<mspace width="20px" height="70px" style="background: blue"></mspace>
|
||||||
|
<mspace width="20px" height="10px" style="background: cyan"></mspace>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,16 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>fractions linethickness</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>This test passes if you see a fraction without fraction bar.</p>
|
||||||
|
<math>
|
||||||
|
<mfrac>
|
||||||
|
<mspace width="20px" height="5px" style="background: blue"></mspace>
|
||||||
|
<mspace width="20px" height="5px" style="background: cyan"></mspace>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,19 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>fractions linethickness</title>
|
||||||
|
<link rel="help" href="http://www.mathml-association.org/MathMLinHTML5/S3.html#SS3.SSS2">
|
||||||
|
<meta name="assert" content="Verifies fraction with 0px bar.">
|
||||||
|
<link rel="mismatch" href="frac-linethickness-003-notref.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>This test passes if you see a fraction without fraction bar.</p>
|
||||||
|
<math>
|
||||||
|
<mfrac linethickness="0px">
|
||||||
|
<mspace width="20px" height="5px" style="background: blue"></mspace>
|
||||||
|
<mspace width="20px" height="5px" style="background: cyan"></mspace>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,16 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Fraction mrow</title>
|
||||||
|
</head>
|
||||||
|
<body style="font-size: 20pt;">
|
||||||
|
<p>This test passes if you see a fraction with a blue square as numerator and a cyan square as denominator.</p>
|
||||||
|
<math>
|
||||||
|
<mfrac>
|
||||||
|
<mspace width="60px" height="60px" style="background: blue"></mspace>
|
||||||
|
<mspace width="60px" height="60px" style="background: cyan"></mspace>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,25 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Fraction mrow</title>
|
||||||
|
<link rel="help" href="http://www.mathml-association.org/MathMLinHTML5/S3.html#SS3.SSS2">
|
||||||
|
<meta name="assert" content="This test that <mrow> elements can be used as numerator and denominator of fractions.">
|
||||||
|
<link rel="match" href="frac-mrow-001-ref.html">
|
||||||
|
</head>
|
||||||
|
<body style="font-size: 20pt;">
|
||||||
|
<p>This test passes if you see a fraction with a blue square as numerator and a cyan square as denominator.</p>
|
||||||
|
<math>
|
||||||
|
<mfrac>
|
||||||
|
<mrow>
|
||||||
|
<mspace width="30px" height="60px" style="background: blue"></mspace>
|
||||||
|
<mspace width="30px" height="60px" style="background: blue "></mspace>
|
||||||
|
</mrow>
|
||||||
|
<mrow>
|
||||||
|
<mspace width="30px" height="60px" style="background: cyan"></mspace>
|
||||||
|
<mspace width="30px" height="60px" style="background: cyan "></mspace>
|
||||||
|
</mrow>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,73 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Fraction numalign denomalign</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>This test passes if you see 3 fractions with a numerator respectively
|
||||||
|
aligned left/center/right with respect to the denominator ;
|
||||||
|
followed by 3 fractions with a denominator respectively aligned
|
||||||
|
left/center/right with respect to the numerator.</p>
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mfrac>
|
||||||
|
<mrow>
|
||||||
|
<mspace width="10px" height="20px" style="background: blue;"></mspace>
|
||||||
|
<mspace width="20px" height="20px"></mspace>
|
||||||
|
</mrow>
|
||||||
|
<mspace width="30px" height="20px" style="background: cyan;"></mspace>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
<math>
|
||||||
|
<mfrac>
|
||||||
|
<mrow>
|
||||||
|
<mspace width="10px" height="20px"></mspace>
|
||||||
|
<mspace width="10px" height="20px" style="background: blue;"></mspace>
|
||||||
|
<mspace width="10px" height="20px"></mspace>
|
||||||
|
</mrow>
|
||||||
|
<mspace width="30px" height="20px" style="background: cyan;"></mspace>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
<math>
|
||||||
|
<mfrac>
|
||||||
|
<mrow>
|
||||||
|
<mspace width="20px" height="20px"></mspace>
|
||||||
|
<mspace width="10px" height="20px" style="background: blue;"></mspace>
|
||||||
|
</mrow>
|
||||||
|
<mspace width="30px" height="20px" style="background: cyan;"></mspace>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mfrac>
|
||||||
|
<mspace width="30px" height="20px" style="background: cyan;"></mspace>
|
||||||
|
<mrow>
|
||||||
|
<mspace width="10px" height="20px" style="background: blue;"></mspace>
|
||||||
|
<mspace width="20px" height="20px"></mspace>
|
||||||
|
</mrow>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
<math>
|
||||||
|
<mfrac>
|
||||||
|
<mspace width="30px" height="20px" style="background: cyan;"></mspace>
|
||||||
|
<mrow>
|
||||||
|
<mspace width="10px" height="20px"></mspace>
|
||||||
|
<mspace width="10px" height="20px" style="background: blue;"></mspace>
|
||||||
|
<mspace width="10px" height="20px"></mspace>
|
||||||
|
</mrow>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
<math>
|
||||||
|
<mfrac>
|
||||||
|
<mspace width="30px" height="20px" style="background: cyan;"></mspace>
|
||||||
|
<mrow>
|
||||||
|
<mspace width="20px" height="20px"></mspace>
|
||||||
|
<mspace width="10px" height="20px" style="background: blue;"></mspace>
|
||||||
|
</mrow>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,56 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Fraction numalign denomalign</title>
|
||||||
|
<link rel="help" href="http://www.mathml-association.org/MathMLinHTML5/S3.html#SS3.SSS2">
|
||||||
|
<meta name="assert" content="This fraction alignment with the numalign/denomalign attributes.">
|
||||||
|
<link rel="match" href="frac-numalign-denomalign-001-ref.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>This test passes if you see 3 fractions with a numerator respectively
|
||||||
|
aligned left/center/right with respect to the denominator ;
|
||||||
|
followed by 3 fractions with a denominator respectively aligned
|
||||||
|
left/center/right with respect to the numerator.</p>
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mfrac numalign="left">
|
||||||
|
<mspace width="10px" height="20px" style="background: blue;"></mspace>
|
||||||
|
<mspace width="30px" height="20px" style="background: cyan;"></mspace>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
<math>
|
||||||
|
<mfrac numalign="center">
|
||||||
|
<mspace width="10px" height="20px" style="background: blue;"></mspace>
|
||||||
|
<mspace width="30px" height="20px" style="background: cyan;"></mspace>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
<math>
|
||||||
|
<mfrac numalign="right">
|
||||||
|
<mspace width="10px" height="20px" style="background: blue;"></mspace>
|
||||||
|
<mspace width="30px" height="20px" style="background: cyan;"></mspace>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<math>
|
||||||
|
<mfrac denomalign="left">
|
||||||
|
<mspace width="30px" height="20px" style="background: cyan;"></mspace>
|
||||||
|
<mspace width="10px" height="20px" style="background: blue;"></mspace>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
<math>
|
||||||
|
<mfrac denomalign="center">
|
||||||
|
<mspace width="30px" height="20px" style="background: cyan;"></mspace>
|
||||||
|
<mspace width="10px" height="20px" style="background: blue;"></mspace>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
<math>
|
||||||
|
<mfrac denomalign="right">
|
||||||
|
<mspace width="30px" height="20px" style="background: cyan;"></mspace>
|
||||||
|
<mspace width="10px" height="20px" style="background: blue;"></mspace>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,12 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Fraction bar visibility</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>This test passes if you see a green square and no red.</p>
|
||||||
|
<div style="background: green; width: 200px; height: 200px;">
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,21 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>Fraction bar visibility</title>
|
||||||
|
<link rel="help" href="http://www.mathml-association.org/MathMLinHTML5/S3.html#SS3.SSS2">
|
||||||
|
<meta name="assert" content="The CSS visible property affects the rendering of the fraction bar.">
|
||||||
|
<link rel="match" href="frac-visibility-001-ref.html">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<p>This test passes if you see a green square and no red.</p>
|
||||||
|
<div style="background: green; width: 200px; height: 200px;">
|
||||||
|
<math>
|
||||||
|
<mfrac style="visibility: hidden; color: red">
|
||||||
|
<mspace width="200px" height="20px"></mspace>
|
||||||
|
<mspace width="200px" height="20px"></mspace>
|
||||||
|
</mfrac>
|
||||||
|
</math>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
29
tests/wpt/web-platform-tests/reporting/bufferSize.html
Normal file
29
tests/wpt/web-platform-tests/reporting/bufferSize.html
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
<!DOCTYPE HTML>
|
||||||
|
<meta charset=utf-8>
|
||||||
|
<title>Reporting: Buffer size</title>
|
||||||
|
<link rel="author" title="Paul Meyer" href="paulmeyer@chromium.org">
|
||||||
|
<script src="/resources/testharness.js"></script>
|
||||||
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
<script src="/resources/testdriver.js"></script>
|
||||||
|
<script src="/resources/testdriver-vendor.js"></script>
|
||||||
|
<script>
|
||||||
|
// Test the buffer size (100) of ReportingObserver.
|
||||||
|
async_test(async function(test) {
|
||||||
|
for (i = 0; i != 110; ++i)
|
||||||
|
await test_driver.generate_test_report("" + i);
|
||||||
|
|
||||||
|
var observer = new ReportingObserver(function(reports) {
|
||||||
|
test.step(function() {
|
||||||
|
// Only (the most recent) 100 reports should be observed, even though
|
||||||
|
// 110 were buffered.
|
||||||
|
assert_equals(reports.length, 100);
|
||||||
|
for(i = 0; i != 100; ++i) {
|
||||||
|
assert_equals(reports[i].body.message, "" + (i + 10));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
test.done();
|
||||||
|
}, {buffered: true});
|
||||||
|
observer.observe();
|
||||||
|
}, "Buffer size");
|
||||||
|
</script>
|
25
tests/wpt/web-platform-tests/reporting/disconnect.html
Normal file
25
tests/wpt/web-platform-tests/reporting/disconnect.html
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
<!DOCTYPE HTML>
|
||||||
|
<meta charset=utf-8>
|
||||||
|
<title>Reporting: Disconnect</title>
|
||||||
|
<link rel="author" title="Paul Meyer" href="paulmeyer@chromium.org">
|
||||||
|
<script src="/resources/testharness.js"></script>
|
||||||
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
<script src="/resources/testdriver.js"></script>
|
||||||
|
<script src="/resources/testdriver-vendor.js"></script>
|
||||||
|
<script>
|
||||||
|
async_test(async function(test) {
|
||||||
|
var observer = new ReportingObserver(function(reports, observer) {
|
||||||
|
test.step(function() {
|
||||||
|
assert_equals(reports.length, 1);
|
||||||
|
assert_equals(reports[0].body.message, "Test message.");
|
||||||
|
});
|
||||||
|
test.done();
|
||||||
|
});
|
||||||
|
observer.observe();
|
||||||
|
|
||||||
|
// The observer should still receive this report even though disconnect()
|
||||||
|
// is called immediately afterwards.
|
||||||
|
await test_driver.generate_test_report("Test message.");
|
||||||
|
observer.disconnect();
|
||||||
|
}, "Disconnect");
|
||||||
|
</script>
|
|
@ -0,0 +1,27 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<title>Reporting: Generate Test Report</title>
|
||||||
|
<link rel="author" title="Paul Meyer" href="paulmeyer@chromium.org">
|
||||||
|
<script src="/resources/testharness.js"></script>
|
||||||
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
<script src="/resources/testdriver.js"></script>
|
||||||
|
<script src="/resources/testdriver-vendor.js"></script>
|
||||||
|
<script>
|
||||||
|
// Test that the "generate_test_report" API works.
|
||||||
|
async_test(function(test) {
|
||||||
|
var observer = new ReportingObserver(function(reports) {
|
||||||
|
test.step(function() {
|
||||||
|
assert_equals(reports.length, 1);
|
||||||
|
// Ensure that the contents of the report are valid.
|
||||||
|
assert_equals(reports[0].type, "test");
|
||||||
|
assert_true(reports[0].url.endsWith("reporting/generateTestReport.html"));
|
||||||
|
assert_equals(reports[0].body.message, "Test message.");
|
||||||
|
});
|
||||||
|
test.done();
|
||||||
|
});
|
||||||
|
observer.observe();
|
||||||
|
|
||||||
|
// This should result in a "test" type report being generated and observed.
|
||||||
|
test_driver.generate_test_report("Test message.");
|
||||||
|
}, "Generate Test Report");
|
||||||
|
</script>
|
30
tests/wpt/web-platform-tests/reporting/nestedReport.html
Normal file
30
tests/wpt/web-platform-tests/reporting/nestedReport.html
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
<!DOCTYPE HTML>
|
||||||
|
<meta charset=utf-8>
|
||||||
|
<title>Reporting: Nested report</title>
|
||||||
|
<link rel="author" title="Paul Meyer" href="paulmeyer@chromium.org">
|
||||||
|
<script src="/resources/testharness.js"></script>
|
||||||
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
<script src="/resources/testdriver.js"></script>
|
||||||
|
<script src="/resources/testdriver-vendor.js"></script>
|
||||||
|
<script>
|
||||||
|
// Test that reports can be generated within a ReportingObserver
|
||||||
|
// callback. These reports should be received by the same observer.
|
||||||
|
async_test(function(test) {
|
||||||
|
var step = 0;
|
||||||
|
var observer = new ReportingObserver(async function(reports, observer) {
|
||||||
|
test.step(function() {
|
||||||
|
assert_equals(reports.length, 1);
|
||||||
|
assert_equals(reports[0].body.message, "" + step);
|
||||||
|
});
|
||||||
|
|
||||||
|
++step;
|
||||||
|
if (step == 3)
|
||||||
|
test.done();
|
||||||
|
|
||||||
|
test_driver.generate_test_report("" + step);
|
||||||
|
});
|
||||||
|
observer.observe();
|
||||||
|
|
||||||
|
test_driver.generate_test_report("0");
|
||||||
|
}, "Nested report");
|
||||||
|
</script>
|
32
tests/wpt/web-platform-tests/reporting/order.html
Normal file
32
tests/wpt/web-platform-tests/reporting/order.html
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
<!DOCTYPE HTML>
|
||||||
|
<meta charset=utf-8>
|
||||||
|
<title>Reporting: Order</title>
|
||||||
|
<link rel="author" title="Paul Meyer" href="paulmeyer@chromium.org">
|
||||||
|
<script src="/resources/testharness.js"></script>
|
||||||
|
<script src="/resources/testharnessreport.js"></script>
|
||||||
|
<script src="/resources/testdriver.js"></script>
|
||||||
|
<script src="/resources/testdriver-vendor.js"></script>
|
||||||
|
<p id="error">No error</p>
|
||||||
|
<script>
|
||||||
|
var count = 0;
|
||||||
|
async_test(function(test) {
|
||||||
|
var observer = new ReportingObserver(function(reports) {
|
||||||
|
test.step(function() {
|
||||||
|
// Reports should be received in the same order that they were
|
||||||
|
// generated.
|
||||||
|
for(i in reports) {
|
||||||
|
assert_equals(reports[i].body.message, "" + count++);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if (count == 10)
|
||||||
|
test.done();
|
||||||
|
});
|
||||||
|
observer.observe();
|
||||||
|
|
||||||
|
for (i = 0; i != 10; ++i)
|
||||||
|
test_driver.generate_test_report("" + i);
|
||||||
|
}, "Order");
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -194,6 +194,20 @@
|
||||||
*/
|
*/
|
||||||
action_sequence: function(actions) {
|
action_sequence: function(actions) {
|
||||||
return window.test_driver_internal.action_sequence(actions);
|
return window.test_driver_internal.action_sequence(actions);
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generates a test report on the current page
|
||||||
|
*
|
||||||
|
* The generate_test_report function generates a report (to be observed
|
||||||
|
* by ReportingObserver) for testing purposes, as described in
|
||||||
|
* {@link https://w3c.github.io/reporting/#generate-test-report-command}
|
||||||
|
*
|
||||||
|
* @returns {Promise} fulfilled after the report is generated, or
|
||||||
|
* rejected if the report generation fails
|
||||||
|
*/
|
||||||
|
generate_test_report: function(message) {
|
||||||
|
return window.test_driver_internal.generate_test_report(message);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -281,6 +295,17 @@
|
||||||
*/
|
*/
|
||||||
action_sequence: function(actions) {
|
action_sequence: function(actions) {
|
||||||
return Promise.reject(new Error("unimplemented"));
|
return Promise.reject(new Error("unimplemented"));
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generates a test report on the current page
|
||||||
|
*
|
||||||
|
* @param {String} message - the message to be contained in the report
|
||||||
|
* @returns {Promise} fulfilled after the report is generated, or
|
||||||
|
* rejected if the report generation fails
|
||||||
|
*/
|
||||||
|
generate_test_report: function(message) {
|
||||||
|
return Promise.reject(new Error("unimplemented"));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
})();
|
})();
|
||||||
|
|
|
@ -509,7 +509,8 @@ class CallbackHandler(object):
|
||||||
self.actions = {
|
self.actions = {
|
||||||
"click": ClickAction(self.logger, self.protocol),
|
"click": ClickAction(self.logger, self.protocol),
|
||||||
"send_keys": SendKeysAction(self.logger, self.protocol),
|
"send_keys": SendKeysAction(self.logger, self.protocol),
|
||||||
"action_sequence": ActionSequenceAction(self.logger, self.protocol)
|
"action_sequence": ActionSequenceAction(self.logger, self.protocol),
|
||||||
|
"generate_test_report": GenerateTestReportAction(self.logger, self.protocol)
|
||||||
}
|
}
|
||||||
|
|
||||||
def __call__(self, result):
|
def __call__(self, result):
|
||||||
|
@ -593,3 +594,13 @@ class ActionSequenceAction(object):
|
||||||
def get_element(self, selector):
|
def get_element(self, selector):
|
||||||
element = self.protocol.select.element_by_selector(selector)
|
element = self.protocol.select.element_by_selector(selector)
|
||||||
return element
|
return element
|
||||||
|
|
||||||
|
class GenerateTestReportAction(object):
|
||||||
|
def __init__(self, logger, protocol):
|
||||||
|
self.logger = logger
|
||||||
|
self.protocol = protocol
|
||||||
|
|
||||||
|
def __call__(self, payload):
|
||||||
|
message = payload["message"]
|
||||||
|
self.logger.debug("Generating test report: %s" % message)
|
||||||
|
self.protocol.generate_test_report.generate_test_report(message)
|
||||||
|
|
|
@ -213,9 +213,6 @@ class SeleniumProtocol(Protocol):
|
||||||
resolve_ip=False),
|
resolve_ip=False),
|
||||||
desired_capabilities=self.capabilities)
|
desired_capabilities=self.capabilities)
|
||||||
|
|
||||||
def after_conect(self):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def teardown(self):
|
def teardown(self):
|
||||||
self.logger.debug("Hanging up on Selenium session")
|
self.logger.debug("Hanging up on Selenium session")
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -20,7 +20,8 @@ from .protocol import (BaseProtocolPart,
|
||||||
ClickProtocolPart,
|
ClickProtocolPart,
|
||||||
SendKeysProtocolPart,
|
SendKeysProtocolPart,
|
||||||
ActionSequenceProtocolPart,
|
ActionSequenceProtocolPart,
|
||||||
TestDriverProtocolPart)
|
TestDriverProtocolPart,
|
||||||
|
GenerateTestReportProtocolPart)
|
||||||
from ..testrunner import Stop
|
from ..testrunner import Stop
|
||||||
|
|
||||||
import webdriver as client
|
import webdriver as client
|
||||||
|
@ -188,6 +189,15 @@ class WebDriverTestDriverProtocolPart(TestDriverProtocolPart):
|
||||||
self.webdriver.execute_script("window.postMessage(%s, '*')" % json.dumps(obj))
|
self.webdriver.execute_script("window.postMessage(%s, '*')" % json.dumps(obj))
|
||||||
|
|
||||||
|
|
||||||
|
class WebDriverGenerateTestReportProtocolPart(GenerateTestReportProtocolPart):
|
||||||
|
def setup(self):
|
||||||
|
self.webdriver = self.parent.webdriver
|
||||||
|
|
||||||
|
def generate_test_report(self, message):
|
||||||
|
json_message = {"message": message}
|
||||||
|
self.webdriver.send_session_command("POST", "reporting/generate_test_report", json_message)
|
||||||
|
|
||||||
|
|
||||||
class WebDriverProtocol(Protocol):
|
class WebDriverProtocol(Protocol):
|
||||||
implements = [WebDriverBaseProtocolPart,
|
implements = [WebDriverBaseProtocolPart,
|
||||||
WebDriverTestharnessProtocolPart,
|
WebDriverTestharnessProtocolPart,
|
||||||
|
@ -195,7 +205,8 @@ class WebDriverProtocol(Protocol):
|
||||||
WebDriverClickProtocolPart,
|
WebDriverClickProtocolPart,
|
||||||
WebDriverSendKeysProtocolPart,
|
WebDriverSendKeysProtocolPart,
|
||||||
WebDriverActionSequenceProtocolPart,
|
WebDriverActionSequenceProtocolPart,
|
||||||
WebDriverTestDriverProtocolPart]
|
WebDriverTestDriverProtocolPart,
|
||||||
|
WebDriverGenerateTestReportProtocolPart]
|
||||||
|
|
||||||
def __init__(self, executor, browser, capabilities, **kwargs):
|
def __init__(self, executor, browser, capabilities, **kwargs):
|
||||||
super(WebDriverProtocol, self).__init__(executor, browser)
|
super(WebDriverProtocol, self).__init__(executor, browser)
|
||||||
|
@ -214,9 +225,6 @@ class WebDriverProtocol(Protocol):
|
||||||
self.webdriver.start()
|
self.webdriver.start()
|
||||||
|
|
||||||
|
|
||||||
def after_conect(self):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def teardown(self):
|
def teardown(self):
|
||||||
self.logger.debug("Hanging up on WebDriver session")
|
self.logger.debug("Hanging up on WebDriver session")
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -265,6 +265,7 @@ class ClickProtocolPart(ProtocolPart):
|
||||||
:param element: A protocol-specific handle to an element."""
|
:param element: A protocol-specific handle to an element."""
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
class SendKeysProtocolPart(ProtocolPart):
|
class SendKeysProtocolPart(ProtocolPart):
|
||||||
"""Protocol part for performing trusted clicks"""
|
"""Protocol part for performing trusted clicks"""
|
||||||
__metaclass__ = ABCMeta
|
__metaclass__ = ABCMeta
|
||||||
|
@ -280,6 +281,20 @@ class SendKeysProtocolPart(ProtocolPart):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class GenerateTestReportProtocolPart(ProtocolPart):
|
||||||
|
"""Protocol part for generating test reports"""
|
||||||
|
__metaclass__ = ABCMeta
|
||||||
|
|
||||||
|
name = "generate_test_report"
|
||||||
|
|
||||||
|
@abstractmethod
|
||||||
|
def generate_test_report(self, message):
|
||||||
|
"""Generate a test report.
|
||||||
|
|
||||||
|
:param message: The message to be contained in the report."""
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
class ActionSequenceProtocolPart(ProtocolPart):
|
class ActionSequenceProtocolPart(ProtocolPart):
|
||||||
"""Protocol part for performing trusted clicks"""
|
"""Protocol part for performing trusted clicks"""
|
||||||
__metaclass__ = ABCMeta
|
__metaclass__ = ABCMeta
|
||||||
|
|
|
@ -365,7 +365,7 @@ class ExpectedUpdater(object):
|
||||||
|
|
||||||
if self.ignore_existing:
|
if self.ignore_existing:
|
||||||
test_data.set_requires_update()
|
test_data.set_requires_update()
|
||||||
test_data.clear.append("expected")
|
test_data.clear.add("expected")
|
||||||
self.tests_visited[test_id] = set()
|
self.tests_visited[test_id] = set()
|
||||||
|
|
||||||
def test_status(self, data):
|
def test_status(self, data):
|
||||||
|
|
|
@ -90,4 +90,13 @@
|
||||||
window.__wptrunner_message_queue.push({"type": "action", "action": "action_sequence", "actions": actions});
|
window.__wptrunner_message_queue.push({"type": "action", "action": "action_sequence", "actions": actions});
|
||||||
return pending_promise;
|
return pending_promise;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
window.test_driver_internal.generate_test_report = function(message) {
|
||||||
|
const pending_promise = new Promise(function(resolve, reject) {
|
||||||
|
pending_resolve = resolve;
|
||||||
|
pending_reject = reject;
|
||||||
|
});
|
||||||
|
window.__wptrunner_message_queue.push({"type": "action", "action": "generate_test_report", "message": message});
|
||||||
|
return pending_promise;
|
||||||
|
};
|
||||||
})();
|
})();
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
from webdriver.error import NoSuchAlertException, NoSuchWindowException
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.fixture(name="session")
|
||||||
|
def fixture_session(capabilities, session, create_window):
|
||||||
|
"""Prevent dialog rate limits by running the test in a new window."""
|
||||||
|
original_handle = session.window_handle
|
||||||
|
session.window_handle = create_window()
|
||||||
|
|
||||||
|
yield session
|
||||||
|
|
||||||
|
try:
|
||||||
|
session.alert.dismiss()
|
||||||
|
except NoSuchAlertException:
|
||||||
|
pass
|
||||||
|
|
||||||
|
try:
|
||||||
|
session.close()
|
||||||
|
except NoSuchWindowException:
|
||||||
|
pass
|
||||||
|
|
||||||
|
session.window_handle = original_handle
|
|
@ -0,0 +1,55 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<body>
|
||||||
|
<script src=/resources/testharness.js></script>
|
||||||
|
<script src=/resources/testharnessreport.js></script>
|
||||||
|
<script src="resources/webxr_util.js"></script>
|
||||||
|
<canvas></canvas>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
let immersiveTestName = "XRFrame methods throw exceptions outside of the " +
|
||||||
|
"requestAnimationFrame callback for immersive sessions";
|
||||||
|
let nonImmersiveTestName = "XRFrame methods throw exceptions outside of the " +
|
||||||
|
"requestAnimationFrame callback for non-immersive sessions";
|
||||||
|
|
||||||
|
let fakeDeviceInitParams = { supportsImmersive:true };
|
||||||
|
|
||||||
|
let immersiveSessionOptions = { mode: 'immersive-vr' };
|
||||||
|
let nonImmersiveSessionOptions = { outputContext: getOutputContext() };
|
||||||
|
|
||||||
|
let testFunction = (testSession, testController, t) => new Promise((resolve) => {
|
||||||
|
let staleFrame = null;
|
||||||
|
let currentReferenceSpace = null;
|
||||||
|
|
||||||
|
function onFrame(time, xrFrame) {
|
||||||
|
t.step(() => {
|
||||||
|
assert_true(xrFrame instanceof XRFrame);
|
||||||
|
});
|
||||||
|
|
||||||
|
staleFrame = xrFrame;
|
||||||
|
step_timeout(afterFrame, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
function afterFrame() {
|
||||||
|
t.step(() => {
|
||||||
|
// Attempting to call a method on the frame outside the callback that
|
||||||
|
// originally provided it should cause it to throw an exception.
|
||||||
|
assert_throws('InvalidStateError', () => staleFrame.getViewerPose(currentReferenceSpace));
|
||||||
|
});
|
||||||
|
|
||||||
|
// Test does not complete until the this function has executed.
|
||||||
|
resolve();
|
||||||
|
}
|
||||||
|
|
||||||
|
testSession.requestReferenceSpace({ type: 'stationary', subtype: 'eye-level' }).then((referenceSpace) => {
|
||||||
|
currentReferenceSpace = referenceSpace;
|
||||||
|
testSession.requestAnimationFrame(onFrame);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
xr_session_promise_test(immersiveTestName, testFunction,
|
||||||
|
fakeDeviceInitParams, immersiveSessionOptions);
|
||||||
|
xr_session_promise_test(nonImmersiveTestName, testFunction,
|
||||||
|
fakeDeviceInitParams, nonImmersiveSessionOptions);
|
||||||
|
|
||||||
|
</script>
|
||||||
|
</body>
|
Loading…
Add table
Add a link
Reference in a new issue