<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[170332] trunk/Source/WebCore</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/170332">170332</a></dd>
<dt>Author</dt> <dd>commit-queue@webkit.org</dd>
<dt>Date</dt> <dd>2014-06-23 16:17:00 -0700 (Mon, 23 Jun 2014)</dd>
</dl>
<h3>Log Message</h3>
<pre>Unreviewed, rolling out <a href="http://trac.webkit.org/projects/webkit/changeset/170323">r170323</a>.
https://bugs.webkit.org/show_bug.cgi?id=134224
lots of build breakage (Requested by bradeeoh on #webkit).
Reverted changeset:
"[Mac] process raw VTT in-band captions"
https://bugs.webkit.org/show_bug.cgi?id=134178
http://trac.webkit.org/changeset/170323</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreCMakeListstxt">trunk/Source/WebCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulesmediacontrolsmediaControlsiOSjs">trunk/Source/WebCore/Modules/mediacontrols/mediaControlsiOS.js</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCorevcxproj">trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCorehtmltrackBufferedLineReaderh">trunk/Source/WebCore/html/track/BufferedLineReader.h</a></li>
<li><a href="#trunkSourceWebCorehtmltrackInbandGenericTextTrackcpp">trunk/Source/WebCore/html/track/InbandGenericTextTrack.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmltrackInbandGenericTextTrackh">trunk/Source/WebCore/html/track/InbandGenericTextTrack.h</a></li>
<li><a href="#trunkSourceWebCorehtmltrackInbandTextTrackh">trunk/Source/WebCore/html/track/InbandTextTrack.h</a></li>
<li><a href="#trunkSourceWebCorehtmltrackInbandWebVTTTextTrackcpp">trunk/Source/WebCore/html/track/InbandWebVTTTextTrack.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmltrackInbandWebVTTTextTrackh">trunk/Source/WebCore/html/track/InbandWebVTTTextTrack.h</a></li>
<li><a href="#trunkSourceWebCorehtmltrackTextTrackCueGenericcpp">trunk/Source/WebCore/html/track/TextTrackCueGeneric.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmltrackVTTCuecpp">trunk/Source/WebCore/html/track/VTTCue.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmltrackVTTCueh">trunk/Source/WebCore/html/track/VTTCue.h</a></li>
<li><a href="#trunkSourceWebCorehtmltrackWebVTTParsercpp">trunk/Source/WebCore/html/track/WebVTTParser.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmltrackWebVTTParserh">trunk/Source/WebCore/html/track/WebVTTParser.h</a></li>
<li><a href="#trunkSourceWebCoreloaderTextTrackLoadercpp">trunk/Source/WebCore/loader/TextTrackLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsInbandTextTrackPrivateClienth">trunk/Source/WebCore/platform/graphics/InbandTextTrackPrivateClient.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationInbandTextTrackPrivateAVFcpp">trunk/Source/WebCore/platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationInbandTextTrackPrivateAVFh">trunk/Source/WebCore/platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationcfInbandTextTrackPrivateAVCFcpp">trunk/Source/WebCore/platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationcfInbandTextTrackPrivateAVCFh">trunk/Source/WebCore/platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationcfMediaPlayerPrivateAVFoundationCFcpp">trunk/Source/WebCore/platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationobjcInbandTextTrackPrivateAVFObjCh">trunk/Source/WebCore/platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationobjcInbandTextTrackPrivateAVFObjCmm">trunk/Source/WebCore/platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationobjcInbandTextTrackPrivateLegacyAVFObjCmm">trunk/Source/WebCore/platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationobjcMediaPlayerPrivateAVFoundationObjCh">trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationobjcMediaPlayerPrivateAVFoundationObjCmm">trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationobjcOutOfBandTextTrackPrivateAVFh">trunk/Source/WebCore/platform/graphics/avfoundation/objc/OutOfBandTextTrackPrivateAVF.h</a></li>
</ul>
<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreplatformgraphicsISOVTTCuecpp">trunk/Source/WebCore/platform/graphics/ISOVTTCue.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsISOVTTCueh">trunk/Source/WebCore/platform/graphics/ISOVTTCue.h</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (170331 => 170332)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2014-06-23 23:16:09 UTC (rev 170331)
+++ trunk/Source/WebCore/CMakeLists.txt        2014-06-23 23:17:00 UTC (rev 170332)
</span><span class="lines">@@ -2090,7 +2090,6 @@
</span><span class="cx"> platform/graphics/IntPoint.cpp
</span><span class="cx"> platform/graphics/IntRect.cpp
</span><span class="cx"> platform/graphics/IntSize.cpp
</span><del>- platform/graphics/ISOVTTCue.cpp
</del><span class="cx"> platform/graphics/LayoutBoxExtent.cpp
</span><span class="cx"> platform/graphics/LayoutRect.cpp
</span><span class="cx"> platform/graphics/MediaPlayer.cpp
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (170331 => 170332)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-06-23 23:16:09 UTC (rev 170331)
+++ trunk/Source/WebCore/ChangeLog        2014-06-23 23:17:00 UTC (rev 170332)
</span><span class="lines">@@ -1,3 +1,16 @@
</span><ins>+2014-06-23 Commit Queue <commit-queue@webkit.org>
+
+ Unreviewed, rolling out r170323.
+ https://bugs.webkit.org/show_bug.cgi?id=134224
+
+ lots of build breakage (Requested by bradeeoh on #webkit).
+
+ Reverted changeset:
+
+ "[Mac] process raw VTT in-band captions"
+ https://bugs.webkit.org/show_bug.cgi?id=134178
+ http://trac.webkit.org/changeset/170323
+
</ins><span class="cx"> 2014-06-23 Jeffrey Pfau <jpfau@apple.com>
</span><span class="cx">
</span><span class="cx"> Fix release build
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediacontrolsmediaControlsiOSjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediacontrols/mediaControlsiOS.js (170331 => 170332)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediacontrols/mediaControlsiOS.js        2014-06-23 23:16:09 UTC (rev 170331)
+++ trunk/Source/WebCore/Modules/mediacontrols/mediaControlsiOS.js        2014-06-23 23:17:00 UTC (rev 170332)
</span><span class="lines">@@ -320,7 +320,7 @@
</span><span class="cx"> if (this.hideTimer)
</span><span class="cx"> clearTimeout(this.hideTimer);
</span><span class="cx"> this.hideTimer = setTimeout(this.hideControls.bind(this), this.HideControlsDelay);
</span><del>- } else if (this.canPlay())
</del><ins>+ } else if (!this.canPlay())
</ins><span class="cx"> this.hideControls();
</span><span class="cx"> },
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj (170331 => 170332)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2014-06-23 23:16:09 UTC (rev 170331)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2014-06-23 23:17:00 UTC (rev 170332)
</span><span class="lines">@@ -7256,7 +7256,6 @@
</span><span class="cx"> <ClCompile Include="..\platform\FileChooser.cpp" />
</span><span class="cx"> <ClCompile Include="..\platform\FileStream.cpp" />
</span><span class="cx"> <ClCompile Include="..\platform\FileSystem.cpp" />
</span><del>- <ClCompile Include="..\platform\graphics\ISOVTTCue.cpp" />
</del><span class="cx"> <ClCompile Include="..\platform\audio\AudioSession.cpp" />
</span><span class="cx"> <ClCompile Include="..\platform\audio\MediaSession.cpp" />
</span><span class="cx"> <ClCompile Include="..\platform\audio\MediaSessionManager.cpp" />
</span><span class="lines">@@ -19438,7 +19437,6 @@
</span><span class="cx"> <ClInclude Include="..\platform\graphics\IntRect.h" />
</span><span class="cx"> <ClInclude Include="..\platform\graphics\IntSize.h" />
</span><span class="cx"> <ClInclude Include="..\platform\graphics\IntSizeHash.h" />
</span><del>- <ClInclude Include="..\platform\graphics\ISOVTTCue.h" />
</del><span class="cx"> <ClInclude Include="..\platform\graphics\LayoutBoxExtent.h" />
</span><span class="cx"> <ClInclude Include="..\platform\graphics\LayoutPoint.h" />
</span><span class="cx"> <ClInclude Include="..\platform\graphics\LayoutRect.h" />
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (170331 => 170332)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2014-06-23 23:16:09 UTC (rev 170331)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2014-06-23 23:17:00 UTC (rev 170332)
</span><span class="lines">@@ -314,8 +314,6 @@
</span><span class="cx">                 07AB996B18DA3C010018771E /* RTCIceServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 07AB996718DA3C010018771E /* RTCIceServer.h */; };
</span><span class="cx">                 07AB996F18DA3C740018771E /* RTCConfigurationPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 07AB996D18DA3C740018771E /* RTCConfigurationPrivate.h */; };
</span><span class="cx">                 07AB997018DA3C740018771E /* RTCIceServerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 07AB996E18DA3C740018771E /* RTCIceServerPrivate.h */; };
</span><del>-                07AC47011952102100EE9723 /* ISOVTTCue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07AC46FF1952102100EE9723 /* ISOVTTCue.cpp */; };
-                07AC47021952102100EE9723 /* ISOVTTCue.h in Headers */ = {isa = PBXBuildFile; fileRef = 07AC47001952102100EE9723 /* ISOVTTCue.h */; };
</del><span class="cx">                 07B0113F1032242200FBDC33 /* AccessibilityMediaControls.h in Headers */ = {isa = PBXBuildFile; fileRef = 07B0113E1032242200FBDC33 /* AccessibilityMediaControls.h */; };
</span><span class="cx">                 07B442D6166C70B000556CAD /* InbandTextTrackPrivateAVF.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07B442D4166C70B000556CAD /* InbandTextTrackPrivateAVF.cpp */; };
</span><span class="cx">                 07B442D7166C70B000556CAD /* InbandTextTrackPrivateAVF.h in Headers */ = {isa = PBXBuildFile; fileRef = 07B442D5166C70B000556CAD /* InbandTextTrackPrivateAVF.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -7210,8 +7208,6 @@
</span><span class="cx">                 07AB996818DA3C010018771E /* RTCIceServer.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = RTCIceServer.idl; sourceTree = "<group>"; };
</span><span class="cx">                 07AB996D18DA3C740018771E /* RTCConfigurationPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RTCConfigurationPrivate.h; sourceTree = "<group>"; };
</span><span class="cx">                 07AB996E18DA3C740018771E /* RTCIceServerPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RTCIceServerPrivate.h; sourceTree = "<group>"; };
</span><del>-                07AC46FF1952102100EE9723 /* ISOVTTCue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ISOVTTCue.cpp; path = ISOVTTCue.cpp; sourceTree = "<group>"; };
-                07AC47001952102100EE9723 /* ISOVTTCue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ISOVTTCue.h; path = ISOVTTCue.h; sourceTree = "<group>"; };
</del><span class="cx">                 07B0113E1032242200FBDC33 /* AccessibilityMediaControls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccessibilityMediaControls.h; sourceTree = "<group>"; };
</span><span class="cx">                 07B442D4166C70B000556CAD /* InbandTextTrackPrivateAVF.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InbandTextTrackPrivateAVF.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 07B442D5166C70B000556CAD /* InbandTextTrackPrivateAVF.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InbandTextTrackPrivateAVF.h; sourceTree = "<group>"; };
</span><span class="lines">@@ -20414,8 +20410,6 @@
</span><span class="cx">                                 2D46F04F17B96FD2005647F0 /* IntSize.cpp */,
</span><span class="cx">                                 B27535470B053814002CE64F /* IntSize.h */,
</span><span class="cx">                                 B27535480B053814002CE64F /* IntSizeHash.h */,
</span><del>-                                07AC46FF1952102100EE9723 /* ISOVTTCue.cpp */,
-                                07AC47001952102100EE9723 /* ISOVTTCue.h */,
</del><span class="cx">                                 65CC6BED16014EC0000ED27D /* Latin1TextIterator.h */,
</span><span class="cx">                                 141DC049164834B900371E5A /* LayoutBoxExtent.cpp */,
</span><span class="cx">                                 141DC04A164834B900371E5A /* LayoutBoxExtent.h */,
</span><span class="lines">@@ -24921,7 +24915,6 @@
</span><span class="cx">                                 E1FF8F65180745D800132674 /* JSSubtleCrypto.h in Headers */,
</span><span class="cx">                                 B20111080AB7740500DB0E68 /* JSSVGAElement.h in Headers */,
</span><span class="cx">                                 24D9129213CA951E00D21915 /* JSSVGAltGlyphDefElement.h in Headers */,
</span><del>-                                07AC47021952102100EE9723 /* ISOVTTCue.h in Headers */,
</del><span class="cx">                                 6515EC920D9723FF0063D49A /* JSSVGAltGlyphElement.h in Headers */,
</span><span class="cx">                                 24D9129613CA956100D21915 /* JSSVGAltGlyphItemElement.h in Headers */,
</span><span class="cx">                                 B222F6990AB771950022EFAD /* JSSVGAngle.h in Headers */,
</span><span class="lines">@@ -29510,7 +29503,6 @@
</span><span class="cx">                                 B2227A530D00BF220071B782 /* SVGPaint.cpp in Sources */,
</span><span class="cx">                                 B2227A560D00BF220071B782 /* SVGParserUtilities.cpp in Sources */,
</span><span class="cx">                                 84C6784C1214814700A92902 /* SVGPathBlender.cpp in Sources */,
</span><del>-                                07AC47011952102100EE9723 /* ISOVTTCue.cpp in Sources */,
</del><span class="cx">                                 8476C9EA11DF6A2900555B02 /* SVGPathBuilder.cpp in Sources */,
</span><span class="cx">                                 8419D2A8120D92D000141F8F /* SVGPathByteStreamBuilder.cpp in Sources */,
</span><span class="cx">                                 8419D2AC120D92FC00141F8F /* SVGPathByteStreamSource.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackBufferedLineReaderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/BufferedLineReader.h (170331 => 170332)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/BufferedLineReader.h        2014-06-23 23:16:09 UTC (rev 170331)
+++ trunk/Source/WebCore/html/track/BufferedLineReader.h        2014-06-23 23:17:00 UTC (rev 170332)
</span><span class="lines">@@ -68,8 +68,6 @@
</span><span class="cx"> // Returns true if EOS has been reached proper.
</span><span class="cx"> bool isAtEndOfStream() const { return m_endOfStream && m_buffer.isEmpty(); }
</span><span class="cx">
</span><del>- void reset() { m_buffer.clear(); }
-
</del><span class="cx"> private:
</span><span class="cx"> // Consume the next character the buffer if it is the character |c|.
</span><span class="cx"> void scanCharacter(UChar c)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackInbandGenericTextTrackcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/InbandGenericTextTrack.cpp (170331 => 170332)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/InbandGenericTextTrack.cpp        2014-06-23 23:16:09 UTC (rev 170331)
+++ trunk/Source/WebCore/html/track/InbandGenericTextTrack.cpp        2014-06-23 23:17:00 UTC (rev 170332)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2012-2014 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2012 Apple Inc. All rights reserved.
</ins><span class="cx"> *
</span><span class="cx"> * Redistribution and use in source and binary forms, with or without
</span><span class="cx"> * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -36,10 +36,6 @@
</span><span class="cx"> #include <math.h>
</span><span class="cx"> #include <wtf/text/CString.h>
</span><span class="cx">
</span><del>-#if ENABLE(WEBVTT_REGIONS)
-#include "VTTRegionList.h"
-#endif
-
</del><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><span class="cx"> GenericTextTrackCueMap::GenericTextTrackCueMap()
</span><span class="lines">@@ -194,59 +190,6 @@
</span><span class="cx"> TextTrack::removeCue(cue, ec);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-WebVTTParser& InbandGenericTextTrack::parser()
-{
- if (!m_webVTTParser)
- m_webVTTParser = std::make_unique<WebVTTParser>(static_cast<WebVTTParserClient*>(this), scriptExecutionContext());
- return *m_webVTTParser;
-}
-
-void InbandGenericTextTrack::parseWebVTTCueData(InbandTextTrackPrivate* trackPrivate, const ISOWebVTTCue& cueData)
-{
- ASSERT_UNUSED(trackPrivate, trackPrivate == m_private);
- parser().parseCueData(cueData);
-}
-
-void InbandGenericTextTrack::parseWebVTTFileHeader(InbandTextTrackPrivate* trackPrivate, String header)
-{
- ASSERT_UNUSED(trackPrivate, trackPrivate == m_private);
- parser().parseFileHeader(header);
-}
-
-void InbandGenericTextTrack::newCuesParsed()
-{
- Vector<RefPtr<WebVTTCueData>> cues;
- parser().getNewCues(cues);
-
- for (auto& cueData : cues) {
- RefPtr<VTTCue> vttCue = VTTCue::create(*scriptExecutionContext(), *cueData);
-
- if (hasCue(vttCue.get(), TextTrackCue::IgnoreDuration)) {
- LOG(Media, "InbandGenericTextTrack::newCuesParsed ignoring already added cue: start=%.2f, end=%.2f, content=\"%s\"\n", vttCue->startTime(), vttCue->endTime(), vttCue->text().utf8().data());
- return;
- }
- addCue(vttCue.release(), ASSERT_NO_EXCEPTION);
- }
-}
-
-#if ENABLE(WEBVTT_REGIONS)
-void InbandGenericTextTrack::newRegionsParsed()
-{
- Vector<RefPtr<VTTRegion>> newRegions;
- parser().getNewRegions(newRegions);
-
- for (auto& region : newRegions) {
- region->setTrack(this);
- regions()->add(region);
- }
-}
-#endif
-
-void InbandGenericTextTrack::fileFailedToParse()
-{
- LOG(Media, "Error parsing WebVTT stream.");
-}
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx">
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackInbandGenericTextTrackh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/InbandGenericTextTrack.h (170331 => 170332)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/InbandGenericTextTrack.h        2014-06-23 23:16:09 UTC (rev 170331)
+++ trunk/Source/WebCore/html/track/InbandGenericTextTrack.h        2014-06-23 23:17:00 UTC (rev 170332)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2012-2014 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2012, 2013 Apple Inc. All rights reserved.
</ins><span class="cx"> *
</span><span class="cx"> * Redistribution and use in source and binary forms, with or without
</span><span class="cx"> * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -30,7 +30,6 @@
</span><span class="cx">
</span><span class="cx"> #include "InbandTextTrack.h"
</span><span class="cx"> #include "TextTrackCueGeneric.h"
</span><del>-#include "WebVTTParser.h"
</del><span class="cx"> #include <wtf/RefPtr.h>
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -60,7 +59,7 @@
</span><span class="cx"> CueDataToCueMap m_dataToCueMap;
</span><span class="cx"> };
</span><span class="cx">
</span><del>-class InbandGenericTextTrack : public InbandTextTrack, private WebVTTParserClient {
</del><ins>+class InbandGenericTextTrack : public InbandTextTrack {
</ins><span class="cx"> public:
</span><span class="cx"> static PassRefPtr<InbandGenericTextTrack> create(ScriptExecutionContext*, TextTrackClient*, PassRefPtr<InbandTextTrackPrivate>);
</span><span class="cx"> virtual ~InbandGenericTextTrack();
</span><span class="lines">@@ -76,18 +75,7 @@
</span><span class="cx"> PassRefPtr<TextTrackCueGeneric> createCue(PassRefPtr<GenericCueData>);
</span><span class="cx"> void updateCueFromCueData(TextTrackCueGeneric*, GenericCueData*);
</span><span class="cx">
</span><del>- WebVTTParser& parser();
- virtual void parseWebVTTCueData(InbandTextTrackPrivate*, const ISOWebVTTCue&) override;
- virtual void parseWebVTTFileHeader(InbandTextTrackPrivate*, String) override;
-
- virtual void newCuesParsed() override;
-#if ENABLE(WEBVTT_REGIONS)
- virtual void newRegionsParsed() override;
-#endif
- virtual void fileFailedToParse() override;
-
</del><span class="cx"> GenericTextTrackCueMap m_cueMap;
</span><del>- std::unique_ptr<WebVTTParser> m_webVTTParser;
</del><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackInbandTextTrackh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/InbandTextTrack.h (170331 => 170332)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/InbandTextTrack.h        2014-06-23 23:16:09 UTC (rev 170331)
+++ trunk/Source/WebCore/html/track/InbandTextTrack.h        2014-06-23 23:17:00 UTC (rev 170332)
</span><span class="lines">@@ -81,10 +81,7 @@
</span><span class="cx"> virtual void updateGenericCue(InbandTextTrackPrivate*, GenericCueData*) override { ASSERT_NOT_REACHED(); }
</span><span class="cx"> virtual void removeGenericCue(InbandTextTrackPrivate*, GenericCueData*) override { ASSERT_NOT_REACHED(); }
</span><span class="cx">
</span><del>- virtual void parseWebVTTFileHeader(InbandTextTrackPrivate*, String) override { ASSERT_NOT_REACHED(); }
</del><span class="cx"> virtual void parseWebVTTCueData(InbandTextTrackPrivate*, const char*, unsigned) override { ASSERT_NOT_REACHED(); }
</span><del>- virtual void parseWebVTTCueData(InbandTextTrackPrivate*, const ISOWebVTTCue&) override { ASSERT_NOT_REACHED(); }
-
</del><span class="cx"> virtual double startTimeVariance() const;
</span><span class="cx">
</span><span class="cx"> #if USE(PLATFORM_TEXT_TRACK_MENU)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackInbandWebVTTTextTrackcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/InbandWebVTTTextTrack.cpp (170331 => 170332)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/InbandWebVTTTextTrack.cpp        2014-06-23 23:16:09 UTC (rev 170331)
+++ trunk/Source/WebCore/html/track/InbandWebVTTTextTrack.cpp        2014-06-23 23:17:00 UTC (rev 170332)
</span><span class="lines">@@ -34,10 +34,6 @@
</span><span class="cx"> #include "NotImplemented.h"
</span><span class="cx"> #include <wtf/text/CString.h>
</span><span class="cx">
</span><del>-#if ENABLE(WEBVTT_REGIONS)
-#include "VTTRegionList.h"
-#endif
-
</del><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><span class="cx"> PassRefPtr<InbandTextTrack> InbandWebVTTTextTrack::create(ScriptExecutionContext* context, TextTrackClient* client, PassRefPtr<InbandTextTrackPrivate> playerPrivate)
</span><span class="lines">@@ -54,57 +50,42 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx">
</span><del>-WebVTTParser& InbandWebVTTTextTrack::parser()
</del><ins>+void InbandWebVTTTextTrack::parseWebVTTCueData(InbandTextTrackPrivate* trackPrivate, const char* data, unsigned length)
</ins><span class="cx"> {
</span><ins>+ ASSERT_UNUSED(trackPrivate, trackPrivate == m_private);
</ins><span class="cx"> if (!m_webVTTParser)
</span><span class="cx"> m_webVTTParser = std::make_unique<WebVTTParser>(static_cast<WebVTTParserClient*>(this), scriptExecutionContext());
</span><del>- return *m_webVTTParser;
</del><ins>+ m_webVTTParser->parseBytes(data, length);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void InbandWebVTTTextTrack::parseWebVTTCueData(InbandTextTrackPrivate* trackPrivate, const char* data, unsigned length)
-{
- ASSERT_UNUSED(trackPrivate, trackPrivate == m_private);
- parser().parseBytes(data, length);
-}
-
-void InbandWebVTTTextTrack::parseWebVTTCueData(InbandTextTrackPrivate* trackPrivate, const ISOWebVTTCue& cueData)
-{
- ASSERT_UNUSED(trackPrivate, trackPrivate == m_private);
- parser().parseCueData(cueData);
-}
-
</del><span class="cx"> void InbandWebVTTTextTrack::newCuesParsed()
</span><span class="cx"> {
</span><span class="cx"> Vector<RefPtr<WebVTTCueData>> cues;
</span><del>- parser().getNewCues(cues);
</del><ins>+ m_webVTTParser->getNewCues(cues);
+ for (size_t i = 0; i < cues.size(); ++i) {
+ RefPtr<WebVTTCueData> cueData = cues[i];
+ RefPtr<VTTCue> cue = VTTCue::create(*scriptExecutionContext(), cueData->startTime(), cueData->endTime(), cueData->content());
+ cue->setId(cueData->id());
+ cue->setCueSettings(cueData->settings());
</ins><span class="cx">
</span><del>- for (auto& cueData : cues) {
- RefPtr<VTTCue> vttCue = VTTCue::create(*scriptExecutionContext(), *cueData);
-
- if (hasCue(vttCue.get(), TextTrackCue::IgnoreDuration)) {
- LOG(Media, "InbandWebVTTTextTrack::newCuesParsed ignoring already added cue: start=%.2f, end=%.2f, content=\"%s\"\n", vttCue->startTime(), vttCue->endTime(), vttCue->text().utf8().data());
</del><ins>+ if (hasCue(cue.get(), TextTrackCue::IgnoreDuration)) {
+ LOG(Media, "InbandWebVTTTextTrack::newCuesParsed ignoring already added cue: start=%.2f, end=%.2f, content=\"%s\"\n", cueData->startTime(), cueData->endTime(), cueData->content().utf8().data());
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><del>- addCue(vttCue.release(), ASSERT_NO_EXCEPTION);
</del><ins>+ addCue(cue.release(), ASSERT_NO_EXCEPTION);
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if ENABLE(WEBVTT_REGIONS)
</span><span class="cx"> void InbandWebVTTTextTrack::newRegionsParsed()
</span><span class="cx"> {
</span><del>- Vector<RefPtr<VTTRegion>> newRegions;
- parser().getNewRegions(newRegions);
-
- for (auto& region : newRegions) {
- region->setTrack(this);
- regions()->add(region);
- }
</del><ins>+ notImplemented();
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> void InbandWebVTTTextTrack::fileFailedToParse()
</span><span class="cx"> {
</span><del>- LOG(Media, "Error parsing WebVTT stream.");
</del><ins>+ LOG(Media, "Unable to parse WebVTT stream.");
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackInbandWebVTTTextTrackh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/InbandWebVTTTextTrack.h (170331 => 170332)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/InbandWebVTTTextTrack.h        2014-06-23 23:16:09 UTC (rev 170331)
+++ trunk/Source/WebCore/html/track/InbandWebVTTTextTrack.h        2014-06-23 23:17:00 UTC (rev 170332)
</span><span class="lines">@@ -43,9 +43,7 @@
</span><span class="cx"> private:
</span><span class="cx"> InbandWebVTTTextTrack(ScriptExecutionContext*, TextTrackClient*, PassRefPtr<InbandTextTrackPrivate>);
</span><span class="cx">
</span><del>- WebVTTParser& parser();
</del><span class="cx"> virtual void parseWebVTTCueData(InbandTextTrackPrivate*, const char* data, unsigned length) override;
</span><del>- virtual void parseWebVTTCueData(InbandTextTrackPrivate*, const ISOWebVTTCue&) override;
</del><span class="cx">
</span><span class="cx"> virtual void newCuesParsed() override;
</span><span class="cx"> #if ENABLE(WEBVTT_REGIONS)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackTextTrackCueGenericcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/TextTrackCueGeneric.cpp (170331 => 170332)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/TextTrackCueGeneric.cpp        2014-06-23 23:16:09 UTC (rev 170331)
+++ trunk/Source/WebCore/html/track/TextTrackCueGeneric.cpp        2014-06-23 23:17:00 UTC (rev 170332)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx">
</span><span class="cx"> class TextTrackCueGenericBoxElement final : public VTTCueBox {
</span><span class="cx"> public:
</span><del>- static PassRefPtr<TextTrackCueGenericBoxElement> create(Document& document, TextTrackCueGeneric& cue)
</del><ins>+ static PassRefPtr<TextTrackCueGenericBoxElement> create(Document& document, TextTrackCueGeneric* cue)
</ins><span class="cx"> {
</span><span class="cx"> return adoptRef(new TextTrackCueGenericBoxElement(document, cue));
</span><span class="cx"> }
</span><span class="lines">@@ -51,10 +51,10 @@
</span><span class="cx"> virtual void applyCSSProperties(const IntSize&) override;
</span><span class="cx">
</span><span class="cx"> private:
</span><del>- TextTrackCueGenericBoxElement(Document&, VTTCue&);
</del><ins>+ TextTrackCueGenericBoxElement(Document&, VTTCue*);
</ins><span class="cx"> };
</span><span class="cx">
</span><del>-TextTrackCueGenericBoxElement::TextTrackCueGenericBoxElement(Document& document, VTTCue& cue)
</del><ins>+TextTrackCueGenericBoxElement::TextTrackCueGenericBoxElement(Document& document, VTTCue* cue)
</ins><span class="cx"> : VTTCueBox(document, cue)
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="lines">@@ -118,7 +118,7 @@
</span><span class="cx">
</span><span class="cx"> PassRefPtr<VTTCueBox> TextTrackCueGeneric::createDisplayTree()
</span><span class="cx"> {
</span><del>- return TextTrackCueGenericBoxElement::create(ownerDocument(), *this);
</del><ins>+ return TextTrackCueGenericBoxElement::create(ownerDocument(), this);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void TextTrackCueGeneric::setLine(int line, ExceptionCode& ec)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackVTTCuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/VTTCue.cpp (170331 => 170332)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/VTTCue.cpp        2014-06-23 23:16:09 UTC (rev 170331)
+++ trunk/Source/WebCore/html/track/VTTCue.cpp        2014-06-23 23:17:00 UTC (rev 170332)
</span><span class="lines">@@ -119,14 +119,7 @@
</span><span class="cx">
</span><span class="cx"> // ----------------------------
</span><span class="cx">
</span><del>-PassRefPtr<VTTCueBox> VTTCueBox::create(Document& document, VTTCue& cue)
-{
- VTTCueBox* cueBox = new VTTCueBox(document, cue);
- cueBox->setPseudo(VTTCueBox::vttCueBoxShadowPseudoId());
- return adoptRef(cueBox);
-}
-
-VTTCueBox::VTTCueBox(Document& document, VTTCue& cue)
</del><ins>+VTTCueBox::VTTCueBox(Document& document, VTTCue* cue)
</ins><span class="cx"> : HTMLElement(divTag, document)
</span><span class="cx"> , m_cue(cue)
</span><span class="cx"> {
</span><span class="lines">@@ -135,14 +128,14 @@
</span><span class="cx">
</span><span class="cx"> VTTCue* VTTCueBox::getCue() const
</span><span class="cx"> {
</span><del>- return &m_cue;
</del><ins>+ return m_cue;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void VTTCueBox::applyCSSProperties(const IntSize&)
</span><span class="cx"> {
</span><span class="cx"> // FIXME: Apply all the initial CSS positioning properties. http://wkb.ug/79916
</span><span class="cx"> #if ENABLE(WEBVTT_REGIONS)
</span><del>- if (!m_cue.regionId().isEmpty()) {
</del><ins>+ if (!m_cue->regionId().isEmpty()) {
</ins><span class="cx"> setInlineStyleProperty(CSSPropertyPosition, CSSValueRelative);
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="lines">@@ -157,12 +150,12 @@
</span><span class="cx"> setInlineStyleProperty(CSSPropertyUnicodeBidi, CSSValueWebkitPlaintext);
</span><span class="cx">
</span><span class="cx"> // the 'direction' property must be set to direction
</span><del>- setInlineStyleProperty(CSSPropertyDirection, m_cue.getCSSWritingDirection());
</del><ins>+ setInlineStyleProperty(CSSPropertyDirection, m_cue->getCSSWritingDirection());
</ins><span class="cx">
</span><span class="cx"> // the 'writing-mode' property must be set to writing-mode
</span><del>- setInlineStyleProperty(CSSPropertyWebkitWritingMode, m_cue.getCSSWritingMode(), false);
</del><ins>+ setInlineStyleProperty(CSSPropertyWebkitWritingMode, m_cue->getCSSWritingMode(), false);
</ins><span class="cx">
</span><del>- std::pair<float, float> position = m_cue.getCSSPosition();
</del><ins>+ std::pair<float, float> position = m_cue->getCSSPosition();
</ins><span class="cx">
</span><span class="cx"> // the 'top' property must be set to top,
</span><span class="cx"> setInlineStyleProperty(CSSPropertyTop, static_cast<double>(position.second), CSSPrimitiveValue::CSS_PERCENTAGE);
</span><span class="lines">@@ -171,21 +164,21 @@
</span><span class="cx"> setInlineStyleProperty(CSSPropertyLeft, static_cast<double>(position.first), CSSPrimitiveValue::CSS_PERCENTAGE);
</span><span class="cx">
</span><span class="cx"> // the 'width' property must be set to width, and the 'height' property must be set to height
</span><del>- if (m_cue.vertical() == horizontalKeyword()) {
- setInlineStyleProperty(CSSPropertyWidth, static_cast<double>(m_cue.getCSSSize()), CSSPrimitiveValue::CSS_PERCENTAGE);
</del><ins>+ if (m_cue->vertical() == horizontalKeyword()) {
+ setInlineStyleProperty(CSSPropertyWidth, static_cast<double>(m_cue->getCSSSize()), CSSPrimitiveValue::CSS_PERCENTAGE);
</ins><span class="cx"> setInlineStyleProperty(CSSPropertyHeight, CSSValueAuto);
</span><span class="cx"> } else {
</span><span class="cx"> setInlineStyleProperty(CSSPropertyWidth, CSSValueAuto);
</span><del>- setInlineStyleProperty(CSSPropertyHeight, static_cast<double>(m_cue.getCSSSize()), CSSPrimitiveValue::CSS_PERCENTAGE);
</del><ins>+ setInlineStyleProperty(CSSPropertyHeight, static_cast<double>(m_cue->getCSSSize()), CSSPrimitiveValue::CSS_PERCENTAGE);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // The 'text-align' property on the (root) List of WebVTT Node Objects must
</span><span class="cx"> // be set to the value in the second cell of the row of the table below
</span><span class="cx"> // whose first cell is the value of the corresponding cue's text track cue
</span><span class="cx"> // alignment:
</span><del>- setInlineStyleProperty(CSSPropertyTextAlign, m_cue.getCSSAlignment());
</del><ins>+ setInlineStyleProperty(CSSPropertyTextAlign, m_cue->getCSSAlignment());
</ins><span class="cx">
</span><del>- if (!m_cue.snapToLines()) {
</del><ins>+ if (!m_cue->snapToLines()) {
</ins><span class="cx"> // 10.13.1 Set up x and y:
</span><span class="cx"> // Note: x and y are set through the CSS left and top above.
</span><span class="cx">
</span><span class="lines">@@ -216,35 +209,25 @@
</span><span class="cx">
</span><span class="cx"> // ----------------------------
</span><span class="cx">
</span><del>-PassRefPtr<VTTCue> VTTCue::create(ScriptExecutionContext& context, double start, double end, const String& content)
-{
- return adoptRef(new VTTCue(context, start, end, content));
-}
-
-PassRefPtr<VTTCue> VTTCue::create(ScriptExecutionContext& context, const WebVTTCueData& data)
-{
- return adoptRef(new VTTCue(context, data));
-}
-
</del><span class="cx"> VTTCue::VTTCue(ScriptExecutionContext& context, double start, double end, const String& content)
</span><span class="cx"> : TextTrackCue(context, start, end)
</span><span class="cx"> , m_content(content)
</span><ins>+ , m_linePosition(undefinedPosition)
+ , m_computedLinePosition(undefinedPosition)
+ , m_textPosition(50)
+ , m_cueSize(100)
+ , m_writingDirection(Horizontal)
+ , m_cueAlignment(Middle)
+ , m_webVTTNodeTree(nullptr)
+ , m_cueBackgroundBox(HTMLSpanElement::create(spanTag, toDocument(context)))
+ , m_displayDirection(CSSValueLtr)
+ , m_displaySize(0)
+ , m_snapToLines(true)
+ , m_displayTreeShouldChange(true)
+ , m_notifyRegion(true)
</ins><span class="cx"> {
</span><del>- initialize(context);
</del><span class="cx"> }
</span><span class="cx">
</span><del>-VTTCue::VTTCue(ScriptExecutionContext& context, const WebVTTCueData& cueData)
- : TextTrackCue(context, 0, 0)
-{
- initialize(context);
- setText(cueData.content());
- setStartTime(cueData.startTime(), IGNORE_EXCEPTION);
- setEndTime(cueData.endTime(), IGNORE_EXCEPTION);
- setId(cueData.id());
- setCueSettings(cueData.settings());
- m_originalStartTime = cueData.originalStartTime();
-}
-
</del><span class="cx"> VTTCue::~VTTCue()
</span><span class="cx"> {
</span><span class="cx"> if (!hasDisplayTree())
</span><span class="lines">@@ -253,27 +236,9 @@
</span><span class="cx"> displayTreeInternal()->remove(ASSERT_NO_EXCEPTION);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void VTTCue::initialize(ScriptExecutionContext& context)
-{
- m_linePosition = undefinedPosition;
- m_computedLinePosition = undefinedPosition;
- m_textPosition = 50;
- m_cueSize = 100;
- m_writingDirection = Horizontal;
- m_cueAlignment = Middle;
- m_webVTTNodeTree = nullptr;
- m_cueBackgroundBox = HTMLSpanElement::create(spanTag, toDocument(context));
- m_displayDirection = CSSValueLtr;
- m_displaySize = 0;
- m_snapToLines = true;
- m_displayTreeShouldChange = true;
- m_notifyRegion = true;
- m_originalStartTime = 0;
-}
-
</del><span class="cx"> PassRefPtr<VTTCueBox> VTTCue::createDisplayTree()
</span><span class="cx"> {
</span><del>- return VTTCueBox::create(ownerDocument(), *this);
</del><ins>+ return VTTCueBox::create(ownerDocument(), this);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> VTTCueBox* VTTCue::displayTreeInternal()
</span><span class="lines">@@ -734,7 +699,6 @@
</span><span class="cx"> bool check = WebVTTParser::collectTimeStamp(child->nodeValue(), currentTimestamp);
</span><span class="cx"> ASSERT_UNUSED(check, check);
</span><span class="cx">
</span><del>- currentTimestamp += m_originalStartTime;
</del><span class="cx"> if (currentTimestamp > movieTime)
</span><span class="cx"> isPastNode = false;
</span><span class="cx"> }
</span><span class="lines">@@ -920,9 +884,6 @@
</span><span class="cx">
</span><span class="cx"> void VTTCue::setCueSettings(const String& inputString)
</span><span class="cx"> {
</span><del>- if (inputString.isEmpty())
- return;
-
</del><span class="cx"> VTTScanner input(inputString);
</span><span class="cx">
</span><span class="cx"> while (!input.isAtEnd()) {
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackVTTCueh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/VTTCue.h (170331 => 170332)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/VTTCue.h        2014-06-23 23:16:09 UTC (rev 170331)
+++ trunk/Source/WebCore/html/track/VTTCue.h        2014-06-23 23:17:00 UTC (rev 170332)
</span><span class="lines">@@ -46,13 +46,15 @@
</span><span class="cx"> class ScriptExecutionContext;
</span><span class="cx"> class VTTCue;
</span><span class="cx"> class VTTScanner;
</span><del>-class WebVTTCueData;
</del><span class="cx">
</span><span class="cx"> // ----------------------------
</span><span class="cx">
</span><span class="cx"> class VTTCueBox : public HTMLElement {
</span><span class="cx"> public:
</span><del>- static PassRefPtr<VTTCueBox> create(Document&, VTTCue&);
</del><ins>+ static PassRefPtr<VTTCueBox> create(Document& document, VTTCue* cue)
+ {
+ return adoptRef(new VTTCueBox(document, cue));
+ }
</ins><span class="cx">
</span><span class="cx"> VTTCue* getCue() const;
</span><span class="cx"> virtual void applyCSSProperties(const IntSize& videoSize);
</span><span class="lines">@@ -60,19 +62,21 @@
</span><span class="cx"> static const AtomicString& vttCueBoxShadowPseudoId();
</span><span class="cx">
</span><span class="cx"> protected:
</span><del>- VTTCueBox(Document&, VTTCue&);
</del><ins>+ VTTCueBox(Document&, VTTCue*);
</ins><span class="cx">
</span><span class="cx"> virtual RenderPtr<RenderElement> createElementRenderer(PassRef<RenderStyle>) override;
</span><span class="cx">
</span><del>- VTTCue& m_cue;
</del><ins>+ VTTCue* m_cue;
</ins><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> // ----------------------------
</span><span class="cx">
</span><span class="cx"> class VTTCue : public TextTrackCue {
</span><span class="cx"> public:
</span><del>- static PassRefPtr<VTTCue> create(ScriptExecutionContext&, double start, double end, const String&);
- static PassRefPtr<VTTCue> create(ScriptExecutionContext&, const WebVTTCueData&);
</del><ins>+ static PassRefPtr<VTTCue> create(ScriptExecutionContext& context, double start, double end, const String& content)
+ {
+ return adoptRef(new VTTCue(context, start, end, content));
+ }
</ins><span class="cx">
</span><span class="cx"> virtual ~VTTCue();
</span><span class="cx">
</span><span class="lines">@@ -160,13 +164,11 @@
</span><span class="cx">
</span><span class="cx"> protected:
</span><span class="cx"> VTTCue(ScriptExecutionContext&, double start, double end, const String& content);
</span><del>- VTTCue(ScriptExecutionContext&, const WebVTTCueData&);
</del><span class="cx">
</span><span class="cx"> virtual PassRefPtr<VTTCueBox> createDisplayTree();
</span><span class="cx"> VTTCueBox* displayTreeInternal();
</span><span class="cx">
</span><span class="cx"> private:
</span><del>- void initialize(ScriptExecutionContext&);
</del><span class="cx"> void createWebVTTNodeTree();
</span><span class="cx"> void copyWebVTTNodeToDOMTree(ContainerNode* WebVTTNode, ContainerNode* root);
</span><span class="cx">
</span><span class="lines">@@ -209,8 +211,6 @@
</span><span class="cx"> int m_displaySize;
</span><span class="cx"> std::pair<float, float> m_displayPosition;
</span><span class="cx">
</span><del>- double m_originalStartTime;
-
</del><span class="cx"> bool m_snapToLines : 1;
</span><span class="cx"> bool m_displayTreeShouldChange : 1;
</span><span class="cx"> bool m_notifyRegion : 1;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackWebVTTParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/WebVTTParser.cpp (170331 => 170332)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/WebVTTParser.cpp        2014-06-23 23:16:09 UTC (rev 170331)
+++ trunk/Source/WebCore/html/track/WebVTTParser.cpp        2014-06-23 23:17:00 UTC (rev 170332)
</span><span class="lines">@@ -1,7 +1,7 @@
</span><span class="cx"> /*
</span><span class="cx"> * Copyright (C) 2011, 2013 Google Inc. All rights reserved.
</span><span class="cx"> * Copyright (C) 2013 Cable Television Labs, Inc.
</span><del>- * Copyright (C) 2011-2014 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2014 Apple Inc. All rights reserved.
</ins><span class="cx"> *
</span><span class="cx"> * Redistribution and use in source and binary forms, with or without
</span><span class="cx"> * modification, are permitted provided that the following conditions are
</span><span class="lines">@@ -36,7 +36,6 @@
</span><span class="cx">
</span><span class="cx"> #include "WebVTTParser.h"
</span><span class="cx">
</span><del>-#include "ISOVTTCue.h"
</del><span class="cx"> #include "ProcessingInstruction.h"
</span><span class="cx"> #include "Text.h"
</span><span class="cx"> #include "VTTScanner.h"
</span><span class="lines">@@ -109,14 +108,6 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>-void WebVTTParser::parseFileHeader(const String& data)
-{
- m_state = Initial;
- m_lineReader.reset();
- m_lineReader.append(data);
- parse();
-}
-
</del><span class="cx"> void WebVTTParser::parseBytes(const char* data, unsigned length)
</span><span class="cx"> {
</span><span class="cx"> String textData = m_decoder->decode(data, length);
</span><span class="lines">@@ -124,27 +115,6 @@
</span><span class="cx"> parse();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void WebVTTParser::parseCueData(const ISOWebVTTCue& data)
-{
- RefPtr<WebVTTCueData> cue = WebVTTCueData::create();
-
- double startTime = data.presentationTime().toDouble();
- cue->setStartTime(startTime);
- cue->setEndTime(startTime + data.duration().toDouble());
-
- cue->setContent(data.cueText());
- cue->setId(data.id());
- cue->setSettings(data.settings());
-
- double originalStartTime;
- if (WebVTTParser::collectTimeStamp(data.originalStartTime(), originalStartTime))
- cue->setOriginalStartTime(originalStartTime);
-
- m_cuelist.append(cue);
- if (m_client)
- m_client->newCuesParsed();
-}
-
</del><span class="cx"> void WebVTTParser::flush()
</span><span class="cx"> {
</span><span class="cx"> String textData = m_decoder->flush();
</span><span class="lines">@@ -301,9 +271,6 @@
</span><span class="cx">
</span><span class="cx"> WebVTTParser::ParseState WebVTTParser::collectTimingsAndSettings(const String& line)
</span><span class="cx"> {
</span><del>- if (line.isEmpty())
- return BadCue;
-
</del><span class="cx"> VTTScanner input(line);
</span><span class="cx">
</span><span class="cx"> // Collect WebVTT cue timings and settings. (5.3 WebVTT cue timings and settings parsing.)
</span><span class="lines">@@ -467,9 +434,6 @@
</span><span class="cx">
</span><span class="cx"> bool WebVTTParser::collectTimeStamp(const String& line, double& timeStamp)
</span><span class="cx"> {
</span><del>- if (line.isEmpty())
- return false;
-
</del><span class="cx"> VTTScanner input(line);
</span><span class="cx"> return collectTimeStamp(input, timeStamp);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmltrackWebVTTParserh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/track/WebVTTParser.h (170331 => 170332)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/track/WebVTTParser.h        2014-06-23 23:16:09 UTC (rev 170331)
+++ trunk/Source/WebCore/html/track/WebVTTParser.h        2014-06-23 23:17:00 UTC (rev 170332)
</span><span class="lines">@@ -49,7 +49,6 @@
</span><span class="cx"> using namespace HTMLNames;
</span><span class="cx">
</span><span class="cx"> class Document;
</span><del>-class ISOWebVTTCue;
</del><span class="cx"> class VTTScanner;
</span><span class="cx">
</span><span class="cx"> class WebVTTParserClient {
</span><span class="lines">@@ -84,20 +83,15 @@
</span><span class="cx"> String settings() const { return m_settings; }
</span><span class="cx"> void setSettings(String settings) { m_settings = settings; }
</span><span class="cx">
</span><del>- double originalStartTime() const { return m_originalStartTime; }
- void setOriginalStartTime(double time) { m_originalStartTime = time; }
-
</del><span class="cx"> private:
</span><span class="cx"> WebVTTCueData()
</span><span class="cx"> : m_startTime(0)
</span><span class="cx"> , m_endTime(0)
</span><del>- , m_originalStartTime(0)
</del><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> double m_startTime;
</span><span class="cx"> double m_endTime;
</span><del>- double m_originalStartTime;
</del><span class="cx"> String m_id;
</span><span class="cx"> String m_content;
</span><span class="cx"> String m_settings;
</span><span class="lines">@@ -146,9 +140,7 @@
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> // Input data to the parser to parse.
</span><del>- void parseBytes(const char*, unsigned);
- void parseFileHeader(const String&);
- void parseCueData(const ISOWebVTTCue&);
</del><ins>+ void parseBytes(const char* data, unsigned length);
</ins><span class="cx"> void flush();
</span><span class="cx"> void fileFinished();
</span><span class="cx">
</span><span class="lines">@@ -192,7 +184,7 @@
</span><span class="cx"> double m_currentEndTime;
</span><span class="cx"> StringBuilder m_currentContent;
</span><span class="cx"> String m_currentSettings;
</span><del>-
</del><ins>+
</ins><span class="cx"> WebVTTParserClient* m_client;
</span><span class="cx">
</span><span class="cx"> Vector<RefPtr<WebVTTCueData>> m_cuelist;
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderTextTrackLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/TextTrackLoader.cpp (170331 => 170332)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/TextTrackLoader.cpp        2014-06-23 23:16:09 UTC (rev 170331)
+++ trunk/Source/WebCore/loader/TextTrackLoader.cpp        2014-06-23 23:17:00 UTC (rev 170332)
</span><span class="lines">@@ -215,9 +215,13 @@
</span><span class="cx"> if (m_cueParser) {
</span><span class="cx"> Vector<RefPtr<WebVTTCueData>> newCues;
</span><span class="cx"> m_cueParser->getNewCues(newCues);
</span><del>-
- for (auto& cueData : newCues)
- outputCues.append(VTTCue::create(*m_scriptExecutionContext, *cueData));
</del><ins>+ for (size_t i = 0; i < newCues.size(); ++i) {
+ RefPtr<WebVTTCueData> data = newCues[i];
+ RefPtr<VTTCue> cue = VTTCue::create(*m_scriptExecutionContext, data->startTime(), data->endTime(), data->content());
+ cue->setId(data->id());
+ cue->setCueSettings(data->settings());
+ outputCues.append(cue);
+ }
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsISOVTTCuecpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/platform/graphics/ISOVTTCue.cpp (170331 => 170332)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ISOVTTCue.cpp        2014-06-23 23:16:09 UTC (rev 170331)
+++ trunk/Source/WebCore/platform/graphics/ISOVTTCue.cpp        2014-06-23 23:17:00 UTC (rev 170332)
</span><span class="lines">@@ -1,151 +0,0 @@
</span><del>-/*
- * Copyright (C) 2014 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "ISOVTTCue.h"
-
-#include "Logging.h"
-#include <runtime/ArrayBuffer.h>
-#include <runtime/DataView.h>
-#include <runtime/Int8Array.h>
-#include <wtf/NeverDestroyed.h>
-#include <wtf/text/CString.h>
-#include <wtf/text/StringBuilder.h>
-
-namespace JSC {
-class ArrayBuffer;
-}
-
-namespace WebCore {
-
-ISOBox::ISOBox(ArrayBuffer* data)
-{
- m_type = peekType(data);
- m_length = peekLength(data);
- ASSERT(m_length >= 8);
-}
-
-String ISOBox::peekType(ArrayBuffer* data)
-{
- ASSERT_WITH_SECURITY_IMPLICATION(data->byteLength() >= 2 * sizeof(uint32_t));
- if (data->byteLength() < 2 * sizeof(uint32_t))
- return emptyString();
-
- StringBuilder builder;
- RefPtr<Int8Array> array = JSC::Int8Array::create(data, 4, sizeof(uint32_t));
- for (int i = 0; i < 4; ++i)
- builder.append(array->item(i));
- return builder.toString();
-}
-
-size_t ISOBox::peekLength(ArrayBuffer* data)
-{
- ASSERT_WITH_SECURITY_IMPLICATION(data->byteLength() >= sizeof(uint32_t));
- if (data->byteLength() < sizeof(uint32_t))
- return 0;
-
- return JSC::DataView::create(data, 0, sizeof(uint32_t))->get<uint32_t>(0, false);
-}
-
-String ISOBox::peekString(ArrayBuffer* data, unsigned offset, unsigned length)
-{
- ASSERT_WITH_SECURITY_IMPLICATION(offset + length <= data->byteLength());
- if (data->byteLength() < offset + length)
- return emptyString();
-
- return String(JSC::Uint8Array::create(data, offset, length)->data(), length);
-}
-
-static const AtomicString& vttCueBoxType()
-{
- static NeverDestroyed<AtomicString> vttc("vttc", AtomicString::ConstructFromLiteral);
- return vttc;
-}
-
-static const AtomicString& vttIdBoxType()
-{
- static NeverDestroyed<AtomicString> iden("iden", AtomicString::ConstructFromLiteral);
- return iden;
-}
-
-static const AtomicString& vttSettingsBoxType()
-{
- static NeverDestroyed<AtomicString> sttg("sttg", AtomicString::ConstructFromLiteral);
- return sttg;
-}
-
-static const AtomicString& vttPayloadBoxType()
-{
- static NeverDestroyed<AtomicString> payl("payl", AtomicString::ConstructFromLiteral);
- return payl;
-}
-
-static const AtomicString& vttCurrentTimeBoxType()
-{
- static NeverDestroyed<AtomicString> ctim("ctim", AtomicString::ConstructFromLiteral);
- return ctim;
-}
-
-static const AtomicString& vttCueSourceIDBoxType()
-{
- static NeverDestroyed<AtomicString> vsid("vsid", AtomicString::ConstructFromLiteral);
- return vsid;
-}
-
-const AtomicString& ISOWebVTTCue::boxType()
-{
- return vttCueBoxType();
-}
-
-ISOWebVTTCue::ISOWebVTTCue(const MediaTime& presentationTime, const MediaTime& duration, JSC::ArrayBuffer* buffer)
- : ISOBox(buffer)
- , m_presentationTime(presentationTime)
- , m_duration(duration)
-{
- size_t offset = ISOBox::boxHeaderSize();
- while (offset < length() && length() - offset > ISOBox::boxHeaderSize()) {
- RefPtr<ArrayBuffer> subBuffer = buffer->slice(offset);
- String boxType = ISOBox::peekType(subBuffer.get());
- size_t boxSize = ISOBox::peekLength(subBuffer.get());
- size_t boxDataSize = boxSize - ISOBox::boxHeaderSize();
-
- if (boxType == vttCueSourceIDBoxType())
- m_sourceID = peekString(subBuffer.get(), ISOBox::boxHeaderSize(), boxDataSize);
- else if (boxType == vttIdBoxType())
- m_identifer = peekString(subBuffer.get(), ISOBox::boxHeaderSize(), boxDataSize);
- else if (boxType == vttCurrentTimeBoxType())
- m_originalStartTime = peekString(subBuffer.get(), ISOBox::boxHeaderSize(), boxDataSize);
- else if (boxType == vttSettingsBoxType())
- m_settings = peekString(subBuffer.get(), ISOBox::boxHeaderSize(), boxDataSize);
- else if (boxType == vttPayloadBoxType())
- m_cueText = peekString(subBuffer.get(), ISOBox::boxHeaderSize(), boxDataSize);
- else
- LOG(Media, "ISOWebVTTCue::ISOWebVTTCue - skipping box id = \"%s\", size = %zu", boxType.utf8().data(), boxSize);
-
- offset += boxSize;
- }
-}
-
-} // namespace WebCore
</del></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsISOVTTCueh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/platform/graphics/ISOVTTCue.h (170331 => 170332)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ISOVTTCue.h        2014-06-23 23:16:09 UTC (rev 170331)
+++ trunk/Source/WebCore/platform/graphics/ISOVTTCue.h        2014-06-23 23:17:00 UTC (rev 170332)
</span><span class="lines">@@ -1,94 +0,0 @@
</span><del>-/*
- * Copyright (C) 2014 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef ISOVTTCue_h
-#define ISOVTTCue_h
-
-#include <wtf/MediaTime.h>
-#include <wtf/text/WTFString.h>
-
-namespace JSC {
-class ArrayBuffer;
-}
-
-namespace WebCore {
-
-// An ISOBox represents a ISO-BMFF box. Data in the structure is big-endian. The layout of the data structure as follows:
-// 4 bytes : 4CC : identifier
-// 4 bytes : unsigned : length
-class ISOBox {
-public:
- static String peekType(JSC::ArrayBuffer*);
- static size_t peekLength(JSC::ArrayBuffer*);
- static String peekString(JSC::ArrayBuffer*, unsigned offset, unsigned length);
- static unsigned boxHeaderSize() { return 2 * sizeof(uint32_t); }
-
- size_t length() const { return m_length; }
- const AtomicString& type() const { return m_type; }
-
-protected:
- ISOBox(JSC::ArrayBuffer*);
-
-private:
- size_t m_length;
- AtomicString m_type;
-};
-
-// 4 bytes : 4CC : identifier = 'vttc'
-// 4 bytes : unsigned : length
-// N bytes :CueSourceIDBox : box : optional
-// N bytes :CueIDBox : box : optional
-// N bytes :CueTimeBox : box : optional
-// N bytes :CueSettingsBox : box : optional
-// N bytes :CuePayloadBox : box : required
-class ISOWebVTTCue : public ISOBox {
-public:
- ISOWebVTTCue(const MediaTime& presentationTime, const MediaTime& duration, JSC::ArrayBuffer*);
-
- static const AtomicString& boxType();
-
- const MediaTime& presentationTime() const { return m_presentationTime; }
- const MediaTime& duration() const { return m_duration; }
-
- const String& sourceID() const { return m_sourceID; }
- const String& id() const { return m_identifer; }
- const String& originalStartTime() const { return m_originalStartTime; }
- const String& settings() const { return m_settings; }
- const String& cueText() const { return m_cueText; }
-
-private:
- MediaTime m_presentationTime;
- MediaTime m_duration;
-
- String m_sourceID;
- String m_identifer;
- String m_originalStartTime;
- String m_settings;
- String m_cueText;
-};
-
-}
-
-#endif // ISOVTTCue_h
</del></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsInbandTextTrackPrivateClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/InbandTextTrackPrivateClient.h (170331 => 170332)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/InbandTextTrackPrivateClient.h        2014-06-23 23:16:09 UTC (rev 170331)
+++ trunk/Source/WebCore/platform/graphics/InbandTextTrackPrivateClient.h        2014-06-23 23:17:00 UTC (rev 170332)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2012-2014 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2012, 2013 Apple Inc. All rights reserved.
</ins><span class="cx"> *
</span><span class="cx"> * Redistribution and use in source and binary forms, with or without
</span><span class="cx"> * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -38,7 +38,6 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><span class="cx"> class InbandTextTrackPrivate;
</span><del>-class ISOWebVTTCue;
</del><span class="cx">
</span><span class="cx"> class GenericCueData : public RefCounted<GenericCueData> {
</span><span class="cx"> public:
</span><span class="lines">@@ -181,9 +180,7 @@
</span><span class="cx"> virtual void updateGenericCue(InbandTextTrackPrivate*, GenericCueData*) = 0;
</span><span class="cx"> virtual void removeGenericCue(InbandTextTrackPrivate*, GenericCueData*) = 0;
</span><span class="cx">
</span><del>- virtual void parseWebVTTFileHeader(InbandTextTrackPrivate*, String) { ASSERT_NOT_REACHED(); }
</del><span class="cx"> virtual void parseWebVTTCueData(InbandTextTrackPrivate*, const char* data, unsigned length) = 0;
</span><del>- virtual void parseWebVTTCueData(InbandTextTrackPrivate*, const ISOWebVTTCue&) = 0;
</del><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationInbandTextTrackPrivateAVFcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp (170331 => 170332)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp        2014-06-23 23:16:09 UTC (rev 170331)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp        2014-06-23 23:17:00 UTC (rev 170332)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2012-2014 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2012, 2013 Apple Inc. All rights reserved.
</ins><span class="cx"> *
</span><span class="cx"> * Redistribution and use in source and binary forms, with or without
</span><span class="cx"> * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -29,27 +29,16 @@
</span><span class="cx">
</span><span class="cx"> #include "InbandTextTrackPrivateAVF.h"
</span><span class="cx">
</span><del>-#include "ISOVTTCue.h"
</del><span class="cx"> #include "InbandTextTrackPrivateClient.h"
</span><span class="cx"> #include "Logging.h"
</span><span class="cx"> #include "SoftLinking.h"
</span><span class="cx"> #include <CoreMedia/CoreMedia.h>
</span><del>-#include <runtime/ArrayBuffer.h>
-#include <runtime/DataView.h>
-#include <runtime/Int8Array.h>
-#include <wtf/MediaTime.h>
-#include <wtf/NeverDestroyed.h>
</del><span class="cx"> #include <wtf/PassOwnPtr.h>
</span><span class="cx"> #include <wtf/text/CString.h>
</span><del>-#include <wtf/text/StringBuilder.h>
</del><span class="cx"> #include <wtf/text/WTFString.h>
</span><span class="cx"> #include <wtf/unicode/CharacterNames.h>
</span><span class="cx">
</span><span class="cx"> #if !PLATFORM(WIN)
</span><del>-#include "MediaTimeMac.h"
-#endif
-
-#if !PLATFORM(WIN)
</del><span class="cx"> #define SOFT_LINK_AVF_FRAMEWORK(Lib) SOFT_LINK_FRAMEWORK_OPTIONAL(Lib)
</span><span class="cx"> #define SOFT_LINK_AVF_POINTER(Lib, Name, Type) SOFT_LINK_POINTER_OPTIONAL(Lib, Name, Type)
</span><span class="cx"> #else
</span><span class="lines">@@ -64,32 +53,6 @@
</span><span class="cx">
</span><span class="cx"> SOFT_LINK_AVF_FRAMEWORK(CoreMedia)
</span><span class="cx">
</span><del>-#if !PLATFORM(WIN)
-SOFT_LINK(CoreMedia, CMSampleBufferGetDataBuffer, CMBlockBufferRef, (CMSampleBufferRef sbuf), (sbuf))
-SOFT_LINK(CoreMedia, CMBlockBufferCopyDataBytes, OSStatus, (CMBlockBufferRef theSourceBuffer, size_t offsetToData, size_t dataLength, void* destination), (theSourceBuffer, offsetToData, dataLength, destination))
-SOFT_LINK(CoreMedia, CMBlockBufferGetDataLength, size_t, (CMBlockBufferRef theBuffer), (theBuffer))
-SOFT_LINK(CoreMedia, CMSampleBufferGetSampleTimingInfo, OSStatus, (CMSampleBufferRef sbuf, CMItemIndex sampleIndex, CMSampleTimingInfo* timingInfoOut), (sbuf, sampleIndex, timingInfoOut))
-SOFT_LINK(CoreMedia, CMFormatDescriptionGetExtensions, CFDictionaryRef, (CMFormatDescriptionRef desc), (desc))
-SOFT_LINK(CoreMedia, CMSampleBufferGetFormatDescription, CMFormatDescriptionRef, (CMSampleBufferRef sbuf), (sbuf))
-#else
-
-SOFT_LINK_DLL_IMPORT(CoreMedia, CMTimeGetSeconds, Float64, __cdecl, (CMTime time), (time))
-#define CMTimeGetSeconds softLink_CMTimeGetSeconds
-SOFT_LINK_DLL_IMPORT(CoreMedia, CMSampleBufferGetDataBuffer, CMBlockBufferRef, __cdecl, (CMSampleBufferRef sbuf), (sbuf))
-#define CMSampleBufferGetDataBuffer softLink_CMSampleBufferGetDataBuffer
-SOFT_LINK_DLL_IMPORT(CoreMedia, CMBlockBufferCopyDataBytes, OSStatus, __cdecl, (CMBlockBufferRef theSourceBuffer, size_t offsetToData, size_t dataLength, void* destination), (theSourceBuffer, offsetToData, dataLength, destination))
-#define CMBlockBufferCopyDataBytes softLink_CMBlockBufferCopyDataBytes
-SOFT_LINK_DLL_IMPORT(CoreMedia, CMBlockBufferGetDataLength, size_t, __cdecl, (CMBlockBufferRef theBuffer), (theBuffer))
-#define CMBlockBufferGetDataLength softLink_CMBlockBufferGetDataLength
-SOFT_LINK_DLL_IMPORT(CoreMedia, CMSampleBufferGetSampleTimingInfo, OSStatus, __cdecl, (CMSampleBufferRef sbuf, CMItemIndex sampleIndex, CMSampleTimingInfo* timingInfoOut), (sbuf, sampleIndex, timingInfoOut))
-#define CMSampleBufferGetSampleTimingInfo softLink_CMSampleBufferGetSampleTimingInfo
-SOFT_LINK_DLL_IMPORT(CoreMedia, CMFormatDescriptionGetExtensions, CFDictionaryRef, __cdecl, (CMFormatDescriptionRef desc), (desc))
-#define CMFormatDescriptionGetExtensions softLink_CMFormatDescriptionGetExtensions
-SOFT_LINK_DLL_IMPORT(CoreMedia, CMSampleBufferGetFormatDescription, CMFormatDescriptionRef, __cdecl, (CMSampleBufferRef sbuf), (sbuf))
-#define CMSampleBufferGetFormatDescription softLink_CMSampleBufferGetFormatDescription
-
-#endif
-
</del><span class="cx"> SOFT_LINK_AVF_POINTER(CoreMedia, kCMTextMarkupAttribute_Alignment, CFStringRef)
</span><span class="cx"> SOFT_LINK_AVF_POINTER(CoreMedia, kCMTextMarkupAlignmentType_Start, CFStringRef)
</span><span class="cx"> SOFT_LINK_AVF_POINTER(CoreMedia, kCMTextMarkupAlignmentType_Middle, CFStringRef)
</span><span class="lines">@@ -109,7 +72,6 @@
</span><span class="cx"> SOFT_LINK_AVF_POINTER(CoreMedia, kCMTextMarkupAttribute_ForegroundColorARGB, CFStringRef)
</span><span class="cx"> SOFT_LINK_AVF_POINTER(CoreMedia, kCMTextMarkupAttribute_BackgroundColorARGB, CFStringRef)
</span><span class="cx"> SOFT_LINK_AVF_POINTER(CoreMedia, kCMTextMarkupAttribute_CharacterBackgroundColorARGB, CFStringRef)
</span><del>-SOFT_LINK_AVF_POINTER(CoreMedia, kCMFormatDescriptionExtension_SampleDescriptionExtensionAtoms, CFStringRef)
</del><span class="cx">
</span><span class="cx"> #define kCMTextMarkupAttribute_Alignment getkCMTextMarkupAttribute_Alignment()
</span><span class="cx"> #define kCMTextMarkupAlignmentType_Start getkCMTextMarkupAlignmentType_Start()
</span><span class="lines">@@ -130,26 +92,20 @@
</span><span class="cx"> #define kCMTextMarkupAttribute_ForegroundColorARGB getkCMTextMarkupAttribute_ForegroundColorARGB()
</span><span class="cx"> #define kCMTextMarkupAttribute_BackgroundColorARGB getkCMTextMarkupAttribute_BackgroundColorARGB()
</span><span class="cx"> #define kCMTextMarkupAttribute_CharacterBackgroundColorARGB getkCMTextMarkupAttribute_CharacterBackgroundColorARGB()
</span><del>-#define kCMFormatDescriptionExtension_SampleDescriptionExtensionAtoms getkCMFormatDescriptionExtension_SampleDescriptionExtensionAtoms()
</del><span class="cx">
</span><del>-namespace JSC {
-class ArrayBuffer;
-}
-
</del><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><span class="cx"> AVFInbandTrackParent::~AVFInbandTrackParent()
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx">
</span><del>-InbandTextTrackPrivateAVF::InbandTextTrackPrivateAVF(AVFInbandTrackParent* owner, CueFormat format)
- : InbandTextTrackPrivate(format)
</del><ins>+InbandTextTrackPrivateAVF::InbandTextTrackPrivateAVF(AVFInbandTrackParent* owner)
+ : InbandTextTrackPrivate(Generic)
</ins><span class="cx"> , m_owner(owner)
</span><span class="cx"> , m_pendingCueStatus(None)
</span><span class="cx"> , m_index(0)
</span><span class="cx"> , m_hasBeenReported(false)
</span><span class="cx"> , m_seeking(false)
</span><del>- , m_haveReportedVTTHeader(false)
</del><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -397,19 +353,13 @@
</span><span class="cx"> cueData->setContent(content.toString());
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void InbandTextTrackPrivateAVF::processCue(CFArrayRef attributedStrings, CFArrayRef nativeSamples, double time)
</del><ins>+void InbandTextTrackPrivateAVF::processCue(CFArrayRef attributedStrings, double time)
</ins><span class="cx"> {
</span><span class="cx"> if (!client())
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- processAttributedStrings(attributedStrings, time);
- processNativeSamples(nativeSamples, time);
-}
</del><ins>+ LOG(Media, "InbandTextTrackPrivateAVF::processCue - %li cues at time %.2f\n", attributedStrings ? CFArrayGetCount(attributedStrings) : 0, time);
</ins><span class="cx">
</span><del>-void InbandTextTrackPrivateAVF::processAttributedStrings(CFArrayRef attributedStrings, double time)
-{
- LOG(Media, "InbandTextTrackPrivateAVF::processAttributedStrings - %li attributed strings at time %.2f\n", attributedStrings ? CFArrayGetCount(attributedStrings) : 0, time);
-
</del><span class="cx"> Vector<RefPtr<GenericCueData>> arrivingCues;
</span><span class="cx"> if (attributedStrings) {
</span><span class="cx"> CFIndex count = CFArrayGetCount(attributedStrings);
</span><span class="lines">@@ -492,9 +442,9 @@
</span><span class="cx"> LOG(Media, "InbandTextTrackPrivateAVF::processCue(%p) - adding cue for time = %.2f, position = %.2f, line = %.2f", this, cueData->startTime(), cueData->position(), cueData->line());
</span><span class="cx">
</span><span class="cx"> client()->addGenericCue(this, cueData.release());
</span><del>- }
</del><span class="cx">
</span><del>- m_pendingCueStatus = seeking() ? DeliveredDuringSeek : Valid;
</del><ins>+ m_pendingCueStatus = seeking() ? DeliveredDuringSeek : Valid;
+ }
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InbandTextTrackPrivateAVF::beginSeeking()
</span><span class="lines">@@ -563,103 +513,6 @@
</span><span class="cx"> m_owner->trackModeChanged();
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void InbandTextTrackPrivateAVF::processNativeSamples(CFArrayRef nativeSamples, double presentationTime)
-{
- if (!nativeSamples)
- return;
-
- CFIndex count = CFArrayGetCount(nativeSamples);
- if (!count)
- return;
-
- LOG(Media, "InbandTextTrackPrivateAVF::processNativeSamples - %li sample buffers at time %.2f\n", count, presentationTime);
-
- for (CFIndex i = 0; i < count; i++) {
-
- CMSampleBufferRef sampleBuffer = (CMSampleBufferRef)CFArrayGetValueAtIndex(nativeSamples, i);
- if (!sampleBuffer)
- continue;
-
- CMSampleTimingInfo timingInfo;
- OSStatus status = CMSampleBufferGetSampleTimingInfo(sampleBuffer, i, &timingInfo);
- if (status) {
- LOG(Media, "InbandTextTrackPrivateAVF::processNativeSamples(%p) - CMSampleBufferGetSampleTimingInfo returned error %x for sample %li", this, status, i);
- continue;
- }
-
- CMBlockBufferRef blockBuffer = CMSampleBufferGetDataBuffer(sampleBuffer);
- size_t bufferLength = CMBlockBufferGetDataLength(blockBuffer);
- if (bufferLength < ISOBox::boxHeaderSize()) {
- LOG(Media, "InbandTextTrackPrivateAVF::processNativeSamples(%p) - ERROR: CMSampleBuffer size length unexpectedly small (%zu)!!", this, bufferLength);
- continue;
- }
-
- m_sampleInputBuffer.resize(m_sampleInputBuffer.size() + bufferLength);
- CMBlockBufferCopyDataBytes(blockBuffer, 0, bufferLength, m_sampleInputBuffer.data() + m_sampleInputBuffer.size() - bufferLength);
-
- RefPtr<ArrayBuffer> buffer = ArrayBuffer::create(m_sampleInputBuffer.data(), m_sampleInputBuffer.size());
-
- String type = ISOBox::peekType(buffer.get());
- size_t boxLength = ISOBox::peekLength(buffer.get());
- if (boxLength > buffer->byteLength()) {
- LOG(Media, "InbandTextTrackPrivateAVF::processNativeSamples(%p) - ERROR: chunk '%s' size (%zu) larger than buffer length (%u)!!", this, type.utf8().data(), boxLength, buffer->byteLength());
- continue;
- }
-
- LOG(Media, "InbandTextTrackPrivateAVF::processNativeSamples(%p) - chunk type = '%s', size = %zu", this, type.utf8().data(), boxLength);
-
- if (type == ISOWebVTTCue::boxType()) {
-#if !PLATFORM(WIN)
- ISOWebVTTCue cueData = ISOWebVTTCue(MediaTime::createWithDouble(presentationTime), toMediaTime(timingInfo.duration), buffer.get());
-#else
- ISOWebVTTCue cueData = ISOWebVTTCue(MediaTime::createWithDouble(presentationTime), MediaTime::createWithDouble(CMTimeGetSeconds(timingInfo.duration)), buffer.get());
-#endif
- LOG(Media, " sample presentation time = %.2f, duration = %.2f", cueData.presentationTime().toDouble(), cueData.duration().toDouble());
- LOG(Media, " id = \"%s\", settings = \"%s\", cue text = \"%s\"", cueData.id().utf8().data(), cueData.settings().utf8().data(), cueData.cueText().utf8().data());
- LOG(Media, " sourceID = \"%s\", originalStartTime = \"%s\"", cueData.sourceID().utf8().data(), cueData.originalStartTime().utf8().data());
-
- client()->parseWebVTTCueData(this, cueData);
- }
-
- do {
- if (m_haveReportedVTTHeader)
- break;
-
- CMFormatDescriptionRef formatDescription = CMSampleBufferGetFormatDescription(sampleBuffer);
- if (!formatDescription)
- break;
-
- CFDictionaryRef extensions = CMFormatDescriptionGetExtensions(formatDescription);
- if (!extensions)
- break;
-
- CFDictionaryRef sampleDescriptionExtensions = static_cast<CFDictionaryRef>(CFDictionaryGetValue(extensions, kCMFormatDescriptionExtension_SampleDescriptionExtensionAtoms));
- if (!sampleDescriptionExtensions)
- break;
-
- CFDataRef webvttHeaderData = static_cast<CFDataRef>(CFDictionaryGetValue(sampleDescriptionExtensions, CFSTR("vttC")));
- if (!webvttHeaderData)
- break;
-
- unsigned length = CFDataGetLength(webvttHeaderData);
- if (!length)
- break;
-
- // A WebVTT header is terminated by "One or more WebVTT line terminators" so append two line feeds to make sure the parser
- // reccognized this string as a full header.
- StringBuilder header;
- header.append(reinterpret_cast<const unsigned char*>(CFDataGetBytePtr(webvttHeaderData)), length);
- header.append("\n\n");
-
- LOG(Media, " vtt header = \n%s", header.toString().utf8().data());
- client()->parseWebVTTFileHeader(this, header.toString());
- m_haveReportedVTTHeader = true;
- } while (0);
-
- m_sampleInputBuffer.remove(0, boxLength);
- }
-}
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx">
</span><span class="cx"> #endif // ENABLE(VIDEO) && (USE(AVFOUNDATION) || PLATFORM(IOS))
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationInbandTextTrackPrivateAVFh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h (170331 => 170332)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h        2014-06-23 23:16:09 UTC (rev 170331)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h        2014-06-23 23:17:00 UTC (rev 170332)
</span><span class="lines">@@ -55,7 +55,7 @@
</span><span class="cx"> bool hasBeenReported() const { return m_hasBeenReported; }
</span><span class="cx"> void setHasBeenReported(bool reported) { m_hasBeenReported = reported; }
</span><span class="cx">
</span><del>- virtual void processCue(CFArrayRef attributedStrings, CFArrayRef nativeSamples, double);
</del><ins>+ virtual void processCue(CFArrayRef, double);
</ins><span class="cx"> virtual void resetCueValues();
</span><span class="cx">
</span><span class="cx"> void beginSeeking();
</span><span class="lines">@@ -68,15 +68,13 @@
</span><span class="cx"> InBand
</span><span class="cx"> };
</span><span class="cx"> virtual Category textTrackCategory() const = 0;
</span><del>-
</del><ins>+
</ins><span class="cx"> virtual double startTimeVariance() const override { return 0.25; }
</span><del>-
</del><ins>+
</ins><span class="cx"> protected:
</span><del>- InbandTextTrackPrivateAVF(AVFInbandTrackParent*, CueFormat);
</del><ins>+ InbandTextTrackPrivateAVF(AVFInbandTrackParent*);
</ins><span class="cx">
</span><span class="cx"> void processCueAttributes(CFAttributedStringRef, GenericCueData*);
</span><del>- void processAttributedStrings(CFArrayRef, double);
- void processNativeSamples(CFArrayRef, double);
</del><span class="cx"> void removeCompletedCues();
</span><span class="cx">
</span><span class="cx"> double m_currentCueStartTime;
</span><span class="lines">@@ -85,8 +83,6 @@
</span><span class="cx"> Vector<RefPtr<GenericCueData>> m_cues;
</span><span class="cx"> AVFInbandTrackParent* m_owner;
</span><span class="cx">
</span><del>- Vector<char> m_sampleInputBuffer;
-
</del><span class="cx"> enum PendingCueStatus {
</span><span class="cx"> None,
</span><span class="cx"> DeliveredDuringSeek,
</span><span class="lines">@@ -97,7 +93,6 @@
</span><span class="cx"> int m_index;
</span><span class="cx"> bool m_hasBeenReported;
</span><span class="cx"> bool m_seeking;
</span><del>- bool m_haveReportedVTTHeader;
</del><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationcfInbandTextTrackPrivateAVCFcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.cpp (170331 => 170332)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.cpp        2014-06-23 23:16:09 UTC (rev 170331)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.cpp        2014-06-23 23:17:00 UTC (rev 170332)
</span><span class="lines">@@ -45,8 +45,8 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-InbandTextTrackPrivateAVCF::InbandTextTrackPrivateAVCF(AVFInbandTrackParent* player, AVCFMediaSelectionOptionRef selection, InbandTextTrackPrivate::CueFormat format)
- : InbandTextTrackPrivateAVF(player, format)
</del><ins>+InbandTextTrackPrivateAVCF::InbandTextTrackPrivateAVCF(AVFInbandTrackParent* player, AVCFMediaSelectionOptionRef selection)
+ : InbandTextTrackPrivateAVF(player)
</ins><span class="cx"> , m_mediaSelectionOption(selection)
</span><span class="cx"> {
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationcfInbandTextTrackPrivateAVCFh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.h (170331 => 170332)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.h        2014-06-23 23:16:09 UTC (rev 170331)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.h        2014-06-23 23:17:00 UTC (rev 170332)
</span><span class="lines">@@ -36,9 +36,9 @@
</span><span class="cx">
</span><span class="cx"> class InbandTextTrackPrivateAVCF : public InbandTextTrackPrivateAVF {
</span><span class="cx"> public:
</span><del>- static PassRefPtr<InbandTextTrackPrivateAVCF> create(AVFInbandTrackParent* player, AVCFMediaSelectionOptionRef selection, InbandTextTrackPrivate::CueFormat format)
</del><ins>+ static PassRefPtr<InbandTextTrackPrivateAVCF> create(AVFInbandTrackParent* player, AVCFMediaSelectionOptionRef selection)
</ins><span class="cx"> {
</span><del>- return adoptRef(new InbandTextTrackPrivateAVCF(player, selection, format));
</del><ins>+ return adoptRef(new InbandTextTrackPrivateAVCF(player, selection));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> ~InbandTextTrackPrivateAVCF() { }
</span><span class="lines">@@ -60,7 +60,7 @@
</span><span class="cx"> AVCFMediaSelectionOptionRef mediaSelectionOption() const { return m_mediaSelectionOption.get(); }
</span><span class="cx">
</span><span class="cx"> protected:
</span><del>- InbandTextTrackPrivateAVCF(AVFInbandTrackParent*, AVCFMediaSelectionOptionRef, InbandTextTrackPrivate::CueFormat);
</del><ins>+ InbandTextTrackPrivateAVCF(AVFInbandTrackParent*, AVCFMediaSelectionOptionRef);
</ins><span class="cx">
</span><span class="cx"> RetainPtr<AVCFMediaSelectionOptionRef> m_mediaSelectionOption;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationcfMediaPlayerPrivateAVFoundationCFcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp (170331 => 170332)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp        2014-06-23 23:16:09 UTC (rev 170331)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp        2014-06-23 23:17:00 UTC (rev 170332)
</span><span class="lines">@@ -1093,7 +1093,7 @@
</span><span class="cx"> if (!newTrack)
</span><span class="cx"> continue;
</span><span class="cx">
</span><del>- m_textTracks.append(InbandTextTrackPrivateAVCF::create(this, option, InbandTextTrackPrivate::Generic));
</del><ins>+ m_textTracks.append(InbandTextTrackPrivateAVCF::create(this, option));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> processNewAndRemovedTextTracks(removedTextTracks);
</span><span class="lines">@@ -1594,12 +1594,11 @@
</span><span class="cx"> #if HAVE(AVFOUNDATION_MEDIA_SELECTION_GROUP) && HAVE(AVFOUNDATION_LEGIBLE_OUTPUT_SUPPORT)
</span><span class="cx"> struct LegibleOutputData {
</span><span class="cx"> RetainPtr<CFArrayRef> m_attributedStrings;
</span><del>- RetainPtr<CFArrayRef> m_samples;
</del><span class="cx"> double m_time;
</span><span class="cx"> void* m_context;
</span><span class="cx">
</span><del>- LegibleOutputData(CFArrayRef strings, CFArrayRef samples, double time, void* context)
- : m_attributedStrings(strings), m_samples(samples), m_time(time), m_context(context)
</del><ins>+ LegibleOutputData(CFArrayRef strings, double time, void* context)
+ : m_attributedStrings(strings), m_time(time), m_context(context)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> };
</span><span class="lines">@@ -1624,10 +1623,10 @@
</span><span class="cx"> if (!self->m_currentTextTrack)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- self->m_currentTextTrack->processCue(legibleOutputData->m_attributedStrings.get(), legibleOutputData->m_samples.get(), legibleOutputData->m_time);
</del><ins>+ self->m_currentTextTrack->processCue(legibleOutputData->m_attributedStrings.get(), legibleOutputData->m_time);
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-void AVFWrapper::legibleOutputCallback(void* context, AVCFPlayerItemLegibleOutputRef legibleOutput, CFArrayRef attributedStrings, CFArrayRef nativeSampleBuffers, CMTime itemTime)
</del><ins>+void AVFWrapper::legibleOutputCallback(void* context, AVCFPlayerItemLegibleOutputRef legibleOutput, CFArrayRef attributedStrings, CFArrayRef /*nativeSampleBuffers*/, CMTime itemTime)
</ins><span class="cx"> {
</span><span class="cx"> ASSERT(dispatch_get_main_queue() != dispatch_get_current_queue());
</span><span class="cx"> MutexLocker locker(mapLock());
</span><span class="lines">@@ -1641,7 +1640,7 @@
</span><span class="cx">
</span><span class="cx"> ASSERT(legibleOutput == self->m_legibleOutput);
</span><span class="cx">
</span><del>- OwnPtr<LegibleOutputData> legibleOutputData = adoptPtr(new LegibleOutputData(attributedStrings, nativeSampleBuffers, CMTimeGetSeconds(itemTime), context));
</del><ins>+ OwnPtr<LegibleOutputData> legibleOutputData = adoptPtr(new LegibleOutputData(attributedStrings, CMTimeGetSeconds(itemTime), context));
</ins><span class="cx">
</span><span class="cx"> dispatch_async_f(dispatch_get_main_queue(), legibleOutputData.leakPtr(), processCue);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationobjcInbandTextTrackPrivateAVFObjCh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h (170331 => 170332)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h        2014-06-23 23:16:09 UTC (rev 170331)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h        2014-06-23 23:17:00 UTC (rev 170332)
</span><span class="lines">@@ -31,16 +31,15 @@
</span><span class="cx"> #include "InbandTextTrackPrivateAVF.h"
</span><span class="cx"> #include <wtf/RetainPtr.h>
</span><span class="cx">
</span><del>-OBJC_CLASS AVAsset;
</del><span class="cx"> OBJC_CLASS AVMediaSelectionOption;
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><span class="cx"> class InbandTextTrackPrivateAVFObjC : public InbandTextTrackPrivateAVF {
</span><span class="cx"> public:
</span><del>- static PassRefPtr<InbandTextTrackPrivateAVFObjC> create(AVFInbandTrackParent* player, AVMediaSelectionOption *selection, InbandTextTrackPrivate::CueFormat format)
</del><ins>+ static PassRefPtr<InbandTextTrackPrivateAVFObjC> create(AVFInbandTrackParent* player, AVMediaSelectionOption *selection)
</ins><span class="cx"> {
</span><del>- return adoptRef(new InbandTextTrackPrivateAVFObjC(player, selection, format));
</del><ins>+ return adoptRef(new InbandTextTrackPrivateAVFObjC(player, selection));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> ~InbandTextTrackPrivateAVFObjC() { }
</span><span class="lines">@@ -62,7 +61,7 @@
</span><span class="cx"> AVMediaSelectionOption *mediaSelectionOption() const { return m_mediaSelectionOption.get(); }
</span><span class="cx">
</span><span class="cx"> protected:
</span><del>- InbandTextTrackPrivateAVFObjC(AVFInbandTrackParent*, AVMediaSelectionOption *, InbandTextTrackPrivate::CueFormat);
</del><ins>+ InbandTextTrackPrivateAVFObjC(AVFInbandTrackParent*, AVMediaSelectionOption *);
</ins><span class="cx">
</span><span class="cx"> RetainPtr<AVMediaSelectionOption> m_mediaSelectionOption;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationobjcInbandTextTrackPrivateAVFObjCmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm (170331 => 170332)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm        2014-06-23 23:16:09 UTC (rev 170331)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm        2014-06-23 23:17:00 UTC (rev 170332)
</span><span class="lines">@@ -76,8 +76,8 @@
</span><span class="cx">
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><del>-InbandTextTrackPrivateAVFObjC::InbandTextTrackPrivateAVFObjC(AVFInbandTrackParent* player, AVMediaSelectionOption *selection, InbandTextTrackPrivate::CueFormat format)
- : InbandTextTrackPrivateAVF(player, format)
</del><ins>+InbandTextTrackPrivateAVFObjC::InbandTextTrackPrivateAVFObjC(AVFInbandTrackParent* player, AVMediaSelectionOption *selection)
+ : InbandTextTrackPrivateAVF(player)
</ins><span class="cx"> , m_mediaSelectionOption(selection)
</span><span class="cx"> {
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationobjcInbandTextTrackPrivateLegacyAVFObjCmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm (170331 => 170332)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm        2014-06-23 23:16:09 UTC (rev 170331)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm        2014-06-23 23:17:00 UTC (rev 170332)
</span><span class="lines">@@ -56,7 +56,7 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx">
</span><span class="cx"> InbandTextTrackPrivateLegacyAVFObjC::InbandTextTrackPrivateLegacyAVFObjC(MediaPlayerPrivateAVFoundationObjC* player, AVPlayerItemTrack* track)
</span><del>- : InbandTextTrackPrivateAVF(player, InbandTextTrackPrivate::Generic)
</del><ins>+ : InbandTextTrackPrivateAVF(player)
</ins><span class="cx"> , m_playerItemTrack(track)
</span><span class="cx"> {
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationobjcMediaPlayerPrivateAVFoundationObjCh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h (170331 => 170332)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h        2014-06-23 23:16:09 UTC (rev 170331)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h        2014-06-23 23:17:00 UTC (rev 170332)
</span><span class="lines">@@ -76,7 +76,7 @@
</span><span class="cx">
</span><span class="cx"> #if HAVE(AVFOUNDATION_MEDIA_SELECTION_GROUP)
</span><span class="cx"> RetainPtr<AVPlayerItem> playerItem() const { return m_avPlayerItem; }
</span><del>- void processCue(NSArray *, NSArray *, double);
</del><ins>+ void processCue(NSArray *, double);
</ins><span class="cx"> void flushCues();
</span><span class="cx"> #endif
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationobjcMediaPlayerPrivateAVFoundationObjCmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm (170331 => 170332)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm        2014-06-23 23:16:09 UTC (rev 170331)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm        2014-06-23 23:17:00 UTC (rev 170332)
</span><span class="lines">@@ -676,7 +676,7 @@
</span><span class="cx"> if (m_avAsset)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- LOG(Media, "MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL(%p) - url = %s", this, url.utf8().data());
</del><ins>+ LOG(Media, "MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL(%p)", this);
</ins><span class="cx">
</span><span class="cx"> setDelayCallbacks(true);
</span><span class="cx">
</span><span class="lines">@@ -808,8 +808,7 @@
</span><span class="cx"> #if HAVE(AVFOUNDATION_MEDIA_SELECTION_GROUP) && HAVE(AVFOUNDATION_LEGIBLE_OUTPUT_SUPPORT)
</span><span class="cx"> const NSTimeInterval legibleOutputAdvanceInterval = 2;
</span><span class="cx">
</span><del>- RetainPtr<NSArray> subtypes = adoptNS([[NSArray alloc] initWithObjects:[NSNumber numberWithUnsignedInt:kCMSubtitleFormatType_WebVTT], nil]);
- m_legibleOutput = adoptNS([[AVPlayerItemLegibleOutput alloc] initWithMediaSubtypesForNativeRepresentation:subtypes.get()]);
</del><ins>+ m_legibleOutput = adoptNS([[AVPlayerItemLegibleOutput alloc] initWithMediaSubtypesForNativeRepresentation:[NSArray array]]);
</ins><span class="cx"> [m_legibleOutput.get() setSuppressesPlayerRendering:YES];
</span><span class="cx">
</span><span class="cx"> [m_legibleOutput.get() setDelegate:m_objcObserver.get() queue:dispatch_get_main_queue()];
</span><span class="lines">@@ -1578,8 +1577,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> #if HAVE(AVFOUNDATION_MEDIA_SELECTION_GROUP)
</span><del>- AVMediaSelectionGroupType *legibleGroup = safeMediaSelectionGroupForLegibleMedia();
- if (legibleGroup && m_cachedTracks) {
</del><ins>+ if (AVMediaSelectionGroupType *legibleGroup = safeMediaSelectionGroupForLegibleMedia()) {
</ins><span class="cx"> hasCaptions = [[AVMediaSelectionGroup playableMediaSelectionOptionsFromArray:[legibleGroup options]] count];
</span><span class="cx"> if (hasCaptions)
</span><span class="cx"> processMediaSelectionOptions();
</span><span class="lines">@@ -2166,7 +2164,7 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>- m_textTracks.append(InbandTextTrackPrivateAVFObjC::create(this, option, InbandTextTrackPrivate::Generic));
</del><ins>+ m_textTracks.append(InbandTextTrackPrivateAVFObjC::create(this, option));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> processNewAndRemovedTextTracks(removedTextTracks);
</span><span class="lines">@@ -2182,12 +2180,12 @@
</span><span class="cx"> player()->addTextTrack(m_metadataTrack);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-void MediaPlayerPrivateAVFoundationObjC::processCue(NSArray *attributedStrings, NSArray *nativeSamples, double time)
</del><ins>+void MediaPlayerPrivateAVFoundationObjC::processCue(NSArray *attributedStrings, double time)
</ins><span class="cx"> {
</span><span class="cx"> if (!m_currentTextTrack)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- m_currentTextTrack->processCue(reinterpret_cast<CFArrayRef>(attributedStrings), reinterpret_cast<CFArrayRef>(nativeSamples), time);
</del><ins>+ m_currentTextTrack->processCue(reinterpret_cast<CFArrayRef>(attributedStrings), time);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void MediaPlayerPrivateAVFoundationObjC::flushCues()
</span><span class="lines">@@ -2736,12 +2734,11 @@
</span><span class="cx">
</span><span class="cx"> RetainPtr<WebCoreAVFMovieObserver> strongSelf = self;
</span><span class="cx"> RetainPtr<NSArray> strongStrings = strings;
</span><del>- RetainPtr<NSArray> strongSamples = nativeSamples;
- callOnMainThread([strongSelf, strongStrings, strongSamples, itemTime] {
</del><ins>+ callOnMainThread([strongSelf, strongStrings, itemTime] {
</ins><span class="cx"> MediaPlayerPrivateAVFoundationObjC* callback = strongSelf->m_callback;
</span><span class="cx"> if (!callback)
</span><span class="cx"> return;
</span><del>- callback->processCue(strongStrings.get(), strongSamples.get(), CMTimeGetSeconds(itemTime));
</del><ins>+ callback->processCue(strongStrings.get(), CMTimeGetSeconds(itemTime));
</ins><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationobjcOutOfBandTextTrackPrivateAVFh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/OutOfBandTextTrackPrivateAVF.h (170331 => 170332)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/OutOfBandTextTrackPrivateAVF.h        2014-06-23 23:16:09 UTC (rev 170331)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/OutOfBandTextTrackPrivateAVF.h        2014-06-23 23:17:00 UTC (rev 170332)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> return adoptRef(new OutOfBandTextTrackPrivateAVF(player, selection));
</span><span class="cx"> }
</span><span class="cx">
</span><del>- virtual void processCue(CFArrayRef, CFArrayRef, double) override { }
</del><ins>+ virtual void processCue(CFArrayRef, double) override { }
</ins><span class="cx"> virtual void resetCueValues() override { }
</span><span class="cx">
</span><span class="cx"> virtual Category textTrackCategory() const override { return OutOfBand; }
</span><span class="lines">@@ -50,7 +50,7 @@
</span><span class="cx">
</span><span class="cx"> protected:
</span><span class="cx"> OutOfBandTextTrackPrivateAVF(AVFInbandTrackParent* player, AVMediaSelectionOption* selection)
</span><del>- : InbandTextTrackPrivateAVF(player, InbandTextTrackPrivate::Generic)
</del><ins>+ : InbandTextTrackPrivateAVF(player)
</ins><span class="cx"> , m_mediaSelectionOption(selection)
</span><span class="cx"> {
</span><span class="cx"> }
</span></span></pre>
</div>
</div>
</body>
</html>