[prev in list] [next in list] [prev in thread] [next in thread] 

List:       webkit-changes
Subject:    [webkit-changes] [158406] tags/Safari-538.4
From:       lforschler () apple ! com
Date:       2013-10-31 23:30:08
Message-ID: 20131031233009.0EFF5303A2D () svn ! webkit ! org
[Download RAW message or body]

[Attachment #2 (text/html)]

<!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>[158406] tags/Safari-538.4</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/158406">158406</a></dd> \
<dt>Author</dt> <dd>lforschler@apple.com</dd> <dt>Date</dt> <dd>2013-10-31 16:30:08 \
-0700 (Thu, 31 Oct 2013)</dd> </dl>

<h3>Log Message</h3>
<pre>Rollout <a href="http://trac.webkit.org/projects/webkit/changeset/158288">r158288</a>, \
<a href="http://trac.webkit.org/projects/webkit/changeset/158291">r158291</a>, <a \
href="http://trac.webkit.org/projects/webkit/changeset/158295">r158295</a>, <a \
href="http://trac.webkit.org/projects/webkit/changeset/158311">r158311</a>, <a \
href="http://trac.webkit.org/projects/webkit/changeset/158318">r158318</a>.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#tagsSafari5384LayoutTestsChangeLog">tags/Safari-538.4/LayoutTests/ChangeLog</a></li>
 <li><a href="#tagsSafari5384LayoutTestsTestExpectations">tags/Safari-538.4/LayoutTests/TestExpectations</a></li>
 <li><a href="#tagsSafari5384LayoutTestsplatformmacjsdomglobalconstructorsattributesex \
pectedtxt">tags/Safari-538.4/LayoutTests/platform/mac/js/dom/global-constructors-attributes-expected.txt</a></li>
 <li><a href="#tagsSafari5384SourceWebCoreCMakeListstxt">tags/Safari-538.4/Source/WebCore/CMakeLists.txt</a></li>
 <li><a href="#tagsSafari5384SourceWebCoreChangeLog">tags/Safari-538.4/Source/WebCore/ChangeLog</a></li>
 <li><a href="#tagsSafari5384SourceWebCoreDerivedSourcescpp">tags/Safari-538.4/Source/WebCore/DerivedSources.cpp</a></li>
 <li><a href="#tagsSafari5384SourceWebCoreDerivedSourcesmake">tags/Safari-538.4/Source/WebCore/DerivedSources.make</a></li>
 <li><a href="#tagsSafari5384SourceWebCoreGNUmakefilelistam">tags/Safari-538.4/Source/WebCore/GNUmakefile.list.am</a></li>
 <li><a href="#tagsSafari5384SourceWebCoreModulesmediasourceDOMURLMediaSourceidl">tags/Safari-538.4/Source/WebCore/Modules/mediasource/DOMURLMediaSource.idl</a></li>
 <li><a href="#tagsSafari5384SourceWebCoreModulesmediasourceMediaSourcecpp">tags/Safari-538.4/Source/WebCore/Modules/mediasource/MediaSource.cpp</a></li>
 <li><a href="#tagsSafari5384SourceWebCoreWebCorexcodeprojprojectpbxproj">tags/Safari-538.4/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
 <li><a href="#tagsSafari5384SourceWebCoredomDOMImplementationcpp">tags/Safari-538.4/Source/WebCore/dom/DOMImplementation.cpp</a></li>
 <li><a href="#tagsSafari5384SourceWebCoredomEventTargetFactoryin">tags/Safari-538.4/Source/WebCore/dom/EventTargetFactory.in</a></li>
 <li><a href="#tagsSafari5384SourceWebCorehtmlHTMLMediaElementcpp">tags/Safari-538.4/Source/WebCore/html/HTMLMediaElement.cpp</a></li>
 <li><a href="#tagsSafari5384SourceWebCoreplatformMIMETypeRegistryh">tags/Safari-538.4/Source/WebCore/platform/MIMETypeRegistry.h</a></li>
 <li><a href="#tagsSafari5384SourceWebCoreplatformeflMIMETypeRegistryEflcpp">tags/Safari-538.4/Source/WebCore/platform/efl/MIMETypeRegistryEfl.cpp</a></li>
 <li><a href="#tagsSafari5384SourceWebCoreplatformgraphicsMediaPlayercpp">tags/Safari-538.4/Source/WebCore/platform/graphics/MediaPlayer.cpp</a></li>
 <li><a href="#tagsSafari5384SourceWebCoreplatformgraphicsMediaPlayerh">tags/Safari-538.4/Source/WebCore/platform/graphics/MediaPlayer.h</a></li>
 <li><a href="#tagsSafari5384SourceWebCoreplatformmacMIMETypeRegistryMacmm">tags/Safari-538.4/Source/WebCore/platform/mac/MIMETypeRegistryMac.mm</a></li>
 </ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#tagsSafari5384SourceWebCoreModulesmediasourceWebKitMediaSourcecpp">tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitMediaSource.cpp</a></li>
 <li><a href="#tagsSafari5384SourceWebCoreModulesmediasourceWebKitMediaSourceh">tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitMediaSource.h</a></li>
 <li><a href="#tagsSafari5384SourceWebCoreModulesmediasourceWebKitMediaSourceidl">tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitMediaSource.idl</a></li>
 <li><a href="#tagsSafari5384SourceWebCoreModulesmediasourceWebKitSourceBuffercpp">tag \
s/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitSourceBuffer.cpp</a></li> \
<li><a href="#tagsSafari5384SourceWebCoreModulesmediasourceWebKitSourceBufferh">tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitSourceBuffer.h</a></li>
 <li><a href="#tagsSafari5384SourceWebCoreModulesmediasourceWebKitSourceBufferidl">tag \
s/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitSourceBuffer.idl</a></li> \
<li><a href="#tagsSafari5384SourceWebCoreModulesmediasourceWebKitSourceBufferListcpp"> \
tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitSourceBufferList.cpp</a></li>
 <li><a href="#tagsSafari5384SourceWebCoreModulesmediasourceWebKitSourceBufferListh">t \
ags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitSourceBufferList.h</a></li> \
<li><a href="#tagsSafari5384SourceWebCoreModulesmediasourceWebKitSourceBufferListidl"> \
tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitSourceBufferList.idl</a></li>
 </ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="tagsSafari5384LayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.4/LayoutTests/ChangeLog (158405 => \
158406)</h4> <pre class="diff"><span>
<span class="info">--- tags/Safari-538.4/LayoutTests/ChangeLog	2013-10-31 23:23:11 \
                UTC (rev 158405)
+++ tags/Safari-538.4/LayoutTests/ChangeLog	2013-10-31 23:30:08 UTC (rev 158406)
</span><span class="lines">@@ -1,3 +1,7 @@
</span><ins>+2013-10-31  Lucas Forschler  &lt;lforschler@apple.com&gt;
+
+    Rollout r158288, r158291, r158295, r158311, r158318
+
</ins><span class="cx"> 2013-10-30  Jer Noble  &lt;jer.noble@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         REGRESSION(r158288): \
media/media-can-play-mpeg4-video.html fails </span></span></pre></div>
<a id="tagsSafari5384LayoutTestsTestExpectations"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.4/LayoutTests/TestExpectations \
(158405 => 158406)</h4> <pre class="diff"><span>
<span class="info">--- tags/Safari-538.4/LayoutTests/TestExpectations	2013-10-31 \
                23:23:11 UTC (rev 158405)
+++ tags/Safari-538.4/LayoutTests/TestExpectations	2013-10-31 23:30:08 UTC (rev \
158406) </span><span class="lines">@@ -75,3 +75,5 @@
</span><span class="cx"> webkit.org/b/122679 security/crypto-subtle-gc.html [ Skip ]
</span><span class="cx"> webkit.org/b/122679 security/crypto-subtle-gc-2.html [ Skip \
] </span><span class="cx"> webkit.org/b/122679 security/crypto-subtle-gc-3.html [ \
Skip ] </span><ins>+
+webkit.org/b/123530 media/media-can-play-mpeg4-video.html [ Failure ]
</ins></span></pre></div>
<a id="tagsSafari5384LayoutTestsplatformmacjsdomglobalconstructorsattributesexpectedtxt"></a>
 <div class="modfile"><h4>Modified: \
tags/Safari-538.4/LayoutTests/platform/mac/js/dom/global-constructors-attributes-expected.txt \
(158405 => 158406)</h4> <pre class="diff"><span>
<span class="info">--- \
tags/Safari-538.4/LayoutTests/platform/mac/js/dom/global-constructors-attributes-expected.txt	2013-10-31 \
                23:23:11 UTC (rev 158405)
+++ tags/Safari-538.4/LayoutTests/platform/mac/js/dom/global-constructors-attributes-expected.txt	2013-10-31 \
23:30:08 UTC (rev 158406) </span><span class="lines">@@ -1958,6 +1958,11 @@
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, \
'WebKitMediaKeys').hasOwnProperty('set') is false </span><span class="cx"> PASS \
Object.getOwnPropertyDescriptor(global, 'WebKitMediaKeys').enumerable is false \
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, \
'WebKitMediaKeys').configurable is true </span><ins>+PASS \
Object.getOwnPropertyDescriptor(global, 'WebKitMediaSource').value is \
WebKitMediaSource +PASS Object.getOwnPropertyDescriptor(global, \
'WebKitMediaSource').hasOwnProperty('get') is false +PASS \
Object.getOwnPropertyDescriptor(global, 'WebKitMediaSource').hasOwnProperty('set') is \
false +PASS Object.getOwnPropertyDescriptor(global, 'WebKitMediaSource').enumerable \
is false +PASS Object.getOwnPropertyDescriptor(global, \
'WebKitMediaSource').configurable is true </ins><span class="cx"> PASS \
Object.getOwnPropertyDescriptor(global, 'WebKitMutationObserver').value is \
WebKitMutationObserver </span><span class="cx"> PASS \
Object.getOwnPropertyDescriptor(global, \
'WebKitMutationObserver').hasOwnProperty('get') is false </span><span class="cx"> \
PASS Object.getOwnPropertyDescriptor(global, \
'WebKitMutationObserver').hasOwnProperty('set') is false </span><span \
class="lines">@@ -1968,6 +1973,16 @@ </span><span class="cx"> PASS \
Object.getOwnPropertyDescriptor(global, 'WebKitPoint').hasOwnProperty('set') is false \
</span><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, \
'WebKitPoint').enumerable is false </span><span class="cx"> PASS \
Object.getOwnPropertyDescriptor(global, 'WebKitPoint').configurable is true \
</span><ins>+PASS Object.getOwnPropertyDescriptor(global, 'WebKitSourceBuffer').value \
is WebKitSourceBuffer +PASS Object.getOwnPropertyDescriptor(global, \
'WebKitSourceBuffer').hasOwnProperty('get') is false +PASS \
Object.getOwnPropertyDescriptor(global, 'WebKitSourceBuffer').hasOwnProperty('set') \
is false +PASS Object.getOwnPropertyDescriptor(global, \
'WebKitSourceBuffer').enumerable is false +PASS \
Object.getOwnPropertyDescriptor(global, 'WebKitSourceBuffer').configurable is true \
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitSourceBufferList').value is \
WebKitSourceBufferList +PASS Object.getOwnPropertyDescriptor(global, \
'WebKitSourceBufferList').hasOwnProperty('get') is false +PASS \
Object.getOwnPropertyDescriptor(global, \
'WebKitSourceBufferList').hasOwnProperty('set') is false +PASS \
Object.getOwnPropertyDescriptor(global, 'WebKitSourceBufferList').enumerable is false \
+PASS Object.getOwnPropertyDescriptor(global, 'WebKitSourceBufferList').configurable \
is true </ins><span class="cx"> PASS Object.getOwnPropertyDescriptor(global, \
'WebKitTransitionEvent').value is WebKitTransitionEvent </span><span class="cx"> PASS \
Object.getOwnPropertyDescriptor(global, \
'WebKitTransitionEvent').hasOwnProperty('get') is false </span><span class="cx"> PASS \
Object.getOwnPropertyDescriptor(global, \
'WebKitTransitionEvent').hasOwnProperty('set') is false </span></span></pre></div>
<a id="tagsSafari5384SourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.4/Source/WebCore/CMakeLists.txt \
(158405 => 158406)</h4> <pre class="diff"><span>
<span class="info">--- tags/Safari-538.4/Source/WebCore/CMakeLists.txt	2013-10-31 \
                23:23:11 UTC (rev 158405)
