- Revision
- 152741
- Author
- [email protected]
- Date
- 2013-07-16 14:34:12 -0700 (Tue, 16 Jul 2013)
Log Message
Make WebVTTParser return cue data instead of cue DOM objects
https://bugs.webkit.org/show_bug.cgi?id=118687
Patch by Brendan Long <[email protected]> on 2013-07-16
Reviewed by Eric Carlson.
No new tests because this doesn't change functionality.
* html/track/InbandTextTrack.cpp:
Make TextTrackCueMap handle WebVTTCues instead of just generic cues.
m_dataToCueMap and m_cueToDataMap were renamed m_genericDataToCueMap
and m_genericCueToDataMap. The cue maps were turned into pointers so we
only allocate the ones we need.
(WebCore::TextTrackCueMap::TextTrackCueMap): Initialize maps to 0.
(WebCore::TextTrackCueMap::~TextTrackCueMap): Delete allocated maps.
(WebCore::TextTrackCueMap::add): Changed to allocate cue maps as needed, and added WebVTT version.
(WebCore::TextTrackCueMap::find): Checked to check if cue maps are allocated, and added WebVTT version.
(WebCore::TextTrackCueMap::findGenericData): Changed to accept TextTrackCue instead of TextTrackCueGeneric.
(WebCore::TextTrackCueMap::findWebVTTData): Same as findGenericData, except for WebVTTCueData.
(WebCore::TextTrackCueMap::remove): Accept TextTrackCue instead of TextTrackCueGeneric, and look in both maps.
(WebCore::InbandTextTrack::addWebVTTCue): Added, based on addGenericCue.
(WebCore::InbandTextTrack::removeWebVTTCue): Added, almost identical to removeGenericCue.
(WebCore::InbandTextTrack::removeCue): m_cueMap.remove() takes a TextTrackCue now so it can remove both types of cue.
(WebCore::InbandTextTrack::willRemoveTextTrackPrivate): Use ASSERT_UNUSED instead of UNUSED_PARAM + ASSERT.
* html/track/InbandTextTrack.h: Add new functions above, change maps to pointers and add maps for holding WebVTT cues.
* html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::getNewCues): Return WebVTTCueData instead of TextTrackCue.
(WebCore::WebVTTParser::createNewCue): Create WebVTTCueData instead of TextTrackCue.
* html/track/WebVTTParser.h: Add WebVTTCueData class, based on GenericCueData.
The following functions are just constructors, destructors, getters, or setters.
(WebCore::WebVTTCueData::create):
(WebCore::WebVTTCueData::~WebVTTCueData):
(WebCore::WebVTTCueData::startTime):
(WebCore::WebVTTCueData::setStartTime):
(WebCore::WebVTTCueData::endTime):
(WebCore::WebVTTCueData::setEndTime):
(WebCore::WebVTTCueData::id):
(WebCore::WebVTTCueData::setId):
(WebCore::WebVTTCueData::content):
(WebCore::WebVTTCueData::setContent):
(WebCore::WebVTTCueData::settings):
(WebCore::WebVTTCueData::setSettings):
(WebCore::WebVTTCueData::WebVTTCueData):
* loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::getNewCues): Convert WebVTTCueData to TextTrackCue when we get them.
* platform/graphics/InbandTextTrackPrivateClient.h: Add addWebVTTCue and removeWebVTTCue functions to the interface.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (152740 => 152741)
--- trunk/Source/WebCore/ChangeLog 2013-07-16 21:14:58 UTC (rev 152740)
+++ trunk/Source/WebCore/ChangeLog 2013-07-16 21:34:12 UTC (rev 152741)
@@ -1,3 +1,51 @@
+2013-07-16 Brendan Long <[email protected]>
+
+ Make WebVTTParser return cue data instead of cue DOM objects
+ https://bugs.webkit.org/show_bug.cgi?id=118687
+
+ Reviewed by Eric Carlson.
+
+ No new tests because this doesn't change functionality.
+
+ * html/track/InbandTextTrack.cpp:
+ Make TextTrackCueMap handle WebVTTCues instead of just generic cues.
+ m_dataToCueMap and m_cueToDataMap were renamed m_genericDataToCueMap
+ and m_genericCueToDataMap. The cue maps were turned into pointers so we
+ only allocate the ones we need.
+ (WebCore::TextTrackCueMap::TextTrackCueMap): Initialize maps to 0.
+ (WebCore::TextTrackCueMap::~TextTrackCueMap): Delete allocated maps.
+ (WebCore::TextTrackCueMap::add): Changed to allocate cue maps as needed, and added WebVTT version.
+ (WebCore::TextTrackCueMap::find): Checked to check if cue maps are allocated, and added WebVTT version.
+ (WebCore::TextTrackCueMap::findGenericData): Changed to accept TextTrackCue instead of TextTrackCueGeneric.
+ (WebCore::TextTrackCueMap::findWebVTTData): Same as findGenericData, except for WebVTTCueData.
+ (WebCore::TextTrackCueMap::remove): Accept TextTrackCue instead of TextTrackCueGeneric, and look in both maps.
+ (WebCore::InbandTextTrack::addWebVTTCue): Added, based on addGenericCue.
+ (WebCore::InbandTextTrack::removeWebVTTCue): Added, almost identical to removeGenericCue.
+ (WebCore::InbandTextTrack::removeCue): m_cueMap.remove() takes a TextTrackCue now so it can remove both types of cue.
+ (WebCore::InbandTextTrack::willRemoveTextTrackPrivate): Use ASSERT_UNUSED instead of UNUSED_PARAM + ASSERT.
+ * html/track/InbandTextTrack.h: Add new functions above, change maps to pointers and add maps for holding WebVTT cues.
+ * html/track/WebVTTParser.cpp:
+ (WebCore::WebVTTParser::getNewCues): Return WebVTTCueData instead of TextTrackCue.
+ (WebCore::WebVTTParser::createNewCue): Create WebVTTCueData instead of TextTrackCue.
+ * html/track/WebVTTParser.h: Add WebVTTCueData class, based on GenericCueData.
+ The following functions are just constructors, destructors, getters, or setters.
+ (WebCore::WebVTTCueData::create):
+ (WebCore::WebVTTCueData::~WebVTTCueData):
+ (WebCore::WebVTTCueData::startTime):
+ (WebCore::WebVTTCueData::setStartTime):
+ (WebCore::WebVTTCueData::endTime):
+ (WebCore::WebVTTCueData::setEndTime):
+ (WebCore::WebVTTCueData::id):
+ (WebCore::WebVTTCueData::setId):
+ (WebCore::WebVTTCueData::content):
+ (WebCore::WebVTTCueData::setContent):
+ (WebCore::WebVTTCueData::settings):
+ (WebCore::WebVTTCueData::setSettings):
+ (WebCore::WebVTTCueData::WebVTTCueData):
+ * loader/TextTrackLoader.cpp:
+ (WebCore::TextTrackLoader::getNewCues): Convert WebVTTCueData to TextTrackCue when we get them.
+ * platform/graphics/InbandTextTrackPrivateClient.h: Add addWebVTTCue and removeWebVTTCue functions to the interface.
+
2013-07-16 Tim Horton <[email protected]>
Use the correct cursor value for the unavailable plugin indicator
Modified: trunk/Source/WebCore/html/track/InbandTextTrack.cpp (152740 => 152741)
--- trunk/Source/WebCore/html/track/InbandTextTrack.cpp 2013-07-16 21:14:58 UTC (rev 152740)
+++ trunk/Source/WebCore/html/track/InbandTextTrack.cpp 2013-07-16 21:34:12 UTC (rev 152741)
@@ -37,54 +37,156 @@
#include "Logging.h"
#include "TextTrackCueGeneric.h"
#include "TextTrackCueList.h"
+#include "WebVTTParser.h"
#include <math.h>
#include <wtf/text/CString.h>
namespace WebCore {
+TextTrackCueMap::TextTrackCueMap()
+ : m_genericCueToDataMap(0)
+ , m_genericDataToCueMap(0)
+ , m_webVTTCueToDataMap(0)
+ , m_webVTTDataToCueMap(0)
+{
+}
+
+TextTrackCueMap::~TextTrackCueMap()
+{
+ if (m_genericCueToDataMap) {
+ delete m_genericCueToDataMap;
+ ASSERT(m_genericDataToCueMap);
+ delete m_genericDataToCueMap;
+ } else
+ ASSERT(!m_genericDataToCueMap);
+
+ if (m_webVTTCueToDataMap) {
+ delete m_webVTTCueToDataMap;
+ ASSERT(m_webVTTDataToCueMap);
+ delete m_webVTTDataToCueMap;
+ } else
+ ASSERT(!m_webVTTDataToCueMap);
+}
+
void TextTrackCueMap::add(GenericCueData* cueData, TextTrackCueGeneric* cue)
{
- m_dataToCueMap.add(cueData, cue);
- m_cueToDataMap.add(cue, cueData);
+ if (!m_genericDataToCueMap) {
+ m_genericDataToCueMap = new GenericCueDataToCueMap;
+ ASSERT(!m_genericCueToDataMap);
+ m_genericCueToDataMap = new GenericCueToDataMap;
+ } else
+ ASSERT(m_genericCueToDataMap);
+
+ m_genericDataToCueMap->add(cueData, cue);
+ m_genericCueToDataMap->add(cue, cueData);
}
+void TextTrackCueMap::add(WebVTTCueData* cueData, TextTrackCue* cue)
+{
+ if (!m_webVTTDataToCueMap) {
+ m_webVTTDataToCueMap = new WebVTTCueDataToCueMap;
+ ASSERT(!m_webVTTCueToDataMap);
+ m_webVTTCueToDataMap = new WebVTTCueToDataMap;
+ } else
+ ASSERT(m_webVTTCueToDataMap);
+
+ m_webVTTDataToCueMap->add(cueData, cue);
+ m_webVTTCueToDataMap->add(cue, cueData);
+}
+
PassRefPtr<TextTrackCueGeneric> TextTrackCueMap::find(GenericCueData* cueData)
{
- GenericCueDataToCueMap::iterator iter = m_dataToCueMap.find(cueData);
- if (iter == m_dataToCueMap.end())
+ if (!m_genericDataToCueMap)
return 0;
-
+
+ GenericCueDataToCueMap::iterator iter = m_genericDataToCueMap->find(cueData);
+ if (iter == m_genericDataToCueMap->end())
+ return 0;
+
return iter->value;
}
-PassRefPtr<GenericCueData> TextTrackCueMap::find(TextTrackCueGeneric* cue)
+PassRefPtr<TextTrackCue> TextTrackCueMap::find(WebVTTCueData* cueData)
{
- GenericCueToCueDataMap::iterator iter = m_cueToDataMap.find(cue);
- if (iter == m_cueToDataMap.end())
+ if (!m_webVTTDataToCueMap)
return 0;
+
+ WebVTTCueDataToCueMap::iterator iter = m_webVTTDataToCueMap->find(cueData);
+ if (iter == m_webVTTDataToCueMap->end())
+ return 0;
+
+ return iter->value;
+}
+
+PassRefPtr<GenericCueData> TextTrackCueMap::findGenericData(TextTrackCue* cue)
+{
+ if (!m_genericCueToDataMap)
+ return 0;
+
+ GenericCueToDataMap::iterator iter = m_genericCueToDataMap->find(cue);
+ if (iter == m_genericCueToDataMap->end())
+ return 0;
+
+ return iter->value;
+}
+
+PassRefPtr<WebVTTCueData> TextTrackCueMap::findWebVTTData(TextTrackCue* cue)
+{
+ if (!m_webVTTCueToDataMap)
+ return 0;
+
+ WebVTTCueToDataMap::iterator iter = m_webVTTCueToDataMap->find(cue);
+ if (iter == m_webVTTCueToDataMap->end())
+ return 0;
return iter->value;
}
void TextTrackCueMap::remove(GenericCueData* cueData)
{
+ if (!m_genericCueToDataMap)
+ return;
+
RefPtr<TextTrackCueGeneric> cue = find(cueData);
if (cue)
- m_cueToDataMap.remove(cue);
- m_dataToCueMap.remove(cueData);
+ m_genericCueToDataMap->remove(cue);
+ m_genericDataToCueMap->remove(cueData);
}
-void TextTrackCueMap::remove(TextTrackCueGeneric* cue)
+void TextTrackCueMap::remove(TextTrackCue* cue)
{
- RefPtr<GenericCueData> cueData = find(cue);
+ if (m_genericCueToDataMap) {
+ RefPtr<GenericCueData> genericData = findGenericData(cue);
+ if (genericData) {
+ m_genericDataToCueMap->remove(genericData);
+ m_genericCueToDataMap->remove(cue);
+ return;
+ }
+ }
- if (cueData)
- m_dataToCueMap.remove(cueData);
- m_cueToDataMap.remove(cue);
+ if (m_webVTTCueToDataMap) {
+ RefPtr<WebVTTCueData> webVTTData = findWebVTTData(cue);
+ if (webVTTData) {
+ m_webVTTDataToCueMap->remove(webVTTData);
+ m_webVTTCueToDataMap->remove(cue);
+ }
+ }
}
+void TextTrackCueMap::remove(WebVTTCueData* cueData)
+{
+ if (!m_webVTTCueToDataMap)
+ return;
+ RefPtr<TextTrackCue> cue = find(cueData);
+
+ if (cue)
+ m_webVTTCueToDataMap->remove(cue);
+ m_webVTTDataToCueMap->remove(cueData);
+}
+
+
PassRefPtr<InbandTextTrack> InbandTextTrack::create(ScriptExecutionContext* context, TextTrackClient* client, PassRefPtr<InbandTextTrackPrivate> playerPrivate)
{
return adoptRef(new InbandTextTrack(context, client, playerPrivate));
@@ -228,8 +330,7 @@
void InbandTextTrack::addGenericCue(InbandTextTrackPrivate* trackPrivate, PassRefPtr<GenericCueData> prpCueData)
{
- UNUSED_PARAM(trackPrivate);
- ASSERT(trackPrivate == m_private);
+ ASSERT_UNUSED(trackPrivate, trackPrivate == m_private);
RefPtr<GenericCueData> cueData = prpCueData;
if (m_cueMap.find(cueData.get()))
@@ -270,9 +371,35 @@
m_cueMap.remove(cueData);
}
+void InbandTextTrack::addWebVTTCue(InbandTextTrackPrivate* trackPrivate, PassRefPtr<WebVTTCueData> prpCueData)
+{
+ ASSERT_UNUSED(trackPrivate, trackPrivate == m_private);
+
+ RefPtr<WebVTTCueData> cueData = prpCueData;
+ if (m_cueMap.find(cueData.get()))
+ return;
+
+ RefPtr<TextTrackCue> cue = TextTrackCue::create(scriptExecutionContext(), cueData->startTime(), cueData->endTime(), cueData->content());
+ cue->setId(cueData->id());
+ cue->setCueSettings(cueData->settings());
+
+ m_cueMap.add(cueData.get(), cue.get());
+ addCue(cue.release());
+}
+
+void InbandTextTrack::removeWebVTTCue(InbandTextTrackPrivate*, WebVTTCueData* cueData)
+{
+ RefPtr<TextTrackCue> cue = m_cueMap.find(cueData);
+ if (cue) {
+ LOG(Media, "InbandTextTrack::removeWebVTTCue removing cue: start=%.2f, end=%.2f, content=\"%s\"\n", cueData->startTime(), cueData->endTime(), cueData->content().utf8().data());
+ removeCue(cue.get(), IGNORE_EXCEPTION);
+ } else
+ m_cueMap.remove(cueData);
+}
+
void InbandTextTrack::removeCue(TextTrackCue* cue, ExceptionCode& ec)
{
- m_cueMap.remove(static_cast<TextTrackCueGeneric*>(cue));
+ m_cueMap.remove(cue);
TextTrack::removeCue(cue, ec);
}
@@ -280,9 +407,7 @@
{
if (!mediaElement())
return;
-
- UNUSED_PARAM(trackPrivate);
- ASSERT(trackPrivate == m_private);
+ ASSERT_UNUSED(trackPrivate, trackPrivate == m_private);
mediaElement()->removeTextTrack(this);
}
Modified: trunk/Source/WebCore/html/track/InbandTextTrack.h (152740 => 152741)
--- trunk/Source/WebCore/html/track/InbandTextTrack.h 2013-07-16 21:14:58 UTC (rev 152740)
+++ trunk/Source/WebCore/html/track/InbandTextTrack.h 2013-07-16 21:34:12 UTC (rev 152741)
@@ -38,26 +38,35 @@
class Document;
class InbandTextTrackPrivate;
class TextTrackCue;
+class WebVTTCueData;
class TextTrackCueMap {
public:
- TextTrackCueMap() { }
- virtual ~TextTrackCueMap() { }
+ TextTrackCueMap();
+ virtual ~TextTrackCueMap();
void add(GenericCueData*, TextTrackCueGeneric*);
+ void add(WebVTTCueData*, TextTrackCue*);
+ void remove(TextTrackCue*);
void remove(GenericCueData*);
- void remove(TextTrackCueGeneric*);
-
- PassRefPtr<GenericCueData> find(TextTrackCueGeneric*);
+ void remove(WebVTTCueData*);
+
+ PassRefPtr<GenericCueData> findGenericData(TextTrackCue*);
+ PassRefPtr<WebVTTCueData> findWebVTTData(TextTrackCue*);
PassRefPtr<TextTrackCueGeneric> find(GenericCueData*);
+ PassRefPtr<TextTrackCue> find(WebVTTCueData*);
private:
- typedef HashMap<RefPtr<TextTrackCueGeneric>, RefPtr<GenericCueData> > GenericCueToCueDataMap;
+ typedef HashMap<RefPtr<TextTrackCue>, RefPtr<GenericCueData> > GenericCueToDataMap;
typedef HashMap<RefPtr<GenericCueData>, RefPtr<TextTrackCueGeneric> > GenericCueDataToCueMap;
-
- GenericCueToCueDataMap m_cueToDataMap;
- GenericCueDataToCueMap m_dataToCueMap;
+ typedef HashMap<RefPtr<TextTrackCue>, RefPtr<WebVTTCueData> > WebVTTCueToDataMap;
+ typedef HashMap<RefPtr<WebVTTCueData>, RefPtr<TextTrackCue> > WebVTTCueDataToCueMap;
+
+ GenericCueToDataMap* m_genericCueToDataMap;
+ GenericCueDataToCueMap* m_genericDataToCueMap;
+ WebVTTCueToDataMap* m_webVTTCueToDataMap;
+ WebVTTCueDataToCueMap* m_webVTTDataToCueMap;
};
class InbandTextTrack : public TextTrack, public InbandTextTrackPrivateClient {
@@ -79,6 +88,8 @@
virtual void addGenericCue(InbandTextTrackPrivate*, PassRefPtr<GenericCueData>) OVERRIDE;
virtual void updateGenericCue(InbandTextTrackPrivate*, GenericCueData*) OVERRIDE;
virtual void removeGenericCue(InbandTextTrackPrivate*, GenericCueData*) OVERRIDE;
+ virtual void addWebVTTCue(InbandTextTrackPrivate*, PassRefPtr<WebVTTCueData>) OVERRIDE;
+ virtual void removeWebVTTCue(InbandTextTrackPrivate*, WebVTTCueData*) OVERRIDE;
virtual void removeCue(TextTrackCue*, ExceptionCode&) OVERRIDE;
virtual void willRemoveTextTrackPrivate(InbandTextTrackPrivate*) OVERRIDE;
Modified: trunk/Source/WebCore/html/track/WebVTTParser.cpp (152740 => 152741)
--- trunk/Source/WebCore/html/track/WebVTTParser.cpp 2013-07-16 21:14:58 UTC (rev 152740)
+++ trunk/Source/WebCore/html/track/WebVTTParser.cpp 2013-07-16 21:34:12 UTC (rev 152741)
@@ -126,7 +126,7 @@
{
}
-void WebVTTParser::getNewCues(Vector<RefPtr<TextTrackCue> >& outputCues)
+void WebVTTParser::getNewCues(Vector<RefPtr<WebVTTCueData> >& outputCues)
{
outputCues = m_cuelist;
m_cuelist.clear();
@@ -360,9 +360,12 @@
if (!m_currentContent.length())
return;
- RefPtr<TextTrackCue> cue = TextTrackCue::create(m_scriptExecutionContext, m_currentStartTime, m_currentEndTime, m_currentContent.toString());
+ RefPtr<WebVTTCueData> cue = WebVTTCueData::create();
+ cue->setStartTime(m_currentStartTime);
+ cue->setEndTime(m_currentEndTime);
+ cue->setContent(m_currentContent.toString());
cue->setId(m_currentId);
- cue->setCueSettings(m_currentSettings);
+ cue->setSettings(m_currentSettings);
m_cuelist.append(cue);
if (m_client)
Modified: trunk/Source/WebCore/html/track/WebVTTParser.h (152740 => 152741)
--- trunk/Source/WebCore/html/track/WebVTTParser.h 2013-07-16 21:14:58 UTC (rev 152740)
+++ trunk/Source/WebCore/html/track/WebVTTParser.h 2013-07-16 21:34:12 UTC (rev 152741)
@@ -35,7 +35,6 @@
#include "DocumentFragment.h"
#include "HTMLNames.h"
-#include "TextTrackCue.h"
#include "TextTrackRegion.h"
#include "WebVTTTokenizer.h"
#include <wtf/PassOwnPtr.h>
@@ -58,6 +57,41 @@
virtual void fileFailedToParse() = 0;
};
+class WebVTTCueData : public RefCounted<WebVTTCueData> {
+public:
+
+ static PassRefPtr<WebVTTCueData> create() { return adoptRef(new WebVTTCueData()); }
+ virtual ~WebVTTCueData() { }
+
+ double startTime() const { return m_startTime; }
+ void setStartTime(double startTime) { m_startTime = startTime; }
+
+ double endTime() const { return m_endTime; }
+ void setEndTime(double endTime) { m_endTime = endTime; }
+
+ String id() const { return m_id; }
+ void setId(String id) { m_id = id; }
+
+ String content() const { return m_content; }
+ void setContent(String content) { m_content = content; }
+
+ String settings() const { return m_settings; }
+ void setSettings(String settings) { m_settings = settings; }
+
+private:
+ WebVTTCueData()
+ : m_startTime(0)
+ , m_endTime(0)
+ {
+ }
+
+ double m_startTime;
+ double m_endTime;
+ String m_id;
+ String m_content;
+ String m_settings;
+};
+
class WebVTTParser {
public:
virtual ~WebVTTParser() { }
@@ -112,7 +146,7 @@
void parseBytes(const char* data, unsigned length);
// Transfers ownership of last parsed cues to caller.
- void getNewCues(Vector<RefPtr<TextTrackCue> >&);
+ void getNewCues(Vector<RefPtr<WebVTTCueData> >&);
#if ENABLE(WEBVTT_REGIONS)
void getNewRegions(Vector<RefPtr<TextTrackRegion> >&);
#endif
@@ -165,7 +199,7 @@
WebVTTParserClient* m_client;
Vector<AtomicString> m_languageStack;
- Vector<RefPtr<TextTrackCue> > m_cuelist;
+ Vector<RefPtr<WebVTTCueData> > m_cuelist;
#if ENABLE(WEBVTT_REGIONS)
Vector<RefPtr<TextTrackRegion> > m_regionList;
Modified: trunk/Source/WebCore/loader/TextTrackLoader.cpp (152740 => 152741)
--- trunk/Source/WebCore/loader/TextTrackLoader.cpp 2013-07-16 21:14:58 UTC (rev 152740)
+++ trunk/Source/WebCore/loader/TextTrackLoader.cpp 2013-07-16 21:34:12 UTC (rev 152741)
@@ -38,6 +38,7 @@
#include "ResourceBuffer.h"
#include "ScriptCallStack.h"
#include "SecurityOrigin.h"
+#include "TextTrackCue.h"
#include "WebVTTParser.h"
namespace WebCore {
@@ -209,8 +210,17 @@
void TextTrackLoader::getNewCues(Vector<RefPtr<TextTrackCue> >& outputCues)
{
ASSERT(m_cueParser);
- if (m_cueParser)
- m_cueParser->getNewCues(outputCues);
+ if (m_cueParser) {
+ Vector<RefPtr<WebVTTCueData> > newCues;
+ m_cueParser->getNewCues(newCues);
+ for (size_t i = 0; i < newCues.size(); ++i) {
+ RefPtr<WebVTTCueData> data = ""
+ RefPtr<TextTrackCue> cue = TextTrackCue::create(m_scriptExecutionContext, data->startTime(), data->endTime(), data->content());
+ cue->setId(data->id());
+ cue->setCueSettings(data->settings());
+ outputCues.append(cue);
+ }
+ }
}
#if ENABLE(WEBVTT_REGIONS)
Modified: trunk/Source/WebCore/platform/graphics/InbandTextTrackPrivateClient.h (152740 => 152741)
--- trunk/Source/WebCore/platform/graphics/InbandTextTrackPrivateClient.h 2013-07-16 21:14:58 UTC (rev 152740)
+++ trunk/Source/WebCore/platform/graphics/InbandTextTrackPrivateClient.h 2013-07-16 21:34:12 UTC (rev 152741)
@@ -129,6 +129,8 @@
Status m_status;
};
+class WebVTTCueData;
+
class InbandTextTrackPrivateClient {
public:
virtual ~InbandTextTrackPrivateClient() { }
@@ -137,6 +139,9 @@
virtual void updateGenericCue(InbandTextTrackPrivate*, GenericCueData*) = 0;
virtual void removeGenericCue(InbandTextTrackPrivate*, GenericCueData*) = 0;
+ virtual void addWebVTTCue(InbandTextTrackPrivate*, PassRefPtr<WebVTTCueData>) = 0;
+ virtual void removeWebVTTCue(InbandTextTrackPrivate*, WebVTTCueData*) = 0;
+
virtual void willRemoveTextTrackPrivate(InbandTextTrackPrivate*) = 0;
};