mirror of
https://github.com/servo/servo.git
synced 2025-07-12 18:03:49 +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",
|
||||
|
@ -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",
|
||||
|
@ -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",
|
||||
|
@ -205742,6 +205898,11 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"client-hints/resources/sec-ch-ua.py": [
|
||||
[
|
||||
{}
|
||||
]
|
||||
],
|
||||
"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": [
|
||||
[
|
||||
{}
|
||||
|
@ -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": [
|
||||
[
|
||||
{}
|
||||
|
@ -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": [
|
||||
[
|
||||
{}
|
||||
|
@ -323982,6 +324203,11 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"webdriver/tests/send_alert_text/conftest.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",
|
||||
|
@ -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",
|
||||
|
@ -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.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"reporting/nestedReport.html": [
|
||||
[
|
||||
"/reporting/nestedReport.html",
|
||||
{
|
||||
"testdriver": true
|
||||
}
|
||||
]
|
||||
],
|
||||
"reporting/order.html": [
|
||||
[
|
||||
"/reporting/order.html",
|
||||
{
|
||||
"testdriver": true
|
||||
}
|
||||
]
|
||||
],
|
||||
"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",
|
||||
|
@ -449828,7 +450106,7 @@
|
|||
},
|
||||
"paths": {
|
||||
".azure-pipelines.yml": [
|
||||
"5bd9fd67a1d5cdf1f929f1dd38e606d3e4f9fb99",
|
||||
"cb204cabe288508280622c59b1d30bf18b74c1a1",
|
||||
"support"
|
||||
],
|
||||
".codecov.yml": [
|
||||
|
@ -461083,10 +461361,22 @@
|
|||
"2dd18068427ccec7f75ecbdc7fa4e19c339f53a7",
|
||||
"support"
|
||||
],
|
||||
"client-hints/resources/sec-ch-ua.py": [
|
||||
"a14a27dadf9e333784a5c636c821634b387e475f",
|
||||
"support"
|
||||
],
|
||||
"client-hints/resources/square.png": [
|
||||
"01c9666a8de9d5535615aff830810e5df4b2156f",
|
||||
"support"
|
||||
],
|
||||
"client-hints/sec-ch-ua.http.html": [
|
||||
"e333c605301e621133ee5e6f3d01e2525d5c058a",
|
||||
"testharness"
|
||||
],
|
||||
"client-hints/sec-ch-ua.https.html": [
|
||||
"b293745365a611475697aaa7b66a8a809cad7b3c",
|
||||
"testharness"
|
||||
],
|
||||
"clipboard-apis/META.yml": [
|
||||
"ecbac54806cb0d3a915c551f0a684fdc84acdd5e",
|
||||
"support"
|
||||
|
@ -577063,6 +577353,26 @@
|
|||
"a24556aa0dedfab35ff7792f03b804f44c0f4160",
|
||||
"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": [
|
||||
"3b6297fc4ab06643b2910194479b571ca3a462f2",
|
||||
"support"
|
||||
|
@ -601084,7 +601394,7 @@
|
|||
"testharness"
|
||||
],
|
||||
"css/cssom/CSSStyleSheet-constructable.html": [
|
||||
"e3083d283f35145ae7f2be1941ff930ae864b088",
|
||||
"80189fe2f36e7c89f0445511460732fa77169108",
|
||||
"testharness"
|
||||
],
|
||||
"css/cssom/CSSStyleSheet.html": [
|
||||
|
@ -616472,7 +616782,7 @@
|
|||
"support"
|
||||
],
|
||||
"domparsing/DOMParser-parseFromString-html.html": [
|
||||
"ec424423a1d28988d2b949b51e9467f0cf702290",
|
||||
"ad65cc58618462591568dda622f35b68a64c1d63",
|
||||
"testharness"
|
||||
],
|
||||
"domparsing/DOMParser-parseFromString-xml-doctype.html": [
|
||||
|
@ -634167,12 +634477,16 @@
|
|||
"76019c9b41e4fd4c56f4252d399f088b7b3e4470",
|
||||
"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": [
|
||||
"427189f6fc78074ae13c58e94ae3d02bc0e513b2",
|
||||
"testharness"
|
||||
"c2d300999eeaa207365b5c0b42f9b033e6b96446",
|
||||
"reftest"
|
||||
],
|
||||
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-line-doesnt-fit-ref.html": [
|
||||
"8354041eb2a0aa57b283e12d9c0390f16327ac80",
|
||||
"c4c14bc2a394ff19c14bfa76c4b59ad5d6ddb618",
|
||||
"support"
|
||||
],
|
||||
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-line-doesnt-fit.html": [
|
||||
|
@ -634180,7 +634494,7 @@
|
|||
"reftest"
|
||||
],
|
||||
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-transformed-video-ref.html": [
|
||||
"39461350b089b9041a71a6ca9aad7f1cfc078d68",
|
||||
"c3ee804c485b762d8b69614136558bbf2ed833a8",
|
||||
"support"
|
||||
],
|
||||
"html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-transformed-video.html": [
|
||||
|
@ -643460,7 +643774,7 @@
|
|||
"support"
|
||||
],
|
||||
"interfaces/webxr.idl": [
|
||||
"74466f856be208f091372c778c0c70ca8fa0e9a2",
|
||||
"899bb0daa008ccb547d47b0a96c383c40e7e776e",
|
||||
"support"
|
||||
],
|
||||
"interfaces/worklets.idl": [
|
||||
|
@ -644087,6 +644401,70 @@
|
|||
"848eb5b144cef3740b794475f699229243c1287e",
|
||||
"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": [
|
||||
"543017e19006377cac0c1a434bd43400467fac3b",
|
||||
"testharness"
|
||||
|
@ -644095,6 +644473,14 @@
|
|||
"75074875c9e6b1fa205fe76b85c4a0b36fadf274",
|
||||
"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": [
|
||||
"7b0031ac1ed63219130b69113ebbfdc28eec10d6",
|
||||
"testharness"
|
||||
|
@ -666123,10 +666509,30 @@
|
|||
"980823f59f7e3ac4f35a31ab6df37ce16e538f54",
|
||||
"support"
|
||||
],
|
||||
"reporting/bufferSize.html": [
|
||||
"b3512b3bc93b322e2015e71d70f01bc5986bc24d",
|
||||
"testharness"
|
||||
],
|
||||
"reporting/disconnect.html": [
|
||||
"2dc5e8fd2de724e41bc0c003b4e7036d1d954371",
|
||||
"testharness"
|
||||
],
|
||||
"reporting/generateTestReport.html": [
|
||||
"e3c2735686a05eefc9bbcfb107f76ec7275b8948",
|
||||
"testharness"
|
||||
],
|
||||
"reporting/idlharness.window.js": [
|
||||
"17cef8183596ae1d0b307fb8ddccc7455b955966",
|
||||
"testharness"
|
||||
],
|
||||
"reporting/nestedReport.html": [
|
||||
"156338ee74653bfdc843e6acceda073c02ca635b",
|
||||
"testharness"
|
||||
],
|
||||
"reporting/order.html": [
|
||||
"c43964220c981f4b91c7c5e7eac7fc67377b367b",
|
||||
"testharness"
|
||||
],
|
||||
"requestidlecallback/META.yml": [
|
||||
"9c829d3c8885bb9b594e7096a878166e07f3e278",
|
||||
"support"
|
||||
|
@ -667140,7 +667546,7 @@
|
|||
"support"
|
||||
],
|
||||
"resources/testdriver.js": [
|
||||
"e328302e4f345114654eda323dbd09a5f650d419",
|
||||
"031be1b7e5501658d412aecc6f0cba56b3444601",
|
||||
"support"
|
||||
],
|
||||
"resources/testdriver.js.headers": [
|
||||
|
@ -682188,7 +682594,7 @@
|
|||
"support"
|
||||
],
|
||||
"tools/wptrunner/wptrunner/executors/base.py": [
|
||||
"0e54eca778b3d6df8ae41da00f6acce129be82c1",
|
||||
"41cf2c641d291b9fa573c3421e6fb61622a502fd",
|
||||
"support"
|
||||
],
|
||||
"tools/wptrunner/wptrunner/executors/executorchrome.py": [
|
||||
|
@ -682216,7 +682622,7 @@
|
|||
"support"
|
||||
],
|
||||
"tools/wptrunner/wptrunner/executors/executorselenium.py": [
|
||||
"21868421712994e83eb317f281c6cf0ff69f5229",
|
||||
"fa257e1296e9046425d88b99ce440b9e658edd2a",
|
||||
"support"
|
||||
],
|
||||
"tools/wptrunner/wptrunner/executors/executorservo.py": [
|
||||
|
@ -682228,7 +682634,7 @@
|
|||
"support"
|
||||
],
|
||||
"tools/wptrunner/wptrunner/executors/executorwebdriver.py": [
|
||||
"3f8c2bb5a3f94a5230bf93e7e4192692df8f0ab3",
|
||||
"817b2717cb71352955315497956065c72561050f",
|
||||
"support"
|
||||
],
|
||||
"tools/wptrunner/wptrunner/executors/executorwebkit.py": [
|
||||
|
@ -682240,7 +682646,7 @@
|
|||
"support"
|
||||
],
|
||||
"tools/wptrunner/wptrunner/executors/protocol.py": [
|
||||
"aa3565e5726a0662d10ed49cee85f153691c441f",
|
||||
"d08b74bfc36ae97cebaa148741701dcc2a767399",
|
||||
"support"
|
||||
],
|
||||
"tools/wptrunner/wptrunner/executors/pytestrunner/__init__.py": [
|
||||
|
@ -682300,7 +682706,7 @@
|
|||
"support"
|
||||
],
|
||||
"tools/wptrunner/wptrunner/metadata.py": [
|
||||
"3a92491aa22202e21041a258220afae6bda13a92",
|
||||
"8699ac4fc734c1a45a4b7723b3dceea27590f8fa",
|
||||
"support"
|
||||
],
|
||||
"tools/wptrunner/wptrunner/products.py": [
|
||||
|
@ -682312,7 +682718,7 @@
|
|||
"support"
|
||||
],
|
||||
"tools/wptrunner/wptrunner/testdriver-extra.js": [
|
||||
"6336d227db8d7d9f3e6c4276ad2f5c609e9f27e9",
|
||||
"09d7c2908671228e625d0717e567d751470fe6cd",
|
||||
"support"
|
||||
],
|
||||
"tools/wptrunner/wptrunner/testdriver-vendor.js": [
|
||||
|
@ -687959,6 +688365,10 @@
|
|||
"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
|
||||
"support"
|
||||
],
|
||||
"webdriver/tests/send_alert_text/conftest.py": [
|
||||
"f34630c3cbc5de2700552e576bc7c797d2bd724f",
|
||||
"support"
|
||||
],
|
||||
"webdriver/tests/send_alert_text/send.py": [
|
||||
"6dbc03f94019abf6fc467ae2baf8fb9d21823e64",
|
||||
"wdspec"
|
||||
|
@ -693559,6 +693969,10 @@
|
|||
"69a35c2510983550993f630ea6f0a165c2e89369",
|
||||
"testharness"
|
||||
],
|
||||
"webxr/xrFrame_lifetime.https.html": [
|
||||
"971a6d78a1e1ee1c51141a475868185318680495",
|
||||
"testharness"
|
||||
],
|
||||
"webxr/xrSession_cancelAnimationFrame.https.html": [
|
||||
"9b08f93eead693c1c9aa6d7e2458988aa7dae442",
|
||||
"testharness"
|
||||
|
|
|
@ -74,3 +74,6 @@
|
|||
[opacity end]
|
||||
expected: FAIL
|
||||
|
||||
[border-bottom-width end]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -6,6 +6,3 @@
|
|||
[Instant scrolling while doing history navigation.]
|
||||
expected: FAIL
|
||||
|
||||
[Smooth scrolling while doing history navigation.]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
|
||||
|
||||
[single-byte-decoder.html?XMLHttpRequest]
|
||||
expected: CRASH
|
||||
expected: TIMEOUT
|
||||
[ISO-8859-2: iso_8859-2:1987 (XMLHttpRequest)]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -60,12 +60,6 @@
|
|||
[windows-1254: iso_8859-9:1989 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1258: cp1258 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1256: cp1256 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1254: iso_8859-9 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
@ -90,35 +84,32 @@
|
|||
[windows-1256: x-cp1256 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1257: x-cp1257 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1255: cp1255 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1256: windows-1256 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1257: windows-1257 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1254: iso88599 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1254: iso-8859-9 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1254: iso8859-9 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1254: iso-ir-148 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1254: csisolatin5 (XMLHttpRequest)]
|
||||
expected: TIMEOUT
|
||||
|
||||
[windows-1255: windows-1255 (XMLHttpRequest)]
|
||||
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]
|
||||
|
|
|
@ -312,18 +312,9 @@
|
|||
[<iframe>: separate response Content-Type: text/plain */*;charset=gbk]
|
||||
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]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;" \\" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -11,6 +11,3 @@
|
|||
[X-Content-Type-Options%3A%20nosniff%0C]
|
||||
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]
|
||||
expected: TIMEOUT
|
||||
[Empty cues]
|
||||
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.]
|
||||
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'
|
||||
inputs:
|
||||
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>
|
||||
</div>
|
||||
</section>
|
||||
<section id="secondSection"></section>
|
||||
<section id="shadowHost"></section>
|
||||
<section id="thirdSection"></section>
|
||||
|
||||
<script>
|
||||
|
@ -27,7 +27,8 @@ const yellowStyleText = ".yellow { color: yellow; }";
|
|||
|
||||
const firstDiv = document.querySelector('#firstSection > div');
|
||||
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);
|
||||
|
||||
const greenSpan = firstDiv.children[0];
|
||||
|
@ -209,6 +210,24 @@ promise_test(() => {
|
|||
});
|
||||
}, '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(() => {
|
||||
const plainSheet = new CSSStyleSheet();
|
||||
const redStyleSheetPromise = plainSheet.replace(redStyleTexts[0]);
|
||||
|
|
|
@ -66,6 +66,11 @@ test(function() {
|
|||
assert_equals(htmldoc.documentElement.namespaceURI, "http://www.w3.org/1999/xhtml");
|
||||
}, "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() {
|
||||
assert_throws(new TypeError(), function() {
|
||||
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>
|
||||
<title>Empty cues</title>
|
||||
<script src="/common/media.js"></script>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script>
|
||||
async_test(function(t) {
|
||||
var video = document.createElement("video");
|
||||
video.src = getVideoURI("/media/test");
|
||||
video.addTextTrack("captions", "regular captions track", "en");
|
||||
video.textTracks[0].addCue(new VTTCue(0, 4, ""));
|
||||
<html class="reftest-wait">
|
||||
<title>Track rendering with empty cue</title>
|
||||
<link rel="match" href="track-cue-rendering-empty-cue-ref.html">
|
||||
<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>
|
||||
var video = document.querySelector("video");
|
||||
var track = video.addTextTrack("captions", "regular captions track", "en");
|
||||
track.addCue(new VTTCue(0, 4, ""));
|
||||
track.mode = "showing";
|
||||
|
||||
video.onplaying = t.step_func_done();
|
||||
video.addEventListener('playing', () => {
|
||||
video.pause();
|
||||
takeScreenshot();
|
||||
}, { once: true});
|
||||
video.play();
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
</video>
|
||||
</html>
|
|
@ -20,7 +20,6 @@
|
|||
background: green;
|
||||
color: green;
|
||||
font-size: 120px;
|
||||
padding: 2px;
|
||||
}
|
||||
</style>
|
||||
<div class="container">
|
||||
|
|
|
@ -22,7 +22,6 @@
|
|||
background: green;
|
||||
color: green;
|
||||
font-size: 50px;
|
||||
padding: 2px;
|
||||
}
|
||||
</style>
|
||||
<div class="container">
|
||||
|
|
|
@ -170,7 +170,7 @@ interface XRRay {
|
|||
};
|
||||
|
||||
enum XRHandedness {
|
||||
"",
|
||||
"none",
|
||||
"left",
|
||||
"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) {
|
||||
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) {
|
||||
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 = {
|
||||
"click": ClickAction(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):
|
||||
|
@ -593,3 +594,13 @@ class ActionSequenceAction(object):
|
|||
def get_element(self, selector):
|
||||
element = self.protocol.select.element_by_selector(selector)
|
||||
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),
|
||||
desired_capabilities=self.capabilities)
|
||||
|
||||
def after_conect(self):
|
||||
pass
|
||||
|
||||
def teardown(self):
|
||||
self.logger.debug("Hanging up on Selenium session")
|
||||
try:
|
||||
|
|
|
@ -20,7 +20,8 @@ from .protocol import (BaseProtocolPart,
|
|||
ClickProtocolPart,
|
||||
SendKeysProtocolPart,
|
||||
ActionSequenceProtocolPart,
|
||||
TestDriverProtocolPart)
|
||||
TestDriverProtocolPart,
|
||||
GenerateTestReportProtocolPart)
|
||||
from ..testrunner import Stop
|
||||
|
||||
import webdriver as client
|
||||
|
@ -188,6 +189,15 @@ class WebDriverTestDriverProtocolPart(TestDriverProtocolPart):
|
|||
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):
|
||||
implements = [WebDriverBaseProtocolPart,
|
||||
WebDriverTestharnessProtocolPart,
|
||||
|
@ -195,7 +205,8 @@ class WebDriverProtocol(Protocol):
|
|||
WebDriverClickProtocolPart,
|
||||
WebDriverSendKeysProtocolPart,
|
||||
WebDriverActionSequenceProtocolPart,
|
||||
WebDriverTestDriverProtocolPart]
|
||||
WebDriverTestDriverProtocolPart,
|
||||
WebDriverGenerateTestReportProtocolPart]
|
||||
|
||||
def __init__(self, executor, browser, capabilities, **kwargs):
|
||||
super(WebDriverProtocol, self).__init__(executor, browser)
|
||||
|
@ -214,9 +225,6 @@ class WebDriverProtocol(Protocol):
|
|||
self.webdriver.start()
|
||||
|
||||
|
||||
def after_conect(self):
|
||||
pass
|
||||
|
||||
def teardown(self):
|
||||
self.logger.debug("Hanging up on WebDriver session")
|
||||
try:
|
||||
|
|
|
@ -265,6 +265,7 @@ class ClickProtocolPart(ProtocolPart):
|
|||
:param element: A protocol-specific handle to an element."""
|
||||
pass
|
||||
|
||||
|
||||
class SendKeysProtocolPart(ProtocolPart):
|
||||
"""Protocol part for performing trusted clicks"""
|
||||
__metaclass__ = ABCMeta
|
||||
|
@ -280,6 +281,20 @@ class SendKeysProtocolPart(ProtocolPart):
|
|||
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):
|
||||
"""Protocol part for performing trusted clicks"""
|
||||
__metaclass__ = ABCMeta
|
||||
|
|
|
@ -365,7 +365,7 @@ class ExpectedUpdater(object):
|
|||
|
||||
if self.ignore_existing:
|
||||
test_data.set_requires_update()
|
||||
test_data.clear.append("expected")
|
||||
test_data.clear.add("expected")
|
||||
self.tests_visited[test_id] = set()
|
||||
|
||||
def test_status(self, data):
|
||||
|
|
|
@ -90,4 +90,13 @@
|
|||
window.__wptrunner_message_queue.push({"type": "action", "action": "action_sequence", "actions": actions});
|
||||
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