+++ tags/Safari-538.4/Source/WebCore/CMakeLists.txt	2013-10-31 23:30:08 UTC (rev \
158406) </span><span class="lines">@@ -183,6 +183,9 @@
</span><span class="cx">     Modules/mediasource/MediaSource.idl
</span><span class="cx">     Modules/mediasource/SourceBuffer.idl
</span><span class="cx">     Modules/mediasource/SourceBufferList.idl
</span><ins>+    Modules/mediasource/WebKitMediaSource.idl
+    Modules/mediasource/WebKitSourceBuffer.idl
+    Modules/mediasource/WebKitSourceBufferList.idl
</ins><span class="cx"> 
</span><span class="cx">     Modules/mediastream/AllAudioCapabilities.idl
</span><span class="cx">     Modules/mediastream/AllVideoCapabilities.idl
</span></span></pre></div>
<a id="tagsSafari5384SourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: tags/Safari-538.4/Source/WebCore/ChangeLog (158405 \
=> 158406)</h4> <pre class="diff"><span>
<span class="info">--- tags/Safari-538.4/Source/WebCore/ChangeLog	2013-10-31 23:23:11 \
                UTC (rev 158405)
+++ tags/Safari-538.4/Source/WebCore/ChangeLog	2013-10-31 23:30:08 UTC (rev 158406)
</span><span class="lines">@@ -1,5 +1,9 @@
</span><span class="cx"> 2013-10-31  Lucas Forschler  &lt;lforschler@apple.com&gt;
</span><span class="cx"> 
</span><ins>+    Rollout r158288, r158291, r158295, r158311, r158318
+
+2013-10-31  Lucas Forschler  &lt;lforschler@apple.com&gt;
+
</ins><span class="cx">         Merge r158391
</span><span class="cx"> 
</span><span class="cx">     2013-10-31  Beth Dakin  &lt;bdakin@apple.com&gt;
</span></span></pre></div>
<a id="tagsSafari5384SourceWebCoreDerivedSourcescpp"></a>
<div class="modfile"><h4>Modified: \
tags/Safari-538.4/Source/WebCore/DerivedSources.cpp (158405 => 158406)</h4> <pre \
class="diff"><span> <span class="info">--- \
tags/Safari-538.4/Source/WebCore/DerivedSources.cpp	2013-10-31 23:23:11 UTC (rev \
                158405)
+++ tags/Safari-538.4/Source/WebCore/DerivedSources.cpp	2013-10-31 23:30:08 UTC (rev \
158406) </span><span class="lines">@@ -249,6 +249,9 @@
</span><span class="cx"> #include &quot;JSMediaList.cpp&quot;
</span><span class="cx"> #include &quot;JSMediaQueryList.cpp&quot;
</span><span class="cx"> #include &quot;JSMediaQueryListListener.cpp&quot;
</span><ins>+#if ENABLE(MEDIA_SOURCE)
+#include &quot;JSWebKitMediaSource.cpp&quot;
+#endif
</ins><span class="cx"> #include &quot;JSMessageChannel.cpp&quot;
</span><span class="cx"> #include &quot;JSMessageEvent.cpp&quot;
</span><span class="cx"> #include &quot;JSMessagePort.cpp&quot;
</span><span class="lines">@@ -288,6 +291,10 @@
</span><span class="cx"> #include &quot;JSShadowRoot.cpp&quot;
</span><span class="cx"> #include &quot;JSSharedWorker.cpp&quot;
</span><span class="cx"> #include &quot;JSSharedWorkerGlobalScope.cpp&quot;
</span><ins>+#if ENABLE(MEDIA_SOURCE)
+#include &quot;JSWebKitSourceBuffer.cpp&quot;
+#include &quot;JSWebKitSourceBufferList.cpp&quot;
+#endif
</ins><span class="cx"> #include &quot;JSSQLError.cpp&quot;
</span><span class="cx"> #include &quot;JSSQLException.cpp&quot;
</span><span class="cx"> #include &quot;JSSQLResultSet.cpp&quot;
</span></span></pre></div>
<a id="tagsSafari5384SourceWebCoreDerivedSourcesmake"></a>
<div class="modfile"><h4>Modified: \
tags/Safari-538.4/Source/WebCore/DerivedSources.make (158405 => 158406)</h4> <pre \
class="diff"><span> <span class="info">--- \
tags/Safari-538.4/Source/WebCore/DerivedSources.make	2013-10-31 23:23:11 UTC (rev \
                158405)
+++ tags/Safari-538.4/Source/WebCore/DerivedSources.make	2013-10-31 23:30:08 UTC (rev \
158406) </span><span class="lines">@@ -97,6 +97,11 @@
</span><span class="cx"> 	$(WebCore)/Modules/mediasource/MediaSource.idl \
</span><span class="cx"> 	$(WebCore)/Modules/mediasource/SourceBuffer.idl \
</span><span class="cx"> 	$(WebCore)/Modules/mediasource/SourceBufferList.idl \
</span><ins>+    $(WebCore)/Modules/mediasource/WebKitMediaSource.idl \
+    $(WebCore)/Modules/mediasource/WebKitSourceBuffer.idl \
+    $(WebCore)/Modules/mediasource/WebKitSourceBufferList.idl \
+    $(WebCore)/Modules/mediasource/SourceBuffer.idl \
+    $(WebCore)/Modules/mediasource/SourceBufferList.idl \
</ins><span class="cx"> 	$(WebCore)/Modules/mediastream/AllVideoCapabilities.idl \
</span><span class="cx"> 	$(WebCore)/Modules/mediastream/AllAudioCapabilities.idl \
</span><span class="cx"> 	$(WebCore)/Modules/mediastream/AudioStreamTrack.idl \
</span></span></pre></div>
<a id="tagsSafari5384SourceWebCoreGNUmakefilelistam"></a>
<div class="modfile"><h4>Modified: \
tags/Safari-538.4/Source/WebCore/GNUmakefile.list.am (158405 => 158406)</h4> <pre \
class="diff"><span> <span class="info">--- \
tags/Safari-538.4/Source/WebCore/GNUmakefile.list.am	2013-10-31 23:23:11 UTC (rev \
                158405)
+++ tags/Safari-538.4/Source/WebCore/GNUmakefile.list.am	2013-10-31 23:30:08 UTC (rev \
158406) </span><span class="lines">@@ -465,6 +465,8 @@
</span><span class="cx"> 	DerivedSources/WebCore/JSMediaList.h \
</span><span class="cx"> 	DerivedSources/WebCore/JSMediaSource.cpp \
</span><span class="cx"> 	DerivedSources/WebCore/JSMediaSource.h \
</span><ins>+	DerivedSources/WebCore/JSWebKitMediaSource.cpp \
+	DerivedSources/WebCore/JSWebKitMediaSource.h \
</ins><span class="cx"> 	DerivedSources/WebCore/JSMediaSourceStates.cpp \
</span><span class="cx"> 	DerivedSources/WebCore/JSMediaSourceStates.h \
</span><span class="cx"> 	DerivedSources/WebCore/JSMediaStream.cpp \
</span><span class="lines">@@ -641,6 +643,10 @@
</span><span class="cx"> 	DerivedSources/WebCore/JSSourceBufferList.h \
</span><span class="cx"> 	DerivedSources/WebCore/JSSourceInfo.cpp \
</span><span class="cx"> 	DerivedSources/WebCore/JSSourceInfo.h \
</span><ins>+	DerivedSources/WebCore/JSWebKitSourceBuffer.cpp \
+	DerivedSources/WebCore/JSWebKitSourceBuffer.h \
+	DerivedSources/WebCore/JSWebKitSourceBufferList.cpp \
+	DerivedSources/WebCore/JSWebKitSourceBufferList.h \
</ins><span class="cx"> 	DerivedSources/WebCore/JSSpeechInputEvent.cpp \
</span><span class="cx"> 	DerivedSources/WebCore/JSSpeechInputEvent.h \
</span><span class="cx"> 	DerivedSources/WebCore/JSSpeechInputResult.cpp \
</span><span class="lines">@@ -1194,6 +1200,9 @@
</span><span class="cx"> 	$(WebCore)/Modules/mediasource/MediaSource.idl \
</span><span class="cx"> 	$(WebCore)/Modules/mediasource/SourceBuffer.idl \
</span><span class="cx"> 	$(WebCore)/Modules/mediasource/SourceBufferList.idl \
</span><ins>+	$(WebCore)/Modules/mediasource/WebKitMediaSource.idl \
+	$(WebCore)/Modules/mediasource/WebKitSourceBuffer.idl \
+	$(WebCore)/Modules/mediasource/WebKitSourceBufferList.idl \
</ins><span class="cx"> 	$(WebCore)/Modules/mediastream/AllVideoCapabilities.idl \
</span><span class="cx"> 	$(WebCore)/Modules/mediastream/AllAudioCapabilities.idl \
</span><span class="cx"> 	$(WebCore)/Modules/mediastream/AudioStreamTrack.idl \
</span><span class="lines">@@ -1865,6 +1874,12 @@
</span><span class="cx"> 	Source/WebCore/Modules/mediasource/SourceBufferList.h \
</span><span class="cx"> 	Source/WebCore/Modules/mediasource/DOMURLMediaSource.cpp \
</span><span class="cx"> 	Source/WebCore/Modules/mediasource/DOMURLMediaSource.h \
</span><ins>+	Source/WebCore/Modules/mediasource/WebKitMediaSource.cpp \
+	Source/WebCore/Modules/mediasource/WebKitMediaSource.h \
+	Source/WebCore/Modules/mediasource/WebKitSourceBuffer.cpp \
+	Source/WebCore/Modules/mediasource/WebKitSourceBuffer.h \
+	Source/WebCore/Modules/mediasource/WebKitSourceBufferList.cpp \
+	Source/WebCore/Modules/mediasource/WebKitSourceBufferList.h \
</ins><span class="cx"> 	Source/WebCore/Modules/mediastream/AllAudioCapabilities.h \
</span><span class="cx"> 	Source/WebCore/Modules/mediastream/AllVideoCapabilities.h \
</span><span class="cx"> 	Source/WebCore/Modules/mediastream/AudioStreamTrack.cpp \
</span></span></pre></div>
<a id="tagsSafari5384SourceWebCoreModulesmediasourceDOMURLMediaSourceidl"></a>
<div class="modfile"><h4>Modified: \
tags/Safari-538.4/Source/WebCore/Modules/mediasource/DOMURLMediaSource.idl (158405 => \
158406)</h4> <pre class="diff"><span>
<span class="info">--- \
tags/Safari-538.4/Source/WebCore/Modules/mediasource/DOMURLMediaSource.idl	2013-10-31 \
                23:23:11 UTC (rev 158405)
+++ tags/Safari-538.4/Source/WebCore/Modules/mediasource/DOMURLMediaSource.idl	2013-10-31 \
23:30:08 UTC (rev 158406) </span><span class="lines">@@ -32,4 +32,5 @@
</span><span class="cx"> ]
</span><span class="cx"> partial interface DOMURL {
</span><span class="cx">     \
[CallWith=ScriptExecutionContext,TreatReturnedNullStringAs=Null] static DOMString \
createObjectURL(MediaSource? source); </span><ins>+    \
[CallWith=ScriptExecutionContext,TreatReturnedNullStringAs=Null] static DOMString \
createObjectURL(WebKitMediaSource? source); </ins><span class="cx"> };
</span></span></pre></div>
<a id="tagsSafari5384SourceWebCoreModulesmediasourceMediaSourcecpp"></a>
<div class="modfile"><h4>Modified: \
tags/Safari-538.4/Source/WebCore/Modules/mediasource/MediaSource.cpp (158405 => \
158406)</h4> <pre class="diff"><span>
<span class="info">--- \
tags/Safari-538.4/Source/WebCore/Modules/mediasource/MediaSource.cpp	2013-10-31 \
                23:23:11 UTC (rev 158405)
