Remove media element state changes triggered by network responses (#32643)

* Do not change media element ready state when network response is complete.

* Do not fire multiple error events for the same media content.

* Inform media backend when media response is complete.

* Continue delaying the load event when a complete media response is received.

* Only mark a media response as complete when the response is the active one.

* Update expectations for imagebitmap tests using video element.

* Update fetch ORB video test expectations.

* Update media CSS selector test expectation for non-implemented feature.

* Update expectations for media element tests that now work.

* Updat expected result for failing reftest.

* Update expected failure for test that loads an audio file in a video element.

* Update media test expectation for unimplemented track feature.

* Do not process media element ready state changes that are unchanged.

* Reset media element ready state to Current when playback finishes.

* Set media element ready state to Enough when appropriate player event is received.

* Update test expectations.
This commit is contained in:
Josh Matthews 2024-07-09 02:48:44 -04:00 committed by GitHub
parent f29dd64a7b
commit 72e6a1f007
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 80 additions and 203 deletions

View file

@ -27,101 +27,26 @@
[ORB should block opaque text/plain: fetch(..., {mode: "no-cors"})]
expected: FAIL
[ORB should block opaque text/plain: <audio src=...>]
expected: TIMEOUT
[ORB should block opaque text/plain: <video src=...>]
expected: NOTRUN
[ORB should block opaque text/plain: <script src=...>]
expected: NOTRUN
expected: FAIL
[ORB should block opaque application/json (non-empty): fetch(..., {mode: "no-cors"})]
expected: NOTRUN
[ORB should block opaque application/json (non-empty): <img src=...>]
expected: NOTRUN
[ORB should block opaque application/json (non-empty): <audio src=...>]
expected: NOTRUN
[ORB should block opaque application/json (non-empty): <video src=...>]
expected: NOTRUN
expected: FAIL
[ORB should block opaque application/json (non-empty): <script src=...>]
expected: NOTRUN
expected: FAIL
[ORB should block opaque application/json (empty): fetch(..., {mode: "no-cors"})]
expected: NOTRUN
[ORB should block opaque application/json (empty): <img src=...>]
expected: NOTRUN
[ORB should block opaque application/json (empty): <audio src=...>]
expected: NOTRUN
[ORB should block opaque application/json (empty): <video src=...>]
expected: NOTRUN
expected: FAIL
[ORB should block opaque application/json (empty): <script src=...>]
expected: NOTRUN
expected: FAIL
[ORB should block opaque application/json which contains non ascii characters: fetch(..., {mode: "no-cors"})]
expected: NOTRUN
[ORB should block opaque application/json which contains non ascii characters: <img src=...>]
expected: NOTRUN
[ORB should block opaque application/json which contains non ascii characters: <audio src=...>]
expected: NOTRUN
[ORB should block opaque application/json which contains non ascii characters: <video src=...>]
expected: NOTRUN
expected: FAIL
[ORB should block opaque application/json which contains non ascii characters: <script src=...>]
expected: NOTRUN
[ORB shouldn't block opaque image/png: fetch(..., {mode: "no-cors"})]
expected: NOTRUN
[ORB shouldn't block opaque image/png: <img src=...>]
expected: NOTRUN
[ORB shouldn't block opaque text/javascript: fetch(..., {mode: "no-cors"})]
expected: NOTRUN
[ORB shouldn't block opaque text/javascript: <script src=...>]
expected: NOTRUN
[ORB shouldn't block opaque text/javascript (utf16 encoded with BOM): fetch(..., {mode: "no-cors"})]
expected: NOTRUN
[ORB shouldn't block opaque text/javascript (utf16 encoded with BOM): <script src=...>]
expected: NOTRUN
[ORB shouldn't block opaque text/javascript (utf16 encoded without BOM but charset is provided in content-type): fetch(..., {mode: "no-cors"})]
expected: NOTRUN
[ORB shouldn't block opaque text/javascript (utf16 encoded without BOM but charset is provided in content-type): <script src=...>]
expected: NOTRUN
[ORB shouldn't block opaque text/javascript (iso-8559-1 encoded): fetch(..., {mode: "no-cors"})]
expected: NOTRUN
[ORB shouldn't block opaque text/javascript (iso-8559-1 encoded): <script src=...>]
expected: NOTRUN
[ORB shouldn't block text/javascript with valid asm.js: fetch(..., {mode: "no-cors"})]
expected: NOTRUN
[ORB shouldn't block text/javascript with valid asm.js: <script src=...>]
expected: NOTRUN
[ORB shouldn't block text/javascript with invalid asm.js: fetch(..., {mode: "no-cors"})]
expected: NOTRUN
[ORB shouldn't block text/javascript with invalid asm.js: <script src=...>]
expected: NOTRUN
expected: FAIL
[known-mime-type.sub.any.worker.html]

View file

@ -1,73 +1,25 @@
[nosniff.sub.any.html]
expected: TIMEOUT
[ORB should block opaque text/plain with nosniff]
expected: FAIL
[ORB should block opaque-response-blocklisted MIME type with nosniff]
expected: FAIL
[ORB should block opaque response with empty Content-Type and nosniff]
expected: FAIL
expected: ERROR
[ORB should block opaque text/plain with nosniff: fetch(..., {mode: "no-cors"})]
expected: FAIL
[ORB should block opaque text/plain with nosniff: <audio src=...>]
expected: TIMEOUT
[ORB should block opaque text/plain with nosniff: <video src=...>]
expected: NOTRUN
[ORB should block opaque text/plain with nosniff: <script src=...>]
expected: NOTRUN
expected: FAIL
[ORB should block opaque-response-blocklisted MIME type with nosniff: fetch(..., {mode: "no-cors"})]
expected: NOTRUN
[ORB should block opaque-response-blocklisted MIME type with nosniff: <img src=...>]
expected: NOTRUN
[ORB should block opaque-response-blocklisted MIME type with nosniff: <audio src=...>]
expected: NOTRUN
[ORB should block opaque-response-blocklisted MIME type with nosniff: <video src=...>]
expected: NOTRUN
expected: FAIL
[ORB should block opaque-response-blocklisted MIME type with nosniff: <script src=...>]
expected: NOTRUN
expected: FAIL
[ORB should block opaque response with empty Content-Type and nosniff: fetch(..., {mode: "no-cors"})]
expected: NOTRUN
[ORB should block opaque response with empty Content-Type and nosniff: <img src=...>]
expected: NOTRUN
[ORB should block opaque response with empty Content-Type and nosniff: <audio src=...>]
expected: NOTRUN
[ORB should block opaque response with empty Content-Type and nosniff: <video src=...>]
expected: NOTRUN
expected: FAIL
[ORB should block opaque response with empty Content-Type and nosniff: <script src=...>]
expected: NOTRUN
[ORB shouldn't block opaque image with empty Content-Type and nosniff: fetch(..., {mode: "no-cors"})]
expected: NOTRUN
[ORB shouldn't block opaque image with empty Content-Type and nosniff: <img src=...>]
expected: NOTRUN
expected: FAIL
[nosniff.sub.any.worker.html]
[ORB should block opaque text/plain with nosniff]
expected: FAIL
[ORB should block opaque-response-blocklisted MIME type with nosniff]
expected: FAIL
[ORB should block opaque response with empty Content-Type and nosniff]
expected: FAIL
[ORB should block opaque text/plain with nosniff: fetch(..., {mode: "no-cors"})]
expected: FAIL

View file

@ -1,5 +1,5 @@
[status.sub.any.html]
expected: TIMEOUT
expected: ERROR
[ORB should block opaque-response-blocklisted MIME type with status 206]
expected: FAIL
@ -9,29 +9,11 @@
[ORB should block opaque-response-blocklisted MIME type with status 206: fetch(..., {mode: "no-cors"})]
expected: FAIL
[ORB should block opaque-response-blocklisted MIME type with status 206: <audio src=...>]
expected: TIMEOUT
[ORB should block opaque-response-blocklisted MIME type with status 206: <video src=...>]
expected: NOTRUN
[ORB should block opaque-response-blocklisted MIME type with status 206: <script src=...>]
expected: NOTRUN
expected: FAIL
[ORB should block opaque response with non-ok status: fetch(..., {mode: "no-cors"})]
expected: NOTRUN
[ORB should block opaque response with non-ok status: <img src=...>]
expected: NOTRUN
[ORB should block opaque response with non-ok status: <audio src=...>]
expected: NOTRUN
[ORB should block opaque response with non-ok status: <video src=...>]
expected: NOTRUN
[ORB should block opaque response with non-ok status: <script src=...>]
expected: NOTRUN
expected: FAIL
[status.sub.any.worker.html]