Commit 9e3beaee authored by acolwell@chromium.org's avatar acolwell@chromium.org

Remove VideoTrack runtime feature since we always support TextTracks.

We haven't built Chrome without TextTrack support for a long
time so I'm removing the VideoTrack feature flag and removing
all conditional code that depended on it. It is part of the
HTML5 spec and should be on by default for any compliant
implementation that supports media.

Review URL: https://codereview.chromium.org/205583009

git-svn-id: svn://svn.chromium.org/blink/trunk@170680 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent 6f433b5b
......@@ -427,9 +427,6 @@ void HTMLMediaElement::finishParsingChildren()
{
HTMLElement::finishParsingChildren();
if (!RuntimeEnabledFeatures::videoTrackEnabled())
return;
if (Traversal<HTMLTrackElement>::firstChild(*this))
scheduleDelayedAction(LoadTextTrackResource);
}
......@@ -497,7 +494,7 @@ void HTMLMediaElement::scheduleDelayedAction(DelayedActionType actionType)
m_pendingActionFlags |= LoadMediaResource;
}
if (RuntimeEnabledFeatures::videoTrackEnabled() && (actionType & LoadTextTrackResource))
if (actionType & LoadTextTrackResource)
m_pendingActionFlags |= LoadTextTrackResource;
if (!m_loadTimer.isActive())
......@@ -526,7 +523,7 @@ void HTMLMediaElement::scheduleEvent(PassRefPtr<Event> event)
void HTMLMediaElement::loadTimerFired(Timer<HTMLMediaElement>*)
{
if (RuntimeEnabledFeatures::videoTrackEnabled() && (m_pendingActionFlags & LoadTextTrackResource))
if (m_pendingActionFlags & LoadTextTrackResource)
configureTextTracks();
if (m_pendingActionFlags & LoadMediaResource) {
......@@ -663,7 +660,6 @@ void HTMLMediaElement::prepareForLoad()
updateMediaController();
if (RuntimeEnabledFeatures::videoTrackEnabled())
updateActiveTextTrackCues(0);
}
......@@ -703,7 +699,6 @@ void HTMLMediaElement::loadInternal()
{
// HTMLMediaElement::textTracksAreReady will need "... the text tracks whose mode was not in the
// disabled state when the element's resource selection algorithm last started".
if (RuntimeEnabledFeatures::videoTrackEnabled()) {
m_textTracksWhenResourceSelectionBegan.clear();
if (m_textTracks) {
for (unsigned i = 0; i < m_textTracks->length(); ++i) {
......@@ -712,7 +707,6 @@ void HTMLMediaElement::loadInternal()
m_textTracksWhenResourceSelectionBegan.append(track);
}
}
}
selectMediaResource();
}
......@@ -1545,7 +1539,7 @@ void HTMLMediaElement::setReadyState(MediaPlayer::ReadyState state)
ReadyState oldState = m_readyState;
ReadyState newState = static_cast<ReadyState>(state);
bool tracksAreReady = !RuntimeEnabledFeatures::videoTrackEnabled() || textTracksAreReady();
bool tracksAreReady = textTracksAreReady();
if (newState == oldState && m_tracksAreReady == tracksAreReady)
return;
......@@ -1644,7 +1638,6 @@ void HTMLMediaElement::setReadyState(MediaPlayer::ReadyState state)
updatePlayState();
updateMediaController();
if (RuntimeEnabledFeatures::videoTrackEnabled())
updateActiveTextTrackCues(currentTime());
}
......@@ -2177,7 +2170,6 @@ void HTMLMediaElement::playbackProgressTimerFired(Timer<HTMLMediaElement>*)
if (!m_paused && hasMediaControls())
mediaControls()->playbackProgressed();
if (RuntimeEnabledFeatures::videoTrackEnabled())
updateActiveTextTrackCues(currentTime());
}
......@@ -2227,9 +2219,6 @@ void HTMLMediaElement::togglePlayState()
void HTMLMediaElement::mediaPlayerDidAddTextTrack(WebInbandTextTrack* webTrack)
{
if (!RuntimeEnabledFeatures::videoTrackEnabled())
return;
// 4.8.10.12.2 Sourcing in-band text tracks
// 1. Associate the relevant data with a new text track and its corresponding new TextTrack object.
RefPtr<InbandTextTrack> textTrack = InbandTextTrack::create(document(), webTrack);
......@@ -2262,9 +2251,6 @@ void HTMLMediaElement::mediaPlayerDidAddTextTrack(WebInbandTextTrack* webTrack)
void HTMLMediaElement::mediaPlayerDidRemoveTextTrack(WebInbandTextTrack* webTrack)
{
if (!RuntimeEnabledFeatures::videoTrackEnabled())
return;
if (!m_textTracks)
return;
......@@ -2309,8 +2295,6 @@ void HTMLMediaElement::forgetResourceSpecificTracks()
PassRefPtr<TextTrack> HTMLMediaElement::addTextTrack(const AtomicString& kind, const AtomicString& label, const AtomicString& language, ExceptionState& exceptionState)
{
ASSERT(RuntimeEnabledFeatures::videoTrackEnabled());
// 4.8.10.12.4 Text track API
// The addTextTrack(kind, label, language) method of media elements, when invoked, must run the following steps:
......@@ -2345,8 +2329,6 @@ PassRefPtr<TextTrack> HTMLMediaElement::addTextTrack(const AtomicString& kind, c
TextTrackList* HTMLMediaElement::textTracks()
{
ASSERT(RuntimeEnabledFeatures::videoTrackEnabled());
if (!m_textTracks)
m_textTracks = TextTrackList::create(this);
......@@ -2355,9 +2337,6 @@ TextTrackList* HTMLMediaElement::textTracks()
void HTMLMediaElement::didAddTrackElement(HTMLTrackElement* trackElement)
{
if (!RuntimeEnabledFeatures::videoTrackEnabled())
return;
// 4.8.10.12.3 Sourcing out-of-band text tracks
// When a track element's parent element changes and the new parent is a media element,
// then the user agent must add the track element's corresponding text track to the
......@@ -2379,9 +2358,6 @@ void HTMLMediaElement::didAddTrackElement(HTMLTrackElement* trackElement)
void HTMLMediaElement::didRemoveTrackElement(HTMLTrackElement* trackElement)
{
if (!RuntimeEnabledFeatures::videoTrackEnabled())
return;
#if !LOG_DISABLED
KURL url = trackElement->getNonEmptyURLAttribute(srcAttr);
WTF_LOG(Media, "HTMLMediaElement::didRemoveTrackElement - 'src' is %s", urlForLoggingMedia(url).utf8().data());
......@@ -2758,7 +2734,6 @@ void HTMLMediaElement::mediaPlayerTimeChanged()
{
WTF_LOG(Media, "HTMLMediaElement::mediaPlayerTimeChanged");
if (RuntimeEnabledFeatures::videoTrackEnabled())
updateActiveTextTrackCues(currentTime());
invalidateCachedTime();
......@@ -3122,7 +3097,6 @@ void HTMLMediaElement::userCancelledLoad()
// Reset m_readyState since m_player is gone.
m_readyState = HAVE_NOTHING;
updateMediaController();
if (RuntimeEnabledFeatures::videoTrackEnabled())
updateActiveTextTrackCues(0);
}
......@@ -3238,7 +3212,7 @@ blink::WebLayer* HTMLMediaElement::platformLayer() const
bool HTMLMediaElement::hasClosedCaptions() const
{
if (RuntimeEnabledFeatures::videoTrackEnabled() && m_textTracks) {
if (m_textTracks) {
for (unsigned i = 0; i < m_textTracks->length(); ++i) {
if (m_textTracks->item(i)->readinessState() == TextTrack::FailedToLoad)
continue;
......@@ -3275,13 +3249,11 @@ void HTMLMediaElement::setClosedCaptionsVisible(bool closedCaptionVisible)
m_closedCaptionsVisible = closedCaptionVisible;
if (RuntimeEnabledFeatures::videoTrackEnabled()) {
m_processingPreferenceChange = true;
markCaptionAndSubtitleTracksAsUnconfigured();
m_processingPreferenceChange = false;
updateTextTrackDisplay();
}
}
unsigned HTMLMediaElement::webkitAudioDecodedByteCount() const
......@@ -3401,10 +3373,8 @@ void HTMLMediaElement::configureTextTrackDisplay(VisibilityChangeAssumption assu
mediaControls()->changedClosedCaptionsVisibility();
if (RuntimeEnabledFeatures::videoTrackEnabled()) {
updateActiveTextTrackCues(currentTime());
updateTextTrackDisplay();
}
}
void HTMLMediaElement::markCaptionAndSubtitleTracksAsUnconfigured()
......
......@@ -82,8 +82,8 @@
[Reflect=muted] attribute boolean defaultMuted;
// tracks
[RuntimeEnabled=VideoTrack] readonly attribute TextTrackList textTracks;
[RuntimeEnabled=VideoTrack, RaisesException] TextTrack addTextTrack(DOMString kind, optional DOMString label, optional DOMString language);
readonly attribute TextTrackList textTracks;
[RaisesException] TextTrack addTextTrack(DOMString kind, optional DOMString label, optional DOMString language);
// WebKit extensions
......
......@@ -128,7 +128,7 @@ th interfaceName=HTMLTableCellElement
thead interfaceName=HTMLTableSectionElement
title
tr interfaceName=HTMLTableRowElement
track runtimeEnabled=videoTrack
track
tt interfaceName=HTMLElement
u interfaceName=HTMLElement
ul interfaceName=HTMLUListElement
......
......@@ -23,9 +23,7 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
[
RuntimeEnabled=VideoTrack
] interface HTMLTrackElement : HTMLElement {
interface HTMLTrackElement : HTMLElement {
attribute DOMString kind;
[Reflect, URL, PerWorldBindings, ActivityLogging=SetterForIsolatedWorlds] attribute DOMString src;
[Reflect] attribute DOMString srclang;
......
......@@ -26,9 +26,7 @@
enum TextTrackMode { "disabled", "hidden", "showing" };
enum TextTrackKind { "subtitles", "captions", "descriptions", "chapters", "metadata" };
[
RuntimeEnabled=VideoTrack
] interface TextTrack : EventTarget {
interface TextTrack : EventTarget {
readonly attribute TextTrackKind kind;
readonly attribute DOMString label;
readonly attribute DOMString language;
......
......@@ -25,7 +25,6 @@
[
Custom=ToV8,
RuntimeEnabled=VideoTrack,
] interface TextTrackCue : EventTarget {
readonly attribute TextTrack track;
......
......@@ -23,9 +23,7 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
[
RuntimeEnabled=VideoTrack
] interface TextTrackCueList {
interface TextTrackCueList {
readonly attribute unsigned long length;
getter TextTrackCue item(unsigned long index);
TextTrackCue getCueById(DOMString id);
......
......@@ -25,7 +25,6 @@
[
SetWrapperReferenceFrom=owner,
RuntimeEnabled=VideoTrack,
] interface TextTrackList : EventTarget {
readonly attribute unsigned long length;
getter TextTrack item(unsigned long index);
......
......@@ -24,9 +24,7 @@
*/
[
RuntimeEnabled=VideoTrack,
EventConstructor,
] interface TrackEvent : Event {
[InitializedByEventConstructor, Custom=Getter] readonly attribute object track;
};
\ No newline at end of file
......@@ -30,7 +30,6 @@
[
Constructor(double startTime, double endTime, DOMString text),
ConstructorCallWith=Document,
RuntimeEnabled=VideoTrack,
] interface VTTCue : TextTrackCue {
[RuntimeEnabled=WebVTTRegions] attribute DOMString regionId;
[RaisesException=Setter] attribute DOMString vertical;
......
......@@ -125,13 +125,12 @@ Touch status=stable
TouchIconLoading
UserSelectAll status=experimental
ScriptPromiseOnV8Promise
VideoTrack depends_on=Media, status=stable
WebAnimationsSVG
WebAnimationsAPI status=experimental
WebAudio condition=WEB_AUDIO, status=stable
WebGLDraftExtensions status=experimental
WebMIDI status=test
WebKitMediaSource status=stable
WebVTTRegions depends_on=VideoTrack, status=experimental
WebVTTRegions depends_on=Media, status=experimental
WOFF2 status=stable
XSLT status=stable
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment