<!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>[160553] 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/160553">160553</a></dd>
<dt>Author</dt> <dd>thiago.lacerda@openbossa.org</dd>
<dt>Date</dt> <dd>2013-12-13 12:04:40 -0800 (Fri, 13 Dec 2013)</dd>
</dl>

<h3>Log Message</h3>
<pre>Adding RTCPeerConnectionErrorCallback
https://bugs.webkit.org/show_bug.cgi?id=125574

Reviewed by Eric Carlson.

According to the spec there should be a RTCPeerConnectionErrorCallback function type for createOffer/Answer,
setLocal/RemoteDescription and updateIce function calls. This callback must handle a DOMError object.

Source/WebCore:

Existing tests were updated.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::createOffer):
(WebCore::RTCPeerConnection::createAnswer):
(WebCore::RTCPeerConnection::setLocalDescription):
(WebCore::RTCPeerConnection::setRemoteDescription):
(WebCore::RTCPeerConnection::addIceCandidate):
* Modules/mediastream/RTCErrorCallback.h: Removed.
* Modules/mediastream/RTCErrorCallback.idl: Removed.
* Modules/mediastream/RTCPeerConnection.h:
* Modules/mediastream/RTCPeerConnection.idl:
* Modules/mediastream/RTCPeerConnectionErrorCallback.h: Added.
* Modules/mediastream/RTCPeerConnectionErrorCallback.idl: Added.
* Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp:
(WebCore::RTCSessionDescriptionRequestImpl::create):
(WebCore::RTCSessionDescriptionRequestImpl::RTCSessionDescriptionRequestImpl):
(WebCore::RTCSessionDescriptionRequestImpl::requestFailed):
* Modules/mediastream/RTCSessionDescriptionRequestImpl.h:
* Modules/mediastream/RTCVoidRequestImpl.cpp:
(WebCore::RTCVoidRequestImpl::create):
(WebCore::RTCVoidRequestImpl::RTCVoidRequestImpl):
(WebCore::RTCVoidRequestImpl::requestFailed):
* Modules/mediastream/RTCVoidRequestImpl.h:
* WebCore.xcodeproj/project.pbxproj:
* platform/mediastream/RTCPeerConnectionHandler.cpp:
(WebCore::RTCPeerConnectionHandler::incompatibleConstraintsErrorName):
(WebCore::RTCPeerConnectionHandler::invalidSessionDescriptionErrorName):
(WebCore::RTCPeerConnectionHandler::incompatibleSessionDescriptionErrorName):
(WebCore::RTCPeerConnectionHandler::internalErrorName):
* platform/mediastream/RTCPeerConnectionHandler.h:
* platform/mock/RTCNotifiersMock.cpp:
(WebCore::SessionRequestNotifier::SessionRequestNotifier):
(WebCore::SessionRequestNotifier::fire):
(WebCore::VoidRequestNotifier::VoidRequestNotifier):
(WebCore::VoidRequestNotifier::fire):
* platform/mock/RTCNotifiersMock.h:
* platform/mock/RTCPeerConnectionHandlerMock.cpp:
(WebCore::RTCPeerConnectionHandlerMock::createOffer):
(WebCore::RTCPeerConnectionHandlerMock::createAnswer):

LayoutTests:

* fast/mediastream/RTCPeerConnection-createAnswer-expected.txt:
* fast/mediastream/RTCPeerConnection-createAnswer.html:
* fast/mediastream/RTCPeerConnection-createOffer-expected.txt:
* fast/mediastream/RTCPeerConnection-createOffer.html:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsfastmediastreamRTCPeerConnectioncreateAnswerexpectedtxt">trunk/LayoutTests/fast/mediastream/RTCPeerConnection-createAnswer-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastmediastreamRTCPeerConnectioncreateAnswerhtml">trunk/LayoutTests/fast/mediastream/RTCPeerConnection-createAnswer.html</a></li>
<li><a href="#trunkLayoutTestsfastmediastreamRTCPeerConnectioncreateOfferexpectedtxt">trunk/LayoutTests/fast/mediastream/RTCPeerConnection-createOffer-expected.txt</a></li>
<li><a href="#trunkLayoutTestsfastmediastreamRTCPeerConnectioncreateOfferhtml">trunk/LayoutTests/fast/mediastream/RTCPeerConnection-createOffer.html</a></li>
<li><a href="#trunkSourceWebCoreCMakeListstxt">trunk/Source/WebCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreDerivedSourcesmake">trunk/Source/WebCore/DerivedSources.make</a></li>
<li><a href="#trunkSourceWebCoreGNUmakefilelistam">trunk/Source/WebCore/GNUmakefile.list.am</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCPeerConnectioncpp">trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCPeerConnectionh">trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.h</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCPeerConnectionidl">trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCSessionDescriptionRequestImplcpp">trunk/Source/WebCore/Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCSessionDescriptionRequestImplh">trunk/Source/WebCore/Modules/mediastream/RTCSessionDescriptionRequestImpl.h</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCVoidRequestImplcpp">trunk/Source/WebCore/Modules/mediastream/RTCVoidRequestImpl.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCVoidRequestImplh">trunk/Source/WebCore/Modules/mediastream/RTCVoidRequestImpl.h</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCoreplatformmediastreamRTCPeerConnectionHandlercpp">trunk/Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformmediastreamRTCPeerConnectionHandlerh">trunk/Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h</a></li>
<li><a href="#trunkSourceWebCoreplatformmockRTCNotifiersMockcpp">trunk/Source/WebCore/platform/mock/RTCNotifiersMock.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformmockRTCNotifiersMockh">trunk/Source/WebCore/platform/mock/RTCNotifiersMock.h</a></li>
<li><a href="#trunkSourceWebCoreplatformmockRTCPeerConnectionHandlerMockcpp">trunk/Source/WebCore/platform/mock/RTCPeerConnectionHandlerMock.cpp</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCPeerConnectionErrorCallbackh">trunk/Source/WebCore/Modules/mediastream/RTCPeerConnectionErrorCallback.h</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCPeerConnectionErrorCallbackidl">trunk/Source/WebCore/Modules/mediastream/RTCPeerConnectionErrorCallback.idl</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCErrorCallbackh">trunk/Source/WebCore/Modules/mediastream/RTCErrorCallback.h</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamRTCErrorCallbackidl">trunk/Source/WebCore/Modules/mediastream/RTCErrorCallback.idl</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (160552 => 160553)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2013-12-13 19:32:49 UTC (rev 160552)
+++ trunk/LayoutTests/ChangeLog        2013-12-13 20:04:40 UTC (rev 160553)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+2013-12-13  Thiago de Barros Lacerda  &lt;thiago.lacerda@openbossa.org&gt;
+
+        Adding RTCPeerConnectionErrorCallback
+        https://bugs.webkit.org/show_bug.cgi?id=125574
+
+        Reviewed by Eric Carlson.
+
+        According to the spec there should be a RTCPeerConnectionErrorCallback function type for createOffer/Answer,
+        setLocal/RemoteDescription and updateIce function calls. This callback must handle a DOMError object.
+
+        * fast/mediastream/RTCPeerConnection-createAnswer-expected.txt:
+        * fast/mediastream/RTCPeerConnection-createAnswer.html:
+        * fast/mediastream/RTCPeerConnection-createOffer-expected.txt:
+        * fast/mediastream/RTCPeerConnection-createOffer.html:
+
</ins><span class="cx"> 2013-12-13  Alexey Proskuryakov  &lt;ap@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         WebCrypto Key.usages should be ordered alphabetically
</span></span></pre></div>
<a id="trunkLayoutTestsfastmediastreamRTCPeerConnectioncreateAnswerexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/mediastream/RTCPeerConnection-createAnswer-expected.txt (160552 => 160553)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/mediastream/RTCPeerConnection-createAnswer-expected.txt        2013-12-13 19:32:49 UTC (rev 160552)
+++ trunk/LayoutTests/fast/mediastream/RTCPeerConnection-createAnswer-expected.txt        2013-12-13 20:04:40 UTC (rev 160553)
</span><span class="lines">@@ -9,6 +9,7 @@
</span><span class="cx"> PASS setRemoteDescription succeeded.
</span><span class="cx"> PASS pc.createAnswer(requestSucceeded2, requestFailed2, {mandatory:{&quot;succeed&quot;:false}}); did not throw exception.
</span><span class="cx"> PASS createAnswer request failed.
</span><ins>+PASS errorReason.name is &quot;IncompatibleConstraintsError&quot;
</ins><span class="cx"> PASS pc.createAnswer(requestSucceeded3, requestFailed3); did not throw exception.
</span><span class="cx"> PASS createAnswer request succeeded.
</span><span class="cx"> PASS sessionDescription.type is &quot;answer&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsfastmediastreamRTCPeerConnectioncreateAnswerhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/mediastream/RTCPeerConnection-createAnswer.html (160552 => 160553)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/mediastream/RTCPeerConnection-createAnswer.html        2013-12-13 19:32:49 UTC (rev 160552)
+++ trunk/LayoutTests/fast/mediastream/RTCPeerConnection-createAnswer.html        2013-12-13 20:04:40 UTC (rev 160553)
</span><span class="lines">@@ -40,6 +40,9 @@
</span><span class="cx">             {
</span><span class="cx">                 testPassed('createAnswer request failed.');
</span><span class="cx"> 
</span><ins>+                errorReason = reason;
+                shouldBe('errorReason.name', '&quot;IncompatibleConstraintsError&quot;');
+
</ins><span class="cx">                 shouldNotThrow('pc.createAnswer(requestSucceeded3, requestFailed3);');
</span><span class="cx">             }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsfastmediastreamRTCPeerConnectioncreateOfferexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/mediastream/RTCPeerConnection-createOffer-expected.txt (160552 => 160553)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/mediastream/RTCPeerConnection-createOffer-expected.txt        2013-12-13 19:32:49 UTC (rev 160552)
+++ trunk/LayoutTests/fast/mediastream/RTCPeerConnection-createOffer-expected.txt        2013-12-13 20:04:40 UTC (rev 160553)
</span><span class="lines">@@ -8,7 +8,7 @@
</span><span class="cx"> PASS sessionDescription.type is &quot;offer&quot;
</span><span class="cx"> PASS pc.createOffer(requestSucceeded2, requestFailed2, {mandatory:{&quot;succeed&quot;:false}}); did not throw exception.
</span><span class="cx"> PASS createOffer request failed.
</span><del>-PASS errorReason is &quot;TEST_ERROR&quot;
</del><ins>+PASS errorReason.name is &quot;IncompatibleConstraintsError&quot;
</ins><span class="cx"> PASS pc.createOffer(requestSucceeded3, requestFailed1); did not throw exception.
</span><span class="cx"> PASS createOffer request succeeded.
</span><span class="cx"> PASS sessionDescription.type is &quot;offer&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsfastmediastreamRTCPeerConnectioncreateOfferhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/mediastream/RTCPeerConnection-createOffer.html (160552 => 160553)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/mediastream/RTCPeerConnection-createOffer.html        2013-12-13 19:32:49 UTC (rev 160552)
+++ trunk/LayoutTests/fast/mediastream/RTCPeerConnection-createOffer.html        2013-12-13 20:04:40 UTC (rev 160553)
</span><span class="lines">@@ -23,7 +23,7 @@
</span><span class="cx">                 testPassed('createOffer request failed.');
</span><span class="cx"> 
</span><span class="cx">                 errorReason = reason;
</span><del>-                shouldBe('errorReason', '&quot;TEST_ERROR&quot;');
</del><ins>+                shouldBe('errorReason.name', '&quot;IncompatibleConstraintsError&quot;');
</ins><span class="cx"> 
</span><span class="cx">                 shouldNotThrow('pc.createOffer(requestSucceeded3, requestFailed1);');
</span><span class="cx">             }
</span></span></pre></div>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (160552 => 160553)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2013-12-13 19:32:49 UTC (rev 160552)
+++ trunk/Source/WebCore/CMakeLists.txt        2013-12-13 20:04:40 UTC (rev 160553)
</span><span class="lines">@@ -211,7 +211,7 @@
</span><span class="cx">     Modules/mediastream/RTCDTMFToneChangeEvent.idl
</span><span class="cx">     Modules/mediastream/RTCDataChannel.idl
</span><span class="cx">     Modules/mediastream/RTCDataChannelEvent.idl
</span><del>-    Modules/mediastream/RTCErrorCallback.idl
</del><ins>+    Modules/mediastream/RTCPeerConnectionErrorCallback.idl
</ins><span class="cx">     Modules/mediastream/RTCIceCandidate.idl
</span><span class="cx">     Modules/mediastream/RTCIceCandidateEvent.idl
</span><span class="cx">     Modules/mediastream/RTCPeerConnection.idl
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (160552 => 160553)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2013-12-13 19:32:49 UTC (rev 160552)
+++ trunk/Source/WebCore/ChangeLog        2013-12-13 20:04:40 UTC (rev 160553)
</span><span class="lines">@@ -1,3 +1,56 @@
</span><ins>+2013-12-13  Thiago de Barros Lacerda  &lt;thiago.lacerda@openbossa.org&gt;
+
+        Adding RTCPeerConnectionErrorCallback
+        https://bugs.webkit.org/show_bug.cgi?id=125574
+
+        Reviewed by Eric Carlson.
+
+        According to the spec there should be a RTCPeerConnectionErrorCallback function type for createOffer/Answer,
+        setLocal/RemoteDescription and updateIce function calls. This callback must handle a DOMError object.
+
+        Existing tests were updated.
+
+        * CMakeLists.txt:
+        * GNUmakefile.list.am:
+        * Modules/mediastream/RTCPeerConnection.cpp:
+        (WebCore::RTCPeerConnection::createOffer):
+        (WebCore::RTCPeerConnection::createAnswer):
+        (WebCore::RTCPeerConnection::setLocalDescription):
+        (WebCore::RTCPeerConnection::setRemoteDescription):
+        (WebCore::RTCPeerConnection::addIceCandidate):
+        * Modules/mediastream/RTCErrorCallback.h: Removed.
+        * Modules/mediastream/RTCErrorCallback.idl: Removed.
+        * Modules/mediastream/RTCPeerConnection.h:
+        * Modules/mediastream/RTCPeerConnection.idl:
+        * Modules/mediastream/RTCPeerConnectionErrorCallback.h: Added.
+        * Modules/mediastream/RTCPeerConnectionErrorCallback.idl: Added.
+        * Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp:
+        (WebCore::RTCSessionDescriptionRequestImpl::create):
+        (WebCore::RTCSessionDescriptionRequestImpl::RTCSessionDescriptionRequestImpl):
+        (WebCore::RTCSessionDescriptionRequestImpl::requestFailed):
+        * Modules/mediastream/RTCSessionDescriptionRequestImpl.h:
+        * Modules/mediastream/RTCVoidRequestImpl.cpp:
+        (WebCore::RTCVoidRequestImpl::create):
+        (WebCore::RTCVoidRequestImpl::RTCVoidRequestImpl):
+        (WebCore::RTCVoidRequestImpl::requestFailed):
+        * Modules/mediastream/RTCVoidRequestImpl.h:
+        * WebCore.xcodeproj/project.pbxproj:
+        * platform/mediastream/RTCPeerConnectionHandler.cpp:
+        (WebCore::RTCPeerConnectionHandler::incompatibleConstraintsErrorName):
+        (WebCore::RTCPeerConnectionHandler::invalidSessionDescriptionErrorName):
+        (WebCore::RTCPeerConnectionHandler::incompatibleSessionDescriptionErrorName):
+        (WebCore::RTCPeerConnectionHandler::internalErrorName):
+        * platform/mediastream/RTCPeerConnectionHandler.h:
+        * platform/mock/RTCNotifiersMock.cpp:
+        (WebCore::SessionRequestNotifier::SessionRequestNotifier):
+        (WebCore::SessionRequestNotifier::fire):
+        (WebCore::VoidRequestNotifier::VoidRequestNotifier):
+        (WebCore::VoidRequestNotifier::fire):
+        * platform/mock/RTCNotifiersMock.h:
+        * platform/mock/RTCPeerConnectionHandlerMock.cpp:
+        (WebCore::RTCPeerConnectionHandlerMock::createOffer):
+        (WebCore::RTCPeerConnectionHandlerMock::createAnswer):
+
</ins><span class="cx"> 2013-12-13  Brent Fulgham  &lt;bfulgham@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [Win] Switch WebKit solution to Visual Studio 2013
</span></span></pre></div>
<a id="trunkSourceWebCoreDerivedSourcesmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/DerivedSources.make (160552 => 160553)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/DerivedSources.make        2013-12-13 19:32:49 UTC (rev 160552)
+++ trunk/Source/WebCore/DerivedSources.make        2013-12-13 20:04:40 UTC (rev 160553)
</span><span class="lines">@@ -127,10 +127,10 @@
</span><span class="cx">     $(WebCore)/Modules/mediastream/RTCDTMFToneChangeEvent.idl \
</span><span class="cx">     $(WebCore)/Modules/mediastream/RTCDataChannel.idl \
</span><span class="cx">     $(WebCore)/Modules/mediastream/RTCDataChannelEvent.idl \
</span><del>-    $(WebCore)/Modules/mediastream/RTCErrorCallback.idl \
</del><span class="cx">     $(WebCore)/Modules/mediastream/RTCIceCandidate.idl \
</span><span class="cx">     $(WebCore)/Modules/mediastream/RTCIceCandidateEvent.idl \
</span><span class="cx">     $(WebCore)/Modules/mediastream/RTCPeerConnection.idl \
</span><ins>+    $(WebCore)/Modules/mediastream/RTCPeerConnectionErrorCallback.idl \
</ins><span class="cx">     $(WebCore)/Modules/mediastream/RTCSessionDescription.idl \
</span><span class="cx">     $(WebCore)/Modules/mediastream/RTCSessionDescriptionCallback.idl \
</span><span class="cx">     $(WebCore)/Modules/mediastream/RTCStatsCallback.idl \
</span></span></pre></div>
<a id="trunkSourceWebCoreGNUmakefilelistam"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/GNUmakefile.list.am (160552 => 160553)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/GNUmakefile.list.am        2013-12-13 19:32:49 UTC (rev 160552)
+++ trunk/Source/WebCore/GNUmakefile.list.am        2013-12-13 20:04:40 UTC (rev 160553)
</span><span class="lines">@@ -611,8 +611,8 @@
</span><span class="cx">         DerivedSources/WebCore/JSRTCDataChannel.h \
</span><span class="cx">         DerivedSources/WebCore/JSRTCDataChannelEvent.cpp \
</span><span class="cx">         DerivedSources/WebCore/JSRTCDataChannelEvent.h \
</span><del>-        DerivedSources/WebCore/JSRTCErrorCallback.cpp \
-        DerivedSources/WebCore/JSRTCErrorCallback.h \
</del><ins>+        DerivedSources/WebCore/JSRTCPeerConnectionErrorCallback.cpp \
+        DerivedSources/WebCore/JSRTCPeerConnectionErrorCallback.h \
</ins><span class="cx">         DerivedSources/WebCore/JSRTCIceCandidate.cpp \
</span><span class="cx">         DerivedSources/WebCore/JSRTCIceCandidate.h \
</span><span class="cx">         DerivedSources/WebCore/JSRTCIceCandidateEvent.cpp \
</span><span class="lines">@@ -1227,7 +1227,7 @@
</span><span class="cx">         $(WebCore)/Modules/mediastream/RTCDTMFToneChangeEvent.idl \
</span><span class="cx">         $(WebCore)/Modules/mediastream/RTCDataChannel.idl \
</span><span class="cx">         $(WebCore)/Modules/mediastream/RTCDataChannelEvent.idl \
</span><del>-        $(WebCore)/Modules/mediastream/RTCErrorCallback.idl \
</del><ins>+        $(WebCore)/Modules/mediastream/RTCPeerConnectionErrorCallback.idl \
</ins><span class="cx">         $(WebCore)/Modules/mediastream/RTCIceCandidate.idl \
</span><span class="cx">         $(WebCore)/Modules/mediastream/RTCIceCandidateEvent.idl \
</span><span class="cx">         $(WebCore)/Modules/mediastream/RTCPeerConnection.idl \
</span><span class="lines">@@ -1937,7 +1937,7 @@
</span><span class="cx">         Source/WebCore/Modules/mediastream/RTCDataChannel.h \
</span><span class="cx">         Source/WebCore/Modules/mediastream/RTCDataChannelEvent.cpp \
</span><span class="cx">         Source/WebCore/Modules/mediastream/RTCDataChannelEvent.h \
</span><del>-        Source/WebCore/Modules/mediastream/RTCErrorCallback.h \
</del><ins>+        Source/WebCore/Modules/mediastream/RTCPeerConnectionErrorCallback.h \
</ins><span class="cx">         Source/WebCore/Modules/mediastream/RTCIceCandidate.cpp \
</span><span class="cx">         Source/WebCore/Modules/mediastream/RTCIceCandidate.h \
</span><span class="cx">         Source/WebCore/Modules/mediastream/RTCIceCandidateEvent.cpp \
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCErrorCallbackh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/Modules/mediastream/RTCErrorCallback.h (160552 => 160553)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCErrorCallback.h        2013-12-13 19:32:49 UTC (rev 160552)
+++ trunk/Source/WebCore/Modules/mediastream/RTCErrorCallback.h        2013-12-13 20:04:40 UTC (rev 160553)
</span><span class="lines">@@ -1,51 +0,0 @@
</span><del>-/*
- * 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:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer
- *    in the documentation and/or other materials provided with the
- *    distribution.
- * 3. 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 RTCErrorCallback_h
-#define RTCErrorCallback_h
-
-#if ENABLE(MEDIA_STREAM)
-
-#include &lt;wtf/RefCounted.h&gt;
-#include &lt;wtf/text/WTFString.h&gt;
-
-namespace WebCore {
-
-class RTCErrorCallback : public RefCounted&lt;RTCErrorCallback&gt; {
-public:
-    virtual ~RTCErrorCallback() { }
-    virtual bool handleEvent(const String&amp; errorInformation) = 0;
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(MEDIA_STREAM)
-
-#endif // RTCErrorCallback_h
</del></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCErrorCallbackidl"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/Modules/mediastream/RTCErrorCallback.idl (160552 => 160553)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCErrorCallback.idl        2013-12-13 19:32:49 UTC (rev 160552)
+++ trunk/Source/WebCore/Modules/mediastream/RTCErrorCallback.idl        2013-12-13 20:04:40 UTC (rev 160553)
</span><span class="lines">@@ -1,36 +0,0 @@
</span><del>-/*
- * 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:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer
- *    in the documentation and/or other materials provided with the
- *    distribution.
- * 3. 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_STREAM,
-] callback interface RTCErrorCallback {
-    boolean handleEvent(DOMString errorInformation);
-};
-
</del></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCPeerConnectioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp (160552 => 160553)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp        2013-12-13 19:32:49 UTC (rev 160552)
+++ trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp        2013-12-13 20:04:40 UTC (rev 160553)
</span><span class="lines">@@ -49,10 +49,10 @@
</span><span class="cx"> #include &quot;RTCDataChannel.h&quot;
</span><span class="cx"> #include &quot;RTCDataChannelEvent.h&quot;
</span><span class="cx"> #include &quot;RTCDataChannelHandler.h&quot;
</span><del>-#include &quot;RTCErrorCallback.h&quot;
</del><span class="cx"> #include &quot;RTCIceCandidate.h&quot;
</span><span class="cx"> #include &quot;RTCIceCandidateDescriptor.h&quot;
</span><span class="cx"> #include &quot;RTCIceCandidateEvent.h&quot;
</span><ins>+#include &quot;RTCPeerConnectionErrorCallback.h&quot;
</ins><span class="cx"> #include &quot;RTCSessionDescription.h&quot;
</span><span class="cx"> #include &quot;RTCSessionDescriptionCallback.h&quot;
</span><span class="cx"> #include &quot;RTCSessionDescriptionDescriptor.h&quot;
</span><span class="lines">@@ -170,7 +170,7 @@
</span><span class="cx">         (*stream)-&gt;removeObserver(this);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RTCPeerConnection::createOffer(PassRefPtr&lt;RTCSessionDescriptionCallback&gt; successCallback, PassRefPtr&lt;RTCErrorCallback&gt; errorCallback, const Dictionary&amp; mediaConstraints, ExceptionCode&amp; ec)
</del><ins>+void RTCPeerConnection::createOffer(PassRefPtr&lt;RTCSessionDescriptionCallback&gt; successCallback, PassRefPtr&lt;RTCPeerConnectionErrorCallback&gt; errorCallback, const Dictionary&amp; mediaConstraints, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><span class="cx">     if (m_signalingState == SignalingStateClosed) {
</span><span class="cx">         ec = INVALID_STATE_ERR;
</span><span class="lines">@@ -190,7 +190,7 @@
</span><span class="cx">     m_peerHandler-&gt;createOffer(request.release(), constraints);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RTCPeerConnection::createAnswer(PassRefPtr&lt;RTCSessionDescriptionCallback&gt; successCallback, PassRefPtr&lt;RTCErrorCallback&gt; errorCallback, const Dictionary&amp; mediaConstraints, ExceptionCode&amp; ec)
</del><ins>+void RTCPeerConnection::createAnswer(PassRefPtr&lt;RTCSessionDescriptionCallback&gt; successCallback, PassRefPtr&lt;RTCPeerConnectionErrorCallback&gt; errorCallback, const Dictionary&amp; mediaConstraints, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><span class="cx">     if (m_signalingState == SignalingStateClosed) {
</span><span class="cx">         ec = INVALID_STATE_ERR;
</span><span class="lines">@@ -210,7 +210,7 @@
</span><span class="cx">     m_peerHandler-&gt;createAnswer(request.release(), constraints.release());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RTCPeerConnection::setLocalDescription(PassRefPtr&lt;RTCSessionDescription&gt; prpSessionDescription, PassRefPtr&lt;VoidCallback&gt; successCallback, PassRefPtr&lt;RTCErrorCallback&gt; errorCallback, ExceptionCode&amp; ec)
</del><ins>+void RTCPeerConnection::setLocalDescription(PassRefPtr&lt;RTCSessionDescription&gt; prpSessionDescription, PassRefPtr&lt;VoidCallback&gt; successCallback, PassRefPtr&lt;RTCPeerConnectionErrorCallback&gt; errorCallback, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><span class="cx">     if (m_signalingState == SignalingStateClosed) {
</span><span class="cx">         ec = INVALID_STATE_ERR;
</span><span class="lines">@@ -239,7 +239,7 @@
</span><span class="cx">     return sessionDescription.release();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RTCPeerConnection::setRemoteDescription(PassRefPtr&lt;RTCSessionDescription&gt; prpSessionDescription, PassRefPtr&lt;VoidCallback&gt; successCallback, PassRefPtr&lt;RTCErrorCallback&gt; errorCallback, ExceptionCode&amp; ec)
</del><ins>+void RTCPeerConnection::setRemoteDescription(PassRefPtr&lt;RTCSessionDescription&gt; prpSessionDescription, PassRefPtr&lt;VoidCallback&gt; successCallback, PassRefPtr&lt;RTCPeerConnectionErrorCallback&gt; errorCallback, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><span class="cx">     if (m_signalingState == SignalingStateClosed) {
</span><span class="cx">         ec = INVALID_STATE_ERR;
</span><span class="lines">@@ -288,7 +288,7 @@
</span><span class="cx">         ec = SYNTAX_ERR;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RTCPeerConnection::addIceCandidate(RTCIceCandidate* iceCandidate, PassRefPtr&lt;VoidCallback&gt; successCallback, PassRefPtr&lt;RTCErrorCallback&gt; errorCallback, ExceptionCode&amp; ec)
</del><ins>+void RTCPeerConnection::addIceCandidate(RTCIceCandidate* iceCandidate, PassRefPtr&lt;VoidCallback&gt; successCallback, PassRefPtr&lt;RTCPeerConnectionErrorCallback&gt; errorCallback, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><span class="cx">     if (m_signalingState == SignalingStateClosed) {
</span><span class="cx">         ec = INVALID_STATE_ERR;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCPeerConnectionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.h (160552 => 160553)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.h        2013-12-13 19:32:49 UTC (rev 160552)
+++ trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.h        2013-12-13 20:04:40 UTC (rev 160553)
</span><span class="lines">@@ -53,7 +53,7 @@
</span><span class="cx"> class RTCConfiguration;
</span><span class="cx"> class RTCDTMFSender;
</span><span class="cx"> class RTCDataChannel;
</span><del>-class RTCErrorCallback;
</del><ins>+class RTCPeerConnectionErrorCallback;
</ins><span class="cx"> class RTCSessionDescription;
</span><span class="cx"> class RTCSessionDescriptionCallback;
</span><span class="cx"> class RTCStatsCallback;
</span><span class="lines">@@ -64,21 +64,21 @@
</span><span class="cx">     static PassRefPtr&lt;RTCPeerConnection&gt; create(ScriptExecutionContext&amp;, const Dictionary&amp; rtcConfiguration, const Dictionary&amp; mediaConstraints, ExceptionCode&amp;);
</span><span class="cx">     ~RTCPeerConnection();
</span><span class="cx"> 
</span><del>-    void createOffer(PassRefPtr&lt;RTCSessionDescriptionCallback&gt;, PassRefPtr&lt;RTCErrorCallback&gt;, const Dictionary&amp; mediaConstraints, ExceptionCode&amp;);
</del><ins>+    void createOffer(PassRefPtr&lt;RTCSessionDescriptionCallback&gt;, PassRefPtr&lt;RTCPeerConnectionErrorCallback&gt;, const Dictionary&amp; mediaConstraints, ExceptionCode&amp;);
</ins><span class="cx"> 
</span><del>-    void createAnswer(PassRefPtr&lt;RTCSessionDescriptionCallback&gt;, PassRefPtr&lt;RTCErrorCallback&gt;, const Dictionary&amp; mediaConstraints, ExceptionCode&amp;);
</del><ins>+    void createAnswer(PassRefPtr&lt;RTCSessionDescriptionCallback&gt;, PassRefPtr&lt;RTCPeerConnectionErrorCallback&gt;, const Dictionary&amp; mediaConstraints, ExceptionCode&amp;);
</ins><span class="cx"> 
</span><del>-    void setLocalDescription(PassRefPtr&lt;RTCSessionDescription&gt;, PassRefPtr&lt;VoidCallback&gt;, PassRefPtr&lt;RTCErrorCallback&gt;, ExceptionCode&amp;);
</del><ins>+    void setLocalDescription(PassRefPtr&lt;RTCSessionDescription&gt;, PassRefPtr&lt;VoidCallback&gt;, PassRefPtr&lt;RTCPeerConnectionErrorCallback&gt;, ExceptionCode&amp;);
</ins><span class="cx">     PassRefPtr&lt;RTCSessionDescription&gt; localDescription(ExceptionCode&amp;);
</span><span class="cx"> 
</span><del>-    void setRemoteDescription(PassRefPtr&lt;RTCSessionDescription&gt;, PassRefPtr&lt;VoidCallback&gt;, PassRefPtr&lt;RTCErrorCallback&gt;, ExceptionCode&amp;);
</del><ins>+    void setRemoteDescription(PassRefPtr&lt;RTCSessionDescription&gt;, PassRefPtr&lt;VoidCallback&gt;, PassRefPtr&lt;RTCPeerConnectionErrorCallback&gt;, ExceptionCode&amp;);
</ins><span class="cx">     PassRefPtr&lt;RTCSessionDescription&gt; remoteDescription(ExceptionCode&amp;);
</span><span class="cx"> 
</span><span class="cx">     String signalingState() const;
</span><span class="cx"> 
</span><span class="cx">     void updateIce(const Dictionary&amp; rtcConfiguration, const Dictionary&amp; mediaConstraints, ExceptionCode&amp;);
</span><span class="cx"> 
</span><del>-    void addIceCandidate(RTCIceCandidate*, PassRefPtr&lt;VoidCallback&gt;, PassRefPtr&lt;RTCErrorCallback&gt;, ExceptionCode&amp;);
</del><ins>+    void addIceCandidate(RTCIceCandidate*, PassRefPtr&lt;VoidCallback&gt;, PassRefPtr&lt;RTCPeerConnectionErrorCallback&gt;, ExceptionCode&amp;);
</ins><span class="cx"> 
</span><span class="cx">     String iceGatheringState() const;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCPeerConnectionidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl (160552 => 160553)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl        2013-12-13 19:32:49 UTC (rev 160552)
+++ trunk/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl        2013-12-13 20:04:40 UTC (rev 160553)
</span><span class="lines">@@ -39,21 +39,21 @@
</span><span class="cx">     EventTarget,
</span><span class="cx">     InterfaceName=webkitRTCPeerConnection,
</span><span class="cx"> ] interface RTCPeerConnection {
</span><del>-    [RaisesException] void createOffer(RTCSessionDescriptionCallback successCallback, [Default=Undefined] optional RTCErrorCallback failureCallback, optional Dictionary mediaConstraints);
</del><ins>+    [RaisesException] void createOffer(RTCSessionDescriptionCallback successCallback, [Default=Undefined] optional RTCPeerConnectionErrorCallback failureCallback, optional Dictionary mediaConstraints);
</ins><span class="cx"> 
</span><del>-    [RaisesException] void createAnswer(RTCSessionDescriptionCallback successCallback, [Default=Undefined] optional RTCErrorCallback failureCallback, optional Dictionary mediaConstraints);
</del><ins>+    [RaisesException] void createAnswer(RTCSessionDescriptionCallback successCallback, [Default=Undefined] optional RTCPeerConnectionErrorCallback failureCallback, optional Dictionary mediaConstraints);
</ins><span class="cx"> 
</span><del>-    [RaisesException] void setLocalDescription(RTCSessionDescription description, [Default=Undefined] optional VoidCallback successCallback, [Default=Undefined] optional RTCErrorCallback failureCallback);
</del><ins>+    [RaisesException] void setLocalDescription(RTCSessionDescription description, [Default=Undefined] optional VoidCallback successCallback, [Default=Undefined] optional RTCPeerConnectionErrorCallback failureCallback);
</ins><span class="cx">     [GetterRaisesException] readonly attribute RTCSessionDescription localDescription;
</span><span class="cx"> 
</span><del>-    [RaisesException] void setRemoteDescription(RTCSessionDescription description, [Default=Undefined] optional VoidCallback successCallback, [Default=Undefined] optional RTCErrorCallback failureCallback);
</del><ins>+    [RaisesException] void setRemoteDescription(RTCSessionDescription description, [Default=Undefined] optional VoidCallback successCallback, [Default=Undefined] optional RTCPeerConnectionErrorCallback failureCallback);
</ins><span class="cx">     [GetterRaisesException] readonly attribute RTCSessionDescription remoteDescription;
</span><span class="cx"> 
</span><span class="cx">     readonly attribute DOMString signalingState;
</span><span class="cx"> 
</span><span class="cx">     [RaisesException] void updateIce(optional Dictionary configuration, optional Dictionary mediaConstraints);
</span><span class="cx"> 
</span><del>-    [RaisesException] void addIceCandidate(RTCIceCandidate candidate, VoidCallback successCallback, RTCErrorCallback failureCallback);
</del><ins>+    [RaisesException] void addIceCandidate(RTCIceCandidate candidate, VoidCallback successCallback, RTCPeerConnectionErrorCallback failureCallback);
</ins><span class="cx"> 
</span><span class="cx">     readonly attribute DOMString iceGatheringState;
</span><span class="cx">     readonly attribute DOMString iceConnectionState;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCPeerConnectionErrorCallbackhfromrev160552trunkSourceWebCoreModulesmediastreamRTCErrorCallbackh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/mediastream/RTCPeerConnectionErrorCallback.h (from rev 160552, trunk/Source/WebCore/Modules/mediastream/RTCErrorCallback.h) (0 => 160553)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCPeerConnectionErrorCallback.h                                (rev 0)
+++ trunk/Source/WebCore/Modules/mediastream/RTCPeerConnectionErrorCallback.h        2013-12-13 20:04:40 UTC (rev 160553)
</span><span class="lines">@@ -0,0 +1,46 @@
</span><ins>+/*
+ * Copyright (C) 2013 Nokia Corporation and/or its subsidiary(-ies).
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY 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 RTCPeerConnectionErrorCallback_h
+#define RTCPeerConnectionErrorCallback_h
+
+#if ENABLE(MEDIA_STREAM)
+
+#include &quot;DOMError.h&quot;
+#include &lt;wtf/RefCounted.h&gt;
+
+namespace WebCore {
+
+class RTCPeerConnectionErrorCallback : public RefCounted&lt;RTCPeerConnectionErrorCallback&gt; {
+public:
+    virtual ~RTCPeerConnectionErrorCallback() { }
+    virtual bool handleEvent(DOMError*) = 0;
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(MEDIA_STREAM)
+
+#endif // RTCPeerConnectionErrorCallback_h
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCPeerConnectionErrorCallbackidlfromrev160552trunkSourceWebCoreModulesmediastreamRTCErrorCallbackidl"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/Modules/mediastream/RTCPeerConnectionErrorCallback.idl (from rev 160552, trunk/Source/WebCore/Modules/mediastream/RTCErrorCallback.idl) (0 => 160553)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCPeerConnectionErrorCallback.idl                                (rev 0)
+++ trunk/Source/WebCore/Modules/mediastream/RTCPeerConnectionErrorCallback.idl        2013-12-13 20:04:40 UTC (rev 160553)
</span><span class="lines">@@ -0,0 +1,31 @@
</span><ins>+/*
+ * Copyright (C) 2013 Nokia Corporation and/or its subsidiary(-ies).
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY 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_STREAM,
+] callback interface RTCPeerConnectionErrorCallback {
+    boolean handleEvent(DOMError error);
+};
+
</ins></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCSessionDescriptionRequestImplcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp (160552 => 160553)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp        2013-12-13 19:32:49 UTC (rev 160552)
+++ trunk/Source/WebCore/Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp        2013-12-13 20:04:40 UTC (rev 160553)
</span><span class="lines">@@ -1,5 +1,6 @@
</span><span class="cx"> /*
</span><span class="cx">  * Copyright (C) 2012 Google Inc. All rights reserved.
</span><ins>+ * Copyright (C) 2013 Nokia Corporation and/or its subsidiary(-ies).
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -34,22 +35,22 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;RTCSessionDescriptionRequestImpl.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;RTCErrorCallback.h&quot;
</del><span class="cx"> #include &quot;RTCPeerConnection.h&quot;
</span><ins>+#include &quot;RTCPeerConnectionErrorCallback.h&quot;
</ins><span class="cx"> #include &quot;RTCSessionDescription.h&quot;
</span><span class="cx"> #include &quot;RTCSessionDescriptionCallback.h&quot;
</span><span class="cx"> #include &quot;RTCSessionDescriptionDescriptor.h&quot;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;RTCSessionDescriptionRequestImpl&gt; RTCSessionDescriptionRequestImpl::create(ScriptExecutionContext* context, PassRefPtr&lt;RTCSessionDescriptionCallback&gt; successCallback, PassRefPtr&lt;RTCErrorCallback&gt; errorCallback)
</del><ins>+PassRefPtr&lt;RTCSessionDescriptionRequestImpl&gt; RTCSessionDescriptionRequestImpl::create(ScriptExecutionContext* context, PassRefPtr&lt;RTCSessionDescriptionCallback&gt; successCallback, PassRefPtr&lt;RTCPeerConnectionErrorCallback&gt; errorCallback)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;RTCSessionDescriptionRequestImpl&gt; request = adoptRef(new RTCSessionDescriptionRequestImpl(context, successCallback, errorCallback));
</span><span class="cx">     request-&gt;suspendIfNeeded();
</span><span class="cx">     return request.release();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RTCSessionDescriptionRequestImpl::RTCSessionDescriptionRequestImpl(ScriptExecutionContext* context, PassRefPtr&lt;RTCSessionDescriptionCallback&gt; successCallback, PassRefPtr&lt;RTCErrorCallback&gt; errorCallback)
</del><ins>+RTCSessionDescriptionRequestImpl::RTCSessionDescriptionRequestImpl(ScriptExecutionContext* context, PassRefPtr&lt;RTCSessionDescriptionCallback&gt; successCallback, PassRefPtr&lt;RTCPeerConnectionErrorCallback&gt; errorCallback)
</ins><span class="cx">     : ActiveDOMObject(context)
</span><span class="cx">     , m_successCallback(successCallback)
</span><span class="cx">     , m_errorCallback(errorCallback)
</span><span class="lines">@@ -73,7 +74,7 @@
</span><span class="cx"> void RTCSessionDescriptionRequestImpl::requestFailed(const String&amp; error)
</span><span class="cx"> {
</span><span class="cx">     if (m_errorCallback)
</span><del>-        m_errorCallback-&gt;handleEvent(error);
</del><ins>+        m_errorCallback-&gt;handleEvent(DOMError::create(error).get());
</ins><span class="cx"> 
</span><span class="cx">     clear();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCSessionDescriptionRequestImplh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/RTCSessionDescriptionRequestImpl.h (160552 => 160553)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCSessionDescriptionRequestImpl.h        2013-12-13 19:32:49 UTC (rev 160552)
+++ trunk/Source/WebCore/Modules/mediastream/RTCSessionDescriptionRequestImpl.h        2013-12-13 20:04:40 UTC (rev 160553)
</span><span class="lines">@@ -1,5 +1,6 @@
</span><span class="cx"> /*
</span><span class="cx">  * Copyright (C) 2012 Google Inc. All rights reserved.
</span><ins>+ * Copyright (C) 2013 Nokia Corporation and/or its subsidiary(-ies).
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -38,13 +39,13 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class RTCErrorCallback;
</del><ins>+class RTCPeerConnectionErrorCallback;
</ins><span class="cx"> class RTCPeerConnection;
</span><span class="cx"> class RTCSessionDescriptionCallback;
</span><span class="cx"> 
</span><span class="cx"> class RTCSessionDescriptionRequestImpl : public RTCSessionDescriptionRequest, public ActiveDOMObject {
</span><span class="cx"> public:
</span><del>-    static PassRefPtr&lt;RTCSessionDescriptionRequestImpl&gt; create(ScriptExecutionContext*, PassRefPtr&lt;RTCSessionDescriptionCallback&gt;, PassRefPtr&lt;RTCErrorCallback&gt;);
</del><ins>+    static PassRefPtr&lt;RTCSessionDescriptionRequestImpl&gt; create(ScriptExecutionContext*, PassRefPtr&lt;RTCSessionDescriptionCallback&gt;, PassRefPtr&lt;RTCPeerConnectionErrorCallback&gt;);
</ins><span class="cx">     virtual ~RTCSessionDescriptionRequestImpl();
</span><span class="cx"> 
</span><span class="cx">     virtual void requestSucceeded(PassRefPtr&lt;RTCSessionDescriptionDescriptor&gt;) OVERRIDE;
</span><span class="lines">@@ -54,12 +55,12 @@
</span><span class="cx">     virtual void stop() OVERRIDE;
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    RTCSessionDescriptionRequestImpl(ScriptExecutionContext*, PassRefPtr&lt;RTCSessionDescriptionCallback&gt;, PassRefPtr&lt;RTCErrorCallback&gt;);
</del><ins>+    RTCSessionDescriptionRequestImpl(ScriptExecutionContext*, PassRefPtr&lt;RTCSessionDescriptionCallback&gt;, PassRefPtr&lt;RTCPeerConnectionErrorCallback&gt;);
</ins><span class="cx"> 
</span><span class="cx">     void clear();
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;RTCSessionDescriptionCallback&gt; m_successCallback;
</span><del>-    RefPtr&lt;RTCErrorCallback&gt; m_errorCallback;
</del><ins>+    RefPtr&lt;RTCPeerConnectionErrorCallback&gt; m_errorCallback;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCVoidRequestImplcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/RTCVoidRequestImpl.cpp (160552 => 160553)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCVoidRequestImpl.cpp        2013-12-13 19:32:49 UTC (rev 160552)
+++ trunk/Source/WebCore/Modules/mediastream/RTCVoidRequestImpl.cpp        2013-12-13 20:04:40 UTC (rev 160553)
</span><span class="lines">@@ -1,5 +1,6 @@
</span><span class="cx"> /*
</span><span class="cx">  * Copyright (C) 2012 Google Inc. All rights reserved.
</span><ins>+ * Copyright (C) 2013 Nokia Corporation and/or its subsidiary(-ies).
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -34,20 +35,21 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;RTCVoidRequestImpl.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;RTCErrorCallback.h&quot;
</del><ins>+#include &quot;DOMError.h&quot;
</ins><span class="cx"> #include &quot;RTCPeerConnection.h&quot;
</span><ins>+#include &quot;RTCPeerConnectionErrorCallback.h&quot;
</ins><span class="cx"> #include &quot;VoidCallback.h&quot;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;RTCVoidRequestImpl&gt; RTCVoidRequestImpl::create(ScriptExecutionContext* context, PassRefPtr&lt;VoidCallback&gt; successCallback, PassRefPtr&lt;RTCErrorCallback&gt; errorCallback)
</del><ins>+PassRefPtr&lt;RTCVoidRequestImpl&gt; RTCVoidRequestImpl::create(ScriptExecutionContext* context, PassRefPtr&lt;VoidCallback&gt; successCallback, PassRefPtr&lt;RTCPeerConnectionErrorCallback&gt; errorCallback)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;RTCVoidRequestImpl&gt; request = adoptRef(new RTCVoidRequestImpl(context, successCallback, errorCallback));
</span><span class="cx">     request-&gt;suspendIfNeeded();
</span><span class="cx">     return request.release();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RTCVoidRequestImpl::RTCVoidRequestImpl(ScriptExecutionContext* context, PassRefPtr&lt;VoidCallback&gt; successCallback, PassRefPtr&lt;RTCErrorCallback&gt; errorCallback)
</del><ins>+RTCVoidRequestImpl::RTCVoidRequestImpl(ScriptExecutionContext* context, PassRefPtr&lt;VoidCallback&gt; successCallback, PassRefPtr&lt;RTCPeerConnectionErrorCallback&gt; errorCallback)
</ins><span class="cx">     : ActiveDOMObject(context)
</span><span class="cx">     , m_successCallback(successCallback)
</span><span class="cx">     , m_errorCallback(errorCallback)
</span><span class="lines">@@ -69,7 +71,7 @@
</span><span class="cx"> void RTCVoidRequestImpl::requestFailed(const String&amp; error)
</span><span class="cx"> {
</span><span class="cx">     if (m_errorCallback.get())
</span><del>-        m_errorCallback-&gt;handleEvent(error);
</del><ins>+        m_errorCallback-&gt;handleEvent(DOMError::create(error).get());
</ins><span class="cx"> 
</span><span class="cx">     clear();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamRTCVoidRequestImplh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/RTCVoidRequestImpl.h (160552 => 160553)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/RTCVoidRequestImpl.h        2013-12-13 19:32:49 UTC (rev 160552)
+++ trunk/Source/WebCore/Modules/mediastream/RTCVoidRequestImpl.h        2013-12-13 20:04:40 UTC (rev 160553)
</span><span class="lines">@@ -1,5 +1,6 @@
</span><span class="cx"> /*
</span><span class="cx">  * Copyright (C) 2012 Google Inc. All rights reserved.
</span><ins>+ * Copyright (C) 2013 Nokia Corporation and/or its subsidiary(-ies).
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -38,12 +39,12 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class RTCErrorCallback;
</del><ins>+class RTCPeerConnectionErrorCallback;
</ins><span class="cx"> class VoidCallback;
</span><span class="cx"> 
</span><span class="cx"> class RTCVoidRequestImpl : public RTCVoidRequest, public ActiveDOMObject {
</span><span class="cx"> public:
</span><del>-    static PassRefPtr&lt;RTCVoidRequestImpl&gt; create(ScriptExecutionContext*, PassRefPtr&lt;VoidCallback&gt;, PassRefPtr&lt;RTCErrorCallback&gt;);
</del><ins>+    static PassRefPtr&lt;RTCVoidRequestImpl&gt; create(ScriptExecutionContext*, PassRefPtr&lt;VoidCallback&gt;, PassRefPtr&lt;RTCPeerConnectionErrorCallback&gt;);
</ins><span class="cx">     virtual ~RTCVoidRequestImpl();
</span><span class="cx"> 
</span><span class="cx">     virtual void requestSucceeded();
</span><span class="lines">@@ -53,12 +54,12 @@
</span><span class="cx">     virtual void stop() OVERRIDE;
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    RTCVoidRequestImpl(ScriptExecutionContext*, PassRefPtr&lt;VoidCallback&gt;, PassRefPtr&lt;RTCErrorCallback&gt;);
</del><ins>+    RTCVoidRequestImpl(ScriptExecutionContext*, PassRefPtr&lt;VoidCallback&gt;, PassRefPtr&lt;RTCPeerConnectionErrorCallback&gt;);
</ins><span class="cx"> 
</span><span class="cx">     void clear();
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;VoidCallback&gt; m_successCallback;
</span><del>-    RefPtr&lt;RTCErrorCallback&gt; m_errorCallback;
</del><ins>+    RefPtr&lt;RTCPeerConnectionErrorCallback&gt; m_errorCallback;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (160552 => 160553)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2013-12-13 19:32:49 UTC (rev 160552)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2013-12-13 20:04:40 UTC (rev 160553)
</span><span class="lines">@@ -228,7 +228,6 @@
</span><span class="cx">                 078E091F17D14D1C00420AA1 /* RTCDataChannelEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 07221B6717CEC32700848E51 /* RTCDataChannelEvent.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 078E092017D14D1C00420AA1 /* RTCDTMFSender.h in Headers */ = {isa = PBXBuildFile; fileRef = 07221B6A17CEC32700848E51 /* RTCDTMFSender.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 078E092117D14D1C00420AA1 /* RTCDTMFToneChangeEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 07221B6D17CEC32700848E51 /* RTCDTMFToneChangeEvent.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                078E092217D14D1C00420AA1 /* RTCErrorCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = 07221B6F17CEC32700848E51 /* RTCErrorCallback.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><span class="cx">                 078E092317D14D1C00420AA1 /* RTCIceCandidate.h in Headers */ = {isa = PBXBuildFile; fileRef = 07221B7217CEC32700848E51 /* RTCIceCandidate.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 078E092417D14D1C00420AA1 /* RTCIceCandidateEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 07221B7517CEC32700848E51 /* RTCIceCandidateEvent.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 078E092517D14D1C00420AA1 /* RTCPeerConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 07221B7817CEC32700848E51 /* RTCPeerConnection.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -278,8 +277,8 @@
</span><span class="cx">                 07969DB017D14151007FF842 /* JSRTCDTMFSender.h in Headers */ = {isa = PBXBuildFile; fileRef = 07969D9617D14151007FF842 /* JSRTCDTMFSender.h */; };
</span><span class="cx">                 07969DB117D14151007FF842 /* JSRTCDTMFToneChangeEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07969D9717D14151007FF842 /* JSRTCDTMFToneChangeEvent.cpp */; };
</span><span class="cx">                 07969DB217D14151007FF842 /* JSRTCDTMFToneChangeEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 07969D9817D14151007FF842 /* JSRTCDTMFToneChangeEvent.h */; };
</span><del>-                07969DB317D14151007FF842 /* JSRTCErrorCallback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07969D9917D14151007FF842 /* JSRTCErrorCallback.cpp */; };
-                07969DB417D14151007FF842 /* JSRTCErrorCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = 07969D9A17D14151007FF842 /* JSRTCErrorCallback.h */; };
</del><ins>+                07969DB317D14151007FF842 /* JSRTCPeerConnectionErrorCallback.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07969D9917D14151007FF842 /* JSRTCPeerConnectionErrorCallback.cpp */; };
+                07969DB417D14151007FF842 /* JSRTCPeerConnectionErrorCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = 07969D9A17D14151007FF842 /* JSRTCPeerConnectionErrorCallback.h */; };
</ins><span class="cx">                 07969DB517D14151007FF842 /* JSRTCIceCandidate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07969D9B17D14151007FF842 /* JSRTCIceCandidate.cpp */; };
</span><span class="cx">                 07969DB617D14151007FF842 /* JSRTCIceCandidate.h in Headers */ = {isa = PBXBuildFile; fileRef = 07969D9C17D14151007FF842 /* JSRTCIceCandidate.h */; };
</span><span class="cx">                 07969DB717D14151007FF842 /* JSRTCIceCandidateEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07969D9D17D14151007FF842 /* JSRTCIceCandidateEvent.cpp */; };
</span><span class="lines">@@ -6729,8 +6728,6 @@
</span><span class="cx">                 07221B6C17CEC32700848E51 /* RTCDTMFToneChangeEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RTCDTMFToneChangeEvent.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 07221B6D17CEC32700848E51 /* RTCDTMFToneChangeEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RTCDTMFToneChangeEvent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 07221B6E17CEC32700848E51 /* RTCDTMFToneChangeEvent.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = RTCDTMFToneChangeEvent.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                07221B6F17CEC32700848E51 /* RTCErrorCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RTCErrorCallback.h; sourceTree = &quot;&lt;group&gt;&quot;; };
-                07221B7017CEC32700848E51 /* RTCErrorCallback.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = RTCErrorCallback.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 07221B7117CEC32700848E51 /* RTCIceCandidate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RTCIceCandidate.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 07221B7217CEC32700848E51 /* RTCIceCandidate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RTCIceCandidate.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 07221B7317CEC32700848E51 /* RTCIceCandidate.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = RTCIceCandidate.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -6864,8 +6861,8 @@
</span><span class="cx">                 07969D9617D14151007FF842 /* JSRTCDTMFSender.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSRTCDTMFSender.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 07969D9717D14151007FF842 /* JSRTCDTMFToneChangeEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSRTCDTMFToneChangeEvent.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 07969D9817D14151007FF842 /* JSRTCDTMFToneChangeEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSRTCDTMFToneChangeEvent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                07969D9917D14151007FF842 /* JSRTCErrorCallback.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSRTCErrorCallback.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
-                07969D9A17D14151007FF842 /* JSRTCErrorCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSRTCErrorCallback.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><ins>+                07969D9917D14151007FF842 /* JSRTCPeerConnectionErrorCallback.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSRTCPeerConnectionErrorCallback.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                07969D9A17D14151007FF842 /* JSRTCPeerConnectionErrorCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSRTCPeerConnectionErrorCallback.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 07969D9B17D14151007FF842 /* JSRTCIceCandidate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSRTCIceCandidate.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 07969D9C17D14151007FF842 /* JSRTCIceCandidate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSRTCIceCandidate.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 07969D9D17D14151007FF842 /* JSRTCIceCandidateEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSRTCIceCandidateEvent.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -8311,6 +8308,8 @@
</span><span class="cx">                 4A6E9FC513C17D570046A7F8 /* FontFeatureSettings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FontFeatureSettings.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 4A6E9FC613C17D570046A7F8 /* FontFeatureSettings.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = FontFeatureSettings.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 4A8C96EA0BE69032004EEFF0 /* FrameSelectionMac.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; name = FrameSelectionMac.mm; path = mac/FrameSelectionMac.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                4A9755351858ED9B00BD6D15 /* RTCPeerConnectionErrorCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RTCPeerConnectionErrorCallback.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                4A9755361858ED9B00BD6D15 /* RTCPeerConnectionErrorCallback.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = RTCPeerConnectionErrorCallback.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 4A9CC81516BB9AC600EC645A /* CSSDefaultStyleSheets.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CSSDefaultStyleSheets.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 4A9CC81616BB9AC600EC645A /* CSSDefaultStyleSheets.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CSSDefaultStyleSheets.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 4A9CC81E16BF9BB400EC645A /* InspectorCSSOMWrappers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorCSSOMWrappers.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -13668,6 +13667,8 @@
</span><span class="cx">                 07221B4617CEC32700848E51 /* mediastream */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><ins>+                                4A9755351858ED9B00BD6D15 /* RTCPeerConnectionErrorCallback.h */,
+                                4A9755361858ED9B00BD6D15 /* RTCPeerConnectionErrorCallback.idl */,
</ins><span class="cx">                                 0779BF0A18453168000B6AE7 /* HTMLMediaElementMediaStream.cpp */,
</span><span class="cx">                                 0779BF0B18453168000B6AE7 /* HTMLMediaElementMediaStream.h */,
</span><span class="cx">                                 0779BF0C18453168000B6AE7 /* HTMLMediaElementMediaStream.idl */,
</span><span class="lines">@@ -13741,8 +13742,6 @@
</span><span class="cx">                                 07221B6C17CEC32700848E51 /* RTCDTMFToneChangeEvent.cpp */,
</span><span class="cx">                                 07221B6D17CEC32700848E51 /* RTCDTMFToneChangeEvent.h */,
</span><span class="cx">                                 07221B6E17CEC32700848E51 /* RTCDTMFToneChangeEvent.idl */,
</span><del>-                                07221B6F17CEC32700848E51 /* RTCErrorCallback.h */,
-                                07221B7017CEC32700848E51 /* RTCErrorCallback.idl */,
</del><span class="cx">                                 07221B7117CEC32700848E51 /* RTCIceCandidate.cpp */,
</span><span class="cx">                                 07221B7217CEC32700848E51 /* RTCIceCandidate.h */,
</span><span class="cx">                                 07221B7317CEC32700848E51 /* RTCIceCandidate.idl */,
</span><span class="lines">@@ -13911,8 +13910,8 @@
</span><span class="cx">                                 07969D9617D14151007FF842 /* JSRTCDTMFSender.h */,
</span><span class="cx">                                 07969D9717D14151007FF842 /* JSRTCDTMFToneChangeEvent.cpp */,
</span><span class="cx">                                 07969D9817D14151007FF842 /* JSRTCDTMFToneChangeEvent.h */,
</span><del>-                                07969D9917D14151007FF842 /* JSRTCErrorCallback.cpp */,
-                                07969D9A17D14151007FF842 /* JSRTCErrorCallback.h */,
</del><ins>+                                07969D9917D14151007FF842 /* JSRTCPeerConnectionErrorCallback.cpp */,
+                                07969D9A17D14151007FF842 /* JSRTCPeerConnectionErrorCallback.h */,
</ins><span class="cx">                                 07969D9B17D14151007FF842 /* JSRTCIceCandidate.cpp */,
</span><span class="cx">                                 07969D9C17D14151007FF842 /* JSRTCIceCandidate.h */,
</span><span class="cx">                                 07969D9D17D14151007FF842 /* JSRTCIceCandidateEvent.cpp */,
</span><span class="lines">@@ -23263,7 +23262,7 @@
</span><span class="cx">                                 A8EA7CAF0A192B9C00A8EF5F /* HTMLHRElement.h in Headers */,
</span><span class="cx">                                 A871DE270A152AC800B12A68 /* HTMLHtmlElement.h in Headers */,
</span><span class="cx">                                 A89570A016E9BD5900184E55 /* HTMLIdentifier.h in Headers */,
</span><del>-                                07969DB417D14151007FF842 /* JSRTCErrorCallback.h in Headers */,
</del><ins>+                                07969DB417D14151007FF842 /* JSRTCPeerConnectionErrorCallback.h in Headers */,
</ins><span class="cx">                                 A871DE2A0A152AC800B12A68 /* HTMLIFrameElement.h in Headers */,
</span><span class="cx">                                 A8EA7D2D0A19385500A8EF5F /* HTMLImageElement.h in Headers */,
</span><span class="cx">                                 A8EA7D2B0A19385500A8EF5F /* HTMLImageLoader.h in Headers */,
</span><span class="lines">@@ -23853,7 +23852,6 @@
</span><span class="cx">                                 B2FA3D930AB75A6F000E5AC4 /* JSSVGFETileElement.h in Headers */,
</span><span class="cx">                                 B2FA3D950AB75A6F000E5AC4 /* JSSVGFETurbulenceElement.h in Headers */,
</span><span class="cx">                                 B2FA3D970AB75A6F000E5AC4 /* JSSVGFilterElement.h in Headers */,
</span><del>-                                078E092217D14D1C00420AA1 /* RTCErrorCallback.h in Headers */,
</del><span class="cx">                                 B27B28260CEF0C0700D39D54 /* JSSVGFontElement.h in Headers */,
</span><span class="cx">                                 A83B79050CCAFF15000B0825 /* JSSVGFontFaceElement.h in Headers */,
</span><span class="cx">                                 A83B79000CCAFF15000B0825 /* JSSVGFontFaceFormatElement.h in Headers */,
</span><span class="lines">@@ -26876,7 +26874,7 @@
</span><span class="cx">                                 898785F4122E1EAC003AABDA /* JSFileReaderSync.cpp in Sources */,
</span><span class="cx">                                 B6D9D27C14EAC0860090D75E /* JSFocusEvent.cpp in Sources */,
</span><span class="cx">                                 FDA15EAB12B03EE1003A583A /* JSGainNode.cpp in Sources */,
</span><del>-                                07969DB317D14151007FF842 /* JSRTCErrorCallback.cpp in Sources */,
</del><ins>+                                07969DB317D14151007FF842 /* JSRTCPeerConnectionErrorCallback.cpp in Sources */,
</ins><span class="cx">                                 FE80DA630E9C4703000D6F75 /* JSGeolocation.cpp in Sources */,
</span><span class="cx">                                 FE80D7AB0E9C1ED2000D6F75 /* JSGeolocationCustom.cpp in Sources */,
</span><span class="cx">                                 FE80DA650E9C4703000D6F75 /* JSGeoposition.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmediastreamRTCPeerConnectionHandlercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.cpp (160552 => 160553)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.cpp        2013-12-13 19:32:49 UTC (rev 160552)
+++ trunk/Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.cpp        2013-12-13 20:04:40 UTC (rev 160553)
</span><span class="lines">@@ -1,5 +1,6 @@
</span><span class="cx"> /*
</span><span class="cx">  * Copyright (C) 2012 Google Inc. All rights reserved.
</span><ins>+ * Copyright (C) 2013 Nokia Corporation and/or its subsidiary(-ies).
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions are
</span><span class="lines">@@ -34,6 +35,8 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;RTCPeerConnectionHandler.h&quot;
</span><span class="cx"> 
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
+
</ins><span class="cx"> namespace WebCore {
</span><span class="cx"> class RTCPeerConnectionHandlerClient;
</span><span class="cx"> 
</span><span class="lines">@@ -44,6 +47,30 @@
</span><span class="cx"> 
</span><span class="cx"> CreatePeerConnectionHandler RTCPeerConnectionHandler::create = createHandler;
</span><span class="cx"> 
</span><ins>+const AtomicString&amp; RTCPeerConnectionHandler::incompatibleConstraintsErrorName()
+{
+    static NeverDestroyed&lt;AtomicString&gt; incompatibleConstraints(&quot;IncompatibleConstraintsError&quot;, AtomicString::ConstructFromLiteral);
+    return incompatibleConstraints;
+}
+
+const AtomicString&amp; RTCPeerConnectionHandler::invalidSessionDescriptionErrorName()
+{
+    static NeverDestroyed&lt;AtomicString&gt; invalidSessionDescription(&quot;InvalidSessionDescriptionError&quot;, AtomicString::ConstructFromLiteral);
+    return invalidSessionDescription;
+}
+
+const AtomicString&amp; RTCPeerConnectionHandler::incompatibleSessionDescriptionErrorName()
+{
+    static NeverDestroyed&lt;AtomicString&gt; incompatibleSessionDescription(&quot;IncompatibleSessionDescriptionError&quot;, AtomicString::ConstructFromLiteral);
+    return incompatibleSessionDescription;
+}
+
+const AtomicString&amp; RTCPeerConnectionHandler::internalErrorName()
+{
+    static NeverDestroyed&lt;AtomicString&gt; internal(&quot;InternalError&quot;, AtomicString::ConstructFromLiteral);
+    return internal;
+}
+
</ins><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> #endif // ENABLE(MEDIA_STREAM)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmediastreamRTCPeerConnectionHandlerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h (160552 => 160553)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h        2013-12-13 19:32:49 UTC (rev 160552)
+++ trunk/Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h        2013-12-13 20:04:40 UTC (rev 160553)
</span><span class="lines">@@ -1,5 +1,6 @@
</span><span class="cx"> /*
</span><span class="cx">  * Copyright (C) 2012 Google Inc. All rights reserved.
</span><ins>+ * Copyright (C) 2013 Nokia Corporation and/or its subsidiary(-ies).
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions
</span><span class="lines">@@ -74,6 +75,11 @@
</span><span class="cx">     static CreatePeerConnectionHandler create;
</span><span class="cx">     virtual ~RTCPeerConnectionHandler() { }
</span><span class="cx"> 
</span><ins>+    static const AtomicString&amp; incompatibleConstraintsErrorName();
+    static const AtomicString&amp; invalidSessionDescriptionErrorName();
+    static const AtomicString&amp; incompatibleSessionDescriptionErrorName();
+    static const AtomicString&amp; internalErrorName();
+
</ins><span class="cx">     virtual bool initialize(PassRefPtr&lt;RTCConfiguration&gt;, PassRefPtr&lt;MediaConstraints&gt;) = 0;
</span><span class="cx"> 
</span><span class="cx">     virtual void createOffer(PassRefPtr&lt;RTCSessionDescriptionRequest&gt;, PassRefPtr&lt;MediaConstraints&gt;) = 0;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmockRTCNotifiersMockcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mock/RTCNotifiersMock.cpp (160552 => 160553)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mock/RTCNotifiersMock.cpp        2013-12-13 19:32:49 UTC (rev 160552)
+++ trunk/Source/WebCore/platform/mock/RTCNotifiersMock.cpp        2013-12-13 20:04:40 UTC (rev 160553)
</span><span class="lines">@@ -29,6 +29,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;RTCNotifiersMock.h&quot;
</span><span class="cx"> 
</span><ins>+#include &quot;DOMError.h&quot;
</ins><span class="cx"> #include &quot;RTCDataChannelHandlerMock.h&quot;
</span><span class="cx"> #include &quot;RTCSessionDescriptionDescriptor.h&quot;
</span><span class="cx"> #include &quot;RTCSessionDescriptionRequest.h&quot;
</span><span class="lines">@@ -36,9 +37,10 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-SessionRequestNotifier::SessionRequestNotifier(PassRefPtr&lt;RTCSessionDescriptionRequest&gt; request, PassRefPtr&lt;RTCSessionDescriptionDescriptor&gt; descriptor)
</del><ins>+SessionRequestNotifier::SessionRequestNotifier(PassRefPtr&lt;RTCSessionDescriptionRequest&gt; request, PassRefPtr&lt;RTCSessionDescriptionDescriptor&gt; descriptor, const String&amp; errorName)
</ins><span class="cx">     : m_request(request)
</span><span class="cx">     , m_descriptor(descriptor)
</span><ins>+    , m_errorName(errorName)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -47,12 +49,13 @@
</span><span class="cx">     if (m_descriptor)
</span><span class="cx">         m_request-&gt;requestSucceeded(m_descriptor);
</span><span class="cx">     else
</span><del>-        m_request-&gt;requestFailed(&quot;TEST_ERROR&quot;);
</del><ins>+        m_request-&gt;requestFailed(m_errorName);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-VoidRequestNotifier::VoidRequestNotifier(PassRefPtr&lt;RTCVoidRequest&gt; request, bool success)
</del><ins>+VoidRequestNotifier::VoidRequestNotifier(PassRefPtr&lt;RTCVoidRequest&gt; request, bool success, const String&amp; errorName)
</ins><span class="cx">     : m_request(request)
</span><span class="cx">     , m_success(success)
</span><ins>+    , m_errorName(errorName)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -61,7 +64,7 @@
</span><span class="cx">     if (m_success)
</span><span class="cx">         m_request-&gt;requestSucceeded();
</span><span class="cx">     else
</span><del>-        m_request-&gt;requestFailed(&quot;TEST_ERROR&quot;);
</del><ins>+        m_request-&gt;requestFailed(m_errorName);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> IceConnectionNotifier::IceConnectionNotifier(RTCPeerConnectionHandlerClient* client, RTCPeerConnectionHandlerClient::IceConnectionState connectionState, RTCPeerConnectionHandlerClient::IceGatheringState gatheringState)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmockRTCNotifiersMockh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mock/RTCNotifiersMock.h (160552 => 160553)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mock/RTCNotifiersMock.h        2013-12-13 19:32:49 UTC (rev 160552)
+++ trunk/Source/WebCore/platform/mock/RTCNotifiersMock.h        2013-12-13 20:04:40 UTC (rev 160553)
</span><span class="lines">@@ -33,6 +33,7 @@
</span><span class="cx"> #include &quot;TimerEventBasedMock.h&quot;
</span><span class="cx"> #include &lt;wtf/PassRefPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><ins>+#include &lt;wtf/text/WTFString.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -42,24 +43,26 @@
</span><span class="cx"> 
</span><span class="cx"> class SessionRequestNotifier : public MockNotifier {
</span><span class="cx"> public:
</span><del>-    SessionRequestNotifier(PassRefPtr&lt;RTCSessionDescriptionRequest&gt;, PassRefPtr&lt;RTCSessionDescriptionDescriptor&gt;);
</del><ins>+    SessionRequestNotifier(PassRefPtr&lt;RTCSessionDescriptionRequest&gt;, PassRefPtr&lt;RTCSessionDescriptionDescriptor&gt;, const String&amp; = emptyString());
</ins><span class="cx"> 
</span><span class="cx">     void fire() OVERRIDE;
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     RefPtr&lt;RTCSessionDescriptionRequest&gt; m_request;
</span><span class="cx">     RefPtr&lt;RTCSessionDescriptionDescriptor&gt; m_descriptor;
</span><ins>+    String m_errorName;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class VoidRequestNotifier : public MockNotifier {
</span><span class="cx"> public:
</span><del>-    VoidRequestNotifier(PassRefPtr&lt;RTCVoidRequest&gt;, bool);
</del><ins>+    VoidRequestNotifier(PassRefPtr&lt;RTCVoidRequest&gt;, bool, const String&amp; = emptyString());
</ins><span class="cx"> 
</span><span class="cx">     void fire() OVERRIDE;
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     RefPtr&lt;RTCVoidRequest&gt; m_request;
</span><span class="cx">     bool m_success;
</span><ins>+    String m_errorName;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class IceConnectionNotifier : public MockNotifier {
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmockRTCPeerConnectionHandlerMockcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mock/RTCPeerConnectionHandlerMock.cpp (160552 => 160553)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mock/RTCPeerConnectionHandlerMock.cpp        2013-12-13 19:32:49 UTC (rev 160552)
+++ trunk/Source/WebCore/platform/mock/RTCPeerConnectionHandlerMock.cpp        2013-12-13 20:04:40 UTC (rev 160553)
</span><span class="lines">@@ -67,7 +67,7 @@
</span><span class="cx">     String succeedValue;
</span><span class="cx">     RefPtr&lt;SessionRequestNotifier&gt; notifier;
</span><span class="cx">     if (constraints-&gt;getMandatoryConstraintValue(&quot;succeed&quot;, succeedValue) &amp;&amp; succeedValue == &quot;false&quot;)
</span><del>-        notifier = adoptRef(new SessionRequestNotifier(request, 0));
</del><ins>+        notifier = adoptRef(new SessionRequestNotifier(request, 0, RTCPeerConnectionHandler::incompatibleConstraintsErrorName()));
</ins><span class="cx">     else
</span><span class="cx">         notifier = adoptRef(new SessionRequestNotifier(request, RTCSessionDescriptionDescriptor::create(&quot;offer&quot;, &quot;local&quot;)));
</span><span class="cx"> 
</span><span class="lines">@@ -80,7 +80,7 @@
</span><span class="cx">     // We can only create an answer if we have already had an offer and the remote session description is stored.
</span><span class="cx">     String succeedValue;
</span><span class="cx">     if (constraints-&gt;getMandatoryConstraintValue(&quot;succeed&quot;, succeedValue) &amp;&amp; succeedValue == &quot;false&quot;)
</span><del>-        notifier = adoptRef(new SessionRequestNotifier(request, 0));
</del><ins>+        notifier = adoptRef(new SessionRequestNotifier(request, 0, RTCPeerConnectionHandler::incompatibleConstraintsErrorName()));
</ins><span class="cx">     else
</span><span class="cx">         notifier = adoptRef(new SessionRequestNotifier(request, RTCSessionDescriptionDescriptor::create(&quot;answer&quot;, &quot;local&quot;)));
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>