+++ tags/Safari-538.4/Source/WebCore/Modules/mediasource/MediaSource.cpp	2013-10-31 \
23:30:08 UTC (rev 158406) </span><span class="lines">@@ -38,7 +38,6 @@
</span><span class="cx"> #include &quot;GenericEventQueue.h&quot;
</span><span class="cx"> #include &quot;Logging.h&quot;
</span><span class="cx"> #include &quot;MIMETypeRegistry.h&quot;
</span><del>-#include &quot;MediaPlayer.h&quot;
</del><span class="cx"> #include &quot;MediaSourceRegistry.h&quot;
</span><span class="cx"> #include &quot;SourceBufferPrivate.h&quot;
</span><span class="cx"> #include &quot;TimeRanges.h&quot;
</span><span class="lines">@@ -96,6 +95,7 @@
</span><span class="cx"> 
</span><span class="cx">     // 5. Create a new SourceBuffer object and associated \
resources. </span><span class="cx">     ContentType contentType(type);
</span><ins>+    Vector&lt;String&gt; codecs = contentType.codecs();
</ins><span class="cx">     RefPtr&lt;SourceBufferPrivate&gt; sourceBufferPrivate = \
createSourceBufferPrivate(contentType, ec); </span><span class="cx"> 
</span><span class="cx">     if (!sourceBufferPrivate) {
</span><span class="lines">@@ -204,11 +204,7 @@
</span><span class="cx">     // 4. If type contains at a codec that the MediaSource \
does not support, then return false. </span><span class="cx">     // 5. If the \
MediaSource does not support the specified combination of media type, media subtype, \
and codecs then return false. </span><span class="cx">     // 6. Return true.
</span><del>-    MediaEngineSupportParameters parameters;
-    parameters.type = contentType.type();
-    parameters.codecs = codecs;
-    parameters.isMediaSource = true;
-    return MediaPlayer::supportsType(parameters, 0) != MediaPlayer::IsNotSupported;
</del><ins>+    return \
MIMETypeRegistry::isSupportedMediaSourceMIMEType(contentType.type(), codecs); \
</ins><span class="cx"> } </span><span class="cx"> 
</span><span class="cx"> EventTargetInterface MediaSource::eventTargetInterface() \
const </span></span></pre></div>
<a id="tagsSafari5384SourceWebCoreModulesmediasourceWebKitMediaSourcecppfromrev158287trunkSourceWebCoreModulesmediasourceWebKitMediaSourcecpp"></a>
 <div class="copfile"><h4>Copied: \
tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitMediaSource.cpp (from rev \
158287, trunk/Source/WebCore/Modules/mediasource/WebKitMediaSource.cpp) (0 => \
158406)</h4> <pre class="diff"><span>
<span class="info">--- \
tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitMediaSource.cpp	           \
                (rev 0)
+++ tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitMediaSource.cpp	2013-10-31 \
23:30:08 UTC (rev 158406) </span><span class="lines">@@ -0,0 +1,207 @@
</span><ins>+/*
+ * Copyright (C) 2012 Google 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:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * &quot;AS IS&quot; 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 THE COPYRIGHT
+ * OWNER 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 &quot;config.h&quot;
+#include &quot;WebKitMediaSource.h&quot;
+
+#if ENABLE(MEDIA_SOURCE)
+
+#include &quot;ContentType.h&quot;
+#include &quot;ExceptionCodePlaceholder.h&quot;
+#include &quot;MIMETypeRegistry.h&quot;
+#include &quot;MediaSourceRegistry.h&quot;
+#include &quot;SourceBufferPrivate.h&quot;
+#include &quot;TimeRanges.h&quot;
+#include &lt;runtime/Uint8Array.h&gt;
+
+namespace WebCore {
+
+PassRefPtr&lt;WebKitMediaSource&gt; \
WebKitMediaSource::create(ScriptExecutionContext* context) +{
+    RefPtr&lt;WebKitMediaSource&gt; mediaSource(adoptRef(new \
WebKitMediaSource(context))); +    mediaSource-&gt;suspendIfNeeded();
+    return mediaSource.releaseNonNull();
+}
+
+WebKitMediaSource::WebKitMediaSource(ScriptExecutionContext* context)
+    : MediaSourceBase(context)
+    , m_asyncEventQueue(*this)
+    , m_sourceBuffers(WebKitSourceBufferList::create(scriptExecutionContext()))
+    , m_activeSourceBuffers(WebKitSourceBufferList::create(scriptExecutionContext()))
 +{
+}
+
+WebKitSourceBufferList* WebKitMediaSource::sourceBuffers()
+{
+    return m_sourceBuffers.get();
+}
+
+WebKitSourceBufferList* WebKitMediaSource::activeSourceBuffers()
+{
+    // FIXME(91649): support track selection
+    return m_activeSourceBuffers.get();
+}
+
+WebKitSourceBuffer* WebKitMediaSource::addSourceBuffer(const String&amp; type, \
ExceptionCode&amp; ec) +{
+    // 3.1 http://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html#dom-addsourcebuffer
 +    // 1. If type is null or an empty then throw an INVALID_ACCESS_ERR exception \
and +    // abort these steps.
+    if (type.isNull() || type.isEmpty()) {
+        ec = INVALID_ACCESS_ERR;
+        return 0;
+    }
+
+    // 2. If type contains a MIME type that is not supported ..., then throw a
+    // NOT_SUPPORTED_ERR exception and abort these steps.
+    if (!isTypeSupported(type)) {
+        ec = NOT_SUPPORTED_ERR;
+        return 0;
+    }
+
+    // 4. If the readyState attribute is not in the &quot;open&quot; state then \
throw an +    // INVALID_STATE_ERR exception and abort these steps.
+    if (!isOpen()) {
+        ec = INVALID_STATE_ERR;
+        return 0;
+    }
+
+    // 5. Create a new SourceBuffer object and associated resources.
+    ContentType contentType(type);
+    Vector&lt;String&gt; codecs = contentType.codecs();
+    RefPtr&lt;SourceBufferPrivate&gt; sourceBufferPrivate = \
createSourceBufferPrivate(contentType, ec); +    if (!sourceBufferPrivate)
+        return 0;
+
+    RefPtr&lt;WebKitSourceBuffer&gt; buffer = \
WebKitSourceBuffer::create(sourceBufferPrivate.releaseNonNull(), *this); +    // 6. \
Add the new object to sourceBuffers and fire a addsourcebuffer on that object. +    \
m_sourceBuffers-&gt;add(buffer); +    m_activeSourceBuffers-&gt;add(buffer);
+    // 7. Return the new object to the caller.
+    return buffer.get();
+}
+
+void WebKitMediaSource::removeSourceBuffer(WebKitSourceBuffer* buffer, \
ExceptionCode&amp; ec) +{
+    // 3.1 http://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html#dom-removesourcebuffer
 +    // 1. If sourceBuffer is null then throw an INVALID_ACCESS_ERR exception and
+    // abort these steps.
+    if (!buffer) {
+        ec = INVALID_ACCESS_ERR;
+        return;
+    }
+
+    // 2. If sourceBuffers is empty then throw an INVALID_STATE_ERR exception and
+    // abort these steps.
+    if (isClosed() || !m_sourceBuffers-&gt;length()) {
+        ec = INVALID_STATE_ERR;
+        return;
+    }
+
+    // 3. If sourceBuffer specifies an object that is not in sourceBuffers then
+    // throw a NOT_FOUND_ERR exception and abort these steps.
+    // 6. Remove sourceBuffer from sourceBuffers and fire a removesourcebuffer event
+    // on that object.
+    if (!m_sourceBuffers-&gt;remove(buffer)) {
+        ec = NOT_FOUND_ERR;
+        return;
+    }
+
+    // 7. Destroy all resources for sourceBuffer.
+    m_activeSourceBuffers-&gt;remove(buffer);
+
+    // 4. Remove track information from audioTracks, videoTracks, and textTracks for \
all tracks +    // associated with sourceBuffer and fire a simple event named change \
on the modified lists. +    // FIXME(91649): support track selection
+
+    // 5. If sourceBuffer is in activeSourceBuffers, then remove it from that list \
and fire a +    // removesourcebuffer event on that object.
+    // FIXME(91649): support track selection
+}
+
+void WebKitMediaSource::onReadyStateChange(const AtomicString&amp; oldState, const \
AtomicString&amp; newState) +{
+    if (isClosed()) {
+        m_sourceBuffers-&gt;clear();
+        m_activeSourceBuffers-&gt;clear();
+        scheduleEvent(eventNames().webkitsourcecloseEvent);
+        return;
+    }
+
+    if (oldState == openKeyword() &amp;&amp; newState == endedKeyword()) {
+        scheduleEvent(eventNames().webkitsourceendedEvent);
+        return;
+    }
+
+    if (isOpen()) {
+        scheduleEvent(eventNames().webkitsourceopenEvent);
+        return;
+    }
+}
+
+Vector&lt;RefPtr&lt;TimeRanges&gt;&gt; WebKitMediaSource::activeRanges() const
+{
+    Vector&lt;RefPtr&lt;TimeRanges&gt;&gt; \
activeRanges(m_activeSourceBuffers-&gt;length()); +    for (size_t i = 0; i &lt; \
m_activeSourceBuffers-&gt;length(); ++i) +        activeRanges[i] = \
m_activeSourceBuffers-&gt;item(i)-&gt;buffered(ASSERT_NO_EXCEPTION); +
+    return activeRanges;
+}
+
+bool WebKitMediaSource::isTypeSupported(const String&amp; type)
+{
+    // Section 2.1 isTypeSupported() method steps.
+    // https://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html#widl-MediaSource-isTypeSupported-boolean-DOMString-type
 +    // 1. If type is an empty string, then return false.
+    if (type.isNull() || type.isEmpty())
+        return false;
+
+    ContentType contentType(type);
+    String codecs = contentType.parameter(&quot;codecs&quot;);
+
+    // 2. If type does not contain a valid MIME type string, then return false.
+    if (contentType.type().isEmpty() || codecs.isEmpty())
+        return false;
+
+    // 3. If type contains a media type or media subtype that the MediaSource does \
not support, then return false. +    // 4. If type contains at a codec that the \
MediaSource does not support, then return false. +    // 5. If the MediaSource does \
not support the specified combination of media type, media subtype, and codecs then \
return false. +    // 6. Return true.
+    return MIMETypeRegistry::isSupportedMediaSourceMIMEType(contentType.type(), \
codecs); +}
+
+EventTargetInterface WebKitMediaSource::eventTargetInterface() const
+{
+    return WebKitMediaSourceEventTargetInterfaceType;
+}
+
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="tagsSafari5384SourceWebCoreModulesmediasourceWebKitMediaSourcehfromrev158287trunkSourceWebCoreModulesmediasourceWebKitMediaSourceh"></a>
 <div class="copfile"><h4>Copied: \
tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitMediaSource.h (from rev \
158287, trunk/Source/WebCore/Modules/mediasource/WebKitMediaSource.h) (0 => \
158406)</h4> <pre class="diff"><span>
<span class="info">--- \
tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitMediaSource.h	             \
                (rev 0)
+++ tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitMediaSource.h	2013-10-31 \
23:30:08 UTC (rev 158406) </span><span class="lines">@@ -0,0 +1,77 @@
</span><ins>+/*
+ * Copyright (C) 2012 Google 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:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * &quot;AS IS&quot; 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 THE COPYRIGHT
+ * OWNER 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 WebKitMediaSource_h
+#define WebKitMediaSource_h
+
+#if ENABLE(MEDIA_SOURCE)
+
+#include &quot;MediaSourceBase.h&quot;
+#include &quot;ScriptWrappable.h&quot;
+#include &quot;WebKitSourceBuffer.h&quot;
+#include &quot;WebKitSourceBufferList.h&quot;
+#include &lt;wtf/RefCounted.h&gt;
+
+namespace WebCore {
+
+class WebKitMediaSource : public MediaSourceBase, public ScriptWrappable {
+public:
+    static PassRefPtr&lt;WebKitMediaSource&gt; create(ScriptExecutionContext*);
+    virtual ~WebKitMediaSource() { }
+
+    // WebKitMediaSource.idl methods
+    WebKitSourceBufferList* sourceBuffers();
+    WebKitSourceBufferList* activeSourceBuffers();
+    WebKitSourceBuffer* addSourceBuffer(const String&amp; type, ExceptionCode&amp;);
+    void removeSourceBuffer(WebKitSourceBuffer*, ExceptionCode&amp;);
+    static bool isTypeSupported(const String&amp; type);
+
+    // EventTarget interface
+    virtual EventTargetInterface eventTargetInterface() const OVERRIDE;
+
+    using RefCounted&lt;MediaSourceBase&gt;::ref;
+    using RefCounted&lt;MediaSourceBase&gt;::deref;
+
+private:
+    explicit WebKitMediaSource(ScriptExecutionContext*);
+
+    // MediaSourceBase interface
+    virtual void onReadyStateChange(const AtomicString&amp;, const \
AtomicString&amp;) OVERRIDE; +    virtual Vector&lt;RefPtr&lt;TimeRanges&gt;&gt; \
activeRanges() const OVERRIDE; +
+    GenericEventQueue m_asyncEventQueue;
+    RefPtr&lt;WebKitSourceBufferList&gt; m_sourceBuffers;
+    RefPtr&lt;WebKitSourceBufferList&gt; m_activeSourceBuffers;
+};
+
+} // namespace WebCore
+
+#endif
+#endif
</ins></span></pre></div>
<a id="tagsSafari5384SourceWebCoreModulesmediasourceWebKitMediaSourceidlfromrev158287trunkSourceWebCoreModulesmediasourceWebKitMediaSourceidl"></a>
 <div class="copfile"><h4>Copied: \
tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitMediaSource.idl (from rev \
158287, trunk/Source/WebCore/Modules/mediasource/WebKitMediaSource.idl) (0 => \
158406)</h4> <pre class="diff"><span>
<span class="info">--- \
tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitMediaSource.idl	           \
                (rev 0)
+++ tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitMediaSource.idl	2013-10-31 \
23:30:08 UTC (rev 158406) </span><span class="lines">@@ -0,0 +1,58 @@
</span><ins>+/*
+ * Copyright (C) 2012 Google 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:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * &quot;AS IS&quot; 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 THE COPYRIGHT
+ * OWNER 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.
+ */
+ 
+[
+    Conditional=MEDIA_SOURCE,
+    ActiveDOMObject,
+    EventTarget,
+    JSGenerateToJSObject,
+    JSGenerateToNativeObject,
+    Constructor,
+    ConstructorCallWith=ScriptExecutionContext,
+    OperationsNotDeletable
+] interface WebKitMediaSource : EventTarget {
+    // All the source buffers created by this object.
+    readonly attribute WebKitSourceBufferList sourceBuffers;
+
+    // Subset of sourceBuffers that provide data for the selected/enabled tracks.
+    readonly attribute WebKitSourceBufferList activeSourceBuffers;
+
+    [SetterRaisesException] attribute double duration;
+
+    [RaisesException] WebKitSourceBuffer addSourceBuffer(DOMString type);
+    [RaisesException] void removeSourceBuffer(WebKitSourceBuffer buffer);
+
+    readonly attribute DOMString readyState;
+    
+    [RaisesException] void endOfStream([Default=NullString] optional DOMString \
error); +
+    static boolean isTypeSupported (DOMString type);
+};
+
</ins></span></pre></div>
<a id="tagsSafari5384SourceWebCoreModulesmediasourceWebKitSourceBuffercppfromrev158287trunkSourceWebCoreModulesmediasourceWebKitSourceBuffercpp"></a>
 <div class="copfile"><h4>Copied: \
tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitSourceBuffer.cpp (from rev \
158287, trunk/Source/WebCore/Modules/mediasource/WebKitSourceBuffer.cpp) (0 => \
158406)</h4> <pre class="diff"><span>
<span class="info">--- \
tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitSourceBuffer.cpp	          \
                (rev 0)
+++ tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitSourceBuffer.cpp	2013-10-31 \
23:30:08 UTC (rev 158406) </span><span class="lines">@@ -0,0 +1,165 @@
</span><ins>+/*
+ * Copyright (C) 2012 Google 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:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * &quot;AS IS&quot; 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 THE COPYRIGHT
+ * OWNER 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 &quot;config.h&quot;
+#include &quot;WebKitSourceBuffer.h&quot;
+
+#if ENABLE(MEDIA_SOURCE)
+
+#include &quot;SourceBufferPrivate.h&quot;
+#include &quot;TimeRanges.h&quot;
+#include &quot;WebKitMediaSource.h&quot;
+#include &lt;runtime/Uint8Array.h&gt;
+
+namespace WebCore {
+
+PassRef&lt;WebKitSourceBuffer&gt; \
WebKitSourceBuffer::create(PassRef&lt;SourceBufferPrivate&gt; sourceBufferPrivate, \
PassRef&lt;WebKitMediaSource&gt; source) +{
+    return adoptRef(*new WebKitSourceBuffer(std::move(sourceBufferPrivate), \
std::move(source))); +}
+
+WebKitSourceBuffer::WebKitSourceBuffer(PassRef&lt;SourceBufferPrivate&gt; \
sourceBufferPrivate, PassRef&lt;WebKitMediaSource&gt; source) +    : \
m_private(std::move(sourceBufferPrivate)) +    , m_source(std::move(source))
+    , m_timestampOffset(0)
+{
+    ASSERT(m_private);
+    ASSERT(m_source);
+}
+
+WebKitSourceBuffer::~WebKitSourceBuffer()
+{
+}
+
+PassRefPtr&lt;TimeRanges&gt; WebKitSourceBuffer::buffered(ExceptionCode&amp; ec) \
const +{
+    // Section 3.1 buffered attribute steps.
+    // 1. If this object has been removed from the sourceBuffers attribute of the \
parent media source then throw an +    //    INVALID_STATE_ERR exception and abort \
these steps. +    if (isRemoved()) {
+        ec = INVALID_STATE_ERR;
+        return 0;
+    }
+
+    // 2. Return a new static normalized TimeRanges object for the media segments \
buffered. +    return m_private-&gt;buffered();
+}
+
+double WebKitSourceBuffer::timestampOffset() const
+{
+    return m_timestampOffset;
+}
+
+void WebKitSourceBuffer::setTimestampOffset(double offset, ExceptionCode&amp; ec)
+{
+    // Section 3.1 timestampOffset attribute setter steps.
+    // 1. If this object has been removed from the sourceBuffers attribute of the \
parent media source then throw an +    //    INVALID_STATE_ERR exception and abort \
these steps. +    if (isRemoved()) {
+        ec = INVALID_STATE_ERR;
+        return;
+    }
+
+    // 4. If the readyState attribute of the parent media source is in the \
&quot;ended&quot; state then run the following steps: +    // 4.1 Set the readyState \
attribute of the parent media source to &quot;open&quot; +    // 4.2 Queue a task to \
fire a simple event named sourceopen at the parent media source. +    \
m_source-&gt;openIfInEndedState(); +
+    // 5. If this object is waiting for the end of a media segment to be appended, \
then throw an INVALID_STATE_ERR +    // and abort these steps.
+    if (!m_private-&gt;setTimestampOffset(offset)) {
+        ec = INVALID_STATE_ERR;
+        return;
+    }
+
+    // 6. Update the attribute to the new value.
+    m_timestampOffset = offset;
+}
+
+void WebKitSourceBuffer::append(PassRefPtr&lt;Uint8Array&gt; data, \
ExceptionCode&amp; ec) +{
+    // SourceBuffer.append() steps from October 1st version of the Media Source \
Extensions spec. +    // \
https://dvcs.w3.org/hg/html-media/raw-file/7bab66368f2c/media-source/media-source.html#dom-append
 +
+    // 2. If data is null then throw an INVALID_ACCESS_ERR exception and abort these \
steps. +    if (!data) {
+        ec = INVALID_ACCESS_ERR;
+        return;
+    }
+
+    // 3. If this object has been removed from the sourceBuffers attribute of media \
source then throw +    //    an INVALID_STATE_ERR exception and abort these steps.
+    if (isRemoved()) {
+        ec = INVALID_STATE_ERR;
+        return;
+    }
+
+    // 5. If the readyState attribute of media source is in the &quot;ended&quot; \
state then run the following steps: +    // 5.1. Set the readyState attribute of \
media source to &quot;open&quot; +    // 5.2. Queue a task to fire a simple event \
named sourceopen at media source. +    m_source-&gt;openIfInEndedState();
+
+    // Steps 6 &amp; beyond are handled by the private implementation.
+    m_private-&gt;append(data-&gt;data(), data-&gt;length());
+}
+
+void WebKitSourceBuffer::abort(ExceptionCode&amp; ec)
+{
+    // Section 3.2 abort() method steps.
+    // 1. If this object has been removed from the sourceBuffers attribute of the \
parent media source +    //    then throw an INVALID_STATE_ERR exception and abort \
these steps. +    // 2. If the readyState attribute of the parent media source is not \
in the &quot;open&quot; state +    //    then throw an INVALID_STATE_ERR exception \
and abort these steps. +    if (isRemoved() || !m_source-&gt;isOpen()) {
+        ec = INVALID_STATE_ERR;
+        return;
+    }
+
+    // 4. Run the reset parser state algorithm.
+    m_private-&gt;abort();
+}
+
+void WebKitSourceBuffer::removedFromMediaSource()
+{
+    if (isRemoved())
+        return;
+
+    m_private-&gt;removedFromMediaSource();
+    m_source.clear();
+}
+
+bool WebKitSourceBuffer::isRemoved() const
+{
+    return !m_source;
+}
+
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="tagsSafari5384SourceWebCoreModulesmediasourceWebKitSourceBufferhfromrev158287trunkSourceWebCoreModulesmediasourceWebKitSourceBufferh"></a>
 <div class="copfile"><h4>Copied: \
tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitSourceBuffer.h (from rev \
158287, trunk/Source/WebCore/Modules/mediasource/WebKitSourceBuffer.h) (0 => \
158406)</h4> <pre class="diff"><span>
<span class="info">--- \
tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitSourceBuffer.h	            \
                (rev 0)
+++ tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitSourceBuffer.h	2013-10-31 \
23:30:08 UTC (rev 158406) </span><span class="lines">@@ -0,0 +1,77 @@
</span><ins>+/*
+ * Copyright (C) 2012 Google 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:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * &quot;AS IS&quot; 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 THE COPYRIGHT
+ * OWNER 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 WebKitSourceBuffer_h
+#define WebKitSourceBuffer_h
+
+#if ENABLE(MEDIA_SOURCE)
+
+#include &quot;ExceptionCode.h&quot;
+#include &quot;ScriptWrappable.h&quot;
+#include &lt;runtime/Uint8Array.h&gt;
+#include &lt;wtf/PassRefPtr.h&gt;
+#include &lt;wtf/RefCounted.h&gt;
+#include &lt;wtf/text/WTFString.h&gt;
+
+namespace WebCore {
+class SourceBufferPrivate;
+class TimeRanges;
+class WebKitMediaSource;
+
+class WebKitSourceBuffer : public RefCounted&lt;WebKitSourceBuffer&gt;, public \
ScriptWrappable { +public:
+    static PassRef&lt;WebKitSourceBuffer&gt; \
create(PassRef&lt;SourceBufferPrivate&gt;, PassRef&lt;WebKitMediaSource&gt;); +
+    virtual ~WebKitSourceBuffer();
+
+    // WebKitSourceBuffer.idl methods
+    PassRefPtr&lt;TimeRanges&gt; buffered(ExceptionCode&amp;) const;
+    double timestampOffset() const;
+    void setTimestampOffset(double, ExceptionCode&amp;);
+    void append(PassRefPtr&lt;JSC::Uint8Array&gt; data, ExceptionCode&amp;);
+    void abort(ExceptionCode&amp;);
+
+    void removedFromMediaSource();
+
+private:
+    WebKitSourceBuffer(PassRef&lt;SourceBufferPrivate&gt;, \
PassRef&lt;WebKitMediaSource&gt;); +
+    bool isRemoved() const;
+
+    RefPtr&lt;SourceBufferPrivate&gt; m_private;
+    RefPtr&lt;WebKitMediaSource&gt; m_source;
+
+    double m_timestampOffset;
+};
+
+} // namespace WebCore
+
+#endif
+#endif
</ins></span></pre></div>
<a id="tagsSafari5384SourceWebCoreModulesmediasourceWebKitSourceBufferidlfromrev158287trunkSourceWebCoreModulesmediasourceWebKitSourceBufferidl"></a>
 <div class="copfile"><h4>Copied: \
tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitSourceBuffer.idl (from rev \
158287, trunk/Source/WebCore/Modules/mediasource/WebKitSourceBuffer.idl) (0 => \
158406)</h4> <pre class="diff"><span>
<span class="info">--- \
tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitSourceBuffer.idl	          \
                (rev 0)
+++ tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitSourceBuffer.idl	2013-10-31 \
23:30:08 UTC (rev 158406) </span><span class="lines">@@ -0,0 +1,48 @@
</span><ins>+/*
+ * Copyright (C) 2012 Google 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:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * &quot;AS IS&quot; 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 THE COPYRIGHT
+ * OWNER 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.
+ */
+ 
+[
+    Conditional=MEDIA_SOURCE,
+    OperationsNotDeletable
+] interface WebKitSourceBuffer {
+
+    // Returns the time ranges buffered.
+    [GetterRaisesException] readonly attribute TimeRanges buffered;
+
+    // Applies an offset to media segment timestamps.
+    [SetterRaisesException] attribute double timestampOffset;
+
+    // Append segment data.
+    [RaisesException] void append(Uint8Array data);
+
+    // Abort the current segment append sequence.
+    [RaisesException] void abort();
+};
+
</ins></span></pre></div>
<a id="tagsSafari5384SourceWebCoreModulesmediasourceWebKitSourceBufferListcppfromrev158287trunkSourceWebCoreModulesmediasourceWebKitSourceBufferListcpp"></a>
 <div class="copfile"><h4>Copied: \
tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitSourceBufferList.cpp (from \
rev 158287, trunk/Source/WebCore/Modules/mediasource/WebKitSourceBufferList.cpp) (0 \
=> 158406)</h4> <pre class="diff"><span>
<span class="info">--- \
tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitSourceBufferList.cpp	      \
                (rev 0)
+++ tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitSourceBufferList.cpp	2013-10-31 \
23:30:08 UTC (rev 158406) </span><span class="lines">@@ -0,0 +1,98 @@
</span><ins>+/*
+ * Copyright (C) 2012 Google 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:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * &quot;AS IS&quot; 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 THE COPYRIGHT
+ * OWNER 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 &quot;config.h&quot;
+#include &quot;WebKitSourceBufferList.h&quot;
+
+#if ENABLE(MEDIA_SOURCE)
+
+#include &quot;Event.h&quot;
+#include &quot;WebKitSourceBuffer.h&quot;
+
+namespace WebCore {
+
+WebKitSourceBufferList::WebKitSourceBufferList(ScriptExecutionContext* context)
+    : m_scriptExecutionContext(context)
+    , m_asyncEventQueue(*this)
+{
+}
+
+WebKitSourceBufferList::~WebKitSourceBufferList()
+{
+}
+
+unsigned WebKitSourceBufferList::length() const
+{
+    return m_list.size();
+}
+
+WebKitSourceBuffer* WebKitSourceBufferList::item(unsigned index) const
+{
+    if (index &gt;= m_list.size())
+        return 0;
+    return m_list[index].get();
+}
+
+void WebKitSourceBufferList::add(PassRefPtr&lt;WebKitSourceBuffer&gt; buffer)
+{
+    m_list.append(buffer);
+    createAndFireEvent(eventNames().webkitaddsourcebufferEvent);
+}
+
+bool WebKitSourceBufferList::remove(WebKitSourceBuffer* buffer)
+{
+    size_t index = m_list.find(buffer);
+    if (index == notFound)
+        return false;
+
+    buffer-&gt;removedFromMediaSource();
+    m_list.remove(index);
+    createAndFireEvent(eventNames().webkitremovesourcebufferEvent);
+    return true;
+}
+
+void WebKitSourceBufferList::clear()
+{
+    for (size_t i = 0; i &lt; m_list.size(); ++i)
+        m_list[i]-&gt;removedFromMediaSource();
+    m_list.clear();
+    createAndFireEvent(eventNames().webkitremovesourcebufferEvent);
+}
+
+void WebKitSourceBufferList::createAndFireEvent(const AtomicString&amp; eventName)
+{
+    RefPtr&lt;Event&gt; event = Event::create(eventName, false, false);
+    event-&gt;setTarget(this);
+    m_asyncEventQueue.enqueueEvent(event.release());
+}
+
+} // namespace WebCore
+
+#endif
</ins></span></pre></div>
<a id="tagsSafari5384SourceWebCoreModulesmediasourceWebKitSourceBufferListhfromrev158287trunkSourceWebCoreModulesmediasourceWebKitSourceBufferListh"></a>
 <div class="copfile"><h4>Copied: \
tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitSourceBufferList.h (from \
rev 158287, trunk/Source/WebCore/Modules/mediasource/WebKitSourceBufferList.h) (0 => \
158406)</h4> <pre class="diff"><span>
<span class="info">--- \
tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitSourceBufferList.h	        \
                (rev 0)
+++ tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitSourceBufferList.h	2013-10-31 \
23:30:08 UTC (rev 158406) </span><span class="lines">@@ -0,0 +1,86 @@
</span><ins>+/*
+ * Copyright (C) 2012 Google 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:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * &quot;AS IS&quot; 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 THE COPYRIGHT
+ * OWNER 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 WebKitSourceBufferList_h
+#define WebKitSourceBufferList_h
+
+#if ENABLE(MEDIA_SOURCE)
+
+#include &quot;EventTarget.h&quot;
+#include &quot;GenericEventQueue.h&quot;
+#include &quot;ScriptWrappable.h&quot;
+#include &lt;wtf/RefCounted.h&gt;
+#include &lt;wtf/Vector.h&gt;
+
+namespace WebCore {
+
+class WebKitSourceBuffer;
+class GenericEventQueue;
+
+class WebKitSourceBufferList FINAL : public \
RefCounted&lt;WebKitSourceBufferList&gt;, public ScriptWrappable, public \
EventTargetWithInlineData { +public:
+    static PassRefPtr&lt;WebKitSourceBufferList&gt; create(ScriptExecutionContext* \
context) +    {
+        return adoptRef(new WebKitSourceBufferList(context));
+    }
+    virtual ~WebKitSourceBufferList();
+
+    unsigned length() const;
+    WebKitSourceBuffer* item(unsigned index) const;
+
+    void add(PassRefPtr&lt;WebKitSourceBuffer&gt;);
+    bool remove(WebKitSourceBuffer*);
+    void clear();
+
+    // EventTarget interface
+    virtual EventTargetInterface eventTargetInterface() const OVERRIDE { return \
WebKitSourceBufferListEventTargetInterfaceType; } +    virtual \
ScriptExecutionContext* scriptExecutionContext() const OVERRIDE { return \
m_scriptExecutionContext; } +
+    using RefCounted&lt;WebKitSourceBufferList&gt;::ref;
+    using RefCounted&lt;WebKitSourceBufferList&gt;::deref;
+
+private:
+    explicit WebKitSourceBufferList(ScriptExecutionContext*);
+
+    void createAndFireEvent(const AtomicString&amp;);
+
+    virtual void refEventTarget() OVERRIDE { ref(); }
+    virtual void derefEventTarget() OVERRIDE { deref(); }
+
+    ScriptExecutionContext* m_scriptExecutionContext;
+    GenericEventQueue m_asyncEventQueue;
+
+    Vector&lt;RefPtr&lt;WebKitSourceBuffer&gt;&gt; m_list;
+};
+
+} // namespace WebCore
+
+#endif
+#endif
</ins></span></pre></div>
<a id="tagsSafari5384SourceWebCoreModulesmediasourceWebKitSourceBufferListidlfromrev158287trunkSourceWebCoreModulesmediasourceWebKitSourceBufferListidl"></a>
 <div class="copfile"><h4>Copied: \
tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitSourceBufferList.idl (from \
rev 158287, trunk/Source/WebCore/Modules/mediasource/WebKitSourceBufferList.idl) (0 \
=> 158406)</h4> <pre class="diff"><span>
<span class="info">--- \
tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitSourceBufferList.idl	      \
                (rev 0)
+++ tags/Safari-538.4/Source/WebCore/Modules/mediasource/WebKitSourceBufferList.idl	2013-10-31 \
23:30:08 UTC (rev 158406) </span><span class="lines">@@ -0,0 +1,42 @@
</span><ins>+/*
+ * Copyright (C) 2012 Google 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:
+ *
+ *     * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *     * 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.
+ *     * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * &quot;AS IS&quot; 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 THE COPYRIGHT
+ * OWNER 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.
+ */
+ 
+[
+    Conditional=MEDIA_SOURCE,
+    EventTarget,
+    JSGenerateToJSObject,
+    JSGenerateToNativeObject,
+    GenerateIsReachable=Impl,
+    OperationsNotDeletable
+] interface WebKitSourceBufferList : EventTarget {
+    readonly attribute unsigned long length;
+    getter WebKitSourceBuffer item(unsigned long index);
+};
+
</ins></span></pre></div>
<a id="tagsSafari5384SourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: \
tags/Safari-538.4/Source/WebCore/WebCore.xcodeproj/project.pbxproj (158405 => \
158406)</h4> <pre class="diff"><span>
<span class="info">--- \
tags/Safari-538.4/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2013-10-31 \
                23:23:11 UTC (rev 158405)
