Add interfaces and stubs for audio and video tracks
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 20 Apr 2013 01:03:14 +0000 (01:03 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 20 Apr 2013 01:03:14 +0000 (01:03 +0000)
commit3f20767a66af1ea269e106798f9b4f26942391c0
tree11230f5fb375c503fe8bcc3f52561b07cd784f0f
parent3a196f621053fdebe6cdfc09a034ab68ce3a9577
Add interfaces and stubs for audio and video tracks
https://bugs.webkit.org/show_bug.cgi?id=113965

Patch by Brendan Long <b.long@cablelabs.com> on 2013-04-19
Reviewed by Jer Noble.

No new tests because there's no implementations, so there's nothing
interesting to test.

* CMakeLists.txt: Add AudioTrack, VideoTrack, AudioTrackList and VideoTrackList.
* DerivedSources.cpp: Same.
* DerivedSources.make: Same.
* DerivedSources.pri: Same.
* GNUmakefile.list.am: Same.
* Target.pri: Same.
* UseJSC.cmake: Same.
* WebCore.vcproj/WebCore.vcproj: Same.
* WebCore.xcodeproj/project.pbxproj: Same.
* bindings/gobject/GNUmakefile.am: Same.
* bindings/js/JSAudioTrackCustom.cpp: Added, based on JSTestTrackCustom
* bindings/js/JSAudioTrackListCustom.cpp: Same.
* bindings/js/JSBindingsAllInOne.cpp: Add AudioTrack, VideoTrack, AudioTrackList and VideoTrackList.
* bindings/js/JSVideoTrackCustom.cpp: Added, based on JSTestTrackCustom
* bindings/js/JSVideoTrackListCustom.cpp: Same.
* dom/EventTarget.h: Make AudioTrackList and VideoTrackList event targets.
* dom/EventTargetFactory.in: Same.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Add m_audioTracks and m_videoTracks
(WebCore::HTMLMediaElement::~HTMLMediaElement): Clear clients for audio and video tracks
(WebCore::HTMLMediaElement::audioTrackEnabledChanged): Added.
(WebCore::HTMLMediaElement::videoTrackSelectedChanged): Added.
(WebCore::HTMLMediaElement::mediaPlayerDidAddAudioTrack): Added, based on mediaPlayerDidAddTextTrack
(WebCore::HTMLMediaElement::mediaPlayerDidAddVideoTrack): Same.
(WebCore::HTMLMediaElement::mediaPlayerDidRemoveAudioTrack): Added, based on mediaPlayerDidRemoveTextTrack
(WebCore::HTMLMediaElement::mediaPlayerDidRemoveVideoTrack): Same.
(WebCore::HTMLMediaElement::addAudioTrack): Added, based on addTextTrack
(WebCore::HTMLMediaElement::addVideoTrack): Same.
(WebCore::HTMLMediaElement::removeAudioTrack): Added, based on removeTextTrack
(WebCore::HTMLMediaElement::removeVideoTrack): Added, based on removeTextTrack
(WebCore::HTMLMediaElement::removeAllInbandTracks): Remove audio and video tracks too
(WebCore::HTMLMediaElement::audioTracks): Added, based on textTracks
(WebCore::HTMLMediaElement::videoTracks): Added, based on textTracks
(WebCore::HTMLMediaElement::reportMemoryUsage): Add audio and video tracks
* html/HTMLMediaElement.h: Add audioTracks and videoTracks and related functions
* html/HTMLMediaElement.idl: Add audioTracks and videoTracks
* html/track/AudioTrack.cpp: Added, based on TextTrack and InbandTextTrack.
* html/track/AudioTrack.h: Same.
* html/track/AudioTrack.idl: Added.
* html/track/AudioTrackList.cpp: Added, based on TextTrackList
* html/track/AudioTrackList.h: Same.
* html/track/AudioTrackList.idl: Added.
* html/track/TextTrackList.h: Add missing OVERRIDE on interfaceName()
* html/track/VideoTrack.cpp: Added, based on TextTrack and InbandTextTrack.
* html/track/VideoTrack.h: Same.
* html/track/VideoTrack.idl: Added.
* html/track/VideoTrackList.cpp: Added, based on TextTrackList
* html/track/VideoTrackList.h: Same.
* html/track/VideoTrackList.idl: Added.
* platform/graphics/AudioTrackPrivate.h: Added, based on InbandTextTrackPrivate.h
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::addAudioTrack): Added, based on addTextTrack
(WebCore::MediaPlayer::removeAudioTrack): Added, based on removeTextTrack
(WebCore::MediaPlayer::addVideoTrack): Added, based on addTextTrack
(WebCore::MediaPlayer::removeVideoTrack): Added, based on removeTextTrack
* platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerDidAddAudioTrack): Added, based on mediaPlayerDidAddTextTrack
(WebCore::MediaPlayerClient::mediaPlayerDidAddVideoTrack): Same
(WebCore::MediaPlayerClient::mediaPlayerDidRemoveAudioTrack): Added, based on mediaPlayerDidRemoveTextTrack
(WebCore::MediaPlayerClient::mediaPlayerDidRemoveVideoTrack): Same
* platform/graphics/VideoTrackPrivate.h: Added, based on InbandTextTrackPrivate.h

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@148785 268f45cc-cd09-0410-ab3c-d52691b4dbfc
56 files changed:
Source/WebCore/CMakeLists.txt
Source/WebCore/ChangeLog
Source/WebCore/DerivedSources.cpp
Source/WebCore/DerivedSources.make
Source/WebCore/DerivedSources.pri
Source/WebCore/GNUmakefile.list.am
Source/WebCore/Target.pri
Source/WebCore/UseJSC.cmake
Source/WebCore/WebCore.vcproj/WebCore.vcproj
Source/WebCore/WebCore.xcodeproj/project.pbxproj
Source/WebCore/bindings/gobject/GNUmakefile.am
Source/WebCore/bindings/js/JSAudioTrackCustom.cpp [new file with mode: 0644]
Source/WebCore/bindings/js/JSAudioTrackListCustom.cpp [moved from Source/WebCore/bindings/js/JSTextTrackCustom.h with 63% similarity]
Source/WebCore/bindings/js/JSBindingsAllInOne.cpp
Source/WebCore/bindings/js/JSTextTrackCueCustom.cpp
Source/WebCore/bindings/js/JSTextTrackCustom.cpp
Source/WebCore/bindings/js/JSTextTrackListCustom.cpp
Source/WebCore/bindings/js/JSTrackCustom.cpp
Source/WebCore/bindings/js/JSTrackCustom.h
Source/WebCore/bindings/js/JSVideoTrackCustom.cpp [new file with mode: 0644]
Source/WebCore/bindings/js/JSVideoTrackListCustom.cpp [new file with mode: 0644]
Source/WebCore/dom/EventTarget.h
Source/WebCore/dom/EventTargetFactory.in
Source/WebCore/html/HTMLMediaElement.cpp
Source/WebCore/html/HTMLMediaElement.h
Source/WebCore/html/HTMLMediaElement.idl
Source/WebCore/html/track/AudioTrack.cpp [new file with mode: 0644]
Source/WebCore/html/track/AudioTrack.h [new file with mode: 0644]
Source/WebCore/html/track/AudioTrack.idl [new file with mode: 0644]
Source/WebCore/html/track/AudioTrackList.cpp [new file with mode: 0644]
Source/WebCore/html/track/AudioTrackList.h [new file with mode: 0644]
Source/WebCore/html/track/AudioTrackList.idl [new file with mode: 0644]
Source/WebCore/html/track/InbandTextTrack.cpp
Source/WebCore/html/track/InbandTextTrack.h
Source/WebCore/html/track/LoadableTextTrack.cpp
Source/WebCore/html/track/LoadableTextTrack.h
Source/WebCore/html/track/TextTrack.idl
Source/WebCore/html/track/TextTrackList.cpp
Source/WebCore/html/track/TextTrackList.h
Source/WebCore/html/track/TextTrackList.idl
Source/WebCore/html/track/TrackBase.cpp
Source/WebCore/html/track/TrackBase.h
Source/WebCore/html/track/TrackListBase.cpp
Source/WebCore/html/track/TrackListBase.h
Source/WebCore/html/track/VideoTrack.cpp [new file with mode: 0644]
Source/WebCore/html/track/VideoTrack.h [new file with mode: 0644]
Source/WebCore/html/track/VideoTrack.idl [new file with mode: 0644]
Source/WebCore/html/track/VideoTrackList.cpp [new file with mode: 0644]
Source/WebCore/html/track/VideoTrackList.h [new file with mode: 0644]
Source/WebCore/html/track/VideoTrackList.idl [new file with mode: 0644]
Source/WebCore/platform/graphics/AudioTrackPrivate.h [new file with mode: 0644]
Source/WebCore/platform/graphics/InbandTextTrackPrivate.h
Source/WebCore/platform/graphics/InbandTextTrackPrivateClient.h
Source/WebCore/platform/graphics/MediaPlayer.cpp
Source/WebCore/platform/graphics/MediaPlayer.h
Source/WebCore/platform/graphics/VideoTrackPrivate.h [new file with mode: 0644]