-
annacc@chromium.org authored
https://bugs.webkit.org/show_bug.cgi?id=91775 Reviewed by Eric Carlson. This patch rips out the old-style MediaSource API and allows a MediaSource object to be attached to HTMLMediaElement. http://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html Source/WebCore: Tests: updates to http/tests/media/media-source/* http/tests/media/media-source/video-media-source-add-and-remove-buffers.html http/tests/media/media-source/video-media-source-objects.html * html/HTMLMediaElement.cpp: (WebCore): (WebCore::HTMLMediaElement::HTMLMediaElement): Remove old style API resources. (WebCore::HTMLMediaElement::parseAttribute): Remove old style event attribute. (WebCore::HTMLMediaElement::prepareForLoad): Set source state to "closed". (WebCore::HTMLMediaElement::loadResource): Get MediaSource object from blob registry look up and, if found, set it's MediaPlayer pointer to the current MediaPlayer. (WebCore::HTMLMediaElement::noneSupported): Set source state to "closed". (WebCore::HTMLMediaElement::mediaEngineError): Set source state to "closed". (WebCore::HTMLMediaElement::mediaPlayerSourceOpened): Set source state to "open". (WebCore::HTMLMediaElement::mediaPlayerSourceURL): Change to new blob URL. (WebCore::HTMLMediaElement::seek): Check if source state is "closed". (WebCore::HTMLMediaElement::setSourceState): Helper function so that we don't have to keep checking for m_mediaSource. (WebCore::HTMLMediaElement::userCancelledLoad): Set source state to "closed". (WebCore::HTMLMediaElement::createMediaPlayer): If the current MediaPlayer is re- created, notify the MediaSource and reset its MediaPlayer. * html/HTMLMediaElement.h: Remove old style API code and add a MediaSource object. (HTMLMediaElement): * html/HTMLMediaElement.idl: Remove old style API. LayoutTests: * http/tests/media/media-source/media-source.js: (MediaSourceTest.SegmentHelper): (MediaSourceTest.SegmentHelper.prototype.addSourceBuffer): (MediaSourceTest.SegmentHelper.prototype.appendInitSegment): (MediaSourceTest.SegmentHelper.prototype.appendMediaSegment): (MediaSourceTest.SegmentHelper.prototype.appendUntilEndOfStream): (MediaSourceTest.setSrcToMediaSourceTestURL): (MediaSourceTest.defaultOnErrorChecks): (MediaSourceTest.runOnSourceOpen.eventHandlerFunction): (MediaSourceTest.runOnSourceOpen): (MediaSourceTest.logSourceState): (MediaSourceTest.expectSourceState): * http/tests/media/media-source/video-media-source-abort-expected.txt: * http/tests/media/media-source/video-media-source-abort.html: * http/tests/media/media-source/video-media-source-add-and-remove-buffers-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/video-media-source-add-and-remove-ids-expected.txt. * http/tests/media/media-source/video-media-source-add-and-remove-buffers.html: Added. * http/tests/media/media-source/video-media-source-add-and-remove-ids.html: Removed. * http/tests/media/media-source/video-media-source-errors-expected.txt: * http/tests/media/media-source/video-media-source-errors.html: * http/tests/media/media-source/video-media-source-event-attributes-expected.txt: * http/tests/media/media-source/video-media-source-event-attributes.html: * http/tests/media/media-source/video-media-source-objects-expected.txt: Added. * http/tests/media/media-source/video-media-source-objects.html: Added. * http/tests/media/media-source/video-media-source-play-expected.txt: * http/tests/media/media-source/video-media-source-play.html: * http/tests/media/media-source/video-media-source-seek-expected.txt: * http/tests/media/media-source/video-media-source-seek.html: * http/tests/media/media-source/video-media-source-state-changes-expected.txt: * http/tests/media/media-source/video-media-source-state-changes.html: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125059 268f45cc-cd09-0410-ab3c-d52691b4dbfc
7ed37cec