Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1387)

Unified Diff: Source/core/html/track/TextTrackCue.cpp

Issue 25798003: Enable WebVTT regions for runtime testing, updated tests and minor fixes (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebased Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/html/track/TextTrackCue.h ('k') | Source/core/html/track/TextTrackCue.idl » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/html/track/TextTrackCue.cpp
diff --git a/Source/core/html/track/TextTrackCue.cpp b/Source/core/html/track/TextTrackCue.cpp
index bfce2e59e995681ff847dc90f3db54de2eefd938..9f92a33b1fe1bed11e897fd9ca059bc2381d294d 100644
--- a/Source/core/html/track/TextTrackCue.cpp
+++ b/Source/core/html/track/TextTrackCue.cpp
@@ -30,11 +30,11 @@
*/
#include "config.h"
-
#include "core/html/track/TextTrackCue.h"
#include "CSSPropertyNames.h"
#include "CSSValueKeywords.h"
+#include "RuntimeEnabledFeatures.h"
#include "bindings/v8/ExceptionStatePlaceholder.h"
#include "core/dom/DocumentFragment.h"
#include "core/events/Event.h"
@@ -131,12 +131,10 @@ TextTrackCue* TextTrackCueBox::getCue() const
void TextTrackCueBox::applyCSSProperties(const IntSize&)
{
// FIXME: Apply all the initial CSS positioning properties. http://wkb.ug/79916
-#if ENABLE(WEBVTT_REGIONS)
if (!m_cue->regionId().isEmpty()) {
setInlineStyleProperty(CSSPropertyPosition, CSSValueRelative);
return;
}
-#endif
// 3.5.1 On the (root) List of WebVTT Node Objects:
@@ -226,6 +224,7 @@ TextTrackCue::TextTrackCue(ExecutionContext* context, double start, double end,
, m_cueBackgroundBox(HTMLDivElement::create(*toDocument(context)))
, m_displayTreeShouldChange(true)
, m_displayDirection(CSSValueLtr)
+ , m_notifyRegion(true)
{
ASSERT(m_executionContext->isDocument());
ScriptWrappable::init(this);
@@ -557,7 +556,6 @@ bool TextTrackCue::dispatchEvent(PassRefPtr<Event> event)
return EventTarget::dispatchEvent(event);
}
-#if ENABLE(WEBVTT_REGIONS)
void TextTrackCue::setRegionId(const String& regionId)
{
if (m_regionId == regionId)
@@ -567,7 +565,11 @@ void TextTrackCue::setRegionId(const String& regionId)
m_regionId = regionId;
cueDidChange();
}
-#endif
+
+void TextTrackCue::notifyRegionWhenRemovingDisplayTree(bool notifyRegion)
+{
+ m_notifyRegion = notifyRegion;
+}
bool TextTrackCue::isActive()
{
@@ -877,12 +879,12 @@ PassRefPtr<TextTrackCueBox> TextTrackCue::getDisplayTree(const IntSize& videoSiz
void TextTrackCue::removeDisplayTree()
{
-#if ENABLE(WEBVTT_REGIONS)
- // The region needs to be informed about the cue removal.
- TextTrackRegion* region = m_track->regions()->getRegionById(m_regionId);
- if (region)
- region->willRemoveTextTrackCueBox(m_displayTree.get());
-#endif
+ if (m_notifyRegion && m_track->regions()) {
+ // The region needs to be informed about the cue removal.
+ TextTrackRegion* region = m_track->regions()->getRegionById(m_regionId);
+ if (region)
+ region->willRemoveTextTrackCueBox(m_displayTree.get());
+ }
displayTreeInternal()->remove(ASSERT_NO_EXCEPTION);
}
@@ -932,9 +934,7 @@ TextTrackCue::CueSetting TextTrackCue::settingName(const String& name)
DEFINE_STATIC_LOCAL(const String, positionKeyword, ("position"));
DEFINE_STATIC_LOCAL(const String, sizeKeyword, ("size"));
DEFINE_STATIC_LOCAL(const String, alignKeyword, ("align"));
-#if ENABLE(WEBVTT_REGIONS)
DEFINE_STATIC_LOCAL(const String, regionIdKeyword, ("region"));
-#endif
if (name == verticalKeyword)
return Vertical;
@@ -946,10 +946,8 @@ TextTrackCue::CueSetting TextTrackCue::settingName(const String& name)
return Size;
else if (name == alignKeyword)
return Align;
-#if ENABLE(WEBVTT_REGIONS)
- else if (name == regionIdKeyword)
+ else if (RuntimeEnabledFeatures::webVTTRegionsEnabled() && name == regionIdKeyword)
return RegionId;
-#endif
return None;
}
@@ -1151,11 +1149,9 @@ void TextTrackCue::setCueSettings(const String& input)
m_cueAlignment = Right;
}
break;
-#if ENABLE(WEBVTT_REGIONS)
case RegionId:
m_regionId = WebVTTParser::collectWord(input, &position);
break;
-#endif
case None:
break;
}
@@ -1163,7 +1159,7 @@ void TextTrackCue::setCueSettings(const String& input)
NextSetting:
position = endOfSetting;
}
-#if ENABLE(WEBVTT_REGIONS)
+
// If cue's line position is not auto or cue's size is not 100 or cue's
// writing direction is not horizontal, but cue's region identifier is not
// the empty string, let cue's region identifier be the empty string.
@@ -1172,7 +1168,6 @@ NextSetting:
if (m_linePosition != undefinedPosition || m_cueSize != 100 || m_writingDirection != Horizontal)
m_regionId = emptyString();
-#endif
}
CSSValueID TextTrackCue::getCSSAlignment() const
« no previous file with comments | « Source/core/html/track/TextTrackCue.h ('k') | Source/core/html/track/TextTrackCue.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698