mirror of
https://github.com/servo/servo.git
synced 2025-08-05 21:50:18 +01:00
Update web-platform-tests to revision 12d3e15e5ecae695e1216c358d613705fbff6b68
This commit is contained in:
parent
78455ec033
commit
5b2ca4d132
424 changed files with 4377 additions and 8656 deletions
|
@ -69,3 +69,6 @@
|
|||
[Array with mixed types]
|
||||
expected: FAIL
|
||||
|
||||
[no-argument Blob constructor without 'new']
|
||||
expected: FAIL
|
||||
|
||||
|
|
137
tests/wpt/metadata/FileAPI/idlharness.worker.js.ini
Normal file
137
tests/wpt/metadata/FileAPI/idlharness.worker.js.ini
Normal file
|
@ -0,0 +1,137 @@
|
|||
[idlharness.worker]
|
||||
type: testharness
|
||||
[URL interface: operation createObjectURL(Blob)]
|
||||
expected: FAIL
|
||||
|
||||
[URL interface: operation createFor(Blob)]
|
||||
expected: FAIL
|
||||
|
||||
[URL interface: operation revokeObjectURL(DOMString)]
|
||||
expected: FAIL
|
||||
|
||||
[Blob interface: attribute isClosed]
|
||||
expected: FAIL
|
||||
|
||||
[Blob interface: operation close()]
|
||||
expected: FAIL
|
||||
|
||||
[Blob interface: new Blob(["TEST"\]) must inherit property "isClosed" with the proper type (2)]
|
||||
expected: FAIL
|
||||
|
||||
[Blob interface: new Blob(["TEST"\]) must inherit property "close" with the proper type (4)]
|
||||
expected: FAIL
|
||||
|
||||
[File interface: existence and properties of interface object]
|
||||
expected: FAIL
|
||||
|
||||
[File interface object length]
|
||||
expected: FAIL
|
||||
|
||||
[File interface: attribute lastModified]
|
||||
expected: FAIL
|
||||
|
||||
[File must be primary interface of new File(["myFileBits"\], "myFileName")]
|
||||
expected: FAIL
|
||||
|
||||
[Stringification of new File(["myFileBits"\], "myFileName")]
|
||||
expected: FAIL
|
||||
|
||||
[File interface: new File(["myFileBits"\], "myFileName") must inherit property "name" with the proper type (0)]
|
||||
expected: FAIL
|
||||
|
||||
[File interface: new File(["myFileBits"\], "myFileName") must inherit property "lastModified" with the proper type (1)]
|
||||
expected: FAIL
|
||||
|
||||
[Blob interface: new File(["myFileBits"\], "myFileName") must inherit property "size" with the proper type (0)]
|
||||
expected: FAIL
|
||||
|
||||
[Blob interface: new File(["myFileBits"\], "myFileName") must inherit property "type" with the proper type (1)]
|
||||
expected: FAIL
|
||||
|
||||
[Blob interface: new File(["myFileBits"\], "myFileName") must inherit property "isClosed" with the proper type (2)]
|
||||
expected: FAIL
|
||||
|
||||
[Blob interface: new File(["myFileBits"\], "myFileName") must inherit property "slice" with the proper type (3)]
|
||||
expected: FAIL
|
||||
|
||||
[Blob interface: calling slice(long long,long long,DOMString) on new File(["myFileBits"\], "myFileName") with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[Blob interface: new File(["myFileBits"\], "myFileName") must inherit property "close" with the proper type (4)]
|
||||
expected: FAIL
|
||||
|
||||
[FileList interface: existence and properties of interface object]
|
||||
expected: FAIL
|
||||
|
||||
[FileList interface object length]
|
||||
expected: FAIL
|
||||
|
||||
[FileList interface: existence and properties of interface prototype object]
|
||||
expected: FAIL
|
||||
|
||||
[FileList interface: existence and properties of interface prototype object's "constructor" property]
|
||||
expected: FAIL
|
||||
|
||||
[FileList interface: operation item(unsigned long)]
|
||||
expected: FAIL
|
||||
|
||||
[FileList interface: attribute length]
|
||||
expected: FAIL
|
||||
|
||||
[FileReader interface: existence and properties of interface object]
|
||||
expected: FAIL
|
||||
|
||||
[FileReader interface: operation readAsArrayBuffer(Blob)]
|
||||
expected: FAIL
|
||||
|
||||
[FileReader interface: new FileReader() must inherit property "readAsArrayBuffer" with the proper type (0)]
|
||||
expected: FAIL
|
||||
|
||||
[FileReader interface: calling readAsArrayBuffer(Blob) on new FileReader() with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[FileReaderSync interface: existence and properties of interface object]
|
||||
expected: FAIL
|
||||
|
||||
[FileReaderSync interface object length]
|
||||
expected: FAIL
|
||||
|
||||
[FileReaderSync interface: existence and properties of interface prototype object]
|
||||
expected: FAIL
|
||||
|
||||
[FileReaderSync interface: existence and properties of interface prototype object's "constructor" property]
|
||||
expected: FAIL
|
||||
|
||||
[FileReaderSync interface: operation readAsArrayBuffer(Blob)]
|
||||
expected: FAIL
|
||||
|
||||
[FileReaderSync interface: operation readAsText(Blob,DOMString)]
|
||||
expected: FAIL
|
||||
|
||||
[FileReaderSync interface: operation readAsDataURL(Blob)]
|
||||
expected: FAIL
|
||||
|
||||
[FileReaderSync must be primary interface of new FileReaderSync()]
|
||||
expected: FAIL
|
||||
|
||||
[Stringification of new FileReaderSync()]
|
||||
expected: FAIL
|
||||
|
||||
[FileReaderSync interface: new FileReaderSync() must inherit property "readAsArrayBuffer" with the proper type (0)]
|
||||
expected: FAIL
|
||||
|
||||
[FileReaderSync interface: calling readAsArrayBuffer(Blob) on new FileReaderSync() with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[FileReaderSync interface: new FileReaderSync() must inherit property "readAsText" with the proper type (1)]
|
||||
expected: FAIL
|
||||
|
||||
[FileReaderSync interface: calling readAsText(Blob,DOMString) on new FileReaderSync() with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[FileReaderSync interface: new FileReaderSync() must inherit property "readAsDataURL" with the proper type (2)]
|
||||
expected: FAIL
|
||||
|
||||
[FileReaderSync interface: calling readAsDataURL(Blob) on new FileReaderSync() with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
|
@ -746,12 +746,12 @@
|
|||
"url": "/mediacapture-streams/stream-api/mediastream/mediastream-id-manual.html"
|
||||
},
|
||||
{
|
||||
"path": "notifications/Notification-requestPermission-denied-manual.html",
|
||||
"url": "/notifications/Notification-requestPermission-denied-manual.html"
|
||||
"path": "notifications/body-basic-manual.html",
|
||||
"url": "/notifications/body-basic-manual.html"
|
||||
},
|
||||
{
|
||||
"path": "notifications/Notification-requestPermission-granted-manual.html",
|
||||
"url": "/notifications/Notification-requestPermission-granted-manual.html"
|
||||
"path": "notifications/body-empty-manual.html",
|
||||
"url": "/notifications/body-empty-manual.html"
|
||||
},
|
||||
{
|
||||
"path": "notifications/event-onclick-manual.html",
|
||||
|
@ -766,44 +766,28 @@
|
|||
"url": "/notifications/event-onerror-denied-manual.html"
|
||||
},
|
||||
{
|
||||
"path": "notifications/notification-body-basic-manual.html",
|
||||
"url": "/notifications/notification-body-basic-manual.html"
|
||||
"path": "notifications/icon-basic-manual.html",
|
||||
"url": "/notifications/icon-basic-manual.html"
|
||||
},
|
||||
{
|
||||
"path": "notifications/notification-body-empty-manual.html",
|
||||
"url": "/notifications/notification-body-empty-manual.html"
|
||||
"path": "notifications/icon-empty-manual.html",
|
||||
"url": "/notifications/icon-empty-manual.html"
|
||||
},
|
||||
{
|
||||
"path": "notifications/notification-close-manual.html",
|
||||
"url": "/notifications/notification-close-manual.html"
|
||||
"path": "notifications/requestPermission-denied-manual.html",
|
||||
"url": "/notifications/requestPermission-denied-manual.html"
|
||||
},
|
||||
{
|
||||
"path": "notifications/notification-dir-auto-manual.html",
|
||||
"url": "/notifications/notification-dir-auto-manual.html"
|
||||
"path": "notifications/requestPermission-granted-manual.html",
|
||||
"url": "/notifications/requestPermission-granted-manual.html"
|
||||
},
|
||||
{
|
||||
"path": "notifications/notification-dir-ltr-manual.html",
|
||||
"url": "/notifications/notification-dir-ltr-manual.html"
|
||||
"path": "notifications/tag-different-manual.html",
|
||||
"url": "/notifications/tag-different-manual.html"
|
||||
},
|
||||
{
|
||||
"path": "notifications/notification-dir-rtl-manual.html",
|
||||
"url": "/notifications/notification-dir-rtl-manual.html"
|
||||
},
|
||||
{
|
||||
"path": "notifications/notification-icon-basic-manual.html",
|
||||
"url": "/notifications/notification-icon-basic-manual.html"
|
||||
},
|
||||
{
|
||||
"path": "notifications/notification-icon-empty-manual.html",
|
||||
"url": "/notifications/notification-icon-empty-manual.html"
|
||||
},
|
||||
{
|
||||
"path": "notifications/notification-tag-different-manual.html",
|
||||
"url": "/notifications/notification-tag-different-manual.html"
|
||||
},
|
||||
{
|
||||
"path": "notifications/notification-tag-same-manual.html",
|
||||
"url": "/notifications/notification-tag-same-manual.html"
|
||||
"path": "notifications/tag-same-manual.html",
|
||||
"url": "/notifications/tag-same-manual.html"
|
||||
},
|
||||
{
|
||||
"path": "page-visibility/test_minimize-manual.html",
|
||||
|
@ -4275,6 +4259,16 @@
|
|||
],
|
||||
"url": "/html/rendering/non-replaced-elements/tables/table-width-150percent.html"
|
||||
},
|
||||
{
|
||||
"path": "html/rendering/non-replaced-elements/the-fieldset-element-0/min-width-not-important.html",
|
||||
"references": [
|
||||
[
|
||||
"/html/rendering/non-replaced-elements/the-fieldset-element-0/ref.html",
|
||||
"=="
|
||||
]
|
||||
],
|
||||
"url": "/html/rendering/non-replaced-elements/the-fieldset-element-0/min-width-not-important.html"
|
||||
},
|
||||
{
|
||||
"path": "html/rendering/non-replaced-elements/the-page/body_text_00ffff.xhtml",
|
||||
"references": [
|
||||
|
@ -10473,6 +10467,10 @@
|
|||
"path": "FileAPI/idlharness.html",
|
||||
"url": "/FileAPI/idlharness.html"
|
||||
},
|
||||
{
|
||||
"path": "FileAPI/idlharness.worker.js",
|
||||
"url": "/FileAPI/idlharness.worker"
|
||||
},
|
||||
{
|
||||
"path": "FileAPI/reading-data-section/Determining-Encoding.html",
|
||||
"url": "/FileAPI/reading-data-section/Determining-Encoding.html"
|
||||
|
@ -16930,8 +16928,12 @@
|
|||
"url": "/html/semantics/forms/the-fieldset-element/HTMLFieldSetElement.html"
|
||||
},
|
||||
{
|
||||
"path": "html/semantics/forms/the-fieldset-element/disabled.html",
|
||||
"url": "/html/semantics/forms/the-fieldset-element/disabled.html"
|
||||
"path": "html/semantics/forms/the-fieldset-element/disabled-001.html",
|
||||
"url": "/html/semantics/forms/the-fieldset-element/disabled-001.html"
|
||||
},
|
||||
{
|
||||
"path": "html/semantics/forms/the-fieldset-element/disabled-002.xhtml",
|
||||
"url": "/html/semantics/forms/the-fieldset-element/disabled-002.xhtml"
|
||||
},
|
||||
{
|
||||
"path": "html/semantics/forms/the-form-element/form-autocomplete.html",
|
||||
|
@ -17097,6 +17099,10 @@
|
|||
"path": "html/semantics/forms/the-label-element/labelable-elements.html",
|
||||
"url": "/html/semantics/forms/the-label-element/labelable-elements.html"
|
||||
},
|
||||
{
|
||||
"path": "html/semantics/forms/the-legend-element/legend-form.html",
|
||||
"url": "/html/semantics/forms/the-legend-element/legend-form.html"
|
||||
},
|
||||
{
|
||||
"path": "html/semantics/forms/the-meter-element/meter.html",
|
||||
"url": "/html/semantics/forms/the-meter-element/meter.html"
|
||||
|
@ -18305,6 +18311,14 @@
|
|||
"path": "mixed-content/allowed/http-csp/same-host-https/xhr-request/top-level/no-redirect/allowed.https.html",
|
||||
"url": "/mixed-content/allowed/http-csp/same-host-https/xhr-request/top-level/no-redirect/allowed.https.html"
|
||||
},
|
||||
{
|
||||
"path": "mixed-content/allowed/http-csp/same-host-wss/websocket-request/top-level/keep-scheme-redirect/websocket-allowed.https.html",
|
||||
"url": "/mixed-content/allowed/http-csp/same-host-wss/websocket-request/top-level/keep-scheme-redirect/websocket-allowed.https.html"
|
||||
},
|
||||
{
|
||||
"path": "mixed-content/allowed/http-csp/same-host-wss/websocket-request/top-level/no-redirect/websocket-allowed.https.html",
|
||||
"url": "/mixed-content/allowed/http-csp/same-host-wss/websocket-request/top-level/no-redirect/websocket-allowed.https.html"
|
||||
},
|
||||
{
|
||||
"path": "mixed-content/allowed/meta-csp/same-host-https/audio-tag/top-level/no-redirect/allowed.https.html",
|
||||
"url": "/mixed-content/allowed/meta-csp/same-host-https/audio-tag/top-level/no-redirect/allowed.https.html"
|
||||
|
@ -18357,6 +18371,10 @@
|
|||
"path": "mixed-content/allowed/meta-csp/same-host-https/xhr-request/top-level/no-redirect/allowed.https.html",
|
||||
"url": "/mixed-content/allowed/meta-csp/same-host-https/xhr-request/top-level/no-redirect/allowed.https.html"
|
||||
},
|
||||
{
|
||||
"path": "mixed-content/allowed/meta-csp/same-host-wss/websocket-request/top-level/no-redirect/websocket-allowed.https.html",
|
||||
"url": "/mixed-content/allowed/meta-csp/same-host-wss/websocket-request/top-level/no-redirect/websocket-allowed.https.html"
|
||||
},
|
||||
{
|
||||
"path": "mixed-content/allowed/no-opt-in/same-host-https/audio-tag/top-level/keep-scheme-redirect/allowed.https.html",
|
||||
"url": "/mixed-content/allowed/no-opt-in/same-host-https/audio-tag/top-level/keep-scheme-redirect/allowed.https.html"
|
||||
|
@ -18461,6 +18479,14 @@
|
|||
"path": "mixed-content/allowed/no-opt-in/same-host-https/xhr-request/top-level/no-redirect/allowed.https.html",
|
||||
"url": "/mixed-content/allowed/no-opt-in/same-host-https/xhr-request/top-level/no-redirect/allowed.https.html"
|
||||
},
|
||||
{
|
||||
"path": "mixed-content/allowed/no-opt-in/same-host-wss/websocket-request/top-level/keep-scheme-redirect/websocket-allowed.https.html",
|
||||
"url": "/mixed-content/allowed/no-opt-in/same-host-wss/websocket-request/top-level/keep-scheme-redirect/websocket-allowed.https.html"
|
||||
},
|
||||
{
|
||||
"path": "mixed-content/allowed/no-opt-in/same-host-wss/websocket-request/top-level/no-redirect/websocket-allowed.https.html",
|
||||
"url": "/mixed-content/allowed/no-opt-in/same-host-wss/websocket-request/top-level/no-redirect/websocket-allowed.https.html"
|
||||
},
|
||||
{
|
||||
"path": "mixed-content/blockable/http-csp/cross-origin-http/fetch-request/top-level/keep-scheme-redirect/opt-in-blocks.https.html",
|
||||
"url": "/mixed-content/blockable/http-csp/cross-origin-http/fetch-request/top-level/keep-scheme-redirect/opt-in-blocks.https.html"
|
||||
|
@ -18569,6 +18595,18 @@
|
|||
"path": "mixed-content/blockable/http-csp/cross-origin-http/xhr-request/top-level/swap-scheme-redirect/opt-in-blocks.https.html",
|
||||
"url": "/mixed-content/blockable/http-csp/cross-origin-http/xhr-request/top-level/swap-scheme-redirect/opt-in-blocks.https.html"
|
||||
},
|
||||
{
|
||||
"path": "mixed-content/blockable/http-csp/cross-origin-ws/websocket-request/top-level/keep-scheme-redirect/ws-downgrade-blocks.https.html",
|
||||
"url": "/mixed-content/blockable/http-csp/cross-origin-ws/websocket-request/top-level/keep-scheme-redirect/ws-downgrade-blocks.https.html"
|
||||
},
|
||||
{
|
||||
"path": "mixed-content/blockable/http-csp/cross-origin-ws/websocket-request/top-level/no-redirect/ws-downgrade-blocks.https.html",
|
||||
"url": "/mixed-content/blockable/http-csp/cross-origin-ws/websocket-request/top-level/no-redirect/ws-downgrade-blocks.https.html"
|
||||
},
|
||||
{
|
||||
"path": "mixed-content/blockable/http-csp/cross-origin-ws/websocket-request/top-level/swap-scheme-redirect/ws-downgrade-blocks.https.html",
|
||||
"url": "/mixed-content/blockable/http-csp/cross-origin-ws/websocket-request/top-level/swap-scheme-redirect/ws-downgrade-blocks.https.html"
|
||||
},
|
||||
{
|
||||
"path": "mixed-content/blockable/http-csp/same-host-http/fetch-request/top-level/keep-scheme-redirect/opt-in-blocks.https.html",
|
||||
"url": "/mixed-content/blockable/http-csp/same-host-http/fetch-request/top-level/keep-scheme-redirect/opt-in-blocks.https.html"
|
||||
|
@ -18677,6 +18715,18 @@
|
|||
"path": "mixed-content/blockable/http-csp/same-host-http/xhr-request/top-level/swap-scheme-redirect/opt-in-blocks.https.html",
|
||||
"url": "/mixed-content/blockable/http-csp/same-host-http/xhr-request/top-level/swap-scheme-redirect/opt-in-blocks.https.html"
|
||||
},
|
||||
{
|
||||
"path": "mixed-content/blockable/http-csp/same-host-ws/websocket-request/top-level/keep-scheme-redirect/ws-downgrade-blocks.https.html",
|
||||
"url": "/mixed-content/blockable/http-csp/same-host-ws/websocket-request/top-level/keep-scheme-redirect/ws-downgrade-blocks.https.html"
|
||||
},
|
||||
{
|
||||
"path": "mixed-content/blockable/http-csp/same-host-ws/websocket-request/top-level/no-redirect/ws-downgrade-blocks.https.html",
|
||||
"url": "/mixed-content/blockable/http-csp/same-host-ws/websocket-request/top-level/no-redirect/ws-downgrade-blocks.https.html"
|
||||
},
|
||||
{
|
||||
"path": "mixed-content/blockable/http-csp/same-host-ws/websocket-request/top-level/swap-scheme-redirect/ws-downgrade-blocks.https.html",
|
||||
"url": "/mixed-content/blockable/http-csp/same-host-ws/websocket-request/top-level/swap-scheme-redirect/ws-downgrade-blocks.https.html"
|
||||
},
|
||||
{
|
||||
"path": "mixed-content/blockable/meta-csp/cross-origin-http/fetch-request/top-level/no-redirect/opt-in-blocks.https.html",
|
||||
"url": "/mixed-content/blockable/meta-csp/cross-origin-http/fetch-request/top-level/no-redirect/opt-in-blocks.https.html"
|
||||
|
@ -18713,6 +18763,10 @@
|
|||
"path": "mixed-content/blockable/meta-csp/cross-origin-http/xhr-request/top-level/no-redirect/opt-in-blocks.https.html",
|
||||
"url": "/mixed-content/blockable/meta-csp/cross-origin-http/xhr-request/top-level/no-redirect/opt-in-blocks.https.html"
|
||||
},
|
||||
{
|
||||
"path": "mixed-content/blockable/meta-csp/cross-origin-ws/websocket-request/top-level/no-redirect/ws-downgrade-blocks.https.html",
|
||||
"url": "/mixed-content/blockable/meta-csp/cross-origin-ws/websocket-request/top-level/no-redirect/ws-downgrade-blocks.https.html"
|
||||
},
|
||||
{
|
||||
"path": "mixed-content/blockable/meta-csp/same-host-http/fetch-request/top-level/no-redirect/opt-in-blocks.https.html",
|
||||
"url": "/mixed-content/blockable/meta-csp/same-host-http/fetch-request/top-level/no-redirect/opt-in-blocks.https.html"
|
||||
|
@ -18749,6 +18803,10 @@
|
|||
"path": "mixed-content/blockable/meta-csp/same-host-http/xhr-request/top-level/no-redirect/opt-in-blocks.https.html",
|
||||
"url": "/mixed-content/blockable/meta-csp/same-host-http/xhr-request/top-level/no-redirect/opt-in-blocks.https.html"
|
||||
},
|
||||
{
|
||||
"path": "mixed-content/blockable/meta-csp/same-host-ws/websocket-request/top-level/no-redirect/ws-downgrade-blocks.https.html",
|
||||
"url": "/mixed-content/blockable/meta-csp/same-host-ws/websocket-request/top-level/no-redirect/ws-downgrade-blocks.https.html"
|
||||
},
|
||||
{
|
||||
"path": "mixed-content/blockable/no-opt-in/cross-origin-http/fetch-request/top-level/keep-scheme-redirect/no-opt-in-blocks.https.html",
|
||||
"url": "/mixed-content/blockable/no-opt-in/cross-origin-http/fetch-request/top-level/keep-scheme-redirect/no-opt-in-blocks.https.html"
|
||||
|
@ -18857,6 +18915,18 @@
|
|||
"path": "mixed-content/blockable/no-opt-in/cross-origin-http/xhr-request/top-level/swap-scheme-redirect/no-opt-in-blocks.https.html",
|
||||
"url": "/mixed-content/blockable/no-opt-in/cross-origin-http/xhr-request/top-level/swap-scheme-redirect/no-opt-in-blocks.https.html"
|
||||
},
|
||||
{
|
||||
"path": "mixed-content/blockable/no-opt-in/cross-origin-ws/websocket-request/top-level/keep-scheme-redirect/ws-downgrade-blocks.https.html",
|
||||
"url": "/mixed-content/blockable/no-opt-in/cross-origin-ws/websocket-request/top-level/keep-scheme-redirect/ws-downgrade-blocks.https.html"
|
||||
},
|
||||
{
|
||||
"path": "mixed-content/blockable/no-opt-in/cross-origin-ws/websocket-request/top-level/no-redirect/ws-downgrade-blocks.https.html",
|
||||
"url": "/mixed-content/blockable/no-opt-in/cross-origin-ws/websocket-request/top-level/no-redirect/ws-downgrade-blocks.https.html"
|
||||
},
|
||||
{
|
||||
"path": "mixed-content/blockable/no-opt-in/cross-origin-ws/websocket-request/top-level/swap-scheme-redirect/ws-downgrade-blocks.https.html",
|
||||
"url": "/mixed-content/blockable/no-opt-in/cross-origin-ws/websocket-request/top-level/swap-scheme-redirect/ws-downgrade-blocks.https.html"
|
||||
},
|
||||
{
|
||||
"path": "mixed-content/blockable/no-opt-in/same-host-http/fetch-request/top-level/keep-scheme-redirect/no-opt-in-blocks.https.html",
|
||||
"url": "/mixed-content/blockable/no-opt-in/same-host-http/fetch-request/top-level/keep-scheme-redirect/no-opt-in-blocks.https.html"
|
||||
|
@ -18965,6 +19035,18 @@
|
|||
"path": "mixed-content/blockable/no-opt-in/same-host-http/xhr-request/top-level/swap-scheme-redirect/no-opt-in-blocks.https.html",
|
||||
"url": "/mixed-content/blockable/no-opt-in/same-host-http/xhr-request/top-level/swap-scheme-redirect/no-opt-in-blocks.https.html"
|
||||
},
|
||||
{
|
||||
"path": "mixed-content/blockable/no-opt-in/same-host-ws/websocket-request/top-level/keep-scheme-redirect/ws-downgrade-blocks.https.html",
|
||||
"url": "/mixed-content/blockable/no-opt-in/same-host-ws/websocket-request/top-level/keep-scheme-redirect/ws-downgrade-blocks.https.html"
|
||||
},
|
||||
{
|
||||
"path": "mixed-content/blockable/no-opt-in/same-host-ws/websocket-request/top-level/no-redirect/ws-downgrade-blocks.https.html",
|
||||
"url": "/mixed-content/blockable/no-opt-in/same-host-ws/websocket-request/top-level/no-redirect/ws-downgrade-blocks.https.html"
|
||||
},
|
||||
{
|
||||
"path": "mixed-content/blockable/no-opt-in/same-host-ws/websocket-request/top-level/swap-scheme-redirect/ws-downgrade-blocks.https.html",
|
||||
"url": "/mixed-content/blockable/no-opt-in/same-host-ws/websocket-request/top-level/swap-scheme-redirect/ws-downgrade-blocks.https.html"
|
||||
},
|
||||
{
|
||||
"path": "mixed-content/optionally-blockable/http-csp/cross-origin-http/audio-tag/top-level/keep-scheme-redirect/opt-in-blocks.https.html",
|
||||
"url": "/mixed-content/optionally-blockable/http-csp/cross-origin-http/audio-tag/top-level/keep-scheme-redirect/opt-in-blocks.https.html"
|
||||
|
@ -19270,8 +19352,12 @@
|
|||
"url": "/navigation-timing/test_unique_performance_objects.html"
|
||||
},
|
||||
{
|
||||
"path": "notifications/Notification-permission.html",
|
||||
"url": "/notifications/Notification-permission.html"
|
||||
"path": "notifications/constructor-basic.html",
|
||||
"url": "/notifications/constructor-basic.html"
|
||||
},
|
||||
{
|
||||
"path": "notifications/constructor-invalid.html",
|
||||
"url": "/notifications/constructor-invalid.html"
|
||||
},
|
||||
{
|
||||
"path": "notifications/event-onclose.html",
|
||||
|
@ -19290,16 +19376,12 @@
|
|||
"url": "/notifications/interfaces.html"
|
||||
},
|
||||
{
|
||||
"path": "notifications/notification-constructor-basic.html",
|
||||
"url": "/notifications/notification-constructor-basic.html"
|
||||
"path": "notifications/lang.html",
|
||||
"url": "/notifications/lang.html"
|
||||
},
|
||||
{
|
||||
"path": "notifications/notification-constructor-invalid.html",
|
||||
"url": "/notifications/notification-constructor-invalid.html"
|
||||
},
|
||||
{
|
||||
"path": "notifications/notification-lang.html",
|
||||
"url": "/notifications/notification-lang.html"
|
||||
"path": "notifications/permission.html",
|
||||
"url": "/notifications/permission.html"
|
||||
},
|
||||
{
|
||||
"path": "old-tests/submission/Microsoft/dragdrop/dragdrop_004.htm",
|
||||
|
@ -24793,22 +24875,10 @@
|
|||
"path": "shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-001.html",
|
||||
"url": "/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-001.html"
|
||||
},
|
||||
{
|
||||
"path": "shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-002.html",
|
||||
"url": "/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-002.html"
|
||||
},
|
||||
{
|
||||
"path": "shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-003.html",
|
||||
"url": "/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-003.html"
|
||||
},
|
||||
{
|
||||
"path": "shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-004.html",
|
||||
"url": "/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-004.html"
|
||||
},
|
||||
{
|
||||
"path": "shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-005.html",
|
||||
"url": "/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-005.html"
|
||||
},
|
||||
{
|
||||
"path": "shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-006.html",
|
||||
"url": "/shadow-dom/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-006.html"
|
||||
|
@ -25005,18 +25075,6 @@
|
|||
"path": "shadow-dom/shadow-trees/custom-pseudo-elements/test-001.html",
|
||||
"url": "/shadow-dom/shadow-trees/custom-pseudo-elements/test-001.html"
|
||||
},
|
||||
{
|
||||
"path": "shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-001.html",
|
||||
"url": "/shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-001.html"
|
||||
},
|
||||
{
|
||||
"path": "shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-002.html",
|
||||
"url": "/shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-002.html"
|
||||
},
|
||||
{
|
||||
"path": "shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-003.html",
|
||||
"url": "/shadow-dom/shadow-trees/hosting-multiple-shadow-trees/test-003.html"
|
||||
},
|
||||
{
|
||||
"path": "shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-003.html",
|
||||
"url": "/shadow-dom/shadow-trees/lower-boundary-encapsulation/distribution-003.html"
|
||||
|
@ -25065,66 +25123,6 @@
|
|||
"path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-005.html",
|
||||
"url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-005.html"
|
||||
},
|
||||
{
|
||||
"path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-006.html",
|
||||
"url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-006.html"
|
||||
},
|
||||
{
|
||||
"path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-007.html",
|
||||
"url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-007.html"
|
||||
},
|
||||
{
|
||||
"path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-008.html",
|
||||
"url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-008.html"
|
||||
},
|
||||
{
|
||||
"path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-009.html",
|
||||
"url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-009.html"
|
||||
},
|
||||
{
|
||||
"path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-010.html",
|
||||
"url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-010.html"
|
||||
},
|
||||
{
|
||||
"path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-011.html",
|
||||
"url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-011.html"
|
||||
},
|
||||
{
|
||||
"path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-012.html",
|
||||
"url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-012.html"
|
||||
},
|
||||
{
|
||||
"path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-013.html",
|
||||
"url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-013.html"
|
||||
},
|
||||
{
|
||||
"path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-014.html",
|
||||
"url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-014.html"
|
||||
},
|
||||
{
|
||||
"path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-015.html",
|
||||
"url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-015.html"
|
||||
},
|
||||
{
|
||||
"path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-016.html",
|
||||
"url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-016.html"
|
||||
},
|
||||
{
|
||||
"path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-017.html",
|
||||
"url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-017.html"
|
||||
},
|
||||
{
|
||||
"path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-018.html",
|
||||
"url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-018.html"
|
||||
},
|
||||
{
|
||||
"path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-019.html",
|
||||
"url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-019.html"
|
||||
},
|
||||
{
|
||||
"path": "shadow-dom/shadow-trees/satisfying-matching-criteria/test-020.html",
|
||||
"url": "/shadow-dom/shadow-trees/satisfying-matching-criteria/test-020.html"
|
||||
},
|
||||
{
|
||||
"path": "shadow-dom/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-001.html",
|
||||
"url": "/shadow-dom/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-001.html"
|
||||
|
@ -25197,10 +25195,6 @@
|
|||
"path": "shadow-dom/styles/test-001.html",
|
||||
"url": "/shadow-dom/styles/test-001.html"
|
||||
},
|
||||
{
|
||||
"path": "shadow-dom/styles/test-002.html",
|
||||
"url": "/shadow-dom/styles/test-002.html"
|
||||
},
|
||||
{
|
||||
"path": "shadow-dom/styles/test-003.html",
|
||||
"url": "/shadow-dom/styles/test-003.html"
|
||||
|
@ -25849,6 +25843,10 @@
|
|||
"path": "websockets/Close-Reason-124Bytes.htm",
|
||||
"url": "/websockets/Close-Reason-124Bytes.htm"
|
||||
},
|
||||
{
|
||||
"path": "websockets/Close-clamp.htm",
|
||||
"url": "/websockets/Close-clamp.htm"
|
||||
},
|
||||
{
|
||||
"path": "websockets/Close-null.htm",
|
||||
"url": "/websockets/Close-null.htm"
|
||||
|
@ -28859,16 +28857,7 @@
|
|||
},
|
||||
"local_changes": {
|
||||
"deleted": [],
|
||||
"items": {
|
||||
"testharness": {
|
||||
"websockets/Close-clamp.htm": [
|
||||
{
|
||||
"path": "websockets/Close-clamp.htm",
|
||||
"url": "/websockets/Close-clamp.htm"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"items": {},
|
||||
"reftest_nodes": {}
|
||||
},
|
||||
"reftest_nodes": {
|
||||
|
@ -30672,6 +30661,18 @@
|
|||
"url": "/html/rendering/non-replaced-elements/tables/table-width-150percent.html"
|
||||
}
|
||||
],
|
||||
"html/rendering/non-replaced-elements/the-fieldset-element-0/min-width-not-important.html": [
|
||||
{
|
||||
"path": "html/rendering/non-replaced-elements/the-fieldset-element-0/min-width-not-important.html",
|
||||
"references": [
|
||||
[
|
||||
"/html/rendering/non-replaced-elements/the-fieldset-element-0/ref.html",
|
||||
"=="
|
||||
]
|
||||
],
|
||||
"url": "/html/rendering/non-replaced-elements/the-fieldset-element-0/min-width-not-important.html"
|
||||
}
|
||||
],
|
||||
"html/rendering/non-replaced-elements/the-page/body_text_00ffff.xhtml": [
|
||||
{
|
||||
"path": "html/rendering/non-replaced-elements/the-page/body_text_00ffff.xhtml",
|
||||
|
@ -34333,7 +34334,7 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
"rev": "5e3ea8f49fee68c327388bfd1dd1375a8ce12a0e",
|
||||
"rev": "12d3e15e5ecae695e1216c358d613705fbff6b68",
|
||||
"url_base": "/",
|
||||
"version": 2
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
[ChildNode-after.html]
|
||||
type: testharness
|
||||
[Comment.after() with one sibling of child and text as arguments.]
|
||||
expected: FAIL
|
||||
|
||||
[Element.after() with one sibling of child and text as arguments.]
|
||||
expected: FAIL
|
||||
|
||||
[Text.after() with one sibling of child and text as arguments.]
|
||||
expected: FAIL
|
||||
|
86
tests/wpt/metadata/dom/nodes/Element-matches.html.ini
Normal file
86
tests/wpt/metadata/dom/nodes/Element-matches.html.ini
Normal file
|
@ -0,0 +1,86 @@
|
|||
[Element-matches.html]
|
||||
type: testharness
|
||||
[In-document Element.matches: Attribute hyphen-separated list selector, matching lang attribute with partial value (with no refNodes): #attr-hyphen-div3[lang|="en"\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.matches: :target pseudo-class selector, matching the element referenced by the URL fragment identifier (with no refNodes): :target]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.matches: :lang pseudo-class selector, matching inherited language (with no refNodes): #pseudo-lang-div1:lang(en)]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.matches: :lang pseudo-class selector, matching specified language with exact value (with no refNodes): #pseudo-lang-div2:lang(fr)]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.matches: :lang pseudo-class selector, matching specified language with partial value (with no refNodes): #pseudo-lang-div3:lang(en)]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.matches: :checked pseudo-class selector, matching checked radio buttons and checkboxes (with no refNodes): #pseudo-ui :checked]
|
||||
expected: FAIL
|
||||
|
||||
[Detached Element.matches: Attribute hyphen-separated list selector, matching lang attribute with partial value (with no refNodes): #attr-hyphen-div3[lang|="en"\]]
|
||||
expected: FAIL
|
||||
|
||||
[Detached Element.matches: :lang pseudo-class selector, matching specified language with exact value (with no refNodes): #pseudo-lang-div2:lang(fr)]
|
||||
expected: FAIL
|
||||
|
||||
[Detached Element.matches: :lang pseudo-class selector, matching specified language with partial value (with no refNodes): #pseudo-lang-div3:lang(en)]
|
||||
expected: FAIL
|
||||
|
||||
[Detached Element.matches: :enabled pseudo-class selector, matching all disabled form controls (with no refNodes): #pseudo-ui :disabled]
|
||||
expected: FAIL
|
||||
|
||||
[Detached Element.matches: :checked pseudo-class selector, matching checked radio buttons and checkboxes (with no refNodes): #pseudo-ui :checked]
|
||||
expected: FAIL
|
||||
|
||||
[Fragment Element.matches: Attribute hyphen-separated list selector, matching lang attribute with partial value (with no refNodes): #attr-hyphen-div3[lang|="en"\]]
|
||||
expected: FAIL
|
||||
|
||||
[Fragment Element.matches: :lang pseudo-class selector, matching specified language with exact value (with no refNodes): #pseudo-lang-div2:lang(fr)]
|
||||
expected: FAIL
|
||||
|
||||
[Fragment Element.matches: :lang pseudo-class selector, matching specified language with partial value (with no refNodes): #pseudo-lang-div3:lang(en)]
|
||||
expected: FAIL
|
||||
|
||||
[Fragment Element.matches: :enabled pseudo-class selector, matching all disabled form controls (with no refNodes): #pseudo-ui :disabled]
|
||||
expected: FAIL
|
||||
|
||||
[Fragment Element.matches: :checked pseudo-class selector, matching checked radio buttons and checkboxes (with no refNodes): #pseudo-ui :checked]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.matches: Universal selector, matching all children of the specified reference element (with refNode Element): >*]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.matches: Universal selector, matching all grandchildren of the specified reference element (with refNode Element): >*>*]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.matches: Universal selector, matching all descendants of the specified reference element (with refNode Element): *]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.matches: Attribute hyphen-separated list selector, matching lang attribute with partial value (with refNode Element): #attr-hyphen-div3[lang|="en"\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.matches: :lang pseudo-class selector, matching inherited language (1) (with no refNodes): #pseudo-lang-div1:lang(en)]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.matches: :lang pseudo-class selector, matching specified language with exact value (1) (with no refNodes): #pseudo-lang-div2:lang(fr)]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.matches: :lang pseudo-class selector, matching specified language with partial value (1) (with no refNodes): #pseudo-lang-div3:lang(en)]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.matches: :checked pseudo-class selector, matching checked radio buttons and checkboxes (1) (with no refNodes): #pseudo-ui :checked]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.matches: Class selector, matching element with class value using non-ASCII characters (with no refNodes): .台北Táiběi]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.matches: Class selector, chained, matching element with multiple class values using non-ASCII characters (with no refNodes): .台北Táiběi.台北]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.matches: ID selector, matching id value using non-ASCII characters (with no refNodes): #台北Táiběi]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.matches: ID selector, matching id values using non-ASCII characters (with no refNodes): #台北Táiběi, #台北]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,761 @@
|
|||
[ParentNode-querySelector-All.html]
|
||||
type: testharness
|
||||
[Detached Element.querySelectorAll tree order]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll tree order]
|
||||
expected: FAIL
|
||||
|
||||
[Document.querySelectorAll: Attribute whitespace-separated list selector, not matching class attribute with empty value: #attr-whitespace [class~=""\]]
|
||||
expected: FAIL
|
||||
|
||||
[Document.querySelector: Attribute whitespace-separated list selector, not matching class attribute with empty value: #attr-whitespace [class~=""\]]
|
||||
expected: FAIL
|
||||
|
||||
[Document.querySelectorAll: Attribute hyphen-separated list selector, matching lang attribute with partial value: #attr-hyphen-div3[lang|="en"\]]
|
||||
expected: FAIL
|
||||
|
||||
[Document.querySelector: Attribute hyphen-separated list selector, matching lang attribute with partial value: #attr-hyphen-div3[lang|="en"\]]
|
||||
expected: FAIL
|
||||
|
||||
[Document.querySelectorAll: :target pseudo-class selector, matching the element referenced by the URL fragment identifier: :target]
|
||||
expected: FAIL
|
||||
|
||||
[Document.querySelector: :target pseudo-class selector, matching the element referenced by the URL fragment identifier: :target]
|
||||
expected: FAIL
|
||||
|
||||
[Document.querySelectorAll: :lang pseudo-class selector, matching inherited language: #pseudo-lang-div1:lang(en)]
|
||||
expected: FAIL
|
||||
|
||||
[Document.querySelector: :lang pseudo-class selector, matching inherited language: #pseudo-lang-div1:lang(en)]
|
||||
expected: FAIL
|
||||
|
||||
[Document.querySelectorAll: :lang pseudo-class selector, matching specified language with exact value: #pseudo-lang-div2:lang(fr)]
|
||||
expected: FAIL
|
||||
|
||||
[Document.querySelector: :lang pseudo-class selector, matching specified language with exact value: #pseudo-lang-div2:lang(fr)]
|
||||
expected: FAIL
|
||||
|
||||
[Document.querySelectorAll: :lang pseudo-class selector, matching specified language with partial value: #pseudo-lang-div3:lang(en)]
|
||||
expected: FAIL
|
||||
|
||||
[Document.querySelector: :lang pseudo-class selector, matching specified language with partial value: #pseudo-lang-div3:lang(en)]
|
||||
expected: FAIL
|
||||
|
||||
[Document.querySelectorAll: :lang pseudo-class selector, not matching incorrect language: #pseudo-lang-div4:lang(es-AR)]
|
||||
expected: FAIL
|
||||
|
||||
[Document.querySelector: :lang pseudo-class selector, not matching incorrect language: #pseudo-lang-div4:lang(es-AR)]
|
||||
expected: FAIL
|
||||
|
||||
[Document.querySelectorAll: :checked pseudo-class selector, matching checked radio buttons and checkboxes: #pseudo-ui :checked]
|
||||
expected: FAIL
|
||||
|
||||
[Document.querySelector: :checked pseudo-class selector, matching checked radio buttons and checkboxes: #pseudo-ui :checked]
|
||||
expected: FAIL
|
||||
|
||||
[Document.querySelectorAll: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line]
|
||||
expected: FAIL
|
||||
|
||||
[Document.querySelector: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line]
|
||||
expected: FAIL
|
||||
|
||||
[Document.querySelectorAll: ::first-line pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-line]
|
||||
expected: FAIL
|
||||
|
||||
[Document.querySelector: ::first-line pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-line]
|
||||
expected: FAIL
|
||||
|
||||
[Document.querySelectorAll: :first-letter pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-letter]
|
||||
expected: FAIL
|
||||
|
||||
[Document.querySelector: :first-letter pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-letter]
|
||||
expected: FAIL
|
||||
|
||||
[Document.querySelectorAll: ::first-letter pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-letter]
|
||||
expected: FAIL
|
||||
|
||||
[Document.querySelector: ::first-letter pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-letter]
|
||||
expected: FAIL
|
||||
|
||||
[Detached Element.querySelectorAll: Attribute whitespace-separated list selector, not matching class attribute with empty value: #attr-whitespace [class~=""\]]
|
||||
expected: FAIL
|
||||
|
||||
[Detached Element.querySelector: Attribute whitespace-separated list selector, not matching class attribute with empty value: #attr-whitespace [class~=""\]]
|
||||
expected: FAIL
|
||||
|
||||
[Detached Element.querySelectorAll: Attribute hyphen-separated list selector, matching lang attribute with partial value: #attr-hyphen-div3[lang|="en"\]]
|
||||
expected: FAIL
|
||||
|
||||
[Detached Element.querySelector: Attribute hyphen-separated list selector, matching lang attribute with partial value: #attr-hyphen-div3[lang|="en"\]]
|
||||
expected: FAIL
|
||||
|
||||
[Detached Element.querySelectorAll: :target pseudo-class selector, matching the element referenced by the URL fragment identifier: :target]
|
||||
expected: FAIL
|
||||
|
||||
[Detached Element.querySelector: :target pseudo-class selector, matching the element referenced by the URL fragment identifier: :target]
|
||||
expected: FAIL
|
||||
|
||||
[Detached Element.querySelectorAll: :lang pseudo-class selector, not matching element with no inherited language: #pseudo-lang-div1:lang(en)]
|
||||
expected: FAIL
|
||||
|
||||
[Detached Element.querySelector: :lang pseudo-class selector, not matching element with no inherited language: #pseudo-lang-div1:lang(en)]
|
||||
expected: FAIL
|
||||
|
||||
[Detached Element.querySelectorAll: :lang pseudo-class selector, matching specified language with exact value: #pseudo-lang-div2:lang(fr)]
|
||||
expected: FAIL
|
||||
|
||||
[Detached Element.querySelector: :lang pseudo-class selector, matching specified language with exact value: #pseudo-lang-div2:lang(fr)]
|
||||
expected: FAIL
|
||||
|
||||
[Detached Element.querySelectorAll: :lang pseudo-class selector, matching specified language with partial value: #pseudo-lang-div3:lang(en)]
|
||||
expected: FAIL
|
||||
|
||||
[Detached Element.querySelector: :lang pseudo-class selector, matching specified language with partial value: #pseudo-lang-div3:lang(en)]
|
||||
expected: FAIL
|
||||
|
||||
[Detached Element.querySelectorAll: :lang pseudo-class selector, not matching incorrect language: #pseudo-lang-div4:lang(es-AR)]
|
||||
expected: FAIL
|
||||
|
||||
[Detached Element.querySelector: :lang pseudo-class selector, not matching incorrect language: #pseudo-lang-div4:lang(es-AR)]
|
||||
expected: FAIL
|
||||
|
||||
[Detached Element.querySelectorAll: :enabled pseudo-class selector, matching all enabled form controls: #pseudo-ui :enabled]
|
||||
expected: FAIL
|
||||
|
||||
[Detached Element.querySelectorAll: :enabled pseudo-class selector, matching all disabled form controls: #pseudo-ui :disabled]
|
||||
expected: FAIL
|
||||
|
||||
[Detached Element.querySelector: :enabled pseudo-class selector, matching all disabled form controls: #pseudo-ui :disabled]
|
||||
expected: FAIL
|
||||
|
||||
[Detached Element.querySelectorAll: :checked pseudo-class selector, matching checked radio buttons and checkboxes: #pseudo-ui :checked]
|
||||
expected: FAIL
|
||||
|
||||
[Detached Element.querySelector: :checked pseudo-class selector, matching checked radio buttons and checkboxes: #pseudo-ui :checked]
|
||||
expected: FAIL
|
||||
|
||||
[Detached Element.querySelectorAll: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line]
|
||||
expected: FAIL
|
||||
|
||||
[Detached Element.querySelector: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line]
|
||||
expected: FAIL
|
||||
|
||||
[Detached Element.querySelectorAll: ::first-line pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-line]
|
||||
expected: FAIL
|
||||
|
||||
[Detached Element.querySelector: ::first-line pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-line]
|
||||
expected: FAIL
|
||||
|
||||
[Detached Element.querySelectorAll: :first-letter pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-letter]
|
||||
expected: FAIL
|
||||
|
||||
[Detached Element.querySelector: :first-letter pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-letter]
|
||||
expected: FAIL
|
||||
|
||||
[Detached Element.querySelectorAll: ::first-letter pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-letter]
|
||||
expected: FAIL
|
||||
|
||||
[Detached Element.querySelector: ::first-letter pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-letter]
|
||||
expected: FAIL
|
||||
|
||||
[Fragment.querySelectorAll: Attribute whitespace-separated list selector, not matching class attribute with empty value: #attr-whitespace [class~=""\]]
|
||||
expected: FAIL
|
||||
|
||||
[Fragment.querySelector: Attribute whitespace-separated list selector, not matching class attribute with empty value: #attr-whitespace [class~=""\]]
|
||||
expected: FAIL
|
||||
|
||||
[Fragment.querySelectorAll: Attribute hyphen-separated list selector, matching lang attribute with partial value: #attr-hyphen-div3[lang|="en"\]]
|
||||
expected: FAIL
|
||||
|
||||
[Fragment.querySelector: Attribute hyphen-separated list selector, matching lang attribute with partial value: #attr-hyphen-div3[lang|="en"\]]
|
||||
expected: FAIL
|
||||
|
||||
[Fragment.querySelectorAll: :target pseudo-class selector, matching the element referenced by the URL fragment identifier: :target]
|
||||
expected: FAIL
|
||||
|
||||
[Fragment.querySelector: :target pseudo-class selector, matching the element referenced by the URL fragment identifier: :target]
|
||||
expected: FAIL
|
||||
|
||||
[Fragment.querySelectorAll: :lang pseudo-class selector, not matching element with no inherited language: #pseudo-lang-div1:lang(en)]
|
||||
expected: FAIL
|
||||
|
||||
[Fragment.querySelector: :lang pseudo-class selector, not matching element with no inherited language: #pseudo-lang-div1:lang(en)]
|
||||
expected: FAIL
|
||||
|
||||
[Fragment.querySelectorAll: :lang pseudo-class selector, matching specified language with exact value: #pseudo-lang-div2:lang(fr)]
|
||||
expected: FAIL
|
||||
|
||||
[Fragment.querySelector: :lang pseudo-class selector, matching specified language with exact value: #pseudo-lang-div2:lang(fr)]
|
||||
expected: FAIL
|
||||
|
||||
[Fragment.querySelectorAll: :lang pseudo-class selector, matching specified language with partial value: #pseudo-lang-div3:lang(en)]
|
||||
expected: FAIL
|
||||
|
||||
[Fragment.querySelector: :lang pseudo-class selector, matching specified language with partial value: #pseudo-lang-div3:lang(en)]
|
||||
expected: FAIL
|
||||
|
||||
[Fragment.querySelectorAll: :lang pseudo-class selector, not matching incorrect language: #pseudo-lang-div4:lang(es-AR)]
|
||||
expected: FAIL
|
||||
|
||||
[Fragment.querySelector: :lang pseudo-class selector, not matching incorrect language: #pseudo-lang-div4:lang(es-AR)]
|
||||
expected: FAIL
|
||||
|
||||
[Fragment.querySelectorAll: :enabled pseudo-class selector, matching all enabled form controls: #pseudo-ui :enabled]
|
||||
expected: FAIL
|
||||
|
||||
[Fragment.querySelectorAll: :enabled pseudo-class selector, matching all disabled form controls: #pseudo-ui :disabled]
|
||||
expected: FAIL
|
||||
|
||||
[Fragment.querySelector: :enabled pseudo-class selector, matching all disabled form controls: #pseudo-ui :disabled]
|
||||
expected: FAIL
|
||||
|
||||
[Fragment.querySelectorAll: :checked pseudo-class selector, matching checked radio buttons and checkboxes: #pseudo-ui :checked]
|
||||
expected: FAIL
|
||||
|
||||
[Fragment.querySelector: :checked pseudo-class selector, matching checked radio buttons and checkboxes: #pseudo-ui :checked]
|
||||
expected: FAIL
|
||||
|
||||
[Fragment.querySelectorAll: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line]
|
||||
expected: FAIL
|
||||
|
||||
[Fragment.querySelector: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line]
|
||||
expected: FAIL
|
||||
|
||||
[Fragment.querySelectorAll: ::first-line pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-line]
|
||||
expected: FAIL
|
||||
|
||||
[Fragment.querySelector: ::first-line pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-line]
|
||||
expected: FAIL
|
||||
|
||||
[Fragment.querySelectorAll: :first-letter pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-letter]
|
||||
expected: FAIL
|
||||
|
||||
[Fragment.querySelector: :first-letter pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-letter]
|
||||
expected: FAIL
|
||||
|
||||
[Fragment.querySelectorAll: ::first-letter pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-letter]
|
||||
expected: FAIL
|
||||
|
||||
[Fragment.querySelector: ::first-letter pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-letter]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Type selector, matching html element: html]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelector: Type selector, matching html element: html]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Type selector, matching body element: body]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelector: Type selector, matching body element: body]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Universal selector, matching all children of element with specified ID: #universal>*]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Universal selector, matching all grandchildren of element with specified ID: #universal>*>*]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Universal selector, matching all descendants of element with specified ID: #universal *]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute presence selector, matching align attribute with value: .attr-presence-div1[align\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute presence selector, matching align attribute with empty value: .attr-presence-div2[align\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute presence selector, matching title attribute, case insensitivity: #attr-presence [TiTlE\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute presence selector, matching custom data-* attribute: [data-attr-presence\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute presence selector, matching attribute with non-ASCII characters: ul[data-中文\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute presence selector, matching option with selected attribute: #attr-presence-select2 option[selected\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute presence selector, matching multiple options with selected attributes: #attr-presence-select3 option[selected\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute value selector, matching align attribute with value: #attr-value [align="center"\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute value selector, matching align attribute with empty value: #attr-value [align=""\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute value selector, matching custom data-* attribute with unicode escaped value: [data-attr-value="\\e9"\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute value selector, matching custom data-* attribute with escaped character: [data-attr-value_foo="\\e9"\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute value selector with single-quoted value, matching multiple inputs with type attributes: #attr-value input[type='hidden'\],#attr-value input[type='radio'\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute value selector with double-quoted value, matching multiple inputs with type attributes: #attr-value input[type="hidden"\],#attr-value input[type='radio'\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute value selector with unquoted value, matching multiple inputs with type attributes: #attr-value input[type=hidden\],#attr-value input[type=radio\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute value selector, matching attribute with value using non-ASCII characters: [data-attr-value=中文\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute whitespace-separated list selector, matching class attribute with value: #attr-whitespace [class~="div1"\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute whitespace-separated list selector, not matching class attribute with empty value: #attr-whitespace [class~=""\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelector: Attribute whitespace-separated list selector, not matching class attribute with empty value: #attr-whitespace [class~=""\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute whitespace-separated list selector, matching custom data-* attribute with unicode escaped value: [data-attr-whitespace~="\\0000e9"\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute whitespace-separated list selector, matching custom data-* attribute with escaped character: [data-attr-whitespace_foo~="\\e9"\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute whitespace-separated list selector with single-quoted value, matching multiple links with rel attributes: #attr-whitespace a[rel~='bookmark'\], #attr-whitespace a[rel~='nofollow'\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute whitespace-separated list selector with double-quoted value, matching multiple links with rel attributes: #attr-whitespace a[rel~="bookmark"\],#attr-whitespace a[rel~='nofollow'\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute whitespace-separated list selector with unquoted value, matching multiple links with rel attributes: #attr-whitespace a[rel~=bookmark\], #attr-whitespace a[rel~=nofollow\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute whitespace-separated list selector, matching title attribute with value using non-ASCII characters: #attr-whitespace [title~=中文\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute hyphen-separated list selector, matching lang attribute with exact value: #attr-hyphen-div2[lang|="fr"\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute hyphen-separated list selector, matching lang attribute with partial value: #attr-hyphen-div3[lang|="en"\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelector: Attribute hyphen-separated list selector, matching lang attribute with partial value: #attr-hyphen-div3[lang|="en"\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute begins with selector, matching href attributes beginning with specified substring: #attr-begins a[href^="http://www"\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute begins with selector, matching lang attributes beginning with specified substring, : #attr-begins [lang^="en-"\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute begins with selector with single-quoted value, matching class attribute beginning with specified substring: #attr-begins [class^=' apple'\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute begins with selector with double-quoted value, matching class attribute beginning with specified substring: #attr-begins [class^=" apple"\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute ends with selector, matching href attributes ending with specified substring: #attr-ends a[href$=".org"\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute ends with selector, matching lang attributes ending with specified substring, : #attr-ends [lang$="-CH"\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute ends with selector with single-quoted value, matching class attribute ending with specified substring: #attr-ends [class$='apple '\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute ends with selector with double-quoted value, matching class attribute ending with specified substring: #attr-ends [class$="apple "\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute contains selector, matching href attributes beginning with specified substring: #attr-contains a[href*="http://www"\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute contains selector, matching href attributes ending with specified substring: #attr-contains a[href*=".org"\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute contains selector, matching href attributes containing specified substring: #attr-contains a[href*=".example."\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute contains selector, matching lang attributes beginning with specified substring, : #attr-contains [lang*="en-"\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute contains selector, matching lang attributes ending with specified substring, : #attr-contains [lang*="-CH"\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute contains selector with single-quoted value, matching class attribute beginning with specified substring: #attr-contains [class*=' apple'\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute contains selector with single-quoted value, matching class attribute ending with specified substring: #attr-contains [class*='orange '\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute contains selector with single-quoted value, matching class attribute containing specified substring: #attr-contains [class*='ple banana ora'\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute contains selector with double-quoted value, matching class attribute beginning with specified substring: #attr-contains [class*=" apple"\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute contains selector with double-quoted value, matching class attribute ending with specified substring: #attr-contains [class*="orange "\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute contains selector with double-quoted value, matching class attribute containing specified substring: #attr-contains [class*="ple banana ora"\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute contains selector with unquoted value, matching class attribute beginning with specified substring: #attr-contains [class*= apple\]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute contains selector with unquoted value, matching class attribute ending with specified substring: #attr-contains [class*=orange \]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Attribute contains selector with unquoted value, matching class attribute containing specified substring: #attr-contains [class*= banana \]]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :root pseudo-class selector, not matching document root element: :root]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelector: :root pseudo-class selector, not matching document root element: :root]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :nth-child selector, matching the third child element: #pseudo-nth-table1 :nth-child(3)]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :nth-child selector, matching every third child element: #pseudo-nth li:nth-child(3n)]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :nth-child selector, matching every second child element, starting from the fourth: #pseudo-nth li:nth-child(2n+4)]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :nth-child selector, matching every fourth child element, starting from the third: #pseudo-nth-p1 :nth-child(4n-1)]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :nth-last-child selector, matching the third last child element: #pseudo-nth-table1 :nth-last-child(3)]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :nth-last-child selector, matching every third child element from the end: #pseudo-nth li:nth-last-child(3n)]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :nth-last-child selector, matching every second child element from the end, starting from the fourth last: #pseudo-nth li:nth-last-child(2n+4)]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :nth-last-child selector, matching every fourth element from the end, starting from the third last: #pseudo-nth-p1 :nth-last-child(4n-1)]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :nth-of-type selector, matching the third em element: #pseudo-nth-p1 em:nth-of-type(3)]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :nth-of-type selector, matching every second element of their type: #pseudo-nth-p1 :nth-of-type(2n)]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :nth-of-type selector, matching every second elemetn of their type, starting from the first: #pseudo-nth-p1 span:nth-of-type(2n-1)]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :nth-last-of-type selector, matching the thrid last em element: #pseudo-nth-p1 em:nth-last-of-type(3)]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :nth-last-of-type selector, matching every second last element of their type: #pseudo-nth-p1 :nth-last-of-type(2n)]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :nth-last-of-type selector, matching every second last element of their type, starting from the last: #pseudo-nth-p1 span:nth-last-of-type(2n-1)]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :first-of-type selector, matching the first em element: #pseudo-nth-p1 em:first-of-type]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :first-of-type selector, matching the first of every type of element: #pseudo-nth-p1 :first-of-type]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :first-of-type selector, matching the first td element in each table row: #pseudo-nth-table1 tr :first-of-type]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :last-of-type selector, matching the last em elemnet: #pseudo-nth-p1 em:last-of-type]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :last-of-type selector, matching the last of every type of element: #pseudo-nth-p1 :last-of-type]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :last-of-type selector, matching the last td element in each table row: #pseudo-nth-table1 tr :last-of-type]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :first-child pseudo-class selector, matching first child div element: #pseudo-first-child div:first-child]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :first-child pseudo-class selector, matching first-child of multiple elements: #pseudo-first-child span:first-child]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :last-child pseudo-class selector, matching last child div element: #pseudo-last-child div:last-child]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :last-child pseudo-class selector, matching first-child of multiple elements: #pseudo-last-child span:last-child]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :pseudo-only-child pseudo-class selector, matching all only-child elements: #pseudo-only :only-child]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :pseudo-only-of-type pseudo-class selector, matching all elements with no siblings of the same type: #pseudo-only :only-of-type]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :pseudo-only-of-type pseudo-class selector, matching em elements with no siblings of the same type: #pseudo-only em:only-of-type]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :empty pseudo-class selector, matching empty p elements: #pseudo-empty p:empty]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :empty pseudo-class selector, matching all empty elements: #pseudo-empty :empty]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :link and :visited pseudo-class selectors, matching a and area elements with href attributes: #pseudo-link :link, #pseudo-link :visited]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :link and :visited pseudo-class selectors, not matching link elements with href attributes: #head :link, #head :visited]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelector: :link and :visited pseudo-class selectors, not matching link elements with href attributes: #head :link, #head :visited]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :target pseudo-class selector, matching the element referenced by the URL fragment identifier: :target]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelector: :target pseudo-class selector, matching the element referenced by the URL fragment identifier: :target]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :lang pseudo-class selector, matching inherited language: #pseudo-lang-div1:lang(en)]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelector: :lang pseudo-class selector, matching inherited language: #pseudo-lang-div1:lang(en)]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :lang pseudo-class selector, matching specified language with exact value: #pseudo-lang-div2:lang(fr)]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelector: :lang pseudo-class selector, matching specified language with exact value: #pseudo-lang-div2:lang(fr)]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :lang pseudo-class selector, matching specified language with partial value: #pseudo-lang-div3:lang(en)]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelector: :lang pseudo-class selector, matching specified language with partial value: #pseudo-lang-div3:lang(en)]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :lang pseudo-class selector, not matching incorrect language: #pseudo-lang-div4:lang(es-AR)]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelector: :lang pseudo-class selector, not matching incorrect language: #pseudo-lang-div4:lang(es-AR)]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :enabled pseudo-class selector, matching all enabled form controls: #pseudo-ui :enabled]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :checked pseudo-class selector, matching checked radio buttons and checkboxes: #pseudo-ui :checked]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelector: :checked pseudo-class selector, matching checked radio buttons and checkboxes: #pseudo-ui :checked]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :not pseudo-class selector, matching : #not>:not(div)]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :not pseudo-class selector, matching : #not * :not(:first-child)]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelector: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: ::first-line pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-line]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelector: ::first-line pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-line]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: :first-letter pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-letter]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelector: :first-letter pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-letter]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: ::first-letter pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-letter]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelector: ::first-letter pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-letter]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Class selector, matching element with specified class: .class-p]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Class selector, chained, matching only elements with all specified classes: #class .apple.orange.banana]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Class Selector, chained, with type selector: div.apple.banana.orange]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Class selector, matching element with class value using non-ASCII characters: .台北Táiběi]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Class selector, matching multiple elements with class value using non-ASCII characters: .台北]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Class selector, chained, matching element with multiple class values using non-ASCII characters: .台北Táiběi.台北]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Class selector, matching element with class with escaped character: .foo\\:bar]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Class selector, matching element with class with escaped character: .test\\.foo\\[5\\\]bar]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: ID selector, matching element with specified id: #id #id-div1]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: ID selector, chained, matching element with specified id: #id-div1, #id-div1]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: ID selector, chained, matching element with specified id: #id-div1, #id-div2]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: ID Selector, chained, with type selector: div#id-div1, div#id-div2]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: ID selector, matching multiple elements with duplicate id: #id-li-duplicate]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: ID selector, matching id value using non-ASCII characters: #台北Táiběi]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: ID selector, matching id value using non-ASCII characters: #台北]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: ID selector, matching id values using non-ASCII characters: #台北Táiběi, #台北]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: ID selector, matching element with id with escaped character: #\\#foo\\:bar]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: ID selector, matching element with id with escaped character: #test\\.foo\\[5\\\]bar]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Namespace selector, matching element with any namespace: #any-namespace *|div]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Namespace selector, matching div elements in no namespace only: #no-namespace |div]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Namespace selector, matching any elements in no namespace only: #no-namespace |*]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Descendant combinator, matching element that is a descendant of an element with id: #descendant div]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Descendant combinator, matching element with id that is a descendant of an element: body #descendant-div1]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Descendant combinator, matching element with id that is a descendant of an element: div #descendant-div1]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Descendant combinator, matching element with id that is a descendant of an element with id: #descendant #descendant-div2]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Descendant combinator, matching element with class that is a descendant of an element with id: #descendant .descendant-div2]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Descendant combinator, matching element with class that is a descendant of an element with class: .descendant-div1 .descendant-div3]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Descendant combinator, whitespace characters: #descendant\t\r\n#descendant-div2]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Child combinator, matching element that is a child of an element with id: #child>div]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Child combinator, matching element with id that is a child of an element: div>#child-div1]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Child combinator, matching element with id that is a child of an element with id: #child>#child-div1]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Child combinator, matching element with id that is a child of an element with class: #child-div1>.child-div2]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Child combinator, matching element with class that is a child of an element with class: .child-div1>.child-div2]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Child combinator, surrounded by whitespace: #child-div1\t\r\n>\t\r\n#child-div2]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Child combinator, whitespace after: #child-div1>\t\r\n#child-div2]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Child combinator, whitespace before: #child-div1\t\r\n>#child-div2]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Child combinator, no whitespace: #child-div1>#child-div2]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Adjacent sibling combinator, matching element that is an adjacent sibling of an element with id: #adjacent-div2+div]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Adjacent sibling combinator, matching element with id that is an adjacent sibling of an element: div+#adjacent-div4]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Adjacent sibling combinator, matching element with id that is an adjacent sibling of an element with id: #adjacent-div2+#adjacent-div4]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Adjacent sibling combinator, matching element with class that is an adjacent sibling of an element with id: #adjacent-div2+.adjacent-div4]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Adjacent sibling combinator, matching element with class that is an adjacent sibling of an element with class: .adjacent-div2+.adjacent-div4]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Adjacent sibling combinator, matching p element that is an adjacent sibling of a div element: #adjacent div+p]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Adjacent sibling combinator, surrounded by whitespace: #adjacent-p2\t\r\n+\t\r\n#adjacent-p3]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Adjacent sibling combinator, whitespace after: #adjacent-p2+\t\r\n#adjacent-p3]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Adjacent sibling combinator, whitespace before: #adjacent-p2\t\r\n+#adjacent-p3]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Adjacent sibling combinator, no whitespace: #adjacent-p2+#adjacent-p3]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: General sibling combinator, matching element that is a sibling of an element with id: #sibling-div2~div]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: General sibling combinator, matching element with id that is a sibling of an element: div~#sibling-div4]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: General sibling combinator, matching element with id that is a sibling of an element with id: #sibling-div2~#sibling-div4]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: General sibling combinator, matching element with class that is a sibling of an element with id: #sibling-div2~.sibling-div]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: General sibling combinator, matching p element that is a sibling of a div element: #sibling div~p]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: General sibling combinator, surrounded by whitespace: #sibling-p2\t\r\n~\t\r\n#sibling-p3]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: General sibling combinator, whitespace after: #sibling-p2~\t\r\n#sibling-p3]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: General sibling combinator, whitespace before: #sibling-p2\t\r\n~#sibling-p3]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: General sibling combinator, no whitespace: #sibling-p2~#sibling-p3]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Syntax, group of selectors separator, surrounded by whitespace: #group em\t\r \n,\t\r \n#group strong]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Syntax, group of selectors separator, whitespace after: #group em,\t\r\n#group strong]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Syntax, group of selectors separator, whitespace before: #group em\t\r\n,#group strong]
|
||||
expected: FAIL
|
||||
|
||||
[In-document Element.querySelectorAll: Syntax, group of selectors separator, no whitespace: #group em,#group strong]
|
||||
expected: FAIL
|
||||
|
|
@ -3,3 +3,4 @@
|
|||
[Image and HTMLImageElement share a prototype]
|
||||
expected:
|
||||
if not debug: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[disabled.html]
|
||||
[disabled-001.html]
|
||||
type: testharness
|
||||
[The disabled attribute, when specified, causes all the form control descendants of the fieldset element, excluding those that are descendants of the fieldset element's first legend element child, if any, to be disabled.]
|
||||
expected: FAIL
|
|
@ -0,0 +1,5 @@
|
|||
[disabled-002.xhtml]
|
||||
type: testharness
|
||||
[A file input without a disabled attribute that is a descendant of a disabled fieldset should be disabled (modulo legend-related complications that don't apply here)]
|
||||
expected: FAIL
|
||||
|
|
@ -33,3 +33,6 @@
|
|||
[Check that the labels property of a form control with no label returns a zero-length NodeList.]
|
||||
expected: FAIL
|
||||
|
||||
[A label's htmlFor attribute must reflect the for content attribute]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
[legend-form.html]
|
||||
type: testharness
|
||||
[Check if legend.form return null when legend has no fieldset element as its parent]
|
||||
expected: FAIL
|
||||
|
|
@ -1 +1 @@
|
|||
f52a4a292aa30b1dcb3e36812f82aeef1e2bdd20
|
||||
78455ec033c6116732a8f43b909093b7d7732779
|
|
@ -1,3 +1,4 @@
|
|||
sudo: false # cause Travis to start builds much faster
|
||||
language: python
|
||||
python:
|
||||
- "2.7"
|
||||
|
|
|
@ -29,10 +29,7 @@ test(function() {
|
|||
assert_equals(blob.type, "");
|
||||
}, "no-argument Blob constructor");
|
||||
test(function() {
|
||||
var blob = Blob();
|
||||
assert_true(blob instanceof Blob);
|
||||
assert_equals(blob.size, 0);
|
||||
assert_equals(blob.type, "");
|
||||
assert_throws(new TypeError(), function() { var blob = Blob(); });
|
||||
}, "no-argument Blob constructor without 'new'");
|
||||
test(function() {
|
||||
var blob = new Blob;
|
||||
|
|
|
@ -15,144 +15,46 @@
|
|||
|
||||
<div id="log"></div>
|
||||
|
||||
<pre id="untested_idl" style="display: none">
|
||||
interface ArrayBuffer {
|
||||
};
|
||||
|
||||
interface ArrayBufferView {
|
||||
};
|
||||
|
||||
interface URL {
|
||||
};
|
||||
|
||||
interface EventTarget {
|
||||
};
|
||||
|
||||
interface Event {
|
||||
};
|
||||
|
||||
[TreatNonCallableAsNull]
|
||||
callback EventHandlerNonNull = any (Event event);
|
||||
typedef EventHandlerNonNull? EventHandler;
|
||||
</pre>
|
||||
|
||||
<pre id="idl" style="display: none">
|
||||
[Constructor,
|
||||
Constructor(sequence<(ArrayBuffer or ArrayBufferView or Blob or DOMString)> blobParts, optional BlobPropertyBag options), Exposed=Window,Worker]
|
||||
interface Blob {
|
||||
|
||||
readonly attribute unsigned long long size;
|
||||
readonly attribute DOMString type;
|
||||
readonly attribute boolean isClosed;
|
||||
|
||||
//slice Blob into byte-ranged chunks
|
||||
|
||||
Blob slice([Clamp] optional long long start,
|
||||
[Clamp] optional long long end,
|
||||
optional DOMString contentType);
|
||||
void close();
|
||||
|
||||
};
|
||||
|
||||
dictionary BlobPropertyBag {
|
||||
DOMString type = "";
|
||||
};
|
||||
|
||||
[Constructor(sequence<(Blob or DOMString or ArrayBufferView or ArrayBuffer)> fileBits,
|
||||
[EnsureUTF16] DOMString fileName, optional FilePropertyBag options), Exposed=Window,Worker]
|
||||
interface File : Blob {
|
||||
|
||||
readonly attribute DOMString name;
|
||||
readonly attribute long long lastModified;
|
||||
|
||||
};
|
||||
|
||||
dictionary FilePropertyBag {
|
||||
|
||||
DOMString type = "";
|
||||
long long lastModified;
|
||||
|
||||
};
|
||||
|
||||
[Exposed=Window,Worker] interface FileList {
|
||||
getter File? item(unsigned long index);
|
||||
readonly attribute unsigned long length;
|
||||
};
|
||||
|
||||
[Constructor, Exposed=Window,Worker]
|
||||
interface FileReader: EventTarget {
|
||||
|
||||
// async read methods
|
||||
void readAsArrayBuffer(Blob blob);
|
||||
void readAsText(Blob blob, optional DOMString label);
|
||||
void readAsDataURL(Blob blob);
|
||||
|
||||
void abort();
|
||||
|
||||
// states
|
||||
const unsigned short EMPTY = 0;
|
||||
const unsigned short LOADING = 1;
|
||||
const unsigned short DONE = 2;
|
||||
|
||||
readonly attribute unsigned short readyState;
|
||||
|
||||
// File or Blob data
|
||||
readonly attribute (DOMString or ArrayBuffer)? result;
|
||||
|
||||
readonly attribute DOMError? error;
|
||||
|
||||
// event handler attributes
|
||||
attribute EventHandler onloadstart;
|
||||
attribute EventHandler onprogress;
|
||||
attribute EventHandler onload;
|
||||
attribute EventHandler onabort;
|
||||
attribute EventHandler onerror;
|
||||
attribute EventHandler onloadend;
|
||||
|
||||
};
|
||||
|
||||
[Constructor, Exposed=Worker]
|
||||
interface FileReaderSync {
|
||||
|
||||
// Synchronously return strings
|
||||
|
||||
ArrayBuffer readAsArrayBuffer(Blob blob);
|
||||
DOMString readAsText(Blob blob, optional DOMString label);
|
||||
DOMString readAsDataURL(Blob blob);
|
||||
};
|
||||
|
||||
partial interface URL {
|
||||
|
||||
static DOMString createObjectURL(Blob blob);
|
||||
static DOMString createFor(Blob blob);
|
||||
static void revokeObjectURL(DOMString url);
|
||||
|
||||
};
|
||||
|
||||
</pre>
|
||||
|
||||
<form name="uploadData">
|
||||
<input type="file" id="fileChooser">
|
||||
</form>
|
||||
|
||||
<script>
|
||||
var idl_array, file_input;
|
||||
|
||||
var file_input;
|
||||
setup(function() {
|
||||
file_input = document.querySelector("#fileChooser");
|
||||
idl_array = new IdlArray();
|
||||
idl_array.add_untested_idls(document.getElementById("untested_idl").textContent);
|
||||
idl_array.add_idls(document.getElementById("idl").textContent);
|
||||
var idl_array = new IdlArray();
|
||||
|
||||
var request = new XMLHttpRequest();
|
||||
request.open("GET", "idlharness.idl");
|
||||
request.send();
|
||||
request.onload = function() {
|
||||
var idls = request.responseText;
|
||||
|
||||
idl_array.add_untested_idls("[PrimaryGlobal] interface Window { };");
|
||||
|
||||
idl_array.add_untested_idls("interface ArrayBuffer {};");
|
||||
idl_array.add_untested_idls("interface ArrayBufferView {};");
|
||||
idl_array.add_untested_idls("interface URL {};");
|
||||
idl_array.add_untested_idls("interface EventTarget {};");
|
||||
idl_array.add_untested_idls("interface Event {};");
|
||||
idl_array.add_untested_idls("[TreatNonCallableAsNull] callback EventHandlerNonNull = any (Event event);");
|
||||
idl_array.add_untested_idls("typedef EventHandlerNonNull? EventHandler;");
|
||||
|
||||
idl_array.add_idls(idls);
|
||||
|
||||
file_input = document.querySelector("#fileChooser");
|
||||
idl_array.add_objects({
|
||||
Blob: ['new Blob(["TEST"])'],
|
||||
File: ['new File(["myFileBits"], "myFileName")'],
|
||||
FileList: ['file_input.files'],
|
||||
FileReader: ['new FileReader()']
|
||||
});
|
||||
});
|
||||
|
||||
idl_array.test();
|
||||
done();
|
||||
};
|
||||
}, {explicit_done: true});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
81
tests/wpt/web-platform-tests/FileAPI/idlharness.idl
Normal file
81
tests/wpt/web-platform-tests/FileAPI/idlharness.idl
Normal file
|
@ -0,0 +1,81 @@
|
|||
[Constructor,
|
||||
Constructor(sequence<(ArrayBuffer or ArrayBufferView or Blob or DOMString)> blobParts, optional BlobPropertyBag options), Exposed=Window,Worker]
|
||||
interface Blob {
|
||||
|
||||
readonly attribute unsigned long long size;
|
||||
readonly attribute DOMString type;
|
||||
readonly attribute boolean isClosed;
|
||||
|
||||
//slice Blob into byte-ranged chunks
|
||||
|
||||
Blob slice([Clamp] optional long long start,
|
||||
[Clamp] optional long long end,
|
||||
optional DOMString contentType);
|
||||
void close();
|
||||
|
||||
};
|
||||
|
||||
dictionary BlobPropertyBag {
|
||||
DOMString type = "";
|
||||
};
|
||||
|
||||
[Constructor(sequence<(Blob or DOMString or ArrayBufferView or ArrayBuffer)> fileBits,
|
||||
[EnsureUTF16] DOMString fileName, optional FilePropertyBag options), Exposed=Window,Worker]
|
||||
interface File : Blob {
|
||||
|
||||
readonly attribute DOMString name;
|
||||
readonly attribute long long lastModified;
|
||||
|
||||
};
|
||||
|
||||
dictionary FilePropertyBag {
|
||||
|
||||
DOMString type = "";
|
||||
long long lastModified;
|
||||
|
||||
};
|
||||
|
||||
[Exposed=Window,Worker] interface FileList {
|
||||
getter File? item(unsigned long index);
|
||||
readonly attribute unsigned long length;
|
||||
};
|
||||
|
||||
[Constructor, Exposed=Window,Worker]
|
||||
interface FileReader: EventTarget {
|
||||
|
||||
// async read methods
|
||||
void readAsArrayBuffer(Blob blob);
|
||||
void readAsText(Blob blob, optional DOMString label);
|
||||
void readAsDataURL(Blob blob);
|
||||
|
||||
void abort();
|
||||
|
||||
// states
|
||||
const unsigned short EMPTY = 0;
|
||||
const unsigned short LOADING = 1;
|
||||
const unsigned short DONE = 2;
|
||||
|
||||
readonly attribute unsigned short readyState;
|
||||
|
||||
// File or Blob data
|
||||
readonly attribute (DOMString or ArrayBuffer)? result;
|
||||
|
||||
readonly attribute DOMError? error;
|
||||
|
||||
// event handler attributes
|
||||
attribute EventHandler onloadstart;
|
||||
attribute EventHandler onprogress;
|
||||
attribute EventHandler onload;
|
||||
attribute EventHandler onabort;
|
||||
attribute EventHandler onerror;
|
||||
attribute EventHandler onloadend;
|
||||
|
||||
};
|
||||
|
||||
partial interface URL {
|
||||
|
||||
static DOMString createObjectURL(Blob blob);
|
||||
static DOMString createFor(Blob blob);
|
||||
static void revokeObjectURL(DOMString url);
|
||||
|
||||
};
|
45
tests/wpt/web-platform-tests/FileAPI/idlharness.worker.js
Normal file
45
tests/wpt/web-platform-tests/FileAPI/idlharness.worker.js
Normal file
|
@ -0,0 +1,45 @@
|
|||
importScripts("/resources/testharness.js");
|
||||
importScripts("/resources/WebIDLParser.js", "/resources/idlharness.js");
|
||||
|
||||
var request = new XMLHttpRequest();
|
||||
request.open("GET", "idlharness.idl");
|
||||
request.send();
|
||||
request.onload = function() {
|
||||
var idl_array = new IdlArray();
|
||||
var idls = request.responseText;
|
||||
|
||||
idl_array.add_untested_idls("[Global] interface Window { };");
|
||||
|
||||
idl_array.add_untested_idls("interface ArrayBuffer {};");
|
||||
idl_array.add_untested_idls("interface ArrayBufferView {};");
|
||||
idl_array.add_untested_idls("interface URL {};");
|
||||
idl_array.add_untested_idls("interface EventTarget {};");
|
||||
idl_array.add_untested_idls("interface Event {};");
|
||||
idl_array.add_untested_idls("[TreatNonCallableAsNull] callback EventHandlerNonNull = any (Event event);");
|
||||
idl_array.add_untested_idls("typedef EventHandlerNonNull? EventHandler;");
|
||||
|
||||
|
||||
var worker_idls =
|
||||
'[Constructor, Exposed=Worker]\n' +
|
||||
'interface FileReaderSync {\n' +
|
||||
'\n' +
|
||||
' // Synchronously return strings\n' +
|
||||
'\n' +
|
||||
' ArrayBuffer readAsArrayBuffer(Blob blob);\n' +
|
||||
' DOMString readAsText(Blob blob, optional DOMString label);\n' +
|
||||
' DOMString readAsDataURL(Blob blob);\n' +
|
||||
'};';
|
||||
|
||||
idl_array.add_idls(idls);
|
||||
idl_array.add_idls(worker_idls);
|
||||
|
||||
idl_array.add_objects({
|
||||
Blob: ['new Blob(["TEST"])'],
|
||||
File: ['new File(["myFileBits"], "myFileName")'],
|
||||
FileReader: ['new FileReader()'],
|
||||
FileReaderSync: ['new FileReaderSync()']
|
||||
});
|
||||
|
||||
idl_array.test();
|
||||
done();
|
||||
};
|
|
@ -24,6 +24,14 @@ test(function() {
|
|||
"The message property should be inherited");
|
||||
}, 'new DOMException(): own-ness');
|
||||
|
||||
test(function() {
|
||||
var ex = new DOMException(null);
|
||||
assert_equals(ex.name, "Error",
|
||||
"Not passing a name should end up with 'Error' as the name");
|
||||
assert_equals(ex.message, "null",
|
||||
"Passing null as message should end up with stringified 'null' as the message");
|
||||
}, 'new DOMException(null)');
|
||||
|
||||
test(function() {
|
||||
var ex = new DOMException(undefined);
|
||||
assert_equals(ex.name, "Error",
|
||||
|
@ -55,6 +63,13 @@ test(function() {
|
|||
"The message property should be own");
|
||||
}, 'new DOMException("foo"): own-ness');
|
||||
|
||||
test(function() {
|
||||
var ex = new DOMException("bar", undefined);
|
||||
assert_equals(ex.name, "Error",
|
||||
"Passing undefined for name should end up with 'Error' as the name");
|
||||
assert_equals(ex.message, "bar", "Should still be using passed-in message");
|
||||
}, 'new DOMException("bar", undefined)');
|
||||
|
||||
test(function() {
|
||||
var ex = new DOMException("bar", "NotSupportedError");
|
||||
assert_equals(ex.name, "NotSupportedError", "Should be using the passed-in name");
|
||||
|
@ -70,4 +85,55 @@ test(function() {
|
|||
assert_true(ex.hasOwnProperty("message"),
|
||||
"The message property should be own");
|
||||
}, 'new DOMException("bar", "NotSupportedError"): own-ness');
|
||||
|
||||
test(function() {
|
||||
var ex = new DOMException("bar", "foo");
|
||||
assert_equals(ex.name, "foo", "Should be using the passed-in name");
|
||||
assert_equals(ex.message, "bar", "Should still be using passed-in message");
|
||||
assert_equals(ex.code, 0,
|
||||
"Should have 0 for code for a name not in the exception names table");
|
||||
}, 'new DOMException("bar", "foo")');
|
||||
|
||||
[
|
||||
{name: "IndexSizeError", code: 1},
|
||||
{name: "HierarchyRequestError", code: 3},
|
||||
{name: "WrongDocumentError", code: 4},
|
||||
{name: "InvalidCharacterError", code: 5},
|
||||
{name: "NoModificationAllowedError", code: 7},
|
||||
{name: "NotFoundError", code: 8},
|
||||
{name: "NotSupportedError", code: 9},
|
||||
{name: "InUseAttributeError", code: 10},
|
||||
{name: "InvalidStateError", code: 11},
|
||||
{name: "SyntaxError", code: 12},
|
||||
{name: "InvalidModificationError", code: 13},
|
||||
{name: "NamespaceError", code: 14},
|
||||
{name: "InvalidAccessError", code: 15},
|
||||
{name: "SecurityError", code: 18},
|
||||
{name: "NetworkError", code: 19},
|
||||
{name: "AbortError", code: 20},
|
||||
{name: "URLMismatchError", code: 21},
|
||||
{name: "QuotaExceededError", code: 22},
|
||||
{name: "TimeoutError", code: 23},
|
||||
{name: "InvalidNodeTypeError", code: 24},
|
||||
{name: "DataCloneError", code: 25}
|
||||
].forEach(function(test_case) {
|
||||
test(function() {
|
||||
var ex = new DOMException("msg", test_case.name);
|
||||
assert_equals(ex.name, test_case.name,
|
||||
"Should be using the passed-in name");
|
||||
assert_equals(ex.message, "msg",
|
||||
"Should be using the passed-in message");
|
||||
assert_equals(ex.code, test_case.code,
|
||||
"Should have matching legacy code from error names table");
|
||||
},'new DOMexception("msg", "' + test_case.name + '")');
|
||||
});
|
||||
|
||||
test(function() {
|
||||
var ex = new DOMException("bar", "UnknownError");
|
||||
assert_equals(ex.name, "UnknownError", "Should be using the passed-in name");
|
||||
assert_equals(ex.message, "bar", "Should still be using passed-in message");
|
||||
assert_equals(ex.code, 0,
|
||||
"Should have 0 for code for a name in the exception names table with no legacy code");
|
||||
}, 'new DOMException("bar", "UnknownError")');
|
||||
|
||||
</script>
|
||||
|
|
|
@ -1,4 +1,10 @@
|
|||
{
|
||||
"html-aria/author-requirements/571-haswarn.html": "The \u201ctextbox\u201d role is unnecessary for an \u201cinput\u201d element that has no \u201clist\u201d attribute and whose type is \u201ctext\u201d.",
|
||||
"html-aria/author-requirements/572-haswarn.html": "The \u201ctextbox\u201d role is unnecessary for an \u201cinput\u201d element that has no \u201clist\u201d attribute and whose type is \u201ctext\u201d.",
|
||||
"html-aria/author-requirements/573-haswarn.html": "The \u201ctextbox\u201d role is unnecessary for an \u201cinput\u201d element that has no \u201clist\u201d attribute and whose type is \u201ctext\u201d.",
|
||||
"html-aria/combobox-autocomplete-list/div-haswarn.html": "The \u201ctextbox\u201d role is unnecessary for an \u201cinput\u201d element that has no \u201clist\u201d attribute and whose type is \u201ctext\u201d.",
|
||||
"html-aria/host-language/implicit-semantics-checkbox-disparity-haswarn.html": "The \u201ccheckbox\u201d role is unnecessary for element \u201cinput\u201d whose type is \u201ccheckbox\u201d.",
|
||||
"html-aria/host-language/implicit-semantics-checkbox-role-haswarn.html": "The \u201ccheckbox\u201d role is unnecessary for element \u201cinput\u201d whose type is \u201ccheckbox\u201d.",
|
||||
"html-rdfa/0019-novalid.html": "Attribute \u201chref\u201d not allowed on element \u201cdiv\u201d in this context.",
|
||||
"html-rdfa/0035-novalid.html": "Attribute \u201chref\u201d not allowed on element \u201cimg\u201d in this context.",
|
||||
"html-rdfa/0037-novalid.html": "Attribute \u201chref\u201d not allowed on element \u201cimg\u201d in this context.",
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
alert_assert('PASS');
|
|
@ -1,66 +0,0 @@
|
|||
var EXPECT_BLOCK = true;
|
||||
var EXPECT_LOAD = false;
|
||||
|
||||
window.jsTestIsAsync = true;
|
||||
window.wasPostTestScriptParsed = true;
|
||||
|
||||
var iframe;
|
||||
|
||||
function injectFrame(url, shouldBlock) {
|
||||
window.onload = function() {
|
||||
iframe = document.createElement('iframe');
|
||||
iframe.onload = iframeLoaded(shouldBlock);
|
||||
iframe.src = url;
|
||||
document.body.appendChild(iframe);
|
||||
};
|
||||
}
|
||||
|
||||
function iframeLoaded(expectBlock) {
|
||||
return function(ev) {
|
||||
var failed = true;
|
||||
try {
|
||||
console.log("IFrame load event fired: the IFrame's location is '" + ev.target.contentWindow.location.href + "'.");
|
||||
if (expectBlock) {
|
||||
testFailed("The IFrame should have been blocked (or cross-origin). It wasn't.");
|
||||
failed = true;
|
||||
} else {
|
||||
testPassed("The IFrame should not have been blocked. It wasn't.");
|
||||
failed = false;
|
||||
}
|
||||
} catch (ex) {
|
||||
debug("IFrame load event fired: the IFrame is cross-origin (or was blocked).");
|
||||
if (expectBlock) {
|
||||
testPassed("The IFrame should have been blocked (or cross-origin). It was.");
|
||||
failed = false;
|
||||
} else {
|
||||
testFailed("The IFrame should not have been blocked. It was.");
|
||||
failed = true;
|
||||
}
|
||||
}
|
||||
finishJSTest();
|
||||
};
|
||||
}
|
||||
|
||||
function injectFrameRedirectingTo(url, shouldBlock) {
|
||||
injectFrame("/security/contentSecurityPolicy/resources/redir.php?url=" + url, shouldBlock);
|
||||
}
|
||||
|
||||
function injectWorker(url, expectBlock) {
|
||||
window.onload = function() {
|
||||
if (expectBlock == EXPECT_BLOCK)
|
||||
shouldThrow("var w = new Worker('" + url + "');");
|
||||
else
|
||||
shouldNotThrow("var w = new Worker('" + url + "');");
|
||||
finishJSTest();
|
||||
};
|
||||
}
|
||||
|
||||
function injectSharedWorker(url, expectBlock) {
|
||||
window.onload = function() {
|
||||
if (expectBlock == EXPECT_BLOCK)
|
||||
shouldThrow("var w = new SharedWorker('" + url + "');");
|
||||
else
|
||||
shouldNotThrow("var w = new SharedWorker('" + url + "');");
|
||||
finishJSTest();
|
||||
};
|
||||
}
|
|
@ -1,2 +0,0 @@
|
|||
if (window.testRunner)
|
||||
testRunner.dumpAsText();
|
|
@ -1,109 +0,0 @@
|
|||
var SAME_ORIGIN = true;
|
||||
var CROSS_ORIGIN = false;
|
||||
|
||||
var EXPECT_BLOCK = true;
|
||||
var EXPECT_LOAD = false;
|
||||
|
||||
var SAMEORIGIN_ORIGIN = "http://127.0.0.1:8000";
|
||||
var CROSSORIGIN_ORIGIN = "http://localhost:8080";
|
||||
|
||||
window.jsTestIsAsync = true;
|
||||
window.wasPostTestScriptParsed = true;
|
||||
|
||||
if (window.testRunner)
|
||||
testRunner.dumpChildFramesAsText();
|
||||
|
||||
window.addEventListener("message", function(e) {
|
||||
if (window.parent != window) {
|
||||
window.parent.postMessage(e.data, "*");
|
||||
} else {
|
||||
if (e.data)
|
||||
testFailed("The inner IFrame failed.");
|
||||
else
|
||||
testPassed("The inner IFrame passed.");
|
||||
|
||||
finishJSTest();
|
||||
}
|
||||
});
|
||||
|
||||
function injectNestedIframe(policy, parent, child, expectation) {
|
||||
var iframe = document.createElement("iframe");
|
||||
|
||||
var url = "/security/contentSecurityPolicy/resources/frame-in-frame.pl?" + "policy=" + policy + "&parent=" + parent + "&child=" + child + "&expectation=" + expectation;
|
||||
url = (parent == "same" ? SAMEORIGIN_ORIGIN : CROSSORIGIN_ORIGIN) + url;
|
||||
|
||||
iframe.src = url;
|
||||
document.body.appendChild(iframe);
|
||||
}
|
||||
|
||||
function injectIFrame(policy, sameOrigin, expectBlock) {
|
||||
var iframe = document.createElement("iframe");
|
||||
iframe.addEventListener("load", iframeLoaded(expectBlock));
|
||||
iframe.addEventListener("error", iframeLoaded(expectBlock));
|
||||
|
||||
var url = "/security/contentSecurityPolicy/resources/frame-ancestors.pl?policy=" + policy;
|
||||
if (!sameOrigin)
|
||||
url = CROSSORIGIN_ORIGIN + url;
|
||||
|
||||
iframe.src = url;
|
||||
document.body.appendChild(iframe);
|
||||
}
|
||||
|
||||
function iframeLoaded(expectBlock) {
|
||||
return function(ev) {
|
||||
var failed = true;
|
||||
try {
|
||||
console.log("IFrame load event fired: the IFrame's location is '" + ev.target.contentWindow.location.href + "'.");
|
||||
if (expectBlock) {
|
||||
testFailed("The IFrame should have been blocked (or cross-origin). It wasn't.");
|
||||
failed = true;
|
||||
} else {
|
||||
testPassed("The IFrame should not have been blocked. It wasn't.");
|
||||
failed = false;
|
||||
}
|
||||
} catch (ex) {
|
||||
debug("IFrame load event fired: the IFrame is cross-origin (or was blocked).");
|
||||
if (expectBlock) {
|
||||
testPassed("The IFrame should have been blocked (or cross-origin). It was.");
|
||||
failed = false;
|
||||
} else {
|
||||
testFailed("The IFrame should not have been blocked. It was.");
|
||||
failed = true;
|
||||
}
|
||||
}
|
||||
if (window.parent != window)
|
||||
window.parent.postMessage(failed, '*');
|
||||
else
|
||||
finishJSTest();
|
||||
};
|
||||
}
|
||||
|
||||
function crossOriginFrameShouldBeBlocked(policy) {
|
||||
window.onload = function() {
|
||||
injectIFrame(policy, CROSS_ORIGIN, EXPECT_BLOCK);
|
||||
};
|
||||
}
|
||||
|
||||
function crossOriginFrameShouldBeAllowed(policy) {
|
||||
window.onload = function() {
|
||||
injectIFrame(policy, CROSS_ORIGIN, EXPECT_LOAD);
|
||||
};
|
||||
}
|
||||
|
||||
function sameOriginFrameShouldBeBlocked(policy) {
|
||||
window.onload = function() {
|
||||
injectIFrame(policy, SAME_ORIGIN, EXPECT_BLOCK);
|
||||
};
|
||||
}
|
||||
|
||||
function sameOriginFrameShouldBeAllowed(policy) {
|
||||
window.onload = function() {
|
||||
injectIFrame(policy, SAME_ORIGIN, EXPECT_LOAD);
|
||||
};
|
||||
}
|
||||
|
||||
function testNestedIFrame(policy, parent, child, expectation) {
|
||||
window.onload = function() {
|
||||
injectNestedIframe(policy, parent == SAME_ORIGIN ? "same" : "cross", child == SAME_ORIGIN ? "same" : "cross", expectation == EXPECT_LOAD ? "Allowed" : "Blocked");
|
||||
};
|
||||
}
|
|
@ -1,2 +0,0 @@
|
|||
<meta http-equiv="Content-Security-Policy" content="default-src 'self'"> This page includes an insecure script that alerts "FAIL", but that script is blocked by CSP.
|
||||
<script src="http://127.0.0.1:8080/security/contentSecurityPolicy/resources/alert-fail.js"></script>
|
|
@ -1,54 +0,0 @@
|
|||
if (window.testRunner) {
|
||||
testRunner.waitUntilDone();
|
||||
testRunner.dumpAsText();
|
||||
testRunner.dumpChildFramesAsText();
|
||||
}
|
||||
|
||||
function testExperimentalPolicy() {
|
||||
testImpl(true);
|
||||
}
|
||||
|
||||
function test() {
|
||||
testImpl(false);
|
||||
}
|
||||
|
||||
function testImpl(experimental) {
|
||||
if (tests.length === 0)
|
||||
return finishTesting();
|
||||
var baseURL = "/security/contentSecurityPolicy/";
|
||||
var current = tests.shift();
|
||||
var iframe = document.createElement("iframe");
|
||||
iframe.src = baseURL + "resources/echo-object-data.pl?" +
|
||||
"experimental=" + (experimental ? "true" : "false") +
|
||||
"&csp=" + escape(current[1]);
|
||||
|
||||
if (current[0])
|
||||
iframe.src += "&log=PASS.";
|
||||
else
|
||||
iframe.src += "&log=FAIL.";
|
||||
|
||||
if (current[2])
|
||||
iframe.src += "&plugin=" + escape(current[2]);
|
||||
else {
|
||||
iframe.src += "&plugin=data:application/x-webkit-test-netscape,logifloaded";
|
||||
}
|
||||
|
||||
if (current[3] !== undefined)
|
||||
iframe.src += "&type=" + escape(current[3]);
|
||||
else
|
||||
iframe.src += "&type=application/x-webkit-test-netscape";
|
||||
|
||||
iframe.onload = function() {
|
||||
if (window.internals)
|
||||
internals.updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks(iframe);
|
||||
testImpl(experimental);
|
||||
};
|
||||
document.body.appendChild(iframe);
|
||||
}
|
||||
|
||||
function finishTesting() {
|
||||
if (window.testRunner) {
|
||||
setTimeout("testRunner.notifyDone()", 0);
|
||||
}
|
||||
return true;
|
||||
}
|
|
@ -1,53 +0,0 @@
|
|||
if (window.testRunner) {
|
||||
testRunner.waitUntilDone();
|
||||
testRunner.dumpAsText();
|
||||
testRunner.dumpChildFramesAsText();
|
||||
}
|
||||
|
||||
function testPreescapedPolicy() {
|
||||
testImpl(false, true);
|
||||
}
|
||||
|
||||
function testExperimentalPolicy() {
|
||||
testImpl(true, false);
|
||||
}
|
||||
|
||||
function test() {
|
||||
testImpl(false, false);
|
||||
}
|
||||
|
||||
function testImpl(experimental, preescapedPolicy) {
|
||||
if (tests.length === 0)
|
||||
return finishTesting();
|
||||
|
||||
var baseURL = "/security/contentSecurityPolicy/";
|
||||
var current = tests.shift();
|
||||
var iframe = document.createElement("iframe");
|
||||
|
||||
var policy = current[1];
|
||||
if (!preescapedPolicy)
|
||||
policy = encodeURIComponent(policy);
|
||||
|
||||
var scriptToLoad = baseURL + encodeURIComponent(current[2]);
|
||||
if (current[2].match(/^data:/) || current[2].match(/^https?:/))
|
||||
scriptToLoad = encodeURIComponent(current[2]);
|
||||
|
||||
iframe.src = baseURL + "resources/echo-script-src.pl?" +
|
||||
"experimental=" + (experimental ? "true" : "false") +
|
||||
"&should_run=" + encodeURIComponent(current[0]) +
|
||||
"&csp=" + policy + "&q=" + scriptToLoad;
|
||||
if (current[3] !== undefined)
|
||||
iframe.src += "&nonce=" + encodeURIComponent(current[3]);
|
||||
|
||||
iframe.onload = function() {
|
||||
testImpl(experimental, preescapedPolicy);
|
||||
};
|
||||
document.body.appendChild(iframe);
|
||||
}
|
||||
|
||||
function finishTesting() {
|
||||
if (window.testRunner) {
|
||||
setTimeout("testRunner.notifyDone()", 0);
|
||||
}
|
||||
return true;
|
||||
}
|
|
@ -1,62 +0,0 @@
|
|||
var ReferrerTest = {
|
||||
NO_REFERRER: "no-referrer",
|
||||
NO_REFERRER_WHEN_DOWNGRADE: "no-referrer-when-downgrade",
|
||||
ORIGIN: "origin",
|
||||
ORIGIN_WHEN_CROSS_ORIGIN: "origin-when-cross-origin",
|
||||
UNSAFE_URL: "unsafe-url",
|
||||
|
||||
INVALID: "invalid",
|
||||
EMPTY: "",
|
||||
|
||||
HTTP: "http",
|
||||
HTTPS: "https",
|
||||
|
||||
bindHandler: function(func) {
|
||||
window.addEventListener("message", function(e) {
|
||||
ReferrerTest.referrerResult = undefined;
|
||||
func(e.data);
|
||||
finishJSTest();
|
||||
});
|
||||
},
|
||||
|
||||
base: function(scheme) {
|
||||
return scheme == "http" ? "http://127.0.0.1:8000/" : "https://127.0.0.1:8443/";
|
||||
},
|
||||
|
||||
generateFrameURL: function(policy, from, to) {
|
||||
return ReferrerTest.base(from) + "security/contentSecurityPolicy/resources/referrer-test.php?policy=" + policy + "&to=" + to;
|
||||
},
|
||||
|
||||
injectFrame: function(policy, from, to) {
|
||||
var iframe = document.createElement("iframe");
|
||||
iframe.src = ReferrerTest.generateFrameURL(policy, from, to);
|
||||
document.body.appendChild(iframe);
|
||||
}
|
||||
};
|
||||
|
||||
function expectFullReferrer(policy, from, to) {
|
||||
ReferrerTest.bindHandler(function(referrer) {
|
||||
ReferrerTest.referrerResult = referrer;
|
||||
shouldBeEqualToString("ReferrerTest.referrerResult", ReferrerTest.generateFrameURL(policy, from, to));
|
||||
});
|
||||
ReferrerTest.injectFrame(policy, from, to);
|
||||
}
|
||||
|
||||
function expectNoReferrer(policy, from, to) {
|
||||
ReferrerTest.bindHandler(function(referrer) {
|
||||
ReferrerTest.referrerResult = referrer;
|
||||
shouldBeEqualToString("ReferrerTest.referrerResult", "");
|
||||
});
|
||||
ReferrerTest.injectFrame(policy, from, to);
|
||||
}
|
||||
|
||||
function expectOriginReferrer(policy, from, to) {
|
||||
ReferrerTest.bindHandler(function(referrer) {
|
||||
ReferrerTest.referrerResult = referrer;
|
||||
shouldBeEqualToString("ReferrerTest.referrerResult", ReferrerTest.base(from));
|
||||
});
|
||||
ReferrerTest.injectFrame(policy, from, to);
|
||||
}
|
||||
|
||||
window.wasPostTestScriptParsed = true;
|
||||
window.jsTestIsAsync = true;
|
|
@ -1,41 +0,0 @@
|
|||
if (window.testRunner) {
|
||||
testRunner.dumpAsText();
|
||||
testRunner.dumpChildFramesAsText();
|
||||
testRunner.setXSSAuditorEnabled(true);
|
||||
testRunner.waitUntilDone();
|
||||
}
|
||||
|
||||
function testMixedHeader(csp, xssProtection) {
|
||||
var params = [
|
||||
'q=<script>alert_assert(String.fromCharCode(0x58,0x53,0x53))<' + '/script>'
|
||||
];
|
||||
if (csp != 'unset')
|
||||
params.push('csp=' + csp);
|
||||
|
||||
if (xssProtection == 'allow')
|
||||
params.push('disable-protection=1');
|
||||
if (xssProtection == 'block')
|
||||
params.push('enable-full-block=1');
|
||||
if (xssProtection == 'filter')
|
||||
params.push('valid-header=2');
|
||||
if (xssProtection == 'invalid')
|
||||
params.push('malformed-header=1');
|
||||
|
||||
var url = '/security/xssAuditor/resources/echo-intertag.pl?';
|
||||
url += params.join('&');
|
||||
|
||||
document.write('<p>Testing behavior when "reflected-xss" is set to ' + csp + ', and "X-XSS-Protection" is set to ' + xssProtection + '.');
|
||||
document.write('<iframe src="' + url + '"></iframe>');
|
||||
}
|
||||
|
||||
function frameLoaded() {
|
||||
var frame = document.querySelector('iframe');
|
||||
try {
|
||||
alert_assert('Loaded ' + frame.contentWindow.location.href + ' into the IFrame.');
|
||||
} catch (e) {
|
||||
alert_assert('Loaded cross-origin frame.');
|
||||
}
|
||||
testRunner.notifyDone();
|
||||
}
|
||||
|
||||
window.onload = frameLoaded;
|
|
@ -1,11 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<body>
|
||||
<div id="result" text="PASS">
|
||||
FAIL
|
||||
</div>
|
||||
<script src="http://127.0.0.1:8000/security/contentSecurityPolicy/resources/script.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,18 +0,0 @@
|
|||
if (window.testRunner)
|
||||
testRunner.dumpAsText();
|
||||
|
||||
function log(msg) {
|
||||
var txt = document.createTextNode(msg);
|
||||
document.querySelector('body').appendChild(txt);
|
||||
document.querySelector('body').appendChild(document.createElement('br'));
|
||||
}
|
||||
|
||||
function injectPolicy(policy) {
|
||||
var meta = document.createElement('meta');
|
||||
meta.setAttribute('http-equiv', 'Content-Security-Policy');
|
||||
meta.setAttribute('content', policy);
|
||||
document.head.appendChild(meta);
|
||||
}
|
||||
|
||||
if (!document.securityPolicy)
|
||||
log('FAIL document.securityPolicy is not defined.')
|
|
@ -1,13 +0,0 @@
|
|||
window.jsTestIsAsync = true;
|
||||
|
||||
document.addEventListener('securitypolicyviolation', function handleEvent(e) {
|
||||
window.e = e;
|
||||
for (key in expectations)
|
||||
shouldBe('window.e.' + key, JSON.stringify(expectations[key]));
|
||||
finishJSTest();
|
||||
});
|
||||
|
||||
window.addEventListener('load', function() {
|
||||
debug('Kicking off the tests:');
|
||||
run();
|
||||
});
|
|
@ -1,10 +0,0 @@
|
|||
onconnect = function(event) {
|
||||
var port = event.ports[0];
|
||||
try {
|
||||
var xhr = new XMLHttpRequest;
|
||||
xhr.open("GET", "http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/blue.css", true);
|
||||
port.postMessage("xhr allowed");
|
||||
} catch (e) {
|
||||
port.postMessage("xhr blocked");
|
||||
}
|
||||
};
|
|
@ -1,20 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<xsl:stylesheet version="2.0"
|
||||
xmlns:xhtml="http://www.w3.org/1999/xhtml"
|
||||
xmlns="http://www.w3.org/1999/xhtml"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
exclude-result-prefixes="xhtml xsl xs">
|
||||
<xsl:output method="xml" version="1.0" encoding="UTF-8" doctype-public="-//W3C//DTD XHTML 1.1//EN" doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" indent="yes"/>
|
||||
<xsl:template match="@*|node()">
|
||||
<xsl:copy>
|
||||
<xsl:apply-templates select="@*|node()"/>
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
<xsl:template match="xhtml:div">
|
||||
<xsl:copy>
|
||||
Style sheet applied.
|
||||
<xsl:apply-templates select="@*|node()"/>
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
|
@ -1,19 +0,0 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
<xsl:template match="/">
|
||||
<html>
|
||||
<head>
|
||||
<script>
|
||||
//<![CDATA[
|
||||
if (window.testRunner)
|
||||
testRunner.dumpAsText();
|
||||
//]]>
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
Here is an image:
|
||||
<img src="../resources/abe.png"/>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
|
@ -373,8 +373,8 @@ The assertion should not be:
|
|||
The test assertion is **optional**. It helps the reviewer understand
|
||||
the goal of the test so that he or she can make sure it is being
|
||||
tested correctly. Also, in case a problem is found with the test
|
||||
later, the testing method (e.g. using 'color' to determine pass/fail)
|
||||
can be changed (e.g. to using 'background-color') while preserving
|
||||
later, the testing method (e.g. using `color` to determine pass/fail)
|
||||
can be changed (e.g. to using `background-color`) while preserving
|
||||
the intent of the test (e.g. testing support for ID selectors).
|
||||
|
||||
Examples of good test assertions:
|
||||
|
|
|
@ -52,7 +52,7 @@ sheet is applied.</p>
|
|||
Within the test case it is recommended that the case itself indicate
|
||||
the necessary user style sheet that is required.
|
||||
|
||||
Examples: (code for the cascade.css file)
|
||||
Examples: (code for the [`cascade.css`][cascade-css] file)
|
||||
|
||||
``` css
|
||||
#cascade /* ID name should match user style sheet file name */
|
||||
|
@ -66,7 +66,7 @@ The rule ```#cascade``` in the example above is used by the test
|
|||
page to hide the prerequisite text. The rule name should match the
|
||||
user style sheet CSS file name in order to keep this orderly.
|
||||
|
||||
Examples: (code for the cascade-### XHTML files)
|
||||
Examples: (code for [the `cascade-###.xht` files][cascade-xht])
|
||||
|
||||
``` html
|
||||
<p id="cascade">
|
||||
|
@ -83,3 +83,6 @@ sheet is properly applied.
|
|||
Please flag test that require user style sheets with the userstyle
|
||||
flag so people running the tests know that a user style sheet is
|
||||
required.
|
||||
|
||||
[cascade-css]: https://github.com/w3c/csswg-test/blob/master/css21/cascade/support/cascade.css
|
||||
[cascade-xht]: https://github.com/w3c/csswg-test/blob/master/css21/cascade/cascade-001.xht
|
||||
|
|
|
@ -47,8 +47,8 @@ event firing. In some cases it is necessary to delay the screenshot
|
|||
later than this, for example becase some DOM manipulation is
|
||||
required to set up the desired test conditions. To enable this, the
|
||||
test may have a `class="reftest-wait"` attribute specified on the root
|
||||
element. This will cause the screenshot to be delayed until the load
|
||||
event has fired and the reftest-wait class has been removed from the
|
||||
element. This will cause the screenshot to be delayed until the `load`
|
||||
event has fired and the `reftest-wait` class has been removed from the
|
||||
root element (technical note: the implementation in wptrunner uses
|
||||
mutation observers so the screenshot will be triggered in the
|
||||
microtask checkpoint after the class is removed. Because the harness
|
||||
|
@ -66,12 +66,12 @@ Multiple references linked from a single file are interpreted as
|
|||
multiple possible renderings for that file. `<link rel=[mis]match>`
|
||||
elements in a reference create further conditions that must be met in
|
||||
order for the test to pass. For example, consider a situation where
|
||||
a.html has `<link rel=match href=b.html>` and `<link rel=match
|
||||
href=c.html>`, b.html has `<link rel=match href=b1.html>` and c.html
|
||||
`a.html` has `<link rel=match href=b.html>` and `<link rel=match
|
||||
href=c.html>`, `b.html` has `<link rel=match href=b1.html>` and `c.html`
|
||||
has `<link rel=mismatch href=c1.html>`. In this case, to pass we must
|
||||
either have a.html, b.html and b1.html all rendering identically, or
|
||||
a.html and c.html rendering identically, but c.html rendering
|
||||
differently from c1.html.
|
||||
either have `a.html`, `b.html` and `b1.html` all rendering identically, or
|
||||
`a.html` and `c.html` rendering identically, but `c.html` rendering
|
||||
differently from `c1.html`.
|
||||
|
||||
## Fuzzy Matching
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ may also be used as long as the review is clearly linked.
|
|||
### Critic
|
||||
|
||||
[Critic][critic] is a code review tool that is frequently used for
|
||||
reviewing web-platform-tests sumbissions. Although it has a steeper
|
||||
reviewing web-platform-tests submissions. Although it has a steeper
|
||||
learning curve than the GitHub tools, it has more features that aid in
|
||||
conducting non-trivial reviews.
|
||||
|
||||
|
@ -33,13 +33,13 @@ and log (authentication is via GitHub). On the homepage, click "Add
|
|||
Filter". In the resulting dialog, select the web-platform-tests
|
||||
repository and add the path of the folder(s) where you want to review
|
||||
code, e.g. `/` to review any submissions or `XMLHttpRequest/` to
|
||||
review only submissions in the XHMLHttpRequest directory. Ensure that
|
||||
review only submissions in the `XHMLHttpRequest` directory. Ensure that
|
||||
your email address is added so that you receive notifications of new
|
||||
reviews matching your filters, and activity on existing reviews.
|
||||
|
||||
## Labels
|
||||
|
||||
Pull requests get automatically labelled in the Github repository. Check
|
||||
Pull requests get automatically labelled in the GitHub repository. Check
|
||||
out the [list of labels in Github][issues]
|
||||
to see the open pull requests for a given specification or a given Working Group.
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ environment, the [wptrunner](http://github.com/w3c/wptrunner) test runner
|
|||
can be used. This is a test runner written in Python and designed to
|
||||
control the browser from the outside using some remote control
|
||||
protocol such as WebDriver. This allows it to handle cases such as the
|
||||
browser crashing that connot be handled by an in-browser harness. It
|
||||
browser crashing that cannot be handled by an in-browser harness. It
|
||||
also has the ability to automatically run both testharness-based tests
|
||||
and reftests.
|
||||
|
||||
|
|
|
@ -111,7 +111,7 @@ between attributes will be collapsed to a single space, duplicate
|
|||
attributes will be removed, optional closing tags will be inserted,
|
||||
and invalid markup will be normalized. If these changes should make
|
||||
the test inoperable, for example if the test is testing markup error
|
||||
recovery, add the [flag][requirement-flags] 'asis' to prevent
|
||||
recovery, add the [flag][requirement-flags] `asis` to prevent
|
||||
re-serialization. This flag will also prevent format conversions so it
|
||||
may be necessary to provide alternate versions of the test in other
|
||||
formats (XHTML, HTML, etc.)
|
||||
|
@ -262,7 +262,7 @@ the `location` dictionary, which has entries matching the
|
|||
{{location[host]}}
|
||||
{% endraw %}
|
||||
|
||||
is replaced by hostname:port for the current request.
|
||||
is replaced by `hostname:port` for the current request.
|
||||
|
||||
### Tests Requiring Special Headers
|
||||
|
||||
|
|
|
@ -196,14 +196,14 @@ red to denote failure._
|
|||
|
||||
#### Overlapped text
|
||||
|
||||
Tests of the 'line-height', 'font-size' and similar properties can
|
||||
Tests of the `line-height`, `font-size` and similar properties can
|
||||
sometimes be devised in such a way that a failure will result in the
|
||||
text overlapping.
|
||||
|
||||
#### The word "FAIL"
|
||||
|
||||
Some properties lend themselves well to this kind of test, for
|
||||
example 'quotes' and 'content'. The idea is that if the word "FAIL"
|
||||
example `quotes` and `content`. The idea is that if the word "FAIL"
|
||||
appears anywhere, something must have gone wrong.
|
||||
|
||||
[Example][fail-example]
|
||||
|
@ -219,7 +219,7 @@ shapes. This font is especially useful for testing font and text
|
|||
properties. Without this font it would be very hard to use the
|
||||
overlapping technique with text.
|
||||
|
||||
The font's em-square is exactly square. It's ascent and descent is
|
||||
The font's em-square is exactly square. Its ascent and descent is
|
||||
exactly the size of the em square. This means that the font's extent
|
||||
is exactly the same as its line-height, meaning that it can be
|
||||
exactly aligned with padding, borders, margins, and so forth.
|
||||
|
@ -263,9 +263,9 @@ E.g. Good:
|
|||
```
|
||||
|
||||
__If the test uses the Ahem font, make sure the line-height on block
|
||||
elements is specified; avoid 'line-height: normal'__. Also, for
|
||||
elements is specified; avoid `line-height: normal`__. Also, for
|
||||
absolute reliability, the difference between computed line-height
|
||||
and computed font-size should be dividable by 2.
|
||||
and computed font-size should be divisible by 2.
|
||||
|
||||
E.g. Bad:
|
||||
|
||||
|
@ -273,14 +273,14 @@ E.g. Bad:
|
|||
{font: 1.25em Ahem;} /* computed line-height value is 'normal' */
|
||||
{font: 20px Ahem;} /* computed line-height value is 'normal' */
|
||||
{font-size: 25px; line-height: 50px;} /* the difference between
|
||||
computed line-height and computed font-size is not dividable by 2. */
|
||||
computed line-height and computed font-size is not divisible by 2. */
|
||||
```
|
||||
|
||||
E.g. Good:
|
||||
|
||||
``` css
|
||||
{font-size: 25px; line-height: 51px;} /* the difference between
|
||||
computed line-height and computed font-size is dividable by 2. */
|
||||
computed line-height and computed font-size is divisible by 2. */
|
||||
```
|
||||
|
||||
[Example test using Ahem][ahem-example]
|
||||
|
@ -347,11 +347,9 @@ In practice, the important thing to decide is when to be methodical
|
|||
and when to simply test, in an ad hoc fashion, a cross section of
|
||||
the possibilities.
|
||||
|
||||
This example is a methodical test of the :not() pseudo-class with
|
||||
each attribute selector in turn, first for long values and then for
|
||||
short values:
|
||||
|
||||
http://www.hixie.ch/tests/adhoc/css/selectors/not/010.xml
|
||||
This is an [example][methodical-test] of a methodical test of the
|
||||
`:not()` pseudo-class with each attribute selector in turn, first
|
||||
for long values and then for short values.
|
||||
|
||||
### Overlapping
|
||||
|
||||
|
@ -399,7 +397,7 @@ As mentioned many times in this document, red indicates a bug, so
|
|||
nothing should ever be red in a test.
|
||||
|
||||
There is one important exception to this rule... the test for the
|
||||
'red' value for the color properties!
|
||||
`red` value for the color properties!
|
||||
|
||||
### Unobvious tests
|
||||
|
||||
|
@ -436,3 +434,4 @@ The last [subtest on this page][unobvious-test] shows this problem.
|
|||
[download-ahem]: http://www.w3.org/Style/CSS/Test/Fonts/Ahem/AHEM____.TTF
|
||||
[long-test]: http://www.hixie.ch/tests/evil/mixed/lineheight3.html
|
||||
[unobvious-test]: http://www.w3.org/Style/CSS/Test/CSS1/current/sec525.htm
|
||||
[methodical-test]: http://www.hixie.ch/tests/adhoc/css/selectors/not/010.xml
|
||||
|
|
|
@ -106,7 +106,7 @@ function test_after(child, nodeName, innerHTML) {
|
|||
parent.appendChild(document.createTextNode('1'));
|
||||
parent.appendChild(y);
|
||||
child.after(x, '2');
|
||||
var expected = innerHTML + '<x></x>12<y></y>';
|
||||
var expected = innerHTML + '<x></x>21<y></y>';
|
||||
assert_equals(parent.innerHTML, expected);
|
||||
}, nodeName + '.after() with one sibling of child and text as arguments.');
|
||||
|
||||
|
|
|
@ -12,16 +12,14 @@
|
|||
<div id="log">This test requires JavaScript.</div>
|
||||
|
||||
<script>
|
||||
var docType = "html"; // Only run tests suitable for HTML
|
||||
|
||||
var frame = document.createElement("iframe"),
|
||||
doc;
|
||||
|
||||
frame.onload = init;
|
||||
async_test(function() {
|
||||
var frame = document.createElement("iframe");
|
||||
frame.onload = this.step_func_done(init);
|
||||
frame.src = "/dom/nodes/ParentNode-querySelector-All-content.html#target";
|
||||
document.body.appendChild(frame);
|
||||
});
|
||||
|
||||
function init() {
|
||||
function init(e) {
|
||||
/*
|
||||
* This test suite tests Selectors API methods in 4 different contexts:
|
||||
* 1. Document node
|
||||
|
@ -40,13 +38,15 @@ function init() {
|
|||
* The level2-lib.js file contains all the common test functions for running each of the aforementioned tests
|
||||
*/
|
||||
|
||||
var docType = "html"; // Only run tests suitable for HTML
|
||||
|
||||
// Prepare the nodes for testing
|
||||
doc = frame.contentDocument; // Document Node tests
|
||||
var doc = e.target.contentDocument; // Document Node tests
|
||||
|
||||
var element = doc.getElementById("root"); // In-document Element Node tests
|
||||
|
||||
//Setup the namespace tests
|
||||
setupSpecialElements(element);
|
||||
setupSpecialElements(doc, element);
|
||||
|
||||
var outOfScope = element.cloneNode(true); // Append this to the body before running the in-document
|
||||
// Element tests, but after running the Document tests. This
|
||||
|
|
|
@ -10,17 +10,14 @@
|
|||
<div id="log">This test requires JavaScript.</div>
|
||||
|
||||
<script>
|
||||
var testType = TEST_QSA;
|
||||
var docType = "html"; // Only run tests suitable for HTML
|
||||
|
||||
var frame = document.createElement("iframe"),
|
||||
doc;
|
||||
|
||||
frame.onload = init;
|
||||
async_test(function() {
|
||||
var frame = document.createElement("iframe");
|
||||
frame.onload = this.step_func_done(init);
|
||||
frame.src = "ParentNode-querySelector-All-content.html#target";
|
||||
document.body.appendChild(frame);
|
||||
});
|
||||
|
||||
function init() {
|
||||
function init(e) {
|
||||
/*
|
||||
* This test suite tests Selectors API methods in 4 different contexts:
|
||||
* 1. Document node
|
||||
|
@ -55,13 +52,16 @@ function init() {
|
|||
* The ParentNode-querySelector-All.js file contains all the common test functions for running each of the aforementioned tests
|
||||
*/
|
||||
|
||||
var testType = TEST_QSA;
|
||||
var docType = "html"; // Only run tests suitable for HTML
|
||||
|
||||
// Prepare the nodes for testing
|
||||
doc = frame.contentDocument; // Document Node tests
|
||||
var doc = e.target.contentDocument; // Document Node tests
|
||||
|
||||
var element = doc.getElementById("root"); // In-document Element Node tests
|
||||
|
||||
//Setup the namespace tests
|
||||
setupSpecialElements(element);
|
||||
setupSpecialElements(doc, element);
|
||||
|
||||
var outOfScope = element.cloneNode(true); // Append this to the body before running the in-document
|
||||
// Element tests, but after running the Document tests. This
|
||||
|
@ -89,10 +89,10 @@ function init() {
|
|||
runSpecialSelectorTests("Fragment", fragment);
|
||||
runSpecialSelectorTests("In-document Element", element);
|
||||
|
||||
verifyStaticList("Document", doc);
|
||||
verifyStaticList("Detached Element", detached);
|
||||
verifyStaticList("Fragment", fragment);
|
||||
verifyStaticList("In-document Element", element);
|
||||
verifyStaticList("Document", doc, doc);
|
||||
verifyStaticList("Detached Element", doc, detached);
|
||||
verifyStaticList("Fragment", doc, fragment);
|
||||
verifyStaticList("In-document Element", doc, element);
|
||||
|
||||
runInvalidSelectorTest("Document", doc, invalidSelectors);
|
||||
runInvalidSelectorTest("Detached Element", detached, invalidSelectors);
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
/*
|
||||
* Create and append special elements that cannot be created correctly with HTML markup alone.
|
||||
*/
|
||||
function setupSpecialElements(parent) {
|
||||
function setupSpecialElements(doc, parent) {
|
||||
// Setup null and undefined tests
|
||||
parent.appendChild(doc.createElement("null"));
|
||||
parent.appendChild(doc.createElement("undefined"));
|
||||
|
@ -75,7 +75,7 @@ function interfaceCheck(type, obj) {
|
|||
* Verify that the NodeList returned by querySelectorAll is static and and that a new list is created after
|
||||
* each call. A static list should not be affected by subsequent changes to the DOM.
|
||||
*/
|
||||
function verifyStaticList(type, root) {
|
||||
function verifyStaticList(type, doc, root) {
|
||||
var pre, post, preLength;
|
||||
|
||||
test(function() {
|
||||
|
|
|
@ -12,17 +12,14 @@
|
|||
<div id="log">This test requires JavaScript.</div>
|
||||
|
||||
<script><![CDATA[
|
||||
var testType = TEST_QSA;
|
||||
var docType = "xhtml"; // Only run tests suitable for XHTML
|
||||
|
||||
var frame = document.createElement("iframe"),
|
||||
doc;
|
||||
|
||||
frame.onload = init;
|
||||
async_test(function() {
|
||||
var frame = document.createElement("iframe");
|
||||
frame.onload = this.step_func_done(init);
|
||||
frame.src = "ParentNode-querySelector-All-content.xht#target";
|
||||
document.body.appendChild(frame);
|
||||
})
|
||||
|
||||
function init() {
|
||||
function init(e) {
|
||||
/*
|
||||
* This test suite tests Selectors API methods in 4 different contexts:
|
||||
* 1. Document node
|
||||
|
@ -57,13 +54,16 @@ function init() {
|
|||
* The ParentNode-querySelector-All.js file contains all the common test functions for running each of the aforementioned tests
|
||||
*/
|
||||
|
||||
var testType = TEST_QSA;
|
||||
var docType = "xhtml"; // Only run tests suitable for XHTML
|
||||
|
||||
// Prepare the nodes for testing
|
||||
doc = frame.contentDocument; // Document Node tests
|
||||
var doc = e.target.contentDocument; // Document Node tests
|
||||
|
||||
var element = doc.getElementById("root"); // In-document Element Node tests
|
||||
|
||||
//Setup the namespace tests
|
||||
setupSpecialElements(element);
|
||||
setupSpecialElements(doc, element);
|
||||
|
||||
var outOfScope = element.cloneNode(true); // Append this to the body before running the in-document
|
||||
// Element tests, but after running the Document tests. This
|
||||
|
@ -91,10 +91,10 @@ function init() {
|
|||
runSpecialSelectorTests("Fragment", fragment);
|
||||
runSpecialSelectorTests("In-document Element", element);
|
||||
|
||||
verifyStaticList("Document", doc);
|
||||
verifyStaticList("Detached Element", detached);
|
||||
verifyStaticList("Fragment", fragment);
|
||||
verifyStaticList("In-document Element", element);
|
||||
verifyStaticList("Document", doc, doc);
|
||||
verifyStaticList("Detached Element", doc, detached);
|
||||
verifyStaticList("Fragment", doc, fragment);
|
||||
verifyStaticList("In-document Element", doc, element);
|
||||
|
||||
runInvalidSelectorTest("Document", doc, invalidSelectors);
|
||||
runInvalidSelectorTest("Detached Element", detached, invalidSelectors);
|
||||
|
|
|
@ -0,0 +1,54 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Rendering requirements test (suggested default rendering): fieldset min-width is overridable</title>
|
||||
<link rel="author" title="Chris Rebert" href="http://chrisrebert.com">
|
||||
<link rel="help" href="https://html.spec.whatwg.org/multipage/rendering.html#the-fieldset-and-legend-elements">
|
||||
<link rel="help" href="http://drafts.csswg.org/css2/visudet.html#min-max-widths">
|
||||
<link rel="help" href="http://drafts.csswg.org/css-sizing/#width-height-keywords">
|
||||
<link rel="match" href="ref.html">
|
||||
<meta name="flags" content="">
|
||||
<meta name="assert" content="fieldset's default min-width should be overridable since it's not !important and not spec'd to be non-overridable">
|
||||
<style>
|
||||
body {
|
||||
margin: 10px;
|
||||
}
|
||||
#cover {
|
||||
background-color: green;
|
||||
position: absolute;
|
||||
left: 10px;
|
||||
top: 10px;
|
||||
height: 100px;
|
||||
width: 100px;
|
||||
z-index: 2;
|
||||
}
|
||||
fieldset {
|
||||
min-width: 0;/* property under test */
|
||||
/* zero these out so it renders more like a div element */
|
||||
border: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.outer {
|
||||
width: 100px;
|
||||
}
|
||||
.inner {
|
||||
background-color: red;
|
||||
color: red;
|
||||
height: 100px;
|
||||
overflow: scroll;
|
||||
white-space: nowrap;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="outer">
|
||||
<fieldset>
|
||||
<div class="inner">a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
<p>Test passes if there is a <strong>filled green square</strong> and <strong>no red</strong>.</p>
|
||||
<div id="cover"></div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,21 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Rendering requirements Reftest Reference</title>
|
||||
<style>
|
||||
body {
|
||||
margin: 10px;
|
||||
}
|
||||
div {
|
||||
background-color: green;
|
||||
height: 100px;
|
||||
width: 100px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div></div>
|
||||
<p>Test passes if there is a <strong>filled green square</strong> and <strong>no red</strong>.</p>
|
||||
</body>
|
||||
</html>
|
|
@ -1,6 +1,6 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>The constraint validation API Test: element.validity.patternMismatch</title>
|
||||
<title>The constraint validation API Test: element.validity.stepMismatch</title>
|
||||
<link rel="author" title="Intel" href="http://www.intel.com/">
|
||||
<link rel="help" href="https://html.spec.whatwg.org/multipage/#dom-validitystate-stepmismatch">
|
||||
<link rel="help" href="https://html.spec.whatwg.org/multipage/#the-constraint-validation-api">
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>File input descendants of disabled fieldsets</title>
|
||||
<link rel="author" title="Chris Rebert" href="http://chrisrebert.com" />
|
||||
<link rel="help" href="https://html.spec.whatwg.org/multipage/#attr-fieldset-disabled" />
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="log"></div>
|
||||
<form>
|
||||
<fieldset id="fs" disabled="disabled">
|
||||
<input id="myfile" type="file" />
|
||||
</fieldset>
|
||||
</form>
|
||||
<script>
|
||||
test(function () {
|
||||
assert_true(document.getElementById('fs').disabled, "disabled fieldset should be disabled");
|
||||
assert_false(document.getElementById('myfile').willValidate, "form control descendant of disabled fieldset that is not also a descendant of a legend should be disabled");
|
||||
}, "A file input without a disabled attribute that is a descendant of a disabled fieldset should be disabled (modulo legend-related complications that don't apply here)");
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -121,4 +121,8 @@
|
|||
"The 'form' property for a label without a form owner should return null.");
|
||||
}, "Check that the labels property of a form control with no label returns a zero-length NodeList.");
|
||||
|
||||
// htmlFor attribute
|
||||
test(function () {
|
||||
assert_equals(document.getElementById("lbl2").htmlFor, "testx");
|
||||
}, "A label's htmlFor attribute must reflect the for content attribute");
|
||||
</script>
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>HTMLLegendElement Test: form</title>
|
||||
<link rel="author" title="Intel" href="http://www.intel.com/">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
|
||||
<div id="log"></div>
|
||||
|
||||
<div style="display:none">
|
||||
<form id="testform">
|
||||
<legend id="testlegend">radio</legend>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
test(function () {
|
||||
var legendEle = document.getElementById("testlegend");
|
||||
assert_equals(legendEle.form, null);
|
||||
}, "Check if legend.form return null when legend has no fieldset element as its parent");
|
||||
|
||||
</script>
|
|
@ -1,10 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
|
@ -14,30 +16,10 @@
|
|||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: keep-scheme-redirect
|
||||
subresource: audio-tag
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
|
@ -14,30 +16,10 @@
|
|||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: audio-tag
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
|
@ -14,30 +16,10 @@
|
|||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: keep-scheme-redirect
|
||||
subresource: fetch-request
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
|
@ -14,30 +16,10 @@
|
|||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: fetch-request
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
|
@ -14,30 +16,10 @@
|
|||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: keep-scheme-redirect
|
||||
subresource: form-tag
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
|
@ -14,30 +16,10 @@
|
|||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: form-tag
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
|
@ -14,30 +16,10 @@
|
|||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: keep-scheme-redirect
|
||||
subresource: iframe-tag
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
|
@ -14,30 +16,10 @@
|
|||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: iframe-tag
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
|
@ -14,30 +16,10 @@
|
|||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: keep-scheme-redirect
|
||||
subresource: img-tag
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
|
@ -14,30 +16,10 @@
|
|||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: img-tag
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
|
@ -14,30 +16,10 @@
|
|||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: keep-scheme-redirect
|
||||
subresource: link-css-tag
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
|
@ -14,30 +16,10 @@
|
|||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: link-css-tag
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
|
@ -14,30 +16,10 @@
|
|||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: keep-scheme-redirect
|
||||
subresource: link-prefetch-tag
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
|
@ -14,30 +16,10 @@
|
|||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: link-prefetch-tag
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
|
@ -14,30 +16,10 @@
|
|||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: keep-scheme-redirect
|
||||
subresource: object-tag
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
|
@ -14,30 +16,10 @@
|
|||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: object-tag
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
|
@ -14,30 +16,10 @@
|
|||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: keep-scheme-redirect
|
||||
subresource: picture-tag
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
|
@ -14,30 +16,10 @@
|
|||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: picture-tag
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
|
@ -14,30 +16,10 @@
|
|||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: keep-scheme-redirect
|
||||
subresource: script-tag
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
|
@ -14,30 +16,10 @@
|
|||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: script-tag
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
|
@ -14,30 +16,10 @@
|
|||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: keep-scheme-redirect
|
||||
subresource: video-tag
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
|
@ -14,30 +16,10 @@
|
|||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: video-tag
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
|
@ -14,30 +16,10 @@
|
|||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: keep-scheme-redirect
|
||||
subresource: worker-request
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
|
@ -14,30 +16,10 @@
|
|||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: worker-request
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
|
@ -14,30 +16,10 @@
|
|||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: keep-scheme-redirect
|
||||
subresource: xhr-request
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
|
@ -14,30 +16,10 @@
|
|||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: http-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: xhr-request
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: http-csp
|
||||
origin: same-host-wss
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: keep-scheme-redirect
|
||||
subresource: websocket-request
|
||||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
"opt_in_method": "http-csp",
|
||||
"origin": "same-host-wss",
|
||||
"source_scheme": "https",
|
||||
"context_nesting": "top-level",
|
||||
"redirection": "keep-scheme-redirect",
|
||||
"subresource": "websocket-request",
|
||||
"expectation": "allowed"
|
||||
},
|
||||
document.querySelector("meta[name=assert]").content,
|
||||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1 @@
|
|||
Content-Security-Policy: block-all-mixed-content
|
|
@ -0,0 +1,40 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: http-csp
|
||||
origin: same-host-wss
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: websocket-request
|
||||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
"opt_in_method": "http-csp",
|
||||
"origin": "same-host-wss",
|
||||
"source_scheme": "https",
|
||||
"context_nesting": "top-level",
|
||||
"redirection": "no-redirect",
|
||||
"subresource": "websocket-request",
|
||||
"expectation": "allowed"
|
||||
},
|
||||
document.querySelector("meta[name=assert]").content,
|
||||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1 @@
|
|||
Content-Security-Policy: block-all-mixed-content
|
|
@ -1,43 +1,25 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: meta-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: audio-tag
|
||||
expectation: allowed"><meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">
|
||||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: meta-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: audio-tag
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,43 +1,25 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: meta-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: fetch-request
|
||||
expectation: allowed"><meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">
|
||||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: meta-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: fetch-request
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,43 +1,25 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: meta-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: form-tag
|
||||
expectation: allowed"><meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">
|
||||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: meta-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: form-tag
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,43 +1,25 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: meta-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: iframe-tag
|
||||
expectation: allowed"><meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">
|
||||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: meta-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: iframe-tag
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,43 +1,25 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: meta-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: img-tag
|
||||
expectation: allowed"><meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">
|
||||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: meta-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: img-tag
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,43 +1,25 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: meta-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: link-css-tag
|
||||
expectation: allowed"><meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">
|
||||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: meta-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: link-css-tag
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,43 +1,25 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: meta-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: link-prefetch-tag
|
||||
expectation: allowed"><meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">
|
||||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: meta-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: link-prefetch-tag
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,43 +1,25 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: meta-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: object-tag
|
||||
expectation: allowed"><meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">
|
||||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: meta-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: object-tag
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,43 +1,25 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: meta-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: picture-tag
|
||||
expectation: allowed"><meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">
|
||||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: meta-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: picture-tag
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,43 +1,25 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: meta-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: script-tag
|
||||
expectation: allowed"><meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">
|
||||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: meta-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: script-tag
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,43 +1,25 @@
|
|||
<!DOCTYPE html>
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.debug.html.template. -->
|
||||
<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using mixed-content/generic/template/test.release.html.template. -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Mixed-Content: Allowed content</title>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="description" content="Test behavior of allowed content.">
|
||||
<link rel="author" title="Kristijan Burnik" href="burnik@chromium.org">
|
||||
<link rel="help" href="http://www.w3.org/TR/mixed-content/">
|
||||
<meta name="assert" content="opt_in_method: meta-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: video-tag
|
||||
expectation: allowed"><meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">
|
||||
expectation: allowed">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<!-- Common global functions for mixed-content tests. -->
|
||||
<script src="/mixed-content/generic/common.js"></script>
|
||||
<!-- The original specification JSON for validating the scenario. -->
|
||||
<script src="/mixed-content/spec_json.js"></script>
|
||||
<!-- Internal checking of the tests -->
|
||||
<script src="/mixed-content/generic/sanity-checker.js"></script>
|
||||
<!-- Simple wrapper API for all mixed-content test cases. -->
|
||||
<script src="/mixed-content/generic/mixed-content-test-case.js?pipe=sub"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Allowed content</h1>
|
||||
<h2>Test behavior of allowed content.</h2>
|
||||
<pre>opt_in_method: meta-csp
|
||||
origin: same-host-https
|
||||
source_scheme: https
|
||||
context_nesting: top-level
|
||||
redirection: no-redirect
|
||||
subresource: video-tag
|
||||
expectation: allowed</pre>
|
||||
|
||||
<p>See <a href="http://www.w3.org/TR/mixed-content/" target="_blank">specification</a>
|
||||
details for this test.</p>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
MixedContentTestCase(
|
||||
{
|
||||
|
@ -53,5 +35,6 @@
|
|||
new SanityChecker()
|
||||
).start();
|
||||
</script>
|
||||
<div id="log"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue