<!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>[200895] trunk/Source/WebCore</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/200895">200895</a></dd>
<dt>Author</dt> <dd>beidson@apple.com</dd>
<dt>Date</dt> <dd>2016-05-13 16:42:17 -0700 (Fri, 13 May 2016)</dd>
</dl>
<h3>Log Message</h3>
<pre>Rename all protector variables that should be called `protectedThis`
https://bugs.webkit.org/show_bug.cgi?id=157610
Reviewed by Alex Christensen.
No new tests (Renaming, no behavior change).
WebCore has so many instances of these protectors as well as so much variance in naming them,
that I think it deserved a new style pass.
* Modules/fetch/FetchResponse.cpp:
* Modules/geolocation/GeoNotifier.cpp:
* Modules/geolocation/Geolocation.cpp:
* Modules/indexeddb/IDBTransaction.cpp:
* Modules/indexeddb/client/TransactionOperation.h:
* Modules/indexeddb/server/UniqueIDBDatabase.cpp:
* Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
* Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
* Modules/indexeddb/shared/InProcessIDBServer.cpp:
* Modules/mediastream/UserMediaRequest.cpp:
* Modules/notifications/NotificationCenter.cpp:
* Modules/webaudio/AudioContext.cpp:
* Modules/webdatabase/Database.cpp:
* Modules/websockets/WebSocket.cpp:
* Modules/websockets/WebSocketChannel.cpp:
* Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
* accessibility/AccessibilityObject.cpp:
* accessibility/AccessibilityRenderObject.cpp:
* bindings/gobject/GObjectEventListener.cpp:
* bindings/js/JSCustomElementInterface.cpp:
* bindings/js/JSCustomSQLStatementErrorCallback.cpp:
* bindings/js/JSCustomXPathNSResolver.cpp:
* bindings/js/JSDOMGlobalObjectTask.cpp:
* bindings/js/JSDOMWindowBase.cpp:
* bindings/js/JSErrorHandler.cpp:
* bindings/js/JSEventListener.cpp:
* bindings/js/JSMutationCallback.cpp:
* bindings/js/JSNodeFilterCustom.cpp:
* bindings/js/SerializedScriptValue.cpp:
* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/test/JS/JSTestCallback.cpp:
* bindings/scripts/test/JS/JSTestCallbackFunction.cpp:
* bridge/runtime_root.cpp:
* css/CSSFontSelector.cpp:
* css/StyleSheetContents.cpp:
* dom/CharacterData.cpp:
* dom/ContainerNode.cpp:
* dom/Document.cpp:
* dom/EventTarget.cpp:
* dom/Node.cpp:
* dom/ScriptExecutionContext.cpp:
* dom/ScriptedAnimationController.cpp:
* dom/StringCallback.cpp:
* html/HTMLEmbedElement.cpp:
* html/HTMLFormControlElement.cpp:
* html/HTMLFormElement.cpp:
* html/HTMLInputElement.cpp:
* html/HTMLLinkElement.cpp:
* html/HTMLMediaElement.cpp:
* html/HTMLObjectElement.cpp:
* html/HTMLOptionElement.cpp:
* html/HTMLScriptElement.cpp:
* html/HTMLTableElement.cpp:
* html/HTMLTextAreaElement.cpp:
* html/HTMLTitleElement.cpp:
* html/parser/HTMLDocumentParser.cpp:
* html/shadow/SliderThumbElement.cpp:
* html/shadow/SpinButtonElement.cpp:
* inspector/InspectorFrontendClientLocal.cpp:
* loader/DocumentLoader.cpp:
* loader/DocumentThreadableLoader.cpp:
* loader/MediaResourceLoader.cpp:
* loader/NetscapePlugInStreamLoader.cpp:
* loader/ResourceLoader.cpp:
* loader/SubresourceLoader.cpp:
* loader/cache/CachedRawResource.cpp:
* loader/cf/SubresourceLoaderCF.cpp:
* loader/mac/ResourceLoaderMac.mm:
* page/DOMWindow.cpp:
* page/DOMWindowExtension.cpp:
* page/FrameView.cpp:
* page/animation/AnimationBase.cpp:
* page/scrolling/ThreadedScrollingTree.cpp:
* platform/ScrollView.cpp:
* platform/graphics/DisplayRefreshMonitor.cpp:
* platform/graphics/ca/win/CACFLayerTreeHost.cpp:
* platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
* platform/ios/WebVideoFullscreenControllerAVKit.mm:
* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
* platform/mac/WidgetMac.mm:
* platform/network/BlobResourceHandle.cpp:
* platform/network/cf/ResourceHandleCFNet.cpp:
* platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:
* platform/network/curl/CurlDownload.cpp:
* platform/network/mac/ResourceHandleMac.mm:
* platform/network/soup/SocketStreamHandleSoup.cpp:
* platform/win/PopupMenuWin.cpp:
* workers/WorkerScriptLoader.cpp:
* xml/XMLHttpRequest.cpp:
* xml/parser/XMLDocumentParser.cpp:
* xml/parser/XMLDocumentParserLibxml2.cpp:</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulesfetchFetchResponsecpp">trunk/Source/WebCore/Modules/fetch/FetchResponse.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesgeolocationGeoNotifiercpp">trunk/Source/WebCore/Modules/geolocation/GeoNotifier.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesgeolocationGeolocationcpp">trunk/Source/WebCore/Modules/geolocation/Geolocation.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbIDBTransactioncpp">trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbclientTransactionOperationh">trunk/Source/WebCore/Modules/indexeddb/client/TransactionOperation.h</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbserverUniqueIDBDatabasecpp">trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbserverUniqueIDBDatabaseConnectioncpp">trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbserverUniqueIDBDatabaseTransactioncpp">trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesindexeddbsharedInProcessIDBServercpp">trunk/Source/WebCore/Modules/indexeddb/shared/InProcessIDBServer.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesmediastreamUserMediaRequestcpp">trunk/Source/WebCore/Modules/mediastream/UserMediaRequest.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesnotificationsNotificationCentercpp">trunk/Source/WebCore/Modules/notifications/NotificationCenter.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebaudioAudioContextcpp">trunk/Source/WebCore/Modules/webaudio/AudioContext.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebdatabaseDatabasecpp">trunk/Source/WebCore/Modules/webdatabase/Database.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebsocketsWebSocketcpp">trunk/Source/WebCore/Modules/websockets/WebSocket.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebsocketsWebSocketChannelcpp">trunk/Source/WebCore/Modules/websockets/WebSocketChannel.cpp</a></li>
<li><a href="#trunkSourceWebCoreModuleswebsocketsWorkerThreadableWebSocketChannelcpp">trunk/Source/WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.cpp</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityAccessibilityObjectcpp">trunk/Source/WebCore/accessibility/AccessibilityObject.cpp</a></li>
<li><a href="#trunkSourceWebCoreaccessibilityAccessibilityRenderObjectcpp">trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsgobjectGObjectEventListenercpp">trunk/Source/WebCore/bindings/gobject/GObjectEventListener.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSCustomElementInterfacecpp">trunk/Source/WebCore/bindings/js/JSCustomElementInterface.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSCustomSQLStatementErrorCallbackcpp">trunk/Source/WebCore/bindings/js/JSCustomSQLStatementErrorCallback.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSCustomXPathNSResolvercpp">trunk/Source/WebCore/bindings/js/JSCustomXPathNSResolver.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMGlobalObjectTaskcpp">trunk/Source/WebCore/bindings/js/JSDOMGlobalObjectTask.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMWindowBasecpp">trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSErrorHandlercpp">trunk/Source/WebCore/bindings/js/JSErrorHandler.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSEventListenercpp">trunk/Source/WebCore/bindings/js/JSEventListener.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSMutationCallbackcpp">trunk/Source/WebCore/bindings/js/JSMutationCallback.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSNodeFilterCustomcpp">trunk/Source/WebCore/bindings/js/JSNodeFilterCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsSerializedScriptValuecpp">trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm">trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestCallbackcpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallback.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptstestJSJSTestCallbackFunctioncpp">trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunction.cpp</a></li>
<li><a href="#trunkSourceWebCorebridgeruntime_rootcpp">trunk/Source/WebCore/bridge/runtime_root.cpp</a></li>
<li><a href="#trunkSourceWebCorecssCSSFontSelectorcpp">trunk/Source/WebCore/css/CSSFontSelector.cpp</a></li>
<li><a href="#trunkSourceWebCorecssStyleSheetContentscpp">trunk/Source/WebCore/css/StyleSheetContents.cpp</a></li>
<li><a href="#trunkSourceWebCoredomCharacterDatacpp">trunk/Source/WebCore/dom/CharacterData.cpp</a></li>
<li><a href="#trunkSourceWebCoredomContainerNodecpp">trunk/Source/WebCore/dom/ContainerNode.cpp</a></li>
<li><a href="#trunkSourceWebCoredomDocumentcpp">trunk/Source/WebCore/dom/Document.cpp</a></li>
<li><a href="#trunkSourceWebCoredomEventTargetcpp">trunk/Source/WebCore/dom/EventTarget.cpp</a></li>
<li><a href="#trunkSourceWebCoredomNodecpp">trunk/Source/WebCore/dom/Node.cpp</a></li>
<li><a href="#trunkSourceWebCoredomScriptExecutionContextcpp">trunk/Source/WebCore/dom/ScriptExecutionContext.cpp</a></li>
<li><a href="#trunkSourceWebCoredomScriptedAnimationControllercpp">trunk/Source/WebCore/dom/ScriptedAnimationController.cpp</a></li>
<li><a href="#trunkSourceWebCoredomStringCallbackcpp">trunk/Source/WebCore/dom/StringCallback.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLEmbedElementcpp">trunk/Source/WebCore/html/HTMLEmbedElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLFormControlElementcpp">trunk/Source/WebCore/html/HTMLFormControlElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLFormElementcpp">trunk/Source/WebCore/html/HTMLFormElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLInputElementcpp">trunk/Source/WebCore/html/HTMLInputElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLLinkElementcpp">trunk/Source/WebCore/html/HTMLLinkElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLMediaElementcpp">trunk/Source/WebCore/html/HTMLMediaElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLObjectElementcpp">trunk/Source/WebCore/html/HTMLObjectElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLOptionElementcpp">trunk/Source/WebCore/html/HTMLOptionElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLScriptElementcpp">trunk/Source/WebCore/html/HTMLScriptElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTableElementcpp">trunk/Source/WebCore/html/HTMLTableElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTextAreaElementcpp">trunk/Source/WebCore/html/HTMLTextAreaElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlHTMLTitleElementcpp">trunk/Source/WebCore/html/HTMLTitleElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlparserHTMLDocumentParsercpp">trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlshadowSliderThumbElementcpp">trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp</a></li>
<li><a href="#trunkSourceWebCorehtmlshadowSpinButtonElementcpp">trunk/Source/WebCore/html/shadow/SpinButtonElement.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorFrontendClientLocalcpp">trunk/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderDocumentLoadercpp">trunk/Source/WebCore/loader/DocumentLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderDocumentThreadableLoadercpp">trunk/Source/WebCore/loader/DocumentThreadableLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderMediaResourceLoadercpp">trunk/Source/WebCore/loader/MediaResourceLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderNetscapePlugInStreamLoadercpp">trunk/Source/WebCore/loader/NetscapePlugInStreamLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderResourceLoadercpp">trunk/Source/WebCore/loader/ResourceLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderSubresourceLoadercpp">trunk/Source/WebCore/loader/SubresourceLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedRawResourcecpp">trunk/Source/WebCore/loader/cache/CachedRawResource.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercfSubresourceLoaderCFcpp">trunk/Source/WebCore/loader/cf/SubresourceLoaderCF.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadermacResourceLoaderMacmm">trunk/Source/WebCore/loader/mac/ResourceLoaderMac.mm</a></li>
<li><a href="#trunkSourceWebCorepageDOMWindowcpp">trunk/Source/WebCore/page/DOMWindow.cpp</a></li>
<li><a href="#trunkSourceWebCorepageDOMWindowExtensioncpp">trunk/Source/WebCore/page/DOMWindowExtension.cpp</a></li>
<li><a href="#trunkSourceWebCorepageFrameViewcpp">trunk/Source/WebCore/page/FrameView.cpp</a></li>
<li><a href="#trunkSourceWebCorepageanimationAnimationBasecpp">trunk/Source/WebCore/page/animation/AnimationBase.cpp</a></li>
<li><a href="#trunkSourceWebCorepagescrollingThreadedScrollingTreecpp">trunk/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformScrollViewcpp">trunk/Source/WebCore/platform/ScrollView.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsDisplayRefreshMonitorcpp">trunk/Source/WebCore/platform/graphics/DisplayRefreshMonitor.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicscawinCACFLayerTreeHostcpp">trunk/Source/WebCore/platform/graphics/ca/win/CACFLayerTreeHost.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformgraphicsgstreamerInbandTextTrackPrivateGStreamercpp">trunk/Source/WebCore/platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformiosWebVideoFullscreenControllerAVKitmm">trunk/Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformiosWebVideoFullscreenInterfaceAVKitmm">trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformmacWidgetMacmm">trunk/Source/WebCore/platform/mac/WidgetMac.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkBlobResourceHandlecpp">trunk/Source/WebCore/platform/network/BlobResourceHandle.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcfResourceHandleCFNetcpp">trunk/Source/WebCore/platform/network/cf/ResourceHandleCFNet.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcfResourceHandleCFURLConnectionDelegateWithOperationQueuecpp">trunk/Source/WebCore/platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkcurlCurlDownloadcpp">trunk/Source/WebCore/platform/network/curl/CurlDownload.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkmacResourceHandleMacmm">trunk/Source/WebCore/platform/network/mac/ResourceHandleMac.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworksoupSocketStreamHandleSoupcpp">trunk/Source/WebCore/platform/network/soup/SocketStreamHandleSoup.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformwinPopupMenuWincpp">trunk/Source/WebCore/platform/win/PopupMenuWin.cpp</a></li>
<li><a href="#trunkSourceWebCoreworkersWorkerScriptLoadercpp">trunk/Source/WebCore/workers/WorkerScriptLoader.cpp</a></li>
<li><a href="#trunkSourceWebCorexmlXMLHttpRequestcpp">trunk/Source/WebCore/xml/XMLHttpRequest.cpp</a></li>
<li><a href="#trunkSourceWebCorexmlparserXMLDocumentParsercpp">trunk/Source/WebCore/xml/parser/XMLDocumentParser.cpp</a></li>
<li><a href="#trunkSourceWebCorexmlparserXMLDocumentParserLibxml2cpp">trunk/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/ChangeLog        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -1,3 +1,107 @@
</span><ins>+2016-05-13 Brady Eidson <beidson@apple.com>
+
+ Rename all protector variables that should be called `protectedThis`
+ https://bugs.webkit.org/show_bug.cgi?id=157610
+
+ Reviewed by Alex Christensen.
+
+ No new tests (Renaming, no behavior change).
+
+ WebCore has so many instances of these protectors as well as so much variance in naming them,
+ that I think it deserved a new style pass.
+
+ * Modules/fetch/FetchResponse.cpp:
+ * Modules/geolocation/GeoNotifier.cpp:
+ * Modules/geolocation/Geolocation.cpp:
+ * Modules/indexeddb/IDBTransaction.cpp:
+ * Modules/indexeddb/client/TransactionOperation.h:
+ * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
+ * Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
+ * Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
+ * Modules/indexeddb/shared/InProcessIDBServer.cpp:
+ * Modules/mediastream/UserMediaRequest.cpp:
+ * Modules/notifications/NotificationCenter.cpp:
+ * Modules/webaudio/AudioContext.cpp:
+ * Modules/webdatabase/Database.cpp:
+ * Modules/websockets/WebSocket.cpp:
+ * Modules/websockets/WebSocketChannel.cpp:
+ * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
+ * accessibility/AccessibilityObject.cpp:
+ * accessibility/AccessibilityRenderObject.cpp:
+ * bindings/gobject/GObjectEventListener.cpp:
+ * bindings/js/JSCustomElementInterface.cpp:
+ * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
+ * bindings/js/JSCustomXPathNSResolver.cpp:
+ * bindings/js/JSDOMGlobalObjectTask.cpp:
+ * bindings/js/JSDOMWindowBase.cpp:
+ * bindings/js/JSErrorHandler.cpp:
+ * bindings/js/JSEventListener.cpp:
+ * bindings/js/JSMutationCallback.cpp:
+ * bindings/js/JSNodeFilterCustom.cpp:
+ * bindings/js/SerializedScriptValue.cpp:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ * bindings/scripts/test/JS/JSTestCallback.cpp:
+ * bindings/scripts/test/JS/JSTestCallbackFunction.cpp:
+ * bridge/runtime_root.cpp:
+ * css/CSSFontSelector.cpp:
+ * css/StyleSheetContents.cpp:
+ * dom/CharacterData.cpp:
+ * dom/ContainerNode.cpp:
+ * dom/Document.cpp:
+ * dom/EventTarget.cpp:
+ * dom/Node.cpp:
+ * dom/ScriptExecutionContext.cpp:
+ * dom/ScriptedAnimationController.cpp:
+ * dom/StringCallback.cpp:
+ * html/HTMLEmbedElement.cpp:
+ * html/HTMLFormControlElement.cpp:
+ * html/HTMLFormElement.cpp:
+ * html/HTMLInputElement.cpp:
+ * html/HTMLLinkElement.cpp:
+ * html/HTMLMediaElement.cpp:
+ * html/HTMLObjectElement.cpp:
+ * html/HTMLOptionElement.cpp:
+ * html/HTMLScriptElement.cpp:
+ * html/HTMLTableElement.cpp:
+ * html/HTMLTextAreaElement.cpp:
+ * html/HTMLTitleElement.cpp:
+ * html/parser/HTMLDocumentParser.cpp:
+ * html/shadow/SliderThumbElement.cpp:
+ * html/shadow/SpinButtonElement.cpp:
+ * inspector/InspectorFrontendClientLocal.cpp:
+ * loader/DocumentLoader.cpp:
+ * loader/DocumentThreadableLoader.cpp:
+ * loader/MediaResourceLoader.cpp:
+ * loader/NetscapePlugInStreamLoader.cpp:
+ * loader/ResourceLoader.cpp:
+ * loader/SubresourceLoader.cpp:
+ * loader/cache/CachedRawResource.cpp:
+ * loader/cf/SubresourceLoaderCF.cpp:
+ * loader/mac/ResourceLoaderMac.mm:
+ * page/DOMWindow.cpp:
+ * page/DOMWindowExtension.cpp:
+ * page/FrameView.cpp:
+ * page/animation/AnimationBase.cpp:
+ * page/scrolling/ThreadedScrollingTree.cpp:
+ * platform/ScrollView.cpp:
+ * platform/graphics/DisplayRefreshMonitor.cpp:
+ * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
+ * platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
+ * platform/ios/WebVideoFullscreenControllerAVKit.mm:
+ * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
+ * platform/mac/WidgetMac.mm:
+ * platform/network/BlobResourceHandle.cpp:
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:
+ * platform/network/curl/CurlDownload.cpp:
+ * platform/network/mac/ResourceHandleMac.mm:
+ * platform/network/soup/SocketStreamHandleSoup.cpp:
+ * platform/win/PopupMenuWin.cpp:
+ * workers/WorkerScriptLoader.cpp:
+ * xml/XMLHttpRequest.cpp:
+ * xml/parser/XMLDocumentParser.cpp:
+ * xml/parser/XMLDocumentParserLibxml2.cpp:
+
</ins><span class="cx"> 2016-05-13 Enrica Casucci <enrica@apple.com>
</span><span class="cx">
</span><span class="cx"> Remove unused initializer for WebEvent on iOS.
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesfetchFetchResponsecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/fetch/FetchResponse.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/fetch/FetchResponse.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/Modules/fetch/FetchResponse.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -291,7 +291,7 @@
</span><span class="cx">
</span><span class="cx"> void FetchResponse::stop()
</span><span class="cx"> {
</span><del>- RefPtr<FetchResponse> protect(this);
</del><ins>+ RefPtr<FetchResponse> protectedThis(this);
</ins><span class="cx"> FetchBodyOwner::stop();
</span><span class="cx"> if (m_bodyLoader) {
</span><span class="cx"> m_bodyLoader->stop();
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesgeolocationGeoNotifiercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/geolocation/GeoNotifier.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/geolocation/GeoNotifier.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/Modules/geolocation/GeoNotifier.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -106,7 +106,7 @@
</span><span class="cx">
</span><span class="cx"> // Protect this GeoNotifier object, since it
</span><span class="cx"> // could be deleted by a call to clearWatch in a callback.
</span><del>- Ref<GeoNotifier> protect(*this);
</del><ins>+ Ref<GeoNotifier> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> // Test for fatal error first. This is required for the case where the Frame is
</span><span class="cx"> // disconnected and requests are cancelled.
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesgeolocationGeolocationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/geolocation/Geolocation.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/geolocation/Geolocation.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/Modules/geolocation/Geolocation.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -455,7 +455,7 @@
</span><span class="cx"> void Geolocation::setIsAllowed(bool allowed)
</span><span class="cx"> {
</span><span class="cx"> // Protect the Geolocation object from garbage collection during a callback.
</span><del>- Ref<Geolocation> protect(*this);
</del><ins>+ Ref<Geolocation> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> // This may be due to either a new position from the service, or a cached
</span><span class="cx"> // position.
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbIDBTransactioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -947,19 +947,19 @@
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- RefPtr<IDBTransaction> protector(this);
- RefPtr<IDBClient::TransactionOperation> operationRef(&operation);
- value->writeBlobsToDiskForIndexedDB([protector, this, operationRef, key, value, overwriteMode](const IDBValue& idbValue) {
</del><ins>+ RefPtr<IDBTransaction> protectedThis(this);
+ RefPtr<IDBClient::TransactionOperation> protectedOperation(&operation);
+ value->writeBlobsToDiskForIndexedDB([protectedThis, this, protectedOperation, key, value, overwriteMode](const IDBValue& idbValue) {
</ins><span class="cx"> if (idbValue.data().data()) {
</span><del>- m_database->connectionProxy().putOrAdd(*operationRef, key.get(), idbValue, overwriteMode);
</del><ins>+ m_database->connectionProxy().putOrAdd(*protectedOperation, key.get(), idbValue, overwriteMode);
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // If the IDBValue doesn't have any data, then something went wrong writing the blobs to disk.
</span><span class="cx"> // In that case, we cannot successfully store this record, so we callback with an error.
</span><del>- auto result = IDBResultData::error(operationRef->identifier(), { IDBDatabaseException::UnknownError, ASCIILiteral("Error preparing Blob/File data to be stored in object store") });
- callOnMainThread([protector, this, operationRef, result]() {
- operationRef->completed(result);
</del><ins>+ auto result = IDBResultData::error(protectedOperation->identifier(), { IDBDatabaseException::UnknownError, ASCIILiteral("Error preparing Blob/File data to be stored in object store") });
+ callOnMainThread([protectedThis, this, protectedOperation, result]() {
+ protectedOperation->completed(result);
</ins><span class="cx"> });
</span><span class="cx"> });
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbclientTransactionOperationh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/client/TransactionOperation.h (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/client/TransactionOperation.h        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/Modules/indexeddb/client/TransactionOperation.h        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -114,15 +114,15 @@
</span><span class="cx"> TransactionOperationImpl(IDBTransaction& transaction, void (IDBTransaction::*completeMethod)(const IDBResultData&), void (IDBTransaction::*performMethod)(TransactionOperation&, Arguments...), Arguments&&... arguments)
</span><span class="cx"> : TransactionOperation(transaction)
</span><span class="cx"> {
</span><del>- RefPtr<TransactionOperation> self(this);
</del><ins>+ RefPtr<TransactionOperation> protectedThis(this);
</ins><span class="cx">
</span><span class="cx"> ASSERT(performMethod);
</span><del>- m_performFunction = [self, this, performMethod, arguments...] {
</del><ins>+ m_performFunction = [protectedThis, this, performMethod, arguments...] {
</ins><span class="cx"> (&m_transaction.get()->*performMethod)(*this, arguments...);
</span><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> if (completeMethod) {
</span><del>- m_completeFunction = [self, this, completeMethod](const IDBResultData& resultData) {
</del><ins>+ m_completeFunction = [protectedThis, this, completeMethod](const IDBResultData& resultData) {
</ins><span class="cx"> if (completeMethod)
</span><span class="cx"> (&m_transaction.get()->*completeMethod)(resultData);
</span><span class="cx"> };
</span><span class="lines">@@ -132,16 +132,16 @@
</span><span class="cx"> TransactionOperationImpl(IDBTransaction& transaction, IDBRequest& request, void (IDBTransaction::*completeMethod)(IDBRequest&, const IDBResultData&), void (IDBTransaction::*performMethod)(TransactionOperation&, Arguments...), Arguments&&... arguments)
</span><span class="cx"> : TransactionOperation(transaction, request)
</span><span class="cx"> {
</span><del>- RefPtr<TransactionOperation> self(this);
</del><ins>+ RefPtr<TransactionOperation> protectedThis(this);
</ins><span class="cx">
</span><span class="cx"> ASSERT(performMethod);
</span><del>- m_performFunction = [self, this, performMethod, arguments...] {
</del><ins>+ m_performFunction = [protectedThis, this, performMethod, arguments...] {
</ins><span class="cx"> (&m_transaction.get()->*performMethod)(*this, arguments...);
</span><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> if (completeMethod) {
</span><span class="cx"> RefPtr<IDBRequest> refRequest(&request);
</span><del>- m_completeFunction = [self, this, refRequest, completeMethod](const IDBResultData& resultData) {
</del><ins>+ m_completeFunction = [protectedThis, this, refRequest, completeMethod](const IDBResultData& resultData) {
</ins><span class="cx"> if (completeMethod)
</span><span class="cx"> (&m_transaction.get()->*completeMethod)(*refRequest, resultData);
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbserverUniqueIDBDatabasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -314,7 +314,7 @@
</span><span class="cx">
</span><span class="cx"> ASSERT(m_currentOpenDBRequest);
</span><span class="cx">
</span><del>- RefPtr<UniqueIDBDatabase> protector(this);
</del><ins>+ RefPtr<UniqueIDBDatabase> protectedThis(this);
</ins><span class="cx">
</span><span class="cx"> if (m_currentOpenDBRequest->isOpenRequest())
</span><span class="cx"> performCurrentOpenOperation();
</span><span class="lines">@@ -1217,7 +1217,7 @@
</span><span class="cx"> {
</span><span class="cx"> LOG(IndexedDB, "(main) UniqueIDBDatabase::operationAndTransactionTimerFired");
</span><span class="cx">
</span><del>- RefPtr<UniqueIDBDatabase> protector(this);
</del><ins>+ RefPtr<UniqueIDBDatabase> protectedThis(this);
</ins><span class="cx">
</span><span class="cx"> // This UniqueIDBDatabase might be no longer in use by any web page.
</span><span class="cx"> // Assuming it is not ephemeral, the server should now close it to free up resources.
</span><span class="lines">@@ -1261,10 +1261,10 @@
</span><span class="cx"> {
</span><span class="cx"> LOG(IndexedDB, "(main) UniqueIDBDatabase::activateTransactionInBackingStore");
</span><span class="cx">
</span><del>- RefPtr<UniqueIDBDatabase> self(this);
</del><ins>+ RefPtr<UniqueIDBDatabase> protectedThis(this);
</ins><span class="cx"> RefPtr<UniqueIDBDatabaseTransaction> refTransaction(&transaction);
</span><span class="cx">
</span><del>- auto callback = [this, self, refTransaction](const IDBError& error) {
</del><ins>+ auto callback = [this, protectedThis, refTransaction](const IDBError& error) {
</ins><span class="cx"> refTransaction->didActivateInBackingStore(error);
</span><span class="cx"> };
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbserverUniqueIDBDatabaseConnectioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -73,9 +73,9 @@
</span><span class="cx"> ASSERT(m_transactionMap.contains(transaction.info().identifier()));
</span><span class="cx">
</span><span class="cx"> const auto& transactionIdentifier = transaction.info().identifier();
</span><del>- RefPtr<UniqueIDBDatabaseConnection> protector(this);
</del><ins>+ RefPtr<UniqueIDBDatabaseConnection> protectedThis(this);
</ins><span class="cx">
</span><del>- m_database.abortTransaction(transaction, [this, protector, transactionIdentifier](const IDBError&) {
</del><ins>+ m_database.abortTransaction(transaction, [this, protectedThis, transactionIdentifier](const IDBError&) {
</ins><span class="cx"> ASSERT(m_transactionMap.contains(transactionIdentifier));
</span><span class="cx"> m_transactionMap.remove(transactionIdentifier);
</span><span class="cx"> });
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbserverUniqueIDBDatabaseTransactioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -68,8 +68,8 @@
</span><span class="cx"> {
</span><span class="cx"> LOG(IndexedDB, "UniqueIDBDatabaseTransaction::abort");
</span><span class="cx">
</span><del>- RefPtr<UniqueIDBDatabaseTransaction> self(this);
- m_databaseConnection->database().abortTransaction(*this, [this, self](const IDBError& error) {
</del><ins>+ RefPtr<UniqueIDBDatabaseTransaction> protectedThis(this);
+ m_databaseConnection->database().abortTransaction(*this, [this, protectedThis](const IDBError& error) {
</ins><span class="cx"> LOG(IndexedDB, "UniqueIDBDatabaseTransaction::abort (callback)");
</span><span class="cx"> m_databaseConnection->didAbortTransaction(*this, error);
</span><span class="cx"> });
</span><span class="lines">@@ -96,8 +96,8 @@
</span><span class="cx"> {
</span><span class="cx"> LOG(IndexedDB, "UniqueIDBDatabaseTransaction::commit");
</span><span class="cx">
</span><del>- RefPtr<UniqueIDBDatabaseTransaction> self(this);
- m_databaseConnection->database().commitTransaction(*this, [this, self](const IDBError& error) {
</del><ins>+ RefPtr<UniqueIDBDatabaseTransaction> protectedThis(this);
+ m_databaseConnection->database().commitTransaction(*this, [this, protectedThis](const IDBError& error) {
</ins><span class="cx"> LOG(IndexedDB, "UniqueIDBDatabaseTransaction::commit (callback)");
</span><span class="cx"> m_databaseConnection->didCommitTransaction(*this, error);
</span><span class="cx"> });
</span><span class="lines">@@ -110,8 +110,8 @@
</span><span class="cx"> ASSERT(isVersionChange());
</span><span class="cx"> ASSERT(m_transactionInfo.identifier() == requestData.transactionIdentifier());
</span><span class="cx">
</span><del>- RefPtr<UniqueIDBDatabaseTransaction> self(this);
- m_databaseConnection->database().createObjectStore(*this, info, [this, self, requestData](const IDBError& error) {
</del><ins>+ RefPtr<UniqueIDBDatabaseTransaction> protectedThis(this);
+ m_databaseConnection->database().createObjectStore(*this, info, [this, protectedThis, requestData](const IDBError& error) {
</ins><span class="cx"> LOG(IndexedDB, "UniqueIDBDatabaseTransaction::createObjectStore (callback)");
</span><span class="cx"> if (error.isNull())
</span><span class="cx"> m_databaseConnection->didCreateObjectStore(IDBResultData::createObjectStoreSuccess(requestData.requestIdentifier()));
</span><span class="lines">@@ -127,8 +127,8 @@
</span><span class="cx"> ASSERT(isVersionChange());
</span><span class="cx"> ASSERT(m_transactionInfo.identifier() == requestData.transactionIdentifier());
</span><span class="cx">
</span><del>- RefPtr<UniqueIDBDatabaseTransaction> self(this);
- m_databaseConnection->database().deleteObjectStore(*this, objectStoreName, [this, self, requestData](const IDBError& error) {
</del><ins>+ RefPtr<UniqueIDBDatabaseTransaction> protectedThis(this);
+ m_databaseConnection->database().deleteObjectStore(*this, objectStoreName, [this, protectedThis, requestData](const IDBError& error) {
</ins><span class="cx"> LOG(IndexedDB, "UniqueIDBDatabaseTransaction::deleteObjectStore (callback)");
</span><span class="cx"> if (error.isNull())
</span><span class="cx"> m_databaseConnection->didDeleteObjectStore(IDBResultData::deleteObjectStoreSuccess(requestData.requestIdentifier()));
</span><span class="lines">@@ -143,8 +143,8 @@
</span><span class="cx">
</span><span class="cx"> ASSERT(m_transactionInfo.identifier() == requestData.transactionIdentifier());
</span><span class="cx">
</span><del>- RefPtr<UniqueIDBDatabaseTransaction> self(this);
- m_databaseConnection->database().clearObjectStore(*this, objectStoreIdentifier, [this, self, requestData](const IDBError& error) {
</del><ins>+ RefPtr<UniqueIDBDatabaseTransaction> protectedThis(this);
+ m_databaseConnection->database().clearObjectStore(*this, objectStoreIdentifier, [this, protectedThis, requestData](const IDBError& error) {
</ins><span class="cx"> LOG(IndexedDB, "UniqueIDBDatabaseTransaction::clearObjectStore (callback)");
</span><span class="cx"> if (error.isNull())
</span><span class="cx"> m_databaseConnection->didClearObjectStore(IDBResultData::clearObjectStoreSuccess(requestData.requestIdentifier()));
</span><span class="lines">@@ -160,8 +160,8 @@
</span><span class="cx"> ASSERT(isVersionChange());
</span><span class="cx"> ASSERT(m_transactionInfo.identifier() == requestData.transactionIdentifier());
</span><span class="cx">
</span><del>- RefPtr<UniqueIDBDatabaseTransaction> self(this);
- m_databaseConnection->database().createIndex(*this, info, [this, self, requestData](const IDBError& error) {
</del><ins>+ RefPtr<UniqueIDBDatabaseTransaction> protectedThis(this);
+ m_databaseConnection->database().createIndex(*this, info, [this, protectedThis, requestData](const IDBError& error) {
</ins><span class="cx"> LOG(IndexedDB, "UniqueIDBDatabaseTransaction::createIndex (callback)");
</span><span class="cx"> if (error.isNull())
</span><span class="cx"> m_databaseConnection->didCreateIndex(IDBResultData::createIndexSuccess(requestData.requestIdentifier()));
</span><span class="lines">@@ -177,8 +177,8 @@
</span><span class="cx"> ASSERT(isVersionChange());
</span><span class="cx"> ASSERT(m_transactionInfo.identifier() == requestData.transactionIdentifier());
</span><span class="cx">
</span><del>- RefPtr<UniqueIDBDatabaseTransaction> self(this);
- m_databaseConnection->database().deleteIndex(*this, objectStoreIdentifier, indexName, [this, self, requestData](const IDBError& error) {
</del><ins>+ RefPtr<UniqueIDBDatabaseTransaction> protectedThis(this);
+ m_databaseConnection->database().deleteIndex(*this, objectStoreIdentifier, indexName, [this, protectedThis, requestData](const IDBError& error) {
</ins><span class="cx"> LOG(IndexedDB, "UniqueIDBDatabaseTransaction::createIndex (callback)");
</span><span class="cx"> if (error.isNull())
</span><span class="cx"> m_databaseConnection->didDeleteIndex(IDBResultData::deleteIndexSuccess(requestData.requestIdentifier()));
</span><span class="lines">@@ -194,8 +194,8 @@
</span><span class="cx"> ASSERT(!isReadOnly());
</span><span class="cx"> ASSERT(m_transactionInfo.identifier() == requestData.transactionIdentifier());
</span><span class="cx">
</span><del>- RefPtr<UniqueIDBDatabaseTransaction> self(this);
- m_databaseConnection->database().putOrAdd(requestData, keyData, value, overwriteMode, [this, self, requestData](const IDBError& error, const IDBKeyData& key) {
</del><ins>+ RefPtr<UniqueIDBDatabaseTransaction> protectedThis(this);
+ m_databaseConnection->database().putOrAdd(requestData, keyData, value, overwriteMode, [this, protectedThis, requestData](const IDBError& error, const IDBKeyData& key) {
</ins><span class="cx"> LOG(IndexedDB, "UniqueIDBDatabaseTransaction::putOrAdd (callback)");
</span><span class="cx">
</span><span class="cx"> if (error.isNull())
</span><span class="lines">@@ -211,8 +211,8 @@
</span><span class="cx">
</span><span class="cx"> ASSERT(m_transactionInfo.identifier() == requestData.transactionIdentifier());
</span><span class="cx">
</span><del>- RefPtr<UniqueIDBDatabaseTransaction> self(this);
- m_databaseConnection->database().getRecord(requestData, keyRangeData, [this, self, requestData](const IDBError& error, const IDBGetResult& result) {
</del><ins>+ RefPtr<UniqueIDBDatabaseTransaction> protectedThis(this);
+ m_databaseConnection->database().getRecord(requestData, keyRangeData, [this, protectedThis, requestData](const IDBError& error, const IDBGetResult& result) {
</ins><span class="cx"> LOG(IndexedDB, "UniqueIDBDatabaseTransaction::getRecord (callback)");
</span><span class="cx">
</span><span class="cx"> if (error.isNull())
</span><span class="lines">@@ -228,8 +228,8 @@
</span><span class="cx">
</span><span class="cx"> ASSERT(m_transactionInfo.identifier() == requestData.transactionIdentifier());
</span><span class="cx">
</span><del>- RefPtr<UniqueIDBDatabaseTransaction> self(this);
- m_databaseConnection->database().getCount(requestData, keyRangeData, [this, self, requestData](const IDBError& error, uint64_t count) {
</del><ins>+ RefPtr<UniqueIDBDatabaseTransaction> protectedThis(this);
+ m_databaseConnection->database().getCount(requestData, keyRangeData, [this, protectedThis, requestData](const IDBError& error, uint64_t count) {
</ins><span class="cx"> LOG(IndexedDB, "UniqueIDBDatabaseTransaction::getCount (callback)");
</span><span class="cx">
</span><span class="cx"> if (error.isNull())
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesindexeddbsharedInProcessIDBServercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/indexeddb/shared/InProcessIDBServer.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/indexeddb/shared/InProcessIDBServer.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/Modules/indexeddb/shared/InProcessIDBServer.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -91,334 +91,334 @@
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::deleteDatabase(const IDBRequestData& requestData)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, requestData] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, requestData] {
</ins><span class="cx"> m_server->deleteDatabase(requestData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didDeleteDatabase(const IDBResultData& resultData)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, resultData] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, resultData] {
</ins><span class="cx"> m_connectionToServer->didDeleteDatabase(resultData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::openDatabase(const IDBRequestData& requestData)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, requestData] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, requestData] {
</ins><span class="cx"> m_server->openDatabase(requestData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didOpenDatabase(const IDBResultData& resultData)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, resultData] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, resultData] {
</ins><span class="cx"> m_connectionToServer->didOpenDatabase(resultData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didAbortTransaction(const IDBResourceIdentifier& transactionIdentifier, const IDBError& error)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, transactionIdentifier, error] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, transactionIdentifier, error] {
</ins><span class="cx"> m_connectionToServer->didAbortTransaction(transactionIdentifier, error);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didCommitTransaction(const IDBResourceIdentifier& transactionIdentifier, const IDBError& error)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, transactionIdentifier, error] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, transactionIdentifier, error] {
</ins><span class="cx"> m_connectionToServer->didCommitTransaction(transactionIdentifier, error);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didCreateObjectStore(const IDBResultData& resultData)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, resultData] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, resultData] {
</ins><span class="cx"> m_connectionToServer->didCreateObjectStore(resultData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didDeleteObjectStore(const IDBResultData& resultData)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, resultData] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, resultData] {
</ins><span class="cx"> m_connectionToServer->didDeleteObjectStore(resultData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didClearObjectStore(const IDBResultData& resultData)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, resultData] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, resultData] {
</ins><span class="cx"> m_connectionToServer->didClearObjectStore(resultData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didCreateIndex(const IDBResultData& resultData)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, resultData] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, resultData] {
</ins><span class="cx"> m_connectionToServer->didCreateIndex(resultData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didDeleteIndex(const IDBResultData& resultData)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, resultData] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, resultData] {
</ins><span class="cx"> m_connectionToServer->didDeleteIndex(resultData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didPutOrAdd(const IDBResultData& resultData)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, resultData] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, resultData] {
</ins><span class="cx"> m_connectionToServer->didPutOrAdd(resultData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didGetRecord(const IDBResultData& resultData)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, resultData] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, resultData] {
</ins><span class="cx"> m_connectionToServer->didGetRecord(resultData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didGetCount(const IDBResultData& resultData)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, resultData] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, resultData] {
</ins><span class="cx"> m_connectionToServer->didGetCount(resultData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didDeleteRecord(const IDBResultData& resultData)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, resultData] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, resultData] {
</ins><span class="cx"> m_connectionToServer->didDeleteRecord(resultData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didOpenCursor(const IDBResultData& resultData)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, resultData] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, resultData] {
</ins><span class="cx"> m_connectionToServer->didOpenCursor(resultData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didIterateCursor(const IDBResultData& resultData)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, resultData] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, resultData] {
</ins><span class="cx"> m_connectionToServer->didIterateCursor(resultData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::abortTransaction(const IDBResourceIdentifier& resourceIdentifier)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, resourceIdentifier] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, resourceIdentifier] {
</ins><span class="cx"> m_server->abortTransaction(resourceIdentifier);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::commitTransaction(const IDBResourceIdentifier& resourceIdentifier)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, resourceIdentifier] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, resourceIdentifier] {
</ins><span class="cx"> m_server->commitTransaction(resourceIdentifier);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didFinishHandlingVersionChangeTransaction(uint64_t databaseConnectionIdentifier, const IDBResourceIdentifier& transactionIdentifier)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, databaseConnectionIdentifier, transactionIdentifier] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, databaseConnectionIdentifier, transactionIdentifier] {
</ins><span class="cx"> m_server->didFinishHandlingVersionChangeTransaction(databaseConnectionIdentifier, transactionIdentifier);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::createObjectStore(const IDBRequestData& resultData, const IDBObjectStoreInfo& info)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, resultData, info] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, resultData, info] {
</ins><span class="cx"> m_server->createObjectStore(resultData, info);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::deleteObjectStore(const IDBRequestData& requestData, const String& objectStoreName)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, requestData, objectStoreName] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, requestData, objectStoreName] {
</ins><span class="cx"> m_server->deleteObjectStore(requestData, objectStoreName);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::clearObjectStore(const IDBRequestData& requestData, uint64_t objectStoreIdentifier)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, requestData, objectStoreIdentifier] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, requestData, objectStoreIdentifier] {
</ins><span class="cx"> m_server->clearObjectStore(requestData, objectStoreIdentifier);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::createIndex(const IDBRequestData& requestData, const IDBIndexInfo& info)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, requestData, info] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, requestData, info] {
</ins><span class="cx"> m_server->createIndex(requestData, info);
</span><span class="cx"> });
</span><span class="cx"> }
</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>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, requestData, objectStoreIdentifier, indexName] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, requestData, objectStoreIdentifier, indexName] {
</ins><span class="cx"> m_server->deleteIndex(requestData, objectStoreIdentifier, indexName);
</span><span class="cx"> });
</span><span class="cx"> }
</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>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, requestData, keyData, value, overwriteMode] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, 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="cx">
</span><span class="cx"> void InProcessIDBServer::getRecord(const IDBRequestData& requestData, const IDBKeyRangeData& keyRangeData)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
</ins><span class="cx">
</span><del>- RunLoop::current().dispatch([this, self, requestData, keyRangeData] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis, requestData, keyRangeData] {
</ins><span class="cx"> m_server->getRecord(requestData, keyRangeData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::getCount(const IDBRequestData& requestData, const IDBKeyRangeData& keyRangeData)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, requestData, keyRangeData] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, requestData, keyRangeData] {
</ins><span class="cx"> m_server->getCount(requestData, keyRangeData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::deleteRecord(const IDBRequestData& requestData, const IDBKeyRangeData& keyRangeData)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
</ins><span class="cx">
</span><del>- RunLoop::current().dispatch([this, self, requestData, keyRangeData] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis, requestData, keyRangeData] {
</ins><span class="cx"> m_server->deleteRecord(requestData, keyRangeData);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::openCursor(const IDBRequestData& requestData, const IDBCursorInfo& info)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
</ins><span class="cx">
</span><del>- RunLoop::current().dispatch([this, self, requestData, info] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis, requestData, info] {
</ins><span class="cx"> m_server->openCursor(requestData, info);
</span><span class="cx"> });
</span><span class="cx"> }
</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>- RefPtr<InProcessIDBServer> self(this);
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
</ins><span class="cx">
</span><del>- RunLoop::current().dispatch([this, self, requestData, key, count] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis, requestData, key, count] {
</ins><span class="cx"> m_server->iterateCursor(requestData, key, count);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::establishTransaction(uint64_t databaseConnectionIdentifier, const IDBTransactionInfo& info)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
</ins><span class="cx">
</span><del>- RunLoop::current().dispatch([this, self, databaseConnectionIdentifier, info] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis, databaseConnectionIdentifier, info] {
</ins><span class="cx"> m_server->establishTransaction(databaseConnectionIdentifier, info);
</span><span class="cx"> });
</span><span class="cx"> }
</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>- RefPtr<InProcessIDBServer> self(this);
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
</ins><span class="cx"> uint64_t databaseConnectionIdentifier = connection.identifier();
</span><del>- RunLoop::current().dispatch([this, self, databaseConnectionIdentifier, requestIdentifier, requestedVersion] {
</del><ins>+ RunLoop::current().dispatch([this, protectedThis, databaseConnectionIdentifier, requestIdentifier, requestedVersion] {
</ins><span class="cx"> m_connectionToServer->fireVersionChangeEvent(databaseConnectionIdentifier, requestIdentifier, requestedVersion);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didStartTransaction(const IDBResourceIdentifier& transactionIdentifier, const IDBError& error)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, transactionIdentifier, error] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, transactionIdentifier, error] {
</ins><span class="cx"> m_connectionToServer->didStartTransaction(transactionIdentifier, error);
</span><span class="cx"> });
</span><span class="cx"> }
</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>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, requestIdentifier, oldVersion, newVersion] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, requestIdentifier, oldVersion, newVersion] {
</ins><span class="cx"> m_connectionToServer->notifyOpenDBRequestBlocked(requestIdentifier, oldVersion, newVersion);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::databaseConnectionClosed(uint64_t databaseConnectionIdentifier)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, databaseConnectionIdentifier] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, databaseConnectionIdentifier] {
</ins><span class="cx"> m_server->databaseConnectionClosed(databaseConnectionIdentifier);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::abortOpenAndUpgradeNeeded(uint64_t databaseConnectionIdentifier, const IDBResourceIdentifier& transactionIdentifier)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, databaseConnectionIdentifier, transactionIdentifier] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, databaseConnectionIdentifier, transactionIdentifier] {
</ins><span class="cx"> m_server->abortOpenAndUpgradeNeeded(databaseConnectionIdentifier, transactionIdentifier);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::didFireVersionChangeEvent(uint64_t databaseConnectionIdentifier, const IDBResourceIdentifier& requestIdentifier)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, databaseConnectionIdentifier, requestIdentifier] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, databaseConnectionIdentifier, requestIdentifier] {
</ins><span class="cx"> m_server->didFireVersionChangeEvent(databaseConnectionIdentifier, requestIdentifier);
</span><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InProcessIDBServer::openDBRequestCancelled(const IDBRequestData& requestData)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> self(this);
- RunLoop::current().dispatch([this, self, requestData] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, requestData] {
</ins><span class="cx"> m_server->openDBRequestCancelled(requestData);
</span><span class="cx"> });
</span><span class="cx"> }
</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>- RefPtr<InProcessIDBServer> protector(this);
- RunLoop::current().dispatch([this, protector, mainFrameOrigin, openingOrigin, callbackID] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, 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="cx">
</span><span class="cx"> void InProcessIDBServer::didGetAllDatabaseNames(uint64_t callbackID, const Vector<String>& databaseNames)
</span><span class="cx"> {
</span><del>- RefPtr<InProcessIDBServer> protector(this);
- RunLoop::current().dispatch([this, protector, callbackID, databaseNames] {
</del><ins>+ RefPtr<InProcessIDBServer> protectedThis(this);
+ RunLoop::current().dispatch([this, protectedThis, 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="trunkSourceWebCoreModulesmediastreamUserMediaRequestcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/mediastream/UserMediaRequest.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/mediastream/UserMediaRequest.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/Modules/mediastream/UserMediaRequest.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -209,7 +209,7 @@
</span><span class="cx">
</span><span class="cx"> void UserMediaRequest::contextDestroyed()
</span><span class="cx"> {
</span><del>- Ref<UserMediaRequest> protect(*this);
</del><ins>+ Ref<UserMediaRequest> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> if (m_controller) {
</span><span class="cx"> m_controller->cancelUserMediaAccessRequest(*this);
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesnotificationsNotificationCentercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/notifications/NotificationCenter.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/notifications/NotificationCenter.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/Modules/notifications/NotificationCenter.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -121,7 +121,7 @@
</span><span class="cx"> // Clear m_client immediately to guarantee reentrant calls to NotificationCenter do nothing.
</span><span class="cx"> // Also protect |this| so it's not indirectly destroyed under us by work done by the client.
</span><span class="cx"> auto& client = *std::exchange(m_client, nullptr);
</span><del>- Ref<NotificationCenter> protector(*this);
</del><ins>+ Ref<NotificationCenter> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> if (!m_callbacks.isEmpty())
</span><span class="cx"> deref(); // Balanced by the ref in NotificationCenter::requestPermission.
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebaudioAudioContextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webaudio/AudioContext.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webaudio/AudioContext.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/Modules/webaudio/AudioContext.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -797,9 +797,9 @@
</span><span class="cx">
</span><span class="cx"> m_isDeletionScheduled = true;
</span><span class="cx">
</span><del>- RefPtr<AudioContext> strongThis(this);
- callOnMainThread([strongThis] {
- strongThis->deleteMarkedNodes();
</del><ins>+ RefPtr<AudioContext> protectedThis(this);
+ callOnMainThread([protectedThis] {
+ protectedThis->deleteMarkedNodes();
</ins><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="lines">@@ -809,7 +809,7 @@
</span><span class="cx"> ASSERT(isMainThread());
</span><span class="cx">
</span><span class="cx"> // Protect this object from being deleted before we release the mutex locked by AutoLocker.
</span><del>- Ref<AudioContext> protect(*this);
</del><ins>+ Ref<AudioContext> protectedThis(*this);
</ins><span class="cx"> {
</span><span class="cx"> AutoLocker locker(*this);
</span><span class="cx">
</span><span class="lines">@@ -1002,10 +1002,10 @@
</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>- RefPtr<AudioContext> strongThis(this);
- callOnMainThread([strongThis] {
- if (strongThis->document())
- strongThis->document()->updateIsPlayingMedia();
</del><ins>+ RefPtr<AudioContext> protectedThis(this);
+ callOnMainThread([protectedThis] {
+ if (protectedThis->document())
+ protectedThis->document()->updateIsPlayingMedia();
</ins><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -1063,9 +1063,9 @@
</span><span class="cx">
</span><span class="cx"> lazyInitialize();
</span><span class="cx">
</span><del>- RefPtr<AudioContext> strongThis(this);
- m_destinationNode->suspend([strongThis] {
- strongThis->setState(State::Suspended);
</del><ins>+ RefPtr<AudioContext> protectedThis(this);
+ m_destinationNode->suspend([protectedThis] {
+ protectedThis->setState(State::Suspended);
</ins><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -1093,9 +1093,9 @@
</span><span class="cx">
</span><span class="cx"> lazyInitialize();
</span><span class="cx">
</span><del>- RefPtr<AudioContext> strongThis(this);
- m_destinationNode->resume([strongThis] {
- strongThis->setState(State::Running);
</del><ins>+ RefPtr<AudioContext> protectedThis(this);
+ m_destinationNode->resume([protectedThis] {
+ protectedThis->setState(State::Running);
</ins><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -1115,10 +1115,10 @@
</span><span class="cx">
</span><span class="cx"> lazyInitialize();
</span><span class="cx">
</span><del>- RefPtr<AudioContext> strongThis(this);
- m_destinationNode->close([strongThis] {
- strongThis->setState(State::Closed);
- strongThis->uninitialize();
</del><ins>+ RefPtr<AudioContext> protectedThis(this);
+ m_destinationNode->close([protectedThis] {
+ protectedThis->setState(State::Closed);
+ protectedThis->uninitialize();
</ins><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -1136,10 +1136,10 @@
</span><span class="cx">
</span><span class="cx"> lazyInitialize();
</span><span class="cx">
</span><del>- RefPtr<AudioContext> strongThis(this);
- m_destinationNode->suspend([strongThis] {
- bool interrupted = strongThis->m_mediaSession->state() == PlatformMediaSession::Interrupted;
- strongThis->setState(interrupted ? State::Interrupted : State::Suspended);
</del><ins>+ RefPtr<AudioContext> protectedThis(this);
+ m_destinationNode->suspend([protectedThis] {
+ bool interrupted = protectedThis->m_mediaSession->state() == PlatformMediaSession::Interrupted;
+ protectedThis->setState(interrupted ? State::Interrupted : State::Suspended);
</ins><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -1158,9 +1158,9 @@
</span><span class="cx">
</span><span class="cx"> lazyInitialize();
</span><span class="cx">
</span><del>- RefPtr<AudioContext> strongThis(this);
- m_destinationNode->resume([strongThis] {
- strongThis->setState(State::Running);
</del><ins>+ RefPtr<AudioContext> protectedThis(this);
+ m_destinationNode->resume([protectedThis] {
+ protectedThis->setState(State::Running);
</ins><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebdatabaseDatabasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webdatabase/Database.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webdatabase/Database.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/Modules/webdatabase/Database.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -333,7 +333,7 @@
</span><span class="cx"> // to it with a local pointer here for a liitle longer, so that we can
</span><span class="cx"> // unschedule any DatabaseTasks that refer to it before the database gets
</span><span class="cx"> // deleted.
</span><del>- Ref<Database> protect(*this);
</del><ins>+ Ref<Database> protectedThis(*this);
</ins><span class="cx"> databaseContext()->databaseThread()->recordDatabaseClosed(this);
</span><span class="cx"> databaseContext()->databaseThread()->unscheduleDatabaseTasks(this);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebsocketsWebSocketcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/websockets/WebSocket.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/websockets/WebSocket.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/Modules/websockets/WebSocket.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -509,7 +509,7 @@
</span><span class="cx">
</span><span class="cx"> void WebSocket::resumeTimerFired()
</span><span class="cx"> {
</span><del>- Ref<WebSocket> protect(*this);
</del><ins>+ Ref<WebSocket> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> ASSERT(!m_pendingEvents.isEmpty());
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebsocketsWebSocketChannelcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/websockets/WebSocketChannel.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/websockets/WebSocketChannel.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/Modules/websockets/WebSocketChannel.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -190,7 +190,7 @@
</span><span class="cx"> ASSERT(!m_suspended);
</span><span class="cx"> if (!m_handle)
</span><span class="cx"> return;
</span><del>- Ref<WebSocketChannel> protect(*this); // An attempt to send closing handshake may fail, which will get the channel closed and dereferenced.
</del><ins>+ Ref<WebSocketChannel> protectedThis(*this); // An attempt to send closing handshake may fail, which will get the channel closed and dereferenced.
</ins><span class="cx"> startClosingHandshake(code, reason);
</span><span class="cx"> if (m_closing && !m_closingTimer.isActive())
</span><span class="cx"> m_closingTimer.startOneShot(2 * TCPMaximumSegmentLifetime);
</span><span class="lines">@@ -214,7 +214,7 @@
</span><span class="cx">
</span><span class="cx"> // Hybi-10 specification explicitly states we must not continue to handle incoming data
</span><span class="cx"> // once the WebSocket connection is failed (section 7.1.7).
</span><del>- Ref<WebSocketChannel> protect(*this); // The client can close the channel, potentially removing the last reference.
</del><ins>+ Ref<WebSocketChannel> protectedThis(*this); // The client can close the channel, potentially removing the last reference.
</ins><span class="cx"> m_shouldDiscardReceivedData = true;
</span><span class="cx"> if (!m_buffer.isEmpty())
</span><span class="cx"> skipBuffer(m_buffer.size()); // Save memory.
</span><span class="lines">@@ -301,7 +301,7 @@
</span><span class="cx"> void WebSocketChannel::didReceiveSocketStreamData(SocketStreamHandle* handle, const char* data, int len)
</span><span class="cx"> {
</span><span class="cx"> LOG(Network, "WebSocketChannel %p didReceiveSocketStreamData() Received %d bytes", this, len);
</span><del>- Ref<WebSocketChannel> protect(*this); // The client can close the channel, potentially removing the last reference.
</del><ins>+ Ref<WebSocketChannel> protectedThis(*this); // The client can close the channel, potentially removing the last reference.
</ins><span class="cx"> ASSERT(handle == m_handle);
</span><span class="cx"> if (!m_document) {
</span><span class="cx"> return;
</span><span class="lines">@@ -428,7 +428,7 @@
</span><span class="cx"> return false;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- Ref<WebSocketChannel> protect(*this); // The client can close the channel, potentially removing the last reference.
</del><ins>+ Ref<WebSocketChannel> protectedThis(*this); // The client can close the channel, potentially removing the last reference.
</ins><span class="cx">
</span><span class="cx"> if (m_handshake->mode() == WebSocketHandshake::Incomplete) {
</span><span class="cx"> int headerLength = m_handshake->readServerHandshake(m_buffer.data(), m_buffer.size());
</span><span class="lines">@@ -465,7 +465,7 @@
</span><span class="cx">
</span><span class="cx"> void WebSocketChannel::resumeTimerFired()
</span><span class="cx"> {
</span><del>- Ref<WebSocketChannel> protect(*this); // The client can close the channel, potentially removing the last reference.
</del><ins>+ Ref<WebSocketChannel> protectedThis(*this); // The client can close the channel, potentially removing the last reference.
</ins><span class="cx"> while (!m_suspended && m_client && !m_buffer.isEmpty())
</span><span class="cx"> if (!processBuffer())
</span><span class="cx"> break;
</span><span class="lines">@@ -490,7 +490,7 @@
</span><span class="cx"> buf.append(reason.utf8().data(), reason.utf8().length());
</span><span class="cx"> }
</span><span class="cx"> enqueueRawFrame(WebSocketFrame::OpCodeClose, buf.data(), buf.size());
</span><del>- Ref<WebSocketChannel> protect(*this); // An attempt to send closing handshake may fail, which will get the channel closed and dereferenced.
</del><ins>+ Ref<WebSocketChannel> protectedThis(*this); // An attempt to send closing handshake may fail, which will get the channel closed and dereferenced.
</ins><span class="cx"> processOutgoingFrameQueue();
</span><span class="cx">
</span><span class="cx"> if (m_closed) {
</span><span class="lines">@@ -729,7 +729,7 @@
</span><span class="cx"> if (m_outgoingFrameQueueStatus == OutgoingFrameQueueClosed)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- Ref<WebSocketChannel> protect(*this); // Any call to fail() will get the channel closed and dereferenced.
</del><ins>+ Ref<WebSocketChannel> protectedThis(*this); // Any call to fail() will get the channel closed and dereferenced.
</ins><span class="cx">
</span><span class="cx"> while (!m_outgoingFrameQueue.isEmpty()) {
</span><span class="cx"> auto frame = m_outgoingFrameQueue.takeFirst();
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebsocketsWorkerThreadableWebSocketChannelcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -397,7 +397,7 @@
</span><span class="cx"> {
</span><span class="cx"> ASSERT(!m_peer);
</span><span class="cx"> setMethodNotCompleted();
</span><del>- Ref<Bridge> protect(*this);
</del><ins>+ Ref<Bridge> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> WorkerLoaderProxy* loaderProxy = &m_loaderProxy;
</span><span class="cx"> RefPtr<ThreadableWebSocketChannelClientWrapper> workerClientWrapper = m_workerClientWrapper;
</span><span class="lines">@@ -447,7 +447,7 @@
</span><span class="cx"> peer->send(capturedMessage.string());
</span><span class="cx"> });
</span><span class="cx">
</span><del>- Ref<Bridge> protect(*this);
</del><ins>+ Ref<Bridge> protectedThis(*this);
</ins><span class="cx"> waitForMethodCompletion();
</span><span class="cx"> ThreadableWebSocketChannelClientWrapper* clientWrapper = m_workerClientWrapper.get();
</span><span class="cx"> if (!clientWrapper)
</span><span class="lines">@@ -477,7 +477,7 @@
</span><span class="cx"> peer->send(*arrayBuffer);
</span><span class="cx"> });
</span><span class="cx">
</span><del>- Ref<Bridge> protect(*this);
</del><ins>+ Ref<Bridge> protectedThis(*this);
</ins><span class="cx"> waitForMethodCompletion();
</span><span class="cx"> ThreadableWebSocketChannelClientWrapper* clientWrapper = m_workerClientWrapper.get();
</span><span class="cx"> if (!clientWrapper)
</span><span class="lines">@@ -503,7 +503,7 @@
</span><span class="cx"> peer->send(Blob::deserialize(capturedURL.url(), capturedType.string(), size, { }));
</span><span class="cx"> });
</span><span class="cx">
</span><del>- Ref<Bridge> protect(*this);
</del><ins>+ Ref<Bridge> protectedThis(*this);
</ins><span class="cx"> waitForMethodCompletion();
</span><span class="cx"> ThreadableWebSocketChannelClientWrapper* clientWrapper = m_workerClientWrapper.get();
</span><span class="cx"> if (!clientWrapper)
</span><span class="lines">@@ -526,7 +526,7 @@
</span><span class="cx"> peer->bufferedAmount();
</span><span class="cx"> });
</span><span class="cx">
</span><del>- Ref<Bridge> protect(*this);
</del><ins>+ Ref<Bridge> protectedThis(*this);
</ins><span class="cx"> waitForMethodCompletion();
</span><span class="cx"> ThreadableWebSocketChannelClientWrapper* clientWrapper = m_workerClientWrapper.get();
</span><span class="cx"> if (clientWrapper)
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityAccessibilityObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/AccessibilityObject.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/AccessibilityObject.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/accessibility/AccessibilityObject.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -360,7 +360,7 @@
</span><span class="cx"> {
</span><span class="cx"> // This method is being called by WebKit inspector, which may happen at any time, so we need to update our backing store now.
</span><span class="cx"> // Also hold onto this object in case updateBackingStore deletes this node.
</span><del>- RefPtr<AccessibilityObject> protector(this);
</del><ins>+ RefPtr<AccessibilityObject> protectedThis(this);
</ins><span class="cx"> updateBackingStore();
</span><span class="cx"> Vector<AccessibilityText> text;
</span><span class="cx"> accessibilityText(text);
</span><span class="lines">@@ -1679,7 +1679,7 @@
</span><span class="cx"> void AccessibilityObject::updateBackingStore()
</span><span class="cx"> {
</span><span class="cx"> // Updating the layout may delete this object.
</span><del>- RefPtr<AccessibilityObject> protector(this);
</del><ins>+ RefPtr<AccessibilityObject> protectedThis(this);
</ins><span class="cx">
</span><span class="cx"> if (Document* document = this->document()) {
</span><span class="cx"> if (!document->view()->isInRenderTreeLayout())
</span></span></pre></div>
<a id="trunkSourceWebCoreaccessibilityAccessibilityRenderObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -1662,7 +1662,7 @@
</span><span class="cx"> // When a node is told to set focus, that can cause it to be deallocated, which means that doing
</span><span class="cx"> // anything else inside this object will crash. To fix this, we added a RefPtr to protect this object
</span><span class="cx"> // long enough for duration.
</span><del>- RefPtr<AccessibilityObject> protect(this);
</del><ins>+ RefPtr<AccessibilityObject> protectedThis(this);
</ins><span class="cx">
</span><span class="cx"> // If this node is already the currently focused node, then calling focus() won't do anything.
</span><span class="cx"> // That is a problem when focus is removed from the webpage to chrome, and then returns.
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsgobjectGObjectEventListenercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/gobject/GObjectEventListener.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/gobject/GObjectEventListener.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/bindings/gobject/GObjectEventListener.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -55,7 +55,7 @@
</span><span class="cx"> // Protect 'this' class in case the 'm_coreTarget' holds the last reference,
</span><span class="cx"> // which may cause, inside removeEventListener(), free of this object
</span><span class="cx"> // and later use-after-free with the m_handler = 0; assignment.
</span><del>- RefPtr<GObjectEventListener> protect(this);
</del><ins>+ RefPtr<GObjectEventListener> protectedThis(this);
</ins><span class="cx">
</span><span class="cx"> m_coreTarget->removeEventListener(m_domEventName.data(), this, m_capture);
</span><span class="cx"> m_coreTarget = 0;
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSCustomElementInterfacecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSCustomElementInterface.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSCustomElementInterface.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/bindings/js/JSCustomElementInterface.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -61,7 +61,7 @@
</span><span class="cx"> if (!canInvokeCallback())
</span><span class="cx"> return nullptr;
</span><span class="cx">
</span><del>- Ref<JSCustomElementInterface> protect(*this);
</del><ins>+ Ref<JSCustomElementInterface> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> JSLockHolder lock(m_isolatedWorld->vm());
</span><span class="cx">
</span><span class="lines">@@ -108,7 +108,7 @@
</span><span class="cx"> if (!canInvokeCallback())
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- Ref<JSCustomElementInterface> protect(*this);
</del><ins>+ Ref<JSCustomElementInterface> protectedThis(*this);
</ins><span class="cx"> JSLockHolder lock(m_isolatedWorld->vm());
</span><span class="cx">
</span><span class="cx"> if (!m_constructor)
</span><span class="lines">@@ -156,7 +156,7 @@
</span><span class="cx"> if (!canInvokeCallback())
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- Ref<JSCustomElementInterface> protect(*this);
</del><ins>+ Ref<JSCustomElementInterface> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> JSLockHolder lock(m_isolatedWorld->vm());
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSCustomSQLStatementErrorCallbackcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSCustomSQLStatementErrorCallback.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSCustomSQLStatementErrorCallback.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/bindings/js/JSCustomSQLStatementErrorCallback.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -45,7 +45,7 @@
</span><span class="cx"> if (!m_data || !m_data->globalObject() || !canInvokeCallback())
</span><span class="cx"> return true;
</span><span class="cx">
</span><del>- Ref<JSSQLStatementErrorCallback> protect(*this);
</del><ins>+ Ref<JSSQLStatementErrorCallback> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> JSC::JSLockHolder lock(m_data->globalObject()->vm());
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSCustomXPathNSResolvercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSCustomXPathNSResolver.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSCustomXPathNSResolver.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/bindings/js/JSCustomXPathNSResolver.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -87,7 +87,7 @@
</span><span class="cx"> function = m_customResolver.get();
</span><span class="cx"> }
</span><span class="cx">
</span><del>- Ref<JSCustomXPathNSResolver> selfProtector(*this);
</del><ins>+ Ref<JSCustomXPathNSResolver> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> MarkedArgumentBuffer args;
</span><span class="cx"> args.append(jsStringWithCache(exec, prefix));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMGlobalObjectTaskcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMGlobalObjectTask.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMGlobalObjectTask.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/bindings/js/JSDOMGlobalObjectTask.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -48,7 +48,7 @@
</span><span class="cx"> if (!canInvokeCallback())
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- Ref<JSGlobalObjectCallback> protect(*this);
</del><ins>+ Ref<JSGlobalObjectCallback> protectedThis(*this);
</ins><span class="cx"> JSLockHolder lock(m_globalObject->vm());
</span><span class="cx">
</span><span class="cx"> ExecState* exec = m_globalObject->globalExec();
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMWindowBasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -211,7 +211,7 @@
</span><span class="cx">
</span><span class="cx"> void call()
</span><span class="cx"> {
</span><del>- Ref<JSDOMWindowMicrotaskCallback> protect(*this);
</del><ins>+ Ref<JSDOMWindowMicrotaskCallback> protectedThis(*this);
</ins><span class="cx"> JSLockHolder lock(m_globalObject->vm());
</span><span class="cx">
</span><span class="cx"> ExecState* exec = m_globalObject->globalExec();
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSErrorHandlercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSErrorHandler.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSErrorHandler.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/bindings/js/JSErrorHandler.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -84,7 +84,7 @@
</span><span class="cx"> CallType callType = jsFunction->methodTable()->getCallData(jsFunction, callData);
</span><span class="cx">
</span><span class="cx"> if (callType != CallType::None) {
</span><del>- Ref<JSErrorHandler> protectedctor(*this);
</del><ins>+ Ref<JSErrorHandler> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> Event* savedEvent = globalObject->currentEvent();
</span><span class="cx"> globalObject->setCurrentEvent(event);
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSEventListenercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSEventListener.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSEventListener.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/bindings/js/JSEventListener.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -114,7 +114,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if (callType != CallType::None) {
</span><del>- Ref<JSEventListener> protect(*this);
</del><ins>+ Ref<JSEventListener> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> MarkedArgumentBuffer args;
</span><span class="cx"> args.append(toJS(exec, globalObject, event));
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSMutationCallbackcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSMutationCallback.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSMutationCallback.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/bindings/js/JSMutationCallback.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -56,7 +56,7 @@
</span><span class="cx"> if (!canInvokeCallback())
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- Ref<JSMutationCallback> protect(*this);
</del><ins>+ Ref<JSMutationCallback> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> JSLockHolder lock(m_isolatedWorld->vm());
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSNodeFilterCustomcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSNodeFilterCustom.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSNodeFilterCustom.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/bindings/js/JSNodeFilterCustom.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -40,7 +40,7 @@
</span><span class="cx"> // boolean.
</span><span class="cx"> uint16_t JSNodeFilter::acceptNode(Node* node)
</span><span class="cx"> {
</span><del>- Ref<JSNodeFilter> protect(*this);
</del><ins>+ Ref<JSNodeFilter> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> JSLockHolder lock(m_data->globalObject()->vm());
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsSerializedScriptValuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/bindings/js/SerializedScriptValue.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -2800,8 +2800,8 @@
</span><span class="cx"> ASSERT(isMainThread());
</span><span class="cx"> ASSERT(hasBlobURLs());
</span><span class="cx">
</span><del>- RefPtr<SerializedScriptValue> protector(this);
- blobRegistry().writeBlobsToTemporaryFiles(m_blobURLs, [completionHandler, this, protector](const Vector<String>& blobFilePaths) {
</del><ins>+ RefPtr<SerializedScriptValue> protectedThis(this);
+ blobRegistry().writeBlobsToTemporaryFiles(m_blobURLs, [completionHandler, this, protectedThis](const Vector<String>& blobFilePaths) {
</ins><span class="cx"> ASSERT(isMainThread());
</span><span class="cx">
</span><span class="cx"> if (blobFilePaths.isEmpty()) {
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptsCodeGeneratorJSpm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -4046,7 +4046,7 @@
</span><span class="cx"> push(@implContent, @argsCheck) if @argsCheck;
</span><span class="cx"> push(@implContent, " if (!canInvokeCallback())\n");
</span><span class="cx"> push(@implContent, " return true;\n\n");
</span><del>- push(@implContent, " Ref<$className> protect(*this);\n\n");
</del><ins>+ push(@implContent, " Ref<$className> protectedThis(*this);\n\n");
</ins><span class="cx"> push(@implContent, " JSLockHolder lock(m_data->globalObject()->vm());\n\n");
</span><span class="cx"> push(@implContent, " ExecState* state = m_data->globalObject()->globalExec();\n");
</span><span class="cx"> push(@implContent, " MarkedArgumentBuffer args;\n");
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestCallbackcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallback.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallback.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallback.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -101,7 +101,7 @@
</span><span class="cx"> if (!canInvokeCallback())
</span><span class="cx"> return true;
</span><span class="cx">
</span><del>- Ref<JSTestCallback> protect(*this);
</del><ins>+ Ref<JSTestCallback> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> JSLockHolder lock(m_data->globalObject()->vm());
</span><span class="cx">
</span><span class="lines">@@ -120,7 +120,7 @@
</span><span class="cx"> if (!canInvokeCallback())
</span><span class="cx"> return true;
</span><span class="cx">
</span><del>- Ref<JSTestCallback> protect(*this);
</del><ins>+ Ref<JSTestCallback> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> JSLockHolder lock(m_data->globalObject()->vm());
</span><span class="cx">
</span><span class="lines">@@ -140,7 +140,7 @@
</span><span class="cx"> if (!canInvokeCallback())
</span><span class="cx"> return true;
</span><span class="cx">
</span><del>- Ref<JSTestCallback> protect(*this);
</del><ins>+ Ref<JSTestCallback> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> JSLockHolder lock(m_data->globalObject()->vm());
</span><span class="cx">
</span><span class="lines">@@ -161,7 +161,7 @@
</span><span class="cx"> if (!canInvokeCallback())
</span><span class="cx"> return true;
</span><span class="cx">
</span><del>- Ref<JSTestCallback> protect(*this);
</del><ins>+ Ref<JSTestCallback> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> JSLockHolder lock(m_data->globalObject()->vm());
</span><span class="cx">
</span><span class="lines">@@ -181,7 +181,7 @@
</span><span class="cx"> if (!canInvokeCallback())
</span><span class="cx"> return true;
</span><span class="cx">
</span><del>- Ref<JSTestCallback> protect(*this);
</del><ins>+ Ref<JSTestCallback> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> JSLockHolder lock(m_data->globalObject()->vm());
</span><span class="cx">
</span><span class="lines">@@ -201,7 +201,7 @@
</span><span class="cx"> if (!canInvokeCallback())
</span><span class="cx"> return true;
</span><span class="cx">
</span><del>- Ref<JSTestCallback> protect(*this);
</del><ins>+ Ref<JSTestCallback> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> JSLockHolder lock(m_data->globalObject()->vm());
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptstestJSJSTestCallbackFunctioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunction.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunction.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCallbackFunction.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -65,7 +65,7 @@
</span><span class="cx"> if (!canInvokeCallback())
</span><span class="cx"> return true;
</span><span class="cx">
</span><del>- Ref<JSTestCallbackFunction> protect(*this);
</del><ins>+ Ref<JSTestCallbackFunction> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> JSLockHolder lock(m_data->globalObject()->vm());
</span><span class="cx">
</span><span class="lines">@@ -85,7 +85,7 @@
</span><span class="cx"> if (!canInvokeCallback())
</span><span class="cx"> return true;
</span><span class="cx">
</span><del>- Ref<JSTestCallbackFunction> protect(*this);
</del><ins>+ Ref<JSTestCallbackFunction> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> JSLockHolder lock(m_data->globalObject()->vm());
</span><span class="cx">
</span><span class="lines">@@ -106,7 +106,7 @@
</span><span class="cx"> if (!canInvokeCallback())
</span><span class="cx"> return true;
</span><span class="cx">
</span><del>- Ref<JSTestCallbackFunction> protect(*this);
</del><ins>+ Ref<JSTestCallbackFunction> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> JSLockHolder lock(m_data->globalObject()->vm());
</span><span class="cx">
</span><span class="lines">@@ -128,7 +128,7 @@
</span><span class="cx"> if (!canInvokeCallback())
</span><span class="cx"> return true;
</span><span class="cx">
</span><del>- Ref<JSTestCallbackFunction> protect(*this);
</del><ins>+ Ref<JSTestCallbackFunction> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> JSLockHolder lock(m_data->globalObject()->vm());
</span><span class="cx">
</span><span class="lines">@@ -149,7 +149,7 @@
</span><span class="cx"> if (!canInvokeCallback())
</span><span class="cx"> return true;
</span><span class="cx">
</span><del>- Ref<JSTestCallbackFunction> protect(*this);
</del><ins>+ Ref<JSTestCallbackFunction> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> JSLockHolder lock(m_data->globalObject()->vm());
</span><span class="cx">
</span><span class="lines">@@ -170,7 +170,7 @@
</span><span class="cx"> if (!canInvokeCallback())
</span><span class="cx"> return true;
</span><span class="cx">
</span><del>- Ref<JSTestCallbackFunction> protect(*this);
</del><ins>+ Ref<JSTestCallbackFunction> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> JSLockHolder lock(m_data->globalObject()->vm());
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorebridgeruntime_rootcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bridge/runtime_root.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bridge/runtime_root.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/bridge/runtime_root.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -200,7 +200,7 @@
</span><span class="cx"> {
</span><span class="cx"> RuntimeObject* object = static_cast<RuntimeObject*>(handle.slot()->asCell());
</span><span class="cx">
</span><del>- Ref<RootObject> protect(*this);
</del><ins>+ Ref<RootObject> protectedThis(*this);
</ins><span class="cx"> object->invalidate();
</span><span class="cx"> weakRemove(m_runtimeObjects, object, object);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorecssCSSFontSelectorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/CSSFontSelector.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/CSSFontSelector.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/css/CSSFontSelector.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -292,7 +292,7 @@
</span><span class="cx"> fontsToBeginLoading.swap(m_fontsToBeginLoading);
</span><span class="cx">
</span><span class="cx"> // CSSFontSelector could get deleted via beginLoadIfNeeded() or loadDone() unless protected.
</span><del>- Ref<CSSFontSelector> protect(*this);
</del><ins>+ Ref<CSSFontSelector> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> CachedResourceLoader& cachedResourceLoader = m_document->cachedResourceLoader();
</span><span class="cx"> for (auto& fontHandle : fontsToBeginLoading) {
</span></span></pre></div>
<a id="trunkSourceWebCorecssStyleSheetContentscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/css/StyleSheetContents.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/css/StyleSheetContents.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/css/StyleSheetContents.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -355,7 +355,7 @@
</span><span class="cx"> // Avoid |this| being deleted by scripts that run via
</span><span class="cx"> // ScriptableDocumentParser::executeScriptsWaitingForStylesheets().
</span><span class="cx"> // See <rdar://problem/6622300>.
</span><del>- Ref<StyleSheetContents> protect(*this);
</del><ins>+ Ref<StyleSheetContents> protectedThis(*this);
</ins><span class="cx"> StyleSheetContents* parentSheet = parentStyleSheet();
</span><span class="cx"> if (parentSheet) {
</span><span class="cx"> parentSheet->checkLoaded();
</span></span></pre></div>
<a id="trunkSourceWebCoredomCharacterDatacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/CharacterData.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/CharacterData.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/dom/CharacterData.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx"> if (m_data == nonNullData)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- Ref<CharacterData> protect(*this);
</del><ins>+ Ref<CharacterData> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> unsigned oldLength = length();
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoredomContainerNodecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ContainerNode.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ContainerNode.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/dom/ContainerNode.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -231,7 +231,7 @@
</span><span class="cx"> // If it is, it can be deleted as a side effect of sending mutation events.
</span><span class="cx"> ASSERT(refCount() || parentOrShadowHostNode());
</span><span class="cx">
</span><del>- Ref<ContainerNode> protect(*this);
</del><ins>+ Ref<ContainerNode> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> ec = 0;
</span><span class="cx">
</span><span class="lines">@@ -386,7 +386,7 @@
</span><span class="cx"> // If it is, it can be deleted as a side effect of sending mutation events.
</span><span class="cx"> ASSERT(refCount() || parentOrShadowHostNode());
</span><span class="cx">
</span><del>- Ref<ContainerNode> protect(*this);
</del><ins>+ Ref<ContainerNode> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> ec = 0;
</span><span class="cx">
</span><span class="lines">@@ -504,7 +504,7 @@
</span><span class="cx"> // If it is, it can be deleted as a side effect of sending mutation events.
</span><span class="cx"> ASSERT(refCount() || parentOrShadowHostNode());
</span><span class="cx">
</span><del>- Ref<ContainerNode> protect(*this);
</del><ins>+ Ref<ContainerNode> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> ec = 0;
</span><span class="cx">
</span><span class="lines">@@ -611,7 +611,7 @@
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> // The container node can be removed from event handlers.
</span><del>- Ref<ContainerNode> protect(*this);
</del><ins>+ Ref<ContainerNode> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> // exclude this node when looking for removed focusedNode since only children will be removed
</span><span class="cx"> document().removeFocusedNodeOfSubtree(this, true);
</span><span class="lines">@@ -649,7 +649,7 @@
</span><span class="cx">
</span><span class="cx"> bool ContainerNode::appendChild(Node& newChild, ExceptionCode& ec)
</span><span class="cx"> {
</span><del>- Ref<ContainerNode> protect(*this);
</del><ins>+ Ref<ContainerNode> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> // Check that this node is not "floating".
</span><span class="cx"> // If it is, it can be deleted as a side effect of sending mutation events.
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/dom/Document.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -2694,7 +2694,7 @@
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> // Call to dispatchWindowLoadEvent can blow us from underneath.
</span><del>- Ref<Document> protect(*this);
</del><ins>+ Ref<Document> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> m_processingLoadEvent = true;
</span><span class="cx">
</span><span class="lines">@@ -5927,7 +5927,7 @@
</span><span class="cx"> // Since we dispatch events in this function, it's possible that the
</span><span class="cx"> // document will be detached and GC'd. We protect it here to make sure we
</span><span class="cx"> // can finish the function successfully.
</span><del>- Ref<Document> protect(*this);
</del><ins>+ Ref<Document> protectedThis(*this);
</ins><span class="cx"> Deque<RefPtr<Node>> changeQueue;
</span><span class="cx"> m_fullScreenChangeEventTargetQueue.swap(changeQueue);
</span><span class="cx"> Deque<RefPtr<Node>> errorQueue;
</span></span></pre></div>
<a id="trunkSourceWebCoredomEventTargetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/EventTarget.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/EventTarget.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/dom/EventTarget.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -222,7 +222,7 @@
</span><span class="cx">
</span><span class="cx"> void EventTarget::fireEventListeners(Event& event, EventTargetData* d, EventListenerVector& entry)
</span><span class="cx"> {
</span><del>- Ref<EventTarget> protect(*this);
</del><ins>+ Ref<EventTarget> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> // Fire all listeners registered for this event. Don't fire listeners removed during event dispatch.
</span><span class="cx"> // Also, don't fire event listeners added during event dispatch. Conveniently, all new event listeners will be added
</span></span></pre></div>
<a id="trunkSourceWebCoredomNodecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Node.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Node.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/dom/Node.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -2233,7 +2233,7 @@
</span><span class="cx"> if (!document().hasListenerType(Document::BEFORELOAD_LISTENER))
</span><span class="cx"> return true;
</span><span class="cx">
</span><del>- Ref<Node> protect(*this);
</del><ins>+ Ref<Node> protectedThis(*this);
</ins><span class="cx"> Ref<BeforeLoadEvent> beforeLoadEvent = BeforeLoadEvent::create(sourceURL);
</span><span class="cx"> dispatchEvent(beforeLoadEvent);
</span><span class="cx"> return !beforeLoadEvent->defaultPrevented();
</span></span></pre></div>
<a id="trunkSourceWebCoredomScriptExecutionContextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ScriptExecutionContext.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ScriptExecutionContext.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/dom/ScriptExecutionContext.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -144,7 +144,7 @@
</span><span class="cx"> {
</span><span class="cx"> checkConsistency();
</span><span class="cx">
</span><del>- Ref<ScriptExecutionContext> protect(*this);
</del><ins>+ Ref<ScriptExecutionContext> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> // Make a frozen copy of the ports so we can iterate while new ones might be added or destroyed.
</span><span class="cx"> Vector<MessagePort*> possibleMessagePorts;
</span></span></pre></div>
<a id="trunkSourceWebCoredomScriptedAnimationControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ScriptedAnimationController.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ScriptedAnimationController.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/dom/ScriptedAnimationController.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -147,7 +147,7 @@
</span><span class="cx">
</span><span class="cx"> // Invoking callbacks may detach elements from our document, which clears the document's
</span><span class="cx"> // reference to us, so take a defensive reference.
</span><del>- Ref<ScriptedAnimationController> protect(*this);
</del><ins>+ Ref<ScriptedAnimationController> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> for (auto& callback : callbacks) {
</span><span class="cx"> if (!callback->m_firedOrCancelled) {
</span></span></pre></div>
<a id="trunkSourceWebCoredomStringCallbackcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/StringCallback.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/StringCallback.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/dom/StringCallback.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -38,9 +38,9 @@
</span><span class="cx">
</span><span class="cx"> void StringCallback::scheduleCallback(ScriptExecutionContext* context, const String& data)
</span><span class="cx"> {
</span><del>- RefPtr<StringCallback> protector(this);
- context->postTask([protector, data] (ScriptExecutionContext&) {
- protector->handleEvent(data);
</del><ins>+ RefPtr<StringCallback> protectedThis(this);
+ context->postTask([protectedThis, data] (ScriptExecutionContext&) {
+ protectedThis->handleEvent(data);
</ins><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLEmbedElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLEmbedElement.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLEmbedElement.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/html/HTMLEmbedElement.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -163,7 +163,7 @@
</span><span class="cx"> Vector<String> paramValues;
</span><span class="cx"> parametersForPlugin(paramNames, paramValues);
</span><span class="cx">
</span><del>- Ref<HTMLEmbedElement> protect(*this); // Loading the plugin might remove us from the document.
</del><ins>+ Ref<HTMLEmbedElement> protectedThis(*this); // Loading the plugin might remove us from the document.
</ins><span class="cx"> bool beforeLoadAllowedLoad = guardedDispatchBeforeLoadEvent(m_url);
</span><span class="cx"> if (!beforeLoadAllowedLoad) {
</span><span class="cx"> if (is<PluginDocument>(document())) {
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLFormControlElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLFormControlElement.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLFormControlElement.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/html/HTMLFormControlElement.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -480,7 +480,7 @@
</span><span class="cx"> if (!willValidate() || isValidFormControlElement())
</span><span class="cx"> return true;
</span><span class="cx"> // An event handler can deref this object.
</span><del>- Ref<HTMLFormControlElement> protect(*this);
</del><ins>+ Ref<HTMLFormControlElement> protectedThis(*this);
</ins><span class="cx"> Ref<Document> originalDocument(document());
</span><span class="cx"> bool needsDefaultAction = dispatchEvent(Event::create(eventNames().invalidEvent, false, true));
</span><span class="cx"> if (needsDefaultAction && unhandledInvalidControls && inDocument() && originalDocument.ptr() == &document())
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLFormElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLFormElement.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLFormElement.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/html/HTMLFormElement.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -236,7 +236,7 @@
</span><span class="cx"> // has !renderer()->needsLayout() assertion.
</span><span class="cx"> document().updateLayoutIgnorePendingStylesheets();
</span><span class="cx">
</span><del>- Ref<HTMLFormElement> protect(*this);
</del><ins>+ Ref<HTMLFormElement> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> // Focus on the first focusable control and show a validation message.
</span><span class="cx"> for (auto& control : unhandledInvalidControls) {
</span><span class="lines">@@ -285,7 +285,7 @@
</span><span class="cx"> RefPtr<FormState> formState = FormState::create(this, controlNamesAndValues, &document(), NotSubmittedByJavaScript);
</span><span class="cx"> frame->loader().client().dispatchWillSendSubmitEvent(formState.release());
</span><span class="cx">
</span><del>- Ref<HTMLFormElement> protect(*this);
</del><ins>+ Ref<HTMLFormElement> protectedThis(*this);
</ins><span class="cx"> // Event handling can result in m_shouldSubmit becoming true, regardless of dispatchEvent() return value.
</span><span class="cx"> if (dispatchEvent(Event::create(eventNames().submitEvent, true, true)))
</span><span class="cx"> m_shouldSubmit = true;
</span><span class="lines">@@ -356,7 +356,7 @@
</span><span class="cx"> firstSuccessfulSubmitButton->setActivatedSubmit(true);
</span><span class="cx">
</span><span class="cx"> LockHistory lockHistory = processingUserGesture ? LockHistory::No : LockHistory::Yes;
</span><del>- Ref<HTMLFormElement> protect(*this); // Form submission can execute arbitary JavaScript.
</del><ins>+ Ref<HTMLFormElement> protectedThis(*this); // Form submission can execute arbitary JavaScript.
</ins><span class="cx"> frame->loader().submitForm(FormSubmission::create(this, m_attributes, event, lockHistory, formSubmissionTrigger));
</span><span class="cx">
</span><span class="cx"> if (needButtonActivation && firstSuccessfulSubmitButton)
</span><span class="lines">@@ -720,7 +720,7 @@
</span><span class="cx">
</span><span class="cx"> bool HTMLFormElement::checkInvalidControlsAndCollectUnhandled(Vector<RefPtr<FormAssociatedElement>>& unhandledInvalidControls)
</span><span class="cx"> {
</span><del>- Ref<HTMLFormElement> protect(*this);
</del><ins>+ Ref<HTMLFormElement> protectedThis(*this);
</ins><span class="cx"> // Copy m_associatedElements because event handlers called from
</span><span class="cx"> // HTMLFormControlElement::checkValidity() might change m_associatedElements.
</span><span class="cx"> Vector<RefPtr<FormAssociatedElement>> elements;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLInputElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLInputElement.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLInputElement.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/html/HTMLInputElement.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -989,7 +989,7 @@
</span><span class="cx"> if (!m_inputType->canSetValue(value))
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- Ref<HTMLInputElement> protect(*this);
</del><ins>+ Ref<HTMLInputElement> protectedThis(*this);
</ins><span class="cx"> EventQueueScope scope;
</span><span class="cx"> String sanitizedValue = sanitizeValue(value);
</span><span class="cx"> bool valueChanged = sanitizedValue != this->value();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLLinkElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLLinkElement.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLLinkElement.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/html/HTMLLinkElement.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -342,7 +342,7 @@
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> // Completing the sheet load may cause scripts to execute.
</span><del>- Ref<HTMLLinkElement> protect(*this);
</del><ins>+ Ref<HTMLLinkElement> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> CSSParserContext parserContext(document(), baseURL, charset);
</span><span class="cx"> auto cachePolicy = frame->loader().subresourceCachePolicy();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLMediaElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLMediaElement.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -936,7 +936,7 @@
</span><span class="cx">
</span><span class="cx"> void HTMLMediaElement::pendingActionTimerFired()
</span><span class="cx"> {
</span><del>- Ref<HTMLMediaElement> protect(*this); // loadNextSourceChild may fire 'beforeload', which can make arbitrary DOM mutations.
</del><ins>+ Ref<HTMLMediaElement> protectedThis(*this); // loadNextSourceChild may fire 'beforeload', which can make arbitrary DOM mutations.
</ins><span class="cx"> PendingActionFlags pendingActions = m_pendingActionFlags;
</span><span class="cx"> m_pendingActionFlags = 0;
</span><span class="cx">
</span><span class="lines">@@ -1038,7 +1038,7 @@
</span><span class="cx">
</span><span class="cx"> void HTMLMediaElement::load()
</span><span class="cx"> {
</span><del>- Ref<HTMLMediaElement> protect(*this); // loadInternal may result in a 'beforeload' event, which can make arbitrary DOM mutations.
</del><ins>+ Ref<HTMLMediaElement> protectedThis(*this); // loadInternal may result in a 'beforeload' event, which can make arbitrary DOM mutations.
</ins><span class="cx">
</span><span class="cx"> LOG(Media, "HTMLMediaElement::load(%p)", this);
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLObjectElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLObjectElement.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLObjectElement.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/html/HTMLObjectElement.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -320,7 +320,7 @@
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- Ref<HTMLObjectElement> protect(*this); // beforeload and plugin loading can make arbitrary DOM mutations.
</del><ins>+ Ref<HTMLObjectElement> protectedThis(*this); // beforeload and plugin loading can make arbitrary DOM mutations.
</ins><span class="cx"> bool beforeLoadAllowedLoad = guardedDispatchBeforeLoadEvent(url);
</span><span class="cx"> if (!renderer()) // Do not load the plugin if beforeload removed this element or its renderer.
</span><span class="cx"> return;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLOptionElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLOptionElement.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLOptionElement.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/html/HTMLOptionElement.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -107,7 +107,7 @@
</span><span class="cx">
</span><span class="cx"> void HTMLOptionElement::setText(const String &text, ExceptionCode& ec)
</span><span class="cx"> {
</span><del>- Ref<HTMLOptionElement> protectFromMutationEvents(*this);
</del><ins>+ Ref<HTMLOptionElement> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> // Changing the text causes a recalc of a select's items, which will reset the selected
</span><span class="cx"> // index to the first item if the select is single selection with a menu list. We attempt to
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLScriptElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLScriptElement.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLScriptElement.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/html/HTMLScriptElement.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -81,7 +81,7 @@
</span><span class="cx">
</span><span class="cx"> void HTMLScriptElement::setText(const String& value)
</span><span class="cx"> {
</span><del>- Ref<HTMLScriptElement> protectFromMutationEvents(*this);
</del><ins>+ Ref<HTMLScriptElement> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> if (hasOneChild() && is<Text>(*firstChild())) {
</span><span class="cx"> downcast<Text>(*firstChild()).setData(value);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTableElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTableElement.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTableElement.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/html/HTMLTableElement.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -211,7 +211,7 @@
</span><span class="cx"> return 0;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- Ref<HTMLTableElement> protectFromMutationEvents(*this);
</del><ins>+ Ref<HTMLTableElement> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> RefPtr<HTMLTableRowElement> lastRow = 0;
</span><span class="cx"> RefPtr<HTMLTableRowElement> row = 0;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTextAreaElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTextAreaElement.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTextAreaElement.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/html/HTMLTextAreaElement.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -402,7 +402,7 @@
</span><span class="cx">
</span><span class="cx"> void HTMLTextAreaElement::setDefaultValue(const String& defaultValue)
</span><span class="cx"> {
</span><del>- Ref<HTMLTextAreaElement> protectFromMutationEvents(*this);
</del><ins>+ Ref<HTMLTextAreaElement> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> // To preserve comments, remove only the text nodes, then add a single text node.
</span><span class="cx"> Vector<Ref<Text>> textNodes;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlHTMLTitleElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/HTMLTitleElement.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/HTMLTitleElement.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/html/HTMLTitleElement.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -90,7 +90,7 @@
</span><span class="cx">
</span><span class="cx"> void HTMLTitleElement::setText(const String& value)
</span><span class="cx"> {
</span><del>- Ref<HTMLTitleElement> protectFromMutationEvents(*this);
</del><ins>+ Ref<HTMLTitleElement> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> if (!value.isEmpty() && hasOneChild() && is<Text>(*firstChild())) {
</span><span class="cx"> downcast<Text>(*firstChild()).setData(value);
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserHTMLDocumentParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/html/parser/HTMLDocumentParser.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -111,7 +111,7 @@
</span><span class="cx">
</span><span class="cx"> // pumpTokenizer can cause this parser to be detached from the Document,
</span><span class="cx"> // but we need to ensure it isn't deleted yet.
</span><del>- Ref<HTMLDocumentParser> protect(*this);
</del><ins>+ Ref<HTMLDocumentParser> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> // NOTE: This pump should only ever emit buffered character tokens,
</span><span class="cx"> // so ForceSynchronous vs. AllowYield should be meaningless.
</span><span class="lines">@@ -178,7 +178,7 @@
</span><span class="cx"> {
</span><span class="cx"> // pumpTokenizer can cause this parser to be detached from the Document,
</span><span class="cx"> // but we need to ensure it isn't deleted yet.
</span><del>- Ref<HTMLDocumentParser> protect(*this);
</del><ins>+ Ref<HTMLDocumentParser> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> // We should never be here unless we can pump immediately.
</span><span class="cx"> // Call pumpTokenizer() directly so that ASSERTS will fire if we're wrong.
</span><span class="lines">@@ -340,7 +340,7 @@
</span><span class="cx">
</span><span class="cx"> // pumpTokenizer can cause this parser to be detached from the Document,
</span><span class="cx"> // but we need to ensure it isn't deleted yet.
</span><del>- Ref<HTMLDocumentParser> protect(*this);
</del><ins>+ Ref<HTMLDocumentParser> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> SegmentedString excludedLineNumberSource(source);
</span><span class="cx"> excludedLineNumberSource.setExcludeLineNumbers();
</span><span class="lines">@@ -366,7 +366,7 @@
</span><span class="cx">
</span><span class="cx"> // pumpTokenizer can cause this parser to be detached from the Document,
</span><span class="cx"> // but we need to ensure it isn't deleted yet.
</span><del>- Ref<HTMLDocumentParser> protect(*this);
</del><ins>+ Ref<HTMLDocumentParser> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> String source(WTFMove(inputSource));
</span><span class="cx">
</span><span class="lines">@@ -493,7 +493,7 @@
</span><span class="cx">
</span><span class="cx"> // pumpTokenizer can cause this parser to be detached from the Document,
</span><span class="cx"> // but we need to ensure it isn't deleted yet.
</span><del>- Ref<HTMLDocumentParser> protect(*this);
</del><ins>+ Ref<HTMLDocumentParser> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> m_insertionPreloadScanner = nullptr;
</span><span class="cx"> pumpTokenizerIfPossible(AllowYield);
</span><span class="lines">@@ -525,7 +525,7 @@
</span><span class="cx"> {
</span><span class="cx"> // pumpTokenizer can cause this parser to be detached from the Document,
</span><span class="cx"> // but we need to ensure it isn't deleted yet.
</span><del>- Ref<HTMLDocumentParser> protect(*this);
</del><ins>+ Ref<HTMLDocumentParser> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> ASSERT(m_scriptRunner);
</span><span class="cx"> ASSERT(!isExecutingScript());
</span><span class="lines">@@ -552,7 +552,7 @@
</span><span class="cx">
</span><span class="cx"> // pumpTokenizer can cause this parser to be detached from the Document,
</span><span class="cx"> // but we need to ensure it isn't deleted yet.
</span><del>- Ref<HTMLDocumentParser> protect(*this);
</del><ins>+ Ref<HTMLDocumentParser> protectedThis(*this);
</ins><span class="cx"> m_scriptRunner->executeScriptsWaitingForStylesheets();
</span><span class="cx"> if (!isWaitingForScripts())
</span><span class="cx"> resumeParsingAfterScriptExecution();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowSliderThumbElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/html/shadow/SliderThumbElement.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -243,7 +243,7 @@
</span><span class="cx">
</span><span class="cx"> void SliderThumbElement::dragFrom(const LayoutPoint& point)
</span><span class="cx"> {
</span><del>- Ref<SliderThumbElement> protect(*this);
</del><ins>+ Ref<SliderThumbElement> protectedThis(*this);
</ins><span class="cx"> setPositionFromPoint(point);
</span><span class="cx"> #if !PLATFORM(IOS)
</span><span class="cx"> startDragging();
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlshadowSpinButtonElementcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/shadow/SpinButtonElement.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/shadow/SpinButtonElement.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/html/shadow/SpinButtonElement.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -94,7 +94,7 @@
</span><span class="cx"> // The following functions of HTMLInputElement may run JavaScript
</span><span class="cx"> // code which detaches this shadow node. We need to take a reference
</span><span class="cx"> // and check renderer() after such function calls.
</span><del>- Ref<SpinButtonElement> protect(*this);
</del><ins>+ Ref<SpinButtonElement> protectedThis(*this);
</ins><span class="cx"> if (m_spinButtonOwner)
</span><span class="cx"> m_spinButtonOwner->focusAndSelectSpinButtonOwner();
</span><span class="cx"> if (renderer()) {
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorFrontendClientLocalcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -97,7 +97,7 @@
</span><span class="cx">
</span><span class="cx"> // Dispatching a message can possibly close the frontend and destroy
</span><span class="cx"> // the owning frontend client, so keep a protector reference here.
</span><del>- Ref<InspectorBackendDispatchTask> protect(*this);
</del><ins>+ Ref<InspectorBackendDispatchTask> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> if (!m_messages.isEmpty())
</span><span class="cx"> m_inspectedPageController->dispatchMessageFromFrontend(m_messages.takeFirst());
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderDocumentLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/DocumentLoader.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/DocumentLoader.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/loader/DocumentLoader.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -275,8 +275,8 @@
</span><span class="cx"> // but not loads initiated by child frames' data sources -- that's the WebFrame's job.
</span><span class="cx"> void DocumentLoader::stopLoading()
</span><span class="cx"> {
</span><del>- RefPtr<Frame> protectFrame(m_frame);
- Ref<DocumentLoader> protectLoader(*this);
</del><ins>+ RefPtr<Frame> protectedFrame(m_frame);
+ Ref<DocumentLoader> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> // In some rare cases, calling FrameLoader::stopLoading could cause isLoading() to return false.
</span><span class="cx"> // (This can happen when there's a single XMLHttpRequest currently loading and stopLoading causes it
</span><span class="lines">@@ -400,7 +400,7 @@
</span><span class="cx"> ASSERT(!m_frame->page()->defersLoading() || InspectorInstrumentation::isDebuggerPaused(m_frame));
</span><span class="cx"> #endif
</span><span class="cx">
</span><del>- Ref<DocumentLoader> protect(*this);
</del><ins>+ Ref<DocumentLoader> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> if (m_identifierForLoadWithoutResourceLoader) {
</span><span class="cx"> // A didFinishLoading delegate might try to cancel the load (despite it
</span><span class="lines">@@ -637,7 +637,7 @@
</span><span class="cx"> #endif
</span><span class="cx">
</span><span class="cx"> ASSERT_UNUSED(resource, m_mainResource == resource);
</span><del>- Ref<DocumentLoader> protect(*this);
</del><ins>+ Ref<DocumentLoader> protectedThis(*this);
</ins><span class="cx"> bool willLoadFallback = m_applicationCacheHost->maybeLoadFallbackForMainResponse(request(), response);
</span><span class="cx">
</span><span class="cx"> // The memory cache doesn't understand the application cache or its caching rules. So if a main resource is served
</span><span class="lines">@@ -816,8 +816,8 @@
</span><span class="cx"> {
</span><span class="cx"> // Both unloading the old page and parsing the new page may execute JavaScript which destroys the datasource
</span><span class="cx"> // by starting a new load, so retain temporarily.
</span><del>- RefPtr<Frame> protectFrame(m_frame);
- Ref<DocumentLoader> protectLoader(*this);
</del><ins>+ RefPtr<Frame> protectedFrame(m_frame);
+ Ref<DocumentLoader> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> commitIfReady();
</span><span class="cx"> FrameLoader* frameLoader = DocumentLoader::frameLoader();
</span><span class="lines">@@ -999,8 +999,8 @@
</span><span class="cx"> else
</span><span class="cx"> ASSERT_WITH_MESSAGE(m_frame, "detachFromFrame() is being called on a DocumentLoader that has never attached to any Frame");
</span><span class="cx"> #endif
</span><del>- RefPtr<Frame> protectFrame(m_frame);
- Ref<DocumentLoader> protectLoader(*this);
</del><ins>+ RefPtr<Frame> protectedFrame(m_frame);
+ Ref<DocumentLoader> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> // It never makes sense to have a document loader that is detached from its
</span><span class="cx"> // frame have any loads active, so kill all the loads.
</span><span class="lines">@@ -1475,7 +1475,7 @@
</span><span class="cx"> ASSERT(!timing().fetchStart());
</span><span class="cx"> timing().markFetchStart();
</span><span class="cx">
</span><del>- Ref<DocumentLoader> protect(*this); // willSendRequest() may deallocate the provisional loader (which may be us) if it cancels the load.
</del><ins>+ Ref<DocumentLoader> protectedThis(*this); // willSendRequest() may deallocate the provisional loader (which may be us) if it cancels the load.
</ins><span class="cx"> willSendRequest(m_request, ResourceResponse());
</span><span class="cx">
</span><span class="cx"> // willSendRequest() may lead to our Frame being detached or cancelling the load via nulling the ResourceRequest.
</span><span class="lines">@@ -1555,7 +1555,7 @@
</span><span class="cx">
</span><span class="cx"> void DocumentLoader::cancelMainResourceLoad(const ResourceError& resourceError)
</span><span class="cx"> {
</span><del>- Ref<DocumentLoader> protect(*this);
</del><ins>+ Ref<DocumentLoader> protectedThis(*this);
</ins><span class="cx"> ResourceError error = resourceError.isNull() ? frameLoader()->cancelledError(m_request) : resourceError;
</span><span class="cx">
</span><span class="cx"> m_dataLoadTimer.stop();
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderDocumentThreadableLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/DocumentThreadableLoader.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/DocumentThreadableLoader.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/loader/DocumentThreadableLoader.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -155,7 +155,7 @@
</span><span class="cx">
</span><span class="cx"> void DocumentThreadableLoader::cancel()
</span><span class="cx"> {
</span><del>- Ref<DocumentThreadableLoader> protect(*this);
</del><ins>+ Ref<DocumentThreadableLoader> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> // Cancel can re-enter and m_resource might be null here as a result.
</span><span class="cx"> if (m_client && m_resource) {
</span><span class="lines">@@ -191,7 +191,7 @@
</span><span class="cx"> ASSERT(m_client);
</span><span class="cx"> ASSERT_UNUSED(resource, resource == m_resource);
</span><span class="cx">
</span><del>- Ref<DocumentThreadableLoader> protect(*this);
</del><ins>+ Ref<DocumentThreadableLoader> protectedThis(*this);
</ins><span class="cx"> if (!isAllowedByContentSecurityPolicy(request.url(), !redirectResponse.isNull())) {
</span><span class="cx"> m_client->didFailRedirectCheck();
</span><span class="cx"> request = ResourceRequest();
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderMediaResourceLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/MediaResourceLoader.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/MediaResourceLoader.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/loader/MediaResourceLoader.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -140,7 +140,7 @@
</span><span class="cx"> if (!m_loader->document())
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- RefPtr<MediaResource> protect(this);
</del><ins>+ RefPtr<MediaResource> protectedThis(this);
</ins><span class="cx"> if (!m_loader->crossOriginMode().isNull() && !resource->passesSameOriginPolicyCheck(*m_loader->document()->securityOrigin())) {
</span><span class="cx"> static NeverDestroyed<const String> consoleMessage("Cross-origin media resource load denied by Cross-Origin Resource Sharing policy.");
</span><span class="cx"> m_loader->document()->addConsoleMessage(MessageSource::Security, MessageLevel::Error, consoleMessage.get());
</span><span class="lines">@@ -160,7 +160,7 @@
</span><span class="cx"> {
</span><span class="cx"> ASSERT_UNUSED(resource, resource == m_resource);
</span><span class="cx">
</span><del>- RefPtr<MediaResource> protect(this);
</del><ins>+ RefPtr<MediaResource> protectedThis(this);
</ins><span class="cx"> if (m_client)
</span><span class="cx"> return m_client->shouldCacheResponse(*this, response);
</span><span class="cx"> return true;
</span><span class="lines">@@ -170,7 +170,7 @@
</span><span class="cx"> {
</span><span class="cx"> ASSERT_UNUSED(resource, resource == m_resource);
</span><span class="cx">
</span><del>- RefPtr<MediaResource> protect(this);
</del><ins>+ RefPtr<MediaResource> protectedThis(this);
</ins><span class="cx"> if (m_client)
</span><span class="cx"> m_client->redirectReceived(*this, request, response);
</span><span class="cx"> }
</span><span class="lines">@@ -179,7 +179,7 @@
</span><span class="cx"> {
</span><span class="cx"> ASSERT_UNUSED(resource, resource == m_resource);
</span><span class="cx">
</span><del>- RefPtr<MediaResource> protect(this);
</del><ins>+ RefPtr<MediaResource> protectedThis(this);
</ins><span class="cx"> if (m_client)
</span><span class="cx"> m_client->dataSent(*this, bytesSent, totalBytesToBeSent);
</span><span class="cx"> }
</span><span class="lines">@@ -188,7 +188,7 @@
</span><span class="cx"> {
</span><span class="cx"> ASSERT_UNUSED(resource, resource == m_resource);
</span><span class="cx">
</span><del>- RefPtr<MediaResource> protect(this);
</del><ins>+ RefPtr<MediaResource> protectedThis(this);
</ins><span class="cx"> if (m_client)
</span><span class="cx"> m_client->dataReceived(*this, data, dataLength);
</span><span class="cx"> }
</span><span class="lines">@@ -197,7 +197,7 @@
</span><span class="cx"> {
</span><span class="cx"> ASSERT(resource == m_resource);
</span><span class="cx">
</span><del>- RefPtr<MediaResource> protect(this);
</del><ins>+ RefPtr<MediaResource> protectedThis(this);
</ins><span class="cx"> if (m_client) {
</span><span class="cx"> if (resource->loadFailedOrCanceled())
</span><span class="cx"> m_client->loadFailed(*this, resource->resourceError());
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderNetscapePlugInStreamLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/NetscapePlugInStreamLoader.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/NetscapePlugInStreamLoader.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/loader/NetscapePlugInStreamLoader.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -90,11 +90,11 @@
</span><span class="cx">
</span><span class="cx"> void NetscapePlugInStreamLoader::willSendRequest(ResourceRequest&& request, const ResourceResponse& redirectResponse, std::function<void(ResourceRequest&&)>&& callback)
</span><span class="cx"> {
</span><del>- RefPtr<NetscapePlugInStreamLoader> protect(this);
</del><ins>+ RefPtr<NetscapePlugInStreamLoader> protectedThis(this);
</ins><span class="cx">
</span><del>- m_client->willSendRequest(this, WTFMove(request), redirectResponse, [protect, redirectResponse, callback](ResourceRequest request) {
</del><ins>+ m_client->willSendRequest(this, WTFMove(request), redirectResponse, [protectedThis, redirectResponse, callback](ResourceRequest request) {
</ins><span class="cx"> if (!request.isNull())
</span><del>- protect->willSendRequestInternal(request, redirectResponse);
</del><ins>+ protectedThis->willSendRequestInternal(request, redirectResponse);
</ins><span class="cx">
</span><span class="cx"> callback(WTFMove(request));
</span><span class="cx"> });
</span><span class="lines">@@ -102,7 +102,7 @@
</span><span class="cx">
</span><span class="cx"> void NetscapePlugInStreamLoader::didReceiveResponse(const ResourceResponse& response)
</span><span class="cx"> {
</span><del>- Ref<NetscapePlugInStreamLoader> protect(*this);
</del><ins>+ Ref<NetscapePlugInStreamLoader> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> m_client->didReceiveResponse(this, response);
</span><span class="cx">
</span><span class="lines">@@ -139,7 +139,7 @@
</span><span class="cx">
</span><span class="cx"> void NetscapePlugInStreamLoader::didReceiveDataOrBuffer(const char* data, int length, PassRefPtr<SharedBuffer> buffer, long long encodedDataLength, DataPayloadType dataPayloadType)
</span><span class="cx"> {
</span><del>- Ref<NetscapePlugInStreamLoader> protect(*this);
</del><ins>+ Ref<NetscapePlugInStreamLoader> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> m_client->didReceiveData(this, buffer ? buffer->data() : data, buffer ? buffer->size() : length);
</span><span class="cx">
</span><span class="lines">@@ -148,7 +148,7 @@
</span><span class="cx">
</span><span class="cx"> void NetscapePlugInStreamLoader::didFinishLoading(double finishTime)
</span><span class="cx"> {
</span><del>- Ref<NetscapePlugInStreamLoader> protect(*this);
</del><ins>+ Ref<NetscapePlugInStreamLoader> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> notifyDone();
</span><span class="cx">
</span><span class="lines">@@ -158,7 +158,7 @@
</span><span class="cx">
</span><span class="cx"> void NetscapePlugInStreamLoader::didFail(const ResourceError& error)
</span><span class="cx"> {
</span><del>- Ref<NetscapePlugInStreamLoader> protect(*this);
</del><ins>+ Ref<NetscapePlugInStreamLoader> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> notifyDone();
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderResourceLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/ResourceLoader.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/ResourceLoader.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/loader/ResourceLoader.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -99,7 +99,7 @@
</span><span class="cx"> // deallocated and release the last reference to this object.
</span><span class="cx"> // We need to retain to avoid accessing the object after it
</span><span class="cx"> // has been deallocated and also to avoid reentering this method.
</span><del>- Ref<ResourceLoader> protect(*this);
</del><ins>+ Ref<ResourceLoader> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> m_frame = nullptr;
</span><span class="cx"> m_documentLoader = nullptr;
</span><span class="lines">@@ -171,7 +171,7 @@
</span><span class="cx">
</span><span class="cx"> void ResourceLoader::deliverResponseAndData(const ResourceResponse& response, RefPtr<SharedBuffer>&& buffer)
</span><span class="cx"> {
</span><del>- Ref<ResourceLoader> protect(*this);
</del><ins>+ Ref<ResourceLoader> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> didReceiveResponse(response);
</span><span class="cx"> if (reachedTerminalState())
</span><span class="lines">@@ -247,32 +247,32 @@
</span><span class="cx"> auto url = m_request.url();
</span><span class="cx"> ASSERT(url.protocolIsData());
</span><span class="cx">
</span><del>- RefPtr<ResourceLoader> loader(this);
</del><ins>+ RefPtr<ResourceLoader> protectedThis(this);
</ins><span class="cx"> DataURLDecoder::ScheduleContext scheduleContext;
</span><span class="cx"> #if HAVE(RUNLOOP_TIMER)
</span><span class="cx"> if (auto* scheduledPairs = m_frame->page()->scheduledRunLoopPairs())
</span><span class="cx"> scheduleContext.scheduledPairs = *scheduledPairs;
</span><span class="cx"> #endif
</span><del>- DataURLDecoder::decode(url, scheduleContext, [loader, url] (Optional<DataURLDecoder::Result> decodeResult) {
- if (loader->reachedTerminalState())
</del><ins>+ DataURLDecoder::decode(url, scheduleContext, [protectedThis, url] (Optional<DataURLDecoder::Result> decodeResult) {
+ if (protectedThis->reachedTerminalState())
</ins><span class="cx"> return;
</span><span class="cx"> if (!decodeResult) {
</span><del>- loader->didFail(ResourceError(errorDomainWebKitInternal, 0, url, "Data URL decoding failed"));
</del><ins>+ protectedThis->didFail(ResourceError(errorDomainWebKitInternal, 0, url, "Data URL decoding failed"));
</ins><span class="cx"> return;
</span><span class="cx"> }
</span><del>- if (loader->wasCancelled())
</del><ins>+ if (protectedThis->wasCancelled())
</ins><span class="cx"> return;
</span><span class="cx"> auto& result = decodeResult.value();
</span><span class="cx"> auto dataSize = result.data->size();
</span><span class="cx">
</span><span class="cx"> ResourceResponse dataResponse { url, result.mimeType, dataSize, result.charset };
</span><del>- loader->didReceiveResponse(dataResponse);
</del><ins>+ protectedThis->didReceiveResponse(dataResponse);
</ins><span class="cx">
</span><del>- if (!loader->reachedTerminalState() && dataSize)
- loader->didReceiveBuffer(result.data.get(), dataSize, DataPayloadWholeResource);
</del><ins>+ if (!protectedThis->reachedTerminalState() && dataSize)
+ protectedThis->didReceiveBuffer(result.data.get(), dataSize, DataPayloadWholeResource);
</ins><span class="cx">
</span><del>- if (!loader->reachedTerminalState())
- loader->didFinishLoading(currentTime());
</del><ins>+ if (!protectedThis->reachedTerminalState())
+ protectedThis->didFinishLoading(currentTime());
</ins><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -328,7 +328,7 @@
</span><span class="cx"> {
</span><span class="cx"> // Protect this in this delegate method since the additional processing can do
</span><span class="cx"> // anything including possibly derefing this; one example of this is Radar 3266216.
</span><del>- Ref<ResourceLoader> protect(*this);
</del><ins>+ Ref<ResourceLoader> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> ASSERT(!m_reachedTerminalState);
</span><span class="cx"> #if ENABLE(CONTENT_EXTENSIONS)
</span><span class="lines">@@ -435,7 +435,7 @@
</span><span class="cx">
</span><span class="cx"> // Protect this in this delegate method since the additional processing can do
</span><span class="cx"> // anything including possibly derefing this; one example of this is Radar 3266216.
</span><del>- Ref<ResourceLoader> protect(*this);
</del><ins>+ Ref<ResourceLoader> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> logResourceResponseSource(m_frame.get(), r.source());
</span><span class="cx">
</span><span class="lines">@@ -477,7 +477,7 @@
</span><span class="cx">
</span><span class="cx"> // Protect this in this delegate method since the additional processing can do
</span><span class="cx"> // anything including possibly derefing this; one example of this is Radar 3266216.
</span><del>- Ref<ResourceLoader> protect(*this);
</del><ins>+ Ref<ResourceLoader> protectedThis(*this);
</ins><span class="cx"> RefPtr<SharedBuffer> buffer = prpBuffer;
</span><span class="cx">
</span><span class="cx"> addDataOrBuffer(data, length, buffer.get(), dataPayloadType);
</span><span class="lines">@@ -523,7 +523,7 @@
</span><span class="cx">
</span><span class="cx"> // Protect this in this delegate method since the additional processing can do
</span><span class="cx"> // anything including possibly derefing this; one example of this is Radar 3266216.
</span><del>- Ref<ResourceLoader> protect(*this);
</del><ins>+ Ref<ResourceLoader> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> cleanupForError(error);
</span><span class="cx"> releaseResources();
</span><span class="lines">@@ -556,7 +556,7 @@
</span><span class="cx">
</span><span class="cx"> // willCancel() and didFailToLoad() both call out to clients that might do
</span><span class="cx"> // something causing the last reference to this object to go away.
</span><del>- Ref<ResourceLoader> protect(*this);
</del><ins>+ Ref<ResourceLoader> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> // If we re-enter cancel() from inside willCancel(), we want to pick up from where we left
</span><span class="cx"> // off without re-running willCancel()
</span><span class="lines">@@ -672,7 +672,7 @@
</span><span class="cx"> if (m_options.allowCredentials() == DoNotAllowStoredCredentials)
</span><span class="cx"> return false;
</span><span class="cx">
</span><del>- Ref<ResourceLoader> protect(*this);
</del><ins>+ Ref<ResourceLoader> protectedThis(*this);
</ins><span class="cx"> return frameLoader()->client().shouldUseCredentialStorage(documentLoader(), identifier());
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -687,7 +687,7 @@
</span><span class="cx">
</span><span class="cx"> // Protect this in this delegate method since the additional processing can do
</span><span class="cx"> // anything including possibly derefing this; one example of this is Radar 3266216.
</span><del>- Ref<ResourceLoader> protect(*this);
</del><ins>+ Ref<ResourceLoader> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> if (m_options.allowCredentials() == AllowStoredCredentials) {
</span><span class="cx"> if (isAllowedToAskUserForCredentials()) {
</span><span class="lines">@@ -709,7 +709,7 @@
</span><span class="cx"> {
</span><span class="cx"> // Protect this in this delegate method since the additional processing can do
</span><span class="cx"> // anything including possibly derefing this; one example of this is Radar 3266216.
</span><del>- Ref<ResourceLoader> protect(*this);
</del><ins>+ Ref<ResourceLoader> protectedThis(*this);
</ins><span class="cx"> frameLoader()->notifier().didCancelAuthenticationChallenge(this, challenge);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -717,7 +717,7 @@
</span><span class="cx">
</span><span class="cx"> bool ResourceLoader::canAuthenticateAgainstProtectionSpace(const ProtectionSpace& protectionSpace)
</span><span class="cx"> {
</span><del>- Ref<ResourceLoader> protect(*this);
</del><ins>+ Ref<ResourceLoader> protectedThis(*this);
</ins><span class="cx"> return frameLoader()->client().canAuthenticateAgainstProtectionSpace(documentLoader(), identifier(), protectionSpace);
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderSubresourceLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/SubresourceLoader.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/SubresourceLoader.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/loader/SubresourceLoader.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -166,7 +166,7 @@
</span><span class="cx"> {
</span><span class="cx"> // Store the previous URL because the call to ResourceLoader::willSendRequest will modify it.
</span><span class="cx"> URL previousURL = request().url();
</span><del>- Ref<SubresourceLoader> protect(*this);
</del><ins>+ Ref<SubresourceLoader> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> if (!newRequest.url().isValid()) {
</span><span class="cx"> cancel(cannotShowURLError());
</span><span class="lines">@@ -216,7 +216,7 @@
</span><span class="cx"> void SubresourceLoader::didSendData(unsigned long long bytesSent, unsigned long long totalBytesToBeSent)
</span><span class="cx"> {
</span><span class="cx"> ASSERT(m_state == Initialized);
</span><del>- Ref<SubresourceLoader> protect(*this);
</del><ins>+ Ref<SubresourceLoader> protectedThis(*this);
</ins><span class="cx"> m_resource->didSendData(bytesSent, totalBytesToBeSent);
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -227,7 +227,7 @@
</span><span class="cx">
</span><span class="cx"> // Reference the object in this method since the additional processing can do
</span><span class="cx"> // anything including removing the last reference to this object; one example of this is 3266216.
</span><del>- Ref<SubresourceLoader> protect(*this);
</del><ins>+ Ref<SubresourceLoader> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> if (shouldIncludeCertificateInfo())
</span><span class="cx"> response.includeCertificateInfo();
</span><span class="lines">@@ -312,7 +312,7 @@
</span><span class="cx"> ASSERT(m_state == Initialized);
</span><span class="cx"> // Reference the object in this method since the additional processing can do
</span><span class="cx"> // anything including removing the last reference to this object; one example of this is 3266216.
</span><del>- Ref<SubresourceLoader> protect(*this);
</del><ins>+ Ref<SubresourceLoader> protectedThis(*this);
</ins><span class="cx"> RefPtr<SharedBuffer> buffer = prpBuffer;
</span><span class="cx">
</span><span class="cx"> ResourceLoader::didReceiveDataOrBuffer(data, length, buffer, encodedDataLength, dataPayloadType);
</span><span class="lines">@@ -421,7 +421,7 @@
</span><span class="cx"> LOG(ResourceLoading, "Received '%s'.", m_resource->url().string().latin1().data());
</span><span class="cx"> logResourceLoaded(m_frame.get(), m_resource->type());
</span><span class="cx">
</span><del>- Ref<SubresourceLoader> protect(*this);
</del><ins>+ Ref<SubresourceLoader> protectedThis(*this);
</ins><span class="cx"> CachedResourceHandle<CachedResource> protectResource(m_resource);
</span><span class="cx">
</span><span class="cx"> m_state = Finishing;
</span><span class="lines">@@ -446,7 +446,7 @@
</span><span class="cx"> ASSERT(!reachedTerminalState());
</span><span class="cx"> LOG(ResourceLoading, "Failed to load '%s'.\n", m_resource->url().string().latin1().data());
</span><span class="cx">
</span><del>- Ref<SubresourceLoader> protect(*this);
</del><ins>+ Ref<SubresourceLoader> protectedThis(*this);
</ins><span class="cx"> CachedResourceHandle<CachedResource> protectResource(m_resource);
</span><span class="cx"> m_state = Finishing;
</span><span class="cx"> if (m_resource->resourceToRevalidate())
</span><span class="lines">@@ -476,7 +476,7 @@
</span><span class="cx"> ASSERT(!reachedTerminalState());
</span><span class="cx"> LOG(ResourceLoading, "Cancelled load of '%s'.\n", m_resource->url().string().latin1().data());
</span><span class="cx">
</span><del>- Ref<SubresourceLoader> protect(*this);
</del><ins>+ Ref<SubresourceLoader> protectedThis(*this);
</ins><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx"> m_state = m_state == Uninitialized ? CancelledWhileInitializing : Finishing;
</span><span class="cx"> #else
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedRawResourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedRawResource.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedRawResource.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/loader/cache/CachedRawResource.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -59,7 +59,7 @@
</span><span class="cx">
</span><span class="cx"> void CachedRawResource::addDataBuffer(SharedBuffer& data)
</span><span class="cx"> {
</span><del>- CachedResourceHandle<CachedRawResource> protect(this);
</del><ins>+ CachedResourceHandle<CachedRawResource> protectedThis(this);
</ins><span class="cx"> ASSERT(dataBufferingPolicy() == BufferData);
</span><span class="cx"> m_data = &data;
</span><span class="cx">
</span><span class="lines">@@ -86,7 +86,7 @@
</span><span class="cx">
</span><span class="cx"> void CachedRawResource::finishLoading(SharedBuffer* data)
</span><span class="cx"> {
</span><del>- CachedResourceHandle<CachedRawResource> protect(this);
</del><ins>+ CachedResourceHandle<CachedRawResource> protectedThis(this);
</ins><span class="cx"> DataBufferingPolicy dataBufferingPolicy = this->dataBufferingPolicy();
</span><span class="cx"> if (dataBufferingPolicy == BufferData) {
</span><span class="cx"> m_data = data;
</span><span class="lines">@@ -113,7 +113,7 @@
</span><span class="cx"> if (!length)
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- CachedResourceHandle<CachedRawResource> protect(this);
</del><ins>+ CachedResourceHandle<CachedRawResource> protectedThis(this);
</ins><span class="cx"> CachedResourceClientWalker<CachedRawResourceClient> w(m_clients);
</span><span class="cx"> while (CachedRawResourceClient* c = w.next())
</span><span class="cx"> c->dataReceived(this, data, length);
</span><span class="lines">@@ -126,7 +126,7 @@
</span><span class="cx"> // The calls to the client can result in events running, potentially causing
</span><span class="cx"> // this resource to be evicted from the cache and all clients to be removed,
</span><span class="cx"> // so a protector is necessary.
</span><del>- CachedResourceHandle<CachedRawResource> protect(this);
</del><ins>+ CachedResourceHandle<CachedRawResource> protectedThis(this);
</ins><span class="cx"> CachedRawResourceClient* client = static_cast<CachedRawResourceClient*>(c);
</span><span class="cx"> size_t redirectCount = m_redirectChain.size();
</span><span class="cx"> for (size_t i = 0; i < redirectCount; i++) {
</span><span class="lines">@@ -165,7 +165,7 @@
</span><span class="cx">
</span><span class="cx"> void CachedRawResource::redirectReceived(ResourceRequest& request, const ResourceResponse& response)
</span><span class="cx"> {
</span><del>- CachedResourceHandle<CachedRawResource> protect(this);
</del><ins>+ CachedResourceHandle<CachedRawResource> protectedThis(this);
</ins><span class="cx"> if (!response.isNull()) {
</span><span class="cx"> CachedResourceClientWalker<CachedRawResourceClient> w(m_clients);
</span><span class="cx"> while (CachedRawResourceClient* c = w.next())
</span><span class="lines">@@ -177,7 +177,7 @@
</span><span class="cx">
</span><span class="cx"> void CachedRawResource::responseReceived(const ResourceResponse& response)
</span><span class="cx"> {
</span><del>- CachedResourceHandle<CachedRawResource> protect(this);
</del><ins>+ CachedResourceHandle<CachedRawResource> protectedThis(this);
</ins><span class="cx"> if (!m_identifier)
</span><span class="cx"> m_identifier = m_loader->identifier();
</span><span class="cx"> CachedResource::responseReceived(response);
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercfSubresourceLoaderCFcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cf/SubresourceLoaderCF.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cf/SubresourceLoaderCF.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/loader/cf/SubresourceLoaderCF.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx"> {
</span><span class="cx"> // Reference the object in this method since the additional processing can do anything including
</span><span class="cx"> // removing the last reference to this object; one example of this is <rdar://problem/3266216>.
</span><del>- Ref<SubresourceLoader> protect(*this);
</del><ins>+ Ref<SubresourceLoader> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> ResourceLoader::didReceiveDataArray(dataArray);
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreloadermacResourceLoaderMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/mac/ResourceLoaderMac.mm (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/mac/ResourceLoaderMac.mm        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/loader/mac/ResourceLoaderMac.mm        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -64,7 +64,7 @@
</span><span class="cx"> {
</span><span class="cx"> // Protect this in this delegate method since the additional processing can do
</span><span class="cx"> // anything including possibly derefing this; one example of this is Radar 3266216.
</span><del>- Ref<ResourceLoader> protect(*this);
</del><ins>+ Ref<ResourceLoader> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> CFIndex arrayCount = CFArrayGetCount(dataArray);
</span><span class="cx"> for (CFIndex i = 0; i < arrayCount; ++i) {
</span></span></pre></div>
<a id="trunkSourceWebCorepageDOMWindowcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/DOMWindow.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/DOMWindow.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/page/DOMWindow.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -1885,7 +1885,7 @@
</span><span class="cx">
</span><span class="cx"> bool DOMWindow::dispatchEvent(Event& event, EventTarget* target)
</span><span class="cx"> {
</span><del>- Ref<EventTarget> protect(*this);
</del><ins>+ Ref<EventTarget> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> // Pausing a page may trigger pagehide and pageshow events. WebCore also implicitly fires these
</span><span class="cx"> // events when closing a WebView. Here we keep track of the state of the page to prevent duplicate,
</span></span></pre></div>
<a id="trunkSourceWebCorepageDOMWindowExtensioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/DOMWindowExtension.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/DOMWindowExtension.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/page/DOMWindowExtension.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx"> {
</span><span class="cx"> // Calling out to the client might result in this DOMWindowExtension being destroyed
</span><span class="cx"> // while there is still work to do.
</span><del>- Ref<DOMWindowExtension> protect(*this);
</del><ins>+ Ref<DOMWindowExtension> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> Frame* frame = this->frame();
</span><span class="cx"> frame->loader().client().dispatchWillDisconnectDOMWindowExtensionFromGlobalObject(this);
</span><span class="lines">@@ -73,7 +73,7 @@
</span><span class="cx">
</span><span class="cx"> // Calling out to the client might result in this DOMWindowExtension being destroyed
</span><span class="cx"> // while there is still work to do.
</span><del>- Ref<DOMWindowExtension> protect(*this);
</del><ins>+ Ref<DOMWindowExtension> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> m_disconnectedFrame->loader().client().dispatchWillDestroyGlobalObjectForDOMWindowExtension(this);
</span><span class="cx"> m_disconnectedFrame = nullptr;
</span><span class="lines">@@ -87,7 +87,7 @@
</span><span class="cx">
</span><span class="cx"> // Calling out to the client might result in this DOMWindowExtension being destroyed
</span><span class="cx"> // while there is still work to do.
</span><del>- Ref<DOMWindowExtension> protect(*this);
</del><ins>+ Ref<DOMWindowExtension> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> if (!m_wasDetached) {
</span><span class="cx"> Frame* frame = this->frame();
</span><span class="lines">@@ -105,7 +105,7 @@
</span><span class="cx">
</span><span class="cx"> // Calling out to the client might result in this DOMWindowExtension being destroyed
</span><span class="cx"> // while there is still work to do.
</span><del>- Ref<DOMWindowExtension> protect(*this);
</del><ins>+ Ref<DOMWindowExtension> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> Frame* frame = this->frame();
</span><span class="cx"> ASSERT(frame);
</span></span></pre></div>
<a id="trunkSourceWebCorepageFrameViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/FrameView.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/FrameView.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/page/FrameView.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -475,7 +475,7 @@
</span><span class="cx">
</span><span class="cx"> void FrameView::setFrameRect(const IntRect& newRect)
</span><span class="cx"> {
</span><del>- Ref<FrameView> protect(*this);
</del><ins>+ Ref<FrameView> protectedThis(*this);
</ins><span class="cx"> IntRect oldRect = frameRect();
</span><span class="cx"> if (newRect == oldRect)
</span><span class="cx"> return;
</span><span class="lines">@@ -1218,7 +1218,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // Protect the view from being deleted during layout (in recalcStyle).
</span><del>- Ref<FrameView> protect(*this);
</del><ins>+ Ref<FrameView> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> // Many of the tasks performed during layout can cause this function to be re-entered,
</span><span class="cx"> // so save the layout phase now and restore it on exit.
</span><span class="lines">@@ -3113,7 +3113,7 @@
</span><span class="cx">
</span><span class="cx"> void FrameView::updateEmbeddedObjectsTimerFired()
</span><span class="cx"> {
</span><del>- RefPtr<FrameView> protect(this);
</del><ins>+ RefPtr<FrameView> protectedThis(this);
</ins><span class="cx"> m_updateEmbeddedObjectsTimer.stop();
</span><span class="cx"> for (unsigned i = 0; i < maxUpdateEmbeddedObjectsIterations; i++) {
</span><span class="cx"> if (updateEmbeddedObjects())
</span><span class="lines">@@ -3190,7 +3190,7 @@
</span><span class="cx">
</span><span class="cx"> // layout() protects FrameView, but it still can get destroyed when updateEmbeddedObjects()
</span><span class="cx"> // is called through the post layout timer.
</span><del>- Ref<FrameView> protect(*this);
</del><ins>+ Ref<FrameView> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> m_updateEmbeddedObjectsTimer.startOneShot(0);
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorepageanimationAnimationBasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/animation/AnimationBase.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/animation/AnimationBase.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/page/animation/AnimationBase.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -476,7 +476,7 @@
</span><span class="cx"> // during an animation callback that might get called. Since the owner is a CompositeAnimation
</span><span class="cx"> // and it ref counts this object, we will keep a ref to that instead. That way the AnimationBase
</span><span class="cx"> // can still access the resources of its CompositeAnimation as needed.
</span><del>- Ref<AnimationBase> protect(*this);
</del><ins>+ Ref<AnimationBase> protectedThis(*this);
</ins><span class="cx"> Ref<CompositeAnimation> protectCompositeAnimation(*m_compositeAnimation);
</span><span class="cx">
</span><span class="cx"> // Check for start timeout
</span></span></pre></div>
<a id="trunkSourceWebCorepagescrollingThreadedScrollingTreecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -59,9 +59,9 @@
</span><span class="cx"> if (willWheelEventStartSwipeGesture(wheelEvent))
</span><span class="cx"> return DidNotHandleEvent;
</span><span class="cx">
</span><del>- RefPtr<ThreadedScrollingTree> threadedScrollingTree(this);
- ScrollingThread::dispatch([threadedScrollingTree, wheelEvent] {
- threadedScrollingTree->handleWheelEvent(wheelEvent);
</del><ins>+ RefPtr<ThreadedScrollingTree> protectedThis(this);
+ ScrollingThread::dispatch([protectedThis, wheelEvent] {
+ protectedThis->handleWheelEvent(wheelEvent);
</ins><span class="cx"> });
</span><span class="cx">
</span><span class="cx"> return DidHandleEvent;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformScrollViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ScrollView.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ScrollView.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/platform/ScrollView.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -1034,7 +1034,7 @@
</span><span class="cx">
</span><span class="cx"> void ScrollView::setFrameRect(const IntRect& newRect)
</span><span class="cx"> {
</span><del>- Ref<ScrollView> protect(*this);
</del><ins>+ Ref<ScrollView> protectedThis(*this);
</ins><span class="cx"> IntRect oldRect = frameRect();
</span><span class="cx">
</span><span class="cx"> if (newRect == oldRect)
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsDisplayRefreshMonitorcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/DisplayRefreshMonitor.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/DisplayRefreshMonitor.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/platform/graphics/DisplayRefreshMonitor.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -105,7 +105,7 @@
</span><span class="cx">
</span><span class="cx"> // The call back can cause all our clients to be unregistered, so we need to protect
</span><span class="cx"> // against deletion until the end of the method.
</span><del>- Ref<DisplayRefreshMonitor> protect(*this);
</del><ins>+ Ref<DisplayRefreshMonitor> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> // Copy the hash table and remove clients from it one by one so we don't notify
</span><span class="cx"> // any client twice, but can respond to removal of clients during the delivery process.
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicscawinCACFLayerTreeHostcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/ca/win/CACFLayerTreeHost.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/ca/win/CACFLayerTreeHost.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/platform/graphics/ca/win/CACFLayerTreeHost.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -281,7 +281,7 @@
</span><span class="cx"> void CACFLayerTreeHost::flushPendingLayerChangesNow()
</span><span class="cx"> {
</span><span class="cx"> // Calling out to the client could cause our last reference to go away.
</span><del>- RefPtr<CACFLayerTreeHost> protector(this);
</del><ins>+ RefPtr<CACFLayerTreeHost> protectedThis(this);
</ins><span class="cx">
</span><span class="cx"> updateDebugInfoLayer(m_page->settings().showTiledScrollingIndicator());
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformgraphicsgstreamerInbandTextTrackPrivateGStreamercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -74,14 +74,18 @@
</span><span class="cx"> m_pendingSamples.append(sample);
</span><span class="cx"> }
</span><span class="cx">
</span><del>- RefPtr<InbandTextTrackPrivateGStreamer> protector(this);
- m_notifier.notify(MainThreadNotification::NewSample, [protector] { protector->notifyTrackOfSample(); });
</del><ins>+ RefPtr<InbandTextTrackPrivateGStreamer> protectedThis(this);
+ m_notifier.notify(MainThreadNotification::NewSample, [protectedThis] {
+ protectedThis->notifyTrackOfSample();
+ });
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InbandTextTrackPrivateGStreamer::streamChanged()
</span><span class="cx"> {
</span><del>- RefPtr<InbandTextTrackPrivateGStreamer> protector(this);
- m_notifier.notify(MainThreadNotification::StreamChanged, [protector] { protector->notifyTrackOfStreamChanged(); });
</del><ins>+ RefPtr<InbandTextTrackPrivateGStreamer> protectedThis(this);
+ m_notifier.notify(MainThreadNotification::StreamChanged, [protectedThis] {
+ protectedThis->notifyTrackOfStreamChanged();
+ });
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> void InbandTextTrackPrivateGStreamer::notifyTrackOfSample()
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformiosWebVideoFullscreenControllerAVKitmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.mm (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.mm        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.mm        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -154,12 +154,12 @@
</span><span class="cx"> void WebVideoFullscreenControllerContext::didSetupFullscreen()
</span><span class="cx"> {
</span><span class="cx"> ASSERT(isUIThread());
</span><del>- RefPtr<WebVideoFullscreenControllerContext> strongThis(this);
</del><ins>+ RefPtr<WebVideoFullscreenControllerContext> protectedThis(this);
</ins><span class="cx"> RetainPtr<CALayer> videoFullscreenLayer = [m_videoFullscreenView layer];
</span><del>- WebThreadRun([strongThis, this, videoFullscreenLayer] {
</del><ins>+ WebThreadRun([protectedThis, this, videoFullscreenLayer] {
</ins><span class="cx"> [videoFullscreenLayer setBackgroundColor:cachedCGColor(WebCore::Color::transparent)];
</span><span class="cx"> m_model->setVideoFullscreenLayer(videoFullscreenLayer.get());
</span><del>- dispatch_async(dispatch_get_main_queue(), [strongThis, this] {
</del><ins>+ dispatch_async(dispatch_get_main_queue(), [protectedThis, this] {
</ins><span class="cx"> m_interface->enterFullscreen();
</span><span class="cx"> });
</span><span class="cx"> });
</span><span class="lines">@@ -168,10 +168,10 @@
</span><span class="cx"> void WebVideoFullscreenControllerContext::didExitFullscreen()
</span><span class="cx"> {
</span><span class="cx"> ASSERT(isUIThread());
</span><del>- RefPtr<WebVideoFullscreenControllerContext> strongThis(this);
- WebThreadRun([strongThis, this] {
</del><ins>+ RefPtr<WebVideoFullscreenControllerContext> protectedThis(this);
+ WebThreadRun([protectedThis, this] {
</ins><span class="cx"> m_model->setVideoFullscreenLayer(nil);
</span><del>- dispatch_async(dispatch_get_main_queue(), [strongThis, this] {
</del><ins>+ dispatch_async(dispatch_get_main_queue(), [protectedThis, this] {
</ins><span class="cx"> m_interface->cleanupFullscreen();
</span><span class="cx"> });
</span><span class="cx"> });
</span><span class="lines">@@ -185,8 +185,8 @@
</span><span class="cx"> m_interface = nullptr;
</span><span class="cx"> m_videoFullscreenView = nil;
</span><span class="cx">
</span><del>- RefPtr<WebVideoFullscreenControllerContext> strongThis(this);
- WebThreadRun([strongThis, this] {
</del><ins>+ RefPtr<WebVideoFullscreenControllerContext> protectedThis(this);
+ WebThreadRun([protectedThis, this] {
</ins><span class="cx"> m_model->setVideoFullscreenLayer(nil);
</span><span class="cx"> m_model->setWebVideoFullscreenInterface(nullptr);
</span><span class="cx"> m_model->setVideoElement(nullptr);
</span><span class="lines">@@ -200,10 +200,10 @@
</span><span class="cx"> void WebVideoFullscreenControllerContext::fullscreenMayReturnToInline()
</span><span class="cx"> {
</span><span class="cx"> ASSERT(isUIThread());
</span><del>- RefPtr<WebVideoFullscreenControllerContext> strongThis(this);
- WebThreadRun([strongThis, this] {
</del><ins>+ RefPtr<WebVideoFullscreenControllerContext> protectedThis(this);
+ WebThreadRun([protectedThis, this] {
</ins><span class="cx"> IntRect clientRect = elementRectInWindow(m_videoElement.get());
</span><del>- dispatch_async(dispatch_get_main_queue(), [strongThis, this, clientRect] {
</del><ins>+ dispatch_async(dispatch_get_main_queue(), [protectedThis, this, clientRect] {
</ins><span class="cx"> m_interface->preparedToReturnToInline(true, clientRect);
</span><span class="cx"> });
</span><span class="cx"> });
</span><span class="lines">@@ -214,8 +214,8 @@
</span><span class="cx"> void WebVideoFullscreenControllerContext::resetMediaState()
</span><span class="cx"> {
</span><span class="cx"> ASSERT(WebThreadIsCurrent() || isMainThread());
</span><del>- RefPtr<WebVideoFullscreenControllerContext> strongThis(this);
- dispatch_async(dispatch_get_main_queue(), [strongThis, this] {
</del><ins>+ RefPtr<WebVideoFullscreenControllerContext> protectedThis(this);
+ dispatch_async(dispatch_get_main_queue(), [protectedThis, this] {
</ins><span class="cx"> if (m_interface)
</span><span class="cx"> m_interface->resetMediaState();
</span><span class="cx"> });
</span><span class="lines">@@ -224,8 +224,8 @@
</span><span class="cx"> void WebVideoFullscreenControllerContext::setDuration(double duration)
</span><span class="cx"> {
</span><span class="cx"> ASSERT(WebThreadIsCurrent());
</span><del>- RefPtr<WebVideoFullscreenControllerContext> strongThis(this);
- dispatch_async(dispatch_get_main_queue(), [strongThis, this, duration] {
</del><ins>+ RefPtr<WebVideoFullscreenControllerContext> protectedThis(this);
+ dispatch_async(dispatch_get_main_queue(), [protectedThis, this, duration] {
</ins><span class="cx"> if (m_interface)
</span><span class="cx"> m_interface->setDuration(duration);
</span><span class="cx"> });
</span><span class="lines">@@ -234,8 +234,8 @@
</span><span class="cx"> void WebVideoFullscreenControllerContext::setCurrentTime(double currentTime, double anchorTime)
</span><span class="cx"> {
</span><span class="cx"> ASSERT(WebThreadIsCurrent());
</span><del>- RefPtr<WebVideoFullscreenControllerContext> strongThis(this);
- dispatch_async(dispatch_get_main_queue(), [strongThis, this, currentTime, anchorTime] {
</del><ins>+ RefPtr<WebVideoFullscreenControllerContext> protectedThis(this);
+ dispatch_async(dispatch_get_main_queue(), [protectedThis, this, currentTime, anchorTime] {
</ins><span class="cx"> if (m_interface)
</span><span class="cx"> m_interface->setCurrentTime(currentTime, anchorTime);
</span><span class="cx"> });
</span><span class="lines">@@ -244,8 +244,8 @@
</span><span class="cx"> void WebVideoFullscreenControllerContext::setBufferedTime(double bufferedTime)
</span><span class="cx"> {
</span><span class="cx"> ASSERT(WebThreadIsCurrent());
</span><del>- RefPtr<WebVideoFullscreenControllerContext> strongThis(this);
- dispatch_async(dispatch_get_main_queue(), [strongThis, this, bufferedTime] {
</del><ins>+ RefPtr<WebVideoFullscreenControllerContext> protectedThis(this);
+ dispatch_async(dispatch_get_main_queue(), [protectedThis, this, bufferedTime] {
</ins><span class="cx"> if (m_interface)
</span><span class="cx"> m_interface->setBufferedTime(bufferedTime);
</span><span class="cx"> });
</span><span class="lines">@@ -254,8 +254,8 @@
</span><span class="cx"> void WebVideoFullscreenControllerContext::setRate(bool isPlaying, float playbackRate)
</span><span class="cx"> {
</span><span class="cx"> ASSERT(WebThreadIsCurrent());
</span><del>- RefPtr<WebVideoFullscreenControllerContext> strongThis(this);
- dispatch_async(dispatch_get_main_queue(), [strongThis, this, isPlaying, playbackRate] {
</del><ins>+ RefPtr<WebVideoFullscreenControllerContext> protectedThis(this);
+ dispatch_async(dispatch_get_main_queue(), [protectedThis, this, isPlaying, playbackRate] {
</ins><span class="cx"> if (m_interface)
</span><span class="cx"> m_interface->setRate(isPlaying, playbackRate);
</span><span class="cx"> });
</span><span class="lines">@@ -264,8 +264,8 @@
</span><span class="cx"> void WebVideoFullscreenControllerContext::setVideoDimensions(bool hasVideo, float width, float height)
</span><span class="cx"> {
</span><span class="cx"> ASSERT(WebThreadIsCurrent());
</span><del>- RefPtr<WebVideoFullscreenControllerContext> strongThis(this);
- dispatch_async(dispatch_get_main_queue(), [strongThis, this, hasVideo, width, height] {
</del><ins>+ RefPtr<WebVideoFullscreenControllerContext> protectedThis(this);
+ dispatch_async(dispatch_get_main_queue(), [protectedThis, this, hasVideo, width, height] {
</ins><span class="cx"> if (m_interface)
</span><span class="cx"> m_interface->setVideoDimensions(hasVideo, width, height);
</span><span class="cx"> });
</span><span class="lines">@@ -274,9 +274,9 @@
</span><span class="cx"> void WebVideoFullscreenControllerContext::setSeekableRanges(const TimeRanges& timeRanges)
</span><span class="cx"> {
</span><span class="cx"> ASSERT(WebThreadIsCurrent());
</span><del>- RefPtr<WebVideoFullscreenControllerContext> strongThis(this);
</del><ins>+ RefPtr<WebVideoFullscreenControllerContext> protectedThis(this);
</ins><span class="cx"> const PlatformTimeRanges& platformTimeRanges = timeRanges.ranges();
</span><del>- dispatch_async(dispatch_get_main_queue(), [strongThis, this, platformTimeRanges] {
</del><ins>+ dispatch_async(dispatch_get_main_queue(), [protectedThis, this, platformTimeRanges] {
</ins><span class="cx"> if (m_interface)
</span><span class="cx"> m_interface->setSeekableRanges(TimeRanges::create(platformTimeRanges));
</span><span class="cx"> });
</span><span class="lines">@@ -285,8 +285,8 @@
</span><span class="cx"> void WebVideoFullscreenControllerContext::setCanPlayFastReverse(bool canPlayFastReverse)
</span><span class="cx"> {
</span><span class="cx"> ASSERT(WebThreadIsCurrent());
</span><del>- RefPtr<WebVideoFullscreenControllerContext> strongThis(this);
- dispatch_async(dispatch_get_main_queue(), [strongThis, this, canPlayFastReverse] {
</del><ins>+ RefPtr<WebVideoFullscreenControllerContext> protectedThis(this);
+ dispatch_async(dispatch_get_main_queue(), [protectedThis, this, canPlayFastReverse] {
</ins><span class="cx"> if (m_interface)
</span><span class="cx"> m_interface->setCanPlayFastReverse(canPlayFastReverse);
</span><span class="cx"> });
</span><span class="lines">@@ -295,13 +295,13 @@
</span><span class="cx"> void WebVideoFullscreenControllerContext::setAudioMediaSelectionOptions(const Vector<String>& options, uint64_t selectedIndex)
</span><span class="cx"> {
</span><span class="cx"> ASSERT(WebThreadIsCurrent());
</span><del>- RefPtr<WebVideoFullscreenControllerContext> strongThis(this);
</del><ins>+ RefPtr<WebVideoFullscreenControllerContext> protectedThis(this);
</ins><span class="cx">
</span><span class="cx"> RetainPtr<NSMutableArray> optionsArray = adoptNS([[NSMutableArray alloc] initWithCapacity:options.size()]);
</span><span class="cx"> for (auto& name : options)
</span><span class="cx"> [optionsArray addObject:name];
</span><span class="cx">
</span><del>- dispatch_async(dispatch_get_main_queue(), [strongThis, this, optionsArray, selectedIndex] {
</del><ins>+ dispatch_async(dispatch_get_main_queue(), [protectedThis, this, optionsArray, selectedIndex] {
</ins><span class="cx"> Vector<String> options;
</span><span class="cx"> for (NSString *name : optionsArray.get())
</span><span class="cx"> options.append(name);
</span><span class="lines">@@ -314,13 +314,13 @@
</span><span class="cx"> void WebVideoFullscreenControllerContext::setLegibleMediaSelectionOptions(const Vector<String>& options, uint64_t selectedIndex)
</span><span class="cx"> {
</span><span class="cx"> ASSERT(WebThreadIsCurrent());
</span><del>- RefPtr<WebVideoFullscreenControllerContext> strongThis(this);
</del><ins>+ RefPtr<WebVideoFullscreenControllerContext> protectedThis(this);
</ins><span class="cx">
</span><span class="cx"> RetainPtr<NSMutableArray> optionsArray = adoptNS([[NSMutableArray alloc] initWithCapacity:options.size()]);
</span><span class="cx"> for (auto& name : options)
</span><span class="cx"> [optionsArray addObject:name];
</span><span class="cx">
</span><del>- dispatch_async(dispatch_get_main_queue(), [strongThis, this, optionsArray, selectedIndex] {
</del><ins>+ dispatch_async(dispatch_get_main_queue(), [protectedThis, this, optionsArray, selectedIndex] {
</ins><span class="cx"> Vector<String> options;
</span><span class="cx"> for (NSString *name : optionsArray.get())
</span><span class="cx"> options.append(name);
</span><span class="lines">@@ -333,9 +333,9 @@
</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>- RefPtr<WebVideoFullscreenControllerContext> strongThis(this);
</del><ins>+ RefPtr<WebVideoFullscreenControllerContext> protectedThis(this);
</ins><span class="cx"> StringCapture capturedLocalizedDeviceName(localizedDeviceName);
</span><del>- dispatch_async(dispatch_get_main_queue(), [strongThis, this, enabled, type, capturedLocalizedDeviceName] {
</del><ins>+ dispatch_async(dispatch_get_main_queue(), [protectedThis, this, enabled, type, capturedLocalizedDeviceName] {
</ins><span class="cx"> if (m_interface)
</span><span class="cx"> m_interface->setExternalPlayback(enabled, type, capturedLocalizedDeviceName.string());
</span><span class="cx"> });
</span><span class="lines">@@ -344,8 +344,8 @@
</span><span class="cx"> void WebVideoFullscreenControllerContext::setWirelessVideoPlaybackDisabled(bool disabled)
</span><span class="cx"> {
</span><span class="cx"> ASSERT(WebThreadIsCurrent());
</span><del>- RefPtr<WebVideoFullscreenControllerContext> strongThis(this);
- dispatch_async(dispatch_get_main_queue(), [strongThis, this, disabled] {
</del><ins>+ RefPtr<WebVideoFullscreenControllerContext> protectedThis(this);
+ dispatch_async(dispatch_get_main_queue(), [protectedThis, this, disabled] {
</ins><span class="cx"> if (m_interface)
</span><span class="cx"> m_interface->setWirelessVideoPlaybackDisabled(disabled);
</span><span class="cx"> });
</span><span class="lines">@@ -356,8 +356,8 @@
</span><span class="cx"> void WebVideoFullscreenControllerContext::requestFullscreenMode(HTMLMediaElementEnums::VideoFullscreenMode mode)
</span><span class="cx"> {
</span><span class="cx"> ASSERT(isUIThread());
</span><del>- RefPtr<WebVideoFullscreenControllerContext> strongThis(this);
- WebThreadRun([strongThis, this, mode] {
</del><ins>+ RefPtr<WebVideoFullscreenControllerContext> protectedThis(this);
+ WebThreadRun([protectedThis, this, mode] {
</ins><span class="cx"> if (m_model)
</span><span class="cx"> m_model->requestFullscreenMode(mode);
</span><span class="cx"> });
</span><span class="lines">@@ -366,13 +366,13 @@
</span><span class="cx"> void WebVideoFullscreenControllerContext::setVideoLayerFrame(FloatRect frame)
</span><span class="cx"> {
</span><span class="cx"> ASSERT(isUIThread());
</span><del>- RefPtr<WebVideoFullscreenControllerContext> strongThis(this);
</del><ins>+ RefPtr<WebVideoFullscreenControllerContext> protectedThis(this);
</ins><span class="cx"> RetainPtr<CALayer> videoFullscreenLayer = [m_videoFullscreenView layer];
</span><span class="cx">
</span><span class="cx"> [videoFullscreenLayer setSublayerTransform:[videoFullscreenLayer transform]];
</span><span class="cx">
</span><span class="cx"> dispatch_async(dispatch_get_main_queue(), ^{
</span><del>- WebThreadRun([strongThis, this, frame, videoFullscreenLayer] {
</del><ins>+ WebThreadRun([protectedThis, this, frame, videoFullscreenLayer] {
</ins><span class="cx"> [CATransaction begin];
</span><span class="cx"> [CATransaction setDisableActions:YES];
</span><span class="cx"> [CATransaction setAnimationDuration:0];
</span><span class="lines">@@ -389,8 +389,8 @@
</span><span class="cx"> void WebVideoFullscreenControllerContext::setVideoLayerGravity(WebVideoFullscreenModel::VideoGravity videoGravity)
</span><span class="cx"> {
</span><span class="cx"> ASSERT(isUIThread());
</span><del>- RefPtr<WebVideoFullscreenControllerContext> strongThis(this);
- WebThreadRun([strongThis, this, videoGravity] {
</del><ins>+ RefPtr<WebVideoFullscreenControllerContext> protectedThis(this);
+ WebThreadRun([protectedThis, this, videoGravity] {
</ins><span class="cx"> if (m_model)
</span><span class="cx"> m_model->setVideoLayerGravity(videoGravity);
</span><span class="cx"> });
</span><span class="lines">@@ -399,8 +399,8 @@
</span><span class="cx"> void WebVideoFullscreenControllerContext::fullscreenModeChanged(HTMLMediaElementEnums::VideoFullscreenMode mode)
</span><span class="cx"> {
</span><span class="cx"> ASSERT(isUIThread());
</span><del>- RefPtr<WebVideoFullscreenControllerContext> strongThis(this);
- WebThreadRun([strongThis, this, mode] {
</del><ins>+ RefPtr<WebVideoFullscreenControllerContext> protectedThis(this);
+ WebThreadRun([protectedThis, this, mode] {
</ins><span class="cx"> if (m_model)
</span><span class="cx"> m_model->fullscreenModeChanged(mode);
</span><span class="cx"> });
</span><span class="lines">@@ -420,8 +420,8 @@
</span><span class="cx"> RetainPtr<UIView> viewRef = view;
</span><span class="cx"> m_videoElement = &videoElement;
</span><span class="cx">
</span><del>- RefPtr<WebVideoFullscreenControllerContext> strongThis(this);
- dispatch_async(dispatch_get_main_queue(), [strongThis, this, viewRef, mode] {
</del><ins>+ RefPtr<WebVideoFullscreenControllerContext> protectedThis(this);
+ dispatch_async(dispatch_get_main_queue(), [protectedThis, this, viewRef, mode] {
</ins><span class="cx"> ASSERT(isUIThread());
</span><span class="cx">
</span><span class="cx"> m_interface = WebVideoFullscreenInterfaceAVKit::create(WebPlaybackSessionInterfaceAVKit::create().get());
</span><span class="lines">@@ -429,8 +429,8 @@
</span><span class="cx"> m_interface->setWebVideoFullscreenModel(this);
</span><span class="cx"> m_videoFullscreenView = adoptNS([[getUIViewClass() alloc] init]);
</span><span class="cx">
</span><del>- RefPtr<WebVideoFullscreenControllerContext> strongThis(this);
- WebThreadRun([strongThis, this, viewRef, mode] {
</del><ins>+ RefPtr<WebVideoFullscreenControllerContext> protectedThis(this);
+ WebThreadRun([protectedThis, this, viewRef, mode] {
</ins><span class="cx"> m_model = WebVideoFullscreenModelVideoElement::create(WebPlaybackSessionModelMediaElement::create().get());
</span><span class="cx"> m_model->setWebVideoFullscreenInterface(this);
</span><span class="cx"> m_model->setVideoElement(m_videoElement.get());
</span><span class="lines">@@ -441,7 +441,7 @@
</span><span class="cx"> FloatRect videoLayerFrame = FloatRect(FloatPoint(), videoElementClientRect.size());
</span><span class="cx"> m_model->setVideoLayerFrame(videoLayerFrame);
</span><span class="cx">
</span><del>- dispatch_async(dispatch_get_main_queue(), [strongThis, this, videoElementClientRect, viewRef, mode, allowsPictureInPicture] {
</del><ins>+ dispatch_async(dispatch_get_main_queue(), [protectedThis, this, videoElementClientRect, viewRef, mode, allowsPictureInPicture] {
</ins><span class="cx"> m_interface->setupFullscreen(*m_videoFullscreenView.get(), videoElementClientRect, viewRef.get(), mode, allowsPictureInPicture);
</span><span class="cx"> });
</span><span class="cx"> });
</span><span class="lines">@@ -452,8 +452,8 @@
</span><span class="cx"> {
</span><span class="cx"> ASSERT(WebThreadIsCurrent() || isMainThread());
</span><span class="cx"> IntRect clientRect = elementRectInWindow(m_videoElement.get());
</span><del>- RefPtr<WebVideoFullscreenControllerContext> strongThis(this);
- dispatch_async(dispatch_get_main_queue(), [strongThis, this, clientRect] {
</del><ins>+ RefPtr<WebVideoFullscreenControllerContext> protectedThis(this);
+ dispatch_async(dispatch_get_main_queue(), [protectedThis, this, clientRect] {
</ins><span class="cx"> ASSERT(isUIThread());
</span><span class="cx"> m_interface->exitFullscreen(clientRect);
</span><span class="cx"> });
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformiosWebVideoFullscreenInterfaceAVKitmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -607,8 +607,8 @@
</span><span class="cx"> // If we are both in PiP and in Fullscreen (i.e., via auto-PiP), and we did not stop fullscreen upon returning, it must be
</span><span class="cx"> // because the originating view is not visible, so hide the fullscreen window.
</span><span class="cx"> if (isMode(HTMLMediaElementEnums::VideoFullscreenModeStandard | HTMLMediaElementEnums::VideoFullscreenModePictureInPicture)) {
</span><del>- RefPtr<WebVideoFullscreenInterfaceAVKit> strongThis(this);
- [m_playerViewController exitFullScreenAnimated:NO completionHandler:[strongThis, this] (BOOL, NSError*) {
</del><ins>+ RefPtr<WebVideoFullscreenInterfaceAVKit> protectedThis(this);
+ [m_playerViewController exitFullScreenAnimated:NO completionHandler:[protectedThis, this] (BOOL, NSError*) {
</ins><span class="cx"> [m_window setHidden:YES];
</span><span class="cx"> [[m_playerViewController view] setHidden:YES];
</span><span class="cx"> }];
</span><span class="lines">@@ -691,8 +691,8 @@
</span><span class="cx">
</span><span class="cx"> [CATransaction commit];
</span><span class="cx">
</span><del>- RefPtr<WebVideoFullscreenInterfaceAVKit> strongThis(this);
- dispatch_async(dispatch_get_main_queue(), [strongThis, this] {
</del><ins>+ RefPtr<WebVideoFullscreenInterfaceAVKit> protectedThis(this);
+ dispatch_async(dispatch_get_main_queue(), [protectedThis, this] {
</ins><span class="cx"> if (m_fullscreenChangeObserver)
</span><span class="cx"> m_fullscreenChangeObserver->didSetupFullscreen();
</span><span class="cx"> });
</span><span class="lines">@@ -728,7 +728,7 @@
</span><span class="cx"> void WebVideoFullscreenInterfaceAVKit::enterFullscreenStandard()
</span><span class="cx"> {
</span><span class="cx"> LOG(Fullscreen, "WebVideoFullscreenInterfaceAVKit::enterFullscreenStandard(%p)", this);
</span><del>- RefPtr<WebVideoFullscreenInterfaceAVKit> strongThis(this);
</del><ins>+ RefPtr<WebVideoFullscreenInterfaceAVKit> protectedThis(this);
</ins><span class="cx">
</span><span class="cx"> if ([m_playerViewController isPictureInPictureActive]) {
</span><span class="cx"> // NOTE: The fullscreen mode will be restored in prepareForPictureInPictureStopWithCompletionHandler().
</span><span class="lines">@@ -738,7 +738,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> [m_playerLayerView setBackgroundColor:[getUIColorClass() blackColor]];
</span><del>- [m_playerViewController enterFullScreenAnimated:YES completionHandler:[this, strongThis] (BOOL succeeded, NSError*) {
</del><ins>+ [m_playerViewController enterFullScreenAnimated:YES completionHandler:[this, protectedThis] (BOOL succeeded, NSError*) {
</ins><span class="cx"> UNUSED_PARAM(succeeded);
</span><span class="cx"> LOG(Fullscreen, "WebVideoFullscreenInterfaceAVKit::enterFullscreenStandard - lambda(%p) - succeeded(%s)", this, boolString(succeeded));
</span><span class="cx"> [m_playerViewController setShowsPlaybackControls:YES];
</span><span class="lines">@@ -773,14 +773,14 @@
</span><span class="cx"> [m_window setHidden:NO];
</span><span class="cx"> [m_playerViewController stopPictureInPicture];
</span><span class="cx"> } else if (isMode(HTMLMediaElementEnums::VideoFullscreenModePictureInPicture | HTMLMediaElementEnums::VideoFullscreenModeStandard)) {
</span><del>- RefPtr<WebVideoFullscreenInterfaceAVKit> strongThis(this);
- [m_playerViewController exitFullScreenAnimated:NO completionHandler:[strongThis, this] (BOOL, NSError*) {
</del><ins>+ RefPtr<WebVideoFullscreenInterfaceAVKit> protectedThis(this);
+ [m_playerViewController exitFullScreenAnimated:NO completionHandler:[protectedThis, this] (BOOL, NSError*) {
</ins><span class="cx"> [m_window setHidden:NO];
</span><span class="cx"> [m_playerViewController stopPictureInPicture];
</span><span class="cx"> }];
</span><span class="cx"> } else if (isMode(HTMLMediaElementEnums::VideoFullscreenModeStandard)) {
</span><del>- RefPtr<WebVideoFullscreenInterfaceAVKit> strongThis(this);
- [m_playerViewController exitFullScreenAnimated:YES completionHandler:[strongThis, this] (BOOL, NSError*) {
</del><ins>+ RefPtr<WebVideoFullscreenInterfaceAVKit> protectedThis(this);
+ [m_playerViewController exitFullScreenAnimated:YES completionHandler:[protectedThis, this] (BOOL, NSError*) {
</ins><span class="cx"> m_exitCompleted = true;
</span><span class="cx">
</span><span class="cx"> [CATransaction begin];
</span><span class="lines">@@ -907,8 +907,8 @@
</span><span class="cx">
</span><span class="cx"> if (m_mode & HTMLMediaElementEnums::VideoFullscreenModeStandard) {
</span><span class="cx"> if (![m_playerViewController pictureInPictureWasStartedWhenEnteringBackground]) {
</span><del>- RefPtr<WebVideoFullscreenInterfaceAVKit> strongThis(this);
- [m_playerViewController exitFullScreenAnimated:YES completionHandler:[strongThis, this] (BOOL, NSError*) {
</del><ins>+ RefPtr<WebVideoFullscreenInterfaceAVKit> protectedThis(this);
+ [m_playerViewController exitFullScreenAnimated:YES completionHandler:[protectedThis, this] (BOOL, NSError*) {
</ins><span class="cx"> [m_window setHidden:YES];
</span><span class="cx"> [[m_playerViewController view] setHidden:YES];
</span><span class="cx"> }];
</span><span class="lines">@@ -996,10 +996,10 @@
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- RefPtr<WebVideoFullscreenInterfaceAVKit> strongThis(this);
</del><ins>+ RefPtr<WebVideoFullscreenInterfaceAVKit> protectedThis(this);
</ins><span class="cx"> RetainPtr<id> strongCompletionHandler = adoptNS([completionHandler copy]);
</span><del>- fullscreenMayReturnToInline([strongThis, strongCompletionHandler](bool restored) {
- LOG(Fullscreen, "WebVideoFullscreenInterfaceAVKit::prepareForPictureInPictureStopWithCompletionHandler lambda(%p) - restored(%s)", strongThis.get(), boolString(restored));
</del><ins>+ fullscreenMayReturnToInline([protectedThis, strongCompletionHandler](bool restored) {
+ LOG(Fullscreen, "WebVideoFullscreenInterfaceAVKit::prepareForPictureInPictureStopWithCompletionHandler lambda(%p) - restored(%s)", protectedThis.get(), boolString(restored));
</ins><span class="cx"> void (^completionHandler)(BOOL restored) = strongCompletionHandler.get();
</span><span class="cx"> completionHandler(restored);
</span><span class="cx"> });
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformmacWidgetMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/mac/WidgetMac.mm (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/mac/WidgetMac.mm        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/platform/mac/WidgetMac.mm        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -160,7 +160,7 @@
</span><span class="cx">
</span><span class="cx"> // Take a reference to this Widget, because sending messages to outerView can invoke arbitrary
</span><span class="cx"> // code including recalc style/layout, which can deref it.
</span><del>- Ref<Widget> protect(*this);
</del><ins>+ Ref<Widget> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> NSRect frame = rect;
</span><span class="cx"> if (!NSEqualRects(frame, outerView.frame)) {
</span><span class="lines">@@ -204,7 +204,7 @@
</span><span class="cx">
</span><span class="cx"> // Take a reference to this Widget, because sending messages to the views can invoke arbitrary
</span><span class="cx"> // code, which can deref it.
</span><del>- Ref<Widget> protect(*this);
</del><ins>+ Ref<Widget> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> NSGraphicsContext *currentContext = [NSGraphicsContext currentContext];
</span><span class="cx"> if (currentContext == [[view window] graphicsContext] || ![currentContext isDrawingToScreen]) {
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkBlobResourceHandlecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/BlobResourceHandle.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/BlobResourceHandle.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/platform/network/BlobResourceHandle.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -187,11 +187,11 @@
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- RefPtr<BlobResourceHandle> handle(this);
</del><ins>+ RefPtr<BlobResourceHandle> protectedThis(this);
</ins><span class="cx">
</span><span class="cx"> // Finish this async call quickly and return.
</span><del>- callOnMainThread([handle] {
- handle->doStart();
</del><ins>+ callOnMainThread([protectedThis] {
+ protectedThis->doStart();
</ins><span class="cx"> });
</span><span class="cx"> }
</span><span class="cx">
</span><span class="lines">@@ -227,7 +227,7 @@
</span><span class="cx"> if (m_async)
</span><span class="cx"> getSizeForNext();
</span><span class="cx"> else {
</span><del>- Ref<BlobResourceHandle> protect(*this); // getSizeForNext calls the client
</del><ins>+ Ref<BlobResourceHandle> protectedThis(*this); // getSizeForNext calls the client
</ins><span class="cx"> for (size_t i = 0; i < m_blobData->items().size() && !m_aborted && !m_errorCode; ++i)
</span><span class="cx"> getSizeForNext();
</span><span class="cx"> notifyResponse();
</span><span class="lines">@@ -244,7 +244,7 @@
</span><span class="cx">
</span><span class="cx"> // Start reading if in asynchronous mode.
</span><span class="cx"> if (m_async) {
</span><del>- Ref<BlobResourceHandle> protect(*this);
</del><ins>+ Ref<BlobResourceHandle> protectedThis(*this);
</ins><span class="cx"> notifyResponse();
</span><span class="cx"> m_buffer.resize(bufferSize);
</span><span class="cx"> readAsync();
</span><span class="lines">@@ -336,7 +336,7 @@
</span><span class="cx"> ASSERT(isMainThread());
</span><span class="cx">
</span><span class="cx"> ASSERT(!m_async);
</span><del>- Ref<BlobResourceHandle> protect(*this);
</del><ins>+ Ref<BlobResourceHandle> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> int offset = 0;
</span><span class="cx"> int remaining = length;
</span><span class="lines">@@ -466,7 +466,7 @@
</span><span class="cx"> ASSERT(m_async);
</span><span class="cx"> ASSERT(item.data().data());
</span><span class="cx">
</span><del>- Ref<BlobResourceHandle> protect(*this);
</del><ins>+ Ref<BlobResourceHandle> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> long long bytesToRead = item.length() - m_currentItemReadSize;
</span><span class="cx"> if (bytesToRead > m_totalRemainingSize)
</span><span class="lines">@@ -519,7 +519,7 @@
</span><span class="cx"> void BlobResourceHandle::consumeData(const char* data, int bytesRead)
</span><span class="cx"> {
</span><span class="cx"> ASSERT(m_async);
</span><del>- Ref<BlobResourceHandle> protect(*this);
</del><ins>+ Ref<BlobResourceHandle> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> m_totalRemainingSize -= bytesRead;
</span><span class="cx">
</span><span class="lines">@@ -549,7 +549,7 @@
</span><span class="cx"> void BlobResourceHandle::failed(int errorCode)
</span><span class="cx"> {
</span><span class="cx"> ASSERT(m_async);
</span><del>- Ref<BlobResourceHandle> protect(*this);
</del><ins>+ Ref<BlobResourceHandle> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> // Notify the client.
</span><span class="cx"> notifyFail(errorCode);
</span><span class="lines">@@ -567,7 +567,7 @@
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> if (m_errorCode) {
</span><del>- Ref<BlobResourceHandle> protect(*this);
</del><ins>+ Ref<BlobResourceHandle> protectedThis(*this);
</ins><span class="cx"> notifyResponseOnError();
</span><span class="cx"> notifyFinish();
</span><span class="cx"> } else
</span><span class="lines">@@ -665,9 +665,9 @@
</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>- RefPtr<BlobResourceHandle> handle(this);
- callOnMainThread([handle] {
- doNotifyFinish(*handle);
</del><ins>+ RefPtr<BlobResourceHandle> protectedThis(this);
+ callOnMainThread([protectedThis] {
+ doNotifyFinish(*protectedThis);
</ins><span class="cx"> });
</span><span class="cx">
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkcfResourceHandleCFNetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/cf/ResourceHandleCFNet.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/cf/ResourceHandleCFNet.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/platform/network/cf/ResourceHandleCFNet.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -314,7 +314,7 @@
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>- Ref<ResourceHandle> protect(*this);
</del><ins>+ Ref<ResourceHandle> protectedThis(*this);
</ins><span class="cx"> if (d->m_usesAsyncCallbacks)
</span><span class="cx"> client()->willSendRequestAsync(this, request, redirectResponse);
</span><span class="cx"> else {
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkcfResourceHandleCFURLConnectionDelegateWithOperationQueuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -104,7 +104,7 @@
</span><span class="cx">
</span><span class="cx"> // FIXME: The block implicitly copies protector object, which is wasteful. We should just call ref(),
</span><span class="cx"> // capture "this" by pointer value, and use a C++ lambda to prevent other unintentional capturing.
</span><del>- RefPtr<ResourceHandleCFURLConnectionDelegateWithOperationQueue> protector(this);
</del><ins>+ RefPtr<ResourceHandleCFURLConnectionDelegateWithOperationQueue> protectedThis(this);
</ins><span class="cx">
</span><span class="cx"> dispatch_async(dispatch_get_main_queue(), ^{
</span><span class="cx"> if (!protector->hasHandle()) {
</span><span class="lines">@@ -130,7 +130,7 @@
</span><span class="cx"> {
</span><span class="cx"> // FIXME: The block implicitly copies protector object, which is wasteful. We should just call ref(),
</span><span class="cx"> // capture "this" by pointer value, and use a C++ lambda to prevent other unintentional capturing.
</span><del>- RefPtr<ResourceHandleCFURLConnectionDelegateWithOperationQueue> protector(this);
</del><ins>+ RefPtr<ResourceHandleCFURLConnectionDelegateWithOperationQueue> protectedThis(this);
</ins><span class="cx">
</span><span class="cx"> dispatch_async(dispatch_get_main_queue(), ^{
</span><span class="cx"> if (!protector->hasHandle() || !m_handle->client()) {
</span><span class="lines">@@ -170,7 +170,7 @@
</span><span class="cx"> {
</span><span class="cx"> // FIXME: The block implicitly copies protector object, which is wasteful. We should just call ref(),
</span><span class="cx"> // capture "this" by pointer value, and use a C++ lambda to prevent other unintentional capturing.
</span><del>- RefPtr<ResourceHandleCFURLConnectionDelegateWithOperationQueue> protector(this);
</del><ins>+ RefPtr<ResourceHandleCFURLConnectionDelegateWithOperationQueue> protectedThis(this);
</ins><span class="cx"> CFRetain(data);
</span><span class="cx">
</span><span class="cx"> dispatch_async(dispatch_get_main_queue(), ^{
</span><span class="lines">@@ -188,7 +188,7 @@
</span><span class="cx"> {
</span><span class="cx"> // FIXME: The block implicitly copies protector object, which is wasteful. We should just call ref(),
</span><span class="cx"> // capture "this" by pointer value, and use a C++ lambda to prevent other unintentional capturing.
</span><del>- RefPtr<ResourceHandleCFURLConnectionDelegateWithOperationQueue> protector(this);
</del><ins>+ RefPtr<ResourceHandleCFURLConnectionDelegateWithOperationQueue> protectedThis(this);
</ins><span class="cx"> dispatch_async(dispatch_get_main_queue(), ^{
</span><span class="cx"> if (!protector->hasHandle() || !m_handle->client())
</span><span class="cx"> return;
</span><span class="lines">@@ -203,7 +203,7 @@
</span><span class="cx"> {
</span><span class="cx"> // FIXME: The block implicitly copies protector object, which is wasteful. We should just call ref(),
</span><span class="cx"> // capture "this" by pointer value, and use a C++ lambda to prevent other unintentional capturing.
</span><del>- RefPtr<ResourceHandleCFURLConnectionDelegateWithOperationQueue> protector(this);
</del><ins>+ RefPtr<ResourceHandleCFURLConnectionDelegateWithOperationQueue> protectedThis(this);
</ins><span class="cx"> CFRetain(error);
</span><span class="cx"> dispatch_async(dispatch_get_main_queue(), ^{
</span><span class="cx"> if (protector->hasHandle() && m_handle->client()) {
</span><span class="lines">@@ -220,7 +220,7 @@
</span><span class="cx"> {
</span><span class="cx"> // FIXME: The block implicitly copies protector object, which is wasteful. We should just call ref(),
</span><span class="cx"> // capture "this" by pointer value, and use a C++ lambda to prevent other unintentional capturing.
</span><del>- RefPtr<ResourceHandleCFURLConnectionDelegateWithOperationQueue> protector(this);
</del><ins>+ RefPtr<ResourceHandleCFURLConnectionDelegateWithOperationQueue> protectedThis(this);
</ins><span class="cx">
</span><span class="cx"> dispatch_async(dispatch_get_main_queue(), ^{
</span><span class="cx"> if (!protector->hasHandle() || !m_handle->client()) {
</span><span class="lines">@@ -240,7 +240,7 @@
</span><span class="cx"> {
</span><span class="cx"> // FIXME: The block implicitly copies protector object, which is wasteful. We should just call ref(),
</span><span class="cx"> // capture "this" by pointer value, and use a C++ lambda to prevent other unintentional capturing.
</span><del>- RefPtr<ResourceHandleCFURLConnectionDelegateWithOperationQueue> protector(this);
</del><ins>+ RefPtr<ResourceHandleCFURLConnectionDelegateWithOperationQueue> protectedThis(this);
</ins><span class="cx"> CFRetain(challenge);
</span><span class="cx"> dispatch_async(dispatch_get_main_queue(), ^{
</span><span class="cx"> if (protector->hasHandle()) {
</span><span class="lines">@@ -257,7 +257,7 @@
</span><span class="cx"> {
</span><span class="cx"> // FIXME: The block implicitly copies protector object, which is wasteful. We should just call ref(),
</span><span class="cx"> // capture "this" by pointer value, and use a C++ lambda to prevent other unintentional capturing.
</span><del>- RefPtr<ResourceHandleCFURLConnectionDelegateWithOperationQueue> protector(this);
</del><ins>+ RefPtr<ResourceHandleCFURLConnectionDelegateWithOperationQueue> protectedThis(this);
</ins><span class="cx"> dispatch_async(dispatch_get_main_queue(), ^{
</span><span class="cx"> if (!protector->hasHandle() || !m_handle->client())
</span><span class="cx"> return;
</span><span class="lines">@@ -278,7 +278,7 @@
</span><span class="cx"> {
</span><span class="cx"> // FIXME: The block implicitly copies protector object, which is wasteful. We should just call ref(),
</span><span class="cx"> // capture "this" by pointer value, and use a C++ lambda to prevent other unintentional capturing.
</span><del>- RefPtr<ResourceHandleCFURLConnectionDelegateWithOperationQueue> protector(this);
</del><ins>+ RefPtr<ResourceHandleCFURLConnectionDelegateWithOperationQueue> protectedThis(this);
</ins><span class="cx">
</span><span class="cx"> dispatch_async(dispatch_get_main_queue(), ^{
</span><span class="cx"> if (!protector->hasHandle()) {
</span><span class="lines">@@ -308,7 +308,7 @@
</span><span class="cx"> {
</span><span class="cx"> // FIXME: The block implicitly copies protector object, which is wasteful. We should just call ref(),
</span><span class="cx"> // capture "this" by pointer value, and use a C++ lambda to prevent other unintentional capturing.
</span><del>- RefPtr<ResourceHandleCFURLConnectionDelegateWithOperationQueue> protector(this);
</del><ins>+ RefPtr<ResourceHandleCFURLConnectionDelegateWithOperationQueue> protectedThis(this);
</ins><span class="cx"> CFRetain(dataArray);
</span><span class="cx"> dispatch_async(dispatch_get_main_queue(), ^{
</span><span class="cx"> if (protector->hasHandle() && m_handle->client()) {
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkcurlCurlDownloadcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/curl/CurlDownload.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/curl/CurlDownload.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/platform/network/curl/CurlDownload.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -403,9 +403,9 @@
</span><span class="cx">
</span><span class="cx"> if (httpCode >= 200 && httpCode < 300) {
</span><span class="cx"> URLCapture capturedUrl(getCurlEffectiveURL(m_curlHandle));
</span><del>- RefPtr<CurlDownload> protectedDownload(this);
</del><ins>+ RefPtr<CurlDownload> protectedThis(this);
</ins><span class="cx">
</span><del>- callOnMainThread([this, capturedUrl, protectedDownload] {
</del><ins>+ callOnMainThread([this, capturedUrl, protectedThis] {
</ins><span class="cx"> m_response.setURL(capturedUrl.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">@@ -416,9 +416,9 @@
</span><span class="cx"> } else {
</span><span class="cx"> StringCapture capturedHeader(header);
</span><span class="cx">
</span><del>- RefPtr<CurlDownload> protectedDownload(this);
</del><ins>+ RefPtr<CurlDownload> protectedThis(this);
</ins><span class="cx">
</span><del>- callOnMainThread([this, capturedHeader, protectedDownload] {
</del><ins>+ callOnMainThread([this, capturedHeader, protectedThis] {
</ins><span class="cx"> int splitPos = capturedHeader.string().find(":");
</span><span class="cx"> if (splitPos != -1)
</span><span class="cx"> m_response.setHTTPHeaderField(capturedHeader.string().left(splitPos), capturedHeader.string().substring(splitPos + 1).stripWhiteSpace());
</span><span class="lines">@@ -430,9 +430,9 @@
</span><span class="cx"> {
</span><span class="cx"> LockHolder locker(m_mutex);
</span><span class="cx">
</span><del>- RefPtr<CurlDownload> protectedDownload(this);
</del><ins>+ RefPtr<CurlDownload> protectedThis(this);
</ins><span class="cx">
</span><del>- callOnMainThread([this, size, protectedDownload] {
</del><ins>+ callOnMainThread([this, size, protectedThis] {
</ins><span class="cx"> didReceiveDataOfLength(size);
</span><span class="cx"> });
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkmacResourceHandleMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/mac/ResourceHandleMac.mm (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/mac/ResourceHandleMac.mm        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/platform/network/mac/ResourceHandleMac.mm        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -491,7 +491,7 @@
</span><span class="cx"> if (d->m_usesAsyncCallbacks) {
</span><span class="cx"> client()->willSendRequestAsync(this, request, redirectResponse);
</span><span class="cx"> } else {
</span><del>- Ref<ResourceHandle> protect(*this);
</del><ins>+ Ref<ResourceHandle> protectedThis(*this);
</ins><span class="cx"> client()->willSendRequest(this, request, redirectResponse);
</span><span class="cx">
</span><span class="cx"> // Client call may not preserve the session, especially if the request is sent over IPC.
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworksoupSocketStreamHandleSoupcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/soup/SocketStreamHandleSoup.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/soup/SocketStreamHandleSoup.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/platform/network/soup/SocketStreamHandleSoup.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -144,7 +144,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // The client can close the handle, potentially removing the last reference.
</span><del>- RefPtr<SocketStreamHandle> protect(this);
</del><ins>+ RefPtr<SocketStreamHandle> protectedThis(this);
</ins><span class="cx"> m_client->didReceiveSocketStreamData(this, m_readBuffer.get(), bytesRead);
</span><span class="cx"> if (m_inputStream) // The client may have closed the connection.
</span><span class="cx"> g_input_stream_read_async(m_inputStream.get(), m_readBuffer.get(), READ_BUFFER_SIZE, G_PRIORITY_DEFAULT, 0,
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformwinPopupMenuWincpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/win/PopupMenuWin.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/win/PopupMenuWin.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/platform/win/PopupMenuWin.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -167,7 +167,7 @@
</span><span class="cx"> m_showPopup = true;
</span><span class="cx">
</span><span class="cx"> // Protect the popup menu in case its owner is destroyed while we're running the message pump.
</span><del>- RefPtr<PopupMenu> protect(this);
</del><ins>+ RefPtr<PopupMenu> protectedThis(this);
</ins><span class="cx">
</span><span class="cx"> ::SetCapture(hostWindow);
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersWorkerScriptLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/WorkerScriptLoader.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/WorkerScriptLoader.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/workers/WorkerScriptLoader.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -92,7 +92,7 @@
</span><span class="cx"> options.contentSecurityPolicyEnforcement = contentSecurityPolicyEnforcement;
</span><span class="cx">
</span><span class="cx"> // During create, callbacks may happen which remove the last reference to this object.
</span><del>- Ref<WorkerScriptLoader> protect(*this);
</del><ins>+ Ref<WorkerScriptLoader> protectedThis(*this);
</ins><span class="cx"> m_threadableLoader = ThreadableLoader::create(scriptExecutionContext, this, *request, options);
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorexmlXMLHttpRequestcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/XMLHttpRequest.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/XMLHttpRequest.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/xml/XMLHttpRequest.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -761,7 +761,7 @@
</span><span class="cx"> void XMLHttpRequest::abort()
</span><span class="cx"> {
</span><span class="cx"> // internalAbort() calls dropProtection(), which may release the last reference.
</span><del>- Ref<XMLHttpRequest> protect(*this);
</del><ins>+ Ref<XMLHttpRequest> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> if (!internalAbort())
</span><span class="cx"> return;
</span><span class="lines">@@ -1192,7 +1192,7 @@
</span><span class="cx"> void XMLHttpRequest::didReachTimeout()
</span><span class="cx"> {
</span><span class="cx"> // internalAbort() calls dropProtection(), which may release the last reference.
</span><del>- Ref<XMLHttpRequest> protect(*this);
</del><ins>+ Ref<XMLHttpRequest> protectedThis(*this);
</ins><span class="cx"> if (!internalAbort())
</span><span class="cx"> return;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkSourceWebCorexmlparserXMLDocumentParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/parser/XMLDocumentParser.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/parser/XMLDocumentParser.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/xml/parser/XMLDocumentParser.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -246,7 +246,7 @@
</span><span class="cx"> ASSERT(scriptElement);
</span><span class="cx">
</span><span class="cx"> // JavaScript can detach this parser, make sure it's kept alive even if detached.
</span><del>- Ref<XMLDocumentParser> protect(*this);
</del><ins>+ Ref<XMLDocumentParser> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> if (errorOccurred)
</span><span class="cx"> scriptElement->dispatchErrorEvent();
</span></span></pre></div>
<a id="trunkSourceWebCorexmlparserXMLDocumentParserLibxml2cpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp (200894 => 200895)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp        2016-05-13 23:39:00 UTC (rev 200894)
+++ trunk/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp        2016-05-13 23:42:17 UTC (rev 200895)
</span><span class="lines">@@ -680,7 +680,7 @@
</span><span class="cx"> if (parseString.length()) {
</span><span class="cx"> // JavaScript may cause the parser to detach during xmlParseChunk
</span><span class="cx"> // keep this alive until this function is done.
</span><del>- Ref<XMLDocumentParser> protect(*this);
</del><ins>+ Ref<XMLDocumentParser> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> XMLDocumentParserScope scope(&document()->cachedResourceLoader());
</span><span class="cx">
</span><span class="lines">@@ -872,7 +872,7 @@
</span><span class="cx">
</span><span class="cx"> // JavaScript can detach the parser. Make sure this is not released
</span><span class="cx"> // before the end of this method.
</span><del>- Ref<XMLDocumentParser> protect(*this);
</del><ins>+ Ref<XMLDocumentParser> protectedThis(*this);
</ins><span class="cx">
</span><span class="cx"> if (!updateLeafTextNode())
</span><span class="cx"> return;
</span></span></pre>
</div>
</div>
</body>
</html>