Revision cf5f3898987ec02aa02c02cb945c2abcc5307737 authored by Avi Drissman on 13 April 2018, 19:50:51 UTC, committed by Chromium WPT Sync on 13 April 2018, 19:50:51 UTC
This reverts commit 0ade0386aa4168b48234bc7f33d30a62140b95ea. Reason for revert: Unexpected Failures: * bindings/sequence-type.html * custom-elements/spec/define-element.html * external/wpt/custom-elements/CustomElementRegistry.html on https://ci.chromium.org/buildbot/chromium.webkit/WebKit%20Mac10.11%20%28dbg%29/ https://ci.chromium.org/buildbot/chromium.webkit/WebKit%20Linux%20Trusty%20%28dbg%29/ Speculatively reverting this to see if it's the cause. Original change's description: > Web Animations: Fix bugs in procedure to process a keyframes argument > > There were three minor bugs left in the implementation: > > - We threw on lists-in-custom-iterators instead of just ignoring them. > - We returned all properties on the keyframe rather than just those > defined on the keyframe itself (e.g. we would include prototype > properties, against spec). > - We didn't access the properties in ascending unicode order. > > Bug: 827573 > Change-Id: I213ae5b24e1f35d7f28d16625025122950a6ba88 > Reviewed-on: https://chromium-review.googlesource.com/989261 > Reviewed-by: Kentaro Hara <haraken@chromium.org> > Reviewed-by: Yuki Shiino <yukishiino@chromium.org> > Reviewed-by: Robert Flack <flackr@chromium.org> > Commit-Queue: Stephen McGruer <smcgruer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#550641} TBR=flackr@chromium.org,yukishiino@chromium.org,jbroman@chromium.org,haraken@chromium.org,smcgruer@chromium.org Change-Id: I5e8dc0c67599492bd6e90fca4a034e29e334ef88 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 827573 Reviewed-on: https://chromium-review.googlesource.com/1012857 Reviewed-by: Avi Drissman <avi@chromium.org> Commit-Queue: Avi Drissman <avi@chromium.org> Cr-Commit-Position: refs/heads/master@{#550721}
1 parent e6cffaa
interfaces.html
<!doctype html>
<meta charset=utf-8>
<title>Media Source Extensions IDL tests</title>
<div id=log></div>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src=/resources/WebIDLParser.js></script>
<script src=/resources/idlharness.js></script>
<script type=text/plain class=untested>
interface EventTarget {
void addEventListener(DOMString type, EventListener? callback, optional boolean capture /* = false */);
void removeEventListener(DOMString type, EventListener? callback, optional boolean capture /* = false */);
boolean dispatchEvent(Event event);
};
interface EventHandler {};
interface URL {};
interface HTMLVideoElement {};
interface AudioTrack {};
interface AudioTrackList {};
interface VideoTrack {};
interface VideoTrackList {};
interface TextTrack {};
interface TextTrackList {};
interface TimeRanges {};
typedef double DOMHighResTimeStamp;
</script>
<script type=text/plain>
[Constructor]
interface MediaSource : EventTarget {
readonly attribute SourceBufferList sourceBuffers;
readonly attribute SourceBufferList activeSourceBuffers;
readonly attribute ReadyState readyState;
attribute unrestricted double duration;
attribute EventHandler onsourceopen;
attribute EventHandler onsourceended;
attribute EventHandler onsourceclose;
SourceBuffer addSourceBuffer(DOMString type);
void removeSourceBuffer(SourceBuffer sourceBuffer);
void endOfStream(optional EndOfStreamError error);
void setLiveSeekableRange(double start, double end);
void clearLiveSeekableRange();
static boolean isTypeSupported(DOMString type);
};
interface SourceBuffer : EventTarget {
attribute AppendMode mode;
readonly attribute boolean updating;
readonly attribute TimeRanges buffered;
attribute double timestampOffset;
readonly attribute AudioTrackList audioTracks;
readonly attribute VideoTrackList videoTracks;
readonly attribute TextTrackList textTracks;
attribute double appendWindowStart;
attribute unrestricted double appendWindowEnd;
attribute EventHandler onupdatestart;
attribute EventHandler onupdate;
attribute EventHandler onupdateend;
attribute EventHandler onerror;
attribute EventHandler onabort;
void appendBuffer(BufferSource data);
void abort();
void remove(double start, unrestricted double end);
};
interface SourceBufferList : EventTarget {
readonly attribute unsigned long length;
attribute EventHandler onaddsourcebuffer;
attribute EventHandler onremovesourcebuffer;
getter SourceBuffer (unsigned long index);
};
[Exposed=Window,DedicatedWorker,SharedWorker]
partial interface URL {
static DOMString createObjectURL(MediaSource mediaSource);
};
partial interface AudioTrack {
readonly attribute SourceBuffer? sourceBuffer;
};
partial interface VideoTrack {
readonly attribute SourceBuffer? sourceBuffer;
};
partial interface TextTrack {
readonly attribute SourceBuffer? sourceBuffer;
};
enum EndOfStreamError {
"network",
"decode"
};
enum AppendMode {
"segments",
"sequence"
};
enum ReadyState {
"closed",
"open",
"ended"
};
</script>
<script>
"use strict";
setup({ explicit_done: true });
var mediaSource;
var sourceBuffer;
var video = document.createElement("video");
var idlCheck = function() {
var idlArray = new IdlArray();
[].forEach.call(document.querySelectorAll("script[type=text\\/plain]"), function(node) {
if (node.className == "untested") {
idlArray.add_untested_idls(node.textContent);
} else {
idlArray.add_idls(node.textContent);
}
});
idlArray.add_objects({
MediaSource: ['mediaSource'],
SourceBuffer: ['sourceBuffer'],
SourceBufferList: ['mediaSource.sourceBuffers']
});
idlArray.test();
done();
}
mediaSource = new MediaSource();
video.src = URL.createObjectURL(mediaSource);
mediaSource.addEventListener("sourceopen", function () {
var defaultType ='video/webm;codecs="vp8,vorbis"';
if (MediaSource.isTypeSupported(defaultType)) {
sourceBuffer = mediaSource.addSourceBuffer(defaultType);
} else {
sourceBuffer = mediaSource.addSourceBuffer('video/mp4');
}
sourceBuffer.addEventListener("updateend", function (e) {
mediaSource.endOfStream();
idlCheck();
});
sourceBuffer.appendBuffer(new ArrayBuffer());
});
</script>
Computing file changes ...