+++ tags/Safari-538.4/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2013-10-31 \
23:30:08 UTC (rev 158406) </span><span class="lines">@@ -5323,8 +5323,20 @@
</span><span class="cx"> 		CD5393D4175E018600C07123 /* JSMemoryInfo.h in Headers */ = \
{isa = PBXBuildFile; fileRef = CD5393D2175E018600C07123 /* JSMemoryInfo.h */; }; \
</span><span class="cx"> 		CD54DE4717468B6F005E5B36 /* AudioSessionManagerMac.cpp in \
Sources */ = {isa = PBXBuildFile; fileRef = CD54DE4517468B6F005E5B36 /* \
AudioSessionManagerMac.cpp */; }; </span><span class="cx"> 		CD54DE4B17469C6D005E5B36 \
/* AudioSessionMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = \
CD54DE4917469C6D005E5B36 /* AudioSessionMac.cpp */; }; \
</span><ins>+		CD61FE631794AADB004101EB /* WebKitMediaSource.cpp in Sources */ = {isa \
= PBXBuildFile; fileRef = B1A942DE15B5CE2200D525D1 /* WebKitMediaSource.cpp */; }; \
+		CD61FE641794AADB004101EB /* WebKitMediaSource.h in Headers */ = {isa = \
PBXBuildFile; fileRef = B1A942DF15B5CE2200D525D1 /* WebKitMediaSource.h */; }; \
</ins><span class="cx"> 		CD61FE671794AADB004101EB /* MediaSourceRegistry.cpp in \
Sources */ = {isa = PBXBuildFile; fileRef = B1A942E115B5CE2200D525D1 /* \
MediaSourceRegistry.cpp */; }; </span><span class="cx"> 		CD61FE681794AADB004101EB /* \
MediaSourceRegistry.h in Headers */ = {isa = PBXBuildFile; fileRef = \
B1A942E215B5CE2200D525D1 /* MediaSourceRegistry.h */; }; \
</span><ins>+		CD61FE691794AADB004101EB /* WebKitSourceBuffer.cpp in Sources */ = \
{isa = PBXBuildFile; fileRef = B1A942E315B5CE2200D525D1 /* WebKitSourceBuffer.cpp */; \
}; +		CD61FE6A1794AADB004101EB /* WebKitSourceBuffer.h in Headers */ = {isa = \
PBXBuildFile; fileRef = B1A942E415B5CE2200D525D1 /* WebKitSourceBuffer.h */; }; \
+		CD61FE6B1794AADB004101EB /* WebKitSourceBufferList.cpp in Sources */ = {isa = \
PBXBuildFile; fileRef = B1A942E615B5CE2200D525D1 /* WebKitSourceBufferList.cpp */; }; \
+		CD61FE6C1794AADB004101EB /* WebKitSourceBufferList.h in Headers */ = {isa = \
PBXBuildFile; fileRef = B1A942E715B5CE2200D525D1 /* WebKitSourceBufferList.h */; }; \
+		CD61FE7E1794CB26004101EB /* JSWebKitMediaSource.cpp in Sources */ = {isa = \
PBXBuildFile; fileRef = CD61FE7C1794CB26004101EB /* JSWebKitMediaSource.cpp */; }; \
+		CD61FE7F1794CB26004101EB /* JSWebKitMediaSource.h in Headers */ = {isa = \
PBXBuildFile; fileRef = CD61FE7D1794CB26004101EB /* JSWebKitMediaSource.h */; }; \
+		CD61FE841794CC59004101EB /* JSWebKitSourceBuffer.cpp in Sources */ = {isa = \
PBXBuildFile; fileRef = CD61FE801794CC59004101EB /* JSWebKitSourceBuffer.cpp */; }; \
+		CD61FE851794CC59004101EB /* JSWebKitSourceBuffer.h in Headers */ = {isa = \
PBXBuildFile; fileRef = CD61FE811794CC59004101EB /* JSWebKitSourceBuffer.h */; }; \
+		CD61FE861794CC59004101EB /* JSWebKitSourceBufferList.cpp in Sources */ = {isa = \
PBXBuildFile; fileRef = CD61FE821794CC59004101EB /* JSWebKitSourceBufferList.cpp */; \
}; +		CD61FE871794CC59004101EB /* JSWebKitSourceBufferList.h in Headers */ = {isa = \
PBXBuildFile; fileRef = CD61FE831794CC59004101EB /* JSWebKitSourceBufferList.h */; }; \
</ins><span class="cx"> 		CD641EBF1819B36000EE4C41 /* MediaTimeMac.cpp in Sources */ \
= {isa = PBXBuildFile; fileRef = CD641EBD1819B35900EE4C41 /* MediaTimeMac.cpp */; }; \
</span><span class="cx"> 		CD641EC01819B36000EE4C41 /* MediaTimeMac.h in Headers */ = \
{isa = PBXBuildFile; fileRef = CD641EBE1819B35900EE4C41 /* MediaTimeMac.h */; }; \
</span><span class="cx"> 		CD7E05221651C28200C1201F /* WebCoreAVFResourceLoader.mm in \
Sources */ = {isa = PBXBuildFile; fileRef = CD7E05211651A84100C1201F /* \
WebCoreAVFResourceLoader.mm */; }; </span><span class="lines">@@ -10772,8 +10784,17 \
@@ </span><span class="cx"> 		B10B697E140C174000BC1C26 /* WebVTTTokenizer.cpp */ = \
{isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; \
path = WebVTTTokenizer.cpp; sourceTree = &quot;&lt;group&gt;&quot;; }; </span><span \
class="cx"> 		B10B697F140C174000BC1C26 /* WebVTTTokenizer.h */ = {isa = \
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = \
WebVTTTokenizer.h; sourceTree = &quot;&lt;group&gt;&quot;; }; </span><span \
class="cx"> 		B1827492134CA4C100B98C2D /* CallbackFunction.cpp */ = {isa = \
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = \
CallbackFunction.cpp; sourceTree = &quot;&lt;group&gt;&quot;; }; \
</span><ins>+		B1A942DE15B5CE2200D525D1 /* WebKitMediaSource.cpp */ = {isa = \
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = \
WebKitMediaSource.cpp; sourceTree = &quot;&lt;group&gt;&quot;; }; \
+		B1A942DF15B5CE2200D525D1 /* WebKitMediaSource.h */ = {isa = PBXFileReference; \
fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitMediaSource.h; \
sourceTree = &quot;&lt;group&gt;&quot;; }; +		B1A942E015B5CE2200D525D1 /* \
WebKitMediaSource.idl */ = {isa = PBXFileReference; fileEncoding = 4; \
lastKnownFileType = text; path = WebKitMediaSource.idl; sourceTree = \
&quot;&lt;group&gt;&quot;; }; </ins><span class="cx"> 		B1A942E115B5CE2200D525D1 /* \
MediaSourceRegistry.cpp */ = {isa = PBXFileReference; fileEncoding = 4; \
lastKnownFileType = sourcecode.cpp.cpp; path = MediaSourceRegistry.cpp; sourceTree = \
&quot;&lt;group&gt;&quot;; }; </span><span class="cx"> 		B1A942E215B5CE2200D525D1 /* \
MediaSourceRegistry.h */ = {isa = PBXFileReference; fileEncoding = 4; \
lastKnownFileType = sourcecode.c.h; path = MediaSourceRegistry.h; sourceTree = \
&quot;&lt;group&gt;&quot;; }; </span><ins>+		B1A942E315B5CE2200D525D1 /* \
WebKitSourceBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; \
lastKnownFileType = sourcecode.cpp.cpp; path = WebKitSourceBuffer.cpp; sourceTree = \
&quot;&lt;group&gt;&quot;; }; +		B1A942E415B5CE2200D525D1 /* WebKitSourceBuffer.h */ \
= {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path \
= WebKitSourceBuffer.h; sourceTree = &quot;&lt;group&gt;&quot;; }; \
+		B1A942E515B5CE2200D525D1 /* WebKitSourceBuffer.idl */ = {isa = PBXFileReference; \
fileEncoding = 4; lastKnownFileType = text; path = WebKitSourceBuffer.idl; sourceTree \
= &quot;&lt;group&gt;&quot;; }; +		B1A942E615B5CE2200D525D1 /* \
WebKitSourceBufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; \
lastKnownFileType = sourcecode.cpp.cpp; path = WebKitSourceBufferList.cpp; sourceTree \
= &quot;&lt;group&gt;&quot;; }; +		B1A942E715B5CE2200D525D1 /* \
WebKitSourceBufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; \
lastKnownFileType = sourcecode.c.h; path = WebKitSourceBufferList.h; sourceTree = \
&quot;&lt;group&gt;&quot;; }; +		B1A942E815B5CE2200D525D1 /* \
WebKitSourceBufferList.idl */ = {isa = PBXFileReference; fileEncoding = 4; \
lastKnownFileType = text; path = WebKitSourceBufferList.idl; sourceTree = \
&quot;&lt;group&gt;&quot;; }; </ins><span class="cx"> 		B1AD4E7113A12A4600846B27 /* \
TextTrackLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType \
= sourcecode.cpp.cpp; name = TextTrackLoader.cpp; path = loader/TextTrackLoader.cpp; \
sourceTree = SOURCE_ROOT; }; </span><span class="cx"> 		B1AD4E7213A12A4600846B27 /* \
TextTrackLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = \
sourcecode.c.h; name = TextTrackLoader.h; path = loader/TextTrackLoader.h; sourceTree \
= SOURCE_ROOT; }; </span><span class="cx"> 		B1D5ECB4134B58DA0087C78F /* \
CallbackFunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType \
= sourcecode.c.h; path = CallbackFunction.h; sourceTree = &quot;&lt;group&gt;&quot;; \
}; </span><span class="lines">@@ -12276,6 +12297,12 @@
</span><span class="cx"> 		CD5393D2175E018600C07123 /* JSMemoryInfo.h */ = {isa = \
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = \
JSMemoryInfo.h; sourceTree = &quot;&lt;group&gt;&quot;; }; </span><span class="cx"> \
CD54DE4517468B6F005E5B36 /* AudioSessionManagerMac.cpp */ = {isa = PBXFileReference; \
fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = \
AudioSessionManagerMac.cpp; sourceTree = &quot;&lt;group&gt;&quot;; }; </span><span \
class="cx"> 		CD54DE4917469C6D005E5B36 /* AudioSessionMac.cpp */ = {isa = \
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = \
AudioSessionMac.cpp; sourceTree = &quot;&lt;group&gt;&quot;; }; \
</span><ins>+		CD61FE7C1794CB26004101EB /* JSWebKitMediaSource.cpp */ = {isa = \
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = \
JSWebKitMediaSource.cpp; sourceTree = &quot;&lt;group&gt;&quot;; }; \
+		CD61FE7D1794CB26004101EB /* JSWebKitMediaSource.h */ = {isa = PBXFileReference; \
fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSWebKitMediaSource.h; \
sourceTree = &quot;&lt;group&gt;&quot;; }; +		CD61FE801794CC59004101EB /* \
JSWebKitSourceBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; \
lastKnownFileType = sourcecode.cpp.cpp; path = JSWebKitSourceBuffer.cpp; sourceTree = \
&quot;&lt;group&gt;&quot;; }; +		CD61FE811794CC59004101EB /* JSWebKitSourceBuffer.h \
*/ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; \
path = JSWebKitSourceBuffer.h; sourceTree = &quot;&lt;group&gt;&quot;; }; \
+		CD61FE821794CC59004101EB /* JSWebKitSourceBufferList.cpp */ = {isa = \
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = \
JSWebKitSourceBufferList.cpp; sourceTree = &quot;&lt;group&gt;&quot;; }; \
+		CD61FE831794CC59004101EB /* JSWebKitSourceBufferList.h */ = {isa = \
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = \
JSWebKitSourceBufferList.h; sourceTree = &quot;&lt;group&gt;&quot;; }; </ins><span \
class="cx"> 		CD641EBD1819B35900EE4C41 /* MediaTimeMac.cpp */ = {isa = \
PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MediaTimeMac.cpp; \
sourceTree = &quot;&lt;group&gt;&quot;; }; </span><span class="cx"> \
CD641EBE1819B35900EE4C41 /* MediaTimeMac.h */ = {isa = PBXFileReference; \
lastKnownFileType = sourcecode.c.h; path = MediaTimeMac.h; sourceTree = \
&quot;&lt;group&gt;&quot;; }; </span><span class="cx"> 		CD7E05201651A84100C1201F /* \
WebCoreAVFResourceLoader.h */ = {isa = PBXFileReference; lastKnownFileType = \
sourcecode.c.h; name = WebCoreAVFResourceLoader.h; path = \
objc/WebCoreAVFResourceLoader.h; sourceTree = &quot;&lt;group&gt;&quot;; }; \
</span><span class="lines">@@ -18242,6 +18269,15 @@ </span><span class="cx"> \
CD3A495B17A9D01B00274E42 /* SourceBufferList.cpp */, </span><span class="cx"> \
CD3A495C17A9D01B00274E42 /* SourceBufferList.h */, </span><span class="cx"> \
CD3A495D17A9D01B00274E42 /* SourceBufferList.idl */, \
</span><ins>+				B1A942DE15B5CE2200D525D1 /* WebKitMediaSource.cpp */, \
+				B1A942DF15B5CE2200D525D1 /* WebKitMediaSource.h */, \
+				B1A942E015B5CE2200D525D1 /* WebKitMediaSource.idl */, \
+				B1A942E315B5CE2200D525D1 /* WebKitSourceBuffer.cpp */, \
+				B1A942E415B5CE2200D525D1 /* WebKitSourceBuffer.h */, \
+				B1A942E515B5CE2200D525D1 /* WebKitSourceBuffer.idl */, \
+				B1A942E615B5CE2200D525D1 /* WebKitSourceBufferList.cpp */, \
+				B1A942E715B5CE2200D525D1 /* WebKitSourceBufferList.h */, \
+				B1A942E815B5CE2200D525D1 /* WebKitSourceBufferList.idl */, </ins><span \
class="cx"> 			); </span><span class="cx"> 			path = mediasource;
</span><span class="cx"> 			sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="lines">@@ -20009,6 +20045,12 @@
</span><span class="cx"> 				CD9DE17717AAC75B00EA386D /* JSSourceBuffer.h */,
</span><span class="cx"> 				CD9DE17817AAC75B00EA386D /* JSSourceBufferList.cpp */,
</span><span class="cx"> 				CD9DE17917AAC75B00EA386D /* JSSourceBufferList.h */,
</span><ins>+				CD61FE801794CC59004101EB /* JSWebKitSourceBuffer.cpp */,
+				CD61FE811794CC59004101EB /* JSWebKitSourceBuffer.h */,
+				CD61FE821794CC59004101EB /* JSWebKitSourceBufferList.cpp */,
+				CD61FE831794CC59004101EB /* JSWebKitSourceBufferList.h */,
+				CD61FE7C1794CB26004101EB /* JSWebKitMediaSource.cpp */,
+				CD61FE7D1794CB26004101EB /* JSWebKitMediaSource.h */,
</ins><span class="cx"> 			);
</span><span class="cx"> 			name = MediaSource;
</span><span class="cx"> 			sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="lines">@@ -22077,6 +22119,7 @@
</span><span class="cx"> 				85D389B20A991A7F00282145 /* DOMAttr.h in Headers */,
</span><span class="cx"> 				85E7118D0AC5D5350053270F /* DOMAttrInternal.h in Headers \
*/, </span><span class="cx"> 				BC946EEF107FDBAC00857193 /* DOMBeforeLoadEvent.h in \
Headers */, </span><ins>+				CD61FE851794CC59004101EB /* JSWebKitSourceBuffer.h in \
Headers */, </ins><span class="cx"> 				2E2D99E710E2BC1C00496337 /* DOMBlob.h in \
Headers */, </span><span class="cx"> 				2E2D99EA10E2BC3800496337 /* \
DOMBlobInternal.h in Headers */, </span><span class="cx"> \
85089CD70A98C42800A275AA /* DOMCDATASection.h in Headers */, </span><span \
class="lines">@@ -22265,6 +22308,7 @@ </span><span class="cx"> \
85E711C10AC5D5350053270F /* DOMHTMLParagraphElementInternal.h in Headers */, \
</span><span class="cx"> 				85ECBEF70AA7626900544F0B /* DOMHTMLParamElement.h in \
Headers */, </span><span class="cx"> 				85E711C20AC5D5350053270F /* \
DOMHTMLParamElementInternal.h in Headers */, \
</span><ins>+				CD61FE6A1794AADB004101EB /* WebKitSourceBuffer.h in Headers */, \
</ins><span class="cx"> 				85183B480AA6926100F19FA3 /* DOMHTMLPreElement.h in \
Headers */, </span><span class="cx"> 				85E711C30AC5D5350053270F /* \
DOMHTMLPreElementInternal.h in Headers */, </span><span class="cx"> \
A4226E951163D73A008B8397 /* DOMHTMLProgressElement.h in Headers */, </span><span \
class="lines">@@ -23276,6 +23320,7 @@ </span><span class="cx"> \
4358E87D1360A2EE00E4748C /* JSSVGFEDropShadowElement.h in Headers */, </span><span \
class="cx"> 				B2FA3D790AB75A6F000E5AC4 /* JSSVGFEFloodElement.h in Headers */, \
</span><span class="cx"> 				B2FA3D7B0AB75A6F000E5AC4 /* JSSVGFEFuncAElement.h in \
Headers */, </span><ins>+				CD61FE7F1794CB26004101EB /* JSWebKitMediaSource.h in \
Headers */, </ins><span class="cx"> 				B2FA3D7D0AB75A6F000E5AC4 /* \
JSSVGFEFuncBElement.h in Headers */, </span><span class="cx"> \
B2FA3D7F0AB75A6F000E5AC4 /* JSSVGFEFuncGElement.h in Headers */, </span><span \
class="cx"> 				B2FA3D810AB75A6F000E5AC4 /* JSSVGFEFuncRElement.h in Headers */, \
</span><span class="lines">@@ -23938,6 +23983,7 @@ </span><span class="cx"> \
514C76790CE923A1007EF3CD /* ResourceHandle.h in Headers */, </span><span class="cx"> \
514C767A0CE923A1007EF3CD /* ResourceHandleClient.h in Headers */, </span><span \
class="cx"> 				514C767B0CE923A1007EF3CD /* ResourceHandleInternal.h in Headers */, \
</span><ins>+				CD61FE641794AADB004101EB /* WebKitMediaSource.h in Headers */, \
</ins><span class="cx"> 				51E4143416A6596300C633C7 /* ResourceHandleTypes.h in \
Headers */, </span><span class="cx"> 				656D373F0ADBA5DE00A4554D /* ResourceLoader.h \
in Headers */, </span><span class="cx"> 				D0A3A7311405A39800FB8ED3 /* \
ResourceLoaderOptions.h in Headers */, </span><span class="lines">@@ -24064,6 \
+24110,7 @@ </span><span class="cx"> 				41E1B1D40FF5986900576B3B /* SharedWorker.h \
in Headers */, </span><span class="cx"> 				41D168E810226E89009BC827 /* \
SharedWorkerGlobalScope.h in Headers */, </span><span class="cx"> \
41D168EA10226E89009BC827 /* SharedWorkerRepository.h in Headers */, \
</span><ins>+				CD61FE6C1794AADB004101EB /* WebKitSourceBufferList.h in Headers */, \
</ins><span class="cx"> 				E1B7839C163740A70007B692 /* SharedWorkerStrategy.h in \
Headers */, </span><span class="cx"> 				41D168EE10226E89009BC827 /* \
SharedWorkerThread.h in Headers */, </span><span class="cx"> \
B2C3DA650D006CD600EF6F26 /* SimpleFontData.h in Headers */, </span><span \
class="lines">@@ -24219,6 +24266,7 @@ </span><span class="cx"> \
08D46CE3127AD5FC0089694B /* SVGAnimatedEnumeration.h in Headers */, </span><span \
class="cx"> 				71FB967B1383D64600AC8A4C /* SVGAnimatedEnumerationPropertyTearOff.h \
in Headers */, </span><span class="cx"> 				0823D159127AD6AC000EBC95 /* \
SVGAnimatedInteger.h in Headers */, </span><ins>+				CD61FE871794CC59004101EB /* \
JSWebKitSourceBufferList.h in Headers */, </ins><span class="cx"> \
71E623D1151F72A60036E2F4 /* SVGAnimatedIntegerOptionalInteger.h in Headers */, \
</span><span class="cx"> 				CD9DE17B17AAC75B00EA386D /* JSSourceBuffer.h in Headers \
*/, </span><span class="cx"> 				089021A9126EF5DE0092D5EA /* SVGAnimatedLength.h in \
Headers */, </span><span class="lines">@@ -26215,6 +26263,7 @@
</span><span class="cx"> 				52CCA9E215E3F62C0053C77F /* JSDOMNamedFlowCollection.cpp \
in Sources */, </span><span class="cx"> 				1ACE53DF0A8D18810022947D /* \
JSDOMParser.cpp in Sources */, </span><span class="cx"> 				FB91392B16AE4FC0001FE682 \
/* JSDOMPath.cpp in Sources */, </span><ins>+				CD61FE6B1794AADB004101EB /* \
WebKitSourceBufferList.cpp in Sources */, </ins><span class="cx"> \
A9D247FE0D757E6900FDF959 /* JSDOMPlugin.cpp in Sources */, </span><span class="cx"> \
A9D248000D757E6900FDF959 /* JSDOMPluginArray.cpp in Sources */, </span><span \
class="cx"> 				A9C6E64C0D7465E7006442E9 /* JSDOMPluginArrayCustom.cpp in Sources */, \
</span><span class="lines">@@ -26283,6 +26332,7 @@ </span><span class="cx"> \
9392262D1032107B006E7D5D /* JSHTMLCanvasElementCustom.cpp in Sources */, </span><span \
class="cx"> 				BCCBAD400C18C14200CE890F /* JSHTMLCollection.cpp in Sources */, \
</span><span class="cx"> 				BCCBAD3B0C18BFF800CE890F /* JSHTMLCollectionCustom.cpp \
in Sources */, </span><ins>+				CD61FE841794CC59004101EB /* JSWebKitSourceBuffer.cpp \
in Sources */, </ins><span class="cx"> 				F5C041E60FFCA96D00839D4A /* \
JSHTMLDataListElement.cpp in Sources */, </span><span class="cx"> \
D359D8BE129CA55C0006E5D2 /* JSHTMLDetailsElement.cpp in Sources */, </span><span \
class="cx"> 				1A85B1E60A1B240500D8C87C /* JSHTMLDirectoryElement.cpp in Sources */, \
</span><span class="lines">@@ -27059,6 +27109,7 @@ </span><span class="cx"> \
439046DD12DA25E800AF80A2 /* RenderMathMLMath.cpp in Sources */, </span><span \
class="cx"> 				439046DF12DA25E800AF80A2 /* RenderMathMLOperator.cpp in Sources */, \
</span><span class="cx"> 				E157A8E418173A3A009F821D /* CryptoKey.cpp in Sources */, \
</span><ins>+				CD61FE631794AADB004101EB /* WebKitMediaSource.cpp in Sources */, \
</ins><span class="cx"> 				439046E112DA25E800AF80A2 /* RenderMathMLRoot.cpp in \
Sources */, </span><span class="cx"> 				439046E312DA25E800AF80A2 /* \
RenderMathMLRow.cpp in Sources */, </span><span class="cx"> \
5B7A208D2E12979B4AE19DE6 /* RenderMathMLSpace.cpp in Sources */, </span><span \
class="lines">@@ -27440,6 +27491,7 @@ </span><span class="cx"> \
B22279DC0D00BF220071B782 /* SVGFEFloodElement.cpp in Sources */, </span><span \
class="cx"> 				B22279DF0D00BF220071B782 /* SVGFEFuncAElement.cpp in Sources */, \
</span><span class="cx"> 				B22279E20D00BF220071B782 /* SVGFEFuncBElement.cpp in \
Sources */, </span><ins>+				CD61FE7E1794CB26004101EB /* JSWebKitMediaSource.cpp in \
Sources */, </ins><span class="cx"> 				B22279E50D00BF220071B782 /* \
SVGFEFuncGElement.cpp in Sources */, </span><span class="cx"> \
B22279E80D00BF220071B782 /* SVGFEFuncRElement.cpp in Sources */, </span><span \
class="cx"> 				B22279EB0D00BF220071B782 /* SVGFEGaussianBlurElement.cpp in Sources \
*/, </span><span class="lines">@@ -27507,6 +27559,7 @@
</span><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><ins>+				CD61FE861794CC59004101EB /* JSWebKitSourceBufferList.cpp in Sources \
*/, </ins><span class="cx"> 				B2227A580D00BF220071B782 /* SVGPathElement.cpp in \
Sources */, </span><span class="cx"> 				8476C9EF11DF6A5800555B02 /* \
SVGPathParser.cpp in Sources */, </span><span class="cx"> \
B2227A800D00BF220071B782 /* SVGPathSegList.cpp in Sources */, </span><span \
class="lines">@@ -27750,6 +27803,7 @@ </span><span class="cx"> \
97AABD2614FA09D5007457AE /* WebSocketHandshake.cpp in Sources */, </span><span \
class="cx"> 				0F580FA41496939100FB5BD8 /* WebTiledBackingLayer.mm in Sources */, \
</span><span class="cx"> 				CD82030B1395AB6A00F956C6 /* \
WebVideoFullscreenController.mm in Sources */, \
</span><ins>+				CD61FE691794AADB004101EB /* WebKitSourceBuffer.cpp in Sources */, \
</ins><span class="cx"> 				CD82030D1395AB6A00F956C6 /* \
WebVideoFullscreenHUDWindowController.mm in Sources */, </span><span class="cx"> \
F12171F516A8CED2000053CA /* WebVTTElement.cpp in Sources */, </span><span class="cx"> \
5D21A80213ECE5DF00BB7064 /* WebVTTParser.cpp in Sources */, \
</span></span></pre></div> <a \
id="tagsSafari5384SourceWebCoredomDOMImplementationcpp"></a> <div \
class="modfile"><h4>Modified: \
tags/Safari-538.4/Source/WebCore/dom/DOMImplementation.cpp (158405 => 158406)</h4> \
<pre class="diff"><span> <span class="info">--- \
tags/Safari-538.4/Source/WebCore/dom/DOMImplementation.cpp	2013-10-31 23:23:11 UTC \
                (rev 158405)
+++ tags/Safari-538.4/Source/WebCore/dom/DOMImplementation.cpp	2013-10-31 23:30:08 \
UTC (rev 158406) </span><span class="lines">@@ -356,10 +356,7 @@
</span><span class="cx">      // Check to see if the type can be played by our \
MediaPlayer, if so create a MediaDocument </span><span class="cx">     // Key system \
is not applicable here. </span><span class="cx">     \
DOMImplementationSupportsTypeClient client(frame &amp;&amp; \
frame-&gt;settings().needsSiteSpecificQuirks(), url.host()); </span><del>-    \
                MediaEngineSupportParameters parameters;
-    parameters.type = type;
-    parameters.url = url;
-    if (MediaPlayer::supportsType(parameters, &amp;client))
</del><ins>+    if (MediaPlayer::supportsType(ContentType(type), String(), url, \
&amp;client)) </ins><span class="cx">          return MediaDocument::create(frame, \
url); </span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="tagsSafari5384SourceWebCoredomEventTargetFactoryin"></a>
<div class="modfile"><h4>Modified: \
tags/Safari-538.4/Source/WebCore/dom/EventTargetFactory.in (158405 => 158406)</h4> \
<pre class="diff"><span> <span class="info">--- \
tags/Safari-538.4/Source/WebCore/dom/EventTargetFactory.in	2013-10-31 23:23:11 UTC \
                (rev 158405)
+++ tags/Safari-538.4/Source/WebCore/dom/EventTargetFactory.in	2013-10-31 23:30:08 \
UTC (rev 158406) </span><span class="lines">@@ -38,7 +38,9 @@
</span><span class="cx"> TextTrackCue conditional=VIDEO_TRACK
</span><span class="cx"> TextTrackList conditional=VIDEO_TRACK
</span><span class="cx"> VideoTrackList conditional=VIDEO_TRACK
</span><ins>+WebKitMediaSource conditional=MEDIA_SOURCE
</ins><span class="cx"> WebKitNamedFlow
</span><ins>+WebKitSourceBufferList conditional=MEDIA_SOURCE
</ins><span class="cx"> WebSocket conditional=WEB_SOCKETS
</span><span class="cx"> Worker conditional=WORKERS
</span><span class="cx"> XMLHttpRequest
</span></span></pre></div>
<a id="tagsSafari5384SourceWebCorehtmlHTMLMediaElementcpp"></a>
<div class="modfile"><h4>Modified: \
tags/Safari-538.4/Source/WebCore/html/HTMLMediaElement.cpp (158405 => 158406)</h4> \
<pre class="diff"><span> <span class="info">--- \
tags/Safari-538.4/Source/WebCore/html/HTMLMediaElement.cpp	2013-10-31 23:23:11 UTC \
                (rev 158405)
