<!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>[206208] trunk</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/206208">206208</a></dd>
<dt>Author</dt> <dd>jer.noble@apple.com</dd>
<dt>Date</dt> <dd>2016-09-21 09:12:33 -0700 (Wed, 21 Sep 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>[media-source] Fix imported/w3c/web-platform-tests/media-source/URL-createObjectURL-null.html
https://bugs.webkit.org/show_bug.cgi?id=162299

Reviewed by Eric Carlson.

Source/WebCore:

URL.createObjectURL() should not take an optional parameter (nor return an optional String).
(Ref: https://w3c.github.io/FileAPI/#dfn-createObjectURL)

* Modules/mediasource/DOMURLMediaSource.cpp:
(WebCore::DOMURLMediaSource::createObjectURL):
* Modules/mediasource/DOMURLMediaSource.h:
* Modules/mediasource/DOMURLMediaSource.idl:
* Modules/mediasource/MediaSourceRegistry.cpp:
(WebCore::MediaSourceRegistry::registerURL):
* Modules/mediasource/MediaSourceRegistry.h:
* Modules/mediastream/DOMURLMediaStream.cpp:
(WebCore::DOMURLMediaStream::createObjectURL):
* Modules/mediastream/DOMURLMediaStream.h:
* Modules/mediastream/DOMURLMediaStream.idl:
* Modules/mediastream/MediaStreamRegistry.cpp:
(WebCore::MediaStreamRegistry::registerURL):
* Modules/mediastream/MediaStreamRegistry.h:
* fileapi/Blob.cpp:
(WebCore::BlobURLRegistry::registerURL):
* html/DOMURL.cpp:
(WebCore::DOMURL::createObjectURL):
(WebCore::DOMURL::createPublicURL):
* html/DOMURL.h:
* html/DOMURL.idl:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setSrcObject):
* html/PublicURLManager.cpp:
(WebCore::PublicURLManager::registerURL):
* html/PublicURLManager.h:
* html/URLRegistry.h:

LayoutTests:

* platform/mac/TestExpectations:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsplatformmacTestExpectations">trunk/LayoutTests/platform/mac/TestExpectations</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulesmediasourceDOMURLMediaSourcecpp">trunk/Source/WebCore/Modules/mediasource/DOMURLMediaSource.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediasourceDOMURLMediaSourceh">trunk/Source/WebCore/Modules/mediasource/DOMURLMediaSource.h</a></li>
<li><a href="#trunkSourceWebCoreModulesmediasourceDOMURLMediaSourceidl">trunk/Source/WebCore/Modules/mediasource/DOMURLMediaSource.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesmediasourceMediaSourceRegistrycpp">trunk/Source/WebCore/Modules/mediasource/MediaSourceRegistry.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediasourceMediaSourceRegistryh">trunk/Source/WebCore/Modules/mediasource/MediaSourceRegistry.h</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamDOMURLMediaStreamcpp">trunk/Source/WebCore/Modules/mediastream/DOMURLMediaStream.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamDOMURLMediaStreamh">trunk/Source/WebCore/Modules/mediastream/DOMURLMediaStream.h</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamDOMURLMediaStreamidl">trunk/Source/WebCore/Modules/mediastream/DOMURLMediaStream.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamMediaStreamRegistrycpp">trunk/Source/WebCore/Modules/mediastream/MediaStreamRegistry.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamMediaStreamRegistryh">trunk/Source/WebCore/Modules/mediastream/MediaStreamRegistry.h</a></li>
<li><a href="#trunkSourceWebCorefileapiBlobcpp">trunk/Source/WebCore/fileapi/Blob.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlDOMURLcpp">trunk/Source/WebCore/html/DOMURL.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlDOMURLh">trunk/Source/WebCore/html/DOMURL.h</a></li>
<li><a href="#trunkSourceWebCorehtmlDOMURLidl">trunk/Source/WebCore/html/DOMURL.idl</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLMediaElementcpp">trunk/Source/WebCore/html/HTMLMediaElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlPublicURLManagercpp">trunk/Source/WebCore/html/PublicURLManager.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlPublicURLManagerh">trunk/Source/WebCore/html/PublicURLManager.h</a></li>
<li><a href="#trunkSourceWebCorehtmlURLRegistryh">trunk/Source/WebCore/html/URLRegistry.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (206207 => 206208)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2016-09-21 12:39:10 UTC (rev 206207)
+++ trunk/LayoutTests/ChangeLog        2016-09-21 16:12:33 UTC (rev 206208)
</span><span class="lines">@@ -1,3 +1,12 @@
</span><ins>+2016-09-20  Jer Noble  &lt;jer.noble@apple.com&gt;
+
+        [media-source] Fix imported/w3c/web-platform-tests/media-source/URL-createObjectURL-null.html
+        https://bugs.webkit.org/show_bug.cgi?id=162299
+
+        Reviewed by Eric Carlson.
+
+        * platform/mac/TestExpectations:
+
</ins><span class="cx"> 2016-09-21  Youenn Fablet  &lt;youenn@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [Fetch] Align Accept header default values with fetch spec
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/TestExpectations (206207 => 206208)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/TestExpectations        2016-09-21 12:39:10 UTC (rev 206207)
+++ trunk/LayoutTests/platform/mac/TestExpectations        2016-09-21 16:12:33 UTC (rev 206208)
</span><span class="lines">@@ -1043,6 +1043,7 @@
</span><span class="cx"> [ Yosemite+ ] imported/w3c/web-platform-tests/media-source/SourceBuffer-abort-updating.html [ Pass ]
</span><span class="cx"> [ Yosemite+ ] imported/w3c/web-platform-tests/media-source/SourceBuffer-abort.html [ Pass ]
</span><span class="cx"> [ Yosemite+ ] imported/w3c/web-platform-tests/media-source/URL-createObjectURL.html [ Pass ]
</span><ins>+[ Yosemite+ ] imported/w3c/web-platform-tests/media-source/URL-createObjectURL-null.html [ Pass ]
</ins><span class="cx"> [ Yosemite+ ] imported/w3c/web-platform-tests/media-source/mediasource-addsourcebuffer-mode.html [ Pass ]
</span><span class="cx"> [ Yosemite+ ] imported/w3c/web-platform-tests/media-source/mediasource-addsourcebuffer.html [ Pass ]
</span><span class="cx"> [ Yosemite+ ] imported/w3c/web-platform-tests/media-source/mediasource-appendwindow.html [ Pass ]
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (206207 => 206208)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-09-21 12:39:10 UTC (rev 206207)
+++ trunk/Source/WebCore/ChangeLog        2016-09-21 16:12:33 UTC (rev 206208)
</span><span class="lines">@@ -1,3 +1,41 @@
</span><ins>+2016-09-20  Jer Noble  &lt;jer.noble@apple.com&gt;
+
+        [media-source] Fix imported/w3c/web-platform-tests/media-source/URL-createObjectURL-null.html
+        https://bugs.webkit.org/show_bug.cgi?id=162299
+
+        Reviewed by Eric Carlson.
+
+        URL.createObjectURL() should not take an optional parameter (nor return an optional String). 
+        (Ref: https://w3c.github.io/FileAPI/#dfn-createObjectURL)
+
+        * Modules/mediasource/DOMURLMediaSource.cpp:
+        (WebCore::DOMURLMediaSource::createObjectURL):
+        * Modules/mediasource/DOMURLMediaSource.h:
+        * Modules/mediasource/DOMURLMediaSource.idl:
+        * Modules/mediasource/MediaSourceRegistry.cpp:
+        (WebCore::MediaSourceRegistry::registerURL):
+        * Modules/mediasource/MediaSourceRegistry.h:
+        * Modules/mediastream/DOMURLMediaStream.cpp:
+        (WebCore::DOMURLMediaStream::createObjectURL):
+        * Modules/mediastream/DOMURLMediaStream.h:
+        * Modules/mediastream/DOMURLMediaStream.idl:
+        * Modules/mediastream/MediaStreamRegistry.cpp:
+        (WebCore::MediaStreamRegistry::registerURL):
+        * Modules/mediastream/MediaStreamRegistry.h:
+        * fileapi/Blob.cpp:
+        (WebCore::BlobURLRegistry::registerURL):
+        * html/DOMURL.cpp:
+        (WebCore::DOMURL::createObjectURL):
+        (WebCore::DOMURL::createPublicURL):
+        * html/DOMURL.h:
+        * html/DOMURL.idl:
+        * html/HTMLMediaElement.cpp:
+        (WebCore::HTMLMediaElement::setSrcObject):
+        * html/PublicURLManager.cpp:
+        (WebCore::PublicURLManager::registerURL):
+        * html/PublicURLManager.h:
+        * html/URLRegistry.h:
+
</ins><span class="cx"> 2016-09-21  Youenn Fablet  &lt;youenn@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [Fetch] Align Accept header default values with fetch spec
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediasourceDOMURLMediaSourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediasource/DOMURLMediaSource.cpp (206207 => 206208)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediasource/DOMURLMediaSource.cpp        2016-09-21 12:39:10 UTC (rev 206207)
+++ trunk/Source/WebCore/Modules/mediasource/DOMURLMediaSource.cpp        2016-09-21 16:12:33 UTC (rev 206208)
</span><span class="lines">@@ -39,13 +39,10 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-String DOMURLMediaSource::createObjectURL(ScriptExecutionContext&amp; scriptExecutionContext, MediaSource* source)
</del><ins>+String DOMURLMediaSource::createObjectURL(ScriptExecutionContext&amp; scriptExecutionContext, MediaSource&amp; source)
</ins><span class="cx"> {
</span><span class="cx">     // Since WebWorkers cannot obtain MediaSource objects, we should be on the main thread.
</span><span class="cx">     ASSERT(isMainThread());
</span><del>-
-    if (!source)
-        return String();
</del><span class="cx">     return DOMURL::createPublicURL(scriptExecutionContext, source);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediasourceDOMURLMediaSourceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediasource/DOMURLMediaSource.h (206207 => 206208)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediasource/DOMURLMediaSource.h        2016-09-21 12:39:10 UTC (rev 206207)
+++ trunk/Source/WebCore/Modules/mediasource/DOMURLMediaSource.h        2016-09-21 16:12:33 UTC (rev 206208)
</span><span class="lines">@@ -42,7 +42,7 @@
</span><span class="cx"> 
</span><span class="cx"> class DOMURLMediaSource {
</span><span class="cx"> public:
</span><del>-    static String createObjectURL(ScriptExecutionContext&amp;, MediaSource*);
</del><ins>+    static String createObjectURL(ScriptExecutionContext&amp;, MediaSource&amp;);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediasourceDOMURLMediaSourceidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediasource/DOMURLMediaSource.idl (206207 => 206208)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediasource/DOMURLMediaSource.idl        2016-09-21 12:39:10 UTC (rev 206207)
+++ trunk/Source/WebCore/Modules/mediasource/DOMURLMediaSource.idl        2016-09-21 16:12:33 UTC (rev 206208)
</span><span class="lines">@@ -31,5 +31,5 @@
</span><span class="cx">     Conditional=MEDIA_SOURCE
</span><span class="cx"> ]
</span><span class="cx"> partial interface DOMURL {
</span><del>-    [CallWith=ScriptExecutionContext] static DOMString? createObjectURL(MediaSource? source);
</del><ins>+    [CallWith=ScriptExecutionContext] static DOMString createObjectURL(MediaSource source);
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediasourceMediaSourceRegistrycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediasource/MediaSourceRegistry.cpp (206207 => 206208)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediasource/MediaSourceRegistry.cpp        2016-09-21 12:39:10 UTC (rev 206207)
+++ trunk/Source/WebCore/Modules/mediasource/MediaSourceRegistry.cpp        2016-09-21 16:12:33 UTC (rev 206208)
</span><span class="lines">@@ -46,14 +46,14 @@
</span><span class="cx">     return instance;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void MediaSourceRegistry::registerURL(SecurityOrigin*, const URL&amp; url, URLRegistrable* registrable)
</del><ins>+void MediaSourceRegistry::registerURL(SecurityOrigin*, const URL&amp; url, URLRegistrable&amp; registrable)
</ins><span class="cx"> {
</span><del>-    ASSERT(&amp;registrable-&gt;registry() == this);
</del><ins>+    ASSERT(&amp;registrable.registry() == this);
</ins><span class="cx">     ASSERT(isMainThread());
</span><span class="cx"> 
</span><del>-    MediaSource* source = static_cast&lt;MediaSource*&gt;(registrable);
-    source-&gt;addedToRegistry();
-    m_mediaSources.set(url.string(), source);
</del><ins>+    MediaSource&amp; source = static_cast&lt;MediaSource&amp;&gt;(registrable);
+    source.addedToRegistry();
+    m_mediaSources.set(url.string(), &amp;source);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MediaSourceRegistry::unregisterURL(const URL&amp; url)
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediasourceMediaSourceRegistryh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediasource/MediaSourceRegistry.h (206207 => 206208)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediasource/MediaSourceRegistry.h        2016-09-21 12:39:10 UTC (rev 206207)
+++ trunk/Source/WebCore/Modules/mediasource/MediaSourceRegistry.h        2016-09-21 16:12:33 UTC (rev 206208)
</span><span class="lines">@@ -50,7 +50,7 @@
</span><span class="cx">     static MediaSourceRegistry&amp; registry();
</span><span class="cx"> 
</span><span class="cx">     // Registers a blob URL referring to the specified media source.
</span><del>-    void registerURL(SecurityOrigin*, const URL&amp;, URLRegistrable*) override;
</del><ins>+    void registerURL(SecurityOrigin*, const URL&amp;, URLRegistrable&amp;) override;
</ins><span class="cx">     void unregisterURL(const URL&amp;) override;
</span><span class="cx">     URLRegistrable* lookup(const String&amp;) const override;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamDOMURLMediaStreamcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/DOMURLMediaStream.cpp (206207 => 206208)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/DOMURLMediaStream.cpp        2016-09-21 12:39:10 UTC (rev 206207)
+++ trunk/Source/WebCore/Modules/mediastream/DOMURLMediaStream.cpp        2016-09-21 16:12:33 UTC (rev 206208)
</span><span class="lines">@@ -40,13 +40,10 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-String DOMURLMediaStream::createObjectURL(ScriptExecutionContext&amp; scriptExecutionContext, MediaStream* stream)
</del><ins>+String DOMURLMediaStream::createObjectURL(ScriptExecutionContext&amp; scriptExecutionContext, MediaStream&amp; stream)
</ins><span class="cx"> {
</span><span class="cx">     // Since WebWorkers cannot obtain Stream objects, we should be on the main thread.
</span><span class="cx">     ASSERT(isMainThread());
</span><del>-
-    if (!stream)
-        return String();
</del><span class="cx">     return DOMURL::createPublicURL(scriptExecutionContext, stream);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamDOMURLMediaStreamh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/DOMURLMediaStream.h (206207 => 206208)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/DOMURLMediaStream.h        2016-09-21 12:39:10 UTC (rev 206207)
+++ trunk/Source/WebCore/Modules/mediastream/DOMURLMediaStream.h        2016-09-21 16:12:33 UTC (rev 206208)
</span><span class="lines">@@ -42,7 +42,7 @@
</span><span class="cx"> 
</span><span class="cx"> class DOMURLMediaStream {
</span><span class="cx"> public:
</span><del>-    static String createObjectURL(ScriptExecutionContext&amp;, MediaStream*);
</del><ins>+    static String createObjectURL(ScriptExecutionContext&amp;, MediaStream&amp;);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamDOMURLMediaStreamidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/DOMURLMediaStream.idl (206207 => 206208)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/DOMURLMediaStream.idl        2016-09-21 12:39:10 UTC (rev 206207)
+++ trunk/Source/WebCore/Modules/mediastream/DOMURLMediaStream.idl        2016-09-21 16:12:33 UTC (rev 206208)
</span><span class="lines">@@ -31,5 +31,5 @@
</span><span class="cx">     Conditional=MEDIA_STREAM
</span><span class="cx"> ]
</span><span class="cx"> partial interface DOMURL {
</span><del>-    [CallWith=ScriptExecutionContext] static DOMString? createObjectURL(MediaStream? stream);
</del><ins>+    [CallWith=ScriptExecutionContext] static DOMString createObjectURL(MediaStream stream);
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamMediaStreamRegistrycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/MediaStreamRegistry.cpp (206207 => 206208)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/MediaStreamRegistry.cpp        2016-09-21 12:39:10 UTC (rev 206207)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStreamRegistry.cpp        2016-09-21 16:12:33 UTC (rev 206208)
</span><span class="lines">@@ -43,11 +43,11 @@
</span><span class="cx">     return instance;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void MediaStreamRegistry::registerURL(SecurityOrigin*, const URL&amp; url, URLRegistrable* stream)
</del><ins>+void MediaStreamRegistry::registerURL(SecurityOrigin*, const URL&amp; url, URLRegistrable&amp; stream)
</ins><span class="cx"> {
</span><del>-    ASSERT(&amp;stream-&gt;registry() == this);
</del><ins>+    ASSERT(&amp;stream.registry() == this);
</ins><span class="cx">     ASSERT(isMainThread());
</span><del>-    m_mediaStreams.set(url.string(), static_cast&lt;MediaStream*&gt;(stream));
</del><ins>+    m_mediaStreams.set(url.string(), static_cast&lt;MediaStream*&gt;(&amp;stream));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MediaStreamRegistry::unregisterURL(const URL&amp; url)
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamMediaStreamRegistryh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/MediaStreamRegistry.h (206207 => 206208)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/MediaStreamRegistry.h        2016-09-21 12:39:10 UTC (rev 206207)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStreamRegistry.h        2016-09-21 16:12:33 UTC (rev 206208)
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx">     static MediaStreamRegistry&amp; shared();
</span><span class="cx"> 
</span><span class="cx">     // Registers a blob URL referring to the specified stream data.
</span><del>-    void registerURL(SecurityOrigin*, const URL&amp;, URLRegistrable*) override;
</del><ins>+    void registerURL(SecurityOrigin*, const URL&amp;, URLRegistrable&amp;) override;
</ins><span class="cx">     void unregisterURL(const URL&amp;) override;
</span><span class="cx"> 
</span><span class="cx">     URLRegistrable* lookup(const String&amp;) const override;
</span></span></pre></div>
<a id="trunkSourceWebCorefileapiBlobcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/fileapi/Blob.cpp (206207 => 206208)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/fileapi/Blob.cpp        2016-09-21 12:39:10 UTC (rev 206207)
+++ trunk/Source/WebCore/fileapi/Blob.cpp        2016-09-21 16:12:33 UTC (rev 206208)
</span><span class="lines">@@ -42,7 +42,7 @@
</span><span class="cx"> 
</span><span class="cx"> class BlobURLRegistry final : public URLRegistry {
</span><span class="cx"> public:
</span><del>-    void registerURL(SecurityOrigin*, const URL&amp;, URLRegistrable*) override;
</del><ins>+    void registerURL(SecurityOrigin*, const URL&amp;, URLRegistrable&amp;) override;
</ins><span class="cx">     void unregisterURL(const URL&amp;) override;
</span><span class="cx"> 
</span><span class="cx">     static URLRegistry&amp; registry();
</span><span class="lines">@@ -49,10 +49,10 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void BlobURLRegistry::registerURL(SecurityOrigin* origin, const URL&amp; publicURL, URLRegistrable* blob)
</del><ins>+void BlobURLRegistry::registerURL(SecurityOrigin* origin, const URL&amp; publicURL, URLRegistrable&amp; blob)
</ins><span class="cx"> {
</span><del>-    ASSERT(&amp;blob-&gt;registry() == this);
-    ThreadableBlobRegistry::registerBlobURL(origin, publicURL, static_cast&lt;Blob*&gt;(blob)-&gt;url());
</del><ins>+    ASSERT(&amp;blob.registry() == this);
+    ThreadableBlobRegistry::registerBlobURL(origin, publicURL, static_cast&lt;Blob&amp;&gt;(blob).url());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void BlobURLRegistry::unregisterURL(const URL&amp; url)
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlDOMURLcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/DOMURL.cpp (206207 => 206208)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/DOMURL.cpp        2016-09-21 12:39:10 UTC (rev 206207)
+++ trunk/Source/WebCore/html/DOMURL.cpp        2016-09-21 16:12:33 UTC (rev 206208)
</span><span class="lines">@@ -103,14 +103,12 @@
</span><span class="cx">         ec = TypeError;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-String DOMURL::createObjectURL(ScriptExecutionContext&amp; scriptExecutionContext, Blob* blob)
</del><ins>+String DOMURL::createObjectURL(ScriptExecutionContext&amp; scriptExecutionContext, Blob&amp; blob)
</ins><span class="cx"> {
</span><del>-    if (!blob)
-        return String();
</del><span class="cx">     return createPublicURL(scriptExecutionContext, blob);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-String DOMURL::createPublicURL(ScriptExecutionContext&amp; scriptExecutionContext, URLRegistrable* registrable)
</del><ins>+String DOMURL::createPublicURL(ScriptExecutionContext&amp; scriptExecutionContext, URLRegistrable&amp; registrable)
</ins><span class="cx"> {
</span><span class="cx">     URL publicURL = BlobURL::createPublicURL(scriptExecutionContext.securityOrigin());
</span><span class="cx">     if (publicURL.isEmpty())
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlDOMURLh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/DOMURL.h (206207 => 206208)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/DOMURL.h        2016-09-21 12:39:10 UTC (rev 206207)
+++ trunk/Source/WebCore/html/DOMURL.h        2016-09-21 16:12:33 UTC (rev 206208)
</span><span class="lines">@@ -54,10 +54,10 @@
</span><span class="cx"> 
</span><span class="cx">     URLSearchParams&amp; searchParams();
</span><span class="cx"> 
</span><del>-    static String createObjectURL(ScriptExecutionContext&amp;, Blob*);
</del><ins>+    static String createObjectURL(ScriptExecutionContext&amp;, Blob&amp;);
</ins><span class="cx">     static void revokeObjectURL(ScriptExecutionContext&amp;, const String&amp;);
</span><span class="cx"> 
</span><del>-    static String createPublicURL(ScriptExecutionContext&amp;, URLRegistrable*);
</del><ins>+    static String createPublicURL(ScriptExecutionContext&amp;, URLRegistrable&amp;);
</ins><span class="cx"> private:
</span><span class="cx">     DOMURL(const String&amp; url, const String&amp; base, ExceptionCode&amp;);
</span><span class="cx">     DOMURL(const String&amp; url, const DOMURL&amp; base, ExceptionCode&amp;);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlDOMURLidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/DOMURL.idl (206207 => 206208)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/DOMURL.idl        2016-09-21 12:39:10 UTC (rev 206207)
+++ trunk/Source/WebCore/html/DOMURL.idl        2016-09-21 16:12:33 UTC (rev 206208)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx">     ImplementationLacksVTable,
</span><span class="cx">     ExportMacro=WEBCORE_EXPORT,
</span><span class="cx"> ] interface DOMURL {
</span><del>-    [CallWith=ScriptExecutionContext] static DOMString? createObjectURL(Blob? blob); // FIXME: The return value and the parameter should not be nullable.
</del><ins>+    [CallWith=ScriptExecutionContext] static DOMString createObjectURL(Blob blob);
</ins><span class="cx">     [CallWith=ScriptExecutionContext] static void revokeObjectURL(DOMString url);
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLMediaElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (206207 => 206208)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLMediaElement.cpp        2016-09-21 12:39:10 UTC (rev 206207)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp        2016-09-21 16:12:33 UTC (rev 206208)
</span><span class="lines">@@ -1095,7 +1095,7 @@
</span><span class="cx"> 
</span><span class="cx">     m_mediaStreamSrcObject = mediaStream;
</span><span class="cx">     if (mediaStream)
</span><del>-        setSrc(DOMURL::createPublicURL(context, mediaStream));
</del><ins>+        setSrc(DOMURL::createPublicURL(context, *mediaStream));
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlPublicURLManagercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/PublicURLManager.cpp (206207 => 206208)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/PublicURLManager.cpp        2016-09-21 12:39:10 UTC (rev 206207)
+++ trunk/Source/WebCore/html/PublicURLManager.cpp        2016-09-21 16:12:33 UTC (rev 206208)
</span><span class="lines">@@ -45,12 +45,12 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void PublicURLManager::registerURL(SecurityOrigin* origin, const URL&amp; url, URLRegistrable* registrable)
</del><ins>+void PublicURLManager::registerURL(SecurityOrigin* origin, const URL&amp; url, URLRegistrable&amp; registrable)
</ins><span class="cx"> {
</span><span class="cx">     if (m_isStopped)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    RegistryURLMap::iterator found = m_registryToURL.add(&amp;registrable-&gt;registry(), URLSet()).iterator;
</del><ins>+    RegistryURLMap::iterator found = m_registryToURL.add(&amp;registrable.registry(), URLSet()).iterator;
</ins><span class="cx">     found-&gt;key-&gt;registerURL(origin, url, registrable);
</span><span class="cx">     found-&gt;value.add(url.string());
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlPublicURLManagerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/PublicURLManager.h (206207 => 206208)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/PublicURLManager.h        2016-09-21 12:39:10 UTC (rev 206207)
+++ trunk/Source/WebCore/html/PublicURLManager.h        2016-09-21 16:12:33 UTC (rev 206208)
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx"> 
</span><span class="cx">     static std::unique_ptr&lt;PublicURLManager&gt; create(ScriptExecutionContext*);
</span><span class="cx"> 
</span><del>-    void registerURL(SecurityOrigin*, const URL&amp;, URLRegistrable*);
</del><ins>+    void registerURL(SecurityOrigin*, const URL&amp;, URLRegistrable&amp;);
</ins><span class="cx">     void revoke(const URL&amp;);
</span><span class="cx"> 
</span><span class="cx"> private:
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlURLRegistryh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/URLRegistry.h (206207 => 206208)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/URLRegistry.h        2016-09-21 12:39:10 UTC (rev 206207)
+++ trunk/Source/WebCore/html/URLRegistry.h        2016-09-21 16:12:33 UTC (rev 206208)
</span><span class="lines">@@ -49,7 +49,7 @@
</span><span class="cx">     WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><span class="cx">     virtual ~URLRegistry() { }
</span><del>-    virtual void registerURL(SecurityOrigin*, const URL&amp;, URLRegistrable*) = 0;
</del><ins>+    virtual void registerURL(SecurityOrigin*, const URL&amp;, URLRegistrable&amp;) = 0;
</ins><span class="cx">     virtual void unregisterURL(const URL&amp;) = 0;
</span><span class="cx"> 
</span><span class="cx">     // This is an optional API
</span></span></pre>
</div>
</div>

</body>
</html>