<!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>[203303] trunk/Source</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/203303">203303</a></dd>
<dt>Author</dt> <dd>ggaren@apple.com</dd>
<dt>Date</dt> <dd>2016-07-15 14:51:07 -0700 (Fri, 15 Jul 2016)</dd>
</dl>
<h3>Log Message</h3>
<pre>Added a makeRef<T> helper
https://bugs.webkit.org/show_bug.cgi?id=159835
Reviewed by Andreas Kling.
Anders told me to!
Source/JavaScriptCore:
* inspector/InjectedScriptHost.cpp:
(Inspector::InjectedScriptHost::wrapper):
Source/WebCore:
* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::putOrAddOnServer):
* Modules/indexeddb/shared/InProcessIDBServer.cpp:
(WebCore::InProcessIDBServer::deleteDatabase):
(WebCore::InProcessIDBServer::didDeleteDatabase):
(WebCore::InProcessIDBServer::openDatabase):
(WebCore::InProcessIDBServer::didOpenDatabase):
(WebCore::InProcessIDBServer::didAbortTransaction):
(WebCore::InProcessIDBServer::didCommitTransaction):
(WebCore::InProcessIDBServer::didCreateObjectStore):
(WebCore::InProcessIDBServer::didDeleteObjectStore):
(WebCore::InProcessIDBServer::didClearObjectStore):
(WebCore::InProcessIDBServer::didCreateIndex):
(WebCore::InProcessIDBServer::didDeleteIndex):
(WebCore::InProcessIDBServer::didPutOrAdd):
(WebCore::InProcessIDBServer::didGetRecord):
(WebCore::InProcessIDBServer::didGetCount):
(WebCore::InProcessIDBServer::didDeleteRecord):
(WebCore::InProcessIDBServer::didOpenCursor):
(WebCore::InProcessIDBServer::didIterateCursor):
(WebCore::InProcessIDBServer::abortTransaction):
(WebCore::InProcessIDBServer::commitTransaction):
(WebCore::InProcessIDBServer::didFinishHandlingVersionChangeTransaction):
(WebCore::InProcessIDBServer::createObjectStore):
(WebCore::InProcessIDBServer::deleteObjectStore):
(WebCore::InProcessIDBServer::clearObjectStore):
(WebCore::InProcessIDBServer::createIndex):
(WebCore::InProcessIDBServer::deleteIndex):
(WebCore::InProcessIDBServer::putOrAdd):
(WebCore::InProcessIDBServer::getRecord):
(WebCore::InProcessIDBServer::getCount):
(WebCore::InProcessIDBServer::deleteRecord):
(WebCore::InProcessIDBServer::openCursor):
(WebCore::InProcessIDBServer::iterateCursor):
(WebCore::InProcessIDBServer::establishTransaction):
(WebCore::InProcessIDBServer::fireVersionChangeEvent):
(WebCore::InProcessIDBServer::didStartTransaction):
(WebCore::InProcessIDBServer::didCloseFromServer):
(WebCore::InProcessIDBServer::notifyOpenDBRequestBlocked):
(WebCore::InProcessIDBServer::databaseConnectionClosed):
(WebCore::InProcessIDBServer::abortOpenAndUpgradeNeeded):
(WebCore::InProcessIDBServer::didFireVersionChangeEvent):
(WebCore::InProcessIDBServer::openDBRequestCancelled):
(WebCore::InProcessIDBServer::confirmDidCloseFromServer):
(WebCore::InProcessIDBServer::getAllDatabaseNames):
(WebCore::InProcessIDBServer::didGetAllDatabaseNames):
* Modules/mediastream/MediaDevicesRequest.cpp:
(WebCore::MediaDevicesRequest::didCompleteTrackSourceInfoRequest):
* Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::constraintsValidated):
(WebCore::UserMediaRequest::userMediaAccessGranted):
* Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::scheduleNodeDeletion):
(WebCore::AudioContext::isPlayingAudioDidChange):
(WebCore::AudioContext::suspend):
(WebCore::AudioContext::resume):
(WebCore::AudioContext::close):
(WebCore::AudioContext::suspendPlayback):
(WebCore::AudioContext::mayResumePlayback):
* Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
(WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
(WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount):
(WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
(WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError):
(WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
* Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::connect):
* bindings/js/JSEventListener.h:
(WebCore::JSEventListener::jsFunction):
* dom/Node.cpp:
(WebCore::Node::setTextContent):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::layoutSizeChanged):
* inspector/CommandLineAPIHost.cpp:
(WebCore::CommandLineAPIHost::wrapper):
* platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:
(WebCore::AudioSourceProviderAVFObjC::prepare):
* platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp:
(WebCore::WebCoreAVCFResourceLoader::invalidate):
* platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
(WebCore::WebCoreAVFResourceLoader::invalidate):
* platform/ios/WebVideoFullscreenControllerAVKit.mm:
(WebVideoFullscreenControllerContext::setExternalPlayback):
* platform/network/BlobResourceHandle.cpp:
(WebCore::BlobResourceHandle::start):
(WebCore::BlobResourceHandle::notifyFinish):
* platform/network/SocketStreamHandleBase.cpp:
(WebCore::SocketStreamHandleBase::disconnect):
* platform/network/curl/CurlDownload.cpp:
(WebCore::CurlDownload::didReceiveHeader):
Source/WebKit2:
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::writeBlobsToTemporaryFiles):
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::tryStoreAsCacheEntry):
* Platform/IPC/Connection.cpp:
(IPC::Connection::addWorkQueueMessageReceiver):
(IPC::Connection::removeWorkQueueMessageReceiver):
(IPC::Connection::invalidate):
(IPC::Connection::sendMessage):
(IPC::Connection::processIncomingMessage):
(IPC::Connection::postConnectionDidCloseOnConnectionWorkQueue):
(IPC::Connection::connectionDidClose):
(IPC::Connection::enqueueIncomingMessage):
* Platform/IPC/mac/ConnectionMac.mm:
(IPC::Connection::receiveSourceEventHandler):
* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::setNativeSurfaceHandleForCompositing):
(WebKit::ThreadedCompositor::setDeviceScaleFactor):
(WebKit::ThreadedCompositor::didChangeViewportSize):
(WebKit::ThreadedCompositor::didChangeViewportAttribute):
(WebKit::ThreadedCompositor::didChangeContentsSize):
(WebKit::ThreadedCompositor::scrollTo):
(WebKit::ThreadedCompositor::scrollBy):
(WebKit::ThreadedCompositor::didChangeVisibleRect):
* UIProcess/API/APIUserContentExtensionStore.cpp:
(API::UserContentExtensionStore::lookupContentExtension):
(API::UserContentExtensionStore::compileContentExtension):
(API::UserContentExtensionStore::removeContentExtension):
* UIProcess/Launcher/ProcessLauncher.cpp:
(WebKit::ProcessLauncher::ProcessLauncher):
* UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
(WebKit::LocalStorageDatabaseTracker::LocalStorageDatabaseTracker):
* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::createSessionStorageNamespace):
(WebKit::StorageManager::destroySessionStorageNamespace):
(WebKit::StorageManager::setAllowedSessionStorageNamespaceConnection):
(WebKit::StorageManager::cloneSessionStorageNamespace):
(WebKit::StorageManager::processDidCloseConnection):
(WebKit::StorageManager::getSessionStorageOrigins):
(WebKit::StorageManager::deleteSessionStorageOrigins):
(WebKit::StorageManager::deleteSessionStorageEntriesForOrigins):
(WebKit::StorageManager::getLocalStorageOrigins):
(WebKit::StorageManager::getLocalStorageOriginDetails):
(WebKit::StorageManager::deleteLocalStorageEntriesForOrigin):
(WebKit::StorageManager::deleteLocalStorageOriginsModifiedSince):
(WebKit::StorageManager::deleteLocalStorageEntriesForOrigins):
* UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::readDataFromDiskIfNeeded):
* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::fetchData):
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::pluginThreadAsyncCall):
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::wheelEvent):
(WebKit::EventDispatcher::gestureEvent):
(WebKit::EventDispatcher::touchEvent):
* WebProcess/WebPage/ViewUpdateDispatcher.cpp:
(WebKit::ViewUpdateDispatcher::visibleContentRectUpdate):
Source/WTF:
* wtf/Ref.h:
(WTF::makeRef): Helper function to do type inference for you.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorInjectedScriptHostcpp">trunk/Source/JavaScriptCore/inspector/InjectedScriptHost.cpp</a></li>
<li><a href="#trunkSourceWTFChangeLog">trunk/Source/WTF/ChangeLog</a></li>
<li><a href="#trunkSourceWTFwtfRefh">trunk/Source/WTF/wtf/Ref.h</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBTransactioncpp">trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbsharedInProcessIDBServercpp">trunk/Source/WebCore/Modules/indexeddb/shared/InProcessIDBServer.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamMediaDevicesRequestcpp">trunk/Source/WebCore/Modules/mediastream/MediaDevicesRequest.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamUserMediaRequestcpp">trunk/Source/WebCore/Modules/mediastream/UserMediaRequest.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioAudioContextcpp">trunk/Source/WebCore/Modules/webaudio/AudioContext.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebsocketsThreadableWebSocketChannelClientWrappercpp">trunk/Source/WebCore/Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebsocketsWebSocketcpp">trunk/Source/WebCore/Modules/websockets/WebSocket.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSEventListenerh">trunk/Source/WebCore/bindings/js/JSEventListener.h</a></li>
<li><a href="#trunkSourceWebCoredomNodecpp">trunk/Source/WebCore/dom/Node.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLMediaElementcpp">trunk/Source/WebCore/html/HTMLMediaElement.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorCommandLineAPIHostcpp">trunk/Source/WebCore/inspector/CommandLineAPIHost.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationAudioSourceProviderAVFObjCmm">trunk/Source/WebCore/platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationcfWebCoreAVCFResourceLoadercpp">trunk/Source/WebCore/platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsavfoundationobjcWebCoreAVFResourceLoadermm">trunk/Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformiosWebVideoFullscreenControllerAVKitmm">trunk/Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkBlobResourceHandlecpp">trunk/Source/WebCore/platform/network/BlobResourceHandle.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkSocketStreamHandleBasecpp">trunk/Source/WebCore/platform/network/SocketStreamHandleBase.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcurlCurlDownloadcpp">trunk/Source/WebCore/platform/network/curl/CurlDownload.cpp</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2NetworkProcessNetworkConnectionToWebProcesscpp">trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.cpp</a></li>
<li><a href="#trunkSourceWebKit2NetworkProcessNetworkResourceLoadercpp">trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp</a></li>
<li><a href="#trunkSourceWebKit2PlatformIPCConnectioncpp">trunk/Source/WebKit2/Platform/IPC/Connection.cpp</a></li>
<li><a href="#trunkSourceWebKit2PlatformIPCmacConnectionMacmm">trunk/Source/WebKit2/Platform/IPC/mac/ConnectionMac.mm</a></li>
<li><a href="#trunkSourceWebKit2SharedCoordinatedGraphicsthreadedcompositorThreadedCompositorcpp">trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPIAPIUserContentExtensionStorecpp">trunk/Source/WebKit2/UIProcess/API/APIUserContentExtensionStore.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessLauncherProcessLaunchercpp">trunk/Source/WebKit2/UIProcess/Launcher/ProcessLauncher.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessStorageLocalStorageDatabaseTrackercpp">trunk/Source/WebKit2/UIProcess/Storage/LocalStorageDatabaseTracker.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessStorageStorageManagercpp">trunk/Source/WebKit2/UIProcess/Storage/StorageManager.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebResourceLoadStatisticsStorecpp">trunk/Source/WebKit2/UIProcess/WebResourceLoadStatisticsStore.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebsiteDataWebsiteDataStorecpp">trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessPluginsNetscapeNetscapePlugincpp">trunk/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageEventDispatchercpp">trunk/Source/WebKit2/WebProcess/WebPage/EventDispatcher.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageViewUpdateDispatchercpp">trunk/Source/WebKit2/WebProcess/WebPage/ViewUpdateDispatcher.cpp</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/JavaScriptCore/ChangeLog        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -1,3 +1,15 @@
</span><ins>+2016-07-15 Geoffrey Garen <ggaren@apple.com>
+
+ Added a makeRef<T> helper
+ https://bugs.webkit.org/show_bug.cgi?id=159835
+
+ Reviewed by Andreas Kling.
+
+ Anders told me to!
+
+ * inspector/InjectedScriptHost.cpp:
+ (Inspector::InjectedScriptHost::wrapper):
+
</ins><span class="cx"> 2016-07-15 Mark Lam <mark.lam@apple.com>
</span><span class="cx">
</span><span class="cx"> FunctionOverride's parseClause() needs to keep the CString instance in scope while its data is being used.
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorInjectedScriptHostcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/InjectedScriptHost.cpp (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/InjectedScriptHost.cpp        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/JavaScriptCore/inspector/InjectedScriptHost.cpp        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -45,7 +45,7 @@
</span><span class="cx">
</span><span class="cx"> JSObject* prototype = JSInjectedScriptHost::createPrototype(exec->vm(), globalObject);
</span><span class="cx"> Structure* structure = JSInjectedScriptHost::createStructure(exec->vm(), globalObject, prototype);
</span><del>- JSInjectedScriptHost* injectedScriptHost = JSInjectedScriptHost::create(exec->vm(), structure, Ref<InjectedScriptHost>(*this));
</del><ins>+ JSInjectedScriptHost* injectedScriptHost = JSInjectedScriptHost::create(exec->vm(), structure, makeRef(*this));
</ins><span class="cx"> m_wrappers.addWrapper(globalObject, injectedScriptHost);
</span><span class="cx">
</span><span class="cx"> return injectedScriptHost;
</span></span></pre></div>
<a id="trunkSourceWTFChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/ChangeLog (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/ChangeLog        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WTF/ChangeLog        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -1,3 +1,15 @@
</span><ins>+2016-07-15 Geoffrey Garen <ggaren@apple.com>
+
+ Added a makeRef<T> helper
+ https://bugs.webkit.org/show_bug.cgi?id=159835
+
+ Reviewed by Andreas Kling.
+
+ Anders told me to!
+
+ * wtf/Ref.h:
+ (WTF::makeRef): Helper function to do type inference for you.
+
</ins><span class="cx"> 2016-07-15 Ryan Haddad <ryanhaddad@apple.com>
</span><span class="cx">
</span><span class="cx"> Unreviewed, rolling out r203266.
</span></span></pre></div>
<a id="trunkSourceWTFwtfRefh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/Ref.h (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/Ref.h        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WTF/wtf/Ref.h        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -217,6 +217,12 @@
</span><span class="cx"> return Ref<T>(reference, Ref<T>::Adopt);
</span><span class="cx"> }
</span><span class="cx">
</span><ins>+template<typename T>
+inline Ref<T> makeRef(T& reference)
+{
+ return Ref<T>(reference);
+}
+
</ins><span class="cx"> template<typename ExpectedType, typename ArgType> inline bool is(Ref<ArgType>& source)
</span><span class="cx"> {
</span><span class="cx"> return is<ExpectedType>(source.get());
</span><span class="lines">@@ -231,6 +237,7 @@
</span><span class="cx">
</span><span class="cx"> using WTF::Ref;
</span><span class="cx"> using WTF::adoptRef;
</span><ins>+using WTF::makeRef;
</ins><span class="cx"> using WTF::static_reference_cast;
</span><span class="cx">
</span><span class="cx"> #endif // WTF_Ref_h
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebCore/ChangeLog        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -1,3 +1,106 @@
</span><ins>+2016-07-15 Geoffrey Garen <ggaren@apple.com>
+
+ Added a makeRef<T> helper
+ https://bugs.webkit.org/show_bug.cgi?id=159835
+
+ Reviewed by Andreas Kling.
+
+ Anders told me to!
+
+ * Modules/indexeddb/IDBTransaction.cpp:
+ (WebCore::IDBTransaction::putOrAddOnServer):
+ * Modules/indexeddb/shared/InProcessIDBServer.cpp:
+ (WebCore::InProcessIDBServer::deleteDatabase):
+ (WebCore::InProcessIDBServer::didDeleteDatabase):
+ (WebCore::InProcessIDBServer::openDatabase):
+ (WebCore::InProcessIDBServer::didOpenDatabase):
+ (WebCore::InProcessIDBServer::didAbortTransaction):
+ (WebCore::InProcessIDBServer::didCommitTransaction):
+ (WebCore::InProcessIDBServer::didCreateObjectStore):
+ (WebCore::InProcessIDBServer::didDeleteObjectStore):
+ (WebCore::InProcessIDBServer::didClearObjectStore):
+ (WebCore::InProcessIDBServer::didCreateIndex):
+ (WebCore::InProcessIDBServer::didDeleteIndex):
+ (WebCore::InProcessIDBServer::didPutOrAdd):
+ (WebCore::InProcessIDBServer::didGetRecord):
+ (WebCore::InProcessIDBServer::didGetCount):
+ (WebCore::InProcessIDBServer::didDeleteRecord):
+ (WebCore::InProcessIDBServer::didOpenCursor):
+ (WebCore::InProcessIDBServer::didIterateCursor):
+ (WebCore::InProcessIDBServer::abortTransaction):
+ (WebCore::InProcessIDBServer::commitTransaction):
+ (WebCore::InProcessIDBServer::didFinishHandlingVersionChangeTransaction):
+ (WebCore::InProcessIDBServer::createObjectStore):
+ (WebCore::InProcessIDBServer::deleteObjectStore):
+ (WebCore::InProcessIDBServer::clearObjectStore):
+ (WebCore::InProcessIDBServer::createIndex):
+ (WebCore::InProcessIDBServer::deleteIndex):
+ (WebCore::InProcessIDBServer::putOrAdd):
+ (WebCore::InProcessIDBServer::getRecord):
+ (WebCore::InProcessIDBServer::getCount):
+ (WebCore::InProcessIDBServer::deleteRecord):
+ (WebCore::InProcessIDBServer::openCursor):
+ (WebCore::InProcessIDBServer::iterateCursor):
+ (WebCore::InProcessIDBServer::establishTransaction):
+ (WebCore::InProcessIDBServer::fireVersionChangeEvent):
+ (WebCore::InProcessIDBServer::didStartTransaction):
+ (WebCore::InProcessIDBServer::didCloseFromServer):
+ (WebCore::InProcessIDBServer::notifyOpenDBRequestBlocked):
+ (WebCore::InProcessIDBServer::databaseConnectionClosed):
+ (WebCore::InProcessIDBServer::abortOpenAndUpgradeNeeded):
+ (WebCore::InProcessIDBServer::didFireVersionChangeEvent):
+ (WebCore::InProcessIDBServer::openDBRequestCancelled):
+ (WebCore::InProcessIDBServer::confirmDidCloseFromServer):
+ (WebCore::InProcessIDBServer::getAllDatabaseNames):
+ (WebCore::InProcessIDBServer::didGetAllDatabaseNames):
+ * Modules/mediastream/MediaDevicesRequest.cpp:
+ (WebCore::MediaDevicesRequest::didCompleteTrackSourceInfoRequest):
+ * Modules/mediastream/UserMediaRequest.cpp:
+ (WebCore::UserMediaRequest::constraintsValidated):
+ (WebCore::UserMediaRequest::userMediaAccessGranted):
+ * Modules/webaudio/AudioContext.cpp:
+ (WebCore::AudioContext::scheduleNodeDeletion):
+ (WebCore::AudioContext::isPlayingAudioDidChange):
+ (WebCore::AudioContext::suspend):
+ (WebCore::AudioContext::resume):
+ (WebCore::AudioContext::close):
+ (WebCore::AudioContext::suspendPlayback):
+ (WebCore::AudioContext::mayResumePlayback):
+ * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
+ (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
+ (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
+ (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
+ (WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount):
+ (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
+ (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
+ (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError):
+ (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
+ * Modules/websockets/WebSocket.cpp:
+ (WebCore::WebSocket::connect):
+ * bindings/js/JSEventListener.h:
+ (WebCore::JSEventListener::jsFunction):
+ * dom/Node.cpp:
+ (WebCore::Node::setTextContent):
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::layoutSizeChanged):
+ * inspector/CommandLineAPIHost.cpp:
+ (WebCore::CommandLineAPIHost::wrapper):
+ * platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:
+ (WebCore::AudioSourceProviderAVFObjC::prepare):
+ * platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp:
+ (WebCore::WebCoreAVCFResourceLoader::invalidate):
+ * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
+ (WebCore::WebCoreAVFResourceLoader::invalidate):
+ * platform/ios/WebVideoFullscreenControllerAVKit.mm:
+ (WebVideoFullscreenControllerContext::setExternalPlayback):
+ * platform/network/BlobResourceHandle.cpp:
+ (WebCore::BlobResourceHandle::start):
+ (WebCore::BlobResourceHandle::notifyFinish):
+ * platform/network/SocketStreamHandleBase.cpp:
+ (WebCore::SocketStreamHandleBase::disconnect):
+ * platform/network/curl/CurlDownload.cpp:
+ (WebCore::CurlDownload::didReceiveHeader):
+
</ins><span class="cx"> 2016-07-15 Chris Dumez <cdumez@apple.com>
</span><span class="cx">
</span><span class="cx"> Use fastGetAttribute() / setAttributeWithoutSynchronization() when possible
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBTransactioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.cpp (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.cpp        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.cpp        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -967,7 +967,7 @@
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- value->writeBlobsToDiskForIndexedDB([protectedThis = Ref<IDBTransaction>(*this), this, protectedOperation = Ref<IDBClient::TransactionOperation>(operation), keyData = IDBKeyData(key.get()).isolatedCopy(), overwriteMode](const IDBValue& idbValue) mutable {
</del><ins>+ value->writeBlobsToDiskForIndexedDB([protectedThis = makeRef(*this), this, protectedOperation = Ref<IDBClient::TransactionOperation>(operation), keyData = IDBKeyData(key.get()).isolatedCopy(), overwriteMode](const IDBValue& idbValue) mutable {
</ins><span class="cx"> ASSERT(currentThread() == originThreadID());
</span><span class="cx"> ASSERT(isMainThread());
</span><span class="cx"> if (idbValue.data().data()) {
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbsharedInProcessIDBServercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/shared/InProcessIDBServer.cpp (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/shared/InProcessIDBServer.cpp        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebCore/Modules/indexeddb/shared/InProcessIDBServer.cpp        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -91,7 +91,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::deleteDatabase(const IDBRequestData& requestData)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), requestData] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), requestData] {
</ins><span class="cx"> m_server->deleteDatabase(requestData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -98,7 +98,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didDeleteDatabase(const IDBResultData& resultData)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), resultData] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), resultData] {
</ins><span class="cx"> m_connectionToServer->didDeleteDatabase(resultData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -105,7 +105,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::openDatabase(const IDBRequestData& requestData)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), requestData] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), requestData] {
</ins><span class="cx"> m_server->openDatabase(requestData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -112,7 +112,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didOpenDatabase(const IDBResultData& resultData)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), resultData] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), resultData] {
</ins><span class="cx"> m_connectionToServer->didOpenDatabase(resultData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -119,7 +119,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didAbortTransaction(const IDBResourceIdentifier& transactionIdentifier, const IDBError& error)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), transactionIdentifier, error] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), transactionIdentifier, error] {
</ins><span class="cx"> m_connectionToServer->didAbortTransaction(transactionIdentifier, error);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -126,7 +126,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didCommitTransaction(const IDBResourceIdentifier& transactionIdentifier, const IDBError& error)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), transactionIdentifier, error] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), transactionIdentifier, error] {
</ins><span class="cx"> m_connectionToServer->didCommitTransaction(transactionIdentifier, error);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -133,7 +133,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didCreateObjectStore(const IDBResultData& resultData)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), resultData] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), resultData] {
</ins><span class="cx"> m_connectionToServer->didCreateObjectStore(resultData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -140,7 +140,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didDeleteObjectStore(const IDBResultData& resultData)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), resultData] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), resultData] {
</ins><span class="cx"> m_connectionToServer->didDeleteObjectStore(resultData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -147,7 +147,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didClearObjectStore(const IDBResultData& resultData)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), resultData] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), resultData] {
</ins><span class="cx"> m_connectionToServer->didClearObjectStore(resultData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -154,7 +154,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didCreateIndex(const IDBResultData& resultData)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), resultData] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), resultData] {
</ins><span class="cx"> m_connectionToServer->didCreateIndex(resultData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -161,7 +161,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didDeleteIndex(const IDBResultData& resultData)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), resultData] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), resultData] {
</ins><span class="cx"> m_connectionToServer->didDeleteIndex(resultData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -168,7 +168,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didPutOrAdd(const IDBResultData& resultData)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), resultData] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), resultData] {
</ins><span class="cx"> m_connectionToServer->didPutOrAdd(resultData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -175,7 +175,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didGetRecord(const IDBResultData& resultData)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), resultData] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), resultData] {
</ins><span class="cx"> m_connectionToServer->didGetRecord(resultData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -182,7 +182,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didGetCount(const IDBResultData& resultData)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), resultData] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), resultData] {
</ins><span class="cx"> m_connectionToServer->didGetCount(resultData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -189,7 +189,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didDeleteRecord(const IDBResultData& resultData)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), resultData] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), resultData] {
</ins><span class="cx"> m_connectionToServer->didDeleteRecord(resultData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -196,7 +196,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didOpenCursor(const IDBResultData& resultData)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), resultData] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), resultData] {
</ins><span class="cx"> m_connectionToServer->didOpenCursor(resultData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -203,7 +203,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didIterateCursor(const IDBResultData& resultData)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), resultData] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), resultData] {
</ins><span class="cx"> m_connectionToServer->didIterateCursor(resultData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -210,7 +210,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::abortTransaction(const IDBResourceIdentifier& resourceIdentifier)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), resourceIdentifier] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), resourceIdentifier] {
</ins><span class="cx"> m_server->abortTransaction(resourceIdentifier);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -217,7 +217,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::commitTransaction(const IDBResourceIdentifier& resourceIdentifier)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), resourceIdentifier] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), resourceIdentifier] {
</ins><span class="cx"> m_server->commitTransaction(resourceIdentifier);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -224,7 +224,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didFinishHandlingVersionChangeTransaction(uint64_t databaseConnectionIdentifier, const IDBResourceIdentifier& transactionIdentifier)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), databaseConnectionIdentifier, transactionIdentifier] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), databaseConnectionIdentifier, transactionIdentifier] {
</ins><span class="cx"> m_server->didFinishHandlingVersionChangeTransaction(databaseConnectionIdentifier, transactionIdentifier);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -231,7 +231,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::createObjectStore(const IDBRequestData& resultData, const IDBObjectStoreInfo& info)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), resultData, info] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), resultData, info] {
</ins><span class="cx"> m_server->createObjectStore(resultData, info);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -238,7 +238,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::deleteObjectStore(const IDBRequestData& requestData, const String& objectStoreName)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), requestData, objectStoreName] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), requestData, objectStoreName] {
</ins><span class="cx"> m_server->deleteObjectStore(requestData, objectStoreName);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -245,7 +245,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::clearObjectStore(const IDBRequestData& requestData, uint64_t objectStoreIdentifier)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), requestData, objectStoreIdentifier] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), requestData, objectStoreIdentifier] {
</ins><span class="cx"> m_server->clearObjectStore(requestData, objectStoreIdentifier);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -252,7 +252,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::createIndex(const IDBRequestData& requestData, const IDBIndexInfo& info)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), requestData, info] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), requestData, info] {
</ins><span class="cx"> m_server->createIndex(requestData, info);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -259,7 +259,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::deleteIndex(const IDBRequestData& requestData, uint64_t objectStoreIdentifier, const String& indexName)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), requestData, objectStoreIdentifier, indexName] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), requestData, objectStoreIdentifier, indexName] {
</ins><span class="cx"> m_server->deleteIndex(requestData, objectStoreIdentifier, indexName);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -266,7 +266,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::putOrAdd(const IDBRequestData& requestData, const IDBKeyData& keyData, const IDBValue& value, const IndexedDB::ObjectStoreOverwriteMode overwriteMode)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), requestData, keyData, value, overwriteMode] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), requestData, keyData, value, overwriteMode] {
</ins><span class="cx"> m_server->putOrAdd(requestData, keyData, value, overwriteMode);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -273,7 +273,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::getRecord(const IDBRequestData& requestData, const IDBKeyRangeData& keyRangeData)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), requestData, keyRangeData] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), requestData, keyRangeData] {
</ins><span class="cx"> m_server->getRecord(requestData, keyRangeData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -280,7 +280,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::getCount(const IDBRequestData& requestData, const IDBKeyRangeData& keyRangeData)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), requestData, keyRangeData] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), requestData, keyRangeData] {
</ins><span class="cx"> m_server->getCount(requestData, keyRangeData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -287,7 +287,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::deleteRecord(const IDBRequestData& requestData, const IDBKeyRangeData& keyRangeData)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), requestData, keyRangeData] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), requestData, keyRangeData] {
</ins><span class="cx"> m_server->deleteRecord(requestData, keyRangeData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -294,7 +294,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::openCursor(const IDBRequestData& requestData, const IDBCursorInfo& info)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), requestData, info] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), requestData, info] {
</ins><span class="cx"> m_server->openCursor(requestData, info);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -301,7 +301,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::iterateCursor(const IDBRequestData& requestData, const IDBKeyData& key, unsigned long count)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), requestData, key, count] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), requestData, key, count] {
</ins><span class="cx"> m_server->iterateCursor(requestData, key, count);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -308,7 +308,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::establishTransaction(uint64_t databaseConnectionIdentifier, const IDBTransactionInfo& info)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), databaseConnectionIdentifier, info] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), databaseConnectionIdentifier, info] {
</ins><span class="cx"> m_server->establishTransaction(databaseConnectionIdentifier, info);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -315,7 +315,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::fireVersionChangeEvent(IDBServer::UniqueIDBDatabaseConnection& connection, const IDBResourceIdentifier& requestIdentifier, uint64_t requestedVersion)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), databaseConnectionIdentifier = connection.identifier(), requestIdentifier, requestedVersion] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), databaseConnectionIdentifier = connection.identifier(), requestIdentifier, requestedVersion] {
</ins><span class="cx"> m_connectionToServer->fireVersionChangeEvent(databaseConnectionIdentifier, requestIdentifier, requestedVersion);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -322,7 +322,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didStartTransaction(const IDBResourceIdentifier& transactionIdentifier, const IDBError& error)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), transactionIdentifier, error] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), transactionIdentifier, error] {
</ins><span class="cx"> m_connectionToServer->didStartTransaction(transactionIdentifier, error);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -329,7 +329,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didCloseFromServer(IDBServer::UniqueIDBDatabaseConnection& connection, const IDBError& error)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), databaseConnectionIdentifier = connection.identifier(), error] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), databaseConnectionIdentifier = connection.identifier(), error] {
</ins><span class="cx"> m_connectionToServer->didCloseFromServer(databaseConnectionIdentifier, error);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -336,7 +336,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::notifyOpenDBRequestBlocked(const IDBResourceIdentifier& requestIdentifier, uint64_t oldVersion, uint64_t newVersion)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), requestIdentifier, oldVersion, newVersion] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), requestIdentifier, oldVersion, newVersion] {
</ins><span class="cx"> m_connectionToServer->notifyOpenDBRequestBlocked(requestIdentifier, oldVersion, newVersion);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -343,7 +343,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::databaseConnectionClosed(uint64_t databaseConnectionIdentifier)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), databaseConnectionIdentifier] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), databaseConnectionIdentifier] {
</ins><span class="cx"> m_server->databaseConnectionClosed(databaseConnectionIdentifier);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -350,7 +350,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::abortOpenAndUpgradeNeeded(uint64_t databaseConnectionIdentifier, const IDBResourceIdentifier& transactionIdentifier)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), databaseConnectionIdentifier, transactionIdentifier] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), databaseConnectionIdentifier, transactionIdentifier] {
</ins><span class="cx"> m_server->abortOpenAndUpgradeNeeded(databaseConnectionIdentifier, transactionIdentifier);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -357,7 +357,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didFireVersionChangeEvent(uint64_t databaseConnectionIdentifier, const IDBResourceIdentifier& requestIdentifier)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), databaseConnectionIdentifier, requestIdentifier] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), databaseConnectionIdentifier, requestIdentifier] {
</ins><span class="cx"> m_server->didFireVersionChangeEvent(databaseConnectionIdentifier, requestIdentifier);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -364,7 +364,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::openDBRequestCancelled(const IDBRequestData& requestData)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), requestData] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), requestData] {
</ins><span class="cx"> m_server->openDBRequestCancelled(requestData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -371,7 +371,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::confirmDidCloseFromServer(uint64_t databaseConnectionIdentifier)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), databaseConnectionIdentifier] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), databaseConnectionIdentifier] {
</ins><span class="cx"> m_server->confirmDidCloseFromServer(databaseConnectionIdentifier);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -378,7 +378,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::getAllDatabaseNames(const SecurityOriginData& mainFrameOrigin, const SecurityOriginData& openingOrigin, uint64_t callbackID)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), mainFrameOrigin, openingOrigin, callbackID] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), mainFrameOrigin, openingOrigin, callbackID] {
</ins><span class="cx"> m_server->getAllDatabaseNames(m_connectionToServer->identifier(), mainFrameOrigin, openingOrigin, callbackID);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -385,7 +385,7 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didGetAllDatabaseNames(uint64_t callbackID, const Vector<String>& databaseNames)
</span><span class="cx"> {
</span><del>- RunLoop::current().dispatch([this, protectedThis = Ref<InProcessIDBServer>(*this), callbackID, databaseNames] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis = makeRef(*this), callbackID, databaseNames] {
</ins><span class="cx"> m_connectionToServer->didGetAllDatabaseNames(callbackID, databaseNames);
</span><span class="cx"> });
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamMediaDevicesRequestcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/MediaDevicesRequest.cpp (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/MediaDevicesRequest.cpp        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebCore/Modules/mediastream/MediaDevicesRequest.cpp        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -160,7 +160,7 @@
</span><span class="cx"> devices.append(MediaDeviceInfo::create(scriptExecutionContext(), label, id, groupId, deviceType));
</span><span class="cx"> }
</span><span class="cx">
</span><del>- callOnMainThread([protectedThis = Ref<MediaDevicesRequest>(*this), devices = WTFMove(devices)]() mutable {
</del><ins>+ callOnMainThread([protectedThis = makeRef(*this), devices = WTFMove(devices)]() mutable {
</ins><span class="cx"> protectedThis->m_promise.resolve(devices);
</span><span class="cx"> });
</span><span class="cx"> m_protector = nullptr;
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesmediastreamUserMediaRequestcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/UserMediaRequest.cpp (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/UserMediaRequest.cpp        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebCore/Modules/mediastream/UserMediaRequest.cpp        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -135,7 +135,7 @@
</span><span class="cx"> for (auto& videoTrack : videoTracks)
</span><span class="cx"> m_videoDeviceUIDs.append(videoTrack->persistentID());
</span><span class="cx">
</span><del>- callOnMainThread([protectedThis = Ref<UserMediaRequest>(*this)]() mutable {
</del><ins>+ callOnMainThread([protectedThis = makeRef(*this)]() mutable {
</ins><span class="cx"> // 2 - The constraints are valid, ask the user for access to media.
</span><span class="cx"> if (UserMediaController* controller = protectedThis->m_controller)
</span><span class="cx"> controller->requestUserMediaAccess(protectedThis.get());
</span><span class="lines">@@ -147,7 +147,7 @@
</span><span class="cx"> m_allowedVideoDeviceUID = videoDeviceUID;
</span><span class="cx"> m_audioDeviceUIDAllowed = audioDeviceUID;
</span><span class="cx">
</span><del>- callOnMainThread([protectedThis = Ref<UserMediaRequest>(*this), audioDeviceUID, videoDeviceUID]() mutable {
</del><ins>+ callOnMainThread([protectedThis = makeRef(*this), audioDeviceUID, videoDeviceUID]() mutable {
</ins><span class="cx"> // 3 - the user granted access, ask platform to create the media stream descriptors.
</span><span class="cx"> RealtimeMediaSourceCenter::singleton().createMediaStream(protectedThis.ptr(), audioDeviceUID, videoDeviceUID);
</span><span class="cx"> });
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioAudioContextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/AudioContext.cpp (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/AudioContext.cpp        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebCore/Modules/webaudio/AudioContext.cpp        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -797,7 +797,7 @@
</span><span class="cx">
</span><span class="cx"> m_isDeletionScheduled = true;
</span><span class="cx">
</span><del>- callOnMainThread([protectedThis = Ref<AudioContext>(*this)]() mutable {
</del><ins>+ callOnMainThread([protectedThis = makeRef(*this)]() mutable {
</ins><span class="cx"> protectedThis->deleteMarkedNodes();
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -1001,7 +1001,7 @@
</span><span class="cx"> {
</span><span class="cx"> // Make sure to call Document::updateIsPlayingMedia() on the main thread, since
</span><span class="cx"> // we could be on the audio I/O thread here and the call into WebCore could block.
</span><del>- callOnMainThread([protectedThis = Ref<AudioContext>(*this)] {
</del><ins>+ callOnMainThread([protectedThis = makeRef(*this)] {
</ins><span class="cx"> if (protectedThis->document())
</span><span class="cx"> protectedThis->document()->updateIsPlayingMedia();
</span><span class="cx"> });
</span><span class="lines">@@ -1061,7 +1061,7 @@
</span><span class="cx">
</span><span class="cx"> lazyInitialize();
</span><span class="cx">
</span><del>- m_destinationNode->suspend([this, protectedThis = Ref<AudioContext>(*this)] {
</del><ins>+ m_destinationNode->suspend([this, protectedThis = makeRef(*this)] {
</ins><span class="cx"> setState(State::Suspended);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -1090,7 +1090,7 @@
</span><span class="cx">
</span><span class="cx"> lazyInitialize();
</span><span class="cx">
</span><del>- m_destinationNode->resume([this, protectedThis = Ref<AudioContext>(*this)] {
</del><ins>+ m_destinationNode->resume([this, protectedThis = makeRef(*this)] {
</ins><span class="cx"> setState(State::Running);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -1111,7 +1111,7 @@
</span><span class="cx">
</span><span class="cx"> lazyInitialize();
</span><span class="cx">
</span><del>- m_destinationNode->close([this, protectedThis = Ref<AudioContext>(*this)] {
</del><ins>+ m_destinationNode->close([this, protectedThis = makeRef(*this)] {
</ins><span class="cx"> setState(State::Closed);
</span><span class="cx"> uninitialize();
</span><span class="cx"> });
</span><span class="lines">@@ -1131,7 +1131,7 @@
</span><span class="cx">
</span><span class="cx"> lazyInitialize();
</span><span class="cx">
</span><del>- m_destinationNode->suspend([this, protectedThis = Ref<AudioContext>(*this)] {
</del><ins>+ m_destinationNode->suspend([this, protectedThis = makeRef(*this)] {
</ins><span class="cx"> bool interrupted = m_mediaSession->state() == PlatformMediaSession::Interrupted;
</span><span class="cx"> setState(interrupted ? State::Interrupted : State::Suspended);
</span><span class="cx"> });
</span><span class="lines">@@ -1152,7 +1152,7 @@
</span><span class="cx">
</span><span class="cx"> lazyInitialize();
</span><span class="cx">
</span><del>- m_destinationNode->resume([this, protectedThis = Ref<AudioContext>(*this)] {
</del><ins>+ m_destinationNode->resume([this, protectedThis = makeRef(*this)] {
</ins><span class="cx"> setState(State::Running);
</span><span class="cx"> });
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebsocketsThreadableWebSocketChannelClientWrappercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebCore/Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -154,7 +154,7 @@
</span><span class="cx">
</span><span class="cx"> void ThreadableWebSocketChannelClientWrapper::didConnect()
</span><span class="cx"> {
</span><del>- m_pendingTasks.append(std::make_unique<ScriptExecutionContext::Task>([this, protectedThis = Ref<ThreadableWebSocketChannelClientWrapper>(*this)] (ScriptExecutionContext&) {
</del><ins>+ m_pendingTasks.append(std::make_unique<ScriptExecutionContext::Task>([this, protectedThis = makeRef(*this)] (ScriptExecutionContext&) {
</ins><span class="cx"> if (m_client)
</span><span class="cx"> m_client->didConnect();
</span><span class="cx"> }));
</span><span class="lines">@@ -165,7 +165,7 @@
</span><span class="cx">
</span><span class="cx"> void ThreadableWebSocketChannelClientWrapper::didReceiveMessage(const String& message)
</span><span class="cx"> {
</span><del>- m_pendingTasks.append(std::make_unique<ScriptExecutionContext::Task>([this, protectedThis = Ref<ThreadableWebSocketChannelClientWrapper>(*this), message = message.isolatedCopy()] (ScriptExecutionContext&) {
</del><ins>+ m_pendingTasks.append(std::make_unique<ScriptExecutionContext::Task>([this, protectedThis = makeRef(*this), message = message.isolatedCopy()] (ScriptExecutionContext&) {
</ins><span class="cx"> if (m_client)
</span><span class="cx"> m_client->didReceiveMessage(message);
</span><span class="cx"> }));
</span><span class="lines">@@ -176,7 +176,7 @@
</span><span class="cx">
</span><span class="cx"> void ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData(Vector<uint8_t>&& binaryData)
</span><span class="cx"> {
</span><del>- m_pendingTasks.append(std::make_unique<ScriptExecutionContext::Task>([this, protectedThis = Ref<ThreadableWebSocketChannelClientWrapper>(*this), binaryData = WTFMove(binaryData)] (ScriptExecutionContext&) mutable {
</del><ins>+ m_pendingTasks.append(std::make_unique<ScriptExecutionContext::Task>([this, protectedThis = makeRef(*this), binaryData = WTFMove(binaryData)] (ScriptExecutionContext&) mutable {
</ins><span class="cx"> if (m_client)
</span><span class="cx"> m_client->didReceiveBinaryData(WTFMove(binaryData));
</span><span class="cx"> }));
</span><span class="lines">@@ -187,7 +187,7 @@
</span><span class="cx">
</span><span class="cx"> void ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount(unsigned bufferedAmount)
</span><span class="cx"> {
</span><del>- m_pendingTasks.append(std::make_unique<ScriptExecutionContext::Task>([this, protectedThis = Ref<ThreadableWebSocketChannelClientWrapper>(*this), bufferedAmount] (ScriptExecutionContext&) {
</del><ins>+ m_pendingTasks.append(std::make_unique<ScriptExecutionContext::Task>([this, protectedThis = makeRef(*this), bufferedAmount] (ScriptExecutionContext&) {
</ins><span class="cx"> if (m_client)
</span><span class="cx"> m_client->didUpdateBufferedAmount(bufferedAmount);
</span><span class="cx"> }));
</span><span class="lines">@@ -198,7 +198,7 @@
</span><span class="cx">
</span><span class="cx"> void ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake()
</span><span class="cx"> {
</span><del>- m_pendingTasks.append(std::make_unique<ScriptExecutionContext::Task>([this, protectedThis = Ref<ThreadableWebSocketChannelClientWrapper>(*this)] (ScriptExecutionContext&) {
</del><ins>+ m_pendingTasks.append(std::make_unique<ScriptExecutionContext::Task>([this, protectedThis = makeRef(*this)] (ScriptExecutionContext&) {
</ins><span class="cx"> if (m_client)
</span><span class="cx"> m_client->didStartClosingHandshake();
</span><span class="cx"> }));
</span><span class="lines">@@ -209,7 +209,7 @@
</span><span class="cx">
</span><span class="cx"> void ThreadableWebSocketChannelClientWrapper::didClose(unsigned unhandledBufferedAmount, WebSocketChannelClient::ClosingHandshakeCompletionStatus closingHandshakeCompletion, unsigned short code, const String& reason)
</span><span class="cx"> {
</span><del>- m_pendingTasks.append(std::make_unique<ScriptExecutionContext::Task>([this, protectedThis = Ref<ThreadableWebSocketChannelClientWrapper>(*this), unhandledBufferedAmount, closingHandshakeCompletion, code, reason = reason.isolatedCopy()] (ScriptExecutionContext&) {
</del><ins>+ m_pendingTasks.append(std::make_unique<ScriptExecutionContext::Task>([this, protectedThis = makeRef(*this), unhandledBufferedAmount, closingHandshakeCompletion, code, reason = reason.isolatedCopy()] (ScriptExecutionContext&) {
</ins><span class="cx"> if (m_client)
</span><span class="cx"> m_client->didClose(unhandledBufferedAmount, closingHandshakeCompletion, code, reason);
</span><span class="cx"> }));
</span><span class="lines">@@ -220,7 +220,7 @@
</span><span class="cx">
</span><span class="cx"> void ThreadableWebSocketChannelClientWrapper::didReceiveMessageError()
</span><span class="cx"> {
</span><del>- m_pendingTasks.append(std::make_unique<ScriptExecutionContext::Task>([this, protectedThis = Ref<ThreadableWebSocketChannelClientWrapper>(*this)] (ScriptExecutionContext&) {
</del><ins>+ m_pendingTasks.append(std::make_unique<ScriptExecutionContext::Task>([this, protectedThis = makeRef(*this)] (ScriptExecutionContext&) {
</ins><span class="cx"> if (m_client)
</span><span class="cx"> m_client->didReceiveMessageError();
</span><span class="cx"> }));
</span><span class="lines">@@ -247,7 +247,7 @@
</span><span class="cx"> if (!m_syncMethodDone) {
</span><span class="cx"> // When a synchronous operation is in progress (i.e. the execution stack contains
</span><span class="cx"> // WorkerThreadableWebSocketChannel::waitForMethodCompletion()), we cannot invoke callbacks in this run loop.
</span><del>- m_context.postTask([this, protectedThis = Ref<ThreadableWebSocketChannelClientWrapper>(*this)] (ScriptExecutionContext& context) {
</del><ins>+ m_context.postTask([this, protectedThis = makeRef(*this)] (ScriptExecutionContext& context) {
</ins><span class="cx"> ASSERT_UNUSED(context, context.isWorkerGlobalScope());
</span><span class="cx"> processPendingTasks();
</span><span class="cx"> });
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebsocketsWebSocketcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/websockets/WebSocket.cpp (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/websockets/WebSocket.cpp        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebCore/Modules/websockets/WebSocket.cpp        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -306,7 +306,7 @@
</span><span class="cx"> });
</span><span class="cx"> });
</span><span class="cx"> #else
</span><del>- RunLoop::main().dispatch([this, protectedThis = Ref<WebSocket>(*this)]() {
</del><ins>+ RunLoop::main().dispatch([this, protectedThis = makeRef(*this)]() {
</ins><span class="cx"> dispatchOrQueueErrorEvent();
</span><span class="cx"> stop();
</span><span class="cx"> });
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSEventListenerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSEventListener.h (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSEventListener.h        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebCore/bindings/js/JSEventListener.h        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -111,7 +111,7 @@
</span><span class="cx"> {
</span><span class="cx"> // initializeJSFunction can trigger code that deletes this event listener
</span><span class="cx"> // before we're done. It should always return 0 in this case.
</span><del>- Ref<JSEventListener> protect(const_cast<JSEventListener&>(*this));
</del><ins>+ auto protect = makeRef(const_cast<JSEventListener&>(*this));
</ins><span class="cx"> JSC::Strong<JSC::JSObject> wrapper(m_isolatedWorld->vm(), m_wrapper.get());
</span><span class="cx">
</span><span class="cx"> if (!m_jsFunction) {
</span></span></pre></div>
<a id="trunkSourceWebCoredomNodecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Node.cpp (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Node.cpp        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebCore/dom/Node.cpp        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -1480,7 +1480,7 @@
</span><span class="cx"> case ELEMENT_NODE:
</span><span class="cx"> case ATTRIBUTE_NODE:
</span><span class="cx"> case DOCUMENT_FRAGMENT_NODE: {
</span><del>- Ref<ContainerNode> container(downcast<ContainerNode>(*this));
</del><ins>+ auto container = makeRef(downcast<ContainerNode>(*this));
</ins><span class="cx"> ChildListMutationScope mutation(container);
</span><span class="cx"> container->removeChildren();
</span><span class="cx"> if (!text.isEmpty())
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLMediaElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLMediaElement.cpp        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -4016,7 +4016,7 @@
</span><span class="cx"> void HTMLMediaElement::layoutSizeChanged()
</span><span class="cx"> {
</span><span class="cx"> #if ENABLE(MEDIA_CONTROLS_SCRIPT)
</span><del>- auto task = [this, protectedThis = Ref<Element>(*this)] {
</del><ins>+ auto task = [this, protectedThis = makeRef(*this)] {
</ins><span class="cx"> if (ShadowRoot* root = userAgentShadowRoot())
</span><span class="cx"> root->dispatchEvent(Event::create("resize", false, false));
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorCommandLineAPIHostcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/CommandLineAPIHost.cpp (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/CommandLineAPIHost.cpp        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebCore/inspector/CommandLineAPIHost.cpp        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -144,7 +144,7 @@
</span><span class="cx">
</span><span class="cx"> JSObject* prototype = JSCommandLineAPIHost::createPrototype(exec->vm(), globalObject);
</span><span class="cx"> Structure* structure = JSCommandLineAPIHost::createStructure(exec->vm(), globalObject, prototype);
</span><del>- JSCommandLineAPIHost* commandLineAPIHost = JSCommandLineAPIHost::create(structure, globalObject, Ref<CommandLineAPIHost>(*this));
</del><ins>+ JSCommandLineAPIHost* commandLineAPIHost = JSCommandLineAPIHost::create(structure, globalObject, makeRef(*this));
</ins><span class="cx"> m_wrappers.addWrapper(globalObject, commandLineAPIHost);
</span><span class="cx">
</span><span class="cx"> return commandLineAPIHost;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationAudioSourceProviderAVFObjCmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -323,7 +323,7 @@
</span><span class="cx"> memset(m_list.get(), 0, bufferListSize);
</span><span class="cx"> m_list->mNumberBuffers = numberOfChannels;
</span><span class="cx">
</span><del>- callOnMainThread([protectedThis = Ref<AudioSourceProviderAVFObjC>(*this), numberOfChannels, sampleRate] {
</del><ins>+ callOnMainThread([protectedThis = makeRef(*this), numberOfChannels, sampleRate] {
</ins><span class="cx"> protectedThis->m_client->setFormat(numberOfChannels, sampleRate);
</span><span class="cx"> });
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationcfWebCoreAVCFResourceLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -104,7 +104,7 @@
</span><span class="cx">
</span><span class="cx"> m_parent = nullptr;
</span><span class="cx">
</span><del>- callOnMainThread([protectedThis = Ref<WebCoreAVCFResourceLoader>(*this)] () mutable {
</del><ins>+ callOnMainThread([protectedThis = makeRef(*this)] () mutable {
</ins><span class="cx"> protectedThis->stopLoading();
</span><span class="cx"> });
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsavfoundationobjcWebCoreAVFResourceLoadermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -101,7 +101,7 @@
</span><span class="cx">
</span><span class="cx"> m_parent = nullptr;
</span><span class="cx">
</span><del>- callOnMainThread([protectedThis = Ref<WebCoreAVFResourceLoader>(*this)] () mutable {
</del><ins>+ callOnMainThread([protectedThis = makeRef(*this)] () mutable {
</ins><span class="cx"> protectedThis->stopLoading();
</span><span class="cx"> });
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformiosWebVideoFullscreenControllerAVKitmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.mm (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.mm        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.mm        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -435,7 +435,7 @@
</span><span class="cx"> void WebVideoFullscreenControllerContext::setExternalPlayback(bool enabled, ExternalPlaybackTargetType type, String localizedDeviceName)
</span><span class="cx"> {
</span><span class="cx"> ASSERT(WebThreadIsCurrent());
</span><del>- callOnMainThread([protectedThis = Ref<WebVideoFullscreenControllerContext>(*this), this, enabled, type, localizedDeviceName = localizedDeviceName.isolatedCopy()] {
</del><ins>+ callOnMainThread([protectedThis = makeRef(*this), this, enabled, type, localizedDeviceName = localizedDeviceName.isolatedCopy()] {
</ins><span class="cx"> if (m_interface)
</span><span class="cx"> m_interface->setExternalPlayback(enabled, type, localizedDeviceName);
</span><span class="cx"> });
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkBlobResourceHandlecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/BlobResourceHandle.cpp (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/BlobResourceHandle.cpp        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebCore/platform/network/BlobResourceHandle.cpp        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -178,7 +178,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // Finish this async call quickly and return.
</span><del>- callOnMainThread([protectedThis = Ref<BlobResourceHandle>(*this)]() mutable {
</del><ins>+ callOnMainThread([protectedThis = makeRef(*this)]() mutable {
</ins><span class="cx"> protectedThis->doStart();
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -652,7 +652,7 @@
</span><span class="cx">
</span><span class="cx"> // Schedule to notify the client from a standalone function because the client might dispose the handle immediately from the callback function
</span><span class="cx"> // while we still have BlobResourceHandle calls in the stack.
</span><del>- callOnMainThread([protectedThis = Ref<BlobResourceHandle>(*this)]() mutable {
</del><ins>+ callOnMainThread([protectedThis = makeRef(*this)]() mutable {
</ins><span class="cx"> doNotifyFinish(protectedThis);
</span><span class="cx"> });
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkSocketStreamHandleBasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/SocketStreamHandleBase.cpp (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/SocketStreamHandleBase.cpp        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebCore/platform/network/SocketStreamHandleBase.cpp        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -91,7 +91,7 @@
</span><span class="cx">
</span><span class="cx"> void SocketStreamHandleBase::disconnect()
</span><span class="cx"> {
</span><del>- Ref<SocketStreamHandle> protect(static_cast<SocketStreamHandle&>(*this)); // platformClose calls the client, which may make the handle get deallocated immediately.
</del><ins>+ auto protect = makeRef(static_cast<SocketStreamHandle&>(*this)); // platformClose calls the client, which may make the handle get deallocated immediately.
</ins><span class="cx">
</span><span class="cx"> platformClose();
</span><span class="cx"> m_state = Closed;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkcurlCurlDownloadcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/curl/CurlDownload.cpp (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/curl/CurlDownload.cpp        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebCore/platform/network/curl/CurlDownload.cpp        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -403,7 +403,7 @@
</span><span class="cx">
</span><span class="cx"> if (httpCode >= 200 && httpCode < 300) {
</span><span class="cx"> URL url = getCurlEffectiveURL(m_curlHandle);
</span><del>- callOnMainThread([this, url = url.isolatedCopy(), protectedThis = Ref<CurlDownload>(*this)] {
</del><ins>+ callOnMainThread([this, url = url.isolatedCopy(), protectedThis = makeRef(*this)] {
</ins><span class="cx"> m_response.setURL(url);
</span><span class="cx"> m_response.setMimeType(extractMIMETypeFromMediaType(m_response.httpHeaderField(HTTPHeaderName::ContentType)));
</span><span class="cx"> m_response.setTextEncodingName(extractCharsetFromMediaType(m_response.httpHeaderField(HTTPHeaderName::ContentType)));
</span><span class="lines">@@ -412,7 +412,7 @@
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx"> } else {
</span><del>- callOnMainThread([this, header = header.isolatedCopy(), protectedThis = Ref<CurlDownload>(*this)] {
</del><ins>+ callOnMainThread([this, header = header.isolatedCopy(), protectedThis = makeRef(*this)] {
</ins><span class="cx"> int splitPos = header.find(":");
</span><span class="cx"> if (splitPos != -1)
</span><span class="cx"> m_response.setHTTPHeaderField(header.left(splitPos), header.substring(splitPos + 1).stripWhiteSpace());
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebKit2/ChangeLog        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -1,3 +1,71 @@
</span><ins>+2016-07-15 Geoffrey Garen <ggaren@apple.com>
+
+ Added a makeRef<T> helper
+ https://bugs.webkit.org/show_bug.cgi?id=159835
+
+ Reviewed by Andreas Kling.
+
+ Anders told me to!
+
+ * NetworkProcess/NetworkConnectionToWebProcess.cpp:
+ (WebKit::NetworkConnectionToWebProcess::writeBlobsToTemporaryFiles):
+ * NetworkProcess/NetworkResourceLoader.cpp:
+ (WebKit::NetworkResourceLoader::tryStoreAsCacheEntry):
+ * Platform/IPC/Connection.cpp:
+ (IPC::Connection::addWorkQueueMessageReceiver):
+ (IPC::Connection::removeWorkQueueMessageReceiver):
+ (IPC::Connection::invalidate):
+ (IPC::Connection::sendMessage):
+ (IPC::Connection::processIncomingMessage):
+ (IPC::Connection::postConnectionDidCloseOnConnectionWorkQueue):
+ (IPC::Connection::connectionDidClose):
+ (IPC::Connection::enqueueIncomingMessage):
+ * Platform/IPC/mac/ConnectionMac.mm:
+ (IPC::Connection::receiveSourceEventHandler):
+ * Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
+ (WebKit::ThreadedCompositor::setNativeSurfaceHandleForCompositing):
+ (WebKit::ThreadedCompositor::setDeviceScaleFactor):
+ (WebKit::ThreadedCompositor::didChangeViewportSize):
+ (WebKit::ThreadedCompositor::didChangeViewportAttribute):
+ (WebKit::ThreadedCompositor::didChangeContentsSize):
+ (WebKit::ThreadedCompositor::scrollTo):
+ (WebKit::ThreadedCompositor::scrollBy):
+ (WebKit::ThreadedCompositor::didChangeVisibleRect):
+ * UIProcess/API/APIUserContentExtensionStore.cpp:
+ (API::UserContentExtensionStore::lookupContentExtension):
+ (API::UserContentExtensionStore::compileContentExtension):
+ (API::UserContentExtensionStore::removeContentExtension):
+ * UIProcess/Launcher/ProcessLauncher.cpp:
+ (WebKit::ProcessLauncher::ProcessLauncher):
+ * UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
+ (WebKit::LocalStorageDatabaseTracker::LocalStorageDatabaseTracker):
+ * UIProcess/Storage/StorageManager.cpp:
+ (WebKit::StorageManager::createSessionStorageNamespace):
+ (WebKit::StorageManager::destroySessionStorageNamespace):
+ (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnection):
+ (WebKit::StorageManager::cloneSessionStorageNamespace):
+ (WebKit::StorageManager::processDidCloseConnection):
+ (WebKit::StorageManager::getSessionStorageOrigins):
+ (WebKit::StorageManager::deleteSessionStorageOrigins):
+ (WebKit::StorageManager::deleteSessionStorageEntriesForOrigins):
+ (WebKit::StorageManager::getLocalStorageOrigins):
+ (WebKit::StorageManager::getLocalStorageOriginDetails):
+ (WebKit::StorageManager::deleteLocalStorageEntriesForOrigin):
+ (WebKit::StorageManager::deleteLocalStorageOriginsModifiedSince):
+ (WebKit::StorageManager::deleteLocalStorageEntriesForOrigins):
+ * UIProcess/WebResourceLoadStatisticsStore.cpp:
+ (WebKit::WebResourceLoadStatisticsStore::readDataFromDiskIfNeeded):
+ * UIProcess/WebsiteData/WebsiteDataStore.cpp:
+ (WebKit::WebsiteDataStore::fetchData):
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::pluginThreadAsyncCall):
+ * WebProcess/WebPage/EventDispatcher.cpp:
+ (WebKit::EventDispatcher::wheelEvent):
+ (WebKit::EventDispatcher::gestureEvent):
+ (WebKit::EventDispatcher::touchEvent):
+ * WebProcess/WebPage/ViewUpdateDispatcher.cpp:
+ (WebKit::ViewUpdateDispatcher::visibleContentRectUpdate):
+
</ins><span class="cx"> 2016-07-15 Chris Dumez <cdumez@apple.com>
</span><span class="cx">
</span><span class="cx"> Use fastGetAttribute() / setAttributeWithoutSynchronization() when possible
</span></span></pre></div>
<a id="trunkSourceWebKit2NetworkProcessNetworkConnectionToWebProcesscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.cpp (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.cpp        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.cpp        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -315,7 +315,7 @@
</span><span class="cx"> for (auto& file : fileReferences)
</span><span class="cx"> file->prepareForFileAccess();
</span><span class="cx">
</span><del>- NetworkBlobRegistry::singleton().writeBlobsToTemporaryFiles(blobURLs, [this, protectedThis = Ref<NetworkConnectionToWebProcess>(*this), requestIdentifier, fileReferences = WTFMove(fileReferences)](auto& fileNames) mutable {
</del><ins>+ NetworkBlobRegistry::singleton().writeBlobsToTemporaryFiles(blobURLs, [this, protectedThis = makeRef(*this), requestIdentifier, fileReferences = WTFMove(fileReferences)](auto& fileNames) mutable {
</ins><span class="cx"> for (auto& file : fileReferences)
</span><span class="cx"> file->revokeFileAccess();
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKit2NetworkProcessNetworkResourceLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -529,7 +529,7 @@
</span><span class="cx"> if (!m_bufferedDataForCache)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- NetworkCache::singleton().store(m_networkLoad->currentRequest(), m_response, WTFMove(m_bufferedDataForCache), [loader = Ref<NetworkResourceLoader>(*this)](auto& mappedBody) mutable {
</del><ins>+ NetworkCache::singleton().store(m_networkLoad->currentRequest(), m_response, WTFMove(m_bufferedDataForCache), [loader = makeRef(*this)](auto& mappedBody) mutable {
</ins><span class="cx"> #if ENABLE(SHAREABLE_RESOURCE)
</span><span class="cx"> if (mappedBody.shareableResourceHandle.isNull())
</span><span class="cx"> return;
</span></span></pre></div>
<a id="trunkSourceWebKit2PlatformIPCConnectioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Platform/IPC/Connection.cpp (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Platform/IPC/Connection.cpp        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebKit2/Platform/IPC/Connection.cpp        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -253,7 +253,7 @@
</span><span class="cx"> {
</span><span class="cx"> ASSERT(RunLoop::isMain());
</span><span class="cx">
</span><del>- m_connectionQueue->dispatch([protectedThis = Ref<Connection>(*this), messageReceiverName = WTFMove(messageReceiverName), workQueue, workQueueMessageReceiver]() mutable {
</del><ins>+ m_connectionQueue->dispatch([protectedThis = makeRef(*this), messageReceiverName = WTFMove(messageReceiverName), workQueue, workQueueMessageReceiver]() mutable {
</ins><span class="cx"> ASSERT(!protectedThis->m_workQueueMessageReceivers.contains(messageReceiverName));
</span><span class="cx">
</span><span class="cx"> protectedThis->m_workQueueMessageReceivers.add(messageReceiverName, std::make_pair(workQueue, workQueueMessageReceiver));
</span><span class="lines">@@ -264,7 +264,7 @@
</span><span class="cx"> {
</span><span class="cx"> ASSERT(RunLoop::isMain());
</span><span class="cx">
</span><del>- m_connectionQueue->dispatch([protectedThis = Ref<Connection>(*this), messageReceiverName = WTFMove(messageReceiverName)]() mutable {
</del><ins>+ m_connectionQueue->dispatch([protectedThis = makeRef(*this), messageReceiverName = WTFMove(messageReceiverName)]() mutable {
</ins><span class="cx"> ASSERT(protectedThis->m_workQueueMessageReceivers.contains(messageReceiverName));
</span><span class="cx"> protectedThis->m_workQueueMessageReceivers.remove(messageReceiverName);
</span><span class="cx"> });
</span><span class="lines">@@ -317,7 +317,7 @@
</span><span class="cx">
</span><span class="cx"> m_client = nullptr;
</span><span class="cx">
</span><del>- m_connectionQueue->dispatch([protectedThis = Ref<Connection>(*this)]() mutable {
</del><ins>+ m_connectionQueue->dispatch([protectedThis = makeRef(*this)]() mutable {
</ins><span class="cx"> protectedThis->platformInvalidate();
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -374,7 +374,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // FIXME: We should add a boolean flag so we don't call this when work has already been scheduled.
</span><del>- m_connectionQueue->dispatch([protectedThis = Ref<Connection>(*this)]() mutable {
</del><ins>+ m_connectionQueue->dispatch([protectedThis = makeRef(*this)]() mutable {
</ins><span class="cx"> protectedThis->sendOutgoingMessages();
</span><span class="cx"> });
</span><span class="cx"> return true;
</span><span class="lines">@@ -647,7 +647,7 @@
</span><span class="cx"> StringReference messageNameReference = message->messageName();
</span><span class="cx"> String messageName(messageNameReference.isEmpty() ? "<unknown message>" : String(messageNameReference.data(), messageNameReference.size()));
</span><span class="cx">
</span><del>- RunLoop::main().dispatch([protectedThis = Ref<Connection>(*this), messageReceiverName = WTFMove(messageReceiverName), messageName = WTFMove(messageName)]() mutable {
</del><ins>+ RunLoop::main().dispatch([protectedThis = makeRef(*this), messageReceiverName = WTFMove(messageReceiverName), messageName = WTFMove(messageName)]() mutable {
</ins><span class="cx"> protectedThis->dispatchDidReceiveInvalidMessage(messageReceiverName.utf8(), messageName.utf8());
</span><span class="cx"> });
</span><span class="cx"> return;
</span><span class="lines">@@ -655,7 +655,7 @@
</span><span class="cx">
</span><span class="cx"> auto it = m_workQueueMessageReceivers.find(message->messageReceiverName());
</span><span class="cx"> if (it != m_workQueueMessageReceivers.end()) {
</span><del>- it->value.first->dispatch([protectedThis = Ref<Connection>(*this), workQueueMessageReceiver = it->value.second, decoder = WTFMove(message)]() mutable {
</del><ins>+ it->value.first->dispatch([protectedThis = makeRef(*this), workQueueMessageReceiver = it->value.second, decoder = WTFMove(message)]() mutable {
</ins><span class="cx"> protectedThis->dispatchWorkQueueMessageReceiverMessage(*workQueueMessageReceiver, *decoder);
</span><span class="cx"> });
</span><span class="cx"> return;
</span><span class="lines">@@ -739,7 +739,7 @@
</span><span class="cx">
</span><span class="cx"> void Connection::postConnectionDidCloseOnConnectionWorkQueue()
</span><span class="cx"> {
</span><del>- m_connectionQueue->dispatch([protectedThis = Ref<Connection>(*this)]() mutable {
</del><ins>+ m_connectionQueue->dispatch([protectedThis = makeRef(*this)]() mutable {
</ins><span class="cx"> protectedThis->connectionDidClose();
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -772,7 +772,7 @@
</span><span class="cx"> if (m_didCloseOnConnectionWorkQueueCallback)
</span><span class="cx"> m_didCloseOnConnectionWorkQueueCallback(this);
</span><span class="cx">
</span><del>- RunLoop::main().dispatch([protectedThis = Ref<Connection>(*this)]() mutable {
</del><ins>+ RunLoop::main().dispatch([protectedThis = makeRef(*this)]() mutable {
</ins><span class="cx"> // If the connection has been explicitly invalidated before dispatchConnectionDidClose was called,
</span><span class="cx"> // then the client will be null here.
</span><span class="cx"> if (!protectedThis->m_client)
</span><span class="lines">@@ -877,7 +877,7 @@
</span><span class="cx"> m_incomingMessages.append(WTFMove(incomingMessage));
</span><span class="cx"> }
</span><span class="cx">
</span><del>- RunLoop::main().dispatch([protectedThis = Ref<Connection>(*this)]() mutable {
</del><ins>+ RunLoop::main().dispatch([protectedThis = makeRef(*this)]() mutable {
</ins><span class="cx"> protectedThis->dispatchOneMessage();
</span><span class="cx"> });
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKit2PlatformIPCmacConnectionMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Platform/IPC/mac/ConnectionMac.mm (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Platform/IPC/mac/ConnectionMac.mm        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebKit2/Platform/IPC/mac/ConnectionMac.mm        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -523,7 +523,7 @@
</span><span class="cx"> StringReference messageNameReference = decoder->messageName();
</span><span class="cx"> String messageName(String(messageNameReference.data(), messageNameReference.size()));
</span><span class="cx">
</span><del>- RunLoop::main().dispatch([protectedThis = Ref<Connection>(*this), messageReceiverName = WTFMove(messageReceiverName), messageName = WTFMove(messageName)]() mutable {
</del><ins>+ RunLoop::main().dispatch([protectedThis = makeRef(*this), messageReceiverName = WTFMove(messageReceiverName), messageName = WTFMove(messageName)]() mutable {
</ins><span class="cx"> protectedThis->dispatchDidReceiveInvalidMessage(messageReceiverName.utf8(), messageName.utf8());
</span><span class="cx"> });
</span><span class="cx"> return;
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedCoordinatedGraphicsthreadedcompositorThreadedCompositorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebKit2/Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -62,7 +62,7 @@
</span><span class="cx"> void ThreadedCompositor::setNativeSurfaceHandleForCompositing(uint64_t handle)
</span><span class="cx"> {
</span><span class="cx"> m_compositingRunLoop->stopUpdateTimer();
</span><del>- m_compositingRunLoop->performTaskSync([this, protectedThis = Ref<ThreadedCompositor>(*this), handle] {
</del><ins>+ m_compositingRunLoop->performTaskSync([this, protectedThis = makeRef(*this), handle] {
</ins><span class="cx"> m_scene->setActive(!!handle);
</span><span class="cx">
</span><span class="cx"> // A new native handle can't be set without destroying the previous one first if any.
</span><span class="lines">@@ -75,7 +75,7 @@
</span><span class="cx">
</span><span class="cx"> void ThreadedCompositor::setDeviceScaleFactor(float scale)
</span><span class="cx"> {
</span><del>- m_compositingRunLoop->performTask([this, protectedThis = Ref<ThreadedCompositor>(*this), scale] {
</del><ins>+ m_compositingRunLoop->performTask([this, protectedThis = makeRef(*this), scale] {
</ins><span class="cx"> m_deviceScaleFactor = scale;
</span><span class="cx"> scheduleDisplayImmediately();
</span><span class="cx"> });
</span><span class="lines">@@ -83,7 +83,7 @@
</span><span class="cx">
</span><span class="cx"> void ThreadedCompositor::didChangeViewportSize(const IntSize& size)
</span><span class="cx"> {
</span><del>- m_compositingRunLoop->performTaskSync([this, protectedThis = Ref<ThreadedCompositor>(*this), size] {
</del><ins>+ m_compositingRunLoop->performTaskSync([this, protectedThis = makeRef(*this), size] {
</ins><span class="cx"> m_viewportController->didChangeViewportSize(size);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -90,7 +90,7 @@
</span><span class="cx">
</span><span class="cx"> void ThreadedCompositor::didChangeViewportAttribute(const ViewportAttributes& attr)
</span><span class="cx"> {
</span><del>- m_compositingRunLoop->performTask([this, protectedThis = Ref<ThreadedCompositor>(*this), attr] {
</del><ins>+ m_compositingRunLoop->performTask([this, protectedThis = makeRef(*this), attr] {
</ins><span class="cx"> m_viewportController->didChangeViewportAttribute(attr);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -97,7 +97,7 @@
</span><span class="cx">
</span><span class="cx"> void ThreadedCompositor::didChangeContentsSize(const IntSize& size)
</span><span class="cx"> {
</span><del>- m_compositingRunLoop->performTask([this, protectedThis = Ref<ThreadedCompositor>(*this), size] {
</del><ins>+ m_compositingRunLoop->performTask([this, protectedThis = makeRef(*this), size] {
</ins><span class="cx"> m_viewportController->didChangeContentsSize(size);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -104,7 +104,7 @@
</span><span class="cx">
</span><span class="cx"> void ThreadedCompositor::scrollTo(const IntPoint& position)
</span><span class="cx"> {
</span><del>- m_compositingRunLoop->performTask([this, protectedThis = Ref<ThreadedCompositor>(*this), position] {
</del><ins>+ m_compositingRunLoop->performTask([this, protectedThis = makeRef(*this), position] {
</ins><span class="cx"> m_viewportController->scrollTo(position);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -111,7 +111,7 @@
</span><span class="cx">
</span><span class="cx"> void ThreadedCompositor::scrollBy(const IntSize& delta)
</span><span class="cx"> {
</span><del>- m_compositingRunLoop->performTask([this, protectedThis = Ref<ThreadedCompositor>(*this), delta] {
</del><ins>+ m_compositingRunLoop->performTask([this, protectedThis = makeRef(*this), delta] {
</ins><span class="cx"> m_viewportController->scrollBy(delta);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -173,7 +173,7 @@
</span><span class="cx">
</span><span class="cx"> void ThreadedCompositor::didChangeVisibleRect()
</span><span class="cx"> {
</span><del>- RunLoop::main().dispatch([this, protectedThis = Ref<ThreadedCompositor>(*this), visibleRect = m_viewportController->visibleContentsRect(), scale = m_viewportController->pageScaleFactor()] {
</del><ins>+ RunLoop::main().dispatch([this, protectedThis = makeRef(*this), visibleRect = m_viewportController->visibleContentsRect(), scale = m_viewportController->pageScaleFactor()] {
</ins><span class="cx"> m_client->setVisibleContentsRect(visibleRect, FloatPoint::zero(), scale);
</span><span class="cx"> });
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPIAPIUserContentExtensionStorecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/APIUserContentExtensionStore.cpp (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/APIUserContentExtensionStore.cpp        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebKit2/UIProcess/API/APIUserContentExtensionStore.cpp        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -306,7 +306,7 @@
</span><span class="cx">
</span><span class="cx"> void UserContentExtensionStore::lookupContentExtension(const WTF::String& identifier, std::function<void(RefPtr<API::UserContentExtension>, std::error_code)> completionHandler)
</span><span class="cx"> {
</span><del>- m_readQueue->dispatch([protectedThis = Ref<Object>(*this), identifier = identifier.isolatedCopy(), storePath = m_storePath.isolatedCopy(), completionHandler = WTFMove(completionHandler)]() mutable {
</del><ins>+ m_readQueue->dispatch([protectedThis = makeRef(*this), identifier = identifier.isolatedCopy(), storePath = m_storePath.isolatedCopy(), completionHandler = WTFMove(completionHandler)]() mutable {
</ins><span class="cx"> auto path = constructedPath(storePath, identifier);
</span><span class="cx">
</span><span class="cx"> ContentExtensionMetaData metaData;
</span><span class="lines">@@ -334,7 +334,7 @@
</span><span class="cx">
</span><span class="cx"> void UserContentExtensionStore::compileContentExtension(const WTF::String& identifier, WTF::String&& json, std::function<void(RefPtr<API::UserContentExtension>, std::error_code)> completionHandler)
</span><span class="cx"> {
</span><del>- m_compileQueue->dispatch([protectedThis = Ref<Object>(*this), identifier = identifier.isolatedCopy(), json = json.isolatedCopy(), storePath = m_storePath.isolatedCopy(), completionHandler = WTFMove(completionHandler)] () mutable {
</del><ins>+ m_compileQueue->dispatch([protectedThis = makeRef(*this), identifier = identifier.isolatedCopy(), json = json.isolatedCopy(), storePath = m_storePath.isolatedCopy(), completionHandler = WTFMove(completionHandler)] () mutable {
</ins><span class="cx"> auto path = constructedPath(storePath, identifier);
</span><span class="cx">
</span><span class="cx"> ContentExtensionMetaData metaData;
</span><span class="lines">@@ -356,7 +356,7 @@
</span><span class="cx">
</span><span class="cx"> void UserContentExtensionStore::removeContentExtension(const WTF::String& identifier, std::function<void(std::error_code)> completionHandler)
</span><span class="cx"> {
</span><del>- m_removeQueue->dispatch([protectedThis = Ref<Object>(*this), identifier = identifier.isolatedCopy(), storePath = m_storePath.isolatedCopy(), completionHandler = WTFMove(completionHandler)]() mutable {
</del><ins>+ m_removeQueue->dispatch([protectedThis = makeRef(*this), identifier = identifier.isolatedCopy(), storePath = m_storePath.isolatedCopy(), completionHandler = WTFMove(completionHandler)]() mutable {
</ins><span class="cx"> auto path = constructedPath(storePath, identifier);
</span><span class="cx">
</span><span class="cx"> if (!WebCore::deleteFile(path)) {
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessLauncherProcessLaunchercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/Launcher/ProcessLauncher.cpp (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/Launcher/ProcessLauncher.cpp        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebKit2/UIProcess/Launcher/ProcessLauncher.cpp        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -45,7 +45,7 @@
</span><span class="cx"> {
</span><span class="cx"> m_isLaunching = true;
</span><span class="cx">
</span><del>- processLauncherWorkQueue().dispatch([processLauncher = Ref<ProcessLauncher>(*this)]() mutable {
</del><ins>+ processLauncherWorkQueue().dispatch([processLauncher = makeRef(*this)]() mutable {
</ins><span class="cx"> processLauncher->launchProcess();
</span><span class="cx"> });
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessStorageLocalStorageDatabaseTrackercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/Storage/LocalStorageDatabaseTracker.cpp (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/Storage/LocalStorageDatabaseTracker.cpp        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebKit2/UIProcess/Storage/LocalStorageDatabaseTracker.cpp        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx"> // Make sure the encoding is initialized before we start dispatching things to the queue.
</span><span class="cx"> UTF8Encoding();
</span><span class="cx">
</span><del>- m_queue->dispatch([protectedThis = Ref<LocalStorageDatabaseTracker>(*this)]() mutable {
</del><ins>+ m_queue->dispatch([protectedThis = makeRef(*this)]() mutable {
</ins><span class="cx"> protectedThis->importOriginIdentifiers();
</span><span class="cx"> });
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessStorageStorageManagercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/Storage/StorageManager.cpp (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/Storage/StorageManager.cpp        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebKit2/UIProcess/Storage/StorageManager.cpp        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -473,7 +473,7 @@
</span><span class="cx">
</span><span class="cx"> void StorageManager::createSessionStorageNamespace(uint64_t storageNamespaceID, unsigned quotaInBytes)
</span><span class="cx"> {
</span><del>- m_queue->dispatch([this, protectedThis = Ref<StorageManager>(*this), storageNamespaceID, quotaInBytes]() mutable {
</del><ins>+ m_queue->dispatch([this, protectedThis = makeRef(*this), storageNamespaceID, quotaInBytes]() mutable {
</ins><span class="cx"> ASSERT(!m_sessionStorageNamespaces.contains(storageNamespaceID));
</span><span class="cx">
</span><span class="cx"> m_sessionStorageNamespaces.set(storageNamespaceID, SessionStorageNamespace::create(quotaInBytes));
</span><span class="lines">@@ -482,7 +482,7 @@
</span><span class="cx">
</span><span class="cx"> void StorageManager::destroySessionStorageNamespace(uint64_t storageNamespaceID)
</span><span class="cx"> {
</span><del>- m_queue->dispatch([this, protectedThis = Ref<StorageManager>(*this), storageNamespaceID] {
</del><ins>+ m_queue->dispatch([this, protectedThis = makeRef(*this), storageNamespaceID] {
</ins><span class="cx"> ASSERT(m_sessionStorageNamespaces.contains(storageNamespaceID));
</span><span class="cx"> m_sessionStorageNamespaces.remove(storageNamespaceID);
</span><span class="cx"> });
</span><span class="lines">@@ -490,7 +490,7 @@
</span><span class="cx">
</span><span class="cx"> void StorageManager::setAllowedSessionStorageNamespaceConnection(uint64_t storageNamespaceID, IPC::Connection* allowedConnection)
</span><span class="cx"> {
</span><del>- m_queue->dispatch([this, protectedThis = Ref<StorageManager>(*this), connection = RefPtr<IPC::Connection>(allowedConnection), storageNamespaceID]() mutable {
</del><ins>+ m_queue->dispatch([this, protectedThis = makeRef(*this), connection = RefPtr<IPC::Connection>(allowedConnection), storageNamespaceID]() mutable {
</ins><span class="cx"> ASSERT(m_sessionStorageNamespaces.contains(storageNamespaceID));
</span><span class="cx">
</span><span class="cx"> m_sessionStorageNamespaces.get(storageNamespaceID)->setAllowedConnection(connection.get());
</span><span class="lines">@@ -499,7 +499,7 @@
</span><span class="cx">
</span><span class="cx"> void StorageManager::cloneSessionStorageNamespace(uint64_t storageNamespaceID, uint64_t newStorageNamespaceID)
</span><span class="cx"> {
</span><del>- m_queue->dispatch([this, protectedThis = Ref<StorageManager>(*this), storageNamespaceID, newStorageNamespaceID] {
</del><ins>+ m_queue->dispatch([this, protectedThis = makeRef(*this), storageNamespaceID, newStorageNamespaceID] {
</ins><span class="cx"> SessionStorageNamespace* sessionStorageNamespace = m_sessionStorageNamespaces.get(storageNamespaceID);
</span><span class="cx"> if (!sessionStorageNamespace) {
</span><span class="cx"> // FIXME: We can get into this situation if someone closes the originating page from within a
</span><span class="lines">@@ -524,7 +524,7 @@
</span><span class="cx"> {
</span><span class="cx"> connection.removeWorkQueueMessageReceiver(Messages::StorageManager::messageReceiverName());
</span><span class="cx">
</span><del>- m_queue->dispatch([this, protectedThis = Ref<StorageManager>(*this), connection = Ref<IPC::Connection>(connection)]() mutable {
</del><ins>+ m_queue->dispatch([this, protectedThis = makeRef(*this), connection = Ref<IPC::Connection>(connection)]() mutable {
</ins><span class="cx"> Vector<std::pair<RefPtr<IPC::Connection>, uint64_t>> connectionAndStorageMapIDPairsToRemove;
</span><span class="cx"> for (auto& storageArea : m_storageAreasByConnection) {
</span><span class="cx"> if (storageArea.key.first != connection.ptr())
</span><span class="lines">@@ -543,7 +543,7 @@
</span><span class="cx"> {
</span><span class="cx"> RefPtr<StorageManager> storageManager(this);
</span><span class="cx">
</span><del>- m_queue->dispatch([this, protectedThis = Ref<StorageManager>(*this), completionHandler = WTFMove(completionHandler)]() mutable {
</del><ins>+ m_queue->dispatch([this, protectedThis = makeRef(*this), completionHandler = WTFMove(completionHandler)]() mutable {
</ins><span class="cx"> HashSet<RefPtr<SecurityOrigin>> origins;
</span><span class="cx">
</span><span class="cx"> for (const auto& sessionStorageNamespace : m_sessionStorageNamespaces.values()) {
</span><span class="lines">@@ -559,7 +559,7 @@
</span><span class="cx">
</span><span class="cx"> void StorageManager::deleteSessionStorageOrigins(std::function<void ()>&& completionHandler)
</span><span class="cx"> {
</span><del>- m_queue->dispatch([this, protectedThis = Ref<StorageManager>(*this), completionHandler = WTFMove(completionHandler)]() mutable {
</del><ins>+ m_queue->dispatch([this, protectedThis = makeRef(*this), completionHandler = WTFMove(completionHandler)]() mutable {
</ins><span class="cx"> for (auto& sessionStorageNamespace : m_sessionStorageNamespaces.values())
</span><span class="cx"> sessionStorageNamespace->clearAllStorageAreas();
</span><span class="cx">
</span><span class="lines">@@ -575,7 +575,7 @@
</span><span class="cx"> for (auto& origin : origins)
</span><span class="cx"> copiedOrigins.uncheckedAppend(origin->isolatedCopy());
</span><span class="cx">
</span><del>- m_queue->dispatch([this, protectedThis = Ref<StorageManager>(*this), copiedOrigins = WTFMove(copiedOrigins), completionHandler = WTFMove(completionHandler)]() mutable {
</del><ins>+ m_queue->dispatch([this, protectedThis = makeRef(*this), copiedOrigins = WTFMove(copiedOrigins), completionHandler = WTFMove(completionHandler)]() mutable {
</ins><span class="cx"> for (auto& origin : copiedOrigins) {
</span><span class="cx"> for (auto& sessionStorageNamespace : m_sessionStorageNamespaces.values())
</span><span class="cx"> sessionStorageNamespace->clearStorageAreasMatchingOrigin(*origin);
</span><span class="lines">@@ -587,7 +587,7 @@
</span><span class="cx">
</span><span class="cx"> void StorageManager::getLocalStorageOrigins(std::function<void (HashSet<RefPtr<WebCore::SecurityOrigin>>&&)>&& completionHandler)
</span><span class="cx"> {
</span><del>- m_queue->dispatch([this, protectedThis = Ref<StorageManager>(*this), completionHandler = WTFMove(completionHandler)]() mutable {
</del><ins>+ m_queue->dispatch([this, protectedThis = makeRef(*this), completionHandler = WTFMove(completionHandler)]() mutable {
</ins><span class="cx"> HashSet<RefPtr<SecurityOrigin>> origins;
</span><span class="cx">
</span><span class="cx"> for (auto& origin : m_localStorageDatabaseTracker->origins())
</span><span class="lines">@@ -606,7 +606,7 @@
</span><span class="cx">
</span><span class="cx"> void StorageManager::getLocalStorageOriginDetails(std::function<void (Vector<LocalStorageDatabaseTracker::OriginDetails>)>&& completionHandler)
</span><span class="cx"> {
</span><del>- m_queue->dispatch([this, protectedThis = Ref<StorageManager>(*this), completionHandler = WTFMove(completionHandler)]() mutable {
</del><ins>+ m_queue->dispatch([this, protectedThis = makeRef(*this), completionHandler = WTFMove(completionHandler)]() mutable {
</ins><span class="cx"> auto originDetails = m_localStorageDatabaseTracker->originDetails();
</span><span class="cx">
</span><span class="cx"> RunLoop::main().dispatch([originDetails = WTFMove(originDetails), completionHandler = WTFMove(completionHandler)]() mutable {
</span><span class="lines">@@ -617,7 +617,7 @@
</span><span class="cx">
</span><span class="cx"> void StorageManager::deleteLocalStorageEntriesForOrigin(const SecurityOrigin& securityOrigin)
</span><span class="cx"> {
</span><del>- m_queue->dispatch([this, protectedThis = Ref<StorageManager>(*this), copiedOrigin = securityOrigin.isolatedCopy()]() mutable {
</del><ins>+ m_queue->dispatch([this, protectedThis = makeRef(*this), copiedOrigin = securityOrigin.isolatedCopy()]() mutable {
</ins><span class="cx"> for (auto& localStorageNamespace : m_localStorageNamespaces.values())
</span><span class="cx"> localStorageNamespace->clearStorageAreasMatchingOrigin(copiedOrigin);
</span><span class="cx">
</span><span class="lines">@@ -630,7 +630,7 @@
</span><span class="cx">
</span><span class="cx"> void StorageManager::deleteLocalStorageOriginsModifiedSince(std::chrono::system_clock::time_point time, std::function<void ()>&& completionHandler)
</span><span class="cx"> {
</span><del>- m_queue->dispatch([this, protectedThis = Ref<StorageManager>(*this), time, completionHandler = WTFMove(completionHandler)]() mutable {
</del><ins>+ m_queue->dispatch([this, protectedThis = makeRef(*this), time, completionHandler = WTFMove(completionHandler)]() mutable {
</ins><span class="cx"> auto deletedOrigins = m_localStorageDatabaseTracker->deleteDatabasesModifiedSince(time);
</span><span class="cx">
</span><span class="cx"> for (const auto& origin : deletedOrigins) {
</span><span class="lines">@@ -653,7 +653,7 @@
</span><span class="cx"> for (auto& origin : origins)
</span><span class="cx"> copiedOrigins.uncheckedAppend(origin->isolatedCopy());
</span><span class="cx">
</span><del>- m_queue->dispatch([this, protectedThis = Ref<StorageManager>(*this), copiedOrigins = WTFMove(copiedOrigins), completionHandler = WTFMove(completionHandler)]() mutable {
</del><ins>+ m_queue->dispatch([this, protectedThis = makeRef(*this), copiedOrigins = WTFMove(copiedOrigins), completionHandler = WTFMove(completionHandler)]() mutable {
</ins><span class="cx"> for (auto& origin : copiedOrigins) {
</span><span class="cx"> for (auto& localStorageNamespace : m_localStorageNamespaces.values())
</span><span class="cx"> localStorageNamespace->clearStorageAreasMatchingOrigin(*origin);
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebResourceLoadStatisticsStorecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebResourceLoadStatisticsStore.cpp (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebResourceLoadStatisticsStore.cpp        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebKit2/UIProcess/WebResourceLoadStatisticsStore.cpp        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -117,7 +117,7 @@
</span><span class="cx"> if (!m_resourceLoadStatisticsEnabled)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- m_statisticsQueue->dispatch([this, protectedThis = Ref<WebResourceLoadStatisticsStore>(*this)] {
</del><ins>+ m_statisticsQueue->dispatch([this, protectedThis = makeRef(*this)] {
</ins><span class="cx"> coreStore().clear();
</span><span class="cx">
</span><span class="cx"> auto decoder = createDecoderFromDisk("full_browsing_session");
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebsiteDataWebsiteDataStorecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.cpp (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.cpp        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebKit2/UIProcess/WebsiteData/WebsiteDataStore.cpp        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -231,7 +231,7 @@
</span><span class="cx"> if (pendingCallbacks)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- RunLoop::main().dispatch([callbackAggregator = Ref<CallbackAggregator>(*this)]() mutable {
</del><ins>+ RunLoop::main().dispatch([callbackAggregator = makeRef(*this)]() mutable {
</ins><span class="cx">
</span><span class="cx"> WTF::Vector<WebsiteDataRecord> records;
</span><span class="cx"> records.reserveInitialCapacity(callbackAggregator->m_websiteDataRecords.size());
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessPluginsNetscapeNetscapePlugincpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -302,7 +302,7 @@
</span><span class="cx">
</span><span class="cx"> void NetscapePlugin::pluginThreadAsyncCall(void (*function)(void*), void* userData)
</span><span class="cx"> {
</span><del>- RunLoop::main().dispatch([protectedThis = Ref<NetscapePlugin>(*this), function, userData] {
</del><ins>+ RunLoop::main().dispatch([protectedThis = makeRef(*this), function, userData] {
</ins><span class="cx"> if (!protectedThis->m_isStarted)
</span><span class="cx"> return;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageEventDispatchercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/EventDispatcher.cpp (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/EventDispatcher.cpp        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebKit2/WebProcess/WebPage/EventDispatcher.cpp        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -138,7 +138,7 @@
</span><span class="cx"> UNUSED_PARAM(canRubberBandAtBottom);
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>- RunLoop::main().dispatch([protectedThis = Ref<EventDispatcher>(*this), pageID, wheelEvent]() mutable {
</del><ins>+ RunLoop::main().dispatch([protectedThis = makeRef(*this), pageID, wheelEvent]() mutable {
</ins><span class="cx"> protectedThis->dispatchWheelEvent(pageID, wheelEvent);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -146,7 +146,7 @@
</span><span class="cx"> #if ENABLE(MAC_GESTURE_EVENTS)
</span><span class="cx"> void EventDispatcher::gestureEvent(uint64_t pageID, const WebKit::WebGestureEvent& gestureEvent)
</span><span class="cx"> {
</span><del>- RunLoop::main().dispatch([protectedThis = Ref<EventDispatcher>(*this), pageID, gestureEvent]() mutable {
</del><ins>+ RunLoop::main().dispatch([protectedThis = makeRef(*this), pageID, gestureEvent]() mutable {
</ins><span class="cx"> protectedThis->dispatchGestureEvent(pageID, gestureEvent);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="lines">@@ -189,7 +189,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if (updateListWasEmpty) {
</span><del>- RunLoop::main().dispatch([protectedThis = Ref<EventDispatcher>(*this)]() mutable {
</del><ins>+ RunLoop::main().dispatch([protectedThis = makeRef(*this)]() mutable {
</ins><span class="cx"> protectedThis->dispatchTouchEvents();
</span><span class="cx"> });
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageViewUpdateDispatchercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/ViewUpdateDispatcher.cpp (203302 => 203303)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/ViewUpdateDispatcher.cpp        2016-07-15 21:35:40 UTC (rev 203302)
+++ trunk/Source/WebKit2/WebProcess/WebPage/ViewUpdateDispatcher.cpp        2016-07-15 21:51:07 UTC (rev 203303)
</span><span class="lines">@@ -67,7 +67,7 @@
</span><span class="cx"> iterator->value.visibleContentRectUpdateInfo = visibleContentRectUpdateInfo;
</span><span class="cx"> }
</span><span class="cx"> if (updateListWasEmpty) {
</span><del>- RunLoop::main().dispatch([protectedThis = Ref<ViewUpdateDispatcher>(*this)]() mutable {
</del><ins>+ RunLoop::main().dispatch([protectedThis = makeRef(*this)]() mutable {
</ins><span class="cx"> protectedThis->dispatchVisibleContentRectUpdate();
</span><span class="cx"> });
</span><span class="cx"> }
</span></span></pre>
</div>
</div>
</body>
</html>