+++ tags/Safari-538.4/Source/WebCore/html/HTMLMediaElement.cpp	2013-10-31 23:30:08 \
UTC (rev 158406) </span><span class="lines">@@ -762,17 +762,7 @@
</span><span class="cx"> 
</span><span class="cx"> String HTMLMediaElement::canPlayType(const String&amp; \
mimeType, const String&amp; keySystem, const URL&amp; url) const </span><span \
class="cx"> { </span><del>-    MediaEngineSupportParameters parameters;
-    ContentType contentType(mimeType);
-    parameters.type = contentType.type().lower();
-    parameters.codecs = contentType.parameter(ASCIILiteral(&quot;codecs&quot;));
-    parameters.url = url;
-#if ENABLE(ENCRYPTED_MEDIA)
-    parameters.keySystem = keySystem;
-#else
-    UNUSED_PARAM(keySystem);
-#endif
-    MediaPlayer::SupportsType support = MediaPlayer::supportsType(parameters, this);
</del><ins>+    MediaPlayer::SupportsType support = \
MediaPlayer::supportsType(ContentType(mimeType), keySystem, url, this); </ins><span \
class="cx">     String canPlay; </span><span class="cx"> 
</span><span class="cx">     // 4.8.10.3
</span><span class="lines">@@ -1124,7 +1114,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (m_mediaSource) {
</span><span class="cx">         if (m_mediaSource-&gt;attachToElement())
</span><del>-            m_player-&gt;load(url, contentType, m_mediaSource);
</del><ins>+            m_player-&gt;load(url, m_mediaSource);
</ins><span class="cx">         else {
</span><span class="cx">             // Forget our reference to the MediaSource, so \
we leave it alone </span><span class="cx">             // while processing remainder \
of load failure. </span><span class="lines">@@ -3531,15 +3521,7 @@
</span><span class="cx">             if (shouldLog)
</span><span class="cx">                 LOG(Media, \
&quot;HTMLMediaElement::selectNextSourceChild - 'type' is '%s' - key system is \
'%s'&quot;, type.utf8().data(), system.utf8().data()); </span><span class="cx"> \
#endif </span><del>-            MediaEngineSupportParameters parameters;
-            ContentType contentType(type);
-            parameters.type = contentType.type().lower();
-            parameters.codecs = \
                contentType.parameter(ASCIILiteral(&quot;codecs&quot;));
-            parameters.url = mediaURL;
-#if ENABLE(ENCRYPTED_MEDIA)
-            parameters.keySystem = system;
-#endif
-            if (!MediaPlayer::supportsType(parameters, this))
</del><ins>+            if (!MediaPlayer::supportsType(ContentType(type), system, \
mediaURL, this)) </ins><span class="cx">                 goto check_again;
</span><span class="cx">         }
</span><span class="cx"> 
</span></span></pre></div>
<a id="tagsSafari5384SourceWebCoreplatformMIMETypeRegistryh"></a>
<div class="modfile"><h4>Modified: \
tags/Safari-538.4/Source/WebCore/platform/MIMETypeRegistry.h (158405 => 158406)</h4> \
<pre class="diff"><span> <span class="info">--- \
tags/Safari-538.4/Source/WebCore/platform/MIMETypeRegistry.h	2013-10-31 23:23:11 UTC \
                (rev 158405)
+++ tags/Safari-538.4/Source/WebCore/platform/MIMETypeRegistry.h	2013-10-31 23:30:08 \
UTC (rev 158406) </span><span class="lines">@@ -67,6 +67,11 @@
</span><span class="cx">     // Check to see if a mime type is suitable for being \
loaded using &lt;video&gt; and &lt;audio&gt; </span><span class="cx">     static bool \
isSupportedMediaMIMEType(const String&amp; mimeType);  </span><span class="cx"> 
</span><ins>+#if ENABLE(MEDIA_SOURCE)
+    // Check to see if the mime type and codecs are supported by the MediaSource \
implementation. +    static bool isSupportedMediaSourceMIMEType(const String&amp; \
mimeType, const String&amp; codecs); +#endif
+
</ins><span class="cx">     // Check to see if the mime type is not suitable for \
being loaded as a text </span><span class="cx">     // document in a frame. Only \
valid for mime types begining with &quot;text/&quot;. </span><span class="cx">     \
static bool isUnsupportedTextMIMEType(const String&amp; mimeType); \
</span></span></pre></div> <a \
id="tagsSafari5384SourceWebCoreplatformeflMIMETypeRegistryEflcpp"></a> <div \
class="modfile"><h4>Modified: \
tags/Safari-538.4/Source/WebCore/platform/efl/MIMETypeRegistryEfl.cpp (158405 => \
158406)</h4> <pre class="diff"><span>
<span class="info">--- \
tags/Safari-538.4/Source/WebCore/platform/efl/MIMETypeRegistryEfl.cpp	2013-10-31 \
                23:23:11 UTC (rev 158405)
+++ tags/Safari-538.4/Source/WebCore/platform/efl/MIMETypeRegistryEfl.cpp	2013-10-31 \
23:30:08 UTC (rev 158406) </span><span class="lines">@@ -96,4 +96,12 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+#if ENABLE(MEDIA_SOURCE)
+bool MIMETypeRegistry::isSupportedMediaSourceMIMEType(const String&amp;, const \
String&amp;) +{
+    notImplemented();
+    return false;
</ins><span class="cx"> }
</span><ins>+#endif
+
+}
</ins></span></pre></div>
<a id="tagsSafari5384SourceWebCoreplatformgraphicsMediaPlayercpp"></a>
<div class="modfile"><h4>Modified: \
tags/Safari-538.4/Source/WebCore/platform/graphics/MediaPlayer.cpp (158405 => \
158406)</h4> <pre class="diff"><span>
<span class="info">--- \
tags/Safari-538.4/Source/WebCore/platform/graphics/MediaPlayer.cpp	2013-10-31 \
                23:23:11 UTC (rev 158405)
+++ tags/Safari-538.4/Source/WebCore/platform/graphics/MediaPlayer.cpp	2013-10-31 \
23:30:08 UTC (rev 158406) </span><span class="lines">@@ -379,11 +379,11 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(MEDIA_SOURCE)
</span><del>-bool MediaPlayer::load(const URL&amp; url, const ContentType&amp; \
contentType, PassRefPtr&lt;HTMLMediaSource&gt; mediaSource) </del><ins>+bool \
MediaPlayer::load(const URL&amp; url, PassRefPtr&lt;HTMLMediaSource&gt; mediaSource) \
</ins><span class="cx"> { </span><span class="cx">     m_mediaSource = mediaSource;
</span><del>-    m_contentMIMEType = contentType.type().lower();
-    m_contentTypeCodecs = contentType.parameter(codecs());
</del><ins>+    m_contentMIMEType = &quot;&quot;;
+    m_contentTypeCodecs = &quot;&quot;;
</ins><span class="cx">     m_url = url;
</span><span class="cx">     m_keySystem = &quot;&quot;;
</span><span class="cx">     m_contentMIMETypeWasInferredFromExtension = false;
</span><span class="lines">@@ -741,8 +741,23 @@
</span><span class="cx">     return \
m_private-&gt;copyVideoTextureToPlatformTexture(context, texture, level, type, \
internalFormat, premultiplyAlpha, flipY); </span><span class="cx"> }
</span><span class="cx"> 
</span><del>-MediaPlayer::SupportsType MediaPlayer::supportsType(const \
MediaEngineSupportParameters&amp; parameters, const MediaPlayerSupportsTypeClient* \
client) </del><ins>+MediaPlayer::SupportsType MediaPlayer::supportsType(const \
ContentType&amp; contentType, const String&amp; keySystem, const URL&amp; url, const \
MediaPlayerSupportsTypeClient* client) </ins><span class="cx"> {
</span><ins>+    MediaEngineSupportParameters parameters;
+    parameters.type = contentType.type().lower();
+    // The codecs string is not lower-cased because MP4 values are case sensitive
+    // per http://tools.ietf.org/html/rfc4281#page-7.
+    parameters.codecs = contentType.parameter(codecs());
+    parameters.url = url;
+#if ENABLE(ENCRYPTED_MEDIA)
+    parameters.keySystem = keySystem.lower();
+#else
+    UNUSED_PARAM(keySystem);
+#endif
+#if ENABLE(MEDIA_SOURCE)
+    parameters.isMediaSource = false;
+#endif
+
</ins><span class="cx">     // 4.8.10.3 MIME types - The canPlayType(type) method \
must return the empty string if type is a type that the  </span><span class="cx">     \
// user agent knows it cannot render or is the type \
&quot;application/octet-stream&quot; </span><span class="cx">     if (parameters.type \
== applicationOctetStream()) </span><span class="lines">@@ -762,7 +777,7 @@
</span><span class="cx">     if (client &amp;&amp; \
client-&gt;mediaPlayerNeedsSiteSpecificHacks()) { </span><span class="cx">         \
String host = client-&gt;mediaPlayerDocumentHost(); </span><span class="cx">         \
if ((host.endsWith(&quot;.youtube.com&quot;, false) || \
equalIgnoringCase(&quot;youtube.com&quot;, host)) </span><del>-            &amp;&amp; \
(parameters.type.startsWith(&quot;video/webm&quot;, false) || \
parameters.type.startsWith(&quot;video/x-flv&quot;, false))) </del><ins>+            \
&amp;&amp; (contentType.type().startsWith(&quot;video/webm&quot;, false) || \
contentType.type().startsWith(&quot;video/x-flv&quot;, false))) </ins><span \
class="cx">             return IsNotSupported; </span><span class="cx">     }
</span><span class="cx"> #else
</span></span></pre></div>
<a id="tagsSafari5384SourceWebCoreplatformgraphicsMediaPlayerh"></a>
<div class="modfile"><h4>Modified: \
tags/Safari-538.4/Source/WebCore/platform/graphics/MediaPlayer.h (158405 => \
158406)</h4> <pre class="diff"><span>
<span class="info">--- \
tags/Safari-538.4/Source/WebCore/platform/graphics/MediaPlayer.h	2013-10-31 23:23:11 \
                UTC (rev 158405)
+++ tags/Safari-538.4/Source/WebCore/platform/graphics/MediaPlayer.h	2013-10-31 \
23:30:08 UTC (rev 158406) </span><span class="lines">@@ -102,25 +102,6 @@
</span><span class="cx">     } media;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-struct MediaEngineSupportParameters {
-    String type;
-    String codecs;
-    URL url;
-#if ENABLE(ENCRYPTED_MEDIA)
-    String keySystem;
-#endif
-#if ENABLE(MEDIA_SOURCE)
-    bool isMediaSource;
-#endif
-
-    MediaEngineSupportParameters()
-#if ENABLE(MEDIA_SOURCE)
-        : isMediaSource(false)
-#endif
-    {
-    }
-};
-
</del><span class="cx"> extern const PlatformMedia NoPlatformMedia;
</span><span class="cx"> 
</span><span class="cx"> class CachedResourceLoader;
</span><span class="lines">@@ -272,7 +253,7 @@
</span><span class="cx"> 
</span><span class="cx">     // Media engine support.
</span><span class="cx">     enum SupportsType { IsNotSupported, IsSupported, \
MayBeSupported }; </span><del>-    static MediaPlayer::SupportsType \
supportsType(const MediaEngineSupportParameters&amp;, const \
MediaPlayerSupportsTypeClient*); </del><ins>+    static MediaPlayer::SupportsType \
supportsType(const ContentType&amp;, const String&amp; keySystem, const URL&amp;, \
const MediaPlayerSupportsTypeClient*); </ins><span class="cx">     static void \
getSupportedTypes(HashSet&lt;String&gt;&amp;); </span><span class="cx">     static \
bool isAvailable(); </span><span class="cx">     static void \
getSitesInMediaCache(Vector&lt;String&gt;&amp;); </span><span class="lines">@@ -301,7 \
+282,7 @@ </span><span class="cx"> 
</span><span class="cx">     bool load(const URL&amp;, const ContentType&amp;, const \
String&amp; keySystem); </span><span class="cx"> #if ENABLE(MEDIA_SOURCE)
</span><del>-    bool load(const URL&amp;, const ContentType&amp;, \
PassRefPtr&lt;HTMLMediaSource&gt;); </del><ins>+    bool load(const URL&amp;, \
PassRefPtr&lt;HTMLMediaSource&gt;); </ins><span class="cx"> #endif
</span><span class="cx">     void cancelLoad();
</span><span class="cx"> 
</span><span class="lines">@@ -543,6 +524,18 @@
</span><span class="cx"> #endif
</span><span class="cx"> };
</span><span class="cx"> 
</span><ins>+struct MediaEngineSupportParameters {
+    String type;
+    String codecs;
+    URL url;
+#if ENABLE(ENCRYPTED_MEDIA)
+    String keySystem;
+#endif
+#if ENABLE(MEDIA_SOURCE)
+    bool isMediaSource;
+#endif
+};
+
</ins><span class="cx"> typedef PassOwnPtr&lt;MediaPlayerPrivateInterface&gt; \
(*CreateMediaEnginePlayer)(MediaPlayer*); </span><span class="cx"> typedef void \
(*MediaEngineSupportedTypes)(HashSet&lt;String&gt;&amp; types); </span><span \
class="cx"> typedef MediaPlayer::SupportsType (*MediaEngineSupportsType)(const \
MediaEngineSupportParameters&amp; parameters); </span></span></pre></div>
<a id="tagsSafari5384SourceWebCoreplatformmacMIMETypeRegistryMacmm"></a>
<div class="modfile"><h4>Modified: \
tags/Safari-538.4/Source/WebCore/platform/mac/MIMETypeRegistryMac.mm (158405 => \
158406)</h4> <pre class="diff"><span>
<span class="info">--- \
tags/Safari-538.4/Source/WebCore/platform/mac/MIMETypeRegistryMac.mm	2013-10-31 \
                23:23:11 UTC (rev 158405)
+++ tags/Safari-538.4/Source/WebCore/platform/mac/MIMETypeRegistryMac.mm	2013-10-31 \
23:30:08 UTC (rev 158406) </span><span class="lines">@@ -73,4 +73,11 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+#if ENABLE(MEDIA_SOURCE)
+bool MIMETypeRegistry::isSupportedMediaSourceMIMEType(const String&amp;, const \
String&amp;) +{
+    return false;
</ins><span class="cx"> }
</span><ins>+#endif
+
+}
</ins></span></pre>
</div>
</div>

</body>
</html>



_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic