Changeset 94121 in webkit
- Timestamp:
- Aug 30, 2011 4:15:56 PM (13 years ago)
- Location:
- trunk
- Files:
-
- 31 added
- 35 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ChangeLog
r94056 r94121 1 2011-08-30 Aaron Colwell <acolwell@chromium.org> 2 3 Add MediaSource API to HTMLMediaElement 4 https://bugs.webkit.org/show_bug.cgi?id=64731 5 6 Reviewed by Eric Carlson. 7 8 * configure.ac: 9 1 10 2011-08-30 Ryosuke Niwa <rniwa@webkit.org> 2 11 -
trunk/LayoutTests/ChangeLog
r94120 r94121 1 2011-08-30 Aaron Colwell <acolwell@chromium.org> 2 3 Add MediaSource API to HTMLMediaElement 4 https://bugs.webkit.org/show_bug.cgi?id=64731 5 6 Reviewed by Eric Carlson. 7 8 * http/tests/media/media-source/webm/video-media-source-errors-expected.txt: Added. 9 * http/tests/media/media-source/webm/video-media-source-errors.html: Added. 10 * http/tests/media/media-source/webm/video-media-source-play-expected.txt: Added. 11 * http/tests/media/media-source/webm/video-media-source-play.html: Added. 12 * http/tests/media/media-source/webm/video-media-source-seek-expected.txt: Added. 13 * http/tests/media/media-source/webm/video-media-source-seek.html: Added. 14 * http/tests/media/media-source/webm/video-media-source-state-changes-expected.txt: Added. 15 * http/tests/media/media-source/webm/video-media-source-state-changes.html: Added. 16 * http/tests/media/media-source/webm/webm-media-source.js: Added. 17 (getData): 18 (getHeaders): 19 (getClusterCount): 20 (getCluster): 21 (getClusterTimeForIndex): 22 (getClusterIndexForTimestamp): 23 (setSrcToMediaSourceURL): 24 (appendHeaders): 25 (appendCluster): 26 (appendUntilEndOfStream): 27 (logSourceState): 28 (getSourceStateName): 29 (expectSourceState): 30 * http/tests/media/resources/media-source/webm/test.webm: Added. 31 * http/tests/media/resources/media-source/webm/test.webm.cluster-0: Added. 32 * http/tests/media/resources/media-source/webm/test.webm.cluster-1: Added. 33 * http/tests/media/resources/media-source/webm/test.webm.cluster-10: Added. 34 * http/tests/media/resources/media-source/webm/test.webm.cluster-11: Added. 35 * http/tests/media/resources/media-source/webm/test.webm.cluster-12: Added. 36 * http/tests/media/resources/media-source/webm/test.webm.cluster-13: Added. 37 * http/tests/media/resources/media-source/webm/test.webm.cluster-14: Added. 38 * http/tests/media/resources/media-source/webm/test.webm.cluster-15: Added. 39 * http/tests/media/resources/media-source/webm/test.webm.cluster-2: Added. 40 * http/tests/media/resources/media-source/webm/test.webm.cluster-3: Added. 41 * http/tests/media/resources/media-source/webm/test.webm.cluster-4: Added. 42 * http/tests/media/resources/media-source/webm/test.webm.cluster-5: Added. 43 * http/tests/media/resources/media-source/webm/test.webm.cluster-6: Added. 44 * http/tests/media/resources/media-source/webm/test.webm.cluster-7: Added. 45 * http/tests/media/resources/media-source/webm/test.webm.cluster-8: Added. 46 * http/tests/media/resources/media-source/webm/test.webm.cluster-9: Added. 47 * http/tests/media/resources/media-source/webm/test.webm.headers: Added. 48 * platform/chromium/test_expectations.txt: 49 * platform/gtk/Skipped: 50 * platform/mac/Skipped: 51 * platform/qt/Skipped: 52 * platform/win/Skipped: 53 1 54 2011-08-30 Abhishek Arya <inferno@chromium.org> 2 55 -
trunk/LayoutTests/platform/chromium/test_expectations.txt
r94116 r94121 69 69 // Tests for WebVTT parser for <track>. Feature is not yet functional. 70 70 BUGWK43668 SKIP : media/track/ = TIMEOUT 71 72 // Tests for MediaSource API. Feature is not yet functional. 73 BUGWK64731 SKIP : http/tests/media/media-source/ = TIMEOUT 71 74 72 75 // Chrome does not support WebArchives yet. -
trunk/LayoutTests/platform/gtk/Skipped
r93904 r94121 415 415 # https://bugs.webkit.org/show_bug.cgi?id=43668 416 416 media/track/ 417 418 # Tests for MediaSource API. Feature is not yet functional. 419 # https://bugs.webkit.org/show_bug.cgi?id=64731 420 http/tests/media/media-source/ 417 421 418 422 # Tests that require ENABLE(DOWNLOAD_ATTRIBUTE). -
trunk/LayoutTests/platform/mac/Skipped
r94105 r94121 400 400 media/track/ 401 401 402 # Tests for MediaSource API. Feature is not yet functional. 403 # https://bugs.webkit.org/show_bug.cgi?id=64731 404 http/tests/media/media-source/ 405 402 406 # REGRESSION (r91547): scrollbars/scrollbar-drag-thumb-with-large-content.html failing on SnowLeopard Intel Release (Tests) 403 407 # https://bugs.webkit.org/show_bug.cgi?id=65434 -
trunk/LayoutTests/platform/qt/Skipped
r94073 r94121 199 199 # https://bugs.webkit.org/show_bug.cgi?id=43668 200 200 media/track/ 201 202 # Tests for MediaSource API. Feature is not yet functional. 203 # https://bugs.webkit.org/show_bug.cgi?id=64731 204 http/tests/media/media-source/ 201 205 202 206 # Font feature settings is not implemented. -
trunk/LayoutTests/platform/win/Skipped
r94105 r94121 1390 1390 media/track/ 1391 1391 1392 # Tests for MediaSource API. Feature is not yet functional. 1393 # https://bugs.webkit.org/show_bug.cgi?id=64731 1394 http/tests/media/media-source/ 1395 1392 1396 # Font feature settings is not implemented. 1393 1397 css3/font-feature-settings-rendering.html -
trunk/Source/JavaScriptCore/ChangeLog
r94095 r94121 1 2011-08-30 Aaron Colwell <acolwell@chromium.org> 2 3 Add MediaSource API to HTMLMediaElement 4 https://bugs.webkit.org/show_bug.cgi?id=64731 5 6 Reviewed by Eric Carlson. 7 8 * Configurations/FeatureDefines.xcconfig: 9 1 10 2011-08-30 Oliver Hunt <oliver@apple.com> 2 11 -
trunk/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig
r92333 r94121 73 73 ENABLE_LINK_PREFETCH = ; 74 74 ENABLE_MATHML = ENABLE_MATHML; 75 ENABLE_MEDIA_SOURCE = ; 75 76 ENABLE_MEDIA_STATISTICS = ; 76 77 ENABLE_METER_TAG = ENABLE_METER_TAG; … … 101 102 ENABLE_XSLT = ENABLE_XSLT; 102 103 103 FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ANIMATION_API) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CLIENT_BASED_GEOLOCATION) $(ENABLE_CSS3_FLEXBOX) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_REGIONS) $(ENABLE_DATABASE) $(ENABLE_DATALIST) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM_STORAGE) $(ENABLE_EVENTSOURCE) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_COLOR) $(ENABLE_INPUT_SPEECH) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_S TATISTICS) $(ENABLE_METER_TAG) $(ENABLE_NOTIFICATIONS) $(ENABLE_OFFLINE_WEB_APPLICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PROGRESS_TAG) $(ENABLE_QUOTA) $(ENABLE_REGISTER_PROTOCOL_HANDLER) $(ENABLE_SHARED_WORKERS) $(ENABLE_SVG) $(ENABLE_SVG_ANIMATION) $(ENABLE_SVG_AS_IMAGE) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_FOREIGN_OBJECT) $(ENABLE_SVG_USE) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WORKERS) $(ENABLE_XHTMLMP) $(ENABLE_XPATH) $(ENABLE_XSLT);104 FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ANIMATION_API) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CLIENT_BASED_GEOLOCATION) $(ENABLE_CSS3_FLEXBOX) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_REGIONS) $(ENABLE_DATABASE) $(ENABLE_DATALIST) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM_STORAGE) $(ENABLE_EVENTSOURCE) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_COLOR) $(ENABLE_INPUT_SPEECH) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_TAG) $(ENABLE_NOTIFICATIONS) $(ENABLE_OFFLINE_WEB_APPLICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PROGRESS_TAG) $(ENABLE_QUOTA) $(ENABLE_REGISTER_PROTOCOL_HANDLER) $(ENABLE_SHARED_WORKERS) $(ENABLE_SVG) $(ENABLE_SVG_ANIMATION) $(ENABLE_SVG_AS_IMAGE) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_FOREIGN_OBJECT) $(ENABLE_SVG_USE) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WORKERS) $(ENABLE_XHTMLMP) $(ENABLE_XPATH) $(ENABLE_XSLT); -
trunk/Source/WebCore/ChangeLog
r94119 r94121 1 2011-08-30 Aaron Colwell <acolwell@chromium.org> 2 3 Add MediaSource API to HTMLMediaElement 4 https://bugs.webkit.org/show_bug.cgi?id=64731 5 6 Reviewed by Eric Carlson. 7 8 Tests: http/tests/media/media-source/webm/video-media-source-errors.html 9 http/tests/media/media-source/webm/video-media-source-play.html 10 http/tests/media/media-source/webm/video-media-source-seek.html 11 http/tests/media/media-source/webm/video-media-source-state-changes.html 12 13 * Configurations/FeatureDefines.xcconfig: 14 * GNUmakefile.am: 15 * dom/EventNames.h: 16 * features.pri: 17 * html/HTMLMediaElement.cpp: 18 (WebCore::HTMLMediaElement::HTMLMediaElement): Added initializers for new member variables. 19 (WebCore::HTMLMediaElement::prepareForLoad): Close the media source before starting a new load. 20 (WebCore::HTMLMediaElement::loadResource): 21 Fail loading if the media source url from another media element is used. 22 (WebCore::HTMLMediaElement::mediaEngineError): 23 Make sure the source is in the closed state before firing an emptied event. 24 (WebCore::HTMLMediaElement::mediaPlayerSourceOpened): 25 New method called by WebCore::MediaPlayer to signal when the source is open. 26 (WebCore::HTMLMediaElement::mediaPlayerSourceURL): 27 New method called by the WebCore::MediaPlayer to determine what the media source URL is for this 28 HTMLMediaElement instance. 29 (WebCore::HTMLMediaElement::seek): 30 Disabled noSeekRequired optimization if a media source is open and resets the source state to SOURCE_OPEN if 31 it was in the SOURCE_ENDED state when seek() was called. 32 (WebCore::HTMLMediaElement::webkitSourceAppend): 33 New method for passing media data from JavaScript to the WebCore::MediaPlayer. 34 (WebCore::HTMLMediaElement::webkitSourceEndOfStream): 35 New method that allows JavaScript to signal the end of the stream. 36 (WebCore::HTMLMediaElement::webkitSourceState): New method allowing JavaScript to read the current source state. 37 (WebCore::HTMLMediaElement::setSourceState): New method for updating the current source state. 38 (WebCore::HTMLMediaElement::userCancelledLoad): 39 Transitions an open source to the closed state before firing an emptied event. 40 * html/HTMLMediaElement.h: 41 (WebCore::HTMLMediaElement::webkitMediaSourceURL): 42 New method providing the media source URL to JavaScript for this HTMLMediaElement instance. 43 * html/HTMLMediaElement.idl: Added new methods, attributes, and constants for the media source api. 44 * platform/graphics/MediaPlayer.cpp: 45 (WebCore::NullMediaPlayerPrivate::sourceAppend): 46 Stub implementation of new WebCore::MediaPlayerPrivateInterface::sourceAppend. 47 (WebCore::NullMediaPlayerPrivate::sourceEndOfStream): 48 Stub implementation of new WebCore::MediaPlayerPrivateInterface::sourceEndOfStream. 49 (WebCore::MediaPlayer::sourceAppend): New method for receiving media data from WebCore::HTMLMediaElement. 50 (WebCore::MediaPlayer::sourceEndOfStream): New method for receiving end of stream from WebCore::HTMLMediaElement. 51 (WebCore::MediaPlayer::sourceOpened): 52 New method called by the MediaPlayerPrivate object to notify the MediaPlayer when the source has opened. 53 (WebCore::MediaPlayer::sourceURL): 54 New method called by the MediaPlayerPrivate implementation to get the media source URL from the MediaPlayer. 55 * platform/graphics/MediaPlayer.h: 56 (WebCore::MediaPlayerClient::mediaPlayerSourceOpened): 57 Interface method used by the MediaPlayer to tell the HTMLMediaElement when the media source has been opened. 58 (WebCore::MediaPlayerClient::mediaPlayerSourceURL): 59 Interface method used by the MediaPlayer to get the media source URL from the HTMLMediaElement. 60 * platform/graphics/MediaPlayerPrivate.h: 61 (WebCore::MediaPlayerPrivateInterface::sourceAppend): 62 Interface method used by the MediaPlayer to pass media data to the MediaPlayerPrivate object. 63 (WebCore::MediaPlayerPrivateInterface::sourceEndOfStream): 64 Interface method used by the MediaPlayer to pass end of stream information to the MediaPlayerPrivate object. 65 1 66 2011-08-30 Sam Weinig <sam@webkit.org> 2 67 -
trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig
r93980 r94121 71 71 ENABLE_LINK_PREFETCH = ; 72 72 ENABLE_MATHML = ENABLE_MATHML; 73 ENABLE_MEDIA_SOURCE = ; 73 74 ENABLE_MEDIA_STATISTICS = ; 74 75 ENABLE_METER_TAG = ENABLE_METER_TAG; … … 100 101 ENABLE_XSLT = ENABLE_XSLT; 101 102 102 FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ANIMATION_API) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CLIENT_BASED_GEOLOCATION) $(ENABLE_CSS3_FLEXBOX) $(ENABLE_DATABASE) $(ENABLE_DATALIST) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM_STORAGE) $(ENABLE_EVENTSOURCE) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_COLOR) $(ENABLE_INPUT_SPEECH) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_S TATISTICS) $(ENABLE_METER_TAG) $(ENABLE_NOTIFICATIONS) $(ENABLE_OFFLINE_WEB_APPLICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PROGRESS_TAG) $(ENABLE_QUOTA) $(ENABLE_REGISTER_PROTOCOL_HANDLER) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_SHARED_WORKERS) $(ENABLE_SVG) $(ENABLE_SVG_ANIMATION) $(ENABLE_SVG_AS_IMAGE) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_FOREIGN_OBJECT) $(ENABLE_SVG_USE) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WORKERS) $(ENABLE_XHTMLMP) $(ENABLE_XPATH) $(ENABLE_XSLT);103 FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ANIMATION_API) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CLIENT_BASED_GEOLOCATION) $(ENABLE_CSS3_FLEXBOX) $(ENABLE_DATABASE) $(ENABLE_DATALIST) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM_STORAGE) $(ENABLE_EVENTSOURCE) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_COLOR) $(ENABLE_INPUT_SPEECH) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_TAG) $(ENABLE_NOTIFICATIONS) $(ENABLE_OFFLINE_WEB_APPLICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PROGRESS_TAG) $(ENABLE_QUOTA) $(ENABLE_REGISTER_PROTOCOL_HANDLER) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_SHARED_WORKERS) $(ENABLE_SVG) $(ENABLE_SVG_ANIMATION) $(ENABLE_SVG_AS_IMAGE) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_FOREIGN_OBJECT) $(ENABLE_SVG_USE) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WORKERS) $(ENABLE_XHTMLMP) $(ENABLE_XPATH) $(ENABLE_XSLT); -
trunk/Source/WebCore/GNUmakefile.am
r93492 r94121 335 335 endif # END USE_GSTREAMER 336 336 endif # END ENABLE_VIDEO 337 338 # ---- 339 # Media Source Support 340 # ---- 341 if ENABLE_MEDIA_SOURCE 342 FEATURE_DEFINES += ENABLE_MEDIA_SOURCE=1 343 webcore_cppflags += -DENABLE_MEDIA_SOURCE=1 344 else 345 webcore_cppflags += -DENABLE_MEDIA_SOURCE=0 346 endif # END ENABLE_MEDIA_SOURCE 337 347 338 348 # ---- -
trunk/Source/WebCore/dom/EventNames.h
r92304 r94121 148 148 macro(webkitendfullscreen) \ 149 149 \ 150 macro(webkitsourceopen) \ 151 macro(webkitsourceended) \ 152 macro(webkitsourceclose) \ 153 \ 150 154 macro(progress) \ 151 155 macro(stalled) \ -
trunk/Source/WebCore/features.pri
r94075 r94121 89 89 !contains(DEFINES, ENABLE_3D_RENDERING=.): DEFINES += ENABLE_3D_RENDERING=1 90 90 !contains(DEFINES, ENABLE_WEB_AUDIO=.): DEFINES += ENABLE_WEB_AUDIO=0 91 !contains(DEFINES, ENABLE_MEDIA_SOURCE=.): DEFINES += ENABLE_MEDIA_SOURCE=0 91 92 !contains(DEFINES, ENABLE_MEDIA_STATISTICS=.): DEFINES += ENABLE_MEDIA_STATISTICS=0 92 93 !contains(DEFINES, ENABLE_MEDIA_STREAM=.): DEFINES += ENABLE_MEDIA_STREAM=0 … … 262 263 contains(DEFINES, ENABLE_GEOLOCATION=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_GEOLOCATION=1 263 264 contains(DEFINES, ENABLE_BLOB=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_BLOB=1 265 contains(DEFINES, ENABLE_MEDIA_SOURCE=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_MEDIA_SOURCE=1 264 266 contains(DEFINES, ENABLE_MEDIA_STATISTICS=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_MEDIA_STATISTICS=1 265 267 contains(DEFINES, ENABLE_MEDIA_STREAM=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_MEDIA_STREAM=1 -
trunk/Source/WebCore/html/HTMLMediaElement.cpp
r93903 r94121 70 70 #include "ShadowRoot.h" 71 71 #include "TimeRanges.h" 72 #include "UUID.h" 73 #include "Uint8Array.h" 72 74 #include <limits> 73 75 #include <wtf/CurrentTime.h> … … 126 128 127 129 static const float invalidMediaTime = -1; 130 131 #if ENABLE(MEDIA_SOURCE) 132 // URL protocol used to signal that the media source API is being used. 133 static const char* mediaSourceURLProtocol = "x-media-source"; 134 #endif 128 135 129 136 using namespace HTMLNames; … … 159 166 , m_displayMode(Unknown) 160 167 , m_processingMediaPlayerCallback(0) 168 #if ENABLE(MEDIA_SOURCE) 169 , m_sourceState(SOURCE_CLOSED) 170 #endif 161 171 , m_cachedTime(invalidMediaTime) 162 172 , m_cachedTimeWallClockUpdateTime(0) … … 195 205 if (document->settings() && document->settings()->mediaPlaybackRequiresUserGesture()) 196 206 m_restrictions |= RequireUserGestureForRateChangeRestriction; 207 208 #if ENABLE(MEDIA_SOURCE) 209 m_mediaSourceURL.setProtocol(mediaSourceURLProtocol); 210 m_mediaSourceURL.setPath(createCanonicalUUIDString()); 211 #endif 197 212 } 198 213 … … 547 562 #endif 548 563 564 #if ENABLE(MEDIA_SOURCE) 565 if (m_sourceState != SOURCE_CLOSED) 566 setSourceState(SOURCE_CLOSED); 567 #endif 568 549 569 // 4 - If the media element's networkState is not set to NETWORK_EMPTY, then run these substeps 550 570 if (m_networkState != NETWORK_EMPTY) { … … 736 756 return; 737 757 } 758 759 #if ENABLE(MEDIA_SOURCE) 760 // If this is a media source URL, make sure it is the one for this media element. 761 if (url.protocolIs(mediaSourceURLProtocol) && url != m_mediaSourceURL) { 762 mediaLoadingFailed(MediaPlayer::FormatError); 763 return; 764 } 765 #endif 738 766 739 767 // The resource fetch algorithm … … 903 931 // 3 - Queue a task to fire a simple event named error at the media element. 904 932 scheduleEvent(eventNames().errorEvent); 933 934 #if ENABLE(MEDIA_SOURCE) 935 if (m_sourceState != SOURCE_CLOSED) 936 setSourceState(SOURCE_CLOSED); 937 #endif 905 938 906 939 // 4 - Set the element's networkState attribute to the NETWORK_EMPTY value and queue a … … 1125 1158 } 1126 1159 1160 #if ENABLE(MEDIA_SOURCE) 1161 void HTMLMediaElement::mediaPlayerSourceOpened() 1162 { 1163 beginProcessingMediaPlayerCallback(); 1164 1165 setSourceState(SOURCE_OPEN); 1166 1167 endProcessingMediaPlayerCallback(); 1168 } 1169 1170 String HTMLMediaElement::mediaPlayerSourceURL() const 1171 { 1172 return m_mediaSourceURL.string(); 1173 } 1174 #endif 1175 1127 1176 void HTMLMediaElement::progressEventTimerFired(Timer<HTMLMediaElement>*) 1128 1177 { … … 1247 1296 // cancel poster display. 1248 1297 bool noSeekRequired = !seekableRanges->length() || (time == now && displayMode() != Poster); 1298 1299 #if ENABLE(MEDIA_SOURCE) 1300 // Always notify the media engine of a seek if the source is not closed. This ensures that the source is 1301 // always in a flushed state when the 'seeking' event fires. 1302 if (m_sourceState != SOURCE_CLOSED) 1303 noSeekRequired = false; 1304 #endif 1305 1249 1306 if (noSeekRequired) { 1250 1307 if (time == now) { … … 1264 1321 m_lastSeekTime = time; 1265 1322 m_sentEndEvent = false; 1323 1324 #if ENABLE(MEDIA_SOURCE) 1325 if (m_sourceState == SOURCE_ENDED) 1326 setSourceState(SOURCE_OPEN); 1327 #endif 1266 1328 1267 1329 // 8 - Set the current playback position to the given new playback position … … 1579 1641 updatePlayState(); 1580 1642 } 1643 1644 #if ENABLE(MEDIA_SOURCE) 1645 void HTMLMediaElement::webkitSourceAppend(PassRefPtr<Uint8Array> data, ExceptionCode& ec) 1646 { 1647 if (!m_player || m_currentSrc != m_mediaSourceURL || m_sourceState != SOURCE_OPEN) { 1648 ec = INVALID_STATE_ERR; 1649 return; 1650 } 1651 1652 if (!data.get() || !m_player->sourceAppend(data->data(), data->length())) { 1653 ec = SYNTAX_ERR; 1654 return; 1655 } 1656 } 1657 1658 void HTMLMediaElement::webkitSourceEndOfStream(unsigned short status, ExceptionCode& ec) 1659 { 1660 if (!m_player || m_currentSrc != m_mediaSourceURL || m_sourceState != SOURCE_OPEN) { 1661 ec = INVALID_STATE_ERR; 1662 return; 1663 } 1664 1665 MediaPlayer::EndOfStreamStatus eosStatus = MediaPlayer::EosNoError; 1666 1667 switch (status) { 1668 case EOS_NO_ERROR: 1669 eosStatus = MediaPlayer::EosNoError; 1670 break; 1671 case EOS_NETWORK_ERR: 1672 eosStatus = MediaPlayer::EosNetworkError; 1673 break; 1674 case EOS_DECODE_ERR: 1675 eosStatus = MediaPlayer::EosDecodeError; 1676 break; 1677 default: 1678 ec = SYNTAX_ERR; 1679 return; 1680 } 1681 1682 setSourceState(SOURCE_ENDED); 1683 m_player->sourceEndOfStream(eosStatus); 1684 } 1685 1686 HTMLMediaElement::SourceState HTMLMediaElement::webkitSourceState() const 1687 { 1688 return m_sourceState; 1689 } 1690 1691 void HTMLMediaElement::setSourceState(SourceState state) 1692 { 1693 SourceState oldState = m_sourceState; 1694 m_sourceState = static_cast<SourceState>(state); 1695 1696 if (m_sourceState == oldState) 1697 return; 1698 1699 if (m_sourceState == SOURCE_CLOSED) { 1700 scheduleEvent(eventNames().webkitsourcecloseEvent); 1701 return; 1702 } 1703 1704 if (oldState == SOURCE_OPEN && m_sourceState == SOURCE_ENDED) { 1705 scheduleEvent(eventNames().webkitsourceendedEvent); 1706 return; 1707 } 1708 1709 if (m_sourceState == SOURCE_OPEN) { 1710 scheduleEvent(eventNames().webkitsourceopenEvent); 1711 return; 1712 } 1713 } 1714 #endif 1581 1715 1582 1716 bool HTMLMediaElement::loop() const … … 2359 2493 scheduleEvent(eventNames().abortEvent); 2360 2494 2495 #if ENABLE(MEDIA_SOURCE) 2496 if (m_sourceState != SOURCE_CLOSED) 2497 setSourceState(SOURCE_CLOSED); 2498 #endif 2499 2361 2500 // 4 - If the media element's readyState attribute has a value equal to HAVE_NOTHING, set the 2362 2501 // element's networkState attribute to the NETWORK_EMPTY value and queue a task to fire a -
trunk/Source/WebCore/html/HTMLMediaElement.h
r93903 r94121 50 50 class KURL; 51 51 class TimeRanges; 52 class Uint8Array; 52 53 #if ENABLE(PLUGIN_PROXY_FOR_VIDEO) 53 54 class Widget; … … 141 142 #endif 142 143 144 #if ENABLE(MEDIA_SOURCE) 145 // Media Source. 146 const KURL& webkitMediaSourceURL() const { return m_mediaSourceURL; } 147 void webkitSourceAppend(PassRefPtr<Uint8Array> data, ExceptionCode&); 148 enum EndOfStreamStatus { EOS_NO_ERROR, EOS_NETWORK_ERR, EOS_DECODE_ERR }; 149 void webkitSourceEndOfStream(unsigned short, ExceptionCode&); 150 enum SourceState { SOURCE_CLOSED, SOURCE_OPEN, SOURCE_ENDED }; 151 SourceState webkitSourceState() const; 152 void setSourceState(SourceState); 153 #endif 154 143 155 // controls 144 156 bool controls() const; … … 282 294 virtual void mediaPlayerCharacteristicChanged(MediaPlayer*); 283 295 296 #if ENABLE(MEDIA_SOURCE) 297 virtual void mediaPlayerSourceOpened(); 298 virtual String mediaPlayerSourceURL() const; 299 #endif 300 284 301 void loadTimerFired(Timer<HTMLMediaElement>*); 285 302 void asyncEventTimerFired(Timer<HTMLMediaElement>*); … … 412 429 int m_processingMediaPlayerCallback; 413 430 431 #if ENABLE(MEDIA_SOURCE) 432 KURL m_mediaSourceURL; 433 SourceState m_sourceState; 434 #endif 435 414 436 mutable float m_cachedTime; 415 437 mutable double m_cachedTimeWallClockUpdateTime; -
trunk/Source/WebCore/html/HTMLMediaElement.idl
r93054 r94121 89 89 readonly attribute [Conditional=MEDIA_STATISTICS] unsigned long webkitAudioDecodedByteCount; 90 90 readonly attribute [Conditional=MEDIA_STATISTICS] unsigned long webkitVideoDecodedByteCount; 91 92 #if defined(ENABLE_MEDIA_SOURCE) && ENABLE_MEDIA_SOURCE 93 // URL passed to src attribute to enable the media source logic. 94 readonly attribute [URL] DOMString webkitMediaSourceURL; 95 96 // Appends media to to the source. 97 void webkitSourceAppend(in Uint8Array data) raises (DOMException); 98 99 // Signals the end of stream. 100 const unsigned short EOS_NO_ERROR = 0; // End of stream reached w/o error. 101 const unsigned short EOS_NETWORK_ERR = 1; // A network error triggered end of stream. 102 const unsigned short EOS_DECODE_ERR = 2; // A decode error triggered end of stream. 103 void webkitSourceEndOfStream(in unsigned short status) raises (DOMException); 104 105 // Indicates the current state of the media source. 106 const unsigned short SOURCE_CLOSED = 0; 107 const unsigned short SOURCE_OPEN = 1; 108 const unsigned short SOURCE_ENDED = 2; 109 readonly attribute unsigned short webkitSourceState; 110 #endif 91 111 }; 92 112 } -
trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp
r93903 r94121 143 143 144 144 virtual bool hasSingleSecurityOrigin() const { return true; } 145 146 #if ENABLE(MEDIA_SOURCE) 147 virtual bool sourceAppend(const unsigned char*, unsigned) { return false; } 148 virtual void sourceEndOfStream(MediaPlayer::EndOfStreamStatus status) { } 149 #endif 145 150 }; 146 151 … … 433 438 } 434 439 440 #if ENABLE(MEDIA_SOURCE) 441 bool MediaPlayer::sourceAppend(const unsigned char* data, unsigned length) 442 { 443 return m_private->sourceAppend(data, length); 444 } 445 446 void MediaPlayer::sourceEndOfStream(MediaPlayer::EndOfStreamStatus status) 447 { 448 return m_private->sourceEndOfStream(status); 449 } 450 #endif 451 435 452 float MediaPlayer::duration() const 436 453 { … … 788 805 m_private->setPrivateBrowsingMode(m_privateBrowsing); 789 806 } 807 808 #if ENABLE(MEDIA_SOURCE) 809 void MediaPlayer::sourceOpened() 810 { 811 if (m_mediaPlayerClient) 812 m_mediaPlayerClient->mediaPlayerSourceOpened(); 813 } 814 815 String MediaPlayer::sourceURL() const 816 { 817 if (m_mediaPlayerClient) 818 return m_mediaPlayerClient->mediaPlayerSourceURL(); 819 return String(); 820 } 821 #endif 790 822 791 823 // Client callbacks. -
trunk/Source/WebCore/platform/graphics/MediaPlayer.h
r93903 r94121 166 166 virtual void mediaPlayerRenderingModeChanged(MediaPlayer*) { } 167 167 #endif 168 169 #if ENABLE(MEDIA_SOURCE) 170 virtual void mediaPlayerSourceOpened() { } 171 virtual String mediaPlayerSourceURL() const { return "x-media-source-unsupported:"; } 172 #endif 168 173 }; 169 174 … … 214 219 void play(); 215 220 void pause(); 221 222 #if ENABLE(MEDIA_SOURCE) 223 bool sourceAppend(const unsigned char* data, unsigned length); 224 enum EndOfStreamStatus { EosNoError, EosNetworkError, EosDecodeError }; 225 void sourceEndOfStream(EndOfStreamStatus); 226 #endif 216 227 217 228 bool paused() const; … … 316 327 #if ENABLE(WEB_AUDIO) 317 328 AudioSourceProvider* audioSourceProvider(); 329 #endif 330 331 #if ENABLE(MEDIA_SOURCE) 332 void sourceOpened(); 333 String sourceURL() const; 318 334 #endif 319 335 -
trunk/Source/WebCore/platform/graphics/MediaPlayerPrivate.h
r93903 r94121 148 148 virtual void setPrivateBrowsingMode(bool) { } 149 149 150 150 151 #if ENABLE(WEB_AUDIO) 151 152 virtual AudioSourceProvider* audioSourceProvider() { return 0; } 153 #endif 154 155 #if ENABLE(MEDIA_SOURCE) 156 virtual bool sourceAppend(const unsigned char*, unsigned) { return false; } 157 virtual void sourceEndOfStream(MediaPlayer::EndOfStreamStatus) { }; 152 158 #endif 153 159 }; -
trunk/Source/WebKit/chromium/ChangeLog
r94106 r94121 1 2011-08-30 Aaron Colwell <acolwell@chromium.org> 2 3 Add MediaSource API to HTMLMediaElement 4 https://bugs.webkit.org/show_bug.cgi?id=64731 5 6 Reviewed by Eric Carlson. 7 8 * public/WebMediaPlayer.h: 9 (WebKit::WebMediaPlayer::sourceAppend): 10 (WebKit::WebMediaPlayer::sourceEndOfStream): 11 * public/WebMediaPlayerClient.h: 12 * src/WebMediaPlayerClientImpl.cpp: 13 (WebKit::WebMediaPlayerClientImpl::sourceOpened): 14 (WebKit::WebMediaPlayerClientImpl::sourceURL): 15 (WebKit::WebMediaPlayerClientImpl::sourceAppend): 16 (WebKit::WebMediaPlayerClientImpl::sourceEndOfStream): 17 * src/WebMediaPlayerClientImpl.h: 18 1 19 2011-08-30 Nat Duca <nduca@chromium.org> 2 20 -
trunk/Source/WebKit/chromium/public/WebMediaPlayer.h
r93367 r94121 87 87 }; 88 88 89 enum EndOfStreamStatus { 90 EosNoError, 91 EosNetworkError, 92 EosDecodeError, 93 }; 94 89 95 virtual ~WebMediaPlayer() {} 90 96 … … 157 163 158 164 virtual WebAudioSourceProvider* audioSourceProvider() { return 0; } 165 166 virtual bool sourceAppend(const unsigned char* data, unsigned length) { return false; } 167 virtual void sourceEndOfStream(EndOfStreamStatus) { } 159 168 }; 160 169 -
trunk/Source/WebKit/chromium/public/WebMediaPlayerClient.h
r82641 r94121 54 54 virtual void playbackStateChanged() = 0; 55 55 virtual WebMediaPlayer::Preload preload() const = 0; 56 56 virtual void sourceOpened() = 0; 57 virtual WebKit::WebURL sourceURL() const = 0; 57 58 protected: 58 59 ~WebMediaPlayerClient() { } -
trunk/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp
r93367 r94121 197 197 } 198 198 199 void WebMediaPlayerClientImpl::sourceOpened() 200 { 201 #if ENABLE(MEDIA_SOURCE) 202 ASSERT(m_mediaPlayer); 203 m_mediaPlayer->sourceOpened(); 204 #endif 205 } 206 207 WebKit::WebURL WebMediaPlayerClientImpl::sourceURL() const 208 { 209 #if ENABLE(MEDIA_SOURCE) 210 ASSERT(m_mediaPlayer); 211 return KURL(ParsedURLString, m_mediaPlayer->sourceURL()); 212 #else 213 return KURL(); 214 #endif 215 } 216 199 217 // MediaPlayerPrivateInterface ------------------------------------------------- 200 218 … … 258 276 m_webMediaPlayer->pause(); 259 277 } 278 279 #if ENABLE(MEDIA_SOURCE) 280 bool WebMediaPlayerClientImpl::sourceAppend(const unsigned char* data, unsigned length) 281 { 282 if (m_webMediaPlayer.get()) 283 return m_webMediaPlayer->sourceAppend(data, length); 284 return false; 285 } 286 287 void WebMediaPlayerClientImpl::sourceEndOfStream(WebCore::MediaPlayer::EndOfStreamStatus status) 288 { 289 if (m_webMediaPlayer.get()) 290 m_webMediaPlayer->sourceEndOfStream(static_cast<WebMediaPlayer::EndOfStreamStatus>(status)); 291 } 292 #endif 260 293 261 294 void WebMediaPlayerClientImpl::prepareToPlay() -
trunk/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.h
r93367 r94121 81 81 virtual void playbackStateChanged(); 82 82 virtual WebMediaPlayer::Preload preload() const; 83 virtual void sourceOpened(); 84 virtual WebKit::WebURL sourceURL() const; 83 85 84 86 // MediaPlayerPrivateInterface methods: … … 135 137 #endif 136 138 139 #if ENABLE(MEDIA_SOURCE) 140 virtual bool sourceAppend(const unsigned char* data, unsigned length); 141 virtual void sourceEndOfStream(WebCore::MediaPlayer::EndOfStreamStatus); 142 #endif 143 137 144 private: 138 145 WebMediaPlayerClientImpl(); -
trunk/Source/WebKit/mac/ChangeLog
r94093 r94121 1 2011-08-30 Aaron Colwell <acolwell@chromium.org> 2 3 Add MediaSource API to HTMLMediaElement 4 https://bugs.webkit.org/show_bug.cgi?id=64731 5 6 Reviewed by Eric Carlson. 7 8 * Configurations/FeatureDefines.xcconfig: 9 1 10 2011-08-29 Alexey Proskuryakov <ap@apple.com> 2 11 -
trunk/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig
r93980 r94121 71 71 ENABLE_LINK_PREFETCH = ; 72 72 ENABLE_MATHML = ENABLE_MATHML; 73 ENABLE_MEDIA_SOURCE = ; 73 74 ENABLE_MEDIA_STATISTICS = ; 74 75 ENABLE_METER_TAG = ENABLE_METER_TAG; … … 100 101 ENABLE_XSLT = ENABLE_XSLT; 101 102 102 FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ANIMATION_API) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CLIENT_BASED_GEOLOCATION) $(ENABLE_CSS3_FLEXBOX) $(ENABLE_DATABASE) $(ENABLE_DATALIST) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM_STORAGE) $(ENABLE_EVENTSOURCE) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_COLOR) $(ENABLE_INPUT_SPEECH) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_S TATISTICS) $(ENABLE_METER_TAG) $(ENABLE_NOTIFICATIONS) $(ENABLE_OFFLINE_WEB_APPLICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PROGRESS_TAG) $(ENABLE_QUOTA) $(ENABLE_REGISTER_PROTOCOL_HANDLER) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_SHARED_WORKERS) $(ENABLE_SVG) $(ENABLE_SVG_ANIMATION) $(ENABLE_SVG_AS_IMAGE) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_FOREIGN_OBJECT) $(ENABLE_SVG_USE) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WORKERS) $(ENABLE_XHTMLMP) $(ENABLE_XPATH) $(ENABLE_XSLT);103 FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ANIMATION_API) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CLIENT_BASED_GEOLOCATION) $(ENABLE_CSS3_FLEXBOX) $(ENABLE_DATABASE) $(ENABLE_DATALIST) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM_STORAGE) $(ENABLE_EVENTSOURCE) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_COLOR) $(ENABLE_INPUT_SPEECH) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_TAG) $(ENABLE_NOTIFICATIONS) $(ENABLE_OFFLINE_WEB_APPLICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PROGRESS_TAG) $(ENABLE_QUOTA) $(ENABLE_REGISTER_PROTOCOL_HANDLER) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_SHARED_WORKERS) $(ENABLE_SVG) $(ENABLE_SVG_ANIMATION) $(ENABLE_SVG_AS_IMAGE) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_FOREIGN_OBJECT) $(ENABLE_SVG_USE) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WORKERS) $(ENABLE_XHTMLMP) $(ENABLE_XPATH) $(ENABLE_XSLT); -
trunk/Source/WebKit2/ChangeLog
r94115 r94121 1 2011-08-30 Aaron Colwell <acolwell@chromium.org> 2 3 Add MediaSource API to HTMLMediaElement 4 https://bugs.webkit.org/show_bug.cgi?id=64731 5 6 Reviewed by Eric Carlson. 7 8 * Configurations/FeatureDefines.xcconfig: 9 1 10 2011-08-30 Ada Chan <adachan@apple.com> 2 11 -
trunk/Source/WebKit2/Configurations/FeatureDefines.xcconfig
r93980 r94121 71 71 ENABLE_LINK_PREFETCH = ; 72 72 ENABLE_MATHML = ENABLE_MATHML; 73 ENABLE_MEDIA_SOURCE = ; 73 74 ENABLE_MEDIA_STATISTICS = ; 74 75 ENABLE_METER_TAG = ENABLE_METER_TAG; … … 100 101 ENABLE_XSLT = ENABLE_XSLT; 101 102 102 FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ANIMATION_API) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CLIENT_BASED_GEOLOCATION) $(ENABLE_CSS3_FLEXBOX) $(ENABLE_DATABASE) $(ENABLE_DATALIST) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM_STORAGE) $(ENABLE_EVENTSOURCE) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_COLOR) $(ENABLE_INPUT_SPEECH) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_S TATISTICS) $(ENABLE_METER_TAG) $(ENABLE_NOTIFICATIONS) $(ENABLE_OFFLINE_WEB_APPLICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PROGRESS_TAG) $(ENABLE_QUOTA) $(ENABLE_REGISTER_PROTOCOL_HANDLER) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_SHARED_WORKERS) $(ENABLE_SVG) $(ENABLE_SVG_ANIMATION) $(ENABLE_SVG_AS_IMAGE) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_FOREIGN_OBJECT) $(ENABLE_SVG_USE) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WORKERS) $(ENABLE_XHTMLMP) $(ENABLE_XPATH) $(ENABLE_XSLT);103 FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ANIMATION_API) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CLIENT_BASED_GEOLOCATION) $(ENABLE_CSS3_FLEXBOX) $(ENABLE_DATABASE) $(ENABLE_DATALIST) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM_STORAGE) $(ENABLE_EVENTSOURCE) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GEOLOCATION) $(ENABLE_ICONDATABASE) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_COLOR) $(ENABLE_INPUT_SPEECH) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_TAG) $(ENABLE_NOTIFICATIONS) $(ENABLE_OFFLINE_WEB_APPLICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PROGRESS_TAG) $(ENABLE_QUOTA) $(ENABLE_REGISTER_PROTOCOL_HANDLER) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_SHARED_WORKERS) $(ENABLE_SVG) $(ENABLE_SVG_ANIMATION) $(ENABLE_SVG_AS_IMAGE) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_SVG_FOREIGN_OBJECT) $(ENABLE_SVG_USE) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WORKERS) $(ENABLE_XHTMLMP) $(ENABLE_XPATH) $(ENABLE_XSLT); -
trunk/Tools/ChangeLog
r94105 r94121 1 2011-08-30 Aaron Colwell <acolwell@chromium.org> 2 3 Add MediaSource API to HTMLMediaElement 4 https://bugs.webkit.org/show_bug.cgi?id=64731 5 6 Reviewed by Eric Carlson. 7 8 * Scripts/build-webkit: 9 1 10 2011-08-30 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> 2 11 -
trunk/Tools/Scripts/build-webkit
r93980 r94121 95 95 $linkPrefetchSupport, 96 96 $mathmlSupport, 97 $mediaSourceSupport, 97 98 $mediaStatisticsSupport, 98 99 $mediaStreamSupport, … … 222 223 define => "ENABLE_MATHML", default => 1, value => \$mathmlSupport }, 223 224 225 { option => "media-source", desc => "Toggle Media Source support", 226 define => "ENABLE_MEDIA_SOURCE", default => 0, value => \$mediaSourceSupport }, 227 224 228 { option => "media-statistics", desc => "Toggle Media Statistics support", 225 229 define => "ENABLE_MEDIA_STATISTICS", default => 0, value => \$mediaStatisticsSupport }, -
trunk/WebKitLibraries/ChangeLog
r93719 r94121 1 2011-08-30 Aaron Colwell <acolwell@chromium.org> 2 3 Add MediaSource API to HTMLMediaElement 4 https://bugs.webkit.org/show_bug.cgi?id=64731 5 6 Reviewed by Eric Carlson. 7 8 * win/tools/vsprops/FeatureDefines.vsprops: 9 * win/tools/vsprops/FeatureDefinesCairo.vsprops: 10 1 11 2011-08-24 Lucas Forschler <lforschler@apple.com> 2 12 -
trunk/WebKitLibraries/win/tools/vsprops/FeatureDefines.vsprops
r89406 r94121 10 10 <Tool 11 11 Name="VCCLCompilerTool" 12 PreprocessorDefinitions="$(ENABLE_3D_CANVAS);$(ENABLE_3D_RENDERING);$(ENABLE_ACCELERATED_2D_CANVAS);$(ENABLE_BLOB);$(ENABLE_CHANNEL_MESSAGING);$(ENABLE_CLIENT_BASED_GEOLOCATION);$(ENABLE_CSS_REGIONS);$(ENABLE_CSS_EXCLUSIONS);$(ENABLE_DATABASE);$(ENABLE_DATAGRID);$(ENABLE_DATALIST);$(ENABLE_DATA_TRANSFER_ITEMS);$(ENABLE_DETAILS);$(ENABLE_DEVICE_ORIENTATION);$(ENABLE_DIRECTORY_UPLOAD);$(ENABLE_DOM_STORAGE);$(ENABLE_EVENTSOURCE);$(ENABLE_FILTERS);$(ENABLE_FILE_SYSTEM);$(ENABLE_CSS3_FLEXBOX);$(ENABLE_FULLSCREEN_API);$(ENABLE_GEOLOCATION);$(ENABLE_ICONDATABASE);$(ENABLE_INDEXED_DATABASE);$(ENABLE_INPUT_COLOR);$(ENABLE_INPUT_SPEECH);$(ENABLE_JAVASCRIPT_DEBUGGER);$(ENABLE_LINK_PREFETCH);$(ENABLE_MATHML);$(ENABLE_METER_TAG);$(ENABLE_NOTIFICATIONS);$(ENABLE_OFFLINE_WEB_APPLICATIONS);$(ENABLE_PAGE_VISIBILITY_API);$(ENABLE_PROGRESS_TAG);$(ENABLE_QUOTA);$(ENABLE_REGISTER_PROTOCOL_HANDLER);$(ENABLE_SHARED_WORKERS);$(ENABLE_SVG);$(ENABLE_SVG_ANIMATION);$(ENABLE_SVG_AS_IMAGE);$(ENABLE_SVG_DOM_OBJC_BINDINGS);$(ENABLE_SVG_FONTS);$(ENABLE_SVG_FOREIGN_OBJECT);$(ENABLE_SVG_USE);$(ENABLE_VIDEO);$(ENABLE_MEDIA_S TATISTICS);$(ENABLE_WEB_SOCKETS);$(ENABLE_WEB_TIMING);$(ENABLE_WORKERS);$(ENABLE_XHTMLMP);$(ENABLE_XPATH);$(ENABLE_XSLT)"12 PreprocessorDefinitions="$(ENABLE_3D_CANVAS);$(ENABLE_3D_RENDERING);$(ENABLE_ACCELERATED_2D_CANVAS);$(ENABLE_BLOB);$(ENABLE_CHANNEL_MESSAGING);$(ENABLE_CLIENT_BASED_GEOLOCATION);$(ENABLE_CSS_REGIONS);$(ENABLE_CSS_EXCLUSIONS);$(ENABLE_DATABASE);$(ENABLE_DATAGRID);$(ENABLE_DATALIST);$(ENABLE_DATA_TRANSFER_ITEMS);$(ENABLE_DETAILS);$(ENABLE_DEVICE_ORIENTATION);$(ENABLE_DIRECTORY_UPLOAD);$(ENABLE_DOM_STORAGE);$(ENABLE_EVENTSOURCE);$(ENABLE_FILTERS);$(ENABLE_FILE_SYSTEM);$(ENABLE_CSS3_FLEXBOX);$(ENABLE_FULLSCREEN_API);$(ENABLE_GEOLOCATION);$(ENABLE_ICONDATABASE);$(ENABLE_INDEXED_DATABASE);$(ENABLE_INPUT_COLOR);$(ENABLE_INPUT_SPEECH);$(ENABLE_JAVASCRIPT_DEBUGGER);$(ENABLE_LINK_PREFETCH);$(ENABLE_MATHML);$(ENABLE_METER_TAG);$(ENABLE_NOTIFICATIONS);$(ENABLE_OFFLINE_WEB_APPLICATIONS);$(ENABLE_PAGE_VISIBILITY_API);$(ENABLE_PROGRESS_TAG);$(ENABLE_QUOTA);$(ENABLE_REGISTER_PROTOCOL_HANDLER);$(ENABLE_SHARED_WORKERS);$(ENABLE_SVG);$(ENABLE_SVG_ANIMATION);$(ENABLE_SVG_AS_IMAGE);$(ENABLE_SVG_DOM_OBJC_BINDINGS);$(ENABLE_SVG_FONTS);$(ENABLE_SVG_FOREIGN_OBJECT);$(ENABLE_SVG_USE);$(ENABLE_VIDEO);$(ENABLE_MEDIA_SOURCE);$(ENABLE_MEDIA_STATISTICS);$(ENABLE_WEB_SOCKETS);$(ENABLE_WEB_TIMING);$(ENABLE_WORKERS);$(ENABLE_XHTMLMP);$(ENABLE_XPATH);$(ENABLE_XSLT)" 13 13 /> 14 14 <UserMacro … … 238 238 /> 239 239 <UserMacro 240 Name="ENABLE_MEDIA_SOURCE" 241 Value="ENABLE_MEDIA_SOURCE" 242 PerformEnvironmentSet="true" 243 /> 244 <UserMacro 240 245 Name="ENABLE_MEDIA_STATISTICS" 241 246 Value="ENABLE_MEDIA_STATISTICS" -
trunk/WebKitLibraries/win/tools/vsprops/FeatureDefinesCairo.vsprops
r89406 r94121 10 10 <Tool 11 11 Name="VCCLCompilerTool" 12 PreprocessorDefinitions="$(ENABLE_3D_CANVAS);$(ENABLE_3D_RENDERING);$(ENABLE_ACCELERATED_2D_CANVAS);$(ENABLE_BLOB);$(ENABLE_CHANNEL_MESSAGING);$(ENABLE_CLIENT_BASED_GEOLOCATION);$(ENABLE_CSS_REGIONS);$(ENABLE_CSS_EXCLUSIONS);$(ENABLE_DATABASE);$(ENABLE_DATAGRID);$(ENABLE_DATALIST);$(ENABLE_DATA_TRANSFER_ITEMS);$(ENABLE_DETAILS);$(ENABLE_DEVICE_ORIENTATION);$(ENABLE_DIRECTORY_UPLOAD);$(ENABLE_DOM_STORAGE);$(ENABLE_EVENTSOURCE);$(ENABLE_FILTERS);$(ENABLE_FILE_SYSTEM);$(ENABLE_CSS3_FLEXBOX);$(ENABLE_FULLSCREEN_API);$(ENABLE_GEOLOCATION);$(ENABLE_ICONDATABASE);$(ENABLE_INDEXED_DATABASE);$(ENABLE_INPUT_COLOR);$(ENABLE_INPUT_SPEECH);$(ENABLE_JAVASCRIPT_DEBUGGER);$(ENABLE_LINK_PREFETCH);$(ENABLE_MATHML);$(ENABLE_METER_TAG);$(ENABLE_NOTIFICATIONS);$(ENABLE_OFFLINE_WEB_APPLICATIONS);$(ENABLE_PAGE_VISIBILITY_API);$(ENABLE_PROGRESS_TAG);$(ENABLE_QUOTA);$(ENABLE_REGISTER_PROTOCOL_HANDLER);$(ENABLE_SHARED_WORKERS);$(ENABLE_SVG);$(ENABLE_SVG_ANIMATION);$(ENABLE_SVG_AS_IMAGE);$(ENABLE_SVG_DOM_OBJC_BINDINGS);$(ENABLE_SVG_FONTS);$(ENABLE_SVG_FOREIGN_OBJECT);$(ENABLE_SVG_USE);$(ENABLE_VIDEO);$(ENABLE_MEDIA_S TATISTICS);$(ENABLE_WEB_SOCKETS);$(ENABLE_WEB_TIMING);$(ENABLE_WORKERS);$(ENABLE_XHTMLMP);$(ENABLE_XPATH);$(ENABLE_XSLT)"12 PreprocessorDefinitions="$(ENABLE_3D_CANVAS);$(ENABLE_3D_RENDERING);$(ENABLE_ACCELERATED_2D_CANVAS);$(ENABLE_BLOB);$(ENABLE_CHANNEL_MESSAGING);$(ENABLE_CLIENT_BASED_GEOLOCATION);$(ENABLE_CSS_REGIONS);$(ENABLE_CSS_EXCLUSIONS);$(ENABLE_DATABASE);$(ENABLE_DATAGRID);$(ENABLE_DATALIST);$(ENABLE_DATA_TRANSFER_ITEMS);$(ENABLE_DETAILS);$(ENABLE_DEVICE_ORIENTATION);$(ENABLE_DIRECTORY_UPLOAD);$(ENABLE_DOM_STORAGE);$(ENABLE_EVENTSOURCE);$(ENABLE_FILTERS);$(ENABLE_FILE_SYSTEM);$(ENABLE_CSS3_FLEXBOX);$(ENABLE_FULLSCREEN_API);$(ENABLE_GEOLOCATION);$(ENABLE_ICONDATABASE);$(ENABLE_INDEXED_DATABASE);$(ENABLE_INPUT_COLOR);$(ENABLE_INPUT_SPEECH);$(ENABLE_JAVASCRIPT_DEBUGGER);$(ENABLE_LINK_PREFETCH);$(ENABLE_MATHML);$(ENABLE_METER_TAG);$(ENABLE_NOTIFICATIONS);$(ENABLE_OFFLINE_WEB_APPLICATIONS);$(ENABLE_PAGE_VISIBILITY_API);$(ENABLE_PROGRESS_TAG);$(ENABLE_QUOTA);$(ENABLE_REGISTER_PROTOCOL_HANDLER);$(ENABLE_SHARED_WORKERS);$(ENABLE_SVG);$(ENABLE_SVG_ANIMATION);$(ENABLE_SVG_AS_IMAGE);$(ENABLE_SVG_DOM_OBJC_BINDINGS);$(ENABLE_SVG_FONTS);$(ENABLE_SVG_FOREIGN_OBJECT);$(ENABLE_SVG_USE);$(ENABLE_VIDEO);$(ENABLE_MEDIA_SOURCE);$(ENABLE_MEDIA_STATISTICS);$(ENABLE_WEB_SOCKETS);$(ENABLE_WEB_TIMING);$(ENABLE_WORKERS);$(ENABLE_XHTMLMP);$(ENABLE_XPATH);$(ENABLE_XSLT)" 13 13 /> 14 14 <UserMacro … … 238 238 /> 239 239 <UserMacro 240 Name="ENABLE_MEDIA_SOURCE" 241 Value="" 242 PerformEnvironmentSet="true" 243 /> 244 <UserMacro 240 245 Name="ENABLE_MEDIA_STATISTICS" 241 246 Value="" -
trunk/configure.ac
r94000 r94121 563 563 [],[enable_video_track="yes"]) 564 564 AC_MSG_RESULT([$enable_video_track]) 565 566 # check whether to enable media source support 567 AC_MSG_CHECKING([whether to enable media source support]) 568 AC_ARG_ENABLE(media_source, 569 AC_HELP_STRING([--enable-media-source], 570 [enable support for media source [default=no]]), 571 [], [enable_media_source="no"]) 572 AC_MSG_RESULT([$enable_media_source]) 565 573 566 574 # check whether to enable media statistics support … … 1186 1194 AM_CONDITIONAL([ENABLE_MHTML], [test "$enable_mhtml" = "yes"]) 1187 1195 AM_CONDITIONAL([ENABLE_VIDEO],[test "$enable_video" = "yes"]) 1196 AM_CONDITIONAL([ENABLE_MEDIA_SOURCE],[test "$enable_media_source" = "yes"]) 1188 1197 AM_CONDITIONAL([ENABLE_MEDIA_STATISTICS],[test "$enable_media_statistics" = "yes"]) 1189 1198 AM_CONDITIONAL([ENABLE_VIDEO_TRACK],[test "$enable_video_track" = "yes"]) … … 1267 1276 JavaScript debugger/profiler support : $enable_javascript_debugger 1268 1277 MathML support : $enable_mathml 1278 Media source : $enable_media_source 1269 1279 Media statistics : $enable_media_statistics 1270 1280 HTML5 offline web applications support : $enable_offline_web_applications
Note: See TracChangeset
for help on using the changeset viewer.