<!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>[202698] trunk/Source/WebCore</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/202698">202698</a></dd>
<dt>Author</dt> <dd>ryanhaddad@apple.com</dd>
<dt>Date</dt> <dd>2016-06-30 13:44:42 -0700 (Thu, 30 Jun 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Unreviewed, rolling out <a href="http://trac.webkit.org/projects/webkit/changeset/202676">r202676</a>.
https://bugs.webkit.org/show_bug.cgi?id=159314

This change caused storage/websql tests to crash on Mac and
iOS WK1 (Requested by ryanhaddad on #webkit).

Reverted changeset:

&quot;Purge PassRefPtr in Modules/webdatabase&quot;
https://bugs.webkit.org/show_bug.cgi?id=159255
http://trac.webkit.org/changeset/202676

Patch by Commit Queue &lt;commit-queue@webkit.org&gt; on 2016-06-30</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModuleswebdatabaseChangeVersionWrappercpp">trunk/Source/WebCore/Modules/webdatabase/ChangeVersionWrapper.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebdatabaseDOMWindowWebDatabaseh">trunk/Source/WebCore/Modules/webdatabase/DOMWindowWebDatabase.h</a></li>
<li><a href="#trunkSourceWebCoreModuleswebdatabaseDatabasecpp">trunk/Source/WebCore/Modules/webdatabase/Database.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebdatabaseDatabaseh">trunk/Source/WebCore/Modules/webdatabase/Database.h</a></li>
<li><a href="#trunkSourceWebCoreModuleswebdatabaseDatabaseAuthorizercpp">trunk/Source/WebCore/Modules/webdatabase/DatabaseAuthorizer.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebdatabaseDatabaseManagercpp">trunk/Source/WebCore/Modules/webdatabase/DatabaseManager.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebdatabaseDatabaseManagerh">trunk/Source/WebCore/Modules/webdatabase/DatabaseManager.h</a></li>
<li><a href="#trunkSourceWebCoreModuleswebdatabaseDatabaseServercpp">trunk/Source/WebCore/Modules/webdatabase/DatabaseServer.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebdatabaseDatabaseTaskcpp">trunk/Source/WebCore/Modules/webdatabase/DatabaseTask.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebdatabaseDatabaseTaskh">trunk/Source/WebCore/Modules/webdatabase/DatabaseTask.h</a></li>
<li><a href="#trunkSourceWebCoreModuleswebdatabaseSQLCallbackWrapperh">trunk/Source/WebCore/Modules/webdatabase/SQLCallbackWrapper.h</a></li>
<li><a href="#trunkSourceWebCoreModuleswebdatabaseSQLResultSetRowListh">trunk/Source/WebCore/Modules/webdatabase/SQLResultSetRowList.h</a></li>
<li><a href="#trunkSourceWebCoreModuleswebdatabaseSQLStatementcpp">trunk/Source/WebCore/Modules/webdatabase/SQLStatement.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebdatabaseSQLStatementh">trunk/Source/WebCore/Modules/webdatabase/SQLStatement.h</a></li>
<li><a href="#trunkSourceWebCoreModuleswebdatabaseSQLTransactionh">trunk/Source/WebCore/Modules/webdatabase/SQLTransaction.h</a></li>
<li><a href="#trunkSourceWebCoreModuleswebdatabaseSQLTransactionBackendcpp">trunk/Source/WebCore/Modules/webdatabase/SQLTransactionBackend.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebdatabaseSQLTransactionBackendh">trunk/Source/WebCore/Modules/webdatabase/SQLTransactionBackend.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (202697 => 202698)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-06-30 20:29:26 UTC (rev 202697)
+++ trunk/Source/WebCore/ChangeLog        2016-06-30 20:44:42 UTC (rev 202698)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2016-06-30  Commit Queue  &lt;commit-queue@webkit.org&gt;
+
+        Unreviewed, rolling out r202676.
+        https://bugs.webkit.org/show_bug.cgi?id=159314
+
+        This change caused storage/websql tests to crash on Mac and
+        iOS WK1 (Requested by ryanhaddad on #webkit).
+
+        Reverted changeset:
+
+        &quot;Purge PassRefPtr in Modules/webdatabase&quot;
+        https://bugs.webkit.org/show_bug.cgi?id=159255
+        http://trac.webkit.org/changeset/202676
+
</ins><span class="cx"> 2016-06-30  Antoine Quint  &lt;graouts@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [iOS] Media controls are too cramped with small video
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebdatabaseChangeVersionWrappercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webdatabase/ChangeVersionWrapper.cpp (202697 => 202698)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webdatabase/ChangeVersionWrapper.cpp        2016-06-30 20:29:26 UTC (rev 202697)
+++ trunk/Source/WebCore/Modules/webdatabase/ChangeVersionWrapper.cpp        2016-06-30 20:44:42 UTC (rev 202698)
</span><span class="lines">@@ -30,6 +30,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;Database.h&quot;
</span><span class="cx"> #include &quot;SQLError.h&quot;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebdatabaseDOMWindowWebDatabaseh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webdatabase/DOMWindowWebDatabase.h (202697 => 202698)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webdatabase/DOMWindowWebDatabase.h        2016-06-30 20:29:26 UTC (rev 202697)
+++ trunk/Source/WebCore/Modules/webdatabase/DOMWindowWebDatabase.h        2016-06-30 20:44:42 UTC (rev 202698)
</span><span class="lines">@@ -21,7 +21,7 @@
</span><span class="cx">  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
</span><span class="cx">  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
</span><span class="cx">  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
</span><del>- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</del><ins>+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
</ins><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> #ifndef DOMWindowWebDatabase_h
</span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx"> #define DOMWindowWebDatabase_h
</span><span class="cx"> 
</span><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/RefCounted.h&gt;
</span><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebdatabaseDatabasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webdatabase/Database.cpp (202697 => 202698)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webdatabase/Database.cpp        2016-06-30 20:29:26 UTC (rev 202697)
+++ trunk/Source/WebCore/Modules/webdatabase/Database.cpp        2016-06-30 20:44:42 UTC (rev 202698)
</span><span class="lines">@@ -54,6 +54,7 @@
</span><span class="cx"> #include &quot;SecurityOrigin.h&quot;
</span><span class="cx"> #include &quot;VoidCallback.h&quot;
</span><span class="cx"> #include &lt;wtf/NeverDestroyed.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</span><span class="cx"> #include &lt;wtf/text/CString.h&gt;
</span><span class="lines">@@ -202,9 +203,9 @@
</span><span class="cx">     return guid;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Database::Database(RefPtr&lt;DatabaseContext&gt;&amp;&amp; databaseContext, const String&amp; name, const String&amp; expectedVersion, const String&amp; displayName, unsigned long estimatedSize)
</del><ins>+Database::Database(PassRefPtr&lt;DatabaseContext&gt; databaseContext, const String&amp; name, const String&amp; expectedVersion, const String&amp; displayName, unsigned long estimatedSize)
</ins><span class="cx">     : m_scriptExecutionContext(databaseContext-&gt;scriptExecutionContext())
</span><del>-    , m_databaseContext(WTFMove(databaseContext))
</del><ins>+    , m_databaseContext(databaseContext)
</ins><span class="cx">     , m_deleted(false)
</span><span class="cx">     , m_name(name.isolatedCopy())
</span><span class="cx">     , m_expectedVersion(expectedVersion.isolatedCopy())
</span><span class="lines">@@ -241,13 +242,12 @@
</span><span class="cx"> 
</span><span class="cx"> Database::~Database()
</span><span class="cx"> {
</span><del>-    // The reference to the ScriptExecutionContext needs to be cleared on the JavaScript thread.
-    // If we're on that thread already, we can just let the RefPtr's destruction do the dereffing.
</del><ins>+    // The reference to the ScriptExecutionContext needs to be cleared on the JavaScript thread.  If we're on that thread already, we can just let the RefPtr's destruction do the dereffing.
</ins><span class="cx">     if (!m_scriptExecutionContext-&gt;isContextThread()) {
</span><span class="cx">         // Grab a pointer to the script execution here because we're releasing it when we pass it to
</span><span class="cx">         // DerefContextTask::create.
</span><del>-        RefPtr&lt;ScriptExecutionContext&gt; passedContext;
-        passedContext-&gt;postTask({ScriptExecutionContext::Task::CleanupTask, [passedContext = WTFMove(m_scriptExecutionContext)] (ScriptExecutionContext&amp; context) {
</del><ins>+        PassRefPtr&lt;ScriptExecutionContext&gt; passedContext = m_scriptExecutionContext.release();
+        passedContext-&gt;postTask({ScriptExecutionContext::Task::CleanupTask, [passedContext] (ScriptExecutionContext&amp; context) {
</ins><span class="cx">             ASSERT_UNUSED(context, &amp;context == passedContext);
</span><span class="cx">             RefPtr&lt;ScriptExecutionContext&gt; scriptExecutionContext(passedContext);
</span><span class="cx">         }});
</span><span class="lines">@@ -571,7 +571,7 @@
</span><span class="cx">         transaction = m_transactionQueue.takeFirst();
</span><span class="cx"> 
</span><span class="cx">     if (transaction &amp;&amp; databaseContext()-&gt;databaseThread()) {
</span><del>-        auto task = std::make_unique&lt;DatabaseTransactionTask&gt;(WTFMove(transaction));
</del><ins>+        auto task = std::make_unique&lt;DatabaseTransactionTask&gt;(transaction);
</ins><span class="cx">         LOG(StorageAPI, &quot;Scheduling DatabaseTransactionTask %p for transaction %p\n&quot;, task.get(), task-&gt;transaction());
</span><span class="cx">         m_transactionInProgress = true;
</span><span class="cx">         databaseContext()-&gt;databaseThread()-&gt;scheduleTask(WTFMove(task));
</span><span class="lines">@@ -589,7 +589,7 @@
</span><span class="cx">     if (data)
</span><span class="cx">         wrapper = ChangeVersionWrapper::create(data-&gt;oldVersion(), data-&gt;newVersion());
</span><span class="cx"> 
</span><del>-    RefPtr&lt;SQLTransactionBackend&gt; transactionBackend = SQLTransactionBackend::create(this, WTFMove(transaction), WTFMove(wrapper), readOnly);
</del><ins>+    RefPtr&lt;SQLTransactionBackend&gt; transactionBackend = SQLTransactionBackend::create(this, WTFMove(transaction), wrapper, readOnly);
</ins><span class="cx">     m_transactionQueue.append(transactionBackend);
</span><span class="cx">     if (!m_transactionInProgress)
</span><span class="cx">         scheduleTransaction();
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebdatabaseDatabaseh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webdatabase/Database.h (202697 => 202698)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webdatabase/Database.h        2016-06-30 20:29:26 UTC (rev 202697)
+++ trunk/Source/WebCore/Modules/webdatabase/Database.h        2016-06-30 20:44:42 UTC (rev 202698)
</span><span class="lines">@@ -125,7 +125,7 @@
</span><span class="cx">     void performClose();
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    Database(RefPtr&lt;DatabaseContext&gt;&amp;&amp;, const String&amp; name, const String&amp; expectedVersion, const String&amp; displayName, unsigned long estimatedSize);
</del><ins>+    Database(PassRefPtr&lt;DatabaseContext&gt;, const String&amp; name, const String&amp; expectedVersion, const String&amp; displayName, unsigned long estimatedSize);
</ins><span class="cx"> 
</span><span class="cx">     void closeDatabase();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebdatabaseDatabaseAuthorizercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webdatabase/DatabaseAuthorizer.cpp (202697 => 202698)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webdatabase/DatabaseAuthorizer.cpp        2016-06-30 20:29:26 UTC (rev 202697)
+++ trunk/Source/WebCore/Modules/webdatabase/DatabaseAuthorizer.cpp        2016-06-30 20:44:42 UTC (rev 202698)
</span><span class="lines">@@ -29,6 +29,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;DatabaseAuthorizer.h&quot;
</span><span class="cx"> 
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -343,7 +344,7 @@
</span><span class="cx"> {
</span><span class="cx">     if (m_permissions &amp; NoAccessMask &amp;&amp; m_securityEnabled)
</span><span class="cx">         return SQLAuthDeny;
</span><del>-
</del><ins>+    
</ins><span class="cx">     return denyBasedOnTableName(tableName);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebdatabaseDatabaseManagercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webdatabase/DatabaseManager.cpp (202697 => 202698)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webdatabase/DatabaseManager.cpp        2016-06-30 20:29:26 UTC (rev 202697)
+++ trunk/Source/WebCore/Modules/webdatabase/DatabaseManager.cpp        2016-06-30 20:44:42 UTC (rev 202698)
</span><span class="lines">@@ -20,7 +20,7 @@
</span><span class="cx">  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
</span><span class="cx">  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
</span><span class="cx">  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
</span><del>- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</del><ins>+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
</ins><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="lines">@@ -272,7 +272,7 @@
</span><span class="cx"> 
</span><span class="cx"> RefPtr&lt;Database&gt; DatabaseManager::openDatabase(ScriptExecutionContext* context,
</span><span class="cx">     const String&amp; name, const String&amp; expectedVersion, const String&amp; displayName,
</span><del>-    unsigned long estimatedSize, RefPtr&lt;DatabaseCallback&gt;&amp;&amp; creationCallback,
</del><ins>+    unsigned long estimatedSize, PassRefPtr&lt;DatabaseCallback&gt; creationCallback,
</ins><span class="cx">     DatabaseError&amp; error)
</span><span class="cx"> {
</span><span class="cx">     ScriptController::initializeThreading();
</span><span class="lines">@@ -327,7 +327,7 @@
</span><span class="cx">                 return String();
</span><span class="cx">         }
</span><span class="cx">     }
</span><del>-
</del><ins>+    
</ins><span class="cx">     return m_server-&gt;fullPathForDatabase(origin, name, createIfDoesNotExist);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -350,16 +350,16 @@
</span><span class="cx"> {
</span><span class="cx">     {
</span><span class="cx">         std::lock_guard&lt;Lock&gt; lock(m_mutex);
</span><del>-
</del><ins>+        
</ins><span class="cx">         for (auto* proposedDatabase : m_proposedDatabases) {
</span><span class="cx">             if (proposedDatabase-&gt;details().name() == name &amp;&amp; proposedDatabase-&gt;origin()-&gt;equal(origin)) {
</span><span class="cx">                 ASSERT(proposedDatabase-&gt;details().threadID() == std::this_thread::get_id() || isMainThread());
</span><del>-
</del><ins>+                
</ins><span class="cx">                 return proposedDatabase-&gt;details();
</span><span class="cx">             }
</span><span class="cx">         }
</span><span class="cx">     }
</span><del>-
</del><ins>+    
</ins><span class="cx">     return m_server-&gt;detailsForNameAndOrigin(name, origin);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebdatabaseDatabaseManagerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webdatabase/DatabaseManager.h (202697 => 202698)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webdatabase/DatabaseManager.h        2016-06-30 20:29:26 UTC (rev 202697)
+++ trunk/Source/WebCore/Modules/webdatabase/DatabaseManager.h        2016-06-30 20:44:42 UTC (rev 202698)
</span><span class="lines">@@ -20,7 +20,7 @@
</span><span class="cx">  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
</span><span class="cx">  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
</span><span class="cx">  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
</span><del>- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</del><ins>+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
</ins><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> #ifndef DatabaseManager_h
</span><span class="lines">@@ -33,6 +33,7 @@
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/HashSet.h&gt;
</span><span class="cx"> #include &lt;wtf/Lock.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/Threading.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -80,7 +81,7 @@
</span><span class="cx"> 
</span><span class="cx">     static ExceptionCode exceptionCodeForDatabaseError(DatabaseError);
</span><span class="cx"> 
</span><del>-    RefPtr&lt;Database&gt; openDatabase(ScriptExecutionContext*, const String&amp; name, const String&amp; expectedVersion, const String&amp; displayName, unsigned long estimatedSize, RefPtr&lt;DatabaseCallback&gt;&amp;&amp;, DatabaseError&amp;);
</del><ins>+    RefPtr&lt;Database&gt; openDatabase(ScriptExecutionContext*, const String&amp; name, const String&amp; expectedVersion, const String&amp; displayName, unsigned long estimatedSize, PassRefPtr&lt;DatabaseCallback&gt;, DatabaseError&amp;);
</ins><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT bool hasOpenDatabases(ScriptExecutionContext*);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebdatabaseDatabaseServercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webdatabase/DatabaseServer.cpp (202697 => 202698)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webdatabase/DatabaseServer.cpp        2016-06-30 20:29:26 UTC (rev 202697)
+++ trunk/Source/WebCore/Modules/webdatabase/DatabaseServer.cpp        2016-06-30 20:44:42 UTC (rev 202698)
</span><span class="lines">@@ -20,7 +20,7 @@
</span><span class="cx">  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
</span><span class="cx">  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
</span><span class="cx">  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
</span><del>- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</del><ins>+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
</ins><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="lines">@@ -117,7 +117,7 @@
</span><span class="cx"> {
</span><span class="cx">     RefPtr&lt;Database&gt; database;
</span><span class="cx">     bool success = false; // Make some older compilers happy.
</span><del>-
</del><ins>+    
</ins><span class="cx">     switch (attempt) {
</span><span class="cx">     case FirstTryToOpenDatabase:
</span><span class="cx">         success = DatabaseTracker::tracker().canEstablishDatabase(backendContext.get(), name, estimatedSize, error);
</span><span class="lines">@@ -133,7 +133,7 @@
</span><span class="cx"> 
</span><span class="cx"> RefPtr&lt;Database&gt; DatabaseServer::createDatabase(RefPtr&lt;DatabaseContext&gt;&amp; backendContext, const String&amp; name, const String&amp; expectedVersion, const String&amp; displayName, unsigned long estimatedSize, bool setVersionInNewDatabase, DatabaseError&amp; error, String&amp; errorMessage)
</span><span class="cx"> {
</span><del>-    RefPtr&lt;Database&gt; database = adoptRef(new Database(backendContext.copyRef(), name, expectedVersion, displayName, estimatedSize));
</del><ins>+    RefPtr&lt;Database&gt; database = adoptRef(new Database(backendContext, name, expectedVersion, displayName, estimatedSize));
</ins><span class="cx"> 
</span><span class="cx">     if (!database-&gt;openAndVerifyVersion(setVersionInNewDatabase, error, errorMessage))
</span><span class="cx">         return nullptr;
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebdatabaseDatabaseTaskcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webdatabase/DatabaseTask.cpp (202697 => 202698)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webdatabase/DatabaseTask.cpp        2016-06-30 20:29:26 UTC (rev 202697)
+++ trunk/Source/WebCore/Modules/webdatabase/DatabaseTask.cpp        2016-06-30 20:44:42 UTC (rev 202698)
</span><span class="lines">@@ -144,9 +144,9 @@
</span><span class="cx"> // *** DatabaseTransactionTask ***
</span><span class="cx"> // Starts a transaction that will report its results via a callback.
</span><span class="cx"> 
</span><del>-DatabaseTransactionTask::DatabaseTransactionTask(RefPtr&lt;SQLTransactionBackend&gt;&amp;&amp; transaction)
</del><ins>+DatabaseTransactionTask::DatabaseTransactionTask(PassRefPtr&lt;SQLTransactionBackend&gt; transaction)
</ins><span class="cx">     : DatabaseTask(*transaction-&gt;database(), 0)
</span><del>-    , m_transaction(WTFMove(transaction))
</del><ins>+    , m_transaction(transaction)
</ins><span class="cx">     , m_didPerformTask(false)
</span><span class="cx"> {
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebdatabaseDatabaseTaskh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webdatabase/DatabaseTask.h (202697 => 202698)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webdatabase/DatabaseTask.h        2016-06-30 20:29:26 UTC (rev 202697)
+++ trunk/Source/WebCore/Modules/webdatabase/DatabaseTask.h        2016-06-30 20:44:42 UTC (rev 202698)
</span><span class="lines">@@ -33,6 +33,7 @@
</span><span class="cx"> #include &quot;SQLTransactionBackend.h&quot;
</span><span class="cx"> #include &lt;wtf/Condition.h&gt;
</span><span class="cx"> #include &lt;wtf/Lock.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -122,7 +123,7 @@
</span><span class="cx"> 
</span><span class="cx"> class DatabaseTransactionTask : public DatabaseTask {
</span><span class="cx"> public:
</span><del>-    explicit DatabaseTransactionTask(RefPtr&lt;SQLTransactionBackend&gt;&amp;&amp;);
</del><ins>+    explicit DatabaseTransactionTask(PassRefPtr&lt;SQLTransactionBackend&gt;);
</ins><span class="cx">     virtual ~DatabaseTransactionTask();
</span><span class="cx"> 
</span><span class="cx">     SQLTransactionBackend* transaction() const { return m_transaction.get(); }
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebdatabaseSQLCallbackWrapperh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webdatabase/SQLCallbackWrapper.h (202697 => 202698)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webdatabase/SQLCallbackWrapper.h        2016-06-30 20:29:26 UTC (rev 202697)
+++ trunk/Source/WebCore/Modules/webdatabase/SQLCallbackWrapper.h        2016-06-30 20:44:42 UTC (rev 202698)
</span><span class="lines">@@ -41,8 +41,8 @@
</span><span class="cx"> // - by unwrapping and then dereferencing normally - on context thread only
</span><span class="cx"> template&lt;typename T&gt; class SQLCallbackWrapper {
</span><span class="cx"> public:
</span><del>-    SQLCallbackWrapper(RefPtr&lt;T&gt;&amp;&amp; callback, ScriptExecutionContext* scriptExecutionContext)
-        : m_callback(WTFMove(callback))
</del><ins>+    SQLCallbackWrapper(PassRefPtr&lt;T&gt; callback, ScriptExecutionContext* scriptExecutionContext)
+        : m_callback(callback)
</ins><span class="cx">         , m_scriptExecutionContext(m_callback ? scriptExecutionContext : 0)
</span><span class="cx">     {
</span><span class="cx">         ASSERT(!m_callback || (m_scriptExecutionContext.get() &amp;&amp; m_scriptExecutionContext-&gt;isContextThread()));
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebdatabaseSQLResultSetRowListh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webdatabase/SQLResultSetRowList.h (202697 => 202698)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webdatabase/SQLResultSetRowList.h        2016-06-30 20:29:26 UTC (rev 202697)
+++ trunk/Source/WebCore/Modules/webdatabase/SQLResultSetRowList.h        2016-06-30 20:44:42 UTC (rev 202698)
</span><span class="lines">@@ -29,6 +29,7 @@
</span><span class="cx"> #ifndef SQLResultSetRowList_h
</span><span class="cx"> #define SQLResultSetRowList_h
</span><span class="cx"> 
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/RefCounted.h&gt;
</span><span class="cx"> #include &quot;SQLValue.h&quot;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebdatabaseSQLStatementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webdatabase/SQLStatement.cpp (202697 => 202698)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webdatabase/SQLStatement.cpp        2016-06-30 20:29:26 UTC (rev 202697)
+++ trunk/Source/WebCore/Modules/webdatabase/SQLStatement.cpp        2016-06-30 20:44:42 UTC (rev 202698)
</span><span class="lines">@@ -40,7 +40,7 @@
</span><span class="cx"> #include &lt;wtf/text/CString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-// The Life-Cycle of a SQLStatement i.e. Who's keeping the SQLStatement alive?
</del><ins>+// The Life-Cycle of a SQLStatement i.e. Who's keeping the SQLStatement alive? 
</ins><span class="cx"> // ==========================================================================
</span><span class="cx"> // The RefPtr chain goes something like this:
</span><span class="cx"> //
</span><span class="lines">@@ -74,11 +74,11 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-SQLStatement::SQLStatement(Database&amp; database, const String&amp; statement, const Vector&lt;SQLValue&gt;&amp; arguments, RefPtr&lt;SQLStatementCallback&gt;&amp;&amp; callback, RefPtr&lt;SQLStatementErrorCallback&gt;&amp;&amp; errorCallback, int permissions)
</del><ins>+SQLStatement::SQLStatement(Database&amp; database, const String&amp; statement, const Vector&lt;SQLValue&gt;&amp; arguments, PassRefPtr&lt;SQLStatementCallback&gt; callback, PassRefPtr&lt;SQLStatementErrorCallback&gt; errorCallback, int permissions)
</ins><span class="cx">     : m_statement(statement.isolatedCopy())
</span><span class="cx">     , m_arguments(arguments)
</span><del>-    , m_statementCallbackWrapper(WTFMove(callback), database.scriptExecutionContext())
-    , m_statementErrorCallbackWrapper(WTFMove(errorCallback), database.scriptExecutionContext())
</del><ins>+    , m_statementCallbackWrapper(callback, database.scriptExecutionContext())
+    , m_statementErrorCallbackWrapper(errorCallback, database.scriptExecutionContext())
</ins><span class="cx">     , m_permissions(permissions)
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="lines">@@ -87,14 +87,14 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-SQLError* SQLStatement::sqlError() const
</del><ins>+PassRefPtr&lt;SQLError&gt; SQLStatement::sqlError() const
</ins><span class="cx"> {
</span><del>-    return m_error.get();
</del><ins>+    return m_error;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-SQLResultSet* SQLStatement::sqlResultSet() const
</del><ins>+PassRefPtr&lt;SQLResultSet&gt; SQLStatement::sqlResultSet() const
</ins><span class="cx"> {
</span><del>-    return m_resultSet.get();
</del><ins>+    return m_resultSet;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool SQLStatement::execute(Database&amp; db)
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebdatabaseSQLStatementh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webdatabase/SQLStatement.h (202697 => 202698)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webdatabase/SQLStatement.h        2016-06-30 20:29:26 UTC (rev 202697)
+++ trunk/Source/WebCore/Modules/webdatabase/SQLStatement.h        2016-06-30 20:44:42 UTC (rev 202698)
</span><span class="lines">@@ -45,7 +45,7 @@
</span><span class="cx"> 
</span><span class="cx"> class SQLStatement {
</span><span class="cx"> public:
</span><del>-    SQLStatement(Database&amp;, const String&amp;, const Vector&lt;SQLValue&gt;&amp;, RefPtr&lt;SQLStatementCallback&gt;&amp;&amp;, RefPtr&lt;SQLStatementErrorCallback&gt;&amp;&amp;, int permissions);
</del><ins>+    SQLStatement(Database&amp;, const String&amp;, const Vector&lt;SQLValue&gt;&amp;, PassRefPtr&lt;SQLStatementCallback&gt;, PassRefPtr&lt;SQLStatementErrorCallback&gt;, int permissions);
</ins><span class="cx">     ~SQLStatement();
</span><span class="cx"> 
</span><span class="cx">     bool execute(Database&amp;);
</span><span class="lines">@@ -58,8 +58,8 @@
</span><span class="cx">     void setDatabaseDeletedError();
</span><span class="cx">     void setVersionMismatchedError();
</span><span class="cx"> 
</span><del>-    SQLError* sqlError() const;
-    SQLResultSet* sqlResultSet() const;
</del><ins>+    PassRefPtr&lt;SQLError&gt; sqlError() const;
+    PassRefPtr&lt;SQLResultSet&gt; sqlResultSet() const;
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     void setFailureDueToQuota();
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebdatabaseSQLTransactionh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webdatabase/SQLTransaction.h (202697 => 202698)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webdatabase/SQLTransaction.h        2016-06-30 20:29:26 UTC (rev 202697)
+++ trunk/Source/WebCore/Modules/webdatabase/SQLTransaction.h        2016-06-30 20:44:42 UTC (rev 202698)
</span><span class="lines">@@ -32,6 +32,7 @@
</span><span class="cx"> #include &quot;EventTarget.h&quot;
</span><span class="cx"> #include &quot;SQLCallbackWrapper.h&quot;
</span><span class="cx"> #include &quot;SQLTransactionStateMachine.h&quot;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/Ref.h&gt;
</span><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebdatabaseSQLTransactionBackendcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webdatabase/SQLTransactionBackend.cpp (202697 => 202698)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webdatabase/SQLTransactionBackend.cpp        2016-06-30 20:29:26 UTC (rev 202697)
+++ trunk/Source/WebCore/Modules/webdatabase/SQLTransactionBackend.cpp        2016-06-30 20:44:42 UTC (rev 202698)
</span><span class="lines">@@ -230,7 +230,7 @@
</span><span class="cx"> // to wait for further action.
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-// The Life-Cycle of a SQLTransaction i.e. Who's keeping the SQLTransaction alive?
</del><ins>+// The Life-Cycle of a SQLTransaction i.e. Who's keeping the SQLTransaction alive? 
</ins><span class="cx"> // ==============================================================================
</span><span class="cx"> // The RefPtr chain goes something like this:
</span><span class="cx"> //
</span><span class="lines">@@ -307,7 +307,7 @@
</span><span class="cx"> //     - DatabaseBackend::close() will iterate
</span><span class="cx"> //       DatabaseBackend::m_transactionQueue and call
</span><span class="cx"> //       notifyDatabaseThreadIsShuttingDown() on each transaction there.
</span><del>-//
</del><ins>+//        
</ins><span class="cx"> //     Phase 2. After scheduling, before state AcquireLock
</span><span class="cx"> //
</span><span class="cx"> //     - If the interruption occures before the DatabaseTransactionTask is
</span><span class="lines">@@ -343,15 +343,15 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-Ref&lt;SQLTransactionBackend&gt; SQLTransactionBackend::create(Database* db, RefPtr&lt;SQLTransaction&gt;&amp;&amp; frontend, RefPtr&lt;SQLTransactionWrapper&gt;&amp;&amp; wrapper, bool readOnly)
</del><ins>+Ref&lt;SQLTransactionBackend&gt; SQLTransactionBackend::create(Database* db, PassRefPtr&lt;SQLTransaction&gt; frontend, PassRefPtr&lt;SQLTransactionWrapper&gt; wrapper, bool readOnly)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new SQLTransactionBackend(db, WTFMove(frontend), WTFMove(wrapper), readOnly));
</del><ins>+    return adoptRef(*new SQLTransactionBackend(db, frontend, wrapper, readOnly));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-SQLTransactionBackend::SQLTransactionBackend(Database* db, RefPtr&lt;SQLTransaction&gt;&amp;&amp; frontend, RefPtr&lt;SQLTransactionWrapper&gt;&amp;&amp; wrapper, bool readOnly)
-    : m_frontend(WTFMove(frontend))
</del><ins>+SQLTransactionBackend::SQLTransactionBackend(Database* db, PassRefPtr&lt;SQLTransaction&gt; frontend, PassRefPtr&lt;SQLTransactionWrapper&gt; wrapper, bool readOnly)
+    : m_frontend(frontend)
</ins><span class="cx">     , m_database(db)
</span><del>-    , m_wrapper(WTFMove(wrapper))
</del><ins>+    , m_wrapper(wrapper)
</ins><span class="cx">     , m_hasCallback(m_frontend-&gt;hasCallback())
</span><span class="cx">     , m_hasSuccessCallback(m_frontend-&gt;hasSuccessCallback())
</span><span class="cx">     , m_hasErrorCallback(m_frontend-&gt;hasErrorCallback())
</span><span class="lines">@@ -428,9 +428,9 @@
</span><span class="cx">     return m_currentStatementBackend.get();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-SQLError* SQLTransactionBackend::transactionError()
</del><ins>+PassRefPtr&lt;SQLError&gt; SQLTransactionBackend::transactionError()
</ins><span class="cx"> {
</span><del>-    return m_transactionError.get();
</del><ins>+    return m_transactionError;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void SQLTransactionBackend::setShouldRetryCurrentStatement(bool shouldRetry)
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebdatabaseSQLTransactionBackendh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webdatabase/SQLTransactionBackend.h (202697 => 202698)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webdatabase/SQLTransactionBackend.h        2016-06-30 20:29:26 UTC (rev 202697)
+++ trunk/Source/WebCore/Modules/webdatabase/SQLTransactionBackend.h        2016-06-30 20:44:42 UTC (rev 202698)
</span><span class="lines">@@ -58,7 +58,7 @@
</span><span class="cx"> 
</span><span class="cx"> class SQLTransactionBackend : public ThreadSafeRefCounted&lt;SQLTransactionBackend&gt;, public SQLTransactionStateMachine&lt;SQLTransactionBackend&gt; {
</span><span class="cx"> public:
</span><del>-    static Ref&lt;SQLTransactionBackend&gt; create(Database*, RefPtr&lt;SQLTransaction&gt;&amp;&amp;, RefPtr&lt;SQLTransactionWrapper&gt;&amp;&amp;, bool readOnly);
</del><ins>+    static Ref&lt;SQLTransactionBackend&gt; create(Database*, PassRefPtr&lt;SQLTransaction&gt;, PassRefPtr&lt;SQLTransactionWrapper&gt;, bool readOnly);
</ins><span class="cx"> 
</span><span class="cx">     virtual ~SQLTransactionBackend();
</span><span class="cx"> 
</span><span class="lines">@@ -71,13 +71,13 @@
</span><span class="cx"> 
</span><span class="cx">     // APIs called from the frontend published via SQLTransactionBackend:
</span><span class="cx">     void requestTransitToState(SQLTransactionState);
</span><del>-    SQLError* transactionError();
</del><ins>+    PassRefPtr&lt;SQLError&gt; transactionError();
</ins><span class="cx">     SQLStatement* currentStatement();
</span><span class="cx">     void setShouldRetryCurrentStatement(bool);
</span><span class="cx">     void executeSQL(std::unique_ptr&lt;SQLStatement&gt;);
</span><del>-
</del><ins>+    
</ins><span class="cx"> private:
</span><del>-    SQLTransactionBackend(Database*, RefPtr&lt;SQLTransaction&gt;&amp;&amp;, RefPtr&lt;SQLTransactionWrapper&gt;&amp;&amp;, bool readOnly);
</del><ins>+    SQLTransactionBackend(Database*, PassRefPtr&lt;SQLTransaction&gt;, PassRefPtr&lt;SQLTransactionWrapper&gt;, bool readOnly);
</ins><span class="cx"> 
</span><span class="cx">     void doCleanup();
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>