Auto merge of #22477 - ferjm:media_time_marches_on_step_6, r=jdm

Implement step 6 of media `time marches on` algorithm. Improves stability of media WPTs

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] There are tests for these changes

This should help with the WPTs problems observed in https://github.com/servo/servo/pull/22348#issuecomment-446369831

Unfortunately, GStreamer does not seem to be very reliable with Ogg (check https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/520) and most of the media-element WPTs uses a short ogv file, so I had to make our `canPlayType` report that it is not able to play this type to make the tests pick the alternative mp4 version of the same files. Once Ogg support for GStreamer improves, we should be able to revert this change.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22477)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2019-01-10 06:52:57 -05:00 committed by GitHub
commit 4ac5b8a3ae
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
189 changed files with 914 additions and 351 deletions

View file

@ -130,7 +130,7 @@ use style::values::specified::Length;
use tendril::fmt::UTF8;
use tendril::stream::LossyDecoder;
use tendril::{StrTendril, TendrilSink};
use time::Duration;
use time::{Duration, Timespec};
use uuid::Uuid;
use webrender_api::{DocumentId, ImageKey, RenderApiSender};
use webvr_traits::WebVRGamepadHand;
@ -488,6 +488,7 @@ unsafe_no_jsmanaged_fields!(dyn Player<Error = ServoMediaError>);
unsafe_no_jsmanaged_fields!(Mutex<MediaFrameRenderer>);
unsafe_no_jsmanaged_fields!(RenderApiSender);
unsafe_no_jsmanaged_fields!(ResourceFetchTiming);
unsafe_no_jsmanaged_fields!(Timespec);
unsafe impl<'a> JSTraceable for &'a str {
#[inline]

View file

@ -204,6 +204,9 @@ pub struct HTMLMediaElement {
text_tracks_list: MutNullableDom<TextTrackList>,
/// Expected content length of the media asset being fetched or played.
content_length: Cell<Option<u64>>,
/// Time of last timeupdate notification.
#[ignore_malloc_size_of = "Defined in time"]
next_timeupdate_event: Cell<Timespec>,
}
/// <https://html.spec.whatwg.org/multipage/#dom-media-networkstate>
@ -261,6 +264,7 @@ impl HTMLMediaElement {
played: Rc::new(DomRefCell::new(TimeRangesContainer::new())),
text_tracks_list: Default::default(),
content_length: Cell::new(None),
next_timeupdate_event: Cell::new(time::get_time() + Duration::milliseconds(250)),
}
}
@ -303,7 +307,16 @@ impl HTMLMediaElement {
/// https://html.spec.whatwg.org/multipage/#time-marches-on
fn time_marches_on(&self) {
// TODO: implement this.
// Step 6.
if time::get_time() > self.next_timeupdate_event.get() {
let window = window_from_node(self);
window
.task_manager()
.media_element_task_source()
.queue_simple_event(self.upcast(), atom!("timeupdate"), &window);
self.next_timeupdate_event
.set(time::get_time() + Duration::milliseconds(350));
}
}
/// <https://html.spec.whatwg.org/multipage/#internal-pause-steps>
@ -1173,6 +1186,7 @@ impl HTMLMediaElement {
.borrow_mut()
.add(self.playback_position.get(), position);
self.playback_position.set(position);
self.time_marches_on();
},
PlayerEvent::StateChanged(ref state) => match *state {
PlaybackState::Paused => {
@ -1270,8 +1284,14 @@ impl HTMLMediaElementMethods for HTMLMediaElement {
// https://html.spec.whatwg.org/multipage/#dom-navigator-canplaytype
fn CanPlayType(&self, type_: DOMString) -> CanPlayTypeResult {
match type_.parse::<Mime>() {
// XXX GStreamer is currently not very reliable playing OGG and most of
// the media related WPTs uses OGG if we report that we are able to
// play this type. So we report that we are unable to play it to force
// the usage of other types.
// https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/520
Ok(ref mime)
if (mime.type_() == mime::APPLICATION && mime.subtype() == mime::OCTET_STREAM) =>
if (mime.type_() == mime::APPLICATION && mime.subtype() == mime::OCTET_STREAM) ||
(mime.subtype() == mime::OGG) =>
{
CanPlayTypeResult::_empty
},

View file

@ -1,6 +1,5 @@
[audio_loop_base.html]
type: testharness
disabled: extreme timeout
expected: TIMEOUT
[Check if audio.loop is set to true that expecting the seeking event is fired more than once]
expected: FAIL
expected: NOTRUN

View file

@ -1,8 +0,0 @@
[audio_volume_check.html]
type: testharness
[Check if media.volume is set to new value less than 0.0 that expecting an IndexSizeError exception is to be thrown]
expected: PASS
[Check if audio.volume is set to new value greater than 1.0 that expecting an IndexSizeError exception is to be thrown]
expected: PASS

View file

@ -1,13 +0,0 @@
[autoplay-with-broken-track.html]
expected: TIMEOUT
[<video autoplay> with <track> child]
expected: TIMEOUT
[<video autoplay> with <track src=\"invalid://url\" default=\"\"> child]
expected: TIMEOUT
[<video autoplay> with <track src=\"404\" default=\"\"> child]
expected: TIMEOUT
[<video autoplay> with <track src=\"\" default=\"\"> child]
expected: TIMEOUT

View file

@ -1,10 +0,0 @@
[event_timeupdate.html]
type: testharness
disabled: Until https://github.com/servo/servo/pull/22477 is merged
expected: TIMEOUT
[setting src attribute on a sufficiently long autoplay audio should trigger timeupdate event]
expected: NOTRUN
[setting src attribute on a sufficiently long autoplay video should trigger timeupdate event]
expected: NOTRUN

View file

@ -1,10 +0,0 @@
[event_timeupdate_noautoplay.html]
type: testharness
disabled: Until https://github.com/servo/servo/pull/22477 is merged
expected: TIMEOUT
[calling play() on a sufficiently long audio should trigger timeupdate event]
expected: NOTRUN
[calling play() on a sufficiently long video should trigger timeupdate event]
expected: FAIL

View file

@ -1,27 +1,20 @@
[event_volumechange.html]
type: testharness
expected: TIMEOUT
[setting audio.volume fires volumechange]
expected: PASS
[setting audio.muted fires volumechange]
expected: FAIL
[setting audio.volume/muted to the same value does not fire volumechange]
expected: TIMEOUT
[setting audio.volume/muted repeatedly fires volumechange repeatedly]
expected: TIMEOUT
[setting video.volume fires volumechange]
expected: PASS
[setting video.muted fires volumechange]
expected: FAIL
[setting video.volume/muted to the same value does not fire volumechange]
expected: TIMEOUT
[setting video.volume/muted repeatedly fires volumechange repeatedly]
expected: TIMEOUT
[setting audio.volume/muted to the same value does not fire volumechange]
expected: TIMEOUT
[setting video.muted fires volumechange]
expected: FAIL
[setting audio.volume/muted repeatedly fires volumechange repeatedly]
expected: TIMEOUT
[setting video.volume/muted to the same value does not fire volumechange]
expected: TIMEOUT

View file

@ -1,31 +1,31 @@
[crossOrigin.html]
[HTMLMediaElement.crossOrigin]
expected: FAIL
[HTMLMediaElement.crossOrigin, content attribute missing]
expected: FAIL
[HTMLMediaElement.crossOrigin, content attribute invalid value]
expected: FAIL
[HTMLMediaElement.crossOrigin, content attribute empty string]
expected: FAIL
[HTMLMediaElement.crossOrigin, content attribute uppercase ANONYMOUS]
[HTMLMediaElement.crossOrigin, setting to invalid value]
expected: FAIL
[HTMLMediaElement.crossOrigin, content attribute use-credentials]
expected: FAIL
[HTMLMediaElement.crossOrigin, setting to empty string]
expected: FAIL
[HTMLMediaElement.crossOrigin, setting to invalid value]
[HTMLMediaElement.crossOrigin, content attribute invalid value]
expected: FAIL
[HTMLMediaElement.crossOrigin, setting to uppercase ANONYMOUS]
expected: FAIL
[HTMLMediaElement.crossOrigin, content attribute uppercase ANONYMOUS]
expected: FAIL
[HTMLMediaElement.crossOrigin, setting to empty string]
expected: FAIL
[HTMLMediaElement.crossOrigin, content attribute empty string]
expected: FAIL
[HTMLMediaElement.crossOrigin, content attribute missing]
expected: FAIL
[HTMLMediaElement.crossOrigin, setting to use-credentials]
expected: FAIL
[HTMLMediaElement.crossOrigin]
expected: FAIL

View file

@ -1,11 +1,10 @@
[addCue.html]
type: testharness
expected: TIMEOUT
[TextTrack.addCue(), adding a cue to two different tracks]
expected: FAIL
[TextTrack.addCue(), adding a cue to a track twice]
expected: FAIL
[TextTrack.addCue(), adding a cue associated with a track element to other track]
expected: TIMEOUT
[TextTrack.addCue(), adding a removed cue to a different track]
expected: FAIL
@ -13,6 +12,6 @@
[TextTrack.addCue(), adding an associated but removed cue to the same track]
expected: FAIL
[TextTrack.addCue(), adding a cue associated with a track element to other track]
expected: TIMEOUT
[TextTrack.addCue(), adding a cue to a track twice]
expected: FAIL

View file

@ -1,14 +1,13 @@
[cues.html]
type: testharness
[TextTrack.cues, after addCue()]
expected: FAIL
[TextTrack.cues, different modes]
expected: FAIL
[TextTrack.cues, changing order]
expected: FAIL
[TextTrack.cues, default attribute]
expected: FAIL
[TextTrack.cues, changing order]
expected: FAIL

View file

@ -1,8 +1,7 @@
[kind.html]
type: testharness
[TextTrack.kind, track element]
expected: FAIL
[TextTrack.kind, \\u0000]
expected: FAIL
[TextTrack.kind, track element]
expected: FAIL

View file

@ -1,8 +1,7 @@
[label.html]
type: testharness
[TextTrack.label]
expected: FAIL
[TextTrack.label, \\u0000]
expected: FAIL
[TextTrack.label]
expected: FAIL

View file

@ -1,8 +1,7 @@
[language.html]
type: testharness
[TextTrack.language]
expected: FAIL
[TextTrack.language, \\u0000]
expected: FAIL
[TextTrack.language]
expected: FAIL

View file

@ -1,5 +1,4 @@
[oncuechange.html]
type: testharness
[TextTrack.oncuechange]
expected: FAIL

View file

@ -1,9 +1,8 @@
[removeCue.html]
type: testharness
expected: TIMEOUT
[TextTrack.removeCue(), two elementless tracks]
expected: FAIL
[TextTrack.removeCue(), cue from track element]
expected: TIMEOUT
[TextTrack.removeCue(), two elementless tracks]
expected: FAIL

View file

@ -1,5 +1,4 @@
[endTime.html]
type: testharness
expected: TIMEOUT
[TextTrackCue.endTime, script-created cue]
expected: FAIL

View file

@ -1,5 +1,4 @@
[id.html]
type: testharness
expected: TIMEOUT
[TextTrackCue.id, script-created cue]
expected: FAIL

View file

@ -1,9 +1,8 @@
[onenter.html]
type: testharness
expected: ERROR
[TextTrackCue.onenter]
expected: FAIL
[TextTrackCue.addEventListener/removeEventListener]
expected: FAIL
[TextTrackCue.onenter]
expected: FAIL

View file

@ -1,9 +1,8 @@
[onexit.html]
type: testharness
expected: ERROR
[TextTrackCue.onexit]
expected: FAIL
[TextTrackCue.addEventListener/removeEventListener]
expected: FAIL
[TextTrackCue.onexit]
expected: FAIL

View file

@ -1,9 +1,8 @@
[pauseOnExit.html]
type: testharness
expected: TIMEOUT
[TextTrackCue.pauseOnExit, script-created cue]
expected: FAIL
[TextTrackCue.pauseOnExit, parsed cue]
expected: TIMEOUT
[TextTrackCue.pauseOnExit, script-created cue]
expected: FAIL

View file

@ -1,9 +1,8 @@
[startTime.html]
type: testharness
expected: TIMEOUT
[TextTrackCue.startTime, script-created cue]
expected: FAIL
[TextTrackCue.startTime, parsed cue]
expected: TIMEOUT
[TextTrackCue.startTime, script-created cue]
expected: FAIL

View file

@ -1,5 +1,4 @@
[track.html]
type: testharness
expected: TIMEOUT
[TextTrackCue.track, script-created cue]
expected: FAIL

View file

@ -1,14 +1,13 @@
[getCueById.html]
type: testharness
[TextTrackCueList.getCueById, no id]
[TextTrackCueList.getCueById, id a\\u0000b]
expected: FAIL
[TextTrackCueList.getCueById, id foo]
expected: FAIL
[TextTrackCueList.getCueById, no id]
expected: FAIL
[TextTrackCueList.getCueById, no 1]
expected: FAIL
[TextTrackCueList.getCueById, id a\\u0000b]
expected: FAIL

View file

@ -1,11 +1,10 @@
[getter.html]
type: testharness
[TextTrackCueList getter, no indexed set/create (strict)]
expected: FAIL
[TextTrackCueList getter]
expected: FAIL
[TextTrackCueList getter, no indexed set/create]
expected: FAIL
[TextTrackCueList getter, no indexed set/create (strict)]
expected: FAIL

View file

@ -1,5 +1,4 @@
[length.html]
type: testharness
[TextTrackCueList.length]
expected: FAIL

View file

@ -1,5 +1,4 @@
[getter.html]
type: testharness
[TextTrackList getter]
expected: FAIL

View file

@ -1,5 +1,4 @@
[length.html]
type: testharness
[TextTrackList.length]
expected: FAIL

View file

@ -1,5 +1,4 @@
[onaddtrack.html]
type: testharness
[TextTrackList.onaddtrack]
expected: FAIL

View file

@ -1,5 +1,4 @@
[onremovetrack.html]
type: testharness
[TextTrackList.onremovetrack]
expected: FAIL

View file

@ -1,8 +1,7 @@
[constructor.html]
type: testharness
[TrackEvent constructor, one arg]
expected: FAIL
[TrackEvent constructor, two args]
expected: FAIL
[TrackEvent constructor, one arg]
expected: FAIL

View file

@ -1,5 +1,4 @@
[createEvent.html]
type: testharness
[TrackEvent created with createEvent]
expected: FAIL

View file

@ -1,5 +1,4 @@
[load-removes-queued-error-event.html]
type: testharness
[source error event]
expected: FAIL

View file

@ -1,5 +1,4 @@
[resource-selection-candidate-insert-before.html]
type: testharness
[inserting another source before the candidate]
expected: FAIL

View file

@ -1,5 +1,4 @@
[resource-selection-candidate-moved.html]
type: testharness
[moving the candidate source]
expected: FAIL

View file

@ -1,5 +1,4 @@
[resource-selection-candidate-remove-addEventListener.html]
type: testharness
expected: TIMEOUT
[removing the candidate source, addEventListener]
expected: TIMEOUT

View file

@ -1,5 +1,4 @@
[resource-selection-candidate-remove-onerror.html]
type: testharness
expected: TIMEOUT
[removing the candidate source, onerror]
expected: TIMEOUT

View file

@ -1,5 +1,4 @@
[resource-selection-invoke-insert-source-networkState.html]
type: testharness
[NOT invoking resource selection by inserting <source> when networkState is not NETWORK_EMPTY]
expected: FAIL

View file

@ -1,5 +1,4 @@
[resource-selection-pointer-control.html]
type: testharness
[pointer updates (control test)]
expected: FAIL

View file

@ -1,5 +1,4 @@
[resource-selection-pointer-insert-br.html]
type: testharness
[pointer updates (adding br elements)]
expected: FAIL

View file

@ -1,5 +1,4 @@
[resource-selection-pointer-insert-source.html]
type: testharness
[pointer updates (adding source elements)]
expected: FAIL

View file

@ -1,5 +1,4 @@
[resource-selection-pointer-insert-text.html]
type: testharness
[pointer updates (adding text nodes)]
expected: FAIL

View file

@ -1,5 +1,4 @@
[resource-selection-pointer-remove-source-after.html]
type: testharness
[pointer updates (removing source element after pointer)]
expected: FAIL

View file

@ -1,5 +1,4 @@
[resource-selection-pointer-remove-source.html]
type: testharness
[pointer updates (removing source elements)]
expected: FAIL

View file

@ -1,5 +1,4 @@
[resource-selection-pointer-remove-text.html]
type: testharness
[pointer updates (removing text nodes)]
expected: FAIL

View file

@ -1,5 +1,4 @@
[resource-selection-source-media.html]
type: testharness
[the <source> media attribute has no effect]
expected: FAIL

View file

@ -1,20 +1,19 @@
[currentSrc.html]
type: testharness
[audio.currentSrc after adding source element with src attribute "."]
expected: FAIL
[audio.currentSrc after adding source element with src attribute " "]
expected: FAIL
[audio.currentSrc after adding source element with src attribute "data:,"]
expected: FAIL
[video.currentSrc after adding source element with src attribute "."]
expected: FAIL
[video.currentSrc after adding source element with src attribute " "]
expected: FAIL
[video.currentSrc after adding source element with src attribute "data:,"]
expected: FAIL
[audio.currentSrc after adding source element with src attribute "."]
expected: FAIL
[audio.currentSrc after adding source element with src attribute "data:,"]
expected: FAIL
[video.currentSrc after adding source element with src attribute " "]
expected: FAIL

View file

@ -1,42 +1,17 @@
[canPlayType.html]
type: testharness
[audio/webm; codecs="opus" (optional)]
[video/mp4; codecs="mp4v.20.8" (optional)]
expected: FAIL
[audio/webm; codecs="vorbis" (optional)]
[video/webm with bogus codec]
expected: FAIL
[video/3gpp; codecs="samr" (optional)]
expected: FAIL
[video/3gpp; codecs="mp4v.20.8" (optional)]
expected: FAIL
[video/mp4; codecs="mp4v.20.8" (optional)]
expected: FAIL
[video/mp4; codecs="mp4v.20.240" (optional)]
expected: FAIL
[video/webm; codecs="opus" (optional)]
expected: FAIL
[video/webm; codecs="vorbis" (optional)]
expected: FAIL
[video/webm; codecs="vp8" (optional)]
expected: FAIL
[video/webm; codecs="vp8.0" (optional)]
expected: FAIL
[video/webm; codecs="vp9" (optional)]
expected: FAIL
[video/webm; codecs="vp9.0" (optional)]
expected: FAIL
[video/x-new-fictional-format]
[audio/webm (optional)]
expected: FAIL
[audio/mp4; codecs="mp4a.40.2" (optional)]
@ -45,84 +20,99 @@
[audio/mp4 with bogus codec]
expected: FAIL
[audio/ogg; codecs="opus" (optional)]
[audio/webm; codecs="vorbis" (optional)]
expected: FAIL
[audio/ogg; codecs="vorbis" (optional)]
expected: FAIL
[audio/ogg with bogus codec]
expected: FAIL
[audio/wav; codecs="1" (optional)]
expected: FAIL
[audio/wav with bogus codec]
expected: FAIL
[audio/webm with bogus codec]
expected: FAIL
[video/3gpp with bogus codec]
expected: FAIL
[video/mp4; codecs="mp4a.40.2" (optional)]
expected: FAIL
[video/mp4; codecs="avc1.42E01E" (optional)]
expected: FAIL
[video/mp4; codecs="avc1.4D401E" (optional)]
expected: FAIL
[video/mp4; codecs="avc1.58A01E" (optional)]
expected: FAIL
[video/mp4; codecs="avc1.64001E" (optional)]
expected: FAIL
[video/mp4 with bogus codec]
expected: FAIL
[video/ogg; codecs="opus" (optional)]
expected: FAIL
[video/ogg; codecs="vorbis" (optional)]
[video/webm; codecs="vp9" (optional)]
expected: FAIL
[video/ogg; codecs="theora" (optional)]
expected: FAIL
[video/ogg with bogus codec]
[video/mp4; codecs="avc1.64001E" (optional)]
expected: FAIL
[video/webm with bogus codec]
[video/ogg; codecs="opus" (optional)]
expected: FAIL
[fictional formats and codecs not supported]
expected: FAIL
[audio/webm (optional)]
[video/mp4 with bogus codec]
expected: FAIL
[video/mp4 (optional)]
expected: FAIL
[video/ogg; codecs="vorbis" (optional)]
expected: FAIL
[audio/ogg; codecs="opus" (optional)]
expected: FAIL
[video/webm; codecs="vp8.0" (optional)]
expected: FAIL
[video/webm (optional)]
expected: FAIL
[video/mp4; codecs="avc1.4D401E" (optional)]
expected: FAIL
[audio/wav; codecs="1" (optional)]
expected: FAIL
[video/3gpp with bogus codec]
expected: FAIL
[audio/wav (optional)]
expected: FAIL
[video/mp4; codecs="avc1.42E01E" (optional)]
expected: FAIL
[video/mp4; codecs="avc1.58A01E" (optional)]
expected: FAIL
[video/ogg (optional)]
expected: FAIL
[audio/mp4 (optional)]
expected: FAIL
[video/webm; codecs="opus" (optional)]
expected: FAIL
[video/3gpp (optional)]
expected: FAIL
[audio/ogg (optional)]
expected: FAIL
[video/mp4; codecs="mp4a.40.2" (optional)]
expected: FAIL
[audio/ogg; codecs="vorbis" (optional)]
expected: FAIL
[audio/webm; codecs="opus" (optional)]
expected: FAIL
[video/webm; codecs="vorbis" (optional)]
expected: FAIL
[audio/wav with bogus codec]
expected: FAIL
[video/3gpp; codecs="mp4v.20.8" (optional)]
expected: FAIL
[video/webm; codecs="vp9.0" (optional)]
expected: FAIL
[video/webm; codecs="vp8" (optional)]
expected: FAIL
[audio/webm with bogus codec]
expected: FAIL

View file

@ -1,6 +0,0 @@
[pause-remove-from-document.html]
type: testharness
expected: OK
[paused state when removing from a document]
expected: PASS

View file

@ -1,5 +1,4 @@
[play-in-detached-document.html]
type: testharness
expected: TIMEOUT
[play() in detached document]
expected: TIMEOUT

View file

@ -1,5 +1,4 @@
[autoplay-hidden.optional.html]
expected: TIMEOUT
[Allow delaying autoplay until video elements become visible]
expected: TIMEOUT
expected: FAIL

View file

@ -1,5 +1,4 @@
[autoplay-with-slow-text-tracks.html]
type: testharness
[autoplay with slow text tracks]
expected: FAIL

View file

@ -1,5 +1,4 @@
[seek-to-currentTime.html]
type: testharness
[seek to currentTime]
expected: FAIL

View file

@ -1,5 +1,4 @@
[seek-to-max-value.htm]
type: testharness
[seek to Number.MAX_VALUE]
expected: FAIL

View file

@ -1,5 +1,4 @@
[seek-to-negative-time.htm]
type: testharness
[seek to negative time]
expected: FAIL

View file

@ -0,0 +1,11 @@
[cloneNode.html]
expected: TIMEOUT
[track element cloneNode, loading]
expected: FAIL
[track element cloneNode, failed to load]
expected: TIMEOUT
[track element cloneNode, loaded]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[003.html]
expected: TIMEOUT
[track CORS: No CORS, same-origin, no headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[004.html]
expected: TIMEOUT
[track CORS: No CORS, same-origin, with headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[005.html]
expected: TIMEOUT
[track CORS: Anonymous, same-origin, no headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[006.html]
expected: TIMEOUT
[track CORS: Anonymous, same-origin, with headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[007.html]
expected: TIMEOUT
[track CORS: Use Credentials, same-origin, no headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[008.html]
expected: TIMEOUT
[track CORS: Use Credentials, same-origin, with headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[009.html]
expected: TIMEOUT
[track CORS: No CORS, not same-origin, no headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[010.html]
expected: TIMEOUT
[track CORS: Anonymous, not same-origin, no headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[011.html]
expected: TIMEOUT
[track CORS: Anonymous, not same-origin, with headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[012.html]
expected: TIMEOUT
[track CORS: Use Credentials, not same-origin, no headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[013.html]
expected: TIMEOUT
[track CORS: Use Credentials, not same-origin, with headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[014.html]
expected: TIMEOUT
[track CORS: No CORS, same-origin, no headers, redirects to same-origin, no headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[015.html]
expected: TIMEOUT
[track CORS: No CORS, same-origin, with headers, redirects to same-origin, with headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[016.html]
expected: TIMEOUT
[track CORS: Anonymous, same-origin, no headers, redirects to same-origin, no headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[017.html]
expected: TIMEOUT
[track CORS: Anonymous, same-origin, no headers, redirects to same-origin, with headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[018.html]
expected: TIMEOUT
[track CORS: Use Credentials, same-origin, no headers, redirects to same-origin, no headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[019.html]
expected: TIMEOUT
[track CORS: Use Credentials, same-origin, with headers, redirects to same-origin, no headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[020.html]
expected: TIMEOUT
[track CORS: Anonymous, not same-origin, no headers, redirects to same-origin, no headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[021.html]
expected: TIMEOUT
[track CORS: Anonymous, not same-origin, with headers, redirects to same-origin, no headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[022.html]
expected: TIMEOUT
[track CORS: Anonymous, not same-origin, with headers, redirects to same-origin, with headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[023.html]
expected: TIMEOUT
[track CORS: Use Credentials, not same-origin, no headers, redirects to same-origin, no headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[024.html]
expected: TIMEOUT
[track CORS: Use Credentials, not same-origin, with headers, redirects to same-origin, no headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[025.html]
expected: TIMEOUT
[track CORS: Use Credentials, not same-origin, with headers, redirects to same-origin, with headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[026.html]
expected: TIMEOUT
[track CORS: No CORS, same-origin, with headers, redirects to not same-origin, with headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[027.html]
expected: TIMEOUT
[track CORS: Anonymous, same-origin, no headers, redirects to not same-origin, no headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[028.html]
expected: TIMEOUT
[track CORS: Anonymous, same-origin, with headers, redirects to not same-origin, with headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[029.html]
expected: TIMEOUT
[track CORS: Use Credentials, same-origin, no headers, redirects to not same-origin, no headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[030.html]
expected: TIMEOUT
[track CORS: Use Credentials, same-origin, with headers, redirects to not same-origin, with headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[031.html]
expected: TIMEOUT
[track CORS: Anonymous, not same-origin, no headers, redirects to not same-origin, with headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[032.html]
expected: TIMEOUT
[track CORS: Anonymous, not same-origin, with headers, redirects to not same-origin, no headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[033.html]
expected: TIMEOUT
[track CORS: Anonymous, not same-origin, with headers, redirects to not same-origin, with headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[034.html]
expected: TIMEOUT
[track CORS: Use Credentials, not same-origin, no headers, redirects to not same-origin, with headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[035.html]
expected: TIMEOUT
[track CORS: Use Credentials, not same-origin, with headers, redirects to not same-origin, no headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[036.html]
expected: TIMEOUT
[track CORS: Use Credentials, not same-origin, with headers, redirects to not same-origin, with headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[037.html]
expected: TIMEOUT
[track CORS: Anonymous, same-origin, no headers, redirects to not same-origin, no headers, redirects to same-origin, no headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[038.html]
expected: TIMEOUT
[track CORS: Anonymous, same-origin, with headers, redirects to not same-origin, with headers, redirects to same-origin, with headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[039.html]
expected: TIMEOUT
[track CORS: Anonymous, same-origin, no headers, redirects to not same-origin, with headers, redirects to same-origin, no headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[040.html]
expected: TIMEOUT
[track CORS: Use Credentials, same-origin, no headers, redirects to not same-origin, no headers, redirects to same-origin, no headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[041.html]
expected: TIMEOUT
[track CORS: Use Credentials, same-origin, with headers, redirects to not same-origin, with headers, redirects to same-origin, with headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[042.html]
expected: TIMEOUT
[track CORS: Use Credentials, same-origin, no headers, redirects to not same-origin, with headers, redirects to same-origin, no headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[043.html]
expected: TIMEOUT
[track CORS: Anonymous, same-origin, no headers, redirects to same-origin, no headers, redirects to not same-origin, no headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[044.html]
expected: TIMEOUT
[track CORS: Anonymous, same-origin, no headers, redirects to same-origin, no headers, redirects to not same-origin, with headers]
expected: TIMEOUT

View file

@ -0,0 +1,5 @@
[045.html]
expected: TIMEOUT
[track CORS: Use Credentials, same-origin, no headers, redirects to same-origin, no headers, redirects to not same-origin, no headers]
expected: TIMEOUT

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