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

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

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

Breaks ObjC Inspector Protocol (Requested by JoePeck on
#webkit).

Reverted changeset:

&quot;Web Inspector: purge PassRefPtr from Inspector code and use
Ref for typed and untyped protocol objects&quot;
https://bugs.webkit.org/show_bug.cgi?id=140053
http://trac.webkit.org/changeset/178039</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCorebindingsScriptValuecpp">trunk/Source/JavaScriptCore/bindings/ScriptValue.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorebindingsScriptValueh">trunk/Source/JavaScriptCore/bindings/ScriptValue.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorConsoleMessagecpp">trunk/Source/JavaScriptCore/inspector/ConsoleMessage.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorContentSearchUtilitiescpp">trunk/Source/JavaScriptCore/inspector/ContentSearchUtilities.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorContentSearchUtilitiesh">trunk/Source/JavaScriptCore/inspector/ContentSearchUtilities.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorInjectedScriptcpp">trunk/Source/JavaScriptCore/inspector/InjectedScript.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorInjectedScripth">trunk/Source/JavaScriptCore/inspector/InjectedScript.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorInjectedScriptBasecpp">trunk/Source/JavaScriptCore/inspector/InjectedScriptBase.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorInspectorBackendDispatchercpp">trunk/Source/JavaScriptCore/inspector/InspectorBackendDispatcher.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorInspectorBackendDispatcherh">trunk/Source/JavaScriptCore/inspector/InspectorBackendDispatcher.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorInspectorEnvironmenth">trunk/Source/JavaScriptCore/inspector/InspectorEnvironment.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorInspectorProtocolTypesh">trunk/Source/JavaScriptCore/inspector/InspectorProtocolTypes.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorInspectorValuescpp">trunk/Source/JavaScriptCore/inspector/InspectorValues.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorInspectorValuesh">trunk/Source/JavaScriptCore/inspector/InspectorValues.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorJSGlobalObjectConsoleClientcpp">trunk/Source/JavaScriptCore/inspector/JSGlobalObjectConsoleClient.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorJSGlobalObjectConsoleClienth">trunk/Source/JavaScriptCore/inspector/JSGlobalObjectConsoleClient.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorJSGlobalObjectInspectorControllercpp">trunk/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorJSGlobalObjectInspectorControllerh">trunk/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorScriptCallFramecpp">trunk/Source/JavaScriptCore/inspector/ScriptCallFrame.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorScriptCallFrameh">trunk/Source/JavaScriptCore/inspector/ScriptCallFrame.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorScriptCallStackcpp">trunk/Source/JavaScriptCore/inspector/ScriptCallStack.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorScriptCallStackh">trunk/Source/JavaScriptCore/inspector/ScriptCallStack.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectoragentsInspectorAgentcpp">trunk/Source/JavaScriptCore/inspector/agents/InspectorAgent.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectoragentsInspectorAgenth">trunk/Source/JavaScriptCore/inspector/agents/InspectorAgent.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectoragentsInspectorDebuggerAgentcpp">trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectoragentsInspectorDebuggerAgenth">trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectoragentsInspectorRuntimeAgentcpp">trunk/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectoragentsInspectorRuntimeAgenth">trunk/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorscriptscodegencpp_generatorpy">trunk/Source/JavaScriptCore/inspector/scripts/codegen/cpp_generator.py</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorscriptscodegencpp_generator_templatespy">trunk/Source/JavaScriptCore/inspector/scripts/codegen/cpp_generator_templates.py</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorscriptscodegengenerate_cpp_backend_dispatcher_headerpy">trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorscriptscodegengenerate_cpp_backend_dispatcher_implementationpy">trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorscriptscodegengenerate_cpp_frontend_dispatcher_headerpy">trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_frontend_dispatcher_header.py</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorscriptscodegengenerate_cpp_frontend_dispatcher_implementationpy">trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorscriptscodegengenerate_cpp_protocol_types_headerpy">trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_header.py</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorscriptscodegengenerate_cpp_protocol_types_implementationpy">trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorscriptscodegengenerate_objc_backend_dispatcher_implementationpy">trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorscriptscodegengenerate_objc_frontend_dispatcher_implementationpy">trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorscriptscodegengenerate_objc_protocol_types_implementationpy">trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_types_implementation.py</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorscriptstestsexpectedcommandswithasyncattributejsonresult">trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/commands-with-async-attribute.json-result</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorscriptstestsexpectedcommandswithoptionalcallreturnparametersjsonresult">trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorscriptstestsexpecteddomainswithvaryingcommandsizesjsonresult">trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorscriptstestsexpectedenumvaluesjsonresult">trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/enum-values.json-result</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorscriptstestsexpectedeventswithoptionalparametersjsonresult">trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/events-with-optional-parameters.json-result</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorscriptstestsexpectedgeneratedomainswithfeatureguardsjsonresult">trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorscriptstestsexpectedsametypeiddifferentdomainjsonresult">trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/same-type-id-different-domain.json-result</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorscriptstestsexpectedshadowedoptionaltypesettersjsonresult">trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorscriptstestsexpectedtypedeclarationaliasedprimitivetypejsonresult">trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorscriptstestsexpectedtypedeclarationarraytypejsonresult">trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-array-type.json-result</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorscriptstestsexpectedtypedeclarationenumtypejsonresult">trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-enum-type.json-result</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorscriptstestsexpectedtypedeclarationobjecttypejsonresult">trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-object-type.json-result</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorscriptstestsexpectedtyperequiringruntimecastsjsonresult">trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result</a></li>
<li><a href="#trunkSourceJavaScriptCorereplayEncodedValuecpp">trunk/Source/JavaScriptCore/replay/EncodedValue.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorereplayEncodedValueh">trunk/Source/JavaScriptCore/replay/EncodedValue.h</a></li>
<li><a href="#trunkSourceJavaScriptCorereplayscriptsCodeGeneratorReplayInputspy">trunk/Source/JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeConsoleClientcpp">trunk/Source/JavaScriptCore/runtime/ConsoleClient.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeConsoleClienth">trunk/Source/JavaScriptCore/runtime/ConsoleClient.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeTypeSetcpp">trunk/Source/JavaScriptCore/runtime/TypeSet.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeTypeSeth">trunk/Source/JavaScriptCore/runtime/TypeSet.h</a></li>
<li><a href="#trunkSourceWTFChangeLog">trunk/Source/WTF/ChangeLog</a></li>
<li><a href="#trunkSourceWTFwtfStopwatchh">trunk/Source/WTF/wtf/Stopwatch.h</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModuleswebdatabaseDatabaseManagercpp">trunk/Source/WebCore/Modules/webdatabase/DatabaseManager.cpp</a></li>
<li><a href="#trunkSourceWebCoredomDocumentcpp">trunk/Source/WebCore/dom/Document.cpp</a></li>
<li><a href="#trunkSourceWebCoredomDocumenth">trunk/Source/WebCore/dom/Document.h</a></li>
<li><a href="#trunkSourceWebCoredomScriptExecutionContextcpp">trunk/Source/WebCore/dom/ScriptExecutionContext.cpp</a></li>
<li><a href="#trunkSourceWebCoredomScriptExecutionContexth">trunk/Source/WebCore/dom/ScriptExecutionContext.h</a></li>
<li><a href="#trunkSourceWebCorehtmlparserXSSAuditorDelegatecpp">trunk/Source/WebCore/html/parser/XSSAuditorDelegate.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorCommandLineAPIHostcpp">trunk/Source/WebCore/inspector/CommandLineAPIHost.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorCommandLineAPIHosth">trunk/Source/WebCore/inspector/CommandLineAPIHost.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorApplicationCacheAgentcpp">trunk/Source/WebCore/inspector/InspectorApplicationCacheAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorApplicationCacheAgenth">trunk/Source/WebCore/inspector/InspectorApplicationCacheAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorCSSAgentcpp">trunk/Source/WebCore/inspector/InspectorCSSAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorCSSAgenth">trunk/Source/WebCore/inspector/InspectorCSSAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorConsoleInstrumentationh">trunk/Source/WebCore/inspector/InspectorConsoleInstrumentation.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorControllercpp">trunk/Source/WebCore/inspector/InspectorController.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorControllerh">trunk/Source/WebCore/inspector/InspectorController.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDOMAgentcpp">trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDOMAgenth">trunk/Source/WebCore/inspector/InspectorDOMAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDOMDebuggerAgentcpp">trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDOMDebuggerAgenth">trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDOMStorageAgentcpp">trunk/Source/WebCore/inspector/InspectorDOMStorageAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDOMStorageAgenth">trunk/Source/WebCore/inspector/InspectorDOMStorageAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDatabaseAgentcpp">trunk/Source/WebCore/inspector/InspectorDatabaseAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDatabaseAgenth">trunk/Source/WebCore/inspector/InspectorDatabaseAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDatabaseInstrumentationh">trunk/Source/WebCore/inspector/InspectorDatabaseInstrumentation.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDatabaseResourcecpp">trunk/Source/WebCore/inspector/InspectorDatabaseResource.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDatabaseResourceh">trunk/Source/WebCore/inspector/InspectorDatabaseResource.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorFrontendHosth">trunk/Source/WebCore/inspector/InspectorFrontendHost.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorIndexedDBAgentcpp">trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorIndexedDBAgenth">trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorInstrumentationcpp">trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorInstrumentationh">trunk/Source/WebCore/inspector/InspectorInstrumentation.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorLayerTreeAgentcpp">trunk/Source/WebCore/inspector/InspectorLayerTreeAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorLayerTreeAgenth">trunk/Source/WebCore/inspector/InspectorLayerTreeAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorOverlaycpp">trunk/Source/WebCore/inspector/InspectorOverlay.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorOverlayh">trunk/Source/WebCore/inspector/InspectorOverlay.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorPageAgentcpp">trunk/Source/WebCore/inspector/InspectorPageAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorPageAgenth">trunk/Source/WebCore/inspector/InspectorPageAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorReplayAgentcpp">trunk/Source/WebCore/inspector/InspectorReplayAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorReplayAgenth">trunk/Source/WebCore/inspector/InspectorReplayAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorResourceAgentcpp">trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorResourceAgenth">trunk/Source/WebCore/inspector/InspectorResourceAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorStyleSheetcpp">trunk/Source/WebCore/inspector/InspectorStyleSheet.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorStyleSheeth">trunk/Source/WebCore/inspector/InspectorStyleSheet.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorTimelineAgentcpp">trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorTimelineAgenth">trunk/Source/WebCore/inspector/InspectorTimelineAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorWorkerAgentcpp">trunk/Source/WebCore/inspector/InspectorWorkerAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorWorkerAgenth">trunk/Source/WebCore/inspector/InspectorWorkerAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorNetworkResourcesDatacpp">trunk/Source/WebCore/inspector/NetworkResourcesData.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorNetworkResourcesDatah">trunk/Source/WebCore/inspector/NetworkResourcesData.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorTimelineRecordFactorycpp">trunk/Source/WebCore/inspector/TimelineRecordFactory.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorTimelineRecordFactoryh">trunk/Source/WebCore/inspector/TimelineRecordFactory.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorWorkerInspectorControllercpp">trunk/Source/WebCore/inspector/WorkerInspectorController.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorWorkerInspectorControllerh">trunk/Source/WebCore/inspector/WorkerInspectorController.h</a></li>
<li><a href="#trunkSourceWebCorepagePageConsoleClientcpp">trunk/Source/WebCore/page/PageConsoleClient.cpp</a></li>
<li><a href="#trunkSourceWebCorepagePageConsoleClienth">trunk/Source/WebCore/page/PageConsoleClient.h</a></li>
<li><a href="#trunkSourceWebCorereplayReplayControllercpp">trunk/Source/WebCore/replay/ReplayController.cpp</a></li>
<li><a href="#trunkSourceWebCorereplayReplayInputCreationMethodscpp">trunk/Source/WebCore/replay/ReplayInputCreationMethods.cpp</a></li>
<li><a href="#trunkSourceWebCoreworkersSharedWorkerGlobalScopecpp">trunk/Source/WebCore/workers/SharedWorkerGlobalScope.cpp</a></li>
<li><a href="#trunkSourceWebCoreworkersSharedWorkerGlobalScopeh">trunk/Source/WebCore/workers/SharedWorkerGlobalScope.h</a></li>
<li><a href="#trunkSourceWebCoreworkersWorkerGlobalScopecpp">trunk/Source/WebCore/workers/WorkerGlobalScope.cpp</a></li>
<li><a href="#trunkSourceWebCoreworkersWorkerGlobalScopeh">trunk/Source/WebCore/workers/WorkerGlobalScope.h</a></li>
<li><a href="#trunkSourceWebKitChangeLog">trunk/Source/WebKit/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitWebKitvcxprojWebKitExportGeneratorWebKitExportsdefin">trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/ChangeLog        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+2015-01-07  Commit Queue  &lt;commit-queue@webkit.org&gt;
+
+        Unreviewed, rolling out r178039.
+        https://bugs.webkit.org/show_bug.cgi?id=140187
+
+        Breaks ObjC Inspector Protocol (Requested by JoePeck on
+        #webkit).
+
+        Reverted changeset:
+
+        &quot;Web Inspector: purge PassRefPtr from Inspector code and use
+        Ref for typed and untyped protocol objects&quot;
+        https://bugs.webkit.org/show_bug.cgi?id=140053
+        http://trac.webkit.org/changeset/178039
+
</ins><span class="cx"> 2015-01-06  Brian J. Burg  &lt;burg@cs.washington.edu&gt;
</span><span class="cx"> 
</span><span class="cx">         Web Inspector: purge PassRefPtr from Inspector code and use Ref for typed and untyped protocol objects
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebindingsScriptValuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bindings/ScriptValue.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bindings/ScriptValue.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/bindings/ScriptValue.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -98,7 +98,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><del>-static RefPtr&lt;InspectorValue&gt; jsToInspectorValue(ExecState* scriptState, JSValue value, int maxDepth)
</del><ins>+static PassRefPtr&lt;InspectorValue&gt; jsToInspectorValue(ExecState* scriptState, JSValue value, int maxDepth)
</ins><span class="cx"> {
</span><span class="cx">     if (!value) {
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -123,7 +123,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (value.isObject()) {
</span><span class="cx">         if (isJSArray(value)) {
</span><del>-            Ref&lt;InspectorArray&gt; inspectorArray = InspectorArray::create();
</del><ins>+            RefPtr&lt;InspectorArray&gt; inspectorArray = InspectorArray::create();
</ins><span class="cx">             JSArray* array = asArray(value);
</span><span class="cx">             unsigned length = array-&gt;length();
</span><span class="cx">             for (unsigned i = 0; i &lt; length; i++) {
</span><span class="lines">@@ -131,11 +131,11 @@
</span><span class="cx">                 RefPtr&lt;InspectorValue&gt; elementValue = jsToInspectorValue(scriptState, element, maxDepth);
</span><span class="cx">                 if (!elementValue)
</span><span class="cx">                     return nullptr;
</span><del>-                inspectorArray-&gt;pushValue(WTF::move(elementValue));
</del><ins>+                inspectorArray-&gt;pushValue(elementValue);
</ins><span class="cx">             }
</span><del>-            return WTF::move(inspectorArray);
</del><ins>+            return inspectorArray;
</ins><span class="cx">         }
</span><del>-        Ref&lt;InspectorObject&gt; inspectorObject = InspectorObject::create();
</del><ins>+        RefPtr&lt;InspectorObject&gt; inspectorObject = InspectorObject::create();
</ins><span class="cx">         JSObject* object = value.getObject();
</span><span class="cx">         PropertyNameArray propertyNames(scriptState);
</span><span class="cx">         object-&gt;methodTable()-&gt;getOwnPropertyNames(object, scriptState, propertyNames, ExcludeDontEnumProperties);
</span><span class="lines">@@ -145,16 +145,16 @@
</span><span class="cx">             RefPtr&lt;InspectorValue&gt; inspectorValue = jsToInspectorValue(scriptState, propertyValue, maxDepth);
</span><span class="cx">             if (!inspectorValue)
</span><span class="cx">                 return nullptr;
</span><del>-            inspectorObject-&gt;setValue(name.string(), WTF::move(inspectorValue));
</del><ins>+            inspectorObject-&gt;setValue(name.string(), inspectorValue);
</ins><span class="cx">         }
</span><del>-        return WTF::move(inspectorObject);
</del><ins>+        return inspectorObject;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;InspectorValue&gt; ScriptValue::toInspectorValue(ExecState* scriptState) const
</del><ins>+PassRefPtr&lt;InspectorValue&gt; ScriptValue::toInspectorValue(ExecState* scriptState) const
</ins><span class="cx"> {
</span><span class="cx">     JSLockHolder holder(scriptState);
</span><span class="cx">     return jsToInspectorValue(scriptState, m_value.get(), InspectorValue::maxDepth);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebindingsScriptValueh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bindings/ScriptValue.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bindings/ScriptValue.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/bindings/ScriptValue.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -66,7 +66,7 @@
</span><span class="cx">     bool operator==(const ScriptValue&amp; other) const { return m_value == other.m_value; }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><del>-    RefPtr&lt;Inspector::InspectorValue&gt; toInspectorValue(JSC::ExecState*) const;
</del><ins>+    PassRefPtr&lt;Inspector::InspectorValue&gt; toInspectorValue(JSC::ExecState*) const;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> private:
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorConsoleMessagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/ConsoleMessage.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/ConsoleMessage.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/ConsoleMessage.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -181,11 +181,10 @@
</span><span class="cx"> 
</span><span class="cx"> void ConsoleMessage::addToFrontend(InspectorConsoleFrontendDispatcher* consoleFrontendDispatcher, Inspector::InjectedScriptManager* injectedScriptManager, bool generatePreview)
</span><span class="cx"> {
</span><del>-    Ref&lt;Inspector::Protocol::Console::ConsoleMessage&gt; jsonObj = Inspector::Protocol::Console::ConsoleMessage::create()
</del><ins>+    RefPtr&lt;Inspector::Protocol::Console::ConsoleMessage&gt; jsonObj = Inspector::Protocol::Console::ConsoleMessage::create()
</ins><span class="cx">         .setSource(messageSourceValue(m_source))
</span><span class="cx">         .setLevel(messageLevelValue(m_level))
</span><del>-        .setText(m_message)
-        .release();
</del><ins>+        .setText(m_message);
</ins><span class="cx"> 
</span><span class="cx">     // FIXME: only send out type for ConsoleAPI source messages.
</span><span class="cx">     jsonObj-&gt;setType(messageTypeValue(m_type));
</span><span class="lines">@@ -200,7 +199,7 @@
</span><span class="cx">     if (m_arguments &amp;&amp; m_arguments-&gt;argumentCount()) {
</span><span class="cx">         InjectedScript injectedScript = injectedScriptManager-&gt;injectedScriptFor(m_arguments-&gt;globalState());
</span><span class="cx">         if (!injectedScript.hasNoValue()) {
</span><del>-            Ref&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Runtime::RemoteObject&gt;&gt; jsonArgs = Inspector::Protocol::Array&lt;Inspector::Protocol::Runtime::RemoteObject&gt;::create();
</del><ins>+            RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Runtime::RemoteObject&gt;&gt; jsonArgs = Inspector::Protocol::Array&lt;Inspector::Protocol::Runtime::RemoteObject&gt;::create();
</ins><span class="cx">             if (m_type == MessageType::Table &amp;&amp; generatePreview &amp;&amp; m_arguments-&gt;argumentCount()) {
</span><span class="cx">                 Deprecated::ScriptValue table = m_arguments-&gt;argumentAt(0);
</span><span class="cx">                 Deprecated::ScriptValue columns = m_arguments-&gt;argumentCount() &gt; 1 ? m_arguments-&gt;argumentAt(1) : Deprecated::ScriptValue();
</span><span class="lines">@@ -209,7 +208,7 @@
</span><span class="cx">                     ASSERT_NOT_REACHED();
</span><span class="cx">                     return;
</span><span class="cx">                 }
</span><del>-                jsonArgs-&gt;addItem(inspectorValue.copyRef());
</del><ins>+                jsonArgs-&gt;addItem(inspectorValue);
</ins><span class="cx">             } else {
</span><span class="cx">                 for (unsigned i = 0; i &lt; m_arguments-&gt;argumentCount(); ++i) {
</span><span class="cx">                     RefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt; inspectorValue = injectedScript.wrapObject(m_arguments-&gt;argumentAt(i), ASCIILiteral(&quot;console&quot;), generatePreview);
</span><span class="lines">@@ -217,17 +216,17 @@
</span><span class="cx">                         ASSERT_NOT_REACHED();
</span><span class="cx">                         return;
</span><span class="cx">                     }
</span><del>-                    jsonArgs-&gt;addItem(inspectorValue.copyRef());
</del><ins>+                    jsonArgs-&gt;addItem(inspectorValue);
</ins><span class="cx">                 }
</span><span class="cx">             }
</span><del>-            jsonObj-&gt;setParameters(WTF::move(jsonArgs));
</del><ins>+            jsonObj-&gt;setParameters(jsonArgs);
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (m_callStack)
</span><span class="cx">         jsonObj-&gt;setStackTrace(m_callStack-&gt;buildInspectorArray());
</span><span class="cx"> 
</span><del>-    consoleFrontendDispatcher-&gt;messageAdded(WTF::move(jsonObj));
</del><ins>+    consoleFrontendDispatcher-&gt;messageAdded(jsonObj);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void ConsoleMessage::updateRepeatCountInConsole(InspectorConsoleFrontendDispatcher* consoleFrontendDispatcher)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorContentSearchUtilitiescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/ContentSearchUtilities.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/ContentSearchUtilities.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/ContentSearchUtilities.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -120,7 +120,7 @@
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static Ref&lt;Inspector::Protocol::GenericTypes::SearchMatch&gt; buildObjectForSearchMatch(size_t lineNumber, const String&amp; lineContent)
</del><ins>+static PassRefPtr&lt;Inspector::Protocol::GenericTypes::SearchMatch&gt; buildObjectForSearchMatch(size_t lineNumber, const String&amp; lineContent)
</ins><span class="cx"> {
</span><span class="cx">     return Inspector::Protocol::GenericTypes::SearchMatch::create()
</span><span class="cx">         .setLineNumber(lineNumber)
</span><span class="lines">@@ -153,17 +153,15 @@
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::GenericTypes::SearchMatch&gt;&gt; searchInTextByLines(const String&amp; text, const String&amp; query, const bool caseSensitive, const bool isRegex)
</del><ins>+PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::GenericTypes::SearchMatch&gt;&gt; searchInTextByLines(const String&amp; text, const String&amp; query, const bool caseSensitive, const bool isRegex)
</ins><span class="cx"> {
</span><del>-    Ref&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::GenericTypes::SearchMatch&gt;&gt; result = Inspector::Protocol::Array&lt;Inspector::Protocol::GenericTypes::SearchMatch&gt;::create();
</del><ins>+    RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::GenericTypes::SearchMatch&gt;&gt; result = Inspector::Protocol::Array&lt;Inspector::Protocol::GenericTypes::SearchMatch&gt;::create();
</ins><span class="cx"> 
</span><span class="cx">     JSC::Yarr::RegularExpression regex = ContentSearchUtilities::createSearchRegex(query, caseSensitive, isRegex);
</span><span class="cx">     Vector&lt;std::pair&lt;size_t, String&gt;&gt; matches = getRegularExpressionMatchesByLines(regex, text);
</span><span class="cx"> 
</span><del>-    for (const auto&amp; match : matches) {
-        Ref&lt;Inspector::Protocol::GenericTypes::SearchMatch&gt; matchObject = buildObjectForSearchMatch(match.first, match.second);
-        result-&gt;addItem(WTF::move(matchObject));
-    }
</del><ins>+    for (const auto&amp; match : matches)
+        result-&gt;addItem(buildObjectForSearchMatch(match.first, match.second));
</ins><span class="cx"> 
</span><span class="cx">     return result;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorContentSearchUtilitiesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/ContentSearchUtilities.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/ContentSearchUtilities.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/ContentSearchUtilities.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx"> 
</span><span class="cx"> JS_EXPORT_PRIVATE JSC::Yarr::RegularExpression createSearchRegex(const String&amp; query, bool caseSensitive, bool isRegex);
</span><span class="cx"> JS_EXPORT_PRIVATE int countRegularExpressionMatches(const JSC::Yarr::RegularExpression&amp;, const String&amp;);
</span><del>-JS_EXPORT_PRIVATE Ref&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::GenericTypes::SearchMatch&gt;&gt; searchInTextByLines(const String&amp; text, const String&amp; query, const bool caseSensitive, const bool isRegex);
</del><ins>+JS_EXPORT_PRIVATE PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::GenericTypes::SearchMatch&gt;&gt; searchInTextByLines(const String&amp; text, const String&amp; query, const bool caseSensitive, const bool isRegex);
</ins><span class="cx"> JS_EXPORT_PRIVATE TextPosition textPositionFromOffset(size_t offset, const Vector&lt;size_t&gt;&amp; lineEndings);
</span><span class="cx"> JS_EXPORT_PRIVATE std::unique_ptr&lt;Vector&lt;size_t&gt;&gt; lineEndings(const String&amp;);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorInjectedScriptcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/InjectedScript.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/InjectedScript.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/InjectedScript.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -106,7 +106,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    *result = BindingTraits&lt;Inspector::Protocol::Debugger::FunctionDetails&gt;::runtimeCast(WTF::move(resultValue));
</del><ins>+    *result = BindingTraits&lt;Inspector::Protocol::Debugger::FunctionDetails&gt;::runtimeCast(resultValue);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InjectedScript::getProperties(ErrorString&amp; errorString, const String&amp; objectId, bool ownProperties, RefPtr&lt;Array&lt;Inspector::Protocol::Runtime::PropertyDescriptor&gt;&gt;* properties)
</span><span class="lines">@@ -122,7 +122,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    *properties = BindingTraits&lt;Array&lt;Inspector::Protocol::Runtime::PropertyDescriptor&gt;&gt;::runtimeCast(WTF::move(result));
</del><ins>+    *properties = BindingTraits&lt;Array&lt;Inspector::Protocol::Runtime::PropertyDescriptor&gt;&gt;::runtimeCast(result);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InjectedScript::getInternalProperties(ErrorString&amp; errorString, const String&amp; objectId, RefPtr&lt;Array&lt;Inspector::Protocol::Runtime::InternalPropertyDescriptor&gt;&gt;* properties)
</span><span class="lines">@@ -137,12 +137,12 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    auto array = BindingTraits&lt;Array&lt;Inspector::Protocol::Runtime::InternalPropertyDescriptor&gt;&gt;::runtimeCast(WTF::move(result));
</del><ins>+    auto array = BindingTraits&lt;Array&lt;Inspector::Protocol::Runtime::InternalPropertyDescriptor&gt;&gt;::runtimeCast(result);
</ins><span class="cx">     if (array-&gt;length() &gt; 0)
</span><span class="cx">         *properties = array;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;Array&lt;Inspector::Protocol::Debugger::CallFrame&gt;&gt; InjectedScript::wrapCallFrames(const Deprecated::ScriptValue&amp; callFrames)
</del><ins>+PassRefPtr&lt;Array&lt;Inspector::Protocol::Debugger::CallFrame&gt;&gt; InjectedScript::wrapCallFrames(const Deprecated::ScriptValue&amp; callFrames)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(!hasNoValue());
</span><span class="cx">     Deprecated::ScriptFunctionCall function(injectedScriptObject(), ASCIILiteral(&quot;wrapCallFrames&quot;), inspectorEnvironment()-&gt;functionCallHandler());
</span><span class="lines">@@ -153,12 +153,12 @@
</span><span class="cx">     ASSERT(!hadException);
</span><span class="cx">     RefPtr&lt;InspectorValue&gt; result = callFramesValue.toInspectorValue(scriptState());
</span><span class="cx">     if (result-&gt;type() == InspectorValue::Type::Array)
</span><del>-        return BindingTraits&lt;Array&lt;Inspector::Protocol::Debugger::CallFrame&gt;&gt;::runtimeCast(WTF::move(result)).releaseNonNull();
</del><ins>+        return BindingTraits&lt;Array&lt;Inspector::Protocol::Debugger::CallFrame&gt;&gt;::runtimeCast(result);
</ins><span class="cx"> 
</span><span class="cx">     return Array&lt;Inspector::Protocol::Debugger::CallFrame&gt;::create();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt; InjectedScript::wrapObject(const Deprecated::ScriptValue&amp; value, const String&amp; groupName, bool generatePreview) const
</del><ins>+PassRefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt; InjectedScript::wrapObject(const Deprecated::ScriptValue&amp; value, const String&amp; groupName, bool generatePreview) const
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(!hasNoValue());
</span><span class="cx">     Deprecated::ScriptFunctionCall wrapFunction(injectedScriptObject(), ASCIILiteral(&quot;wrapObject&quot;), inspectorEnvironment()-&gt;functionCallHandler());
</span><span class="lines">@@ -179,7 +179,7 @@
</span><span class="cx">     return BindingTraits&lt;Inspector::Protocol::Runtime::RemoteObject&gt;::runtimeCast(resultObject);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt; InjectedScript::wrapTable(const Deprecated::ScriptValue&amp; table, const Deprecated::ScriptValue&amp; columns) const
</del><ins>+PassRefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt; InjectedScript::wrapTable(const Deprecated::ScriptValue&amp; table, const Deprecated::ScriptValue&amp; columns) const
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(!hasNoValue());
</span><span class="cx">     Deprecated::ScriptFunctionCall wrapFunction(injectedScriptObject(), ASCIILiteral(&quot;wrapTable&quot;), inspectorEnvironment()-&gt;functionCallHandler());
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorInjectedScripth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/InjectedScript.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/InjectedScript.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/InjectedScript.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -62,9 +62,9 @@
</span><span class="cx">     void getProperties(ErrorString&amp;, const String&amp; objectId, bool ownProperties, RefPtr&lt;Protocol::Array&lt;Protocol::Runtime::PropertyDescriptor&gt;&gt;* result);
</span><span class="cx">     void getInternalProperties(ErrorString&amp;, const String&amp; objectId, RefPtr&lt;Protocol::Array&lt;Protocol::Runtime::InternalPropertyDescriptor&gt;&gt;* result);
</span><span class="cx"> 
</span><del>-    Ref&lt;Protocol::Array&lt;Protocol::Debugger::CallFrame&gt;&gt; wrapCallFrames(const Deprecated::ScriptValue&amp;);
-    RefPtr&lt;Protocol::Runtime::RemoteObject&gt; wrapObject(const Deprecated::ScriptValue&amp;, const String&amp; groupName, bool generatePreview = false) const;
-    RefPtr&lt;Protocol::Runtime::RemoteObject&gt; wrapTable(const Deprecated::ScriptValue&amp; table, const Deprecated::ScriptValue&amp; columns) const;
</del><ins>+    PassRefPtr&lt;Protocol::Array&lt;Protocol::Debugger::CallFrame&gt;&gt; wrapCallFrames(const Deprecated::ScriptValue&amp;);
+    PassRefPtr&lt;Protocol::Runtime::RemoteObject&gt; wrapObject(const Deprecated::ScriptValue&amp;, const String&amp; groupName, bool generatePreview = false) const;
+    PassRefPtr&lt;Protocol::Runtime::RemoteObject&gt; wrapTable(const Deprecated::ScriptValue&amp; table, const Deprecated::ScriptValue&amp; columns) const;
</ins><span class="cx"> 
</span><span class="cx">     void setExceptionValue(const Deprecated::ScriptValue&amp;);
</span><span class="cx">     void clearExceptionValue();
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorInjectedScriptBasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/InjectedScriptBase.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/InjectedScriptBase.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/InjectedScriptBase.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -135,20 +135,15 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    RefPtr&lt;InspectorObject&gt; resultObject;
-    if (!resultPair-&gt;getObject(ASCIILiteral(&quot;result&quot;), resultObject)) {
</del><ins>+    RefPtr&lt;InspectorObject&gt; resultObject = resultPair-&gt;getObject(ASCIILiteral(&quot;result&quot;));
+    bool wasThrownVal = false;
+    if (!resultObject || !resultPair-&gt;getBoolean(ASCIILiteral(&quot;wasThrown&quot;), wasThrownVal)) {
</ins><span class="cx">         errorString = ASCIILiteral(&quot;Internal error: result is not a pair of value and wasThrown flag&quot;);
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    bool wasThrownValue = false;
-    if (!resultPair-&gt;getBoolean(ASCIILiteral(&quot;wasThrown&quot;), wasThrownValue)) {
-        errorString = ASCIILiteral(&quot;Internal error: result is not a pair of value and wasThrown flag&quot;);
-        return;
-    }
-
</del><span class="cx">     *objectResult = BindingTraits&lt;Protocol::Runtime::RemoteObject&gt;::runtimeCast(resultObject);
</span><del>-    *wasThrown = wasThrownValue;
</del><ins>+    *wasThrown = wasThrownVal;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace Inspector
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorInspectorBackendDispatchercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/InspectorBackendDispatcher.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/InspectorBackendDispatcher.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/InspectorBackendDispatcher.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -36,8 +36,8 @@
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><del>-InspectorBackendDispatcher::CallbackBase::CallbackBase(Ref&lt;InspectorBackendDispatcher&gt;&amp;&amp; backendDispatcher, int id)
-    : m_backendDispatcher(WTF::move(backendDispatcher))
</del><ins>+InspectorBackendDispatcher::CallbackBase::CallbackBase(PassRefPtr&lt;InspectorBackendDispatcher&gt; backendDispatcher, int id)
+    : m_backendDispatcher(backendDispatcher)
</ins><span class="cx">     , m_id(id)
</span><span class="cx">     , m_alreadySent(false)
</span><span class="cx"> {
</span><span class="lines">@@ -54,18 +54,18 @@
</span><span class="cx">     sendIfActive(nullptr, error);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorBackendDispatcher::CallbackBase::sendIfActive(RefPtr&lt;InspectorObject&gt;&amp;&amp; partialMessage, const ErrorString&amp; invocationError)
</del><ins>+void InspectorBackendDispatcher::CallbackBase::sendIfActive(PassRefPtr&lt;InspectorObject&gt; partialMessage, const ErrorString&amp; invocationError)
</ins><span class="cx"> {
</span><span class="cx">     if (m_alreadySent)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    m_backendDispatcher-&gt;sendResponse(m_id, WTF::move(partialMessage), invocationError);
</del><ins>+    m_backendDispatcher-&gt;sendResponse(m_id, partialMessage, invocationError);
</ins><span class="cx">     m_alreadySent = true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorBackendDispatcher&gt; InspectorBackendDispatcher::create(InspectorFrontendChannel* inspectorFrontendChannel)
</del><ins>+PassRefPtr&lt;InspectorBackendDispatcher&gt; InspectorBackendDispatcher::create(InspectorFrontendChannel* inspectorFrontendChannel)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new InspectorBackendDispatcher(inspectorFrontendChannel));
</del><ins>+    return adoptRef(new InspectorBackendDispatcher(inspectorFrontendChannel));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorBackendDispatcher::registerDispatcherForDomain(const String&amp; domain, InspectorSupplementalBackendDispatcher* dispatcher)
</span><span class="lines">@@ -90,8 +90,8 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    RefPtr&lt;InspectorValue&gt; callIdValue;
-    if (!messageObject-&gt;getValue(ASCIILiteral(&quot;id&quot;), callIdValue)) {
</del><ins>+    RefPtr&lt;InspectorValue&gt; callIdValue = messageObject-&gt;get(ASCIILiteral(&quot;id&quot;));
+    if (!callIdValue) {
</ins><span class="cx">         reportProtocolError(nullptr, InvalidRequest, ASCIILiteral(&quot;'id' property was not found&quot;));
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="lines">@@ -102,8 +102,8 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    RefPtr&lt;InspectorValue&gt; methodValue;
-    if (!messageObject-&gt;getValue(ASCIILiteral(&quot;method&quot;), methodValue)) {
</del><ins>+    RefPtr&lt;InspectorValue&gt; methodValue = messageObject-&gt;get(ASCIILiteral(&quot;method&quot;));
+    if (!methodValue) {
</ins><span class="cx">         reportProtocolError(&amp;callId, InvalidRequest, ASCIILiteral(&quot;'method' property wasn't found&quot;));
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="lines">@@ -128,10 +128,10 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     String domainMethod = method.substring(position + 1);
</span><del>-    domainDispatcher-&gt;dispatch(callId, domainMethod, messageObject.releaseNonNull());
</del><ins>+    domainDispatcher-&gt;dispatch(callId, domainMethod, messageObject.release());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorBackendDispatcher::sendResponse(long callId, RefPtr&lt;InspectorObject&gt;&amp;&amp; result, const ErrorString&amp; invocationError)
</del><ins>+void InspectorBackendDispatcher::sendResponse(long callId, PassRefPtr&lt;InspectorObject&gt; result, const ErrorString&amp; invocationError)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_inspectorFrontendChannel)
</span><span class="cx">         return;
</span><span class="lines">@@ -141,7 +141,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    Ref&lt;InspectorObject&gt; responseMessage = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; responseMessage = InspectorObject::create();
</ins><span class="cx">     responseMessage-&gt;setObject(ASCIILiteral(&quot;result&quot;), result);
</span><span class="cx">     responseMessage-&gt;setInteger(ASCIILiteral(&quot;id&quot;), callId);
</span><span class="cx">     m_inspectorFrontendChannel-&gt;sendMessageToFrontend(responseMessage-&gt;toJSONString());
</span><span class="lines">@@ -152,7 +152,7 @@
</span><span class="cx">     reportProtocolError(callId, errorCode, errorMessage, nullptr);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorBackendDispatcher::reportProtocolError(const long* const callId, CommonErrorCode errorCode, const String&amp; errorMessage, RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt;&amp;&amp; data) const
</del><ins>+void InspectorBackendDispatcher::reportProtocolError(const long* const callId, CommonErrorCode errorCode, const String&amp; errorMessage, PassRefPtr&lt;InspectorArray&gt; data) const
</ins><span class="cx"> {
</span><span class="cx">     static const int errorCodes[] = {
</span><span class="cx">         -32700, // ParseError
</span><span class="lines">@@ -163,21 +163,21 @@
</span><span class="cx">         -32000, // ServerError
</span><span class="cx">     };
</span><span class="cx"> 
</span><del>-    ASSERT_ARG(errorCode, errorCode &gt;= 0);
-    ASSERT_ARG(errorCode, (unsigned)errorCode &lt; WTF_ARRAY_LENGTH(errorCodes));
-    ASSERT_ARG(errorCode, errorCodes[errorCode]);
</del><ins>+    ASSERT(errorCode &gt;= 0);
+    ASSERT((unsigned)errorCode &lt; WTF_ARRAY_LENGTH(errorCodes));
+    ASSERT(errorCodes[errorCode]);
</ins><span class="cx"> 
</span><span class="cx">     if (!m_inspectorFrontendChannel)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    Ref&lt;InspectorObject&gt; error = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; error = InspectorObject::create();
</ins><span class="cx">     error-&gt;setInteger(ASCIILiteral(&quot;code&quot;), errorCodes[errorCode]);
</span><span class="cx">     error-&gt;setString(ASCIILiteral(&quot;message&quot;), errorMessage);
</span><span class="cx">     if (data)
</span><del>-        error-&gt;setArray(ASCIILiteral(&quot;data&quot;), WTF::move(data));
</del><ins>+        error-&gt;setArray(ASCIILiteral(&quot;data&quot;), data);
</ins><span class="cx"> 
</span><del>-    Ref&lt;InspectorObject&gt; message = InspectorObject::create();
-    message-&gt;setObject(ASCIILiteral(&quot;error&quot;), WTF::move(error));
</del><ins>+    RefPtr&lt;InspectorObject&gt; message = InspectorObject::create();
+    message-&gt;setObject(ASCIILiteral(&quot;error&quot;), error.release());
</ins><span class="cx">     if (callId)
</span><span class="cx">         message-&gt;setInteger(ASCIILiteral(&quot;id&quot;), *callId);
</span><span class="cx">     else
</span><span class="lines">@@ -187,36 +187,37 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> template&lt;typename ReturnValueType, typename ValueType, typename DefaultValueType&gt;
</span><del>-static ReturnValueType getPropertyValue(InspectorObject* object, const String&amp; name, bool* out_optionalValueFound, Inspector::Protocol::Array&lt;String&gt;&amp; protocolErrors, DefaultValueType defaultValue, bool (*asMethod)(InspectorValue&amp;, ValueType&amp;), const char* typeName)
</del><ins>+static ReturnValueType getPropertyValue(InspectorObject* object, const String&amp; name, bool* valueFound, InspectorArray* protocolErrors, DefaultValueType defaultValue, bool (*asMethod)(InspectorValue&amp;, ValueType&amp;), const char* typeName)
</ins><span class="cx"> {
</span><del>-    ValueType result = defaultValue;
-    // out_optionalValueFound signals to the caller whether an optional property was found.
-    // if out_optionalValueFound == nullptr, then this is a required property.
-    if (out_optionalValueFound)
-        *out_optionalValueFound = false;
</del><ins>+    ASSERT(protocolErrors);
</ins><span class="cx"> 
</span><ins>+    ValueType value = defaultValue;
+    if (valueFound)
+        *valueFound = false;
+
</ins><span class="cx">     if (!object) {
</span><del>-        if (!out_optionalValueFound)
-            protocolErrors.addItem(String::format(&quot;'params' object must contain required parameter '%s' with type '%s'.&quot;, name.utf8().data(), typeName));
-        return result;
</del><ins>+        if (!valueFound)
+            protocolErrors-&gt;pushString(String::format(&quot;'params' object must contain required parameter '%s' with type '%s'.&quot;, name.utf8().data(), typeName));
+        return value;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    auto findResult = object-&gt;find(name);
-    if (findResult == object-&gt;end()) {
-        if (!out_optionalValueFound)
-            protocolErrors.addItem(String::format(&quot;Parameter '%s' with type '%s' was not found.&quot;, name.utf8().data(), typeName));
-        return result;
</del><ins>+    InspectorObject::const_iterator end = object-&gt;end();
+    InspectorObject::const_iterator valueIterator = object-&gt;find(name);
+    if (valueIterator == end) {
+        if (!valueFound)
+            protocolErrors-&gt;pushString(String::format(&quot;Parameter '%s' with type '%s' was not found.&quot;, name.utf8().data(), typeName));
+        return value;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (!asMethod(*findResult-&gt;value, result)) {
-        protocolErrors.addItem(String::format(&quot;Parameter '%s' has wrong type. It must be '%s'.&quot;, name.utf8().data(), typeName));
-        return result;
</del><ins>+    if (!asMethod(*valueIterator-&gt;value, value)) {
+        protocolErrors-&gt;pushString(String::format(&quot;Parameter '%s' has wrong type. It must be '%s'.&quot;, name.utf8().data(), typeName));
+        return value;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (out_optionalValueFound)
-        *out_optionalValueFound = true;
</del><ins>+    if (valueFound)
+        *valueFound = true;
</ins><span class="cx"> 
</span><del>-    return result;
</del><ins>+    return value;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> struct AsMethodBridges {
</span><span class="lines">@@ -229,39 +230,39 @@
</span><span class="cx">     static bool asValue(InspectorValue&amp; value, RefPtr&lt;InspectorValue&gt;&amp; output) { return value.asValue(output); }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-int InspectorBackendDispatcher::getInteger(InspectorObject* object, const String&amp; name, bool* valueFound, Inspector::Protocol::Array&lt;String&gt;&amp; protocolErrors)
</del><ins>+int InspectorBackendDispatcher::getInteger(InspectorObject* object, const String&amp; name, bool* valueFound, InspectorArray* protocolErrors)
</ins><span class="cx"> {
</span><span class="cx">     return getPropertyValue&lt;int, int, int&gt;(object, name, valueFound, protocolErrors, 0, AsMethodBridges::asInteger, &quot;Integer&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-double InspectorBackendDispatcher::getDouble(InspectorObject* object, const String&amp; name, bool* valueFound, Inspector::Protocol::Array&lt;String&gt;&amp; protocolErrors)
</del><ins>+double InspectorBackendDispatcher::getDouble(InspectorObject* object, const String&amp; name, bool* valueFound, InspectorArray* protocolErrors)
</ins><span class="cx"> {
</span><span class="cx">     return getPropertyValue&lt;double, double, double&gt;(object, name, valueFound, protocolErrors, 0, AsMethodBridges::asDouble, &quot;Number&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-String InspectorBackendDispatcher::getString(InspectorObject* object, const String&amp; name, bool* valueFound, Inspector::Protocol::Array&lt;String&gt;&amp; protocolErrors)
</del><ins>+String InspectorBackendDispatcher::getString(InspectorObject* object, const String&amp; name, bool* valueFound, InspectorArray* protocolErrors)
</ins><span class="cx"> {
</span><span class="cx">     return getPropertyValue&lt;String, String, String&gt;(object, name, valueFound, protocolErrors, &quot;&quot;, AsMethodBridges::asString, &quot;String&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorBackendDispatcher::getBoolean(InspectorObject* object, const String&amp; name, bool* valueFound, Inspector::Protocol::Array&lt;String&gt;&amp; protocolErrors)
</del><ins>+bool InspectorBackendDispatcher::getBoolean(InspectorObject* object, const String&amp; name, bool* valueFound, InspectorArray* protocolErrors)
</ins><span class="cx"> {
</span><span class="cx">     return getPropertyValue&lt;bool, bool, bool&gt;(object, name, valueFound, protocolErrors, false, AsMethodBridges::asBoolean, &quot;Boolean&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;InspectorObject&gt; InspectorBackendDispatcher::getObject(InspectorObject* object, const String&amp; name, bool* valueFound, Inspector::Protocol::Array&lt;String&gt;&amp; protocolErrors)
</del><ins>+PassRefPtr&lt;InspectorObject&gt; InspectorBackendDispatcher::getObject(InspectorObject* object, const String&amp; name, bool* valueFound, InspectorArray* protocolErrors)
</ins><span class="cx"> {
</span><del>-    return getPropertyValue&lt;RefPtr&lt;InspectorObject&gt;, RefPtr&lt;InspectorObject&gt;, InspectorObject*&gt;(object, name, valueFound, protocolErrors, nullptr, AsMethodBridges::asObject, &quot;Object&quot;);
</del><ins>+    return getPropertyValue&lt;PassRefPtr&lt;InspectorObject&gt;, RefPtr&lt;InspectorObject&gt;, InspectorObject*&gt;(object, name, valueFound, protocolErrors, nullptr, AsMethodBridges::asObject, &quot;Object&quot;);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;InspectorArray&gt; InspectorBackendDispatcher::getArray(InspectorObject* object, const String&amp; name, bool* valueFound, Inspector::Protocol::Array&lt;String&gt;&amp; protocolErrors)
</del><ins>+PassRefPtr&lt;InspectorArray&gt; InspectorBackendDispatcher::getArray(InspectorObject* object, const String&amp; name, bool* valueFound, InspectorArray* protocolErrors)
</ins><span class="cx"> {
</span><del>-    return getPropertyValue&lt;RefPtr&lt;InspectorArray&gt;, RefPtr&lt;InspectorArray&gt;, InspectorArray*&gt;(object, name, valueFound, protocolErrors, nullptr, AsMethodBridges::asArray, &quot;Array&quot;);
</del><ins>+    return getPropertyValue&lt;PassRefPtr&lt;InspectorArray&gt;, RefPtr&lt;InspectorArray&gt;, InspectorArray*&gt;(object, name, valueFound, protocolErrors, nullptr, AsMethodBridges::asArray, &quot;Array&quot;);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;InspectorValue&gt; InspectorBackendDispatcher::getValue(InspectorObject* object, const String&amp; name, bool* valueFound, Inspector::Protocol::Array&lt;String&gt;&amp; protocolErrors)
</del><ins>+PassRefPtr&lt;InspectorValue&gt; InspectorBackendDispatcher::getValue(InspectorObject* object, const String&amp; name, bool* valueFound, InspectorArray* protocolErrors)
</ins><span class="cx"> {
</span><del>-    return getPropertyValue&lt;RefPtr&lt;InspectorValue&gt;, RefPtr&lt;InspectorValue&gt;, InspectorValue*&gt;(object, name, valueFound, protocolErrors, nullptr, AsMethodBridges::asValue, &quot;Value&quot;);
</del><ins>+    return getPropertyValue&lt;PassRefPtr&lt;InspectorValue&gt;, RefPtr&lt;InspectorValue&gt;, InspectorValue*&gt;(object, name, valueFound, protocolErrors, nullptr, AsMethodBridges::asValue, &quot;Value&quot;);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace Inspector
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorInspectorBackendDispatcherh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/InspectorBackendDispatcher.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/InspectorBackendDispatcher.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/InspectorBackendDispatcher.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -27,7 +27,7 @@
</span><span class="cx"> #ifndef InspectorBackendDispatcher_h
</span><span class="cx"> #define InspectorBackendDispatcher_h
</span><span class="cx"> 
</span><del>-#include &quot;InspectorProtocolTypes.h&quot;
</del><ins>+#include &quot;InspectorValues.h&quot;
</ins><span class="cx"> #include &lt;wtf/PassRefPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/RefCounted.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="lines">@@ -40,31 +40,30 @@
</span><span class="cx"> 
</span><span class="cx"> class InspectorSupplementalBackendDispatcher : public RefCounted&lt;InspectorSupplementalBackendDispatcher&gt; {
</span><span class="cx"> public:
</span><del>-    InspectorSupplementalBackendDispatcher(InspectorBackendDispatcher&amp; backendDispatcher)
-        : m_backendDispatcher(backendDispatcher) { }
</del><ins>+    InspectorSupplementalBackendDispatcher(InspectorBackendDispatcher* backendDispatcher) : m_backendDispatcher(backendDispatcher) { }
</ins><span class="cx">     virtual ~InspectorSupplementalBackendDispatcher() { }
</span><del>-    virtual void dispatch(long callId, const String&amp; method, Ref&lt;InspectorObject&gt;&amp;&amp; message) = 0;
</del><ins>+    virtual void dispatch(long callId, const String&amp; method, PassRefPtr&lt;InspectorObject&gt; message) = 0;
</ins><span class="cx"> protected:
</span><del>-    Ref&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    RefPtr&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class JS_EXPORT_PRIVATE InspectorBackendDispatcher : public RefCounted&lt;InspectorBackendDispatcher&gt; {
</span><span class="cx"> public:
</span><del>-    static Ref&lt;InspectorBackendDispatcher&gt; create(InspectorFrontendChannel*);
</del><ins>+    static PassRefPtr&lt;InspectorBackendDispatcher&gt; create(InspectorFrontendChannel*);
</ins><span class="cx"> 
</span><span class="cx">     class JS_EXPORT_PRIVATE CallbackBase : public RefCounted&lt;CallbackBase&gt; {
</span><span class="cx">     public:
</span><del>-        CallbackBase(Ref&lt;InspectorBackendDispatcher&gt;&amp;&amp;, int id);
</del><ins>+        CallbackBase(PassRefPtr&lt;InspectorBackendDispatcher&gt;, int id);
</ins><span class="cx"> 
</span><span class="cx">         bool isActive() const;
</span><span class="cx">         void sendFailure(const ErrorString&amp;);
</span><span class="cx">         void disable() { m_alreadySent = true; }
</span><span class="cx"> 
</span><span class="cx">     protected:
</span><del>-        void sendIfActive(RefPtr&lt;InspectorObject&gt;&amp;&amp; partialMessage, const ErrorString&amp; invocationError);
</del><ins>+        void sendIfActive(PassRefPtr&lt;InspectorObject&gt; partialMessage, const ErrorString&amp; invocationError);
</ins><span class="cx"> 
</span><span class="cx">     private:
</span><del>-        Ref&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+        RefPtr&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx">         int m_id;
</span><span class="cx">         bool m_alreadySent;
</span><span class="cx">     };
</span><span class="lines">@@ -83,17 +82,17 @@
</span><span class="cx"> 
</span><span class="cx">     void registerDispatcherForDomain(const String&amp; domain, InspectorSupplementalBackendDispatcher*);
</span><span class="cx">     void dispatch(const String&amp; message);
</span><del>-    void sendResponse(long callId, RefPtr&lt;InspectorObject&gt;&amp;&amp; result, const ErrorString&amp; invocationError);
</del><ins>+    void sendResponse(long callId, PassRefPtr&lt;InspectorObject&gt; result, const ErrorString&amp; invocationError);
</ins><span class="cx">     void reportProtocolError(const long* const callId, CommonErrorCode, const String&amp; errorMessage) const;
</span><del>-    void reportProtocolError(const long* const callId, CommonErrorCode, const String&amp; errorMessage, RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt;&amp;&amp; data) const;
</del><ins>+    void reportProtocolError(const long* const callId, CommonErrorCode, const String&amp; errorMessage, PassRefPtr&lt;InspectorArray&gt; data) const;
</ins><span class="cx"> 
</span><del>-    static int getInteger(InspectorObject*, const String&amp; name, bool* valueFound, Inspector::Protocol::Array&lt;String&gt;&amp; protocolErrors);
-    static double getDouble(InspectorObject*, const String&amp; name, bool* valueFound, Inspector::Protocol::Array&lt;String&gt;&amp; protocolErrors);
-    static String getString(InspectorObject*, const String&amp; name, bool* valueFound, Inspector::Protocol::Array&lt;String&gt;&amp; protocolErrors);
-    static bool getBoolean(InspectorObject*, const String&amp; name, bool* valueFound, Inspector::Protocol::Array&lt;String&gt;&amp; protocolErrors);
-    static RefPtr&lt;InspectorValue&gt; getValue(InspectorObject*, const String&amp; name, bool* valueFound, Inspector::Protocol::Array&lt;String&gt;&amp; protocolErrors);
-    static RefPtr&lt;InspectorObject&gt; getObject(InspectorObject*, const String&amp; name, bool* valueFound, Inspector::Protocol::Array&lt;String&gt;&amp; protocolErrors);
-    static RefPtr&lt;InspectorArray&gt; getArray(InspectorObject*, const String&amp; name, bool* valueFound, Inspector::Protocol::Array&lt;String&gt;&amp; protocolErrors);
</del><ins>+    static int getInteger(InspectorObject*, const String&amp; name, bool* valueFound, InspectorArray* protocolErrors);
+    static double getDouble(InspectorObject*, const String&amp; name, bool* valueFound, InspectorArray* protocolErrors);
+    static String getString(InspectorObject*, const String&amp; name, bool* valueFound, InspectorArray* protocolErrors);
+    static bool getBoolean(InspectorObject*, const String&amp; name, bool* valueFound, InspectorArray* protocolErrors);
+    static PassRefPtr&lt;InspectorValue&gt; getValue(InspectorObject*, const String&amp; name, bool* valueFound, InspectorArray* protocolErrors);
+    static PassRefPtr&lt;InspectorObject&gt; getObject(InspectorObject*, const String&amp; name, bool* valueFound, InspectorArray* protocolErrors);
+    static PassRefPtr&lt;InspectorArray&gt; getArray(InspectorObject*, const String&amp; name, bool* valueFound, InspectorArray* protocolErrors);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     InspectorBackendDispatcher(InspectorFrontendChannel* inspectorFrontendChannel) : m_inspectorFrontendChannel(inspectorFrontendChannel) { }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorInspectorEnvironmenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/InspectorEnvironment.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/InspectorEnvironment.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/InspectorEnvironment.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -51,7 +51,7 @@
</span><span class="cx">     virtual void willCallInjectedScriptFunction(JSC::ExecState*, const String&amp; scriptName, int scriptLine) = 0;
</span><span class="cx">     virtual void didCallInjectedScriptFunction(JSC::ExecState*) = 0;
</span><span class="cx">     virtual void frontendInitialized() = 0;
</span><del>-    virtual Ref&lt;WTF::Stopwatch&gt; executionStopwatch() = 0;
</del><ins>+    virtual PassRefPtr&lt;WTF::Stopwatch&gt; executionStopwatch() = 0;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace Inspector
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorInspectorProtocolTypesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/InspectorProtocolTypes.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/InspectorProtocolTypes.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/InspectorProtocolTypes.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -31,13 +31,12 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InspectorValues.h&quot;
</span><span class="cx"> #include &lt;wtf/Assertions.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><span class="cx"> namespace Protocol {
</span><span class="cx"> 
</span><del>-template&lt;typename T&gt; struct BindingTraits;
-
</del><span class="cx"> template&lt;typename T&gt;
</span><span class="cx"> class OptOutput {
</span><span class="cx"> public:
</span><span class="lines">@@ -64,44 +63,128 @@
</span><span class="cx">     WTF_MAKE_NONCOPYABLE(OptOutput);
</span><span class="cx"> };
</span><span class="cx"> 
</span><ins>+// This class provides &quot;Traits&quot; type for the input type T. It is programmed using C++ template specialization
+// technique. By default it simply takes &quot;ItemTraits&quot; type from T, but it doesn't work with the base types.
</ins><span class="cx"> template&lt;typename T&gt;
</span><ins>+struct ArrayItemHelper {
+    typedef typename T::ItemTraits Traits;
+};
+
+template&lt;typename T&gt;
</ins><span class="cx"> class Array : public InspectorArrayBase {
</span><span class="cx"> private:
</span><span class="cx">     Array() { }
</span><span class="cx"> 
</span><del>-    InspectorArray&amp; openAccessors()
</del><ins>+    InspectorArray* openAccessors()
</ins><span class="cx">     {
</span><span class="cx">         COMPILE_ASSERT(sizeof(InspectorArray) == sizeof(Array&lt;T&gt;), cannot_cast);
</span><del>-        return *static_cast&lt;InspectorArray*&gt;(static_cast&lt;InspectorArrayBase*&gt;(this));
</del><ins>+        return static_cast&lt;InspectorArray*&gt;(static_cast&lt;InspectorArrayBase*&gt;(this));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> public:
</span><del>-    void addItem(Ref&lt;T&gt;&amp;&amp; value)
</del><ins>+    void addItem(PassRefPtr&lt;T&gt; value)
</ins><span class="cx">     {
</span><del>-        openAccessors().pushValue(&amp;value.get());
</del><ins>+        ArrayItemHelper&lt;T&gt;::Traits::pushRefPtr(this-&gt;openAccessors(), value);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void addItem(RefPtr&lt;T&gt;&amp;&amp; value)
</del><ins>+    void addItem(T value)
</ins><span class="cx">     {
</span><del>-        openAccessors().pushValue(WTF::move(value));
</del><ins>+        ArrayItemHelper&lt;T&gt;::Traits::pushRaw(this-&gt;openAccessors(), value);
</ins><span class="cx">     }
</span><del>-    
-    void addItem(const String&amp; value)
</del><ins>+
+    static PassRefPtr&lt;Array&lt;T&gt;&gt; create()
</ins><span class="cx">     {
</span><del>-        openAccessors().pushString(value);
</del><ins>+        return adoptRef(new Array&lt;T&gt;());
</ins><span class="cx">     }
</span><ins>+};
</ins><span class="cx"> 
</span><del>-    void addItem(int value)
</del><ins>+struct StructItemTraits {
+    static void pushRefPtr(InspectorArray* array, PassRefPtr&lt;InspectorValue&gt; value)
</ins><span class="cx">     {
</span><del>-        openAccessors().pushInteger(value);
</del><ins>+        array-&gt;pushValue(value);
</ins><span class="cx">     }
</span><del>-    
-    static Ref&lt;Array&lt;T&gt;&gt; create()
-    {
-        return adoptRef(*new Array&lt;T&gt;());
-    }
</del><span class="cx"> };
</span><span class="cx"> 
</span><ins>+template&lt;&gt;
+struct ArrayItemHelper&lt;String&gt; {
+    struct Traits {
+        static void pushRaw(InspectorArray* array, const String&amp; value)
+        {
+            array-&gt;pushString(value);
+        }
+    };
+};
+
+template&lt;&gt;
+struct ArrayItemHelper&lt;int&gt; {
+    struct Traits {
+        static void pushRaw(InspectorArray* array, int value)
+        {
+            array-&gt;pushInteger(value);
+        }
+    };
+};
+
+template&lt;&gt;
+struct ArrayItemHelper&lt;double&gt; {
+    struct Traits {
+        static void pushRaw(InspectorArray* array, double value)
+        {
+            array-&gt;pushDouble(value);
+        }
+    };
+};
+
+template&lt;&gt;
+struct ArrayItemHelper&lt;bool&gt; {
+    struct Traits {
+        static void pushRaw(InspectorArray* array, bool value)
+        {
+            array-&gt;pushBoolean(value);
+        }
+    };
+};
+
+template&lt;&gt;
+struct ArrayItemHelper&lt;InspectorValue&gt; {
+    struct Traits {
+        static void pushRefPtr(InspectorArray* array, PassRefPtr&lt;InspectorValue&gt; value)
+        {
+            array-&gt;pushValue(value);
+        }
+    };
+};
+
+template&lt;&gt;
+struct ArrayItemHelper&lt;InspectorObject&gt; {
+    struct Traits {
+        static void pushRefPtr(InspectorArray* array, PassRefPtr&lt;InspectorValue&gt; value)
+        {
+            array-&gt;pushValue(value);
+        }
+    };
+};
+
+template&lt;&gt;
+struct ArrayItemHelper&lt;InspectorArray&gt; {
+    struct Traits {
+        static void pushRefPtr(InspectorArray* array, PassRefPtr&lt;InspectorArray&gt; value)
+        {
+            array-&gt;pushArray(value);
+        }
+    };
+};
+
+template&lt;typename T&gt;
+struct ArrayItemHelper&lt;Protocol::Array&lt;T&gt;&gt; {
+    struct Traits {
+        static void pushRefPtr(InspectorArray* array, PassRefPtr&lt;Protocol::Array&lt;T&gt;&gt; value)
+        {
+            array-&gt;pushValue(value);
+        }
+    };
+};
+
</ins><span class="cx"> // Helper methods for Protocol and other Inspector types are provided by
</span><span class="cx"> // specializations of BindingTraits&lt;T&gt;. Some are generated for protocol types.
</span><span class="cx"> 
</span><span class="lines">@@ -109,9 +192,8 @@
</span><span class="cx"> struct BindingTraits {
</span><span class="cx">     typedef T BindingType;
</span><span class="cx"> 
</span><del>-    static void push(InspectorArray&amp;, BindingType&amp;);
</del><span class="cx">     static InspectorValue::Type typeTag();
</span><del>-    static RefPtr&lt;T&gt; runtimeCast(RefPtr&lt;InspectorObject&gt;&amp;&amp;);
</del><ins>+    static PassRefPtr&lt;T&gt; runtimeCast(PassRefPtr&lt;InspectorObject&gt;);
</ins><span class="cx"> #if !ASSERT_DISABLED
</span><span class="cx">     static void assertValueHasExpectedType(InspectorValue*);
</span><span class="cx"> #endif // !ASSERT_DISABLED
</span><span class="lines">@@ -122,16 +204,15 @@
</span><span class="cx"> #if !ASSERT_DISABLED
</span><span class="cx">     static void assertValueHasExpectedType(InspectorValue* value)
</span><span class="cx">     {
</span><del>-        ASSERT_ARG(value, value &amp;&amp; value-&gt;type() == TYPE);
</del><ins>+        ASSERT(value-&gt;type() == TYPE);
</ins><span class="cx">     }
</span><span class="cx"> #endif // !ASSERT_DISABLED
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> template&lt;typename T&gt;
</span><span class="cx"> struct BindingTraits&lt;Protocol::Array&lt;T&gt;&gt; {
</span><del>-    static RefPtr&lt;Array&lt;T&gt;&gt; runtimeCast(RefPtr&lt;InspectorValue&gt;&amp;&amp; value)
</del><ins>+    static PassRefPtr&lt;Array&lt;T&gt;&gt; runtimeCast(PassRefPtr&lt;InspectorValue&gt; value)
</ins><span class="cx">     {
</span><del>-        ASSERT_ARG(value, value);
</del><span class="cx">         RefPtr&lt;InspectorArray&gt; array;
</span><span class="cx">         bool castSucceeded = value-&gt;asArray(array);
</span><span class="cx">         ASSERT_UNUSED(castSucceeded, castSucceeded);
</span><span class="lines">@@ -145,7 +226,6 @@
</span><span class="cx"> #if !ASSERT_DISABLED
</span><span class="cx">     static void assertValueHasExpectedType(InspectorValue* value)
</span><span class="cx">     {
</span><del>-        ASSERT_ARG(value, value);
</del><span class="cx">         RefPtr&lt;InspectorArray&gt; array;
</span><span class="cx">         bool castSucceeded = value-&gt;asArray(array);
</span><span class="cx">         ASSERT_UNUSED(castSucceeded, castSucceeded);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorInspectorValuescpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/InspectorValues.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/InspectorValues.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/InspectorValues.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -347,7 +347,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;InspectorValue&gt; buildValue(const UChar* start, const UChar* end, const UChar** valueTokenEnd, int depth)
</del><ins>+PassRefPtr&lt;InspectorValue&gt; buildValue(const UChar* start, const UChar* end, const UChar** valueTokenEnd, int depth)
</ins><span class="cx"> {
</span><span class="cx">     if (depth &gt; stackLimit)
</span><span class="cx">         return nullptr;
</span><span class="lines">@@ -385,14 +385,14 @@
</span><span class="cx">         break;
</span><span class="cx">     }
</span><span class="cx">     case ARRAY_BEGIN: {
</span><del>-        Ref&lt;InspectorArray&gt; array = InspectorArray::create();
</del><ins>+        RefPtr&lt;InspectorArray&gt; array = InspectorArray::create();
</ins><span class="cx">         start = tokenEnd;
</span><span class="cx">         token = parseToken(start, end, &amp;tokenStart, &amp;tokenEnd);
</span><span class="cx">         while (token != ARRAY_END) {
</span><span class="cx">             RefPtr&lt;InspectorValue&gt; arrayNode = buildValue(start, end, &amp;tokenEnd, depth + 1);
</span><span class="cx">             if (!arrayNode)
</span><span class="cx">                 return nullptr;
</span><del>-            array-&gt;pushValue(WTF::move(arrayNode));
</del><ins>+            array-&gt;pushValue(arrayNode);
</ins><span class="cx"> 
</span><span class="cx">             // After a list value, we expect a comma or the end of the list.
</span><span class="cx">             start = tokenEnd;
</span><span class="lines">@@ -409,11 +409,11 @@
</span><span class="cx">         }
</span><span class="cx">         if (token != ARRAY_END)
</span><span class="cx">             return nullptr;
</span><del>-        result = WTF::move(array);
</del><ins>+        result = array.release();
</ins><span class="cx">         break;
</span><span class="cx">     }
</span><span class="cx">     case OBJECT_BEGIN: {
</span><del>-        Ref&lt;InspectorObject&gt; object = InspectorObject::create();
</del><ins>+        RefPtr&lt;InspectorObject&gt; object = InspectorObject::create();
</ins><span class="cx">         start = tokenEnd;
</span><span class="cx">         token = parseToken(start, end, &amp;tokenStart, &amp;tokenEnd);
</span><span class="cx">         while (token != OBJECT_END) {
</span><span class="lines">@@ -432,7 +432,7 @@
</span><span class="cx">             RefPtr&lt;InspectorValue&gt; value = buildValue(start, end, &amp;tokenEnd, depth + 1);
</span><span class="cx">             if (!value)
</span><span class="cx">                 return nullptr;
</span><del>-            object-&gt;setValue(key, WTF::move(value));
</del><ins>+            object-&gt;setValue(key, value);
</ins><span class="cx">             start = tokenEnd;
</span><span class="cx"> 
</span><span class="cx">             // After a key/value pair, we expect a comma or the end of the
</span><span class="lines">@@ -450,7 +450,7 @@
</span><span class="cx">         }
</span><span class="cx">         if (token != OBJECT_END)
</span><span class="cx">             return nullptr;
</span><del>-        result = WTF::move(object);
</del><ins>+        result = object.release();
</ins><span class="cx">         break;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -739,8 +739,8 @@
</span><span class="cx"> 
</span><span class="cx"> bool InspectorObjectBase::getBoolean(const String&amp; name, bool&amp; output) const
</span><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorValue&gt; value;
-    if (!getValue(name, value))
</del><ins>+    RefPtr&lt;InspectorValue&gt; value = get(name);
+    if (!value)
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     return value-&gt;asBoolean(output);
</span><span class="lines">@@ -748,39 +748,40 @@
</span><span class="cx"> 
</span><span class="cx"> bool InspectorObjectBase::getString(const String&amp; name, String&amp; output) const
</span><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorValue&gt; value;
-    if (!getValue(name, value))
</del><ins>+    RefPtr&lt;InspectorValue&gt; value = get(name);
+    if (!value)
</ins><span class="cx">         return false;
</span><del>-
</del><span class="cx">     return value-&gt;asString(output);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorObjectBase::getObject(const String&amp; name, RefPtr&lt;InspectorObject&gt;&amp; output) const
</del><ins>+PassRefPtr&lt;InspectorObject&gt; InspectorObjectBase::getObject(const String&amp; name) const
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorValue&gt; value;
-    if (!getValue(name, value))
-        return false;
</del><ins>+    PassRefPtr&lt;InspectorValue&gt; value = get(name);
+    if (!value)
+        return nullptr;
</ins><span class="cx"> 
</span><del>-    return value-&gt;asObject(output);
</del><ins>+    RefPtr&lt;InspectorObject&gt; result;
+    value-&gt;asObject(result);
+    return result.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorObjectBase::getArray(const String&amp; name, RefPtr&lt;InspectorArray&gt;&amp; output) const
</del><ins>+PassRefPtr&lt;InspectorArray&gt; InspectorObjectBase::getArray(const String&amp; name) const
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorValue&gt; value;
-    if (!getValue(name, value))
-        return false;
</del><ins>+    PassRefPtr&lt;InspectorValue&gt; value = get(name);
+    if (!value)
+        return nullptr;
</ins><span class="cx"> 
</span><del>-    return value-&gt;asArray(output);
</del><ins>+    RefPtr&lt;InspectorArray&gt; result;
+    value-&gt;asArray(result);
+    return result.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorObjectBase::getValue(const String&amp; name, RefPtr&lt;InspectorValue&gt;&amp; output) const
</del><ins>+PassRefPtr&lt;InspectorValue&gt; InspectorObjectBase::get(const String&amp; name) const
</ins><span class="cx"> {
</span><del>-    Dictionary::const_iterator findResult = m_data.find(name);
-    if (findResult == m_data.end())
-        return false;
-
-    output = findResult-&gt;value;
-    return true;
</del><ins>+    Dictionary::const_iterator it = m_data.find(name);
+    if (it == m_data.end())
+        return nullptr;
+    return it-&gt;value;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorObjectBase::remove(const String&amp; name)
</span><span class="lines">@@ -798,13 +799,13 @@
</span><span class="cx"> {
</span><span class="cx">     output.append('{');
</span><span class="cx">     for (size_t i = 0; i &lt; m_order.size(); ++i) {
</span><del>-        auto findResult = m_data.find(m_order[i]);
-        ASSERT(findResult != m_data.end());
</del><ins>+        Dictionary::const_iterator it = m_data.find(m_order[i]);
+        ASSERT(it != m_data.end());
</ins><span class="cx">         if (i)
</span><span class="cx">             output.append(',');
</span><del>-        doubleQuoteString(findResult-&gt;key, output);
</del><ins>+        doubleQuoteString(it-&gt;key, output);
</ins><span class="cx">         output.append(':');
</span><del>-        findResult-&gt;value-&gt;writeJSON(output);
</del><ins>+        it-&gt;value-&gt;writeJSON(output);
</ins><span class="cx">     }
</span><span class="cx">     output.append('}');
</span><span class="cx"> }
</span><span class="lines">@@ -844,50 +845,50 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;InspectorValue&gt; InspectorArrayBase::get(size_t index)
</del><ins>+PassRefPtr&lt;InspectorValue&gt; InspectorArrayBase::get(size_t index)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_WITH_SECURITY_IMPLICATION(index &lt; m_data.size());
</span><span class="cx">     return m_data[index];
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorObject&gt; InspectorObject::create()
</del><ins>+PassRefPtr&lt;InspectorObject&gt; InspectorObject::create()
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new InspectorObject);
</del><ins>+    return adoptRef(new InspectorObject);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorArray&gt; InspectorArray::create()
</del><ins>+PassRefPtr&lt;InspectorArray&gt; InspectorArray::create()
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new InspectorArray);
</del><ins>+    return adoptRef(new InspectorArray);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorValue&gt; InspectorValue::null()
</del><ins>+PassRefPtr&lt;InspectorValue&gt; InspectorValue::null()
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new InspectorValue);
</del><ins>+    return adoptRef(new InspectorValue);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorString&gt; InspectorString::create(const String&amp; value)
</del><ins>+PassRefPtr&lt;InspectorString&gt; InspectorString::create(const String&amp; value)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new InspectorString(value));
</del><ins>+    return adoptRef(new InspectorString(value));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorString&gt; InspectorString::create(const char* value)
</del><ins>+PassRefPtr&lt;InspectorString&gt; InspectorString::create(const char* value)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new InspectorString(value));
</del><ins>+    return adoptRef(new InspectorString(value));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorBasicValue&gt; InspectorBasicValue::create(bool value)
</del><ins>+PassRefPtr&lt;InspectorBasicValue&gt; InspectorBasicValue::create(bool value)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new InspectorBasicValue(value));
</del><ins>+    return adoptRef(new InspectorBasicValue(value));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorBasicValue&gt; InspectorBasicValue::create(int value)
</del><ins>+PassRefPtr&lt;InspectorBasicValue&gt; InspectorBasicValue::create(int value)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new InspectorBasicValue(value));
</del><ins>+    return adoptRef(new InspectorBasicValue(value));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorBasicValue&gt; InspectorBasicValue::create(double value)
</del><ins>+PassRefPtr&lt;InspectorBasicValue&gt; InspectorBasicValue::create(double value)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new InspectorBasicValue(value));
</del><ins>+    return adoptRef(new InspectorBasicValue(value));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace Inspector
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorInspectorValuesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/InspectorValues.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/InspectorValues.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/InspectorValues.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx"> #ifndef InspectorValues_h
</span><span class="cx"> #define InspectorValues_h
</span><span class="cx"> 
</span><del>-#include &lt;wtf/Assertions.h&gt;
</del><ins>+#include &lt;wtf/Forward.h&gt;
</ins><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/RefCounted.h&gt;
</span><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="lines">@@ -54,7 +54,7 @@
</span><span class="cx">         : m_type(Type::Null) { }
</span><span class="cx">     virtual ~InspectorValue() { }
</span><span class="cx"> 
</span><del>-    static Ref&lt;InspectorValue&gt; null();
</del><ins>+    static PassRefPtr&lt;InspectorValue&gt; null();
</ins><span class="cx"> 
</span><span class="cx">     enum class Type {
</span><span class="cx">         Null = 0,
</span><span class="lines">@@ -99,9 +99,9 @@
</span><span class="cx"> class JS_EXPORT_PRIVATE InspectorBasicValue : public InspectorValue {
</span><span class="cx"> public:
</span><span class="cx"> 
</span><del>-    static Ref&lt;InspectorBasicValue&gt; create(bool);
-    static Ref&lt;InspectorBasicValue&gt; create(int);
-    static Ref&lt;InspectorBasicValue&gt; create(double);
</del><ins>+    static PassRefPtr&lt;InspectorBasicValue&gt; create(bool);
+    static PassRefPtr&lt;InspectorBasicValue&gt; create(int);
+    static PassRefPtr&lt;InspectorBasicValue&gt; create(double);
</ins><span class="cx"> 
</span><span class="cx">     virtual bool asBoolean(bool&amp;) const override;
</span><span class="cx">     // Numbers from the frontend are always parsed as doubles, so we allow
</span><span class="lines">@@ -138,8 +138,8 @@
</span><span class="cx"> 
</span><span class="cx"> class JS_EXPORT_PRIVATE InspectorString : public InspectorValue {
</span><span class="cx"> public:
</span><del>-    static Ref&lt;InspectorString&gt; create(const String&amp;);
-    static Ref&lt;InspectorString&gt; create(const char*);
</del><ins>+    static PassRefPtr&lt;InspectorString&gt; create(const String&amp;);
+    static PassRefPtr&lt;InspectorString&gt; create(const char*);
</ins><span class="cx"> 
</span><span class="cx">     virtual bool asString(String&amp; output) const override;
</span><span class="cx"> 
</span><span class="lines">@@ -177,9 +177,9 @@
</span><span class="cx">     void setInteger(const String&amp; name, int);
</span><span class="cx">     void setDouble(const String&amp; name, double);
</span><span class="cx">     void setString(const String&amp; name, const String&amp;);
</span><del>-    void setValue(const String&amp; name, RefPtr&lt;InspectorValue&gt;&amp;&amp;);
-    void setObject(const String&amp; name, RefPtr&lt;InspectorObjectBase&gt;&amp;&amp;);
-    void setArray(const String&amp; name, RefPtr&lt;InspectorArrayBase&gt;&amp;&amp;);
</del><ins>+    void setValue(const String&amp; name, PassRefPtr&lt;InspectorValue&gt;);
+    void setObject(const String&amp; name, PassRefPtr&lt;InspectorObjectBase&gt;);
+    void setArray(const String&amp; name, PassRefPtr&lt;InspectorArrayBase&gt;);
</ins><span class="cx"> 
</span><span class="cx">     iterator find(const String&amp; name);
</span><span class="cx">     const_iterator find(const String&amp; name) const;
</span><span class="lines">@@ -188,25 +188,23 @@
</span><span class="cx">     bool getBoolean(const String&amp; name, bool&amp; output) const;
</span><span class="cx">     template&lt;class T&gt; bool getDouble(const String&amp; name, T&amp; output) const
</span><span class="cx">     {
</span><del>-        RefPtr&lt;InspectorValue&gt; value;
-        if (!getValue(name, value))
</del><ins>+        RefPtr&lt;InspectorValue&gt; value = get(name);
+        if (!value)
</ins><span class="cx">             return false;
</span><del>-
</del><span class="cx">         return value-&gt;asDouble(output);
</span><span class="cx">     }
</span><span class="cx">     template&lt;class T&gt; bool getInteger(const String&amp; name, T&amp; output) const
</span><span class="cx">     {
</span><del>-        RefPtr&lt;InspectorValue&gt; value;
-        if (!getValue(name, value))
</del><ins>+        RefPtr&lt;InspectorValue&gt; value = get(name);
+        if (!value)
</ins><span class="cx">             return false;
</span><del>-
</del><span class="cx">         return value-&gt;asInteger(output);
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     bool getString(const String&amp; name, String&amp; output) const;
</span><del>-    bool getObject(const String&amp; name, RefPtr&lt;InspectorObject&gt;&amp;) const;
-    bool getArray(const String&amp; name, RefPtr&lt;InspectorArray&gt;&amp;) const;
-    bool getValue(const String&amp; name, RefPtr&lt;InspectorValue&gt;&amp;) const;
</del><ins>+    PassRefPtr&lt;InspectorObject&gt; getObject(const String&amp; name) const;
+    PassRefPtr&lt;InspectorArray&gt; getArray(const String&amp; name) const;
+    PassRefPtr&lt;InspectorValue&gt; get(const String&amp; name) const;
</ins><span class="cx"> 
</span><span class="cx">     void remove(const String&amp; name);
</span><span class="cx"> 
</span><span class="lines">@@ -229,7 +227,7 @@
</span><span class="cx"> 
</span><span class="cx"> class InspectorObject : public InspectorObjectBase {
</span><span class="cx"> public:
</span><del>-    static JS_EXPORT_PRIVATE Ref&lt;InspectorObject&gt; create();
</del><ins>+    static JS_EXPORT_PRIVATE PassRefPtr&lt;InspectorObject&gt; create();
</ins><span class="cx"> 
</span><span class="cx">     using InspectorObjectBase::asObject;
</span><span class="cx"> 
</span><span class="lines">@@ -248,7 +246,7 @@
</span><span class="cx">     using InspectorObjectBase::getString;
</span><span class="cx">     using InspectorObjectBase::getObject;
</span><span class="cx">     using InspectorObjectBase::getArray;
</span><del>-    using InspectorObjectBase::getValue;
</del><ins>+    using InspectorObjectBase::get;
</ins><span class="cx"> 
</span><span class="cx">     using InspectorObjectBase::remove;
</span><span class="cx"> 
</span><span class="lines">@@ -275,11 +273,11 @@
</span><span class="cx">     void pushInteger(int);
</span><span class="cx">     void pushDouble(double);
</span><span class="cx">     void pushString(const String&amp;);
</span><del>-    void pushValue(RefPtr&lt;InspectorValue&gt;&amp;&amp;);
-    void pushObject(RefPtr&lt;InspectorObjectBase&gt;&amp;&amp;);
-    void pushArray(RefPtr&lt;InspectorArrayBase&gt;&amp;&amp;);
</del><ins>+    void pushValue(PassRefPtr&lt;InspectorValue&gt;);
+    void pushObject(PassRefPtr&lt;InspectorObject&gt;);
+    void pushArray(PassRefPtr&lt;InspectorArray&gt;);
</ins><span class="cx"> 
</span><del>-    RefPtr&lt;InspectorValue&gt; get(size_t index);
</del><ins>+    PassRefPtr&lt;InspectorValue&gt; get(size_t index);
</ins><span class="cx"> 
</span><span class="cx">     virtual void writeJSON(StringBuilder&amp; output) const override;
</span><span class="cx"> 
</span><span class="lines">@@ -297,7 +295,7 @@
</span><span class="cx"> 
</span><span class="cx"> class InspectorArray : public InspectorArrayBase {
</span><span class="cx"> public:
</span><del>-    static JS_EXPORT_PRIVATE Ref&lt;InspectorArray&gt; create();
</del><ins>+    static JS_EXPORT_PRIVATE PassRefPtr&lt;InspectorArray&gt; create();
</ins><span class="cx"> 
</span><span class="cx">     using InspectorArrayBase::asArray;
</span><span class="cx"> 
</span><span class="lines">@@ -346,24 +344,24 @@
</span><span class="cx">     setValue(name, InspectorString::create(value));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorObjectBase::setValue(const String&amp; name, RefPtr&lt;InspectorValue&gt;&amp;&amp; value)
</del><ins>+inline void InspectorObjectBase::setValue(const String&amp; name, PassRefPtr&lt;InspectorValue&gt; value)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(value);
</span><del>-    if (m_data.set(name, WTF::move(value)).isNewEntry)
</del><ins>+    if (m_data.set(name, value).isNewEntry)
</ins><span class="cx">         m_order.append(name);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorObjectBase::setObject(const String&amp; name, RefPtr&lt;InspectorObjectBase&gt;&amp;&amp; value)
</del><ins>+inline void InspectorObjectBase::setObject(const String&amp; name, PassRefPtr&lt;InspectorObjectBase&gt; value)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(value);
</span><del>-    if (m_data.set(name, WTF::move(value)).isNewEntry)
</del><ins>+    if (m_data.set(name, value).isNewEntry)
</ins><span class="cx">         m_order.append(name);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorObjectBase::setArray(const String&amp; name, RefPtr&lt;InspectorArrayBase&gt;&amp;&amp; value)
</del><ins>+inline void InspectorObjectBase::setArray(const String&amp; name, PassRefPtr&lt;InspectorArrayBase&gt; value)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(value);
</span><del>-    if (m_data.set(name, WTF::move(value)).isNewEntry)
</del><ins>+    if (m_data.set(name, value).isNewEntry)
</ins><span class="cx">         m_order.append(name);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -387,22 +385,22 @@
</span><span class="cx">     m_data.append(InspectorString::create(value));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorArrayBase::pushValue(RefPtr&lt;InspectorValue&gt;&amp;&amp; value)
</del><ins>+inline void InspectorArrayBase::pushValue(PassRefPtr&lt;InspectorValue&gt; value)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(value);
</span><del>-    m_data.append(WTF::move(value));
</del><ins>+    m_data.append(value);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorArrayBase::pushObject(RefPtr&lt;InspectorObjectBase&gt;&amp;&amp; value)
</del><ins>+inline void InspectorArrayBase::pushObject(PassRefPtr&lt;InspectorObject&gt; value)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(value);
</span><del>-    m_data.append(WTF::move(value));
</del><ins>+    m_data.append(value);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorArrayBase::pushArray(RefPtr&lt;InspectorArrayBase&gt;&amp;&amp; value)
</del><ins>+inline void InspectorArrayBase::pushArray(PassRefPtr&lt;InspectorArray&gt; value)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(value);
</span><del>-    m_data.append(WTF::move(value));
</del><ins>+    m_data.append(value);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace Inspector
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorJSGlobalObjectConsoleClientcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/JSGlobalObjectConsoleClient.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/JSGlobalObjectConsoleClient.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/JSGlobalObjectConsoleClient.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -75,18 +75,19 @@
</span><span class="cx">     });
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void JSGlobalObjectConsoleClient::messageWithTypeAndLevel(MessageType type, MessageLevel level, JSC::ExecState* exec, RefPtr&lt;ScriptArguments&gt;&amp;&amp; arguments)
</del><ins>+void JSGlobalObjectConsoleClient::messageWithTypeAndLevel(MessageType type, MessageLevel level, JSC::ExecState* exec, PassRefPtr&lt;ScriptArguments&gt; prpArguments)
</ins><span class="cx"> {
</span><ins>+    RefPtr&lt;ScriptArguments&gt; arguments = prpArguments;
</ins><span class="cx"> 
</span><span class="cx">     if (JSGlobalObjectConsoleClient::logToSystemConsole())
</span><del>-        ConsoleClient::printConsoleMessageWithArguments(MessageSource::ConsoleAPI, type, level, exec, arguments.copyRef());
</del><ins>+        ConsoleClient::printConsoleMessageWithArguments(MessageSource::ConsoleAPI, type, level, exec, arguments);
</ins><span class="cx"> 
</span><span class="cx">     String message;
</span><span class="cx">     arguments-&gt;getFirstArgumentAsString(message);
</span><del>-    m_consoleAgent-&gt;addMessageToConsole(MessageSource::ConsoleAPI, type, level, message, exec, WTF::move(arguments));
</del><ins>+    m_consoleAgent-&gt;addMessageToConsole(MessageSource::ConsoleAPI, type, level, message, exec, arguments.release());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void JSGlobalObjectConsoleClient::count(ExecState* exec, RefPtr&lt;ScriptArguments&gt;&amp;&amp; arguments)
</del><ins>+void JSGlobalObjectConsoleClient::count(ExecState* exec, PassRefPtr&lt;ScriptArguments&gt; arguments)
</ins><span class="cx"> {
</span><span class="cx">     m_consoleAgent-&gt;count(exec, arguments);
</span><span class="cx"> }
</span><span class="lines">@@ -109,10 +110,10 @@
</span><span class="cx"> void JSGlobalObjectConsoleClient::timeEnd(ExecState* exec, const String&amp; title)
</span><span class="cx"> {
</span><span class="cx">     RefPtr&lt;ScriptCallStack&gt; callStack(createScriptCallStackForConsole(exec, 1));
</span><del>-    m_consoleAgent-&gt;stopTiming(title, WTF::move(callStack));
</del><ins>+    m_consoleAgent-&gt;stopTiming(title, callStack.release());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void JSGlobalObjectConsoleClient::timeStamp(ExecState*, RefPtr&lt;ScriptArguments&gt;&amp;&amp;)
</del><ins>+void JSGlobalObjectConsoleClient::timeStamp(ExecState*, PassRefPtr&lt;ScriptArguments&gt;)
</ins><span class="cx"> {
</span><span class="cx">     // FIXME: JSContext inspection needs a timeline.
</span><span class="cx">     warnUnimplemented(ASCIILiteral(&quot;console.timeStamp&quot;));
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorJSGlobalObjectConsoleClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/JSGlobalObjectConsoleClient.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/JSGlobalObjectConsoleClient.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/JSGlobalObjectConsoleClient.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -43,17 +43,17 @@
</span><span class="cx">     static void initializeLogToSystemConsole();
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    virtual void messageWithTypeAndLevel(MessageType, MessageLevel, JSC::ExecState*, RefPtr&lt;ScriptArguments&gt;&amp;&amp;) override;
-    virtual void count(JSC::ExecState*, RefPtr&lt;ScriptArguments&gt;&amp;&amp;) override;
</del><ins>+    virtual void messageWithTypeAndLevel(MessageType, MessageLevel, JSC::ExecState*, PassRefPtr&lt;ScriptArguments&gt;) override;
+    virtual void count(JSC::ExecState*, PassRefPtr&lt;ScriptArguments&gt;) override;
</ins><span class="cx">     virtual void profile(JSC::ExecState*, const String&amp; title) override;
</span><span class="cx">     virtual void profileEnd(JSC::ExecState*, const String&amp; title) override;
</span><span class="cx">     virtual void time(JSC::ExecState*, const String&amp; title) override;
</span><span class="cx">     virtual void timeEnd(JSC::ExecState*, const String&amp; title) override;
</span><del>-    virtual void timeStamp(JSC::ExecState*, RefPtr&lt;ScriptArguments&gt;&amp;&amp;) override;
</del><ins>+    virtual void timeStamp(JSC::ExecState*, PassRefPtr&lt;ScriptArguments&gt;) override;
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     void warnUnimplemented(const String&amp; method);
</span><del>-    void internalAddMessage(MessageType, MessageLevel, JSC::ExecState*, RefPtr&lt;ScriptArguments&gt;&amp;&amp;);
</del><ins>+    void internalAddMessage(MessageType, MessageLevel, JSC::ExecState*, PassRefPtr&lt;ScriptArguments&gt;);
</ins><span class="cx"> 
</span><span class="cx">     InspectorConsoleAgent* m_consoleAgent;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorJSGlobalObjectInspectorControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -222,9 +222,9 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;Stopwatch&gt; JSGlobalObjectInspectorController::executionStopwatch()
</del><ins>+PassRefPtr&lt;Stopwatch&gt; JSGlobalObjectInspectorController::executionStopwatch()
</ins><span class="cx"> {
</span><del>-    return m_executionStopwatch.copyRef();
</del><ins>+    return m_executionStopwatch;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorJSGlobalObjectInspectorControllerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -93,7 +93,7 @@
</span><span class="cx">     virtual void willCallInjectedScriptFunction(JSC::ExecState*, const String&amp;, int) override { }
</span><span class="cx">     virtual void didCallInjectedScriptFunction(JSC::ExecState*) override { }
</span><span class="cx">     virtual void frontendInitialized() override;
</span><del>-    virtual Ref&lt;WTF::Stopwatch&gt; executionStopwatch() override;
</del><ins>+    virtual PassRefPtr&lt;WTF::Stopwatch&gt; executionStopwatch() override;
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
</span><span class="cx">     virtual AugmentableInspectorControllerClient* augmentableInspectorControllerClient() const override { return m_augmentingClient; } 
</span><span class="lines">@@ -115,7 +115,7 @@
</span><span class="cx">     InspectorAgentRegistry m_agents;
</span><span class="cx">     InspectorFrontendChannel* m_inspectorFrontendChannel;
</span><span class="cx">     RefPtr&lt;InspectorBackendDispatcher&gt; m_inspectorBackendDispatcher;
</span><del>-    Ref&lt;WTF::Stopwatch&gt; m_executionStopwatch;
</del><ins>+    RefPtr&lt;WTF::Stopwatch&gt; m_executionStopwatch;
</ins><span class="cx">     bool m_includeNativeCallStackWithExceptions;
</span><span class="cx">     bool m_isAutomaticInspection;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorScriptCallFramecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/ScriptCallFrame.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/ScriptCallFrame.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/ScriptCallFrame.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -58,7 +58,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><del>-Ref&lt;Inspector::Protocol::Console::CallFrame&gt; ScriptCallFrame::buildInspectorObject() const
</del><ins>+PassRefPtr&lt;Inspector::Protocol::Console::CallFrame&gt; ScriptCallFrame::buildInspectorObject() const
</ins><span class="cx"> {
</span><span class="cx">     return Inspector::Protocol::Console::CallFrame::create()
</span><span class="cx">         .setFunctionName(m_functionName)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorScriptCallFrameh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/ScriptCallFrame.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/ScriptCallFrame.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/ScriptCallFrame.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -54,7 +54,7 @@
</span><span class="cx">     bool isEqual(const ScriptCallFrame&amp;) const;
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><del>-    Ref&lt;Inspector::Protocol::Console::CallFrame&gt; buildInspectorObject() const;
</del><ins>+    PassRefPtr&lt;Inspector::Protocol::Console::CallFrame&gt; buildInspectorObject() const;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> private:
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorScriptCallStackcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/ScriptCallStack.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/ScriptCallStack.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/ScriptCallStack.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -36,14 +36,14 @@
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><del>-Ref&lt;ScriptCallStack&gt; ScriptCallStack::create()
</del><ins>+PassRefPtr&lt;ScriptCallStack&gt; ScriptCallStack::create()
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new ScriptCallStack);
</del><ins>+    return adoptRef(new ScriptCallStack);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;ScriptCallStack&gt; ScriptCallStack::create(Vector&lt;ScriptCallFrame&gt;&amp; frames)
</del><ins>+PassRefPtr&lt;ScriptCallStack&gt; ScriptCallStack::create(Vector&lt;ScriptCallFrame&gt;&amp; frames)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new ScriptCallStack(frames));
</del><ins>+    return adoptRef(new ScriptCallStack(frames));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> ScriptCallStack::ScriptCallStack()
</span><span class="lines">@@ -107,12 +107,12 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><del>-Ref&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Console::CallFrame&gt;&gt; ScriptCallStack::buildInspectorArray() const
</del><ins>+PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Console::CallFrame&gt;&gt; ScriptCallStack::buildInspectorArray() const
</ins><span class="cx"> {
</span><del>-    auto frames = Inspector::Protocol::Array&lt;Inspector::Protocol::Console::CallFrame&gt;::create();
</del><ins>+    RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Console::CallFrame&gt;&gt; frames = Inspector::Protocol::Array&lt;Inspector::Protocol::Console::CallFrame&gt;::create();
</ins><span class="cx">     for (size_t i = 0; i &lt; m_frames.size(); i++)
</span><span class="cx">         frames-&gt;addItem(m_frames.at(i).buildInspectorObject());
</span><del>-    return WTF::move(frames);
</del><ins>+    return frames;
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorScriptCallStackh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/ScriptCallStack.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/ScriptCallStack.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/ScriptCallStack.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -47,8 +47,8 @@
</span><span class="cx"> public:
</span><span class="cx">     static const size_t maxCallStackSizeToCapture = 200;
</span><span class="cx">     
</span><del>-    static Ref&lt;ScriptCallStack&gt; create();
-    static Ref&lt;ScriptCallStack&gt; create(Vector&lt;ScriptCallFrame&gt;&amp;);
</del><ins>+    static PassRefPtr&lt;ScriptCallStack&gt; create();
+    static PassRefPtr&lt;ScriptCallStack&gt; create(Vector&lt;ScriptCallFrame&gt;&amp;);
</ins><span class="cx"> 
</span><span class="cx">     ~ScriptCallStack();
</span><span class="cx"> 
</span><span class="lines">@@ -62,7 +62,7 @@
</span><span class="cx">     bool isEqual(ScriptCallStack*) const;
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><del>-    Ref&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Console::CallFrame&gt;&gt; buildInspectorArray() const;
</del><ins>+    PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Console::CallFrame&gt;&gt; buildInspectorArray() const;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> private:
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectoragentsInspectorAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/agents/InspectorAgent.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/agents/InspectorAgent.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/agents/InspectorAgent.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -72,7 +72,7 @@
</span><span class="cx">     m_enabled = true;
</span><span class="cx"> 
</span><span class="cx">     if (m_pendingInspectData.first)
</span><del>-        inspect(m_pendingInspectData.first.copyRef(), m_pendingInspectData.second.copyRef());
</del><ins>+        inspect(m_pendingInspectData.first, m_pendingInspectData.second);
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
</span><span class="cx">     if (m_pendingExtraDomainsData)
</span><span class="lines">@@ -99,7 +99,7 @@
</span><span class="cx">     m_environment.frontendInitialized();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorAgent::inspect(RefPtr&lt;Protocol::Runtime::RemoteObject&gt;&amp;&amp; objectToInspect, RefPtr&lt;InspectorObject&gt;&amp;&amp; hints)
</del><ins>+void InspectorAgent::inspect(PassRefPtr&lt;Protocol::Runtime::RemoteObject&gt; objectToInspect, PassRefPtr&lt;InspectorObject&gt; hints)
</ins><span class="cx"> {
</span><span class="cx">     if (m_enabled &amp;&amp; m_frontendDispatcher) {
</span><span class="cx">         m_frontendDispatcher-&gt;inspect(objectToInspect, hints);
</span><span class="lines">@@ -130,9 +130,9 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    Ref&lt;Inspector::Protocol::Array&lt;String&gt;&gt; domainNames = Inspector::Protocol::Array&lt;String&gt;::create();
</del><ins>+    RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; domainNames = Inspector::Protocol::Array&lt;String&gt;::create();
</ins><span class="cx">     domainNames-&gt;addItem(domainName);
</span><del>-    m_frontendDispatcher-&gt;activateExtraDomains(WTF::move(domainNames));
</del><ins>+    m_frontendDispatcher-&gt;activateExtraDomains(domainNames.release());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorAgent::activateExtraDomains(const Vector&lt;String&gt;&amp; extraDomains)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectoragentsInspectorAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/agents/InspectorAgent.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/agents/InspectorAgent.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/agents/InspectorAgent.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -61,7 +61,7 @@
</span><span class="cx">     virtual void disable(ErrorString&amp;) override;
</span><span class="cx">     virtual void initialized(ErrorString&amp;) override;
</span><span class="cx"> 
</span><del>-    void inspect(RefPtr&lt;Protocol::Runtime::RemoteObject&gt;&amp;&amp; objectToInspect, RefPtr&lt;InspectorObject&gt;&amp;&amp; hints);
</del><ins>+    void inspect(PassRefPtr&lt;Protocol::Runtime::RemoteObject&gt; objectToInspect, PassRefPtr&lt;InspectorObject&gt; hints);
</ins><span class="cx">     void evaluateForTestInFrontend(const String&amp; script);
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectoragentsInspectorDebuggerAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -141,16 +141,16 @@
</span><span class="cx"> void InspectorDebuggerAgent::handleConsoleAssert(const String&amp; message)
</span><span class="cx"> {
</span><span class="cx">     if (scriptDebugServer().pauseOnExceptionsState() != JSC::Debugger::DontPauseOnExceptions) {
</span><del>-        Ref&lt;Inspector::Protocol::Debugger::AssertPauseReason&gt; reason = Inspector::Protocol::Debugger::AssertPauseReason::create().release();
</del><ins>+        RefPtr&lt;Inspector::Protocol::Debugger::AssertPauseReason&gt; reason = Inspector::Protocol::Debugger::AssertPauseReason::create();
</ins><span class="cx">         if (!message.isNull())
</span><span class="cx">             reason-&gt;setMessage(message);
</span><span class="cx">         breakProgram(InspectorDebuggerFrontendDispatcher::Reason::Assert, reason-&gt;openAccessors());
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static Ref&lt;InspectorObject&gt; buildObjectForBreakpointCookie(const String&amp; url, int lineNumber, int columnNumber, const String&amp; condition, RefPtr&lt;InspectorArray&gt;&amp; actions, bool isRegex, bool autoContinue)
</del><ins>+static PassRefPtr&lt;InspectorObject&gt; buildObjectForBreakpointCookie(const String&amp; url, int lineNumber, int columnNumber, const String&amp; condition, RefPtr&lt;InspectorArray&gt;&amp; actions, bool isRegex, bool autoContinue)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; breakpointObject = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; breakpointObject = InspectorObject::create();
</ins><span class="cx">     breakpointObject-&gt;setString(ASCIILiteral(&quot;url&quot;), url);
</span><span class="cx">     breakpointObject-&gt;setInteger(ASCIILiteral(&quot;lineNumber&quot;), lineNumber);
</span><span class="cx">     breakpointObject-&gt;setInteger(ASCIILiteral(&quot;columnNumber&quot;), columnNumber);
</span><span class="lines">@@ -239,7 +239,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDebuggerAgent::setBreakpointByUrl(ErrorString&amp; errorString, int lineNumber, const String* const optionalURL, const String* const optionalURLRegex, const int* const optionalColumnNumber, const RefPtr&lt;InspectorObject&gt;&amp;&amp; options, Inspector::Protocol::Debugger::BreakpointId* outBreakpointIdentifier, RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Debugger::Location&gt;&gt;&amp; locations)
</del><ins>+void InspectorDebuggerAgent::setBreakpointByUrl(ErrorString&amp; errorString, int lineNumber, const String* const optionalURL, const String* const optionalURLRegex, const int* const optionalColumnNumber, const RefPtr&lt;InspectorObject&gt;* options, Inspector::Protocol::Debugger::BreakpointId* outBreakpointIdentifier, RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Debugger::Location&gt;&gt;&amp; locations)
</ins><span class="cx"> {
</span><span class="cx">     locations = Inspector::Protocol::Array&lt;Inspector::Protocol::Debugger::Location&gt;::create();
</span><span class="cx">     if (!optionalURL == !optionalURLRegex) {
</span><span class="lines">@@ -261,9 +261,9 @@
</span><span class="cx">     bool autoContinue = false;
</span><span class="cx">     RefPtr&lt;InspectorArray&gt; actions;
</span><span class="cx">     if (options) {
</span><del>-        options-&gt;getString(ASCIILiteral(&quot;condition&quot;), condition);
-        options-&gt;getBoolean(ASCIILiteral(&quot;autoContinue&quot;), autoContinue);
-        options-&gt;getArray(ASCIILiteral(&quot;actions&quot;), actions);
</del><ins>+        (*options)-&gt;getString(ASCIILiteral(&quot;condition&quot;), condition);
+        (*options)-&gt;getBoolean(ASCIILiteral(&quot;autoContinue&quot;), autoContinue);
+        actions = (*options)-&gt;getArray(ASCIILiteral(&quot;actions&quot;));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     BreakpointActions breakpointActions;
</span><span class="lines">@@ -280,7 +280,7 @@
</span><span class="cx"> 
</span><span class="cx">         RefPtr&lt;Inspector::Protocol::Debugger::Location&gt; location = resolveBreakpoint(breakpointIdentifier, it-&gt;key, breakpoint);
</span><span class="cx">         if (location)
</span><del>-            locations-&gt;addItem(WTF::move(location));
</del><ins>+            locations-&gt;addItem(location);
</ins><span class="cx">     }
</span><span class="cx">     *outBreakpointIdentifier = breakpointIdentifier;
</span><span class="cx"> }
</span><span class="lines">@@ -300,7 +300,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDebuggerAgent::setBreakpoint(ErrorString&amp; errorString, const RefPtr&lt;InspectorObject&gt;&amp;&amp; location, const RefPtr&lt;InspectorObject&gt;&amp;&amp; options, Inspector::Protocol::Debugger::BreakpointId* outBreakpointIdentifier, RefPtr&lt;Inspector::Protocol::Debugger::Location&gt;&amp; actualLocation)
</del><ins>+void InspectorDebuggerAgent::setBreakpoint(ErrorString&amp; errorString, const RefPtr&lt;InspectorObject&gt;&amp; location, const RefPtr&lt;InspectorObject&gt;* options, Inspector::Protocol::Debugger::BreakpointId* outBreakpointIdentifier, RefPtr&lt;Inspector::Protocol::Debugger::Location&gt;&amp; actualLocation)
</ins><span class="cx"> {
</span><span class="cx">     JSC::SourceID sourceID;
</span><span class="cx">     unsigned lineNumber;
</span><span class="lines">@@ -312,9 +312,9 @@
</span><span class="cx">     bool autoContinue = false;
</span><span class="cx">     RefPtr&lt;InspectorArray&gt; actions;
</span><span class="cx">     if (options) {
</span><del>-        options-&gt;getString(ASCIILiteral(&quot;condition&quot;), condition);
-        options-&gt;getBoolean(ASCIILiteral(&quot;autoContinue&quot;), autoContinue);
-        options-&gt;getArray(ASCIILiteral(&quot;actions&quot;), actions);
</del><ins>+        (*options)-&gt;getString(ASCIILiteral(&quot;condition&quot;), condition);
+        (*options)-&gt;getBoolean(ASCIILiteral(&quot;autoContinue&quot;), autoContinue);
+        actions = (*options)-&gt;getArray(ASCIILiteral(&quot;actions&quot;));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     BreakpointActions breakpointActions;
</span><span class="lines">@@ -350,7 +350,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDebuggerAgent::continueToLocation(ErrorString&amp; errorString, const RefPtr&lt;InspectorObject&gt;&amp;&amp; location)
</del><ins>+void InspectorDebuggerAgent::continueToLocation(ErrorString&amp; errorString, const RefPtr&lt;InspectorObject&gt;&amp; location)
</ins><span class="cx"> {
</span><span class="cx">     if (m_continueToLocationBreakpointID != JSC::noBreakpointID) {
</span><span class="cx">         scriptDebugServer().removeBreakpoint(m_continueToLocationBreakpointID);
</span><span class="lines">@@ -368,7 +368,7 @@
</span><span class="cx">     resume(errorString);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;Inspector::Protocol::Debugger::Location&gt; InspectorDebuggerAgent::resolveBreakpoint(const String&amp; breakpointIdentifier, JSC::SourceID sourceID, const ScriptBreakpoint&amp; breakpoint)
</del><ins>+PassRefPtr&lt;Inspector::Protocol::Debugger::Location&gt; InspectorDebuggerAgent::resolveBreakpoint(const String&amp; breakpointIdentifier, JSC::SourceID sourceID, const ScriptBreakpoint&amp; breakpoint)
</ins><span class="cx"> {
</span><span class="cx">     ScriptsMap::iterator scriptIterator = m_scripts.find(sourceID);
</span><span class="cx">     if (scriptIterator == m_scripts.end())
</span><span class="lines">@@ -388,12 +388,11 @@
</span><span class="cx">         debugServerBreakpointIDsIterator = m_breakpointIdentifierToDebugServerBreakpointIDs.set(breakpointIdentifier, Vector&lt;JSC::BreakpointID&gt;()).iterator;
</span><span class="cx">     debugServerBreakpointIDsIterator-&gt;value.append(debugServerBreakpointID);
</span><span class="cx"> 
</span><del>-    auto location = Inspector::Protocol::Debugger::Location::create()
</del><ins>+    RefPtr&lt;Inspector::Protocol::Debugger::Location&gt; location = Inspector::Protocol::Debugger::Location::create()
</ins><span class="cx">         .setScriptId(String::number(sourceID))
</span><del>-        .setLineNumber(actualLineNumber)
-        .release();
</del><ins>+        .setLineNumber(actualLineNumber);
</ins><span class="cx">     location-&gt;setColumnNumber(actualColumnNumber);
</span><del>-    return WTF::move(location);
</del><ins>+    return location;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorDebuggerAgent::searchInContent(ErrorString&amp; error, const String&amp; scriptIDStr, const String&amp; query, const bool* optionalCaseSensitive, const bool* optionalIsRegex, RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::GenericTypes::SearchMatch&gt;&gt;&amp; results)
</span><span class="lines">@@ -431,13 +430,13 @@
</span><span class="cx">     injectedScript.getFunctionDetails(errorString, functionId, &amp;details);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDebuggerAgent::schedulePauseOnNextStatement(InspectorDebuggerFrontendDispatcher::Reason breakReason, RefPtr&lt;InspectorObject&gt;&amp;&amp; data)
</del><ins>+void InspectorDebuggerAgent::schedulePauseOnNextStatement(InspectorDebuggerFrontendDispatcher::Reason breakReason, PassRefPtr&lt;InspectorObject&gt; data)
</ins><span class="cx"> {
</span><span class="cx">     if (m_javaScriptPauseScheduled)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     m_breakReason = breakReason;
</span><del>-    m_breakAuxData = WTF::move(data);
</del><ins>+    m_breakAuxData = data;
</ins><span class="cx">     scriptDebugServer().setPauseOnNextStatement(true);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -545,14 +544,12 @@
</span><span class="cx"> void InspectorDebuggerAgent::scriptExecutionBlockedByCSP(const String&amp; directiveText)
</span><span class="cx"> {
</span><span class="cx">     if (scriptDebugServer().pauseOnExceptionsState() != JSC::Debugger::DontPauseOnExceptions) {
</span><del>-        auto reason = Inspector::Protocol::Debugger::CSPViolationPauseReason::create()
-            .setDirective(directiveText)
-            .release();
</del><ins>+        RefPtr&lt;Inspector::Protocol::Debugger::CSPViolationPauseReason&gt; reason = Inspector::Protocol::Debugger::CSPViolationPauseReason::create().setDirective(directiveText);
</ins><span class="cx">         breakProgram(InspectorDebuggerFrontendDispatcher::Reason::CSPViolation, reason-&gt;openAccessors());
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Debugger::CallFrame&gt;&gt; InspectorDebuggerAgent::currentCallFrames()
</del><ins>+PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Debugger::CallFrame&gt;&gt; InspectorDebuggerAgent::currentCallFrames()
</ins><span class="cx"> {
</span><span class="cx">     if (!m_pausedScriptState)
</span><span class="cx">         return Inspector::Protocol::Array&lt;Inspector::Protocol::Debugger::CallFrame&gt;::create();
</span><span class="lines">@@ -609,8 +606,7 @@
</span><span class="cx">         breakpointObject-&gt;getString(ASCIILiteral(&quot;condition&quot;), breakpoint.condition);
</span><span class="cx">         breakpointObject-&gt;getBoolean(ASCIILiteral(&quot;autoContinue&quot;), breakpoint.autoContinue);
</span><span class="cx">         ErrorString errorString;
</span><del>-        RefPtr&lt;InspectorArray&gt; actions;
-        breakpointObject-&gt;getArray(ASCIILiteral(&quot;actions&quot;), actions);
</del><ins>+        RefPtr&lt;InspectorArray&gt; actions = breakpointObject-&gt;getArray(ASCIILiteral(&quot;actions&quot;));
</ins><span class="cx">         if (!breakpointActionsFromProtocol(errorString, actions, &amp;breakpoint.actions)) {
</span><span class="cx">             ASSERT_NOT_REACHED();
</span><span class="cx">             continue;
</span><span class="lines">@@ -669,15 +665,14 @@
</span><span class="cx"> {
</span><span class="cx">     InjectedScript injectedScript = m_injectedScriptManager-&gt;injectedScriptFor(scriptState);
</span><span class="cx">     RefPtr&lt;Protocol::Runtime::RemoteObject&gt; payload = injectedScript.wrapObject(sample, objectGroupForBreakpointAction(action));
</span><del>-    auto result = Protocol::Debugger::ProbeSample::create()
</del><ins>+    RefPtr&lt;Protocol::Debugger::ProbeSample&gt; result = Protocol::Debugger::ProbeSample::create()
</ins><span class="cx">         .setProbeId(action.identifier)
</span><span class="cx">         .setBatchId(batchId)
</span><span class="cx">         .setSampleId(sampleId)
</span><span class="cx">         .setTimestamp(m_injectedScriptManager-&gt;inspectorEnvironment().executionStopwatch()-&gt;elapsedTime())
</span><del>-        .setPayload(payload.release())
-        .release();
</del><ins>+        .setPayload(payload.release());
</ins><span class="cx"> 
</span><del>-    m_frontendDispatcher-&gt;didSampleProbe(WTF::move(result));
</del><ins>+    m_frontendDispatcher-&gt;didSampleProbe(result.release());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorDebuggerAgent::didContinue()
</span><span class="lines">@@ -692,10 +687,10 @@
</span><span class="cx">     m_frontendDispatcher-&gt;resumed();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDebuggerAgent::breakProgram(InspectorDebuggerFrontendDispatcher::Reason breakReason, RefPtr&lt;InspectorObject&gt;&amp;&amp; data)
</del><ins>+void InspectorDebuggerAgent::breakProgram(InspectorDebuggerFrontendDispatcher::Reason breakReason, PassRefPtr&lt;InspectorObject&gt; data)
</ins><span class="cx"> {
</span><span class="cx">     m_breakReason = breakReason;
</span><del>-    m_breakAuxData = WTF::move(data);
</del><ins>+    m_breakAuxData = data;
</ins><span class="cx">     scriptDebugServer().breakProgram();
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectoragentsInspectorDebuggerAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -42,6 +42,7 @@
</span><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/Noncopyable.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="cx"> #include &lt;wtf/text/StringHash.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -73,10 +74,10 @@
</span><span class="cx">     virtual void enable(ErrorString&amp;) override;
</span><span class="cx">     virtual void disable(ErrorString&amp;) override;
</span><span class="cx">     virtual void setBreakpointsActive(ErrorString&amp;, bool active) override;
</span><del>-    virtual void setBreakpointByUrl(ErrorString&amp;, int lineNumber, const String* optionalURL, const String* optionalURLRegex, const int* optionalColumnNumber, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; options, Inspector::Protocol::Debugger::BreakpointId*, RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Debugger::Location&gt;&gt;&amp; locations) override;
-    virtual void setBreakpoint(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; location, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; options, Inspector::Protocol::Debugger::BreakpointId*, RefPtr&lt;Inspector::Protocol::Debugger::Location&gt;&amp; actualLocation) override;
</del><ins>+    virtual void setBreakpointByUrl(ErrorString&amp;, int lineNumber, const String* optionalURL, const String* optionalURLRegex, const int* optionalColumnNumber, const RefPtr&lt;Inspector::InspectorObject&gt;* options, Inspector::Protocol::Debugger::BreakpointId*, RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Debugger::Location&gt;&gt;&amp; locations) override;
+    virtual void setBreakpoint(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorObject&gt;&amp; location, const RefPtr&lt;Inspector::InspectorObject&gt;* options, Inspector::Protocol::Debugger::BreakpointId*, RefPtr&lt;Inspector::Protocol::Debugger::Location&gt;&amp; actualLocation) override;
</ins><span class="cx">     virtual void removeBreakpoint(ErrorString&amp;, const String&amp; breakpointIdentifier) override;
</span><del>-    virtual void continueToLocation(ErrorString&amp;, const RefPtr&lt;InspectorObject&gt;&amp;&amp; location) override;
</del><ins>+    virtual void continueToLocation(ErrorString&amp;, const RefPtr&lt;InspectorObject&gt;&amp; location) override;
</ins><span class="cx">     virtual void searchInContent(ErrorString&amp;, const String&amp; scriptID, const String&amp; query, const bool* optionalCaseSensitive, const bool* optionalIsRegex, RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::GenericTypes::SearchMatch&gt;&gt;&amp;) override;
</span><span class="cx">     virtual void getScriptSource(ErrorString&amp;, const String&amp; scriptID, String* scriptSource) override;
</span><span class="cx">     virtual void getFunctionDetails(ErrorString&amp;, const String&amp; functionId, RefPtr&lt;Inspector::Protocol::Debugger::FunctionDetails&gt;&amp;) override;
</span><span class="lines">@@ -93,9 +94,9 @@
</span><span class="cx">     
</span><span class="cx">     void handleConsoleAssert(const String&amp; message);
</span><span class="cx"> 
</span><del>-    void schedulePauseOnNextStatement(InspectorDebuggerFrontendDispatcher::Reason breakReason, RefPtr&lt;InspectorObject&gt;&amp;&amp; data);
</del><ins>+    void schedulePauseOnNextStatement(InspectorDebuggerFrontendDispatcher::Reason breakReason, PassRefPtr&lt;InspectorObject&gt; data);
</ins><span class="cx">     void cancelPauseOnNextStatement();
</span><del>-    void breakProgram(InspectorDebuggerFrontendDispatcher::Reason breakReason, RefPtr&lt;InspectorObject&gt;&amp;&amp; data);
</del><ins>+    void breakProgram(InspectorDebuggerFrontendDispatcher::Reason breakReason, PassRefPtr&lt;InspectorObject&gt; data);
</ins><span class="cx">     void scriptExecutionBlockedByCSP(const String&amp; directiveText);
</span><span class="cx"> 
</span><span class="cx">     class Listener {
</span><span class="lines">@@ -131,7 +132,7 @@
</span><span class="cx">     void didClearGlobalObject();
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    Ref&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Debugger::CallFrame&gt;&gt; currentCallFrames();
</del><ins>+    PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Debugger::CallFrame&gt;&gt; currentCallFrames();
</ins><span class="cx"> 
</span><span class="cx">     virtual void didParseSource(JSC::SourceID, const Script&amp;) override final;
</span><span class="cx">     virtual void failedToParseSource(const String&amp; url, const String&amp; data, int firstLine, int errorLine, const String&amp; errorMessage) override final;
</span><span class="lines">@@ -139,7 +140,7 @@
</span><span class="cx">     virtual void breakpointActionSound(int breakpointActionIdentifier) override;
</span><span class="cx">     virtual void breakpointActionProbe(JSC::ExecState*, const ScriptBreakpointAction&amp;, unsigned batchId, unsigned sampleId, const Deprecated::ScriptValue&amp; sample) override final;
</span><span class="cx"> 
</span><del>-    RefPtr&lt;Inspector::Protocol::Debugger::Location&gt; resolveBreakpoint(const String&amp; breakpointIdentifier, JSC::SourceID, const ScriptBreakpoint&amp;);
</del><ins>+    PassRefPtr&lt;Inspector::Protocol::Debugger::Location&gt; resolveBreakpoint(const String&amp; breakpointIdentifier, JSC::SourceID, const ScriptBreakpoint&amp;);
</ins><span class="cx">     bool assertPaused(ErrorString&amp;);
</span><span class="cx">     void clearDebuggerBreakpointState();
</span><span class="cx">     void clearInspectorBreakpointState();
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectoragentsInspectorRuntimeAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -80,12 +80,12 @@
</span><span class="cx">     return presentState;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static Ref&lt;Inspector::Protocol::Runtime::ErrorRange&gt; buildErrorRangeObject(const JSTokenLocation&amp; tokenLocation)
</del><ins>+static PassRefPtr&lt;Inspector::Protocol::Runtime::ErrorRange&gt; buildErrorRangeObject(const JSTokenLocation&amp; tokenLocation)
</ins><span class="cx"> {
</span><del>-    return Inspector::Protocol::Runtime::ErrorRange::create()
</del><ins>+    RefPtr&lt;Inspector::Protocol::Runtime::ErrorRange&gt; result = Inspector::Protocol::Runtime::ErrorRange::create()
</ins><span class="cx">         .setStartOffset(tokenLocation.startOffset)
</span><del>-        .setEndOffset(tokenLocation.endOffset)
-        .release();
</del><ins>+        .setEndOffset(tokenLocation.endOffset);
+    return result.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorRuntimeAgent::parse(ErrorString&amp;, const String&amp; expression, Inspector::Protocol::Runtime::SyntaxErrorType* result, Inspector::Protocol::OptOutput&lt;String&gt;* message, RefPtr&lt;Inspector::Protocol::Runtime::ErrorRange&gt;&amp; range)
</span><span class="lines">@@ -137,7 +137,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorRuntimeAgent::callFunctionOn(ErrorString&amp; errorString, const String&amp; objectId, const String&amp; expression, const RefPtr&lt;InspectorArray&gt;&amp;&amp; optionalArguments, const bool* const doNotPauseOnExceptionsAndMuteConsole, const bool* const returnByValue, const bool* generatePreview, RefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt;&amp; result, Inspector::Protocol::OptOutput&lt;bool&gt;* wasThrown)
</del><ins>+void InspectorRuntimeAgent::callFunctionOn(ErrorString&amp; errorString, const String&amp; objectId, const String&amp; expression, const RefPtr&lt;InspectorArray&gt;* const optionalArguments, const bool* const doNotPauseOnExceptionsAndMuteConsole, const bool* const returnByValue, const bool* generatePreview, RefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt;&amp; result, Inspector::Protocol::OptOutput&lt;bool&gt;* wasThrown)
</ins><span class="cx"> {
</span><span class="cx">     InjectedScript injectedScript = m_injectedScriptManager-&gt;injectedScriptForObjectId(objectId);
</span><span class="cx">     if (injectedScript.hasNoValue()) {
</span><span class="lines">@@ -147,7 +147,7 @@
</span><span class="cx"> 
</span><span class="cx">     String arguments;
</span><span class="cx">     if (optionalArguments)
</span><del>-        arguments = optionalArguments-&gt;toJSONString();
</del><ins>+        arguments = (*optionalArguments)-&gt;toJSONString();
</ins><span class="cx"> 
</span><span class="cx">     ScriptDebugServer::PauseOnExceptionsState previousPauseOnExceptionsState = ScriptDebugServer::DontPauseOnExceptions;
</span><span class="cx">     if (asBool(doNotPauseOnExceptionsAndMuteConsole))
</span><span class="lines">@@ -197,7 +197,7 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets(ErrorString&amp; errorString, const RefPtr&lt;Inspector::InspectorArray&gt;&amp;&amp; locations, RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Runtime::TypeDescription&gt;&gt;&amp; typeDescriptions)
</del><ins>+void InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets(ErrorString&amp; errorString, const RefPtr&lt;Inspector::InspectorArray&gt;&amp; locations, RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Runtime::TypeDescription&gt;&gt;&amp; typeDescriptions)
</ins><span class="cx"> {
</span><span class="cx">     static const bool verbose = false;
</span><span class="cx">     VM&amp; vm = globalVM();
</span><span class="lines">@@ -237,9 +237,8 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         bool isValid = typeLocation &amp;&amp; typeSet &amp;&amp; !typeSet-&gt;isEmpty();
</span><del>-        auto description = Inspector::Protocol::Runtime::TypeDescription::create()
-            .setIsValid(isValid)
-            .release();
</del><ins>+        RefPtr&lt;Inspector::Protocol::Runtime::TypeDescription&gt; description = Inspector::Protocol::Runtime::TypeDescription::create()
+            .setIsValid(isValid);
</ins><span class="cx"> 
</span><span class="cx">         if (isValid) {
</span><span class="cx">             description-&gt;setLeastCommonAncestor(typeSet-&gt;leastCommonAncestor());
</span><span class="lines">@@ -248,7 +247,7 @@
</span><span class="cx">             description-&gt;setIsTruncated(typeSet-&gt;isOverflown());
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        typeDescriptions-&gt;addItem(WTF::move(description));
</del><ins>+        typeDescriptions-&gt;addItem(description);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     double end = currentTimeMS();
</span><span class="lines">@@ -332,12 +331,11 @@
</span><span class="cx">     const Vector&lt;BasicBlockRange&gt;&amp; basicBlockRanges = vm.controlFlowProfiler()-&gt;getBasicBlocksForSourceID(sourceID, vm);
</span><span class="cx">     basicBlocks = Inspector::Protocol::Array&lt;Inspector::Protocol::Runtime::BasicBlock&gt;::create();
</span><span class="cx">     for (const BasicBlockRange&amp; block : basicBlockRanges) {
</span><del>-        Ref&lt;Inspector::Protocol::Runtime::BasicBlock&gt; location = Inspector::Protocol::Runtime::BasicBlock::create()
</del><ins>+        RefPtr&lt;Inspector::Protocol::Runtime::BasicBlock&gt; location = Inspector::Protocol::Runtime::BasicBlock::create()
</ins><span class="cx">             .setStartOffset(block.m_startOffset)
</span><span class="cx">             .setEndOffset(block.m_endOffset)
</span><del>-            .setHasExecuted(block.m_hasExecuted)
-            .release();
-        basicBlocks-&gt;addItem(WTF::move(location));
</del><ins>+            .setHasExecuted(block.m_hasExecuted);
+        basicBlocks-&gt;addItem(location);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectoragentsInspectorRuntimeAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -63,12 +63,12 @@
</span><span class="cx">     virtual void disable(ErrorString&amp;) override { m_enabled = false; }
</span><span class="cx">     virtual void parse(ErrorString&amp;, const String&amp; expression, Inspector::Protocol::Runtime::SyntaxErrorType* result, Inspector::Protocol::OptOutput&lt;String&gt;* message, RefPtr&lt;Inspector::Protocol::Runtime::ErrorRange&gt;&amp;) override final;
</span><span class="cx">     virtual void evaluate(ErrorString&amp;, const String&amp; expression, const String* objectGroup, const bool* includeCommandLineAPI, const bool* doNotPauseOnExceptionsAndMuteConsole, const int* executionContextId, const bool* returnByValue, const bool* generatePreview, RefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt;&amp; result, Inspector::Protocol::OptOutput&lt;bool&gt;* wasThrown) override final;
</span><del>-    virtual void callFunctionOn(ErrorString&amp;, const String&amp; objectId, const String&amp; expression, const RefPtr&lt;Inspector::InspectorArray&gt;&amp;&amp; optionalArguments, const bool* doNotPauseOnExceptionsAndMuteConsole, const bool* returnByValue, const bool* generatePreview, RefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt;&amp; result, Inspector::Protocol::OptOutput&lt;bool&gt;* wasThrown) override final;
</del><ins>+    virtual void callFunctionOn(ErrorString&amp;, const String&amp; objectId, const String&amp; expression, const RefPtr&lt;Inspector::InspectorArray&gt;* optionalArguments, const bool* doNotPauseOnExceptionsAndMuteConsole, const bool* returnByValue, const bool* generatePreview, RefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt;&amp; result, Inspector::Protocol::OptOutput&lt;bool&gt;* wasThrown) override final;
</ins><span class="cx">     virtual void releaseObject(ErrorString&amp;, const ErrorString&amp; objectId) override final;
</span><span class="cx">     virtual void getProperties(ErrorString&amp;, const String&amp; objectId, const bool* ownProperties, RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Runtime::PropertyDescriptor&gt;&gt;&amp; result, RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Runtime::InternalPropertyDescriptor&gt;&gt;&amp; internalProperties) override final;
</span><span class="cx">     virtual void releaseObjectGroup(ErrorString&amp;, const String&amp; objectGroup) override final;
</span><span class="cx">     virtual void run(ErrorString&amp;) override;
</span><del>-    virtual void getRuntimeTypesForVariablesAtOffsets(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorArray&gt;&amp;&amp; locations, RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Runtime::TypeDescription&gt;&gt;&amp;) override;
</del><ins>+    virtual void getRuntimeTypesForVariablesAtOffsets(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorArray&gt;&amp; locations, RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Runtime::TypeDescription&gt;&gt;&amp;) override;
</ins><span class="cx">     virtual void enableTypeProfiler(ErrorString&amp;) override;
</span><span class="cx">     virtual void disableTypeProfiler(ErrorString&amp;) override;
</span><span class="cx">     virtual void getBasicBlocks(ErrorString&amp;, const String&amp; in_sourceID, RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Runtime::BasicBlock&gt;&gt;&amp; out_basicBlocks) override;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorscriptscodegencpp_generatorpy"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/scripts/codegen/cpp_generator.py (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/codegen/cpp_generator.py        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/scripts/codegen/cpp_generator.py        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -116,11 +116,12 @@
</span><span class="cx">         if isinstance(_type, EnumType):
</span><span class="cx">             _type = _type.primitive_type  # Fall through to primitive.
</span><span class="cx"> 
</span><ins>+        sigil = '*' if parameter.is_optional else '&amp;'
</ins><span class="cx">         # This handles the 'any' type and objects with defined properties.
</span><span class="cx">         if isinstance(_type, ObjectType) or _type.qualified_name() is 'object':
</span><del>-            return 'const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp;'
</del><ins>+            return 'const RefPtr&lt;Inspector::InspectorObject&gt;' + sigil
</ins><span class="cx">         if isinstance(_type, ArrayType):
</span><del>-            return 'const RefPtr&lt;Inspector::InspectorArray&gt;&amp;&amp;'
</del><ins>+            return 'const RefPtr&lt;Inspector::InspectorArray&gt;' + sigil
</ins><span class="cx">         if isinstance(_type, PrimitiveType):
</span><span class="cx">             cpp_name = CppGenerator.cpp_name_for_primitive_type(_type)
</span><span class="cx">             if parameter.is_optional:
</span><span class="lines">@@ -143,7 +144,7 @@
</span><span class="cx">     @staticmethod
</span><span class="cx">     def cpp_type_for_type_with_name(_type, type_name, is_optional):
</span><span class="cx">         if isinstance(_type, (ArrayType, ObjectType)):
</span><del>-            return 'RefPtr&lt;%s&gt;' % CppGenerator.cpp_protocol_type_for_type(_type)
</del><ins>+            return 'PassRefPtr&lt;%s&gt;' % CppGenerator.cpp_protocol_type_for_type(_type)
</ins><span class="cx">         if isinstance(_type, AliasedType):
</span><span class="cx">             builder_type = CppGenerator.cpp_protocol_type_for_type(_type)
</span><span class="cx">             if is_optional:
</span><span class="lines">@@ -157,9 +158,9 @@
</span><span class="cx">         if isinstance(_type, PrimitiveType):
</span><span class="cx">             cpp_name = CppGenerator.cpp_name_for_primitive_type(_type)
</span><span class="cx">             if _type.qualified_name() in ['object']:
</span><del>-                return 'RefPtr&lt;Inspector::InspectorObject&gt;'
</del><ins>+                return 'PassRefPtr&lt;Inspector::InspectorObject&gt;'
</ins><span class="cx">             elif _type.qualified_name() in ['any']:
</span><del>-                return 'RefPtr&lt;Inspector::InspectorValue&gt;'
</del><ins>+                return 'PassRefPtr&lt;Inspector::InspectorValue&gt;'
</ins><span class="cx">             elif is_optional:
</span><span class="cx">                 return 'const %s* const' % cpp_name
</span><span class="cx">             elif _type.qualified_name() in ['string']:
</span><span class="lines">@@ -211,7 +212,7 @@
</span><span class="cx">             _type = _type.primitive_type  # Fall through.
</span><span class="cx"> 
</span><span class="cx">         if isinstance(_type, (ObjectType, ArrayType)):
</span><del>-            return 'RefPtr&lt;%s&gt;&amp;&amp;' % CppGenerator.cpp_protocol_type_for_type(_type)
</del><ins>+            return 'PassRefPtr&lt;%s&gt;' % CppGenerator.cpp_protocol_type_for_type(_type)
</ins><span class="cx">         if isinstance(_type, PrimitiveType):
</span><span class="cx">             cpp_name = CppGenerator.cpp_name_for_primitive_type(_type)
</span><span class="cx">             if parameter.is_optional:
</span><span class="lines">@@ -296,9 +297,5 @@
</span><span class="cx">         return not isinstance(_type, (ArrayType, ObjectType))
</span><span class="cx"> 
</span><span class="cx">     @staticmethod
</span><del>-    def should_use_references_for_type(_type):
-        return isinstance(_type, (ArrayType, ObjectType)) or (isinstance(_type, (PrimitiveType)) and _type.qualified_name() in [&quot;any&quot;, &quot;object&quot;])
-
-    @staticmethod
</del><span class="cx">     def should_pass_by_copy_for_return_type(_type):
</span><span class="cx">         return isinstance(_type, (ArrayType, ObjectType)) or (isinstance(_type, (PrimitiveType)) and _type.qualified_name() == &quot;object&quot;)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorscriptscodegencpp_generator_templatespy"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/scripts/codegen/cpp_generator_templates.py (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/codegen/cpp_generator_templates.py        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/scripts/codegen/cpp_generator_templates.py        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -76,10 +76,10 @@
</span><span class="cx"> 
</span><span class="cx"> class AlternateInspectorBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    void setBackendDispatcher(Ref&lt;InspectorBackendDispatcher&gt;&amp;&amp; dispatcher) { m_backendDispatcher = WTF::move(dispatcher); }
-    const InspectorBackendDispatcher&amp; backendDispatcher() const { return m_backendDispatcher.get(); }
</del><ins>+    void setBackendDispatcher(PassRefPtr&lt;InspectorBackendDispatcher&gt; dispatcher) { m_backendDispatcher = dispatcher; }
+    InspectorBackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
</ins><span class="cx"> private:
</span><del>-    Ref&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    RefPtr&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx"> };
</span><span class="cx"> &quot;&quot;&quot;)
</span><span class="cx"> 
</span><span class="lines">@@ -108,11 +108,11 @@
</span><span class="cx">     BackendDispatcherHeaderDomainDispatcherDeclaration = (
</span><span class="cx">     &quot;&quot;&quot;${classAndExportMacro} Inspector${domainName}BackendDispatcher final : public Inspector::InspectorSupplementalBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    static Ref&lt;Inspector${domainName}BackendDispatcher&gt; create(Inspector::InspectorBackendDispatcher*, Inspector${domainName}BackendDispatcherHandler*);
-    virtual void dispatch(long callId, const String&amp; method, Ref&lt;Inspector::InspectorObject&gt;&amp;&amp; message) override;
</del><ins>+    static PassRefPtr&lt;Inspector${domainName}BackendDispatcher&gt; create(Inspector::InspectorBackendDispatcher*, Inspector${domainName}BackendDispatcherHandler*);
+    virtual void dispatch(long callId, const String&amp; method, PassRefPtr&lt;Inspector::InspectorObject&gt; message) override;
</ins><span class="cx"> ${commandDeclarations}
</span><span class="cx"> private:
</span><del>-    Inspector${domainName}BackendDispatcher(Inspector::InspectorBackendDispatcher&amp;, Inspector${domainName}BackendDispatcherHandler*);
</del><ins>+    Inspector${domainName}BackendDispatcher(Inspector::InspectorBackendDispatcher*, Inspector${domainName}BackendDispatcherHandler*);
</ins><span class="cx">     Inspector${domainName}BackendDispatcherHandler* m_agent;
</span><span class="cx"> #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
</span><span class="cx"> public:
</span><span class="lines">@@ -125,13 +125,13 @@
</span><span class="cx">     BackendDispatcherHeaderAsyncCommandDeclaration = (
</span><span class="cx">     &quot;&quot;&quot;    ${classAndExportMacro} ${callbackName} : public Inspector::InspectorBackendDispatcher::CallbackBase {
</span><span class="cx">     public:
</span><del>-        ${callbackName}(Ref&lt;Inspector::InspectorBackendDispatcher&gt;&amp;&amp;, int id);
</del><ins>+        ${callbackName}(PassRefPtr&lt;Inspector::InspectorBackendDispatcher&gt;, int id);
</ins><span class="cx">         void sendSuccess(${outParameters});
</span><span class="cx">     };
</span><span class="cx">     virtual void ${commandName}(${inParameters}) = 0;&quot;&quot;&quot;)
</span><span class="cx"> 
</span><span class="cx">     BackendDispatcherImplementationSmallSwitch = (
</span><del>-    &quot;&quot;&quot;void Inspector${domainName}BackendDispatcher::dispatch(long callId, const String&amp; method, Ref&lt;InspectorObject&gt;&amp;&amp; message)
</del><ins>+    &quot;&quot;&quot;void Inspector${domainName}BackendDispatcher::dispatch(long callId, const String&amp; method, PassRefPtr&lt;InspectorObject&gt; message)
</ins><span class="cx"> {
</span><span class="cx">     Ref&lt;Inspector${domainName}BackendDispatcher&gt; protect(*this);
</span><span class="cx"> 
</span><span class="lines">@@ -141,7 +141,7 @@
</span><span class="cx"> }&quot;&quot;&quot;)
</span><span class="cx"> 
</span><span class="cx">     BackendDispatcherImplementationLargeSwitch = (
</span><del>-&quot;&quot;&quot;void Inspector${domainName}BackendDispatcher::dispatch(long callId, const String&amp; method, Ref&lt;InspectorObject&gt;&amp;&amp; message)
</del><ins>+&quot;&quot;&quot;void Inspector${domainName}BackendDispatcher::dispatch(long callId, const String&amp; method, PassRefPtr&lt;InspectorObject&gt; message)
</ins><span class="cx"> {
</span><span class="cx">     Ref&lt;Inspector${domainName}BackendDispatcher&gt; protect(*this);
</span><span class="cx"> 
</span><span class="lines">@@ -166,16 +166,16 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    ((*this).*it-&gt;value)(callId, message.get());
</del><ins>+    ((*this).*it-&gt;value)(callId, *message.get());
</ins><span class="cx"> }&quot;&quot;&quot;)
</span><span class="cx"> 
</span><span class="cx">     BackendDispatcherImplementationDomainConstructor = (
</span><del>-    &quot;&quot;&quot;Ref&lt;Inspector${domainName}BackendDispatcher&gt; Inspector${domainName}BackendDispatcher::create(InspectorBackendDispatcher* backendDispatcher, Inspector${domainName}BackendDispatcherHandler* agent)
</del><ins>+    &quot;&quot;&quot;PassRefPtr&lt;Inspector${domainName}BackendDispatcher&gt; Inspector${domainName}BackendDispatcher::create(InspectorBackendDispatcher* backendDispatcher, Inspector${domainName}BackendDispatcherHandler* agent)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new Inspector${domainName}BackendDispatcher(*backendDispatcher, agent));
</del><ins>+    return adoptRef(new Inspector${domainName}BackendDispatcher(backendDispatcher, agent));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Inspector${domainName}BackendDispatcher::Inspector${domainName}BackendDispatcher(InspectorBackendDispatcher&amp; backendDispatcher, Inspector${domainName}BackendDispatcherHandler* agent)
</del><ins>+Inspector${domainName}BackendDispatcher::Inspector${domainName}BackendDispatcher(InspectorBackendDispatcher* backendDispatcher, Inspector${domainName}BackendDispatcherHandler* agent)
</ins><span class="cx">     : InspectorSupplementalBackendDispatcher(backendDispatcher)
</span><span class="cx">     , m_agent(agent)
</span><span class="cx"> #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
</span><span class="lines">@@ -186,25 +186,26 @@
</span><span class="cx"> }&quot;&quot;&quot;)
</span><span class="cx"> 
</span><span class="cx">     BackendDispatcherImplementationPrepareCommandArguments = (
</span><del>-&quot;&quot;&quot;    auto protocolErrors = Inspector::Protocol::Array&lt;String&gt;::create();
-    RefPtr&lt;InspectorObject&gt; paramsContainer;
-    message.getObject(ASCIILiteral(&quot;params&quot;), paramsContainer);
</del><ins>+&quot;&quot;&quot;    RefPtr&lt;InspectorArray&gt; protocolErrors = InspectorArray::create();
+    RefPtr&lt;InspectorObject&gt; paramsContainer = message.getObject(ASCIILiteral(&quot;params&quot;));
+    InspectorObject* paramsContainerPtr = paramsContainer.get();
+    InspectorArray* protocolErrorsPtr = protocolErrors.get();
</ins><span class="cx"> ${inParameterDeclarations}
</span><span class="cx">     if (protocolErrors-&gt;length()) {
</span><span class="cx">         String errorMessage = String::format(&quot;Some arguments of method \'%s\' can't be processed&quot;, &quot;${domainName}.${commandName}&quot;);
</span><del>-        m_backendDispatcher-&gt;reportProtocolError(&amp;callId, InspectorBackendDispatcher::InvalidParams, errorMessage, WTF::move(protocolErrors));
</del><ins>+        m_backendDispatcher-&gt;reportProtocolError(&amp;callId, InspectorBackendDispatcher::InvalidParams, errorMessage, protocolErrors.release());
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> &quot;&quot;&quot;)
</span><span class="cx"> 
</span><span class="cx">     BackendDispatcherImplementationAsyncCommand = (
</span><del>-&quot;&quot;&quot;Inspector${domainName}BackendDispatcherHandler::${callbackName}::${callbackName}(Ref&lt;InspectorBackendDispatcher&gt;&amp;&amp; backendDispatcher, int id) : Inspector::InspectorBackendDispatcher::CallbackBase(WTF::move(backendDispatcher), id) { }
</del><ins>+&quot;&quot;&quot;Inspector${domainName}BackendDispatcherHandler::${callbackName}::${callbackName}(PassRefPtr&lt;InspectorBackendDispatcher&gt; backendDispatcher, int id) : Inspector::InspectorBackendDispatcher::CallbackBase(backendDispatcher, id) { }
</ins><span class="cx"> 
</span><span class="cx"> void Inspector${domainName}BackendDispatcherHandler::${callbackName}::sendSuccess(${formalParameters})
</span><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</ins><span class="cx"> ${outParameterAssignments}
</span><del>-    sendIfActive(WTF::move(jsonMessage), ErrorString());
</del><ins>+    sendIfActive(jsonMessage, ErrorString());
</ins><span class="cx"> }&quot;&quot;&quot;)
</span><span class="cx"> 
</span><span class="cx">     FrontendDispatcherDomainDispatcherDeclaration = (
</span><span class="lines">@@ -227,23 +228,26 @@
</span><span class="cx">             return *reinterpret_cast&lt;Builder&lt;STATE | STEP&gt;*&gt;(this);
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Builder(Ref&lt;/*${objectType}*/Inspector::InspectorObject&gt;&amp;&amp; object)
-            : m_result(WTF::move(object))
</del><ins>+        Builder(PassRefPtr&lt;/*${objectType}*/Inspector::InspectorObject&gt; ptr)
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
</span><ins>+            m_result = ptr;
</ins><span class="cx">         }
</span><span class="cx">         friend class ${objectType};
</span><span class="cx">     public:&quot;&quot;&quot;)
</span><span class="cx"> 
</span><span class="cx">     ProtocolObjectBuilderDeclarationPostlude = (
</span><span class="cx"> &quot;&quot;&quot;
</span><del>-        Ref&lt;${objectType}&gt; release()
</del><ins>+        operator RefPtr&lt;${objectType}&gt;&amp; ()
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready);
</span><span class="cx">             COMPILE_ASSERT(sizeof(${objectType}) == sizeof(Inspector::InspectorObject), cannot_cast);
</span><ins>+            return *reinterpret_cast&lt;RefPtr&lt;${objectType}&gt;*&gt;(&amp;m_result);
+        }
</ins><span class="cx"> 
</span><del>-            Ref&lt;Inspector::InspectorObject&gt; result = m_result.releaseNonNull();
-            return WTF::move(*reinterpret_cast&lt;Ref&lt;${objectType}&gt;*&gt;(&amp;result));
</del><ins>+        PassRefPtr&lt;${objectType}&gt; release()
+        {
+            return RefPtr&lt;${objectType}&gt;(*this).release();
</ins><span class="cx">         }
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="lines">@@ -254,10 +258,11 @@
</span><span class="cx">     static Builder&lt;NoFieldsSet&gt; create()
</span><span class="cx">     {
</span><span class="cx">         return Builder&lt;NoFieldsSet&gt;(Inspector::InspectorObject::create());
</span><del>-    }&quot;&quot;&quot;)
</del><ins>+    }
+    typedef Inspector::Protocol::StructItemTraits ItemTraits;&quot;&quot;&quot;)
</ins><span class="cx"> 
</span><span class="cx">     ProtocolObjectRuntimeCast = (
</span><del>-&quot;&quot;&quot;RefPtr&lt;${objectType}&gt; BindingTraits&lt;${objectType}&gt;::runtimeCast(RefPtr&lt;Inspector::InspectorValue&gt;&amp;&amp; value)
</del><ins>+&quot;&quot;&quot;PassRefPtr&lt;${objectType}&gt; BindingTraits&lt;${objectType}&gt;::runtimeCast(PassRefPtr&lt;Inspector::InspectorValue&gt; value)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;Inspector::InspectorObject&gt; result;
</span><span class="cx">     bool castSucceeded = value-&gt;asObject(result);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorscriptscodegengenerate_cpp_backend_dispatcher_headerpy"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -52,6 +52,7 @@
</span><span class="cx">         headers = [
</span><span class="cx">             '&quot;InspectorProtocolObjects.h&quot;',
</span><span class="cx">             '&lt;inspector/InspectorBackendDispatcher.h&gt;',
</span><ins>+            '&lt;wtf/PassRefPtr.h&gt;',
</ins><span class="cx">             '&lt;wtf/text/WTFString.h&gt;']
</span><span class="cx"> 
</span><span class="cx">         typedefs = [('String', 'ErrorString')]
</span><span class="lines">@@ -156,7 +157,7 @@
</span><span class="cx">         in_parameters = ['ErrorString&amp;']
</span><span class="cx">         for _parameter in command.call_parameters:
</span><span class="cx">             in_parameters.append(&quot;%s in_%s&quot; % (CppGenerator.cpp_type_for_unchecked_formal_in_parameter(_parameter), _parameter.parameter_name))
</span><del>-        in_parameters.append(&quot;Ref&lt;%s&gt;&amp;&amp; callback&quot; % callbackName)
</del><ins>+        in_parameters.append(&quot;PassRefPtr&lt;%s&gt; callback&quot; % callbackName)
</ins><span class="cx"> 
</span><span class="cx">         out_parameters = []
</span><span class="cx">         for _parameter in command.return_parameters:
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorscriptscodegengenerate_cpp_backend_dispatcher_implementationpy"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -104,10 +104,10 @@
</span><span class="cx">     def _generate_small_dispatcher_switch_implementation_for_domain(self, domain):
</span><span class="cx">         cases = []
</span><span class="cx">         cases.append('    if (method == &quot;%s&quot;)' % domain.commands[0].command_name)
</span><del>-        cases.append('        %s(callId, message);' % domain.commands[0].command_name)
</del><ins>+        cases.append('        %s(callId, *message.get());' % domain.commands[0].command_name)
</ins><span class="cx">         for command in domain.commands[1:]:
</span><span class="cx">             cases.append('    else if (method == &quot;%s&quot;)' % command.command_name)
</span><del>-            cases.append('        %s(callId, message);' % command.command_name)
</del><ins>+            cases.append('        %s(callId, *message.get());' % command.command_name)
</ins><span class="cx"> 
</span><span class="cx">         switch_args = {
</span><span class="cx">             'domainName': domain.domain_name,
</span><span class="lines">@@ -178,29 +178,22 @@
</span><span class="cx">                 out_success_argument = '&amp;%s_valueFound' % parameter.parameter_name
</span><span class="cx">                 in_parameter_declarations.append('    bool %s_valueFound = false;' % parameter.parameter_name)
</span><span class="cx"> 
</span><del>-            parameter_expression = 'in_' + parameter.parameter_name
-            if CppGenerator.should_use_references_for_type(parameter.type):
-                parameter_expression = '%s.copyRef()' % parameter_expression
-            elif parameter.is_optional:
-                parameter_expression = '&amp;%s' % parameter_expression
-
</del><span class="cx">             param_args = {
</span><span class="cx">                 'parameterType': CppGenerator.cpp_type_for_stack_in_parameter(parameter),
</span><span class="cx">                 'parameterName': parameter.parameter_name,
</span><del>-                'parameterExpression': parameter_expression,
</del><span class="cx">                 'keyedGetMethod': CppGenerator.cpp_getter_method_for_type(parameter.type),
</span><span class="cx">                 'successOutParam': out_success_argument
</span><span class="cx">             }
</span><span class="cx"> 
</span><del>-            in_parameter_declarations.append('    %(parameterType)s in_%(parameterName)s = InspectorBackendDispatcher::%(keyedGetMethod)s(paramsContainer.get(), ASCIILiteral(&quot;%(parameterName)s&quot;), %(successOutParam)s, protocolErrors.get());' % param_args)
</del><ins>+            in_parameter_declarations.append('    %(parameterType)s in_%(parameterName)s = InspectorBackendDispatcher::%(keyedGetMethod)s(paramsContainerPtr, ASCIILiteral(&quot;%(parameterName)s&quot;), %(successOutParam)s, protocolErrorsPtr);' % param_args)
</ins><span class="cx"> 
</span><span class="cx">             if parameter.is_optional:
</span><del>-                optional_in_parameter_string = '%(parameterName)s_valueFound ? %(parameterExpression)s : nullptr' % param_args
</del><ins>+                optional_in_parameter_string = '%(parameterName)s_valueFound ? &amp;in_%(parameterName)s : nullptr' % param_args
</ins><span class="cx">                 alternate_dispatcher_method_parameters.append(optional_in_parameter_string)
</span><span class="cx">                 method_parameters.append(optional_in_parameter_string)
</span><span class="cx">             else:
</span><del>-                alternate_dispatcher_method_parameters.append(parameter_expression)
-                method_parameters.append(parameter_expression)
</del><ins>+                alternate_dispatcher_method_parameters.append('in_' + parameter.parameter_name)
+                method_parameters.append('in_' + parameter.parameter_name)
</ins><span class="cx"> 
</span><span class="cx">         if command.is_async:
</span><span class="cx">             async_args = {
</span><span class="lines">@@ -211,7 +204,7 @@
</span><span class="cx">             out_parameter_assignments.append('        callback-&gt;disable();')
</span><span class="cx">             out_parameter_assignments.append('        m_backendDispatcher-&gt;reportProtocolError(&amp;callId, Inspector::InspectorBackendDispatcher::ServerError, error);')
</span><span class="cx">             out_parameter_assignments.append('        return;')
</span><del>-            method_parameters.append('callback.copyRef()')
</del><ins>+            method_parameters.append('callback')
</ins><span class="cx"> 
</span><span class="cx">         else:
</span><span class="cx">             for parameter in command.return_parameters:
</span><span class="lines">@@ -268,9 +261,9 @@
</span><span class="cx">         lines.append('')
</span><span class="cx"> 
</span><span class="cx">         lines.append('    ErrorString error;')
</span><del>-        lines.append('    Ref&lt;InspectorObject&gt; result = InspectorObject::create();')
</del><ins>+        lines.append('    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();')
</ins><span class="cx">         if command.is_async:
</span><del>-            lines.append('    Ref&lt;Inspector%(domainName)sBackendDispatcherHandler::%(callbackName)s&gt; callback = adoptRef(*new Inspector%(domainName)sBackendDispatcherHandler::%(callbackName)s(m_backendDispatcher.copyRef(), callId));' % command_args)
</del><ins>+            lines.append('    RefPtr&lt;Inspector%(domainName)sBackendDispatcherHandler::%(callbackName)s&gt; callback = adoptRef(new Inspector%(domainName)sBackendDispatcherHandler::%(callbackName)s(m_backendDispatcher,callId));' % command_args)
</ins><span class="cx">         if len(command.return_parameters) &gt; 0:
</span><span class="cx">             lines.extend(out_parameter_declarations)
</span><span class="cx">         lines.append('    m_agent-&gt;%(commandName)s(%(invocationParameters)s);' % command_args)
</span><span class="lines">@@ -289,6 +282,6 @@
</span><span class="cx">             lines.append('')
</span><span class="cx"> 
</span><span class="cx">         if not command.is_async:
</span><del>-            lines.append('    m_backendDispatcher-&gt;sendResponse(callId, WTF::move(result), error);')
</del><ins>+            lines.append('    m_backendDispatcher-&gt;sendResponse(callId, result.release(), error);')
</ins><span class="cx">         lines.append('}')
</span><span class="cx">         return &quot;\n&quot;.join(lines)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorscriptscodegengenerate_cpp_frontend_dispatcher_headerpy"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_frontend_dispatcher_header.py (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_frontend_dispatcher_header.py        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_frontend_dispatcher_header.py        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -53,6 +53,7 @@
</span><span class="cx">             '&quot;InspectorProtocolObjects.h&quot;',
</span><span class="cx">             '&lt;inspector/InspectorFrontendChannel.h&gt;',
</span><span class="cx">             '&lt;inspector/InspectorValues.h&gt;',
</span><ins>+            '&lt;wtf/PassRefPtr.h&gt;',
</ins><span class="cx">             '&lt;wtf/text/WTFString.h&gt;']
</span><span class="cx"> 
</span><span class="cx">         header_args = {
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorscriptscodegengenerate_cpp_frontend_dispatcher_implementationpy"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -107,13 +107,13 @@
</span><span class="cx"> 
</span><span class="cx">         lines.append('void Inspector%(domainName)sFrontendDispatcher::%(eventName)s(%(formalParameters)s)' % event_args)
</span><span class="cx">         lines.append('{')
</span><del>-        lines.append('    Ref&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();')
</del><ins>+        lines.append('    RefPtr&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();')
</ins><span class="cx">         lines.append('    jsonMessage-&gt;setString(ASCIILiteral(&quot;method&quot;), ASCIILiteral(&quot;%(domainName)s.%(eventName)s&quot;));' % event_args)
</span><span class="cx"> 
</span><span class="cx">         if len(parameter_assignments) &gt; 0:
</span><del>-            lines.append('    Ref&lt;InspectorObject&gt; paramsObject = InspectorObject::create();')
</del><ins>+            lines.append('    RefPtr&lt;InspectorObject&gt; paramsObject = InspectorObject::create();')
</ins><span class="cx">             lines.extend(parameter_assignments)
</span><del>-            lines.append('    jsonMessage-&gt;setObject(ASCIILiteral(&quot;params&quot;), paramsObject.copyRef());')
</del><ins>+            lines.append('    jsonMessage-&gt;setObject(ASCIILiteral(&quot;params&quot;), paramsObject);')
</ins><span class="cx"> 
</span><span class="cx">         lines.append('')
</span><span class="cx">         lines.append('    m_inspectorFrontendChannel-&gt;sendMessageToFrontend(jsonMessage-&gt;toJSONString());')
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorscriptscodegengenerate_cpp_protocol_types_headerpy"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_header.py (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_header.py        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_header.py        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -52,6 +52,7 @@
</span><span class="cx">         headers = set([
</span><span class="cx">             '&lt;inspector/InspectorProtocolTypes.h&gt;',
</span><span class="cx">             '&lt;wtf/Assertions.h&gt;',
</span><ins>+            '&lt;wtf/PassRefPtr.h&gt;'
</ins><span class="cx">         ])
</span><span class="cx"> 
</span><span class="cx">         export_macro = self.model().framework.setting('export_macro', None)
</span><span class="lines">@@ -194,10 +195,9 @@
</span><span class="cx">         lines.append(self._generate_builder_state_enum(type_declaration))
</span><span class="cx"> 
</span><span class="cx">         constructor_example = []
</span><del>-        constructor_example.append('     * Ref&lt;%s&gt; result = %s::create()' % (object_name, object_name))
</del><ins>+        constructor_example.append('     * RefPtr&lt;%s&gt; result = %s::create()' % (object_name, object_name))
</ins><span class="cx">         for member in required_members:
</span><span class="cx">             constructor_example.append('     *     .set%s(...)' % ucfirst(member.member_name))
</span><del>-        constructor_example.append('     *     .release()')
</del><span class="cx"> 
</span><span class="cx">         builder_args = {
</span><span class="cx">             'objectType': object_name,
</span><span class="lines">@@ -302,8 +302,6 @@
</span><span class="cx">         lines.append('    {')
</span><span class="cx">         if isinstance(type_member.type, EnumType):
</span><span class="cx">             lines.append('        InspectorObjectBase::%(keyedSet)s(ASCIILiteral(&quot;%(name)s&quot;), Inspector::Protocol::getEnumConstantValue(static_cast&lt;int&gt;(value)));' % setter_args)
</span><del>-        elif CppGenerator.should_use_references_for_type(type_member.type):
-            lines.append('        InspectorObjectBase::%(keyedSet)s(ASCIILiteral(&quot;%(name)s&quot;), WTF::move(value));' % setter_args)
</del><span class="cx">         else:
</span><span class="cx">             lines.append('        InspectorObjectBase::%(keyedSet)s(ASCIILiteral(&quot;%(name)s&quot;), value);' % setter_args)
</span><span class="cx">         lines.append('    }')
</span><span class="lines">@@ -335,7 +333,7 @@
</span><span class="cx">         for argument in type_arguments:
</span><span class="cx">             lines.append('template&lt;&gt; %s BindingTraits&lt;%s&gt; {' % (' '.join(struct_keywords), argument[0]))
</span><span class="cx">             if argument[1]:
</span><del>-                lines.append('static RefPtr&lt;%s&gt; runtimeCast(RefPtr&lt;Inspector::InspectorValue&gt;&amp;&amp; value);' % argument[0])
</del><ins>+                lines.append('static PassRefPtr&lt;%s&gt; runtimeCast(PassRefPtr&lt;Inspector::InspectorValue&gt; value);' % argument[0])
</ins><span class="cx">             lines.append('#if !ASSERT_DISABLED')
</span><span class="cx">             lines.append('%s assertValueHasExpectedType(Inspector::InspectorValue*);' % ' '.join(function_keywords))
</span><span class="cx">             lines.append('#endif // !ASSERT_DISABLED')
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorscriptscodegengenerate_cpp_protocol_types_implementationpy"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -122,7 +122,6 @@
</span><span class="cx">         lines.append('#if !ASSERT_DISABLED')
</span><span class="cx">         lines.append('void BindingTraits&lt;%s&gt;::assertValueHasExpectedType(Inspector::InspectorValue* value)' % (CppGenerator.cpp_protocol_type_for_type(object_declaration.type)))
</span><span class="cx">         lines.append(&quot;&quot;&quot;{
</span><del>-    ASSERT_ARG(value, value);
</del><span class="cx">     RefPtr&lt;InspectorObject&gt; object;
</span><span class="cx">     bool castSucceeded = value-&gt;asObject(object);
</span><span class="cx">     ASSERT_UNUSED(castSucceeded, castSucceeded);&quot;&quot;&quot;)
</span><span class="lines">@@ -170,7 +169,6 @@
</span><span class="cx">         lines.append('#if !ASSERT_DISABLED')
</span><span class="cx">         lines.append('void %s(Inspector::InspectorValue* value)' % CppGenerator.cpp_assertion_method_for_type_member(enum_member, object_declaration))
</span><span class="cx">         lines.append('{')
</span><del>-        lines.append('    ASSERT_ARG(value, value);')
</del><span class="cx">         lines.append('    String result;')
</span><span class="cx">         lines.append('    bool castSucceeded = value-&gt;asString(result);')
</span><span class="cx">         lines.append('    ASSERT(castSucceeded);')
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorscriptscodegengenerate_objc_backend_dispatcher_implementationpy"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -111,7 +111,7 @@
</span><span class="cx">             lines.append('    id successCallback = ^{')
</span><span class="cx"> 
</span><span class="cx">         if command.return_parameters:
</span><del>-            lines.append('        Ref&lt;InspectorObject&gt; resultObject = InspectorObject::create();')
</del><ins>+            lines.append('        RefPtr&lt;InspectorObject&gt; resultObject = InspectorObject::create();')
</ins><span class="cx"> 
</span><span class="cx">             required_pointer_parameters = filter(lambda parameter: not parameter.is_optional and ObjCGenerator.is_type_objc_pointer_type(parameter.type), command.return_parameters)
</span><span class="cx">             for parameter in required_pointer_parameters:
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorscriptscodegengenerate_objc_frontend_dispatcher_implementationpy"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -116,7 +116,7 @@
</span><span class="cx">         if required_pointer_parameters or optional_pointer_parameters:
</span><span class="cx">             lines.append('')
</span><span class="cx"> 
</span><del>-        lines.append('    Ref&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();')
</del><ins>+        lines.append('    RefPtr&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();')
</ins><span class="cx">         lines.append('    jsonMessage-&gt;setString(ASCIILiteral(&quot;method&quot;), ASCIILiteral(&quot;%s.%s&quot;));' % (domain.domain_name, event.event_name))
</span><span class="cx">         if event.event_parameters:
</span><span class="cx">             lines.extend(self._generate_event_out_parameters(domain, event))
</span><span class="lines">@@ -136,7 +136,7 @@
</span><span class="cx"> 
</span><span class="cx">     def _generate_event_out_parameters(self, domain, event):
</span><span class="cx">         lines = []
</span><del>-        lines.append('    Ref&lt;InspectorObject&gt; paramsObject = InspectorObject::create();')
</del><ins>+        lines.append('    RefPtr&lt;InspectorObject&gt; paramsObject = InspectorObject::create();')
</ins><span class="cx">         for parameter in event.event_parameters:
</span><span class="cx">             keyed_set_method = CppGenerator.cpp_setter_method_for_type(parameter.type)
</span><span class="cx">             var_name = parameter.parameter_name
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorscriptscodegengenerate_objc_protocol_types_implementationpy"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_types_implementation.py (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_types_implementation.py        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_types_implementation.py        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -58,6 +58,7 @@
</span><span class="cx">             '&quot;%sEnumConversionHelpers.h&quot;' % ObjCGenerator.OBJC_PREFIX,
</span><span class="cx">             '&lt;JavaScriptCore/InspectorValues.h&gt;',
</span><span class="cx">             '&lt;wtf/Assertions.h&gt;',
</span><ins>+            '&lt;wtf/PassRefPtr.h&gt;',
</ins><span class="cx">         ]
</span><span class="cx"> 
</span><span class="cx">         header_args = {
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorscriptstestsexpectedcommandswithasyncattributejsonresult"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/commands-with-async-attribute.json-result (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/commands-with-async-attribute.json-result        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/commands-with-async-attribute.json-result        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -41,10 +41,10 @@
</span><span class="cx"> 
</span><span class="cx"> class AlternateInspectorBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    void setBackendDispatcher(Ref&lt;InspectorBackendDispatcher&gt;&amp;&amp; dispatcher) { m_backendDispatcher = WTF::move(dispatcher); }
-    const InspectorBackendDispatcher&amp; backendDispatcher() const { return m_backendDispatcher.get(); }
</del><ins>+    void setBackendDispatcher(PassRefPtr&lt;InspectorBackendDispatcher&gt; dispatcher) { m_backendDispatcher = dispatcher; }
+    InspectorBackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
</ins><span class="cx"> private:
</span><del>-    Ref&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    RefPtr&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -143,6 +143,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorBackendDispatcher.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -171,32 +172,32 @@
</span><span class="cx">     virtual void executeSQLSyncOptionalReturnValues(ErrorString&amp;, int in_databaseId, const String&amp; in_query, RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt;&amp; opt_out_columnNames, Inspector::Protocol::OptOutput&lt;String&gt;* opt_out_notes, Inspector::Protocol::OptOutput&lt;double&gt;* opt_out_timestamp, Inspector::Protocol::OptOutput&lt;Inspector::InspectorObject&gt;* opt_out_values, Inspector::Protocol::OptOutput&lt;Inspector::InspectorValue&gt;* opt_out_payload, Inspector::Protocol::OptOutput&lt;int&gt;* opt_out_databaseId, RefPtr&lt;Inspector::Protocol::Database::Error&gt;&amp; opt_out_sqlError, Inspector::Protocol::Database::PrimaryColors* opt_out_screenColor, InspectorDatabaseBackendDispatcherHandler::PrintColor* opt_out_printColor) = 0;
</span><span class="cx">     class ExecuteSQLAsyncOptionalReturnValuesCallback : public Inspector::InspectorBackendDispatcher::CallbackBase {
</span><span class="cx">     public:
</span><del>-        ExecuteSQLAsyncOptionalReturnValuesCallback(Ref&lt;Inspector::InspectorBackendDispatcher&gt;&amp;&amp;, int id);
-        void sendSuccess(RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt;&amp;&amp; columnNames, Inspector::Protocol::OptOutput&lt;String&gt;* notes, Inspector::Protocol::OptOutput&lt;double&gt;* timestamp, Inspector::Protocol::OptOutput&lt;Inspector::InspectorObject&gt;* values, Inspector::Protocol::OptOutput&lt;Inspector::InspectorValue&gt;* payload, Inspector::Protocol::OptOutput&lt;int&gt;* databaseId, RefPtr&lt;Inspector::Protocol::Database::Error&gt;&amp;&amp; sqlError, Inspector::Protocol::OptOutput&lt;String&gt;* screenColor, Inspector::Protocol::OptOutput&lt;String&gt;* printColor);
</del><ins>+        ExecuteSQLAsyncOptionalReturnValuesCallback(PassRefPtr&lt;Inspector::InspectorBackendDispatcher&gt;, int id);
+        void sendSuccess(PassRefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; columnNames, Inspector::Protocol::OptOutput&lt;String&gt;* notes, Inspector::Protocol::OptOutput&lt;double&gt;* timestamp, Inspector::Protocol::OptOutput&lt;Inspector::InspectorObject&gt;* values, Inspector::Protocol::OptOutput&lt;Inspector::InspectorValue&gt;* payload, Inspector::Protocol::OptOutput&lt;int&gt;* databaseId, PassRefPtr&lt;Inspector::Protocol::Database::Error&gt; sqlError, Inspector::Protocol::OptOutput&lt;String&gt;* screenColor, Inspector::Protocol::OptOutput&lt;String&gt;* printColor);
</ins><span class="cx">     };
</span><del>-    virtual void executeSQLAsyncOptionalReturnValues(ErrorString&amp;, int in_databaseId, const String&amp; in_query, Ref&lt;ExecuteSQLAsyncOptionalReturnValuesCallback&gt;&amp;&amp; callback) = 0;
</del><ins>+    virtual void executeSQLAsyncOptionalReturnValues(ErrorString&amp;, int in_databaseId, const String&amp; in_query, PassRefPtr&lt;ExecuteSQLAsyncOptionalReturnValuesCallback&gt; callback) = 0;
</ins><span class="cx">     virtual void executeSQLSync(ErrorString&amp;, int in_databaseId, const String&amp; in_query, RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt;&amp; out_columnNames, String* out_notes, double* out_timestamp, Inspector::InspectorObject* out_values, Inspector::InspectorValue* out_payload, int* out_databaseId, RefPtr&lt;Inspector::Protocol::Database::Error&gt;&amp; out_sqlError, Inspector::Protocol::Database::PrimaryColors* out_screenColor, InspectorDatabaseBackendDispatcherHandler::PrintColor* out_printColor) = 0;
</span><span class="cx">     class ExecuteSQLAsyncCallback : public Inspector::InspectorBackendDispatcher::CallbackBase {
</span><span class="cx">     public:
</span><del>-        ExecuteSQLAsyncCallback(Ref&lt;Inspector::InspectorBackendDispatcher&gt;&amp;&amp;, int id);
-        void sendSuccess(RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt;&amp;&amp; columnNames, const String&amp; notes, double timestamp, Inspector::InspectorObject values, Inspector::InspectorValue payload, int databaseId, RefPtr&lt;Inspector::Protocol::Database::Error&gt;&amp;&amp; sqlError, const String&amp; screenColor, const String&amp; printColor);
</del><ins>+        ExecuteSQLAsyncCallback(PassRefPtr&lt;Inspector::InspectorBackendDispatcher&gt;, int id);
+        void sendSuccess(PassRefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; columnNames, const String&amp; notes, double timestamp, Inspector::InspectorObject values, Inspector::InspectorValue payload, int databaseId, PassRefPtr&lt;Inspector::Protocol::Database::Error&gt; sqlError, const String&amp; screenColor, const String&amp; printColor);
</ins><span class="cx">     };
</span><del>-    virtual void executeSQLAsync(ErrorString&amp;, int in_databaseId, const String&amp; in_query, Ref&lt;ExecuteSQLAsyncCallback&gt;&amp;&amp; callback) = 0;
</del><ins>+    virtual void executeSQLAsync(ErrorString&amp;, int in_databaseId, const String&amp; in_query, PassRefPtr&lt;ExecuteSQLAsyncCallback&gt; callback) = 0;
</ins><span class="cx"> protected:
</span><span class="cx">     virtual ~InspectorDatabaseBackendDispatcherHandler();
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class InspectorDatabaseBackendDispatcher final : public Inspector::InspectorSupplementalBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    static Ref&lt;InspectorDatabaseBackendDispatcher&gt; create(Inspector::InspectorBackendDispatcher*, InspectorDatabaseBackendDispatcherHandler*);
-    virtual void dispatch(long callId, const String&amp; method, Ref&lt;Inspector::InspectorObject&gt;&amp;&amp; message) override;
</del><ins>+    static PassRefPtr&lt;InspectorDatabaseBackendDispatcher&gt; create(Inspector::InspectorBackendDispatcher*, InspectorDatabaseBackendDispatcherHandler*);
+    virtual void dispatch(long callId, const String&amp; method, PassRefPtr&lt;Inspector::InspectorObject&gt; message) override;
</ins><span class="cx"> private:
</span><span class="cx">     void executeSQLSyncOptionalReturnValues(long callId, const Inspector::InspectorObject&amp; message);
</span><span class="cx">     void executeSQLAsyncOptionalReturnValues(long callId, const Inspector::InspectorObject&amp; message);
</span><span class="cx">     void executeSQLSync(long callId, const Inspector::InspectorObject&amp; message);
</span><span class="cx">     void executeSQLAsync(long callId, const Inspector::InspectorObject&amp; message);
</span><span class="cx"> private:
</span><del>-    InspectorDatabaseBackendDispatcher(Inspector::InspectorBackendDispatcher&amp;, InspectorDatabaseBackendDispatcherHandler*);
</del><ins>+    InspectorDatabaseBackendDispatcher(Inspector::InspectorBackendDispatcher*, InspectorDatabaseBackendDispatcherHandler*);
</ins><span class="cx">     InspectorDatabaseBackendDispatcherHandler* m_agent;
</span><span class="cx"> #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
</span><span class="cx"> public:
</span><span class="lines">@@ -261,12 +262,12 @@
</span><span class="cx"> 
</span><span class="cx"> InspectorDatabaseBackendDispatcherHandler::~InspectorDatabaseBackendDispatcherHandler() { }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorDatabaseBackendDispatcher&gt; InspectorDatabaseBackendDispatcher::create(InspectorBackendDispatcher* backendDispatcher, InspectorDatabaseBackendDispatcherHandler* agent)
</del><ins>+PassRefPtr&lt;InspectorDatabaseBackendDispatcher&gt; InspectorDatabaseBackendDispatcher::create(InspectorBackendDispatcher* backendDispatcher, InspectorDatabaseBackendDispatcherHandler* agent)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new InspectorDatabaseBackendDispatcher(*backendDispatcher, agent));
</del><ins>+    return adoptRef(new InspectorDatabaseBackendDispatcher(backendDispatcher, agent));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-InspectorDatabaseBackendDispatcher::InspectorDatabaseBackendDispatcher(InspectorBackendDispatcher&amp; backendDispatcher, InspectorDatabaseBackendDispatcherHandler* agent)
</del><ins>+InspectorDatabaseBackendDispatcher::InspectorDatabaseBackendDispatcher(InspectorBackendDispatcher* backendDispatcher, InspectorDatabaseBackendDispatcherHandler* agent)
</ins><span class="cx">     : InspectorSupplementalBackendDispatcher(backendDispatcher)
</span><span class="cx">     , m_agent(agent)
</span><span class="cx"> #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
</span><span class="lines">@@ -276,32 +277,33 @@
</span><span class="cx">     m_backendDispatcher-&gt;registerDispatcherForDomain(ASCIILiteral(&quot;Database&quot;), this);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDatabaseBackendDispatcher::dispatch(long callId, const String&amp; method, Ref&lt;InspectorObject&gt;&amp;&amp; message)
</del><ins>+void InspectorDatabaseBackendDispatcher::dispatch(long callId, const String&amp; method, PassRefPtr&lt;InspectorObject&gt; message)
</ins><span class="cx"> {
</span><span class="cx">     Ref&lt;InspectorDatabaseBackendDispatcher&gt; protect(*this);
</span><span class="cx"> 
</span><span class="cx">     if (method == &quot;executeSQLSyncOptionalReturnValues&quot;)
</span><del>-        executeSQLSyncOptionalReturnValues(callId, message);
</del><ins>+        executeSQLSyncOptionalReturnValues(callId, *message.get());
</ins><span class="cx">     else if (method == &quot;executeSQLAsyncOptionalReturnValues&quot;)
</span><del>-        executeSQLAsyncOptionalReturnValues(callId, message);
</del><ins>+        executeSQLAsyncOptionalReturnValues(callId, *message.get());
</ins><span class="cx">     else if (method == &quot;executeSQLSync&quot;)
</span><del>-        executeSQLSync(callId, message);
</del><ins>+        executeSQLSync(callId, *message.get());
</ins><span class="cx">     else if (method == &quot;executeSQLAsync&quot;)
</span><del>-        executeSQLAsync(callId, message);
</del><ins>+        executeSQLAsync(callId, *message.get());
</ins><span class="cx">     else
</span><span class="cx">         m_backendDispatcher-&gt;reportProtocolError(&amp;callId, InspectorBackendDispatcher::MethodNotFound, makeString('\'', &quot;Database&quot;, '.', method, &quot;' was not found&quot;));
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorDatabaseBackendDispatcher::executeSQLSyncOptionalReturnValues(long callId, const InspectorObject&amp; message)
</span><span class="cx"> {
</span><del>-    auto protocolErrors = Inspector::Protocol::Array&lt;String&gt;::create();
-    RefPtr&lt;InspectorObject&gt; paramsContainer;
-    message.getObject(ASCIILiteral(&quot;params&quot;), paramsContainer);
-    int in_databaseId = InspectorBackendDispatcher::getInteger(paramsContainer.get(), ASCIILiteral(&quot;databaseId&quot;), nullptr, protocolErrors.get());
-    String in_query = InspectorBackendDispatcher::getString(paramsContainer.get(), ASCIILiteral(&quot;query&quot;), nullptr, protocolErrors.get());
</del><ins>+    RefPtr&lt;InspectorArray&gt; protocolErrors = InspectorArray::create();
+    RefPtr&lt;InspectorObject&gt; paramsContainer = message.getObject(ASCIILiteral(&quot;params&quot;));
+    InspectorObject* paramsContainerPtr = paramsContainer.get();
+    InspectorArray* protocolErrorsPtr = protocolErrors.get();
+    int in_databaseId = InspectorBackendDispatcher::getInteger(paramsContainerPtr, ASCIILiteral(&quot;databaseId&quot;), nullptr, protocolErrorsPtr);
+    String in_query = InspectorBackendDispatcher::getString(paramsContainerPtr, ASCIILiteral(&quot;query&quot;), nullptr, protocolErrorsPtr);
</ins><span class="cx">     if (protocolErrors-&gt;length()) {
</span><span class="cx">         String errorMessage = String::format(&quot;Some arguments of method '%s' can't be processed&quot;, &quot;Database.executeSQLSyncOptionalReturnValues&quot;);
</span><del>-        m_backendDispatcher-&gt;reportProtocolError(&amp;callId, InspectorBackendDispatcher::InvalidParams, errorMessage, WTF::move(protocolErrors));
</del><ins>+        m_backendDispatcher-&gt;reportProtocolError(&amp;callId, InspectorBackendDispatcher::InvalidParams, errorMessage, protocolErrors.release());
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -313,7 +315,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ErrorString error;
</span><del>-    Ref&lt;InspectorObject&gt; result = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();
</ins><span class="cx">     RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; out_columnNames;
</span><span class="cx">     Inspector::Protocol::OptOutput&lt;String&gt; out_notes;
</span><span class="cx">     Inspector::Protocol::OptOutput&lt;double&gt; out_timestamp;
</span><span class="lines">@@ -345,14 +347,14 @@
</span><span class="cx">         if (out_printColor.isAssigned())
</span><span class="cx">             result-&gt;setString(ASCIILiteral(&quot;printColor&quot;), out_printColor.getValue());
</span><span class="cx">     }
</span><del>-    m_backendDispatcher-&gt;sendResponse(callId, WTF::move(result), error);
</del><ins>+    m_backendDispatcher-&gt;sendResponse(callId, result.release(), error);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-InspectorDatabaseBackendDispatcherHandler::ExecuteSQLAsyncOptionalReturnValuesCallback::ExecuteSQLAsyncOptionalReturnValuesCallback(Ref&lt;InspectorBackendDispatcher&gt;&amp;&amp; backendDispatcher, int id) : Inspector::InspectorBackendDispatcher::CallbackBase(WTF::move(backendDispatcher), id) { }
</del><ins>+InspectorDatabaseBackendDispatcherHandler::ExecuteSQLAsyncOptionalReturnValuesCallback::ExecuteSQLAsyncOptionalReturnValuesCallback(PassRefPtr&lt;InspectorBackendDispatcher&gt; backendDispatcher, int id) : Inspector::InspectorBackendDispatcher::CallbackBase(backendDispatcher, id) { }
</ins><span class="cx"> 
</span><del>-void InspectorDatabaseBackendDispatcherHandler::ExecuteSQLAsyncOptionalReturnValuesCallback::sendSuccess(RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt;&amp;&amp; columnNames, Inspector::Protocol::OptOutput&lt;String&gt;* notes, Inspector::Protocol::OptOutput&lt;double&gt;* timestamp, Inspector::Protocol::OptOutput&lt;Inspector::InspectorObject&gt;* values, Inspector::Protocol::OptOutput&lt;Inspector::InspectorValue&gt;* payload, Inspector::Protocol::OptOutput&lt;int&gt;* databaseId, RefPtr&lt;Inspector::Protocol::Database::Error&gt;&amp;&amp; sqlError, Inspector::Protocol::OptOutput&lt;String&gt;* screenColor, Inspector::Protocol::OptOutput&lt;String&gt;* printColor)
</del><ins>+void InspectorDatabaseBackendDispatcherHandler::ExecuteSQLAsyncOptionalReturnValuesCallback::sendSuccess(PassRefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; columnNames, Inspector::Protocol::OptOutput&lt;String&gt;* notes, Inspector::Protocol::OptOutput&lt;double&gt;* timestamp, Inspector::Protocol::OptOutput&lt;Inspector::InspectorObject&gt;* values, Inspector::Protocol::OptOutput&lt;Inspector::InspectorValue&gt;* payload, Inspector::Protocol::OptOutput&lt;int&gt;* databaseId, PassRefPtr&lt;Inspector::Protocol::Database::Error&gt; sqlError, Inspector::Protocol::OptOutput&lt;String&gt;* screenColor, Inspector::Protocol::OptOutput&lt;String&gt;* printColor)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</ins><span class="cx">     if (columnNames)
</span><span class="cx">         jsonMessage-&gt;setArray(ASCIILiteral(&quot;columnNames&quot;), columnNames);
</span><span class="cx">     if (notes.isAssigned())
</span><span class="lines">@@ -371,19 +373,20 @@
</span><span class="cx">         jsonMessage-&gt;setString(ASCIILiteral(&quot;screenColor&quot;), screenColor.getValue());
</span><span class="cx">     if (printColor.isAssigned())
</span><span class="cx">         jsonMessage-&gt;setString(ASCIILiteral(&quot;printColor&quot;), printColor.getValue());
</span><del>-    sendIfActive(WTF::move(jsonMessage), ErrorString());
</del><ins>+    sendIfActive(jsonMessage, ErrorString());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorDatabaseBackendDispatcher::executeSQLAsyncOptionalReturnValues(long callId, const InspectorObject&amp; message)
</span><span class="cx"> {
</span><del>-    auto protocolErrors = Inspector::Protocol::Array&lt;String&gt;::create();
-    RefPtr&lt;InspectorObject&gt; paramsContainer;
-    message.getObject(ASCIILiteral(&quot;params&quot;), paramsContainer);
-    int in_databaseId = InspectorBackendDispatcher::getInteger(paramsContainer.get(), ASCIILiteral(&quot;databaseId&quot;), nullptr, protocolErrors.get());
-    String in_query = InspectorBackendDispatcher::getString(paramsContainer.get(), ASCIILiteral(&quot;query&quot;), nullptr, protocolErrors.get());
</del><ins>+    RefPtr&lt;InspectorArray&gt; protocolErrors = InspectorArray::create();
+    RefPtr&lt;InspectorObject&gt; paramsContainer = message.getObject(ASCIILiteral(&quot;params&quot;));
+    InspectorObject* paramsContainerPtr = paramsContainer.get();
+    InspectorArray* protocolErrorsPtr = protocolErrors.get();
+    int in_databaseId = InspectorBackendDispatcher::getInteger(paramsContainerPtr, ASCIILiteral(&quot;databaseId&quot;), nullptr, protocolErrorsPtr);
+    String in_query = InspectorBackendDispatcher::getString(paramsContainerPtr, ASCIILiteral(&quot;query&quot;), nullptr, protocolErrorsPtr);
</ins><span class="cx">     if (protocolErrors-&gt;length()) {
</span><span class="cx">         String errorMessage = String::format(&quot;Some arguments of method '%s' can't be processed&quot;, &quot;Database.executeSQLAsyncOptionalReturnValues&quot;);
</span><del>-        m_backendDispatcher-&gt;reportProtocolError(&amp;callId, InspectorBackendDispatcher::InvalidParams, errorMessage, WTF::move(protocolErrors));
</del><ins>+        m_backendDispatcher-&gt;reportProtocolError(&amp;callId, InspectorBackendDispatcher::InvalidParams, errorMessage, protocolErrors.release());
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -395,9 +398,9 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ErrorString error;
</span><del>-    Ref&lt;InspectorObject&gt; result = InspectorObject::create();
-    Ref&lt;InspectorDatabaseBackendDispatcherHandler::ExecuteSQLAsyncOptionalReturnValuesCallback&gt; callback = adoptRef(*new InspectorDatabaseBackendDispatcherHandler::ExecuteSQLAsyncOptionalReturnValuesCallback(m_backendDispatcher.copyRef(), callId));
-    m_agent-&gt;executeSQLAsyncOptionalReturnValues(error, in_databaseId, in_query, callback.copyRef());
</del><ins>+    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();
+    RefPtr&lt;InspectorDatabaseBackendDispatcherHandler::ExecuteSQLAsyncOptionalReturnValuesCallback&gt; callback = adoptRef(new InspectorDatabaseBackendDispatcherHandler::ExecuteSQLAsyncOptionalReturnValuesCallback(m_backendDispatcher,callId));
+    m_agent-&gt;executeSQLAsyncOptionalReturnValues(error, in_databaseId, in_query, callback);
</ins><span class="cx"> 
</span><span class="cx">     if (error.length()) {
</span><span class="cx">         callback-&gt;disable();
</span><span class="lines">@@ -408,14 +411,15 @@
</span><span class="cx"> 
</span><span class="cx"> void InspectorDatabaseBackendDispatcher::executeSQLSync(long callId, const InspectorObject&amp; message)
</span><span class="cx"> {
</span><del>-    auto protocolErrors = Inspector::Protocol::Array&lt;String&gt;::create();
-    RefPtr&lt;InspectorObject&gt; paramsContainer;
-    message.getObject(ASCIILiteral(&quot;params&quot;), paramsContainer);
-    int in_databaseId = InspectorBackendDispatcher::getInteger(paramsContainer.get(), ASCIILiteral(&quot;databaseId&quot;), nullptr, protocolErrors.get());
-    String in_query = InspectorBackendDispatcher::getString(paramsContainer.get(), ASCIILiteral(&quot;query&quot;), nullptr, protocolErrors.get());
</del><ins>+    RefPtr&lt;InspectorArray&gt; protocolErrors = InspectorArray::create();
+    RefPtr&lt;InspectorObject&gt; paramsContainer = message.getObject(ASCIILiteral(&quot;params&quot;));
+    InspectorObject* paramsContainerPtr = paramsContainer.get();
+    InspectorArray* protocolErrorsPtr = protocolErrors.get();
+    int in_databaseId = InspectorBackendDispatcher::getInteger(paramsContainerPtr, ASCIILiteral(&quot;databaseId&quot;), nullptr, protocolErrorsPtr);
+    String in_query = InspectorBackendDispatcher::getString(paramsContainerPtr, ASCIILiteral(&quot;query&quot;), nullptr, protocolErrorsPtr);
</ins><span class="cx">     if (protocolErrors-&gt;length()) {
</span><span class="cx">         String errorMessage = String::format(&quot;Some arguments of method '%s' can't be processed&quot;, &quot;Database.executeSQLSync&quot;);
</span><del>-        m_backendDispatcher-&gt;reportProtocolError(&amp;callId, InspectorBackendDispatcher::InvalidParams, errorMessage, WTF::move(protocolErrors));
</del><ins>+        m_backendDispatcher-&gt;reportProtocolError(&amp;callId, InspectorBackendDispatcher::InvalidParams, errorMessage, protocolErrors.release());
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -427,7 +431,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ErrorString error;
</span><del>-    Ref&lt;InspectorObject&gt; result = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();
</ins><span class="cx">     RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; out_columnNames;
</span><span class="cx">     String out_notes;
</span><span class="cx">     double out_timestamp;
</span><span class="lines">@@ -450,14 +454,14 @@
</span><span class="cx">         result-&gt;setString(ASCIILiteral(&quot;screenColor&quot;), Inspector::Protocol::getEnumConstantValue(out_screenColor));
</span><span class="cx">         result-&gt;setString(ASCIILiteral(&quot;printColor&quot;), Inspector::Protocol::getEnumConstantValue(out_printColor));
</span><span class="cx">     }
</span><del>-    m_backendDispatcher-&gt;sendResponse(callId, WTF::move(result), error);
</del><ins>+    m_backendDispatcher-&gt;sendResponse(callId, result.release(), error);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-InspectorDatabaseBackendDispatcherHandler::ExecuteSQLAsyncCallback::ExecuteSQLAsyncCallback(Ref&lt;InspectorBackendDispatcher&gt;&amp;&amp; backendDispatcher, int id) : Inspector::InspectorBackendDispatcher::CallbackBase(WTF::move(backendDispatcher), id) { }
</del><ins>+InspectorDatabaseBackendDispatcherHandler::ExecuteSQLAsyncCallback::ExecuteSQLAsyncCallback(PassRefPtr&lt;InspectorBackendDispatcher&gt; backendDispatcher, int id) : Inspector::InspectorBackendDispatcher::CallbackBase(backendDispatcher, id) { }
</ins><span class="cx"> 
</span><del>-void InspectorDatabaseBackendDispatcherHandler::ExecuteSQLAsyncCallback::sendSuccess(RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt;&amp;&amp; columnNames, const String&amp; notes, double timestamp, Inspector::InspectorObject values, Inspector::InspectorValue payload, int databaseId, RefPtr&lt;Inspector::Protocol::Database::Error&gt;&amp;&amp; sqlError, const String&amp; screenColor, const String&amp; printColor)
</del><ins>+void InspectorDatabaseBackendDispatcherHandler::ExecuteSQLAsyncCallback::sendSuccess(PassRefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; columnNames, const String&amp; notes, double timestamp, Inspector::InspectorObject values, Inspector::InspectorValue payload, int databaseId, PassRefPtr&lt;Inspector::Protocol::Database::Error&gt; sqlError, const String&amp; screenColor, const String&amp; printColor)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</ins><span class="cx">     jsonMessage-&gt;setArray(ASCIILiteral(&quot;columnNames&quot;), columnNames);
</span><span class="cx">     jsonMessage-&gt;setString(ASCIILiteral(&quot;notes&quot;), notes);
</span><span class="cx">     jsonMessage-&gt;setDouble(ASCIILiteral(&quot;timestamp&quot;), timestamp);
</span><span class="lines">@@ -467,19 +471,20 @@
</span><span class="cx">     jsonMessage-&gt;setObject(ASCIILiteral(&quot;sqlError&quot;), sqlError);
</span><span class="cx">     jsonMessage-&gt;setString(ASCIILiteral(&quot;screenColor&quot;), Inspector::Protocol::getEnumConstantValue(screenColor));
</span><span class="cx">     jsonMessage-&gt;setString(ASCIILiteral(&quot;printColor&quot;), Inspector::Protocol::getEnumConstantValue(printColor));
</span><del>-    sendIfActive(WTF::move(jsonMessage), ErrorString());
</del><ins>+    sendIfActive(jsonMessage, ErrorString());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorDatabaseBackendDispatcher::executeSQLAsync(long callId, const InspectorObject&amp; message)
</span><span class="cx"> {
</span><del>-    auto protocolErrors = Inspector::Protocol::Array&lt;String&gt;::create();
-    RefPtr&lt;InspectorObject&gt; paramsContainer;
-    message.getObject(ASCIILiteral(&quot;params&quot;), paramsContainer);
-    int in_databaseId = InspectorBackendDispatcher::getInteger(paramsContainer.get(), ASCIILiteral(&quot;databaseId&quot;), nullptr, protocolErrors.get());
-    String in_query = InspectorBackendDispatcher::getString(paramsContainer.get(), ASCIILiteral(&quot;query&quot;), nullptr, protocolErrors.get());
</del><ins>+    RefPtr&lt;InspectorArray&gt; protocolErrors = InspectorArray::create();
+    RefPtr&lt;InspectorObject&gt; paramsContainer = message.getObject(ASCIILiteral(&quot;params&quot;));
+    InspectorObject* paramsContainerPtr = paramsContainer.get();
+    InspectorArray* protocolErrorsPtr = protocolErrors.get();
+    int in_databaseId = InspectorBackendDispatcher::getInteger(paramsContainerPtr, ASCIILiteral(&quot;databaseId&quot;), nullptr, protocolErrorsPtr);
+    String in_query = InspectorBackendDispatcher::getString(paramsContainerPtr, ASCIILiteral(&quot;query&quot;), nullptr, protocolErrorsPtr);
</ins><span class="cx">     if (protocolErrors-&gt;length()) {
</span><span class="cx">         String errorMessage = String::format(&quot;Some arguments of method '%s' can't be processed&quot;, &quot;Database.executeSQLAsync&quot;);
</span><del>-        m_backendDispatcher-&gt;reportProtocolError(&amp;callId, InspectorBackendDispatcher::InvalidParams, errorMessage, WTF::move(protocolErrors));
</del><ins>+        m_backendDispatcher-&gt;reportProtocolError(&amp;callId, InspectorBackendDispatcher::InvalidParams, errorMessage, protocolErrors.release());
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -491,9 +496,9 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ErrorString error;
</span><del>-    Ref&lt;InspectorObject&gt; result = InspectorObject::create();
-    Ref&lt;InspectorDatabaseBackendDispatcherHandler::ExecuteSQLAsyncCallback&gt; callback = adoptRef(*new InspectorDatabaseBackendDispatcherHandler::ExecuteSQLAsyncCallback(m_backendDispatcher.copyRef(), callId));
-    m_agent-&gt;executeSQLAsync(error, in_databaseId, in_query, callback.copyRef());
</del><ins>+    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();
+    RefPtr&lt;InspectorDatabaseBackendDispatcherHandler::ExecuteSQLAsyncCallback&gt; callback = adoptRef(new InspectorDatabaseBackendDispatcherHandler::ExecuteSQLAsyncCallback(m_backendDispatcher,callId));
+    m_agent-&gt;executeSQLAsync(error, in_databaseId, in_query, callback);
</ins><span class="cx"> 
</span><span class="cx">     if (error.length()) {
</span><span class="cx">         callback-&gt;disable();
</span><span class="lines">@@ -547,6 +552,7 @@
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorFrontendChannel.h&gt;
</span><span class="cx"> #include &lt;inspector/InspectorValues.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -644,6 +650,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &lt;inspector/InspectorProtocolTypes.h&gt;
</span><span class="cx"> #include &lt;wtf/Assertions.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><span class="lines">@@ -700,10 +707,10 @@
</span><span class="cx">             return *reinterpret_cast&lt;Builder&lt;STATE | STEP&gt;*&gt;(this);
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Builder(Ref&lt;/*Error*/Inspector::InspectorObject&gt;&amp;&amp; object)
-            : m_result(WTF::move(object))
</del><ins>+        Builder(PassRefPtr&lt;/*Error*/Inspector::InspectorObject&gt; ptr)
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
</span><ins>+            m_result = ptr;
</ins><span class="cx">         }
</span><span class="cx">         friend class Error;
</span><span class="cx">     public:
</span><span class="lines">@@ -722,27 +729,30 @@
</span><span class="cx">             return castState&lt;CodeSet&gt;();
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Ref&lt;Error&gt; release()
</del><ins>+        operator RefPtr&lt;Error&gt;&amp; ()
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready);
</span><span class="cx">             COMPILE_ASSERT(sizeof(Error) == sizeof(Inspector::InspectorObject), cannot_cast);
</span><ins>+            return *reinterpret_cast&lt;RefPtr&lt;Error&gt;*&gt;(&amp;m_result);
+        }
</ins><span class="cx"> 
</span><del>-            Ref&lt;Inspector::InspectorObject&gt; result = m_result.releaseNonNull();
-            return WTF::move(*reinterpret_cast&lt;Ref&lt;Error&gt;*&gt;(&amp;result));
</del><ins>+        PassRefPtr&lt;Error&gt; release()
+        {
+            return RefPtr&lt;Error&gt;(*this).release();
</ins><span class="cx">         }
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     /*
</span><span class="cx">      * Synthetic constructor:
</span><del>-     * Ref&lt;Error&gt; result = Error::create()
</del><ins>+     * RefPtr&lt;Error&gt; result = Error::create()
</ins><span class="cx">      *     .setMessage(...)
</span><del>-     *     .setCode(...)
-     *     .release();
</del><ins>+     *     .setCode(...);
</ins><span class="cx">      */
</span><span class="cx">     static Builder&lt;NoFieldsSet&gt; create()
</span><span class="cx">     {
</span><span class="cx">         return Builder&lt;NoFieldsSet&gt;(Inspector::InspectorObject::create());
</span><span class="cx">     }
</span><ins>+    typedef Inspector::Protocol::StructItemTraits ItemTraits;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // Database
</span><span class="lines">@@ -1055,7 +1065,7 @@
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     id successCallback = ^(NSArray/*&lt;NSString&gt;*/ **columnNames, NSString **notes, double *timestamp, RWIProtocolJSONObject **values, RWIProtocolJSONObject **payload, int *databaseId, RWIProtocolDatabaseError **sqlError, RWIProtocolDatabasePrimaryColors *screenColor, RWIProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColor *printColor) {
</span><del>-        Ref&lt;InspectorObject&gt; resultObject = InspectorObject::create();
</del><ins>+        RefPtr&lt;InspectorObject&gt; resultObject = InspectorObject::create();
</ins><span class="cx">         THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(columnNames, @&quot;columnNames&quot;);
</span><span class="cx">         THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(notes, @&quot;notes&quot;);
</span><span class="cx">         THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(values, @&quot;values&quot;);
</span><span class="lines">@@ -1095,7 +1105,7 @@
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     id successCallback = ^(NSArray/*&lt;NSString&gt;*/ **columnNames, NSString **notes, double *timestamp, RWIProtocolJSONObject **values, RWIProtocolJSONObject **payload, int *databaseId, RWIProtocolDatabaseError **sqlError, RWIProtocolDatabasePrimaryColors *screenColor, RWIProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColor *printColor) {
</span><del>-        Ref&lt;InspectorObject&gt; resultObject = InspectorObject::create();
</del><ins>+        RefPtr&lt;InspectorObject&gt; resultObject = InspectorObject::create();
</ins><span class="cx">         THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(columnNames, @&quot;columnNames&quot;);
</span><span class="cx">         THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(notes, @&quot;notes&quot;);
</span><span class="cx">         THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(values, @&quot;values&quot;);
</span><span class="lines">@@ -1135,7 +1145,7 @@
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     id successCallback = ^(NSArray/*&lt;NSString&gt;*/ *columnNames, NSString *notes, double timestamp, RWIProtocolJSONObject *values, RWIProtocolJSONObject *payload, int databaseId, RWIProtocolDatabaseError *sqlError, RWIProtocolDatabasePrimaryColors screenColor, RWIProtocolDatabaseExecuteSQLSyncPrintColor printColor) {
</span><del>-        Ref&lt;InspectorObject&gt; resultObject = InspectorObject::create();
</del><ins>+        RefPtr&lt;InspectorObject&gt; resultObject = InspectorObject::create();
</ins><span class="cx">         THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(columnNames, @&quot;columnNames&quot;);
</span><span class="cx">         THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(notes, @&quot;notes&quot;);
</span><span class="cx">         THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(values, @&quot;values&quot;);
</span><span class="lines">@@ -1166,7 +1176,7 @@
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     id successCallback = ^(NSArray/*&lt;NSString&gt;*/ *columnNames, NSString *notes, double timestamp, RWIProtocolJSONObject *values, RWIProtocolJSONObject *payload, int databaseId, RWIProtocolDatabaseError *sqlError, RWIProtocolDatabasePrimaryColors screenColor, RWIProtocolDatabaseExecuteSQLAsyncPrintColor printColor) {
</span><del>-        Ref&lt;InspectorObject&gt; resultObject = InspectorObject::create();
</del><ins>+        RefPtr&lt;InspectorObject&gt; resultObject = InspectorObject::create();
</ins><span class="cx">         THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(columnNames, @&quot;columnNames&quot;);
</span><span class="cx">         THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(notes, @&quot;notes&quot;);
</span><span class="cx">         THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(values, @&quot;values&quot;);
</span><span class="lines">@@ -1555,6 +1565,7 @@
</span><span class="cx"> #import &quot;RWIProtocolEnumConversionHelpers.h&quot;
</span><span class="cx"> #import &lt;JavaScriptCore/InspectorValues.h&gt;
</span><span class="cx"> #import &lt;wtf/Assertions.h&gt;
</span><ins>+#import &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> using namespace Inspector;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorscriptstestsexpectedcommandswithoptionalcallreturnparametersjsonresult"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -41,18 +41,18 @@
</span><span class="cx"> 
</span><span class="cx"> class AlternateInspectorBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    void setBackendDispatcher(Ref&lt;InspectorBackendDispatcher&gt;&amp;&amp; dispatcher) { m_backendDispatcher = WTF::move(dispatcher); }
-    const InspectorBackendDispatcher&amp; backendDispatcher() const { return m_backendDispatcher.get(); }
</del><ins>+    void setBackendDispatcher(PassRefPtr&lt;InspectorBackendDispatcher&gt; dispatcher) { m_backendDispatcher = dispatcher; }
+    InspectorBackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
</ins><span class="cx"> private:
</span><del>-    Ref&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    RefPtr&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> class AlternateInspectorDatabaseBackendDispatcher : public AlternateInspectorBackendDispatcher {
</span><span class="cx"> public:
</span><span class="cx">     virtual ~AlternateInspectorDatabaseBackendDispatcher() { }
</span><del>-    virtual void executeAllOptionalParameters(long callId, const RefPtr&lt;Inspector::InspectorArray&gt;&amp;&amp; in_columnNames, const String* in_notes, const double* in_timestamp, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; in_values, const Inspector::InspectorValue* in_payload, const int* in_databaseId, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; in_sqlError, const String* in_screenColor, const String* in_printColor) = 0;
-    virtual void executeNoOptionalParameters(long callId, const RefPtr&lt;Inspector::InspectorArray&gt;&amp;&amp; in_columnNames, const String&amp; in_notes, double in_timestamp, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; in_values, Inspector::InspectorValue in_payload, int in_databaseId, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; in_sqlError, const String&amp; in_screenColor, const String&amp; in_printColor) = 0;
</del><ins>+    virtual void executeAllOptionalParameters(long callId, const RefPtr&lt;Inspector::InspectorArray&gt;* in_columnNames, const String* in_notes, const double* in_timestamp, const RefPtr&lt;Inspector::InspectorObject&gt;* in_values, const Inspector::InspectorValue* in_payload, const int* in_databaseId, const RefPtr&lt;Inspector::InspectorObject&gt;* in_sqlError, const String* in_screenColor, const String* in_printColor) = 0;
+    virtual void executeNoOptionalParameters(long callId, const RefPtr&lt;Inspector::InspectorArray&gt;&amp; in_columnNames, const String&amp; in_notes, double in_timestamp, const RefPtr&lt;Inspector::InspectorObject&gt;&amp; in_values, Inspector::InspectorValue in_payload, int in_databaseId, const RefPtr&lt;Inspector::InspectorObject&gt;&amp; in_sqlError, const String&amp; in_screenColor, const String&amp; in_printColor) = 0;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace Inspector
</span><span class="lines">@@ -138,6 +138,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorBackendDispatcher.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -163,21 +164,21 @@
</span><span class="cx">         Yellow = 5,
</span><span class="cx">         Black = 6,
</span><span class="cx">     }; // enum class PrintColor
</span><del>-    virtual void executeAllOptionalParameters(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorArray&gt;&amp;&amp; in_columnNames, const String* in_notes, const double* in_timestamp, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; in_values, const Inspector::InspectorValue* in_payload, const int* in_databaseId, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; in_sqlError, const String* in_screenColor, const String* in_printColor, RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt;&amp; opt_out_columnNames, Inspector::Protocol::OptOutput&lt;String&gt;* opt_out_notes, Inspector::Protocol::OptOutput&lt;double&gt;* opt_out_timestamp, Inspector::Protocol::OptOutput&lt;Inspector::InspectorObject&gt;* opt_out_values, Inspector::Protocol::OptOutput&lt;Inspector::InspectorValue&gt;* opt_out_payload, Inspector::Protocol::OptOutput&lt;int&gt;* opt_out_databaseId, RefPtr&lt;Inspector::Protocol::Database::Error&gt;&amp; opt_out_sqlError, Inspector::Pr
 otocol::Database::PrimaryColors* opt_out_screenColor, InspectorDatabaseBackendDispatcherHandler::PrintColor* opt_out_printColor) = 0;
-    virtual void executeNoOptionalParameters(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorArray&gt;&amp;&amp; in_columnNames, const String&amp; in_notes, double in_timestamp, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; in_values, Inspector::InspectorValue in_payload, int in_databaseId, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; in_sqlError, const String&amp; in_screenColor, const String&amp; in_printColor, RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt;&amp; out_columnNames, String* out_notes, double* out_timestamp, Inspector::InspectorObject* out_values, Inspector::InspectorValue* out_payload, int* out_databaseId, RefPtr&lt;Inspector::Protocol::Database::Error&gt;&amp; out_sqlError, Inspector::Protocol::Database::PrimaryColors* out_screenColor, InspectorDatabaseBackendDispatcherHandler::PrintColor* out_printColor) = 0;
</del><ins>+    virtual void executeAllOptionalParameters(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorArray&gt;* in_columnNames, const String* in_notes, const double* in_timestamp, const RefPtr&lt;Inspector::InspectorObject&gt;* in_values, const Inspector::InspectorValue* in_payload, const int* in_databaseId, const RefPtr&lt;Inspector::InspectorObject&gt;* in_sqlError, const String* in_screenColor, const String* in_printColor, RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt;&amp; opt_out_columnNames, Inspector::Protocol::OptOutput&lt;String&gt;* opt_out_notes, Inspector::Protocol::OptOutput&lt;double&gt;* opt_out_timestamp, Inspector::Protocol::OptOutput&lt;Inspector::InspectorObject&gt;* opt_out_values, Inspector::Protocol::OptOutput&lt;Inspector::InspectorValue&gt;* opt_out_payload, Inspector::Protocol::OptOutput&lt;int&gt;* opt_out_databaseId, RefPtr&lt;Inspector::Protocol::Database::Error&gt;&amp; opt_out_sqlError, Inspector::Protocol::Database::PrimaryCol
 ors* opt_out_screenColor, InspectorDatabaseBackendDispatcherHandler::PrintColor* opt_out_printColor) = 0;
+    virtual void executeNoOptionalParameters(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorArray&gt;&amp; in_columnNames, const String&amp; in_notes, double in_timestamp, const RefPtr&lt;Inspector::InspectorObject&gt;&amp; in_values, Inspector::InspectorValue in_payload, int in_databaseId, const RefPtr&lt;Inspector::InspectorObject&gt;&amp; in_sqlError, const String&amp; in_screenColor, const String&amp; in_printColor, RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt;&amp; out_columnNames, String* out_notes, double* out_timestamp, Inspector::InspectorObject* out_values, Inspector::InspectorValue* out_payload, int* out_databaseId, RefPtr&lt;Inspector::Protocol::Database::Error&gt;&amp; out_sqlError, Inspector::Protocol::Database::PrimaryColors* out_screenColor, InspectorDatabaseBackendDispatcherHandler::PrintColor* out_printColor) = 0;
</ins><span class="cx"> protected:
</span><span class="cx">     virtual ~InspectorDatabaseBackendDispatcherHandler();
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class InspectorDatabaseBackendDispatcher final : public Inspector::InspectorSupplementalBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    static Ref&lt;InspectorDatabaseBackendDispatcher&gt; create(Inspector::InspectorBackendDispatcher*, InspectorDatabaseBackendDispatcherHandler*);
-    virtual void dispatch(long callId, const String&amp; method, Ref&lt;Inspector::InspectorObject&gt;&amp;&amp; message) override;
</del><ins>+    static PassRefPtr&lt;InspectorDatabaseBackendDispatcher&gt; create(Inspector::InspectorBackendDispatcher*, InspectorDatabaseBackendDispatcherHandler*);
+    virtual void dispatch(long callId, const String&amp; method, PassRefPtr&lt;Inspector::InspectorObject&gt; message) override;
</ins><span class="cx"> private:
</span><span class="cx">     void executeAllOptionalParameters(long callId, const Inspector::InspectorObject&amp; message);
</span><span class="cx">     void executeNoOptionalParameters(long callId, const Inspector::InspectorObject&amp; message);
</span><span class="cx"> private:
</span><del>-    InspectorDatabaseBackendDispatcher(Inspector::InspectorBackendDispatcher&amp;, InspectorDatabaseBackendDispatcherHandler*);
</del><ins>+    InspectorDatabaseBackendDispatcher(Inspector::InspectorBackendDispatcher*, InspectorDatabaseBackendDispatcherHandler*);
</ins><span class="cx">     InspectorDatabaseBackendDispatcherHandler* m_agent;
</span><span class="cx"> #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
</span><span class="cx"> public:
</span><span class="lines">@@ -242,12 +243,12 @@
</span><span class="cx"> 
</span><span class="cx"> InspectorDatabaseBackendDispatcherHandler::~InspectorDatabaseBackendDispatcherHandler() { }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorDatabaseBackendDispatcher&gt; InspectorDatabaseBackendDispatcher::create(InspectorBackendDispatcher* backendDispatcher, InspectorDatabaseBackendDispatcherHandler* agent)
</del><ins>+PassRefPtr&lt;InspectorDatabaseBackendDispatcher&gt; InspectorDatabaseBackendDispatcher::create(InspectorBackendDispatcher* backendDispatcher, InspectorDatabaseBackendDispatcherHandler* agent)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new InspectorDatabaseBackendDispatcher(*backendDispatcher, agent));
</del><ins>+    return adoptRef(new InspectorDatabaseBackendDispatcher(backendDispatcher, agent));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-InspectorDatabaseBackendDispatcher::InspectorDatabaseBackendDispatcher(InspectorBackendDispatcher&amp; backendDispatcher, InspectorDatabaseBackendDispatcherHandler* agent)
</del><ins>+InspectorDatabaseBackendDispatcher::InspectorDatabaseBackendDispatcher(InspectorBackendDispatcher* backendDispatcher, InspectorDatabaseBackendDispatcherHandler* agent)
</ins><span class="cx">     : InspectorSupplementalBackendDispatcher(backendDispatcher)
</span><span class="cx">     , m_agent(agent)
</span><span class="cx"> #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
</span><span class="lines">@@ -257,56 +258,57 @@
</span><span class="cx">     m_backendDispatcher-&gt;registerDispatcherForDomain(ASCIILiteral(&quot;Database&quot;), this);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDatabaseBackendDispatcher::dispatch(long callId, const String&amp; method, Ref&lt;InspectorObject&gt;&amp;&amp; message)
</del><ins>+void InspectorDatabaseBackendDispatcher::dispatch(long callId, const String&amp; method, PassRefPtr&lt;InspectorObject&gt; message)
</ins><span class="cx"> {
</span><span class="cx">     Ref&lt;InspectorDatabaseBackendDispatcher&gt; protect(*this);
</span><span class="cx"> 
</span><span class="cx">     if (method == &quot;executeAllOptionalParameters&quot;)
</span><del>-        executeAllOptionalParameters(callId, message);
</del><ins>+        executeAllOptionalParameters(callId, *message.get());
</ins><span class="cx">     else if (method == &quot;executeNoOptionalParameters&quot;)
</span><del>-        executeNoOptionalParameters(callId, message);
</del><ins>+        executeNoOptionalParameters(callId, *message.get());
</ins><span class="cx">     else
</span><span class="cx">         m_backendDispatcher-&gt;reportProtocolError(&amp;callId, InspectorBackendDispatcher::MethodNotFound, makeString('\'', &quot;Database&quot;, '.', method, &quot;' was not found&quot;));
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorDatabaseBackendDispatcher::executeAllOptionalParameters(long callId, const InspectorObject&amp; message)
</span><span class="cx"> {
</span><del>-    auto protocolErrors = Inspector::Protocol::Array&lt;String&gt;::create();
-    RefPtr&lt;InspectorObject&gt; paramsContainer;
-    message.getObject(ASCIILiteral(&quot;params&quot;), paramsContainer);
</del><ins>+    RefPtr&lt;InspectorArray&gt; protocolErrors = InspectorArray::create();
+    RefPtr&lt;InspectorObject&gt; paramsContainer = message.getObject(ASCIILiteral(&quot;params&quot;));
+    InspectorObject* paramsContainerPtr = paramsContainer.get();
+    InspectorArray* protocolErrorsPtr = protocolErrors.get();
</ins><span class="cx">     bool columnNames_valueFound = false;
</span><del>-    RefPtr&lt;Inspector::InspectorArray&gt; in_columnNames = InspectorBackendDispatcher::getArray(paramsContainer.get(), ASCIILiteral(&quot;columnNames&quot;), &amp;columnNames_valueFound, protocolErrors.get());
</del><ins>+    RefPtr&lt;Inspector::InspectorArray&gt; in_columnNames = InspectorBackendDispatcher::getArray(paramsContainerPtr, ASCIILiteral(&quot;columnNames&quot;), &amp;columnNames_valueFound, protocolErrorsPtr);
</ins><span class="cx">     bool notes_valueFound = false;
</span><del>-    String in_notes = InspectorBackendDispatcher::getString(paramsContainer.get(), ASCIILiteral(&quot;notes&quot;), &amp;notes_valueFound, protocolErrors.get());
</del><ins>+    String in_notes = InspectorBackendDispatcher::getString(paramsContainerPtr, ASCIILiteral(&quot;notes&quot;), &amp;notes_valueFound, protocolErrorsPtr);
</ins><span class="cx">     bool timestamp_valueFound = false;
</span><del>-    Inspector::Protocol::OptOutput&lt;double&gt; in_timestamp = InspectorBackendDispatcher::getDouble(paramsContainer.get(), ASCIILiteral(&quot;timestamp&quot;), &amp;timestamp_valueFound, protocolErrors.get());
</del><ins>+    Inspector::Protocol::OptOutput&lt;double&gt; in_timestamp = InspectorBackendDispatcher::getDouble(paramsContainerPtr, ASCIILiteral(&quot;timestamp&quot;), &amp;timestamp_valueFound, protocolErrorsPtr);
</ins><span class="cx">     bool values_valueFound = false;
</span><del>-    RefPtr&lt;Inspector::InspectorObject&gt; in_values = InspectorBackendDispatcher::getObject(paramsContainer.get(), ASCIILiteral(&quot;values&quot;), &amp;values_valueFound, protocolErrors.get());
</del><ins>+    RefPtr&lt;Inspector::InspectorObject&gt; in_values = InspectorBackendDispatcher::getObject(paramsContainerPtr, ASCIILiteral(&quot;values&quot;), &amp;values_valueFound, protocolErrorsPtr);
</ins><span class="cx">     bool payload_valueFound = false;
</span><del>-    RefPtr&lt;Inspector::InspectorValue&gt; in_payload = InspectorBackendDispatcher::getValue(paramsContainer.get(), ASCIILiteral(&quot;payload&quot;), &amp;payload_valueFound, protocolErrors.get());
</del><ins>+    RefPtr&lt;Inspector::InspectorValue&gt; in_payload = InspectorBackendDispatcher::getValue(paramsContainerPtr, ASCIILiteral(&quot;payload&quot;), &amp;payload_valueFound, protocolErrorsPtr);
</ins><span class="cx">     bool databaseId_valueFound = false;
</span><del>-    int in_databaseId = InspectorBackendDispatcher::getInteger(paramsContainer.get(), ASCIILiteral(&quot;databaseId&quot;), &amp;databaseId_valueFound, protocolErrors.get());
</del><ins>+    int in_databaseId = InspectorBackendDispatcher::getInteger(paramsContainerPtr, ASCIILiteral(&quot;databaseId&quot;), &amp;databaseId_valueFound, protocolErrorsPtr);
</ins><span class="cx">     bool sqlError_valueFound = false;
</span><del>-    RefPtr&lt;Inspector::InspectorObject&gt; in_sqlError = InspectorBackendDispatcher::getObject(paramsContainer.get(), ASCIILiteral(&quot;sqlError&quot;), &amp;sqlError_valueFound, protocolErrors.get());
</del><ins>+    RefPtr&lt;Inspector::InspectorObject&gt; in_sqlError = InspectorBackendDispatcher::getObject(paramsContainerPtr, ASCIILiteral(&quot;sqlError&quot;), &amp;sqlError_valueFound, protocolErrorsPtr);
</ins><span class="cx">     bool screenColor_valueFound = false;
</span><del>-    String in_screenColor = InspectorBackendDispatcher::getString(paramsContainer.get(), ASCIILiteral(&quot;screenColor&quot;), &amp;screenColor_valueFound, protocolErrors.get());
</del><ins>+    String in_screenColor = InspectorBackendDispatcher::getString(paramsContainerPtr, ASCIILiteral(&quot;screenColor&quot;), &amp;screenColor_valueFound, protocolErrorsPtr);
</ins><span class="cx">     bool printColor_valueFound = false;
</span><del>-    String in_printColor = InspectorBackendDispatcher::getString(paramsContainer.get(), ASCIILiteral(&quot;printColor&quot;), &amp;printColor_valueFound, protocolErrors.get());
</del><ins>+    String in_printColor = InspectorBackendDispatcher::getString(paramsContainerPtr, ASCIILiteral(&quot;printColor&quot;), &amp;printColor_valueFound, protocolErrorsPtr);
</ins><span class="cx">     if (protocolErrors-&gt;length()) {
</span><span class="cx">         String errorMessage = String::format(&quot;Some arguments of method '%s' can't be processed&quot;, &quot;Database.executeAllOptionalParameters&quot;);
</span><del>-        m_backendDispatcher-&gt;reportProtocolError(&amp;callId, InspectorBackendDispatcher::InvalidParams, errorMessage, WTF::move(protocolErrors));
</del><ins>+        m_backendDispatcher-&gt;reportProtocolError(&amp;callId, InspectorBackendDispatcher::InvalidParams, errorMessage, protocolErrors.release());
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
</span><span class="cx">     if (m_alternateDispatcher) {
</span><del>-        m_alternateDispatcher-&gt;executeAllOptionalParameters(callId, columnNames_valueFound ? in_columnNames.copyRef() : nullptr, notes_valueFound ? &amp;in_notes : nullptr, timestamp_valueFound ? &amp;in_timestamp : nullptr, values_valueFound ? in_values.copyRef() : nullptr, payload_valueFound ? in_payload.copyRef() : nullptr, databaseId_valueFound ? &amp;in_databaseId : nullptr, sqlError_valueFound ? in_sqlError.copyRef() : nullptr, screenColor_valueFound ? &amp;in_screenColor : nullptr, printColor_valueFound ? &amp;in_printColor : nullptr);
</del><ins>+        m_alternateDispatcher-&gt;executeAllOptionalParameters(callId, columnNames_valueFound ? &amp;in_columnNames : nullptr, notes_valueFound ? &amp;in_notes : nullptr, timestamp_valueFound ? &amp;in_timestamp : nullptr, values_valueFound ? &amp;in_values : nullptr, payload_valueFound ? &amp;in_payload : nullptr, databaseId_valueFound ? &amp;in_databaseId : nullptr, sqlError_valueFound ? &amp;in_sqlError : nullptr, screenColor_valueFound ? &amp;in_screenColor : nullptr, printColor_valueFound ? &amp;in_printColor : nullptr);
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ErrorString error;
</span><del>-    Ref&lt;InspectorObject&gt; result = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();
</ins><span class="cx">     RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; out_columnNames;
</span><span class="cx">     Inspector::Protocol::OptOutput&lt;String&gt; out_notes;
</span><span class="cx">     Inspector::Protocol::OptOutput&lt;double&gt; out_timestamp;
</span><span class="lines">@@ -316,7 +318,7 @@
</span><span class="cx">     RefPtr&lt;Inspector::Protocol::Database::Error&gt; out_sqlError;
</span><span class="cx">     Inspector::Protocol::Database::PrimaryColors out_screenColor;
</span><span class="cx">     InspectorDatabaseBackendDispatcherHandler::PrintColor out_printColor;
</span><del>-    m_agent-&gt;executeAllOptionalParameters(error, columnNames_valueFound ? in_columnNames.copyRef() : nullptr, notes_valueFound ? &amp;in_notes : nullptr, timestamp_valueFound ? &amp;in_timestamp : nullptr, values_valueFound ? in_values.copyRef() : nullptr, payload_valueFound ? in_payload.copyRef() : nullptr, databaseId_valueFound ? &amp;in_databaseId : nullptr, sqlError_valueFound ? in_sqlError.copyRef() : nullptr, screenColor_valueFound ? &amp;in_screenColor : nullptr, printColor_valueFound ? &amp;in_printColor : nullptr, out_columnNames, &amp;out_notes, &amp;out_timestamp, out_values, &amp;out_payload, &amp;out_databaseId, out_sqlError, &amp;out_screenColor, &amp;out_printColor);
</del><ins>+    m_agent-&gt;executeAllOptionalParameters(error, columnNames_valueFound ? &amp;in_columnNames : nullptr, notes_valueFound ? &amp;in_notes : nullptr, timestamp_valueFound ? &amp;in_timestamp : nullptr, values_valueFound ? &amp;in_values : nullptr, payload_valueFound ? &amp;in_payload : nullptr, databaseId_valueFound ? &amp;in_databaseId : nullptr, sqlError_valueFound ? &amp;in_sqlError : nullptr, screenColor_valueFound ? &amp;in_screenColor : nullptr, printColor_valueFound ? &amp;in_printColor : nullptr, out_columnNames, &amp;out_notes, &amp;out_timestamp, out_values, &amp;out_payload, &amp;out_databaseId, out_sqlError, &amp;out_screenColor, &amp;out_printColor);
</ins><span class="cx"> 
</span><span class="cx">     if (!error.length()) {
</span><span class="cx">         if (out_columnNames)
</span><span class="lines">@@ -338,38 +340,39 @@
</span><span class="cx">         if (out_printColor.isAssigned())
</span><span class="cx">             result-&gt;setString(ASCIILiteral(&quot;printColor&quot;), out_printColor.getValue());
</span><span class="cx">     }
</span><del>-    m_backendDispatcher-&gt;sendResponse(callId, WTF::move(result), error);
</del><ins>+    m_backendDispatcher-&gt;sendResponse(callId, result.release(), error);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorDatabaseBackendDispatcher::executeNoOptionalParameters(long callId, const InspectorObject&amp; message)
</span><span class="cx"> {
</span><del>-    auto protocolErrors = Inspector::Protocol::Array&lt;String&gt;::create();
-    RefPtr&lt;InspectorObject&gt; paramsContainer;
-    message.getObject(ASCIILiteral(&quot;params&quot;), paramsContainer);
-    RefPtr&lt;Inspector::InspectorArray&gt; in_columnNames = InspectorBackendDispatcher::getArray(paramsContainer.get(), ASCIILiteral(&quot;columnNames&quot;), nullptr, protocolErrors.get());
-    String in_notes = InspectorBackendDispatcher::getString(paramsContainer.get(), ASCIILiteral(&quot;notes&quot;), nullptr, protocolErrors.get());
-    double in_timestamp = InspectorBackendDispatcher::getDouble(paramsContainer.get(), ASCIILiteral(&quot;timestamp&quot;), nullptr, protocolErrors.get());
-    RefPtr&lt;Inspector::InspectorObject&gt; in_values = InspectorBackendDispatcher::getObject(paramsContainer.get(), ASCIILiteral(&quot;values&quot;), nullptr, protocolErrors.get());
-    RefPtr&lt;Inspector::InspectorValue&gt; in_payload = InspectorBackendDispatcher::getValue(paramsContainer.get(), ASCIILiteral(&quot;payload&quot;), nullptr, protocolErrors.get());
-    int in_databaseId = InspectorBackendDispatcher::getInteger(paramsContainer.get(), ASCIILiteral(&quot;databaseId&quot;), nullptr, protocolErrors.get());
-    RefPtr&lt;Inspector::InspectorObject&gt; in_sqlError = InspectorBackendDispatcher::getObject(paramsContainer.get(), ASCIILiteral(&quot;sqlError&quot;), nullptr, protocolErrors.get());
-    String in_screenColor = InspectorBackendDispatcher::getString(paramsContainer.get(), ASCIILiteral(&quot;screenColor&quot;), nullptr, protocolErrors.get());
-    String in_printColor = InspectorBackendDispatcher::getString(paramsContainer.get(), ASCIILiteral(&quot;printColor&quot;), nullptr, protocolErrors.get());
</del><ins>+    RefPtr&lt;InspectorArray&gt; protocolErrors = InspectorArray::create();
+    RefPtr&lt;InspectorObject&gt; paramsContainer = message.getObject(ASCIILiteral(&quot;params&quot;));
+    InspectorObject* paramsContainerPtr = paramsContainer.get();
+    InspectorArray* protocolErrorsPtr = protocolErrors.get();
+    RefPtr&lt;Inspector::InspectorArray&gt; in_columnNames = InspectorBackendDispatcher::getArray(paramsContainerPtr, ASCIILiteral(&quot;columnNames&quot;), nullptr, protocolErrorsPtr);
+    String in_notes = InspectorBackendDispatcher::getString(paramsContainerPtr, ASCIILiteral(&quot;notes&quot;), nullptr, protocolErrorsPtr);
+    double in_timestamp = InspectorBackendDispatcher::getDouble(paramsContainerPtr, ASCIILiteral(&quot;timestamp&quot;), nullptr, protocolErrorsPtr);
+    RefPtr&lt;Inspector::InspectorObject&gt; in_values = InspectorBackendDispatcher::getObject(paramsContainerPtr, ASCIILiteral(&quot;values&quot;), nullptr, protocolErrorsPtr);
+    RefPtr&lt;Inspector::InspectorValue&gt; in_payload = InspectorBackendDispatcher::getValue(paramsContainerPtr, ASCIILiteral(&quot;payload&quot;), nullptr, protocolErrorsPtr);
+    int in_databaseId = InspectorBackendDispatcher::getInteger(paramsContainerPtr, ASCIILiteral(&quot;databaseId&quot;), nullptr, protocolErrorsPtr);
+    RefPtr&lt;Inspector::InspectorObject&gt; in_sqlError = InspectorBackendDispatcher::getObject(paramsContainerPtr, ASCIILiteral(&quot;sqlError&quot;), nullptr, protocolErrorsPtr);
+    String in_screenColor = InspectorBackendDispatcher::getString(paramsContainerPtr, ASCIILiteral(&quot;screenColor&quot;), nullptr, protocolErrorsPtr);
+    String in_printColor = InspectorBackendDispatcher::getString(paramsContainerPtr, ASCIILiteral(&quot;printColor&quot;), nullptr, protocolErrorsPtr);
</ins><span class="cx">     if (protocolErrors-&gt;length()) {
</span><span class="cx">         String errorMessage = String::format(&quot;Some arguments of method '%s' can't be processed&quot;, &quot;Database.executeNoOptionalParameters&quot;);
</span><del>-        m_backendDispatcher-&gt;reportProtocolError(&amp;callId, InspectorBackendDispatcher::InvalidParams, errorMessage, WTF::move(protocolErrors));
</del><ins>+        m_backendDispatcher-&gt;reportProtocolError(&amp;callId, InspectorBackendDispatcher::InvalidParams, errorMessage, protocolErrors.release());
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
</span><span class="cx">     if (m_alternateDispatcher) {
</span><del>-        m_alternateDispatcher-&gt;executeNoOptionalParameters(callId, in_columnNames.copyRef(), in_notes, in_timestamp, in_values.copyRef(), in_payload.copyRef(), in_databaseId, in_sqlError.copyRef(), in_screenColor, in_printColor);
</del><ins>+        m_alternateDispatcher-&gt;executeNoOptionalParameters(callId, in_columnNames, in_notes, in_timestamp, in_values, in_payload, in_databaseId, in_sqlError, in_screenColor, in_printColor);
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ErrorString error;
</span><del>-    Ref&lt;InspectorObject&gt; result = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();
</ins><span class="cx">     RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; out_columnNames;
</span><span class="cx">     String out_notes;
</span><span class="cx">     double out_timestamp;
</span><span class="lines">@@ -379,7 +382,7 @@
</span><span class="cx">     RefPtr&lt;Inspector::Protocol::Database::Error&gt; out_sqlError;
</span><span class="cx">     Inspector::Protocol::Database::PrimaryColors out_screenColor;
</span><span class="cx">     InspectorDatabaseBackendDispatcherHandler::PrintColor out_printColor;
</span><del>-    m_agent-&gt;executeNoOptionalParameters(error, in_columnNames.copyRef(), in_notes, in_timestamp, in_values.copyRef(), in_payload.copyRef(), in_databaseId, in_sqlError.copyRef(), in_screenColor, in_printColor, out_columnNames, &amp;out_notes, &amp;out_timestamp, out_values, &amp;out_payload, &amp;out_databaseId, out_sqlError, &amp;out_screenColor, &amp;out_printColor);
</del><ins>+    m_agent-&gt;executeNoOptionalParameters(error, in_columnNames, in_notes, in_timestamp, in_values, in_payload, in_databaseId, in_sqlError, in_screenColor, in_printColor, out_columnNames, &amp;out_notes, &amp;out_timestamp, out_values, &amp;out_payload, &amp;out_databaseId, out_sqlError, &amp;out_screenColor, &amp;out_printColor);
</ins><span class="cx"> 
</span><span class="cx">     if (!error.length()) {
</span><span class="cx">         result-&gt;setArray(ASCIILiteral(&quot;columnNames&quot;), out_columnNames);
</span><span class="lines">@@ -392,7 +395,7 @@
</span><span class="cx">         result-&gt;setString(ASCIILiteral(&quot;screenColor&quot;), Inspector::Protocol::getEnumConstantValue(out_screenColor));
</span><span class="cx">         result-&gt;setString(ASCIILiteral(&quot;printColor&quot;), Inspector::Protocol::getEnumConstantValue(out_printColor));
</span><span class="cx">     }
</span><del>-    m_backendDispatcher-&gt;sendResponse(callId, WTF::move(result), error);
</del><ins>+    m_backendDispatcher-&gt;sendResponse(callId, result.release(), error);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace Inspector
</span><span class="lines">@@ -440,6 +443,7 @@
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorFrontendChannel.h&gt;
</span><span class="cx"> #include &lt;inspector/InspectorValues.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -537,6 +541,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &lt;inspector/InspectorProtocolTypes.h&gt;
</span><span class="cx"> #include &lt;wtf/Assertions.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><span class="lines">@@ -593,10 +598,10 @@
</span><span class="cx">             return *reinterpret_cast&lt;Builder&lt;STATE | STEP&gt;*&gt;(this);
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Builder(Ref&lt;/*Error*/Inspector::InspectorObject&gt;&amp;&amp; object)
-            : m_result(WTF::move(object))
</del><ins>+        Builder(PassRefPtr&lt;/*Error*/Inspector::InspectorObject&gt; ptr)
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
</span><ins>+            m_result = ptr;
</ins><span class="cx">         }
</span><span class="cx">         friend class Error;
</span><span class="cx">     public:
</span><span class="lines">@@ -615,27 +620,30 @@
</span><span class="cx">             return castState&lt;CodeSet&gt;();
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Ref&lt;Error&gt; release()
</del><ins>+        operator RefPtr&lt;Error&gt;&amp; ()
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready);
</span><span class="cx">             COMPILE_ASSERT(sizeof(Error) == sizeof(Inspector::InspectorObject), cannot_cast);
</span><ins>+            return *reinterpret_cast&lt;RefPtr&lt;Error&gt;*&gt;(&amp;m_result);
+        }
</ins><span class="cx"> 
</span><del>-            Ref&lt;Inspector::InspectorObject&gt; result = m_result.releaseNonNull();
-            return WTF::move(*reinterpret_cast&lt;Ref&lt;Error&gt;*&gt;(&amp;result));
</del><ins>+        PassRefPtr&lt;Error&gt; release()
+        {
+            return RefPtr&lt;Error&gt;(*this).release();
</ins><span class="cx">         }
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     /*
</span><span class="cx">      * Synthetic constructor:
</span><del>-     * Ref&lt;Error&gt; result = Error::create()
</del><ins>+     * RefPtr&lt;Error&gt; result = Error::create()
</ins><span class="cx">      *     .setMessage(...)
</span><del>-     *     .setCode(...)
-     *     .release();
</del><ins>+     *     .setCode(...);
</ins><span class="cx">      */
</span><span class="cx">     static Builder&lt;NoFieldsSet&gt; create()
</span><span class="cx">     {
</span><span class="cx">         return Builder&lt;NoFieldsSet&gt;(Inspector::InspectorObject::create());
</span><span class="cx">     }
</span><ins>+    typedef Inspector::Protocol::StructItemTraits ItemTraits;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // Database
</span><span class="lines">@@ -759,8 +767,8 @@
</span><span class="cx"> class ObjCInspectorDatabaseBackendDispatcher final : public AlternateInspectorDatabaseBackendDispatcher {
</span><span class="cx"> public:
</span><span class="cx">     ObjCInspectorDatabaseBackendDispatcher(id&lt;RWIProtocolDatabaseDomainHandler&gt; handler) { m_delegate = handler; }
</span><del>-    virtual void executeAllOptionalParameters(long callId, const RefPtr&lt;Inspector::InspectorArray&gt;&amp;&amp; in_columnNames, const String* in_notes, const double* in_timestamp, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; in_values, const Inspector::InspectorValue* in_payload, const int* in_databaseId, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; in_sqlError, const String* in_screenColor, const String* in_printColor) override;
-    virtual void executeNoOptionalParameters(long callId, const RefPtr&lt;Inspector::InspectorArray&gt;&amp;&amp; in_columnNames, const String&amp; in_notes, double in_timestamp, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; in_values, Inspector::InspectorValue in_payload, int in_databaseId, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; in_sqlError, const String&amp; in_screenColor, const String&amp; in_printColor) override;
</del><ins>+    virtual void executeAllOptionalParameters(long callId, const RefPtr&lt;Inspector::InspectorArray&gt;* in_columnNames, const String* in_notes, const double* in_timestamp, const RefPtr&lt;Inspector::InspectorObject&gt;* in_values, const Inspector::InspectorValue* in_payload, const int* in_databaseId, const RefPtr&lt;Inspector::InspectorObject&gt;* in_sqlError, const String* in_screenColor, const String* in_printColor) override;
+    virtual void executeNoOptionalParameters(long callId, const RefPtr&lt;Inspector::InspectorArray&gt;&amp; in_columnNames, const String&amp; in_notes, double in_timestamp, const RefPtr&lt;Inspector::InspectorObject&gt;&amp; in_values, Inspector::InspectorValue in_payload, int in_databaseId, const RefPtr&lt;Inspector::InspectorObject&gt;&amp; in_sqlError, const String&amp; in_screenColor, const String&amp; in_printColor) override;
</ins><span class="cx"> private:
</span><span class="cx">     RetainPtr&lt;id&lt;RWIProtocolDatabaseDomainHandler&gt;&gt; m_delegate;
</span><span class="cx"> };
</span><span class="lines">@@ -939,14 +947,14 @@
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><del>-void ObjCInspectorDatabaseBackendDispatcher::executeAllOptionalParameters(long callId, const RefPtr&lt;Inspector::InspectorArray&gt;&amp;&amp; in_columnNames, const String* in_notes, const double* in_timestamp, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; in_values, const Inspector::InspectorValue* in_payload, const int* in_databaseId, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; in_sqlError, const String* in_screenColor, const String* in_printColor)
</del><ins>+void ObjCInspectorDatabaseBackendDispatcher::executeAllOptionalParameters(long callId, const RefPtr&lt;Inspector::InspectorArray&gt;* in_columnNames, const String* in_notes, const double* in_timestamp, const RefPtr&lt;Inspector::InspectorObject&gt;* in_values, const Inspector::InspectorValue* in_payload, const int* in_databaseId, const RefPtr&lt;Inspector::InspectorObject&gt;* in_sqlError, const String* in_screenColor, const String* in_printColor)
</ins><span class="cx"> {
</span><span class="cx">     id errorCallback = ^(NSString *error) {
</span><span class="cx">         backendDispatcher()-&gt;sendResponse(callId, InspectorObject::create(), error);
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     id successCallback = ^(NSArray/*&lt;NSString&gt;*/ **columnNames, NSString **notes, double *timestamp, RWIProtocolJSONObject **values, RWIProtocolJSONObject **payload, int *databaseId, RWIProtocolDatabaseError **sqlError, RWIProtocolDatabasePrimaryColors *screenColor, RWIProtocolDatabaseExecuteAllOptionalParametersPrintColor *printColor) {
</span><del>-        Ref&lt;InspectorObject&gt; resultObject = InspectorObject::create();
</del><ins>+        RefPtr&lt;InspectorObject&gt; resultObject = InspectorObject::create();
</ins><span class="cx">         THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(columnNames, @&quot;columnNames&quot;);
</span><span class="cx">         THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(notes, @&quot;notes&quot;);
</span><span class="cx">         THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(values, @&quot;values&quot;);
</span><span class="lines">@@ -1004,14 +1012,14 @@
</span><span class="cx">     [m_delegate executeAllOptionalParametersWithErrorCallback:errorCallback successCallback:successCallback columnNames:(in_columnNames ? &amp;o_in_columnNames : nil) notes:(in_notes ? &amp;o_in_notes : nil) timestamp:(in_timestamp ? &amp;o_in_timestamp : nil) values:(in_values ? &amp;o_in_values : nil) payload:(in_payload ? &amp;o_in_payload : nil) databaseId:(in_databaseId ? &amp;o_in_databaseId : nil) sqlError:(in_sqlError ? &amp;o_in_sqlError : nil) screenColor:(in_screenColor ? &amp;o_in_screenColor : nil) printColor:(in_printColor ? &amp;o_in_printColor : nil)];
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ObjCInspectorDatabaseBackendDispatcher::executeNoOptionalParameters(long callId, const RefPtr&lt;Inspector::InspectorArray&gt;&amp;&amp; in_columnNames, const String&amp; in_notes, double in_timestamp, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; in_values, Inspector::InspectorValue in_payload, int in_databaseId, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; in_sqlError, const String&amp; in_screenColor, const String&amp; in_printColor)
</del><ins>+void ObjCInspectorDatabaseBackendDispatcher::executeNoOptionalParameters(long callId, const RefPtr&lt;Inspector::InspectorArray&gt;&amp; in_columnNames, const String&amp; in_notes, double in_timestamp, const RefPtr&lt;Inspector::InspectorObject&gt;&amp; in_values, Inspector::InspectorValue in_payload, int in_databaseId, const RefPtr&lt;Inspector::InspectorObject&gt;&amp; in_sqlError, const String&amp; in_screenColor, const String&amp; in_printColor)
</ins><span class="cx"> {
</span><span class="cx">     id errorCallback = ^(NSString *error) {
</span><span class="cx">         backendDispatcher()-&gt;sendResponse(callId, InspectorObject::create(), error);
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     id successCallback = ^(NSArray/*&lt;NSString&gt;*/ *columnNames, NSString *notes, double timestamp, RWIProtocolJSONObject *values, RWIProtocolJSONObject *payload, int databaseId, RWIProtocolDatabaseError *sqlError, RWIProtocolDatabasePrimaryColors screenColor, RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor printColor) {
</span><del>-        Ref&lt;InspectorObject&gt; resultObject = InspectorObject::create();
</del><ins>+        RefPtr&lt;InspectorObject&gt; resultObject = InspectorObject::create();
</ins><span class="cx">         THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(columnNames, @&quot;columnNames&quot;);
</span><span class="cx">         THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(notes, @&quot;notes&quot;);
</span><span class="cx">         THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(values, @&quot;values&quot;);
</span><span class="lines">@@ -1405,6 +1413,7 @@
</span><span class="cx"> #import &quot;RWIProtocolEnumConversionHelpers.h&quot;
</span><span class="cx"> #import &lt;JavaScriptCore/InspectorValues.h&gt;
</span><span class="cx"> #import &lt;wtf/Assertions.h&gt;
</span><ins>+#import &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> using namespace Inspector;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorscriptstestsexpecteddomainswithvaryingcommandsizesjsonresult"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -41,10 +41,10 @@
</span><span class="cx"> 
</span><span class="cx"> class AlternateInspectorBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    void setBackendDispatcher(Ref&lt;InspectorBackendDispatcher&gt;&amp;&amp; dispatcher) { m_backendDispatcher = WTF::move(dispatcher); }
-    const InspectorBackendDispatcher&amp; backendDispatcher() const { return m_backendDispatcher.get(); }
</del><ins>+    void setBackendDispatcher(PassRefPtr&lt;InspectorBackendDispatcher&gt; dispatcher) { m_backendDispatcher = dispatcher; }
+    InspectorBackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
</ins><span class="cx"> private:
</span><del>-    Ref&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    RefPtr&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -156,6 +156,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorBackendDispatcher.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -189,12 +190,12 @@
</span><span class="cx"> 
</span><span class="cx"> class InspectorNetwork1BackendDispatcher final : public Inspector::InspectorSupplementalBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    static Ref&lt;InspectorNetwork1BackendDispatcher&gt; create(Inspector::InspectorBackendDispatcher*, InspectorNetwork1BackendDispatcherHandler*);
-    virtual void dispatch(long callId, const String&amp; method, Ref&lt;Inspector::InspectorObject&gt;&amp;&amp; message) override;
</del><ins>+    static PassRefPtr&lt;InspectorNetwork1BackendDispatcher&gt; create(Inspector::InspectorBackendDispatcher*, InspectorNetwork1BackendDispatcherHandler*);
+    virtual void dispatch(long callId, const String&amp; method, PassRefPtr&lt;Inspector::InspectorObject&gt; message) override;
</ins><span class="cx"> private:
</span><span class="cx">     void loadResource1(long callId, const Inspector::InspectorObject&amp; message);
</span><span class="cx"> private:
</span><del>-    InspectorNetwork1BackendDispatcher(Inspector::InspectorBackendDispatcher&amp;, InspectorNetwork1BackendDispatcherHandler*);
</del><ins>+    InspectorNetwork1BackendDispatcher(Inspector::InspectorBackendDispatcher*, InspectorNetwork1BackendDispatcherHandler*);
</ins><span class="cx">     InspectorNetwork1BackendDispatcherHandler* m_agent;
</span><span class="cx"> #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
</span><span class="cx"> public:
</span><span class="lines">@@ -206,8 +207,8 @@
</span><span class="cx"> 
</span><span class="cx"> class InspectorNetwork3BackendDispatcher final : public Inspector::InspectorSupplementalBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    static Ref&lt;InspectorNetwork3BackendDispatcher&gt; create(Inspector::InspectorBackendDispatcher*, InspectorNetwork3BackendDispatcherHandler*);
-    virtual void dispatch(long callId, const String&amp; method, Ref&lt;Inspector::InspectorObject&gt;&amp;&amp; message) override;
</del><ins>+    static PassRefPtr&lt;InspectorNetwork3BackendDispatcher&gt; create(Inspector::InspectorBackendDispatcher*, InspectorNetwork3BackendDispatcherHandler*);
+    virtual void dispatch(long callId, const String&amp; method, PassRefPtr&lt;Inspector::InspectorObject&gt; message) override;
</ins><span class="cx"> private:
</span><span class="cx">     void loadResource1(long callId, const Inspector::InspectorObject&amp; message);
</span><span class="cx">     void loadResource2(long callId, const Inspector::InspectorObject&amp; message);
</span><span class="lines">@@ -217,7 +218,7 @@
</span><span class="cx">     void loadResource6(long callId, const Inspector::InspectorObject&amp; message);
</span><span class="cx">     void loadResource7(long callId, const Inspector::InspectorObject&amp; message);
</span><span class="cx"> private:
</span><del>-    InspectorNetwork3BackendDispatcher(Inspector::InspectorBackendDispatcher&amp;, InspectorNetwork3BackendDispatcherHandler*);
</del><ins>+    InspectorNetwork3BackendDispatcher(Inspector::InspectorBackendDispatcher*, InspectorNetwork3BackendDispatcherHandler*);
</ins><span class="cx">     InspectorNetwork3BackendDispatcherHandler* m_agent;
</span><span class="cx"> #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
</span><span class="cx"> public:
</span><span class="lines">@@ -283,12 +284,12 @@
</span><span class="cx"> InspectorNetwork1BackendDispatcherHandler::~InspectorNetwork1BackendDispatcherHandler() { }
</span><span class="cx"> InspectorNetwork3BackendDispatcherHandler::~InspectorNetwork3BackendDispatcherHandler() { }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorNetwork1BackendDispatcher&gt; InspectorNetwork1BackendDispatcher::create(InspectorBackendDispatcher* backendDispatcher, InspectorNetwork1BackendDispatcherHandler* agent)
</del><ins>+PassRefPtr&lt;InspectorNetwork1BackendDispatcher&gt; InspectorNetwork1BackendDispatcher::create(InspectorBackendDispatcher* backendDispatcher, InspectorNetwork1BackendDispatcherHandler* agent)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new InspectorNetwork1BackendDispatcher(*backendDispatcher, agent));
</del><ins>+    return adoptRef(new InspectorNetwork1BackendDispatcher(backendDispatcher, agent));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-InspectorNetwork1BackendDispatcher::InspectorNetwork1BackendDispatcher(InspectorBackendDispatcher&amp; backendDispatcher, InspectorNetwork1BackendDispatcherHandler* agent)
</del><ins>+InspectorNetwork1BackendDispatcher::InspectorNetwork1BackendDispatcher(InspectorBackendDispatcher* backendDispatcher, InspectorNetwork1BackendDispatcherHandler* agent)
</ins><span class="cx">     : InspectorSupplementalBackendDispatcher(backendDispatcher)
</span><span class="cx">     , m_agent(agent)
</span><span class="cx"> #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
</span><span class="lines">@@ -298,12 +299,12 @@
</span><span class="cx">     m_backendDispatcher-&gt;registerDispatcherForDomain(ASCIILiteral(&quot;Network1&quot;), this);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorNetwork1BackendDispatcher::dispatch(long callId, const String&amp; method, Ref&lt;InspectorObject&gt;&amp;&amp; message)
</del><ins>+void InspectorNetwork1BackendDispatcher::dispatch(long callId, const String&amp; method, PassRefPtr&lt;InspectorObject&gt; message)
</ins><span class="cx"> {
</span><span class="cx">     Ref&lt;InspectorNetwork1BackendDispatcher&gt; protect(*this);
</span><span class="cx"> 
</span><span class="cx">     if (method == &quot;loadResource1&quot;)
</span><del>-        loadResource1(callId, message);
</del><ins>+        loadResource1(callId, *message.get());
</ins><span class="cx">     else
</span><span class="cx">         m_backendDispatcher-&gt;reportProtocolError(&amp;callId, InspectorBackendDispatcher::MethodNotFound, makeString('\'', &quot;Network1&quot;, '.', method, &quot;' was not found&quot;));
</span><span class="cx"> }
</span><span class="lines">@@ -318,18 +319,18 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ErrorString error;
</span><del>-    Ref&lt;InspectorObject&gt; result = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();
</ins><span class="cx">     m_agent-&gt;loadResource1(error);
</span><span class="cx"> 
</span><del>-    m_backendDispatcher-&gt;sendResponse(callId, WTF::move(result), error);
</del><ins>+    m_backendDispatcher-&gt;sendResponse(callId, result.release(), error);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorNetwork3BackendDispatcher&gt; InspectorNetwork3BackendDispatcher::create(InspectorBackendDispatcher* backendDispatcher, InspectorNetwork3BackendDispatcherHandler* agent)
</del><ins>+PassRefPtr&lt;InspectorNetwork3BackendDispatcher&gt; InspectorNetwork3BackendDispatcher::create(InspectorBackendDispatcher* backendDispatcher, InspectorNetwork3BackendDispatcherHandler* agent)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new InspectorNetwork3BackendDispatcher(*backendDispatcher, agent));
</del><ins>+    return adoptRef(new InspectorNetwork3BackendDispatcher(backendDispatcher, agent));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-InspectorNetwork3BackendDispatcher::InspectorNetwork3BackendDispatcher(InspectorBackendDispatcher&amp; backendDispatcher, InspectorNetwork3BackendDispatcherHandler* agent)
</del><ins>+InspectorNetwork3BackendDispatcher::InspectorNetwork3BackendDispatcher(InspectorBackendDispatcher* backendDispatcher, InspectorNetwork3BackendDispatcherHandler* agent)
</ins><span class="cx">     : InspectorSupplementalBackendDispatcher(backendDispatcher)
</span><span class="cx">     , m_agent(agent)
</span><span class="cx"> #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
</span><span class="lines">@@ -339,7 +340,7 @@
</span><span class="cx">     m_backendDispatcher-&gt;registerDispatcherForDomain(ASCIILiteral(&quot;Network3&quot;), this);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorNetwork3BackendDispatcher::dispatch(long callId, const String&amp; method, Ref&lt;InspectorObject&gt;&amp;&amp; message)
</del><ins>+void InspectorNetwork3BackendDispatcher::dispatch(long callId, const String&amp; method, PassRefPtr&lt;InspectorObject&gt; message)
</ins><span class="cx"> {
</span><span class="cx">     Ref&lt;InspectorNetwork3BackendDispatcher&gt; protect(*this);
</span><span class="cx"> 
</span><span class="lines">@@ -370,7 +371,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    ((*this).*it-&gt;value)(callId, message.get());
</del><ins>+    ((*this).*it-&gt;value)(callId, *message.get());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorNetwork3BackendDispatcher::loadResource1(long callId, const InspectorObject&amp;)
</span><span class="lines">@@ -383,10 +384,10 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ErrorString error;
</span><del>-    Ref&lt;InspectorObject&gt; result = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();
</ins><span class="cx">     m_agent-&gt;loadResource1(error);
</span><span class="cx"> 
</span><del>-    m_backendDispatcher-&gt;sendResponse(callId, WTF::move(result), error);
</del><ins>+    m_backendDispatcher-&gt;sendResponse(callId, result.release(), error);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorNetwork3BackendDispatcher::loadResource2(long callId, const InspectorObject&amp;)
</span><span class="lines">@@ -399,10 +400,10 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ErrorString error;
</span><del>-    Ref&lt;InspectorObject&gt; result = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();
</ins><span class="cx">     m_agent-&gt;loadResource2(error);
</span><span class="cx"> 
</span><del>-    m_backendDispatcher-&gt;sendResponse(callId, WTF::move(result), error);
</del><ins>+    m_backendDispatcher-&gt;sendResponse(callId, result.release(), error);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorNetwork3BackendDispatcher::loadResource3(long callId, const InspectorObject&amp;)
</span><span class="lines">@@ -415,10 +416,10 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ErrorString error;
</span><del>-    Ref&lt;InspectorObject&gt; result = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();
</ins><span class="cx">     m_agent-&gt;loadResource3(error);
</span><span class="cx"> 
</span><del>-    m_backendDispatcher-&gt;sendResponse(callId, WTF::move(result), error);
</del><ins>+    m_backendDispatcher-&gt;sendResponse(callId, result.release(), error);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorNetwork3BackendDispatcher::loadResource4(long callId, const InspectorObject&amp;)
</span><span class="lines">@@ -431,10 +432,10 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ErrorString error;
</span><del>-    Ref&lt;InspectorObject&gt; result = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();
</ins><span class="cx">     m_agent-&gt;loadResource4(error);
</span><span class="cx"> 
</span><del>-    m_backendDispatcher-&gt;sendResponse(callId, WTF::move(result), error);
</del><ins>+    m_backendDispatcher-&gt;sendResponse(callId, result.release(), error);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorNetwork3BackendDispatcher::loadResource5(long callId, const InspectorObject&amp;)
</span><span class="lines">@@ -447,10 +448,10 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ErrorString error;
</span><del>-    Ref&lt;InspectorObject&gt; result = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();
</ins><span class="cx">     m_agent-&gt;loadResource5(error);
</span><span class="cx"> 
</span><del>-    m_backendDispatcher-&gt;sendResponse(callId, WTF::move(result), error);
</del><ins>+    m_backendDispatcher-&gt;sendResponse(callId, result.release(), error);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorNetwork3BackendDispatcher::loadResource6(long callId, const InspectorObject&amp;)
</span><span class="lines">@@ -463,10 +464,10 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ErrorString error;
</span><del>-    Ref&lt;InspectorObject&gt; result = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();
</ins><span class="cx">     m_agent-&gt;loadResource6(error);
</span><span class="cx"> 
</span><del>-    m_backendDispatcher-&gt;sendResponse(callId, WTF::move(result), error);
</del><ins>+    m_backendDispatcher-&gt;sendResponse(callId, result.release(), error);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorNetwork3BackendDispatcher::loadResource7(long callId, const InspectorObject&amp;)
</span><span class="lines">@@ -479,10 +480,10 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ErrorString error;
</span><del>-    Ref&lt;InspectorObject&gt; result = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();
</ins><span class="cx">     m_agent-&gt;loadResource7(error);
</span><span class="cx"> 
</span><del>-    m_backendDispatcher-&gt;sendResponse(callId, WTF::move(result), error);
</del><ins>+    m_backendDispatcher-&gt;sendResponse(callId, result.release(), error);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace Inspector
</span><span class="lines">@@ -530,6 +531,7 @@
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorFrontendChannel.h&gt;
</span><span class="cx"> #include &lt;inspector/InspectorValues.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -627,6 +629,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &lt;inspector/InspectorProtocolTypes.h&gt;
</span><span class="cx"> #include &lt;wtf/Assertions.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><span class="lines">@@ -1289,6 +1292,7 @@
</span><span class="cx"> #import &quot;RWIProtocolEnumConversionHelpers.h&quot;
</span><span class="cx"> #import &lt;JavaScriptCore/InspectorValues.h&gt;
</span><span class="cx"> #import &lt;wtf/Assertions.h&gt;
</span><ins>+#import &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> using namespace Inspector;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorscriptstestsexpectedenumvaluesjsonresult"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/enum-values.json-result (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/enum-values.json-result        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/enum-values.json-result        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -41,10 +41,10 @@
</span><span class="cx"> 
</span><span class="cx"> class AlternateInspectorBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    void setBackendDispatcher(Ref&lt;InspectorBackendDispatcher&gt;&amp;&amp; dispatcher) { m_backendDispatcher = WTF::move(dispatcher); }
-    const InspectorBackendDispatcher&amp; backendDispatcher() const { return m_backendDispatcher.get(); }
</del><ins>+    void setBackendDispatcher(PassRefPtr&lt;InspectorBackendDispatcher&gt; dispatcher) { m_backendDispatcher = dispatcher; }
+    InspectorBackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
</ins><span class="cx"> private:
</span><del>-    Ref&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    RefPtr&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -144,6 +144,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorBackendDispatcher.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -170,12 +171,12 @@
</span><span class="cx"> 
</span><span class="cx"> class InspectorCommandDomainBackendDispatcher final : public Inspector::InspectorSupplementalBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    static Ref&lt;InspectorCommandDomainBackendDispatcher&gt; create(Inspector::InspectorBackendDispatcher*, InspectorCommandDomainBackendDispatcherHandler*);
-    virtual void dispatch(long callId, const String&amp; method, Ref&lt;Inspector::InspectorObject&gt;&amp;&amp; message) override;
</del><ins>+    static PassRefPtr&lt;InspectorCommandDomainBackendDispatcher&gt; create(Inspector::InspectorBackendDispatcher*, InspectorCommandDomainBackendDispatcherHandler*);
+    virtual void dispatch(long callId, const String&amp; method, PassRefPtr&lt;Inspector::InspectorObject&gt; message) override;
</ins><span class="cx"> private:
</span><span class="cx">     void commandWithEnumReturnValue(long callId, const Inspector::InspectorObject&amp; message);
</span><span class="cx"> private:
</span><del>-    InspectorCommandDomainBackendDispatcher(Inspector::InspectorBackendDispatcher&amp;, InspectorCommandDomainBackendDispatcherHandler*);
</del><ins>+    InspectorCommandDomainBackendDispatcher(Inspector::InspectorBackendDispatcher*, InspectorCommandDomainBackendDispatcherHandler*);
</ins><span class="cx">     InspectorCommandDomainBackendDispatcherHandler* m_agent;
</span><span class="cx"> #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
</span><span class="cx"> public:
</span><span class="lines">@@ -240,12 +241,12 @@
</span><span class="cx"> 
</span><span class="cx"> InspectorCommandDomainBackendDispatcherHandler::~InspectorCommandDomainBackendDispatcherHandler() { }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorCommandDomainBackendDispatcher&gt; InspectorCommandDomainBackendDispatcher::create(InspectorBackendDispatcher* backendDispatcher, InspectorCommandDomainBackendDispatcherHandler* agent)
</del><ins>+PassRefPtr&lt;InspectorCommandDomainBackendDispatcher&gt; InspectorCommandDomainBackendDispatcher::create(InspectorBackendDispatcher* backendDispatcher, InspectorCommandDomainBackendDispatcherHandler* agent)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new InspectorCommandDomainBackendDispatcher(*backendDispatcher, agent));
</del><ins>+    return adoptRef(new InspectorCommandDomainBackendDispatcher(backendDispatcher, agent));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-InspectorCommandDomainBackendDispatcher::InspectorCommandDomainBackendDispatcher(InspectorBackendDispatcher&amp; backendDispatcher, InspectorCommandDomainBackendDispatcherHandler* agent)
</del><ins>+InspectorCommandDomainBackendDispatcher::InspectorCommandDomainBackendDispatcher(InspectorBackendDispatcher* backendDispatcher, InspectorCommandDomainBackendDispatcherHandler* agent)
</ins><span class="cx">     : InspectorSupplementalBackendDispatcher(backendDispatcher)
</span><span class="cx">     , m_agent(agent)
</span><span class="cx"> #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
</span><span class="lines">@@ -255,12 +256,12 @@
</span><span class="cx">     m_backendDispatcher-&gt;registerDispatcherForDomain(ASCIILiteral(&quot;CommandDomain&quot;), this);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorCommandDomainBackendDispatcher::dispatch(long callId, const String&amp; method, Ref&lt;InspectorObject&gt;&amp;&amp; message)
</del><ins>+void InspectorCommandDomainBackendDispatcher::dispatch(long callId, const String&amp; method, PassRefPtr&lt;InspectorObject&gt; message)
</ins><span class="cx"> {
</span><span class="cx">     Ref&lt;InspectorCommandDomainBackendDispatcher&gt; protect(*this);
</span><span class="cx"> 
</span><span class="cx">     if (method == &quot;commandWithEnumReturnValue&quot;)
</span><del>-        commandWithEnumReturnValue(callId, message);
</del><ins>+        commandWithEnumReturnValue(callId, *message.get());
</ins><span class="cx">     else
</span><span class="cx">         m_backendDispatcher-&gt;reportProtocolError(&amp;callId, InspectorBackendDispatcher::MethodNotFound, makeString('\'', &quot;CommandDomain&quot;, '.', method, &quot;' was not found&quot;));
</span><span class="cx"> }
</span><span class="lines">@@ -275,14 +276,14 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ErrorString error;
</span><del>-    Ref&lt;InspectorObject&gt; result = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();
</ins><span class="cx">     InspectorCommandDomainBackendDispatcherHandler::ReturnValue out_returnValue;
</span><span class="cx">     m_agent-&gt;commandWithEnumReturnValue(error, &amp;out_returnValue);
</span><span class="cx"> 
</span><span class="cx">     if (!error.length())
</span><span class="cx">         result-&gt;setString(ASCIILiteral(&quot;returnValue&quot;), Inspector::Protocol::getEnumConstantValue(out_returnValue));
</span><span class="cx"> 
</span><del>-    m_backendDispatcher-&gt;sendResponse(callId, WTF::move(result), error);
</del><ins>+    m_backendDispatcher-&gt;sendResponse(callId, result.release(), error);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace Inspector
</span><span class="lines">@@ -330,6 +331,7 @@
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorFrontendChannel.h&gt;
</span><span class="cx"> #include &lt;inspector/InspectorValues.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -399,11 +401,11 @@
</span><span class="cx"> 
</span><span class="cx"> void InspectorEventDomainFrontendDispatcher::eventWithEnumParameter(Parameter parameter)
</span><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</ins><span class="cx">     jsonMessage-&gt;setString(ASCIILiteral(&quot;method&quot;), ASCIILiteral(&quot;EventDomain.eventWithEnumParameter&quot;));
</span><del>-    Ref&lt;InspectorObject&gt; paramsObject = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; paramsObject = InspectorObject::create();
</ins><span class="cx">     paramsObject-&gt;setString(ASCIILiteral(&quot;parameter&quot;), Inspector::Protocol::getEnumConstantValue(parameter));
</span><del>-    jsonMessage-&gt;setObject(ASCIILiteral(&quot;params&quot;), paramsObject.copyRef());
</del><ins>+    jsonMessage-&gt;setObject(ASCIILiteral(&quot;params&quot;), paramsObject);
</ins><span class="cx"> 
</span><span class="cx">     m_inspectorFrontendChannel-&gt;sendMessageToFrontend(jsonMessage-&gt;toJSONString());
</span><span class="cx"> }
</span><span class="lines">@@ -452,6 +454,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &lt;inspector/InspectorProtocolTypes.h&gt;
</span><span class="cx"> #include &lt;wtf/Assertions.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><span class="lines">@@ -810,7 +813,7 @@
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     id successCallback = ^(RWIProtocolCommandDomainCommandWithEnumReturnValueReturnValue returnValue) {
</span><del>-        Ref&lt;InspectorObject&gt; resultObject = InspectorObject::create();
</del><ins>+        RefPtr&lt;InspectorObject&gt; resultObject = InspectorObject::create();
</ins><span class="cx">         resultObject-&gt;setString(ASCIILiteral(&quot;returnValue&quot;), toProtocolString(returnValue));
</span><span class="cx">         backendDispatcher()-&gt;sendResponse(callId, resultObject.release(), String());
</span><span class="cx">     };
</span><span class="lines">@@ -1018,9 +1021,9 @@
</span><span class="cx">     if (!frontendChannel)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    Ref&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</ins><span class="cx">     jsonMessage-&gt;setString(ASCIILiteral(&quot;method&quot;), ASCIILiteral(&quot;EventDomain.eventWithEnumParameter&quot;));
</span><del>-    Ref&lt;InspectorObject&gt; paramsObject = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; paramsObject = InspectorObject::create();
</ins><span class="cx">     paramsObject-&gt;setString(ASCIILiteral(&quot;parameter&quot;), toProtocolString(parameter));
</span><span class="cx">     jsonMessage-&gt;setObject(ASCIILiteral(&quot;params&quot;), paramsObject);
</span><span class="cx">     frontendChannel-&gt;sendMessageToFrontend(jsonMessage-&gt;toJSONString());
</span><span class="lines">@@ -1142,6 +1145,7 @@
</span><span class="cx"> #import &quot;RWIProtocolEnumConversionHelpers.h&quot;
</span><span class="cx"> #import &lt;JavaScriptCore/InspectorValues.h&gt;
</span><span class="cx"> #import &lt;wtf/Assertions.h&gt;
</span><ins>+#import &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> using namespace Inspector;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorscriptstestsexpectedeventswithoptionalparametersjsonresult"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/events-with-optional-parameters.json-result (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/events-with-optional-parameters.json-result        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/events-with-optional-parameters.json-result        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -41,10 +41,10 @@
</span><span class="cx"> 
</span><span class="cx"> class AlternateInspectorBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    void setBackendDispatcher(Ref&lt;InspectorBackendDispatcher&gt;&amp;&amp; dispatcher) { m_backendDispatcher = WTF::move(dispatcher); }
-    const InspectorBackendDispatcher&amp; backendDispatcher() const { return m_backendDispatcher.get(); }
</del><ins>+    void setBackendDispatcher(PassRefPtr&lt;InspectorBackendDispatcher&gt; dispatcher) { m_backendDispatcher = dispatcher; }
+    InspectorBackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
</ins><span class="cx"> private:
</span><del>-    Ref&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    RefPtr&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -133,6 +133,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorBackendDispatcher.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -241,6 +242,7 @@
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorFrontendChannel.h&gt;
</span><span class="cx"> #include &lt;inspector/InspectorValues.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -250,8 +252,8 @@
</span><span class="cx"> class InspectorDatabaseFrontendDispatcher {
</span><span class="cx"> public:
</span><span class="cx">     InspectorDatabaseFrontendDispatcher(InspectorFrontendChannel* inspectorFrontendChannel) : m_inspectorFrontendChannel(inspectorFrontendChannel) { }
</span><del>-    void didExecuteOptionalParameters(RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; columnNames, const String* const notes, const double* const timestamp, RefPtr&lt;Inspector::InspectorObject&gt; values, RefPtr&lt;Inspector::InspectorValue&gt; payload, RefPtr&lt;Inspector::Protocol::Database::Error&gt; sqlError, const Inspector::Protocol::Database::PrimaryColors* const screenColor, const String* const printColor);
-    void didExecuteNoOptionalParameters(RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; columnNames, const String&amp; notes, double timestamp, RefPtr&lt;Inspector::InspectorObject&gt; values, RefPtr&lt;Inspector::InspectorValue&gt; payload, RefPtr&lt;Inspector::Protocol::Database::Error&gt; sqlError, const Inspector::Protocol::Database::PrimaryColors&amp; screenColor, const String&amp; printColor);
</del><ins>+    void didExecuteOptionalParameters(PassRefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; columnNames, const String* const notes, const double* const timestamp, PassRefPtr&lt;Inspector::InspectorObject&gt; values, PassRefPtr&lt;Inspector::InspectorValue&gt; payload, PassRefPtr&lt;Inspector::Protocol::Database::Error&gt; sqlError, const Inspector::Protocol::Database::PrimaryColors* const screenColor, const String* const printColor);
+    void didExecuteNoOptionalParameters(PassRefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; columnNames, const String&amp; notes, double timestamp, PassRefPtr&lt;Inspector::InspectorObject&gt; values, PassRefPtr&lt;Inspector::InspectorValue&gt; payload, PassRefPtr&lt;Inspector::Protocol::Database::Error&gt; sqlError, const Inspector::Protocol::Database::PrimaryColors&amp; screenColor, const String&amp; printColor);
</ins><span class="cx"> private:
</span><span class="cx">     InspectorFrontendChannel* m_inspectorFrontendChannel;
</span><span class="cx"> };
</span><span class="lines">@@ -303,11 +305,11 @@
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><del>-void InspectorDatabaseFrontendDispatcher::didExecuteOptionalParameters(RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; columnNames, const String* const notes, const double* const timestamp, RefPtr&lt;Inspector::InspectorObject&gt; values, RefPtr&lt;Inspector::InspectorValue&gt; payload, RefPtr&lt;Inspector::Protocol::Database::Error&gt; sqlError, const Inspector::Protocol::Database::PrimaryColors* const screenColor, const String* const printColor)
</del><ins>+void InspectorDatabaseFrontendDispatcher::didExecuteOptionalParameters(PassRefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; columnNames, const String* const notes, const double* const timestamp, PassRefPtr&lt;Inspector::InspectorObject&gt; values, PassRefPtr&lt;Inspector::InspectorValue&gt; payload, PassRefPtr&lt;Inspector::Protocol::Database::Error&gt; sqlError, const Inspector::Protocol::Database::PrimaryColors* const screenColor, const String* const printColor)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</ins><span class="cx">     jsonMessage-&gt;setString(ASCIILiteral(&quot;method&quot;), ASCIILiteral(&quot;Database.didExecuteOptionalParameters&quot;));
</span><del>-    Ref&lt;InspectorObject&gt; paramsObject = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; paramsObject = InspectorObject::create();
</ins><span class="cx">     if (columnNames)
</span><span class="cx">         paramsObject-&gt;setArray(ASCIILiteral(&quot;columnNames&quot;), columnNames);
</span><span class="cx">     if (notes)
</span><span class="lines">@@ -324,16 +326,16 @@
</span><span class="cx">         paramsObject-&gt;setString(ASCIILiteral(&quot;screenColor&quot;), *screenColor);
</span><span class="cx">     if (printColor)
</span><span class="cx">         paramsObject-&gt;setString(ASCIILiteral(&quot;printColor&quot;), *printColor);
</span><del>-    jsonMessage-&gt;setObject(ASCIILiteral(&quot;params&quot;), paramsObject.copyRef());
</del><ins>+    jsonMessage-&gt;setObject(ASCIILiteral(&quot;params&quot;), paramsObject);
</ins><span class="cx"> 
</span><span class="cx">     m_inspectorFrontendChannel-&gt;sendMessageToFrontend(jsonMessage-&gt;toJSONString());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDatabaseFrontendDispatcher::didExecuteNoOptionalParameters(RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; columnNames, const String&amp; notes, double timestamp, RefPtr&lt;Inspector::InspectorObject&gt; values, RefPtr&lt;Inspector::InspectorValue&gt; payload, RefPtr&lt;Inspector::Protocol::Database::Error&gt; sqlError, const Inspector::Protocol::Database::PrimaryColors&amp; screenColor, const String&amp; printColor)
</del><ins>+void InspectorDatabaseFrontendDispatcher::didExecuteNoOptionalParameters(PassRefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; columnNames, const String&amp; notes, double timestamp, PassRefPtr&lt;Inspector::InspectorObject&gt; values, PassRefPtr&lt;Inspector::InspectorValue&gt; payload, PassRefPtr&lt;Inspector::Protocol::Database::Error&gt; sqlError, const Inspector::Protocol::Database::PrimaryColors&amp; screenColor, const String&amp; printColor)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</ins><span class="cx">     jsonMessage-&gt;setString(ASCIILiteral(&quot;method&quot;), ASCIILiteral(&quot;Database.didExecuteNoOptionalParameters&quot;));
</span><del>-    Ref&lt;InspectorObject&gt; paramsObject = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; paramsObject = InspectorObject::create();
</ins><span class="cx">     paramsObject-&gt;setArray(ASCIILiteral(&quot;columnNames&quot;), columnNames);
</span><span class="cx">     paramsObject-&gt;setString(ASCIILiteral(&quot;notes&quot;), notes);
</span><span class="cx">     paramsObject-&gt;setDouble(ASCIILiteral(&quot;timestamp&quot;), timestamp);
</span><span class="lines">@@ -342,7 +344,7 @@
</span><span class="cx">     paramsObject-&gt;setObject(ASCIILiteral(&quot;sqlError&quot;), sqlError);
</span><span class="cx">     paramsObject-&gt;setString(ASCIILiteral(&quot;screenColor&quot;), screenColor);
</span><span class="cx">     paramsObject-&gt;setString(ASCIILiteral(&quot;printColor&quot;), printColor);
</span><del>-    jsonMessage-&gt;setObject(ASCIILiteral(&quot;params&quot;), paramsObject.copyRef());
</del><ins>+    jsonMessage-&gt;setObject(ASCIILiteral(&quot;params&quot;), paramsObject);
</ins><span class="cx"> 
</span><span class="cx">     m_inspectorFrontendChannel-&gt;sendMessageToFrontend(jsonMessage-&gt;toJSONString());
</span><span class="cx"> }
</span><span class="lines">@@ -391,6 +393,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &lt;inspector/InspectorProtocolTypes.h&gt;
</span><span class="cx"> #include &lt;wtf/Assertions.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><span class="lines">@@ -442,10 +445,10 @@
</span><span class="cx">             return *reinterpret_cast&lt;Builder&lt;STATE | STEP&gt;*&gt;(this);
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Builder(Ref&lt;/*Error*/Inspector::InspectorObject&gt;&amp;&amp; object)
-            : m_result(WTF::move(object))
</del><ins>+        Builder(PassRefPtr&lt;/*Error*/Inspector::InspectorObject&gt; ptr)
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
</span><ins>+            m_result = ptr;
</ins><span class="cx">         }
</span><span class="cx">         friend class Error;
</span><span class="cx">     public:
</span><span class="lines">@@ -464,27 +467,30 @@
</span><span class="cx">             return castState&lt;CodeSet&gt;();
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Ref&lt;Error&gt; release()
</del><ins>+        operator RefPtr&lt;Error&gt;&amp; ()
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready);
</span><span class="cx">             COMPILE_ASSERT(sizeof(Error) == sizeof(Inspector::InspectorObject), cannot_cast);
</span><ins>+            return *reinterpret_cast&lt;RefPtr&lt;Error&gt;*&gt;(&amp;m_result);
+        }
</ins><span class="cx"> 
</span><del>-            Ref&lt;Inspector::InspectorObject&gt; result = m_result.releaseNonNull();
-            return WTF::move(*reinterpret_cast&lt;Ref&lt;Error&gt;*&gt;(&amp;result));
</del><ins>+        PassRefPtr&lt;Error&gt; release()
+        {
+            return RefPtr&lt;Error&gt;(*this).release();
</ins><span class="cx">         }
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     /*
</span><span class="cx">      * Synthetic constructor:
</span><del>-     * Ref&lt;Error&gt; result = Error::create()
</del><ins>+     * RefPtr&lt;Error&gt; result = Error::create()
</ins><span class="cx">      *     .setMessage(...)
</span><del>-     *     .setCode(...)
-     *     .release();
</del><ins>+     *     .setCode(...);
</ins><span class="cx">      */
</span><span class="cx">     static Builder&lt;NoFieldsSet&gt; create()
</span><span class="cx">     {
</span><span class="cx">         return Builder&lt;NoFieldsSet&gt;(Inspector::InspectorObject::create());
</span><span class="cx">     }
</span><ins>+    typedef Inspector::Protocol::StructItemTraits ItemTraits;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // Database
</span><span class="lines">@@ -882,9 +888,9 @@
</span><span class="cx">     THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(screenColor, @&quot;screenColor&quot;);
</span><span class="cx">     THROW_EXCEPTION_FOR_BAD_OPTIONAL_PARAMETER(printColor, @&quot;printColor&quot;);
</span><span class="cx"> 
</span><del>-    Ref&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</ins><span class="cx">     jsonMessage-&gt;setString(ASCIILiteral(&quot;method&quot;), ASCIILiteral(&quot;Database.didExecuteOptionalParameters&quot;));
</span><del>-    Ref&lt;InspectorObject&gt; paramsObject = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; paramsObject = InspectorObject::create();
</ins><span class="cx">     if (columnNames)
</span><span class="cx">         paramsObject-&gt;setArray(ASCIILiteral(&quot;columnNames&quot;), inspectorStringArray((*columnNames)));
</span><span class="cx">     if (notes)
</span><span class="lines">@@ -919,9 +925,9 @@
</span><span class="cx">     THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(screenColor, @&quot;screenColor&quot;);
</span><span class="cx">     THROW_EXCEPTION_FOR_REQUIRED_PARAMETER(printColor, @&quot;printColor&quot;);
</span><span class="cx"> 
</span><del>-    Ref&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</ins><span class="cx">     jsonMessage-&gt;setString(ASCIILiteral(&quot;method&quot;), ASCIILiteral(&quot;Database.didExecuteNoOptionalParameters&quot;));
</span><del>-    Ref&lt;InspectorObject&gt; paramsObject = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; paramsObject = InspectorObject::create();
</ins><span class="cx">     paramsObject-&gt;setArray(ASCIILiteral(&quot;columnNames&quot;), inspectorStringArray(columnNames));
</span><span class="cx">     paramsObject-&gt;setString(ASCIILiteral(&quot;notes&quot;), notes);
</span><span class="cx">     paramsObject-&gt;setDouble(ASCIILiteral(&quot;timestamp&quot;), timestamp);
</span><span class="lines">@@ -1035,6 +1041,7 @@
</span><span class="cx"> #import &quot;RWIProtocolEnumConversionHelpers.h&quot;
</span><span class="cx"> #import &lt;JavaScriptCore/InspectorValues.h&gt;
</span><span class="cx"> #import &lt;wtf/Assertions.h&gt;
</span><ins>+#import &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> using namespace Inspector;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorscriptstestsexpectedgeneratedomainswithfeatureguardsjsonresult"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -41,10 +41,10 @@
</span><span class="cx"> 
</span><span class="cx"> class AlternateInspectorBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    void setBackendDispatcher(Ref&lt;InspectorBackendDispatcher&gt;&amp;&amp; dispatcher) { m_backendDispatcher = WTF::move(dispatcher); }
-    const InspectorBackendDispatcher&amp; backendDispatcher() const { return m_backendDispatcher.get(); }
</del><ins>+    void setBackendDispatcher(PassRefPtr&lt;InspectorBackendDispatcher&gt; dispatcher) { m_backendDispatcher = dispatcher; }
+    InspectorBackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
</ins><span class="cx"> private:
</span><del>-    Ref&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    RefPtr&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -142,6 +142,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorBackendDispatcher.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -166,12 +167,12 @@
</span><span class="cx"> #if PLATFORM(WEB_COMMANDS)
</span><span class="cx"> class InspectorNetwork1BackendDispatcher final : public Inspector::InspectorSupplementalBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    static Ref&lt;InspectorNetwork1BackendDispatcher&gt; create(Inspector::InspectorBackendDispatcher*, InspectorNetwork1BackendDispatcherHandler*);
-    virtual void dispatch(long callId, const String&amp; method, Ref&lt;Inspector::InspectorObject&gt;&amp;&amp; message) override;
</del><ins>+    static PassRefPtr&lt;InspectorNetwork1BackendDispatcher&gt; create(Inspector::InspectorBackendDispatcher*, InspectorNetwork1BackendDispatcherHandler*);
+    virtual void dispatch(long callId, const String&amp; method, PassRefPtr&lt;Inspector::InspectorObject&gt; message) override;
</ins><span class="cx"> private:
</span><span class="cx">     void loadResource(long callId, const Inspector::InspectorObject&amp; message);
</span><span class="cx"> private:
</span><del>-    InspectorNetwork1BackendDispatcher(Inspector::InspectorBackendDispatcher&amp;, InspectorNetwork1BackendDispatcherHandler*);
</del><ins>+    InspectorNetwork1BackendDispatcher(Inspector::InspectorBackendDispatcher*, InspectorNetwork1BackendDispatcherHandler*);
</ins><span class="cx">     InspectorNetwork1BackendDispatcherHandler* m_agent;
</span><span class="cx"> #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
</span><span class="cx"> public:
</span><span class="lines">@@ -240,12 +241,12 @@
</span><span class="cx"> #endif // PLATFORM(WEB_COMMANDS)
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(WEB_COMMANDS)
</span><del>-Ref&lt;InspectorNetwork1BackendDispatcher&gt; InspectorNetwork1BackendDispatcher::create(InspectorBackendDispatcher* backendDispatcher, InspectorNetwork1BackendDispatcherHandler* agent)
</del><ins>+PassRefPtr&lt;InspectorNetwork1BackendDispatcher&gt; InspectorNetwork1BackendDispatcher::create(InspectorBackendDispatcher* backendDispatcher, InspectorNetwork1BackendDispatcherHandler* agent)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new InspectorNetwork1BackendDispatcher(*backendDispatcher, agent));
</del><ins>+    return adoptRef(new InspectorNetwork1BackendDispatcher(backendDispatcher, agent));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-InspectorNetwork1BackendDispatcher::InspectorNetwork1BackendDispatcher(InspectorBackendDispatcher&amp; backendDispatcher, InspectorNetwork1BackendDispatcherHandler* agent)
</del><ins>+InspectorNetwork1BackendDispatcher::InspectorNetwork1BackendDispatcher(InspectorBackendDispatcher* backendDispatcher, InspectorNetwork1BackendDispatcherHandler* agent)
</ins><span class="cx">     : InspectorSupplementalBackendDispatcher(backendDispatcher)
</span><span class="cx">     , m_agent(agent)
</span><span class="cx"> #if ENABLE(INSPECTOR_ALTERNATE_DISPATCHERS)
</span><span class="lines">@@ -255,12 +256,12 @@
</span><span class="cx">     m_backendDispatcher-&gt;registerDispatcherForDomain(ASCIILiteral(&quot;Network1&quot;), this);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorNetwork1BackendDispatcher::dispatch(long callId, const String&amp; method, Ref&lt;InspectorObject&gt;&amp;&amp; message)
</del><ins>+void InspectorNetwork1BackendDispatcher::dispatch(long callId, const String&amp; method, PassRefPtr&lt;InspectorObject&gt; message)
</ins><span class="cx"> {
</span><span class="cx">     Ref&lt;InspectorNetwork1BackendDispatcher&gt; protect(*this);
</span><span class="cx"> 
</span><span class="cx">     if (method == &quot;loadResource&quot;)
</span><del>-        loadResource(callId, message);
</del><ins>+        loadResource(callId, *message.get());
</ins><span class="cx">     else
</span><span class="cx">         m_backendDispatcher-&gt;reportProtocolError(&amp;callId, InspectorBackendDispatcher::MethodNotFound, makeString('\'', &quot;Network1&quot;, '.', method, &quot;' was not found&quot;));
</span><span class="cx"> }
</span><span class="lines">@@ -275,10 +276,10 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ErrorString error;
</span><del>-    Ref&lt;InspectorObject&gt; result = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();
</ins><span class="cx">     m_agent-&gt;loadResource(error);
</span><span class="cx"> 
</span><del>-    m_backendDispatcher-&gt;sendResponse(callId, WTF::move(result), error);
</del><ins>+    m_backendDispatcher-&gt;sendResponse(callId, result.release(), error);
</ins><span class="cx"> }
</span><span class="cx"> #endif // PLATFORM(WEB_COMMANDS)
</span><span class="cx"> 
</span><span class="lines">@@ -327,6 +328,7 @@
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorFrontendChannel.h&gt;
</span><span class="cx"> #include &lt;inspector/InspectorValues.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -393,7 +395,7 @@
</span><span class="cx"> #if PLATFORM(WEB_EVENTS)
</span><span class="cx"> void InspectorNetwork3FrontendDispatcher::resourceLoaded()
</span><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</ins><span class="cx">     jsonMessage-&gt;setString(ASCIILiteral(&quot;method&quot;), ASCIILiteral(&quot;Network3.resourceLoaded&quot;));
</span><span class="cx"> 
</span><span class="cx">     m_inspectorFrontendChannel-&gt;sendMessageToFrontend(jsonMessage-&gt;toJSONString());
</span><span class="lines">@@ -444,6 +446,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &lt;inspector/InspectorProtocolTypes.h&gt;
</span><span class="cx"> #include &lt;wtf/Assertions.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><span class="lines">@@ -490,10 +493,10 @@
</span><span class="cx">             return *reinterpret_cast&lt;Builder&lt;STATE | STEP&gt;*&gt;(this);
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Builder(Ref&lt;/*NetworkError*/Inspector::InspectorObject&gt;&amp;&amp; object)
-            : m_result(WTF::move(object))
</del><ins>+        Builder(PassRefPtr&lt;/*NetworkError*/Inspector::InspectorObject&gt; ptr)
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
</span><ins>+            m_result = ptr;
</ins><span class="cx">         }
</span><span class="cx">         friend class NetworkError;
</span><span class="cx">     public:
</span><span class="lines">@@ -512,27 +515,30 @@
</span><span class="cx">             return castState&lt;CodeSet&gt;();
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Ref&lt;NetworkError&gt; release()
</del><ins>+        operator RefPtr&lt;NetworkError&gt;&amp; ()
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready);
</span><span class="cx">             COMPILE_ASSERT(sizeof(NetworkError) == sizeof(Inspector::InspectorObject), cannot_cast);
</span><ins>+            return *reinterpret_cast&lt;RefPtr&lt;NetworkError&gt;*&gt;(&amp;m_result);
+        }
</ins><span class="cx"> 
</span><del>-            Ref&lt;Inspector::InspectorObject&gt; result = m_result.releaseNonNull();
-            return WTF::move(*reinterpret_cast&lt;Ref&lt;NetworkError&gt;*&gt;(&amp;result));
</del><ins>+        PassRefPtr&lt;NetworkError&gt; release()
+        {
+            return RefPtr&lt;NetworkError&gt;(*this).release();
</ins><span class="cx">         }
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     /*
</span><span class="cx">      * Synthetic constructor:
</span><del>-     * Ref&lt;NetworkError&gt; result = NetworkError::create()
</del><ins>+     * RefPtr&lt;NetworkError&gt; result = NetworkError::create()
</ins><span class="cx">      *     .setMessage(...)
</span><del>-     *     .setCode(...)
-     *     .release();
</del><ins>+     *     .setCode(...);
</ins><span class="cx">      */
</span><span class="cx">     static Builder&lt;NoFieldsSet&gt; create()
</span><span class="cx">     {
</span><span class="cx">         return Builder&lt;NoFieldsSet&gt;(Inspector::InspectorObject::create());
</span><span class="cx">     }
</span><ins>+    typedef Inspector::Protocol::StructItemTraits ItemTraits;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // Network2
</span><span class="lines">@@ -984,7 +990,7 @@
</span><span class="cx">     if (!frontendChannel)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    Ref&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</ins><span class="cx">     jsonMessage-&gt;setString(ASCIILiteral(&quot;method&quot;), ASCIILiteral(&quot;Network3.resourceLoaded&quot;));
</span><span class="cx">     frontendChannel-&gt;sendMessageToFrontend(jsonMessage-&gt;toJSONString());
</span><span class="cx"> }
</span><span class="lines">@@ -1092,6 +1098,7 @@
</span><span class="cx"> #import &quot;RWIProtocolEnumConversionHelpers.h&quot;
</span><span class="cx"> #import &lt;JavaScriptCore/InspectorValues.h&gt;
</span><span class="cx"> #import &lt;wtf/Assertions.h&gt;
</span><ins>+#import &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> using namespace Inspector;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorscriptstestsexpectedsametypeiddifferentdomainjsonresult"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/same-type-id-different-domain.json-result (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/same-type-id-different-domain.json-result        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/same-type-id-different-domain.json-result        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -41,10 +41,10 @@
</span><span class="cx"> 
</span><span class="cx"> class AlternateInspectorBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    void setBackendDispatcher(Ref&lt;InspectorBackendDispatcher&gt;&amp;&amp; dispatcher) { m_backendDispatcher = WTF::move(dispatcher); }
-    const InspectorBackendDispatcher&amp; backendDispatcher() const { return m_backendDispatcher.get(); }
</del><ins>+    void setBackendDispatcher(PassRefPtr&lt;InspectorBackendDispatcher&gt; dispatcher) { m_backendDispatcher = dispatcher; }
+    InspectorBackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
</ins><span class="cx"> private:
</span><del>-    Ref&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    RefPtr&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -127,6 +127,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorBackendDispatcher.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -235,6 +236,7 @@
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorFrontendChannel.h&gt;
</span><span class="cx"> #include &lt;inspector/InspectorValues.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -332,6 +334,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &lt;inspector/InspectorProtocolTypes.h&gt;
</span><span class="cx"> #include &lt;wtf/Assertions.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><span class="lines">@@ -814,6 +817,7 @@
</span><span class="cx"> #import &quot;RWIProtocolEnumConversionHelpers.h&quot;
</span><span class="cx"> #import &lt;JavaScriptCore/InspectorValues.h&gt;
</span><span class="cx"> #import &lt;wtf/Assertions.h&gt;
</span><ins>+#import &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> using namespace Inspector;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorscriptstestsexpectedshadowedoptionaltypesettersjsonresult"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -41,10 +41,10 @@
</span><span class="cx"> 
</span><span class="cx"> class AlternateInspectorBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    void setBackendDispatcher(Ref&lt;InspectorBackendDispatcher&gt;&amp;&amp; dispatcher) { m_backendDispatcher = WTF::move(dispatcher); }
-    const InspectorBackendDispatcher&amp; backendDispatcher() const { return m_backendDispatcher.get(); }
</del><ins>+    void setBackendDispatcher(PassRefPtr&lt;InspectorBackendDispatcher&gt; dispatcher) { m_backendDispatcher = dispatcher; }
+    InspectorBackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
</ins><span class="cx"> private:
</span><del>-    Ref&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    RefPtr&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -127,6 +127,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorBackendDispatcher.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -235,6 +236,7 @@
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorFrontendChannel.h&gt;
</span><span class="cx"> #include &lt;inspector/InspectorValues.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -332,6 +334,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &lt;inspector/InspectorProtocolTypes.h&gt;
</span><span class="cx"> #include &lt;wtf/Assertions.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><span class="lines">@@ -381,10 +384,10 @@
</span><span class="cx">             return *reinterpret_cast&lt;Builder&lt;STATE | STEP&gt;*&gt;(this);
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Builder(Ref&lt;/*KeyPath*/Inspector::InspectorObject&gt;&amp;&amp; object)
-            : m_result(WTF::move(object))
</del><ins>+        Builder(PassRefPtr&lt;/*KeyPath*/Inspector::InspectorObject&gt; ptr)
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
</span><ins>+            m_result = ptr;
</ins><span class="cx">         }
</span><span class="cx">         friend class KeyPath;
</span><span class="cx">     public:
</span><span class="lines">@@ -396,35 +399,38 @@
</span><span class="cx">             return castState&lt;TypeSet&gt;();
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Ref&lt;KeyPath&gt; release()
</del><ins>+        operator RefPtr&lt;KeyPath&gt;&amp; ()
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready);
</span><span class="cx">             COMPILE_ASSERT(sizeof(KeyPath) == sizeof(Inspector::InspectorObject), cannot_cast);
</span><ins>+            return *reinterpret_cast&lt;RefPtr&lt;KeyPath&gt;*&gt;(&amp;m_result);
+        }
</ins><span class="cx"> 
</span><del>-            Ref&lt;Inspector::InspectorObject&gt; result = m_result.releaseNonNull();
-            return WTF::move(*reinterpret_cast&lt;Ref&lt;KeyPath&gt;*&gt;(&amp;result));
</del><ins>+        PassRefPtr&lt;KeyPath&gt; release()
+        {
+            return RefPtr&lt;KeyPath&gt;(*this).release();
</ins><span class="cx">         }
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     /*
</span><span class="cx">      * Synthetic constructor:
</span><del>-     * Ref&lt;KeyPath&gt; result = KeyPath::create()
-     *     .setType(...)
-     *     .release();
</del><ins>+     * RefPtr&lt;KeyPath&gt; result = KeyPath::create()
+     *     .setType(...);
</ins><span class="cx">      */
</span><span class="cx">     static Builder&lt;NoFieldsSet&gt; create()
</span><span class="cx">     {
</span><span class="cx">         return Builder&lt;NoFieldsSet&gt;(Inspector::InspectorObject::create());
</span><span class="cx">     }
</span><ins>+    typedef Inspector::Protocol::StructItemTraits ItemTraits;
</ins><span class="cx"> 
</span><span class="cx">     void setString(const String&amp; value)
</span><span class="cx">     {
</span><span class="cx">         InspectorObjectBase::setString(ASCIILiteral(&quot;string&quot;), value);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void setArray(RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; value)
</del><ins>+    void setArray(PassRefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; value)
</ins><span class="cx">     {
</span><del>-        InspectorObjectBase::setArray(ASCIILiteral(&quot;array&quot;), WTF::move(value));
</del><ins>+        InspectorObjectBase::setArray(ASCIILiteral(&quot;array&quot;), value);
</ins><span class="cx">     }
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="lines">@@ -914,6 +920,7 @@
</span><span class="cx"> #import &quot;RWIProtocolEnumConversionHelpers.h&quot;
</span><span class="cx"> #import &lt;JavaScriptCore/InspectorValues.h&gt;
</span><span class="cx"> #import &lt;wtf/Assertions.h&gt;
</span><ins>+#import &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> using namespace Inspector;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorscriptstestsexpectedtypedeclarationaliasedprimitivetypejsonresult"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -41,10 +41,10 @@
</span><span class="cx"> 
</span><span class="cx"> class AlternateInspectorBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    void setBackendDispatcher(Ref&lt;InspectorBackendDispatcher&gt;&amp;&amp; dispatcher) { m_backendDispatcher = WTF::move(dispatcher); }
-    const InspectorBackendDispatcher&amp; backendDispatcher() const { return m_backendDispatcher.get(); }
</del><ins>+    void setBackendDispatcher(PassRefPtr&lt;InspectorBackendDispatcher&gt; dispatcher) { m_backendDispatcher = dispatcher; }
+    InspectorBackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
</ins><span class="cx"> private:
</span><del>-    Ref&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    RefPtr&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -127,6 +127,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorBackendDispatcher.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -235,6 +236,7 @@
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorFrontendChannel.h&gt;
</span><span class="cx"> #include &lt;inspector/InspectorValues.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -332,6 +334,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &lt;inspector/InspectorProtocolTypes.h&gt;
</span><span class="cx"> #include &lt;wtf/Assertions.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><span class="lines">@@ -800,6 +803,7 @@
</span><span class="cx"> #import &quot;RWIProtocolEnumConversionHelpers.h&quot;
</span><span class="cx"> #import &lt;JavaScriptCore/InspectorValues.h&gt;
</span><span class="cx"> #import &lt;wtf/Assertions.h&gt;
</span><ins>+#import &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> using namespace Inspector;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorscriptstestsexpectedtypedeclarationarraytypejsonresult"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-array-type.json-result (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-array-type.json-result        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-array-type.json-result        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -41,10 +41,10 @@
</span><span class="cx"> 
</span><span class="cx"> class AlternateInspectorBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    void setBackendDispatcher(Ref&lt;InspectorBackendDispatcher&gt;&amp;&amp; dispatcher) { m_backendDispatcher = WTF::move(dispatcher); }
-    const InspectorBackendDispatcher&amp; backendDispatcher() const { return m_backendDispatcher.get(); }
</del><ins>+    void setBackendDispatcher(PassRefPtr&lt;InspectorBackendDispatcher&gt; dispatcher) { m_backendDispatcher = dispatcher; }
+    InspectorBackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
</ins><span class="cx"> private:
</span><del>-    Ref&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    RefPtr&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -130,6 +130,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorBackendDispatcher.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -238,6 +239,7 @@
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorFrontendChannel.h&gt;
</span><span class="cx"> #include &lt;inspector/InspectorValues.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -335,6 +337,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &lt;inspector/InspectorProtocolTypes.h&gt;
</span><span class="cx"> #include &lt;wtf/Assertions.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><span class="lines">@@ -861,6 +864,7 @@
</span><span class="cx"> #import &quot;RWIProtocolEnumConversionHelpers.h&quot;
</span><span class="cx"> #import &lt;JavaScriptCore/InspectorValues.h&gt;
</span><span class="cx"> #import &lt;wtf/Assertions.h&gt;
</span><ins>+#import &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> using namespace Inspector;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorscriptstestsexpectedtypedeclarationenumtypejsonresult"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-enum-type.json-result (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-enum-type.json-result        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-enum-type.json-result        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -41,10 +41,10 @@
</span><span class="cx"> 
</span><span class="cx"> class AlternateInspectorBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    void setBackendDispatcher(Ref&lt;InspectorBackendDispatcher&gt;&amp;&amp; dispatcher) { m_backendDispatcher = WTF::move(dispatcher); }
-    const InspectorBackendDispatcher&amp; backendDispatcher() const { return m_backendDispatcher.get(); }
</del><ins>+    void setBackendDispatcher(PassRefPtr&lt;InspectorBackendDispatcher&gt; dispatcher) { m_backendDispatcher = dispatcher; }
+    InspectorBackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
</ins><span class="cx"> private:
</span><del>-    Ref&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    RefPtr&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -131,6 +131,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorBackendDispatcher.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -239,6 +240,7 @@
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorFrontendChannel.h&gt;
</span><span class="cx"> #include &lt;inspector/InspectorValues.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -336,6 +338,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &lt;inspector/InspectorProtocolTypes.h&gt;
</span><span class="cx"> #include &lt;wtf/Assertions.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><span class="lines">@@ -899,6 +902,7 @@
</span><span class="cx"> #import &quot;RWIProtocolEnumConversionHelpers.h&quot;
</span><span class="cx"> #import &lt;JavaScriptCore/InspectorValues.h&gt;
</span><span class="cx"> #import &lt;wtf/Assertions.h&gt;
</span><ins>+#import &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> using namespace Inspector;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorscriptstestsexpectedtypedeclarationobjecttypejsonresult"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-object-type.json-result (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-object-type.json-result        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-object-type.json-result        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -41,10 +41,10 @@
</span><span class="cx"> 
</span><span class="cx"> class AlternateInspectorBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    void setBackendDispatcher(Ref&lt;InspectorBackendDispatcher&gt;&amp;&amp; dispatcher) { m_backendDispatcher = WTF::move(dispatcher); }
-    const InspectorBackendDispatcher&amp; backendDispatcher() const { return m_backendDispatcher.get(); }
</del><ins>+    void setBackendDispatcher(PassRefPtr&lt;InspectorBackendDispatcher&gt; dispatcher) { m_backendDispatcher = dispatcher; }
+    InspectorBackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
</ins><span class="cx"> private:
</span><del>-    Ref&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    RefPtr&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -127,6 +127,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorBackendDispatcher.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -235,6 +236,7 @@
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorFrontendChannel.h&gt;
</span><span class="cx"> #include &lt;inspector/InspectorValues.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -332,6 +334,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &lt;inspector/InspectorProtocolTypes.h&gt;
</span><span class="cx"> #include &lt;wtf/Assertions.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><span class="lines">@@ -384,10 +387,10 @@
</span><span class="cx">             return *reinterpret_cast&lt;Builder&lt;STATE | STEP&gt;*&gt;(this);
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Builder(Ref&lt;/*Error*/Inspector::InspectorObject&gt;&amp;&amp; object)
-            : m_result(WTF::move(object))
</del><ins>+        Builder(PassRefPtr&lt;/*Error*/Inspector::InspectorObject&gt; ptr)
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
</span><ins>+            m_result = ptr;
</ins><span class="cx">         }
</span><span class="cx">         friend class Error;
</span><span class="cx">     public:
</span><span class="lines">@@ -406,27 +409,30 @@
</span><span class="cx">             return castState&lt;CodeSet&gt;();
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Ref&lt;Error&gt; release()
</del><ins>+        operator RefPtr&lt;Error&gt;&amp; ()
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready);
</span><span class="cx">             COMPILE_ASSERT(sizeof(Error) == sizeof(Inspector::InspectorObject), cannot_cast);
</span><ins>+            return *reinterpret_cast&lt;RefPtr&lt;Error&gt;*&gt;(&amp;m_result);
+        }
</ins><span class="cx"> 
</span><del>-            Ref&lt;Inspector::InspectorObject&gt; result = m_result.releaseNonNull();
-            return WTF::move(*reinterpret_cast&lt;Ref&lt;Error&gt;*&gt;(&amp;result));
</del><ins>+        PassRefPtr&lt;Error&gt; release()
+        {
+            return RefPtr&lt;Error&gt;(*this).release();
</ins><span class="cx">         }
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     /*
</span><span class="cx">      * Synthetic constructor:
</span><del>-     * Ref&lt;Error&gt; result = Error::create()
</del><ins>+     * RefPtr&lt;Error&gt; result = Error::create()
</ins><span class="cx">      *     .setMessage(...)
</span><del>-     *     .setCode(...)
-     *     .release();
</del><ins>+     *     .setCode(...);
</ins><span class="cx">      */
</span><span class="cx">     static Builder&lt;NoFieldsSet&gt; create()
</span><span class="cx">     {
</span><span class="cx">         return Builder&lt;NoFieldsSet&gt;(Inspector::InspectorObject::create());
</span><span class="cx">     }
</span><ins>+    typedef Inspector::Protocol::StructItemTraits ItemTraits;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class OptionalParameterBundle : public Inspector::InspectorObjectBase {
</span><span class="lines">@@ -446,37 +452,40 @@
</span><span class="cx">             return *reinterpret_cast&lt;Builder&lt;STATE | STEP&gt;*&gt;(this);
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Builder(Ref&lt;/*OptionalParameterBundle*/Inspector::InspectorObject&gt;&amp;&amp; object)
-            : m_result(WTF::move(object))
</del><ins>+        Builder(PassRefPtr&lt;/*OptionalParameterBundle*/Inspector::InspectorObject&gt; ptr)
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
</span><ins>+            m_result = ptr;
</ins><span class="cx">         }
</span><span class="cx">         friend class OptionalParameterBundle;
</span><span class="cx">     public:
</span><span class="cx"> 
</span><del>-        Ref&lt;OptionalParameterBundle&gt; release()
</del><ins>+        operator RefPtr&lt;OptionalParameterBundle&gt;&amp; ()
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready);
</span><span class="cx">             COMPILE_ASSERT(sizeof(OptionalParameterBundle) == sizeof(Inspector::InspectorObject), cannot_cast);
</span><ins>+            return *reinterpret_cast&lt;RefPtr&lt;OptionalParameterBundle&gt;*&gt;(&amp;m_result);
+        }
</ins><span class="cx"> 
</span><del>-            Ref&lt;Inspector::InspectorObject&gt; result = m_result.releaseNonNull();
-            return WTF::move(*reinterpret_cast&lt;Ref&lt;OptionalParameterBundle&gt;*&gt;(&amp;result));
</del><ins>+        PassRefPtr&lt;OptionalParameterBundle&gt; release()
+        {
+            return RefPtr&lt;OptionalParameterBundle&gt;(*this).release();
</ins><span class="cx">         }
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     /*
</span><span class="cx">      * Synthetic constructor:
</span><del>-     * Ref&lt;OptionalParameterBundle&gt; result = OptionalParameterBundle::create()
-     *     .release();
</del><ins>+     * RefPtr&lt;OptionalParameterBundle&gt; result = OptionalParameterBundle::create();
</ins><span class="cx">      */
</span><span class="cx">     static Builder&lt;NoFieldsSet&gt; create()
</span><span class="cx">     {
</span><span class="cx">         return Builder&lt;NoFieldsSet&gt;(Inspector::InspectorObject::create());
</span><span class="cx">     }
</span><ins>+    typedef Inspector::Protocol::StructItemTraits ItemTraits;
</ins><span class="cx"> 
</span><del>-    void setColumnNames(RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; value)
</del><ins>+    void setColumnNames(PassRefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; value)
</ins><span class="cx">     {
</span><del>-        InspectorObjectBase::setArray(ASCIILiteral(&quot;columnNames&quot;), WTF::move(value));
</del><ins>+        InspectorObjectBase::setArray(ASCIILiteral(&quot;columnNames&quot;), value);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void setNotes(const String&amp; value)
</span><span class="lines">@@ -489,19 +498,19 @@
</span><span class="cx">         InspectorObjectBase::setDouble(ASCIILiteral(&quot;timestamp&quot;), value);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void setValues(RefPtr&lt;Inspector::InspectorObject&gt; value)
</del><ins>+    void setValues(PassRefPtr&lt;Inspector::InspectorObject&gt; value)
</ins><span class="cx">     {
</span><del>-        InspectorObjectBase::setObject(ASCIILiteral(&quot;values&quot;), WTF::move(value));
</del><ins>+        InspectorObjectBase::setObject(ASCIILiteral(&quot;values&quot;), value);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void setPayload(RefPtr&lt;Inspector::InspectorValue&gt; value)
</del><ins>+    void setPayload(PassRefPtr&lt;Inspector::InspectorValue&gt; value)
</ins><span class="cx">     {
</span><del>-        InspectorObjectBase::setValue(ASCIILiteral(&quot;payload&quot;), WTF::move(value));
</del><ins>+        InspectorObjectBase::setValue(ASCIILiteral(&quot;payload&quot;), value);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void setError(RefPtr&lt;Inspector::Protocol::Database::Error&gt; value)
</del><ins>+    void setError(PassRefPtr&lt;Inspector::Protocol::Database::Error&gt; value)
</ins><span class="cx">     {
</span><del>-        InspectorObjectBase::setObject(ASCIILiteral(&quot;error&quot;), WTF::move(value));
</del><ins>+        InspectorObjectBase::setObject(ASCIILiteral(&quot;error&quot;), value);
</ins><span class="cx">     }
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="lines">@@ -528,15 +537,15 @@
</span><span class="cx">             return *reinterpret_cast&lt;Builder&lt;STATE | STEP&gt;*&gt;(this);
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Builder(Ref&lt;/*ParameterBundle*/Inspector::InspectorObject&gt;&amp;&amp; object)
-            : m_result(WTF::move(object))
</del><ins>+        Builder(PassRefPtr&lt;/*ParameterBundle*/Inspector::InspectorObject&gt; ptr)
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
</span><ins>+            m_result = ptr;
</ins><span class="cx">         }
</span><span class="cx">         friend class ParameterBundle;
</span><span class="cx">     public:
</span><span class="cx"> 
</span><del>-        Builder&lt;STATE | ColumnNamesSet&gt;&amp; setColumnNames(RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; value)
</del><ins>+        Builder&lt;STATE | ColumnNamesSet&gt;&amp; setColumnNames(PassRefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; value)
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(!(STATE &amp; ColumnNamesSet), property_columnNames_already_set);
</span><span class="cx">             m_result-&gt;setArray(ASCIILiteral(&quot;columnNames&quot;), value);
</span><span class="lines">@@ -557,52 +566,55 @@
</span><span class="cx">             return castState&lt;TimestampSet&gt;();
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Builder&lt;STATE | ValuesSet&gt;&amp; setValues(RefPtr&lt;Inspector::InspectorObject&gt; value)
</del><ins>+        Builder&lt;STATE | ValuesSet&gt;&amp; setValues(PassRefPtr&lt;Inspector::InspectorObject&gt; value)
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(!(STATE &amp; ValuesSet), property_values_already_set);
</span><span class="cx">             m_result-&gt;setObject(ASCIILiteral(&quot;values&quot;), value);
</span><span class="cx">             return castState&lt;ValuesSet&gt;();
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Builder&lt;STATE | PayloadSet&gt;&amp; setPayload(RefPtr&lt;Inspector::InspectorValue&gt; value)
</del><ins>+        Builder&lt;STATE | PayloadSet&gt;&amp; setPayload(PassRefPtr&lt;Inspector::InspectorValue&gt; value)
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(!(STATE &amp; PayloadSet), property_payload_already_set);
</span><span class="cx">             m_result-&gt;setValue(ASCIILiteral(&quot;payload&quot;), value);
</span><span class="cx">             return castState&lt;PayloadSet&gt;();
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Builder&lt;STATE | ErrorSet&gt;&amp; setError(RefPtr&lt;Inspector::Protocol::Database::Error&gt; value)
</del><ins>+        Builder&lt;STATE | ErrorSet&gt;&amp; setError(PassRefPtr&lt;Inspector::Protocol::Database::Error&gt; value)
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(!(STATE &amp; ErrorSet), property_error_already_set);
</span><span class="cx">             m_result-&gt;setObject(ASCIILiteral(&quot;error&quot;), value);
</span><span class="cx">             return castState&lt;ErrorSet&gt;();
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Ref&lt;ParameterBundle&gt; release()
</del><ins>+        operator RefPtr&lt;ParameterBundle&gt;&amp; ()
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready);
</span><span class="cx">             COMPILE_ASSERT(sizeof(ParameterBundle) == sizeof(Inspector::InspectorObject), cannot_cast);
</span><ins>+            return *reinterpret_cast&lt;RefPtr&lt;ParameterBundle&gt;*&gt;(&amp;m_result);
+        }
</ins><span class="cx"> 
</span><del>-            Ref&lt;Inspector::InspectorObject&gt; result = m_result.releaseNonNull();
-            return WTF::move(*reinterpret_cast&lt;Ref&lt;ParameterBundle&gt;*&gt;(&amp;result));
</del><ins>+        PassRefPtr&lt;ParameterBundle&gt; release()
+        {
+            return RefPtr&lt;ParameterBundle&gt;(*this).release();
</ins><span class="cx">         }
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     /*
</span><span class="cx">      * Synthetic constructor:
</span><del>-     * Ref&lt;ParameterBundle&gt; result = ParameterBundle::create()
</del><ins>+     * RefPtr&lt;ParameterBundle&gt; result = ParameterBundle::create()
</ins><span class="cx">      *     .setColumnNames(...)
</span><span class="cx">      *     .setNotes(...)
</span><span class="cx">      *     .setTimestamp(...)
</span><span class="cx">      *     .setValues(...)
</span><span class="cx">      *     .setPayload(...)
</span><del>-     *     .setError(...)
-     *     .release();
</del><ins>+     *     .setError(...);
</ins><span class="cx">      */
</span><span class="cx">     static Builder&lt;NoFieldsSet&gt; create()
</span><span class="cx">     {
</span><span class="cx">         return Builder&lt;NoFieldsSet&gt;(Inspector::InspectorObject::create());
</span><span class="cx">     }
</span><ins>+    typedef Inspector::Protocol::StructItemTraits ItemTraits;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> /* Conflicted names may cause generated getters/setters to clash with built-in InspectorObject methods. */
</span><span class="lines">@@ -628,10 +640,10 @@
</span><span class="cx">             return *reinterpret_cast&lt;Builder&lt;STATE | STEP&gt;*&gt;(this);
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Builder(Ref&lt;/*ObjectWithPropertyNameConflicts*/Inspector::InspectorObject&gt;&amp;&amp; object)
-            : m_result(WTF::move(object))
</del><ins>+        Builder(PassRefPtr&lt;/*ObjectWithPropertyNameConflicts*/Inspector::InspectorObject&gt; ptr)
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
</span><ins>+            m_result = ptr;
</ins><span class="cx">         }
</span><span class="cx">         friend class ObjectWithPropertyNameConflicts;
</span><span class="cx">     public:
</span><span class="lines">@@ -671,30 +683,33 @@
</span><span class="cx">             return castState&lt;ObjectSet&gt;();
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Ref&lt;ObjectWithPropertyNameConflicts&gt; release()
</del><ins>+        operator RefPtr&lt;ObjectWithPropertyNameConflicts&gt;&amp; ()
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready);
</span><span class="cx">             COMPILE_ASSERT(sizeof(ObjectWithPropertyNameConflicts) == sizeof(Inspector::InspectorObject), cannot_cast);
</span><ins>+            return *reinterpret_cast&lt;RefPtr&lt;ObjectWithPropertyNameConflicts&gt;*&gt;(&amp;m_result);
+        }
</ins><span class="cx"> 
</span><del>-            Ref&lt;Inspector::InspectorObject&gt; result = m_result.releaseNonNull();
-            return WTF::move(*reinterpret_cast&lt;Ref&lt;ObjectWithPropertyNameConflicts&gt;*&gt;(&amp;result));
</del><ins>+        PassRefPtr&lt;ObjectWithPropertyNameConflicts&gt; release()
+        {
+            return RefPtr&lt;ObjectWithPropertyNameConflicts&gt;(*this).release();
</ins><span class="cx">         }
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     /*
</span><span class="cx">      * Synthetic constructor:
</span><del>-     * Ref&lt;ObjectWithPropertyNameConflicts&gt; result = ObjectWithPropertyNameConflicts::create()
</del><ins>+     * RefPtr&lt;ObjectWithPropertyNameConflicts&gt; result = ObjectWithPropertyNameConflicts::create()
</ins><span class="cx">      *     .setInteger(...)
</span><span class="cx">      *     .setArray(...)
</span><span class="cx">      *     .setString(...)
</span><span class="cx">      *     .setValue(...)
</span><del>-     *     .setObject(...)
-     *     .release();
</del><ins>+     *     .setObject(...);
</ins><span class="cx">      */
</span><span class="cx">     static Builder&lt;NoFieldsSet&gt; create()
</span><span class="cx">     {
</span><span class="cx">         return Builder&lt;NoFieldsSet&gt;(Inspector::InspectorObject::create());
</span><span class="cx">     }
</span><ins>+    typedef Inspector::Protocol::StructItemTraits ItemTraits;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // Database
</span><span class="lines">@@ -723,15 +738,15 @@
</span><span class="cx">             return *reinterpret_cast&lt;Builder&lt;STATE | STEP&gt;*&gt;(this);
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Builder(Ref&lt;/*ParameterBundle*/Inspector::InspectorObject&gt;&amp;&amp; object)
-            : m_result(WTF::move(object))
</del><ins>+        Builder(PassRefPtr&lt;/*ParameterBundle*/Inspector::InspectorObject&gt; ptr)
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
</span><ins>+            m_result = ptr;
</ins><span class="cx">         }
</span><span class="cx">         friend class ParameterBundle;
</span><span class="cx">     public:
</span><span class="cx"> 
</span><del>-        Builder&lt;STATE | ColumnNamesSet&gt;&amp; setColumnNames(RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; value)
</del><ins>+        Builder&lt;STATE | ColumnNamesSet&gt;&amp; setColumnNames(PassRefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; value)
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(!(STATE &amp; ColumnNamesSet), property_columnNames_already_set);
</span><span class="cx">             m_result-&gt;setArray(ASCIILiteral(&quot;columnNames&quot;), value);
</span><span class="lines">@@ -752,52 +767,55 @@
</span><span class="cx">             return castState&lt;TimestampSet&gt;();
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Builder&lt;STATE | ValuesSet&gt;&amp; setValues(RefPtr&lt;Inspector::InspectorObject&gt; value)
</del><ins>+        Builder&lt;STATE | ValuesSet&gt;&amp; setValues(PassRefPtr&lt;Inspector::InspectorObject&gt; value)
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(!(STATE &amp; ValuesSet), property_values_already_set);
</span><span class="cx">             m_result-&gt;setObject(ASCIILiteral(&quot;values&quot;), value);
</span><span class="cx">             return castState&lt;ValuesSet&gt;();
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Builder&lt;STATE | PayloadSet&gt;&amp; setPayload(RefPtr&lt;Inspector::InspectorValue&gt; value)
</del><ins>+        Builder&lt;STATE | PayloadSet&gt;&amp; setPayload(PassRefPtr&lt;Inspector::InspectorValue&gt; value)
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(!(STATE &amp; PayloadSet), property_payload_already_set);
</span><span class="cx">             m_result-&gt;setValue(ASCIILiteral(&quot;payload&quot;), value);
</span><span class="cx">             return castState&lt;PayloadSet&gt;();
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Builder&lt;STATE | ErrorSet&gt;&amp; setError(RefPtr&lt;Inspector::Protocol::Database::Error&gt; value)
</del><ins>+        Builder&lt;STATE | ErrorSet&gt;&amp; setError(PassRefPtr&lt;Inspector::Protocol::Database::Error&gt; value)
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(!(STATE &amp; ErrorSet), property_error_already_set);
</span><span class="cx">             m_result-&gt;setObject(ASCIILiteral(&quot;error&quot;), value);
</span><span class="cx">             return castState&lt;ErrorSet&gt;();
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Ref&lt;ParameterBundle&gt; release()
</del><ins>+        operator RefPtr&lt;ParameterBundle&gt;&amp; ()
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready);
</span><span class="cx">             COMPILE_ASSERT(sizeof(ParameterBundle) == sizeof(Inspector::InspectorObject), cannot_cast);
</span><ins>+            return *reinterpret_cast&lt;RefPtr&lt;ParameterBundle&gt;*&gt;(&amp;m_result);
+        }
</ins><span class="cx"> 
</span><del>-            Ref&lt;Inspector::InspectorObject&gt; result = m_result.releaseNonNull();
-            return WTF::move(*reinterpret_cast&lt;Ref&lt;ParameterBundle&gt;*&gt;(&amp;result));
</del><ins>+        PassRefPtr&lt;ParameterBundle&gt; release()
+        {
+            return RefPtr&lt;ParameterBundle&gt;(*this).release();
</ins><span class="cx">         }
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     /*
</span><span class="cx">      * Synthetic constructor:
</span><del>-     * Ref&lt;ParameterBundle&gt; result = ParameterBundle::create()
</del><ins>+     * RefPtr&lt;ParameterBundle&gt; result = ParameterBundle::create()
</ins><span class="cx">      *     .setColumnNames(...)
</span><span class="cx">      *     .setNotes(...)
</span><span class="cx">      *     .setTimestamp(...)
</span><span class="cx">      *     .setValues(...)
</span><span class="cx">      *     .setPayload(...)
</span><del>-     *     .setError(...)
-     *     .release();
</del><ins>+     *     .setError(...);
</ins><span class="cx">      */
</span><span class="cx">     static Builder&lt;NoFieldsSet&gt; create()
</span><span class="cx">     {
</span><span class="cx">         return Builder&lt;NoFieldsSet&gt;(Inspector::InspectorObject::create());
</span><span class="cx">     }
</span><ins>+    typedef Inspector::Protocol::StructItemTraits ItemTraits;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // Test
</span><span class="lines">@@ -1313,6 +1331,7 @@
</span><span class="cx"> #import &quot;RWIProtocolEnumConversionHelpers.h&quot;
</span><span class="cx"> #import &lt;JavaScriptCore/InspectorValues.h&gt;
</span><span class="cx"> #import &lt;wtf/Assertions.h&gt;
</span><ins>+#import &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> using namespace Inspector;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorscriptstestsexpectedtyperequiringruntimecastsjsonresult"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -41,10 +41,10 @@
</span><span class="cx"> 
</span><span class="cx"> class AlternateInspectorBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    void setBackendDispatcher(Ref&lt;InspectorBackendDispatcher&gt;&amp;&amp; dispatcher) { m_backendDispatcher = WTF::move(dispatcher); }
-    const InspectorBackendDispatcher&amp; backendDispatcher() const { return m_backendDispatcher.get(); }
</del><ins>+    void setBackendDispatcher(PassRefPtr&lt;InspectorBackendDispatcher&gt; dispatcher) { m_backendDispatcher = dispatcher; }
+    InspectorBackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
</ins><span class="cx"> private:
</span><del>-    Ref&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    RefPtr&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -131,6 +131,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorBackendDispatcher.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -239,6 +240,7 @@
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorFrontendChannel.h&gt;
</span><span class="cx"> #include &lt;inspector/InspectorValues.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -336,6 +338,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &lt;inspector/InspectorProtocolTypes.h&gt;
</span><span class="cx"> #include &lt;wtf/Assertions.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><span class="lines">@@ -393,10 +396,10 @@
</span><span class="cx">             return *reinterpret_cast&lt;Builder&lt;STATE | STEP&gt;*&gt;(this);
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Builder(Ref&lt;/*TypeNeedingCast*/Inspector::InspectorObject&gt;&amp;&amp; object)
-            : m_result(WTF::move(object))
</del><ins>+        Builder(PassRefPtr&lt;/*TypeNeedingCast*/Inspector::InspectorObject&gt; ptr)
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
</span><ins>+            m_result = ptr;
</ins><span class="cx">         }
</span><span class="cx">         friend class TypeNeedingCast;
</span><span class="cx">     public:
</span><span class="lines">@@ -429,37 +432,40 @@
</span><span class="cx">             return castState&lt;IdSet&gt;();
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Builder&lt;STATE | TreeSet&gt;&amp; setTree(RefPtr&lt;Inspector::Protocol::Test::RecursiveObject1&gt; value)
</del><ins>+        Builder&lt;STATE | TreeSet&gt;&amp; setTree(PassRefPtr&lt;Inspector::Protocol::Test::RecursiveObject1&gt; value)
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(!(STATE &amp; TreeSet), property_tree_already_set);
</span><span class="cx">             m_result-&gt;setObject(ASCIILiteral(&quot;tree&quot;), value);
</span><span class="cx">             return castState&lt;TreeSet&gt;();
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Ref&lt;TypeNeedingCast&gt; release()
</del><ins>+        operator RefPtr&lt;TypeNeedingCast&gt;&amp; ()
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready);
</span><span class="cx">             COMPILE_ASSERT(sizeof(TypeNeedingCast) == sizeof(Inspector::InspectorObject), cannot_cast);
</span><ins>+            return *reinterpret_cast&lt;RefPtr&lt;TypeNeedingCast&gt;*&gt;(&amp;m_result);
+        }
</ins><span class="cx"> 
</span><del>-            Ref&lt;Inspector::InspectorObject&gt; result = m_result.releaseNonNull();
-            return WTF::move(*reinterpret_cast&lt;Ref&lt;TypeNeedingCast&gt;*&gt;(&amp;result));
</del><ins>+        PassRefPtr&lt;TypeNeedingCast&gt; release()
+        {
+            return RefPtr&lt;TypeNeedingCast&gt;(*this).release();
</ins><span class="cx">         }
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     /*
</span><span class="cx">      * Synthetic constructor:
</span><del>-     * Ref&lt;TypeNeedingCast&gt; result = TypeNeedingCast::create()
</del><ins>+     * RefPtr&lt;TypeNeedingCast&gt; result = TypeNeedingCast::create()
</ins><span class="cx">      *     .setString(...)
</span><span class="cx">      *     .setNumber(...)
</span><span class="cx">      *     .setAnimals(...)
</span><span class="cx">      *     .setId(...)
</span><del>-     *     .setTree(...)
-     *     .release();
</del><ins>+     *     .setTree(...);
</ins><span class="cx">      */
</span><span class="cx">     static Builder&lt;NoFieldsSet&gt; create()
</span><span class="cx">     {
</span><span class="cx">         return Builder&lt;NoFieldsSet&gt;(Inspector::InspectorObject::create());
</span><span class="cx">     }
</span><ins>+    typedef Inspector::Protocol::StructItemTraits ItemTraits;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> /*  */
</span><span class="lines">@@ -493,37 +499,40 @@
</span><span class="cx">             return *reinterpret_cast&lt;Builder&lt;STATE | STEP&gt;*&gt;(this);
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Builder(Ref&lt;/*RecursiveObject1*/Inspector::InspectorObject&gt;&amp;&amp; object)
-            : m_result(WTF::move(object))
</del><ins>+        Builder(PassRefPtr&lt;/*RecursiveObject1*/Inspector::InspectorObject&gt; ptr)
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
</span><ins>+            m_result = ptr;
</ins><span class="cx">         }
</span><span class="cx">         friend class RecursiveObject1;
</span><span class="cx">     public:
</span><span class="cx"> 
</span><del>-        Ref&lt;RecursiveObject1&gt; release()
</del><ins>+        operator RefPtr&lt;RecursiveObject1&gt;&amp; ()
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready);
</span><span class="cx">             COMPILE_ASSERT(sizeof(RecursiveObject1) == sizeof(Inspector::InspectorObject), cannot_cast);
</span><ins>+            return *reinterpret_cast&lt;RefPtr&lt;RecursiveObject1&gt;*&gt;(&amp;m_result);
+        }
</ins><span class="cx"> 
</span><del>-            Ref&lt;Inspector::InspectorObject&gt; result = m_result.releaseNonNull();
-            return WTF::move(*reinterpret_cast&lt;Ref&lt;RecursiveObject1&gt;*&gt;(&amp;result));
</del><ins>+        PassRefPtr&lt;RecursiveObject1&gt; release()
+        {
+            return RefPtr&lt;RecursiveObject1&gt;(*this).release();
</ins><span class="cx">         }
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     /*
</span><span class="cx">      * Synthetic constructor:
</span><del>-     * Ref&lt;RecursiveObject1&gt; result = RecursiveObject1::create()
-     *     .release();
</del><ins>+     * RefPtr&lt;RecursiveObject1&gt; result = RecursiveObject1::create();
</ins><span class="cx">      */
</span><span class="cx">     static Builder&lt;NoFieldsSet&gt; create()
</span><span class="cx">     {
</span><span class="cx">         return Builder&lt;NoFieldsSet&gt;(Inspector::InspectorObject::create());
</span><span class="cx">     }
</span><ins>+    typedef Inspector::Protocol::StructItemTraits ItemTraits;
</ins><span class="cx"> 
</span><del>-    void setObj(RefPtr&lt;Inspector::Protocol::Test::RecursiveObject2&gt; value)
</del><ins>+    void setObj(PassRefPtr&lt;Inspector::Protocol::Test::RecursiveObject2&gt; value)
</ins><span class="cx">     {
</span><del>-        InspectorObjectBase::setObject(ASCIILiteral(&quot;obj&quot;), WTF::move(value));
</del><ins>+        InspectorObjectBase::setObject(ASCIILiteral(&quot;obj&quot;), value);
</ins><span class="cx">     }
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="lines">@@ -544,37 +553,40 @@
</span><span class="cx">             return *reinterpret_cast&lt;Builder&lt;STATE | STEP&gt;*&gt;(this);
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Builder(Ref&lt;/*RecursiveObject2*/Inspector::InspectorObject&gt;&amp;&amp; object)
-            : m_result(WTF::move(object))
</del><ins>+        Builder(PassRefPtr&lt;/*RecursiveObject2*/Inspector::InspectorObject&gt; ptr)
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
</span><ins>+            m_result = ptr;
</ins><span class="cx">         }
</span><span class="cx">         friend class RecursiveObject2;
</span><span class="cx">     public:
</span><span class="cx"> 
</span><del>-        Ref&lt;RecursiveObject2&gt; release()
</del><ins>+        operator RefPtr&lt;RecursiveObject2&gt;&amp; ()
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready);
</span><span class="cx">             COMPILE_ASSERT(sizeof(RecursiveObject2) == sizeof(Inspector::InspectorObject), cannot_cast);
</span><ins>+            return *reinterpret_cast&lt;RefPtr&lt;RecursiveObject2&gt;*&gt;(&amp;m_result);
+        }
</ins><span class="cx"> 
</span><del>-            Ref&lt;Inspector::InspectorObject&gt; result = m_result.releaseNonNull();
-            return WTF::move(*reinterpret_cast&lt;Ref&lt;RecursiveObject2&gt;*&gt;(&amp;result));
</del><ins>+        PassRefPtr&lt;RecursiveObject2&gt; release()
+        {
+            return RefPtr&lt;RecursiveObject2&gt;(*this).release();
</ins><span class="cx">         }
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     /*
</span><span class="cx">      * Synthetic constructor:
</span><del>-     * Ref&lt;RecursiveObject2&gt; result = RecursiveObject2::create()
-     *     .release();
</del><ins>+     * RefPtr&lt;RecursiveObject2&gt; result = RecursiveObject2::create();
</ins><span class="cx">      */
</span><span class="cx">     static Builder&lt;NoFieldsSet&gt; create()
</span><span class="cx">     {
</span><span class="cx">         return Builder&lt;NoFieldsSet&gt;(Inspector::InspectorObject::create());
</span><span class="cx">     }
</span><ins>+    typedef Inspector::Protocol::StructItemTraits ItemTraits;
</ins><span class="cx"> 
</span><del>-    void setObj(RefPtr&lt;Inspector::Protocol::Test::RecursiveObject1&gt; value)
</del><ins>+    void setObj(PassRefPtr&lt;Inspector::Protocol::Test::RecursiveObject1&gt; value)
</ins><span class="cx">     {
</span><del>-        InspectorObjectBase::setObject(ASCIILiteral(&quot;obj&quot;), WTF::move(value));
</del><ins>+        InspectorObjectBase::setObject(ASCIILiteral(&quot;obj&quot;), value);
</ins><span class="cx">     }
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="lines">@@ -586,7 +598,7 @@
</span><span class="cx"> #endif // !ASSERT_DISABLED
</span><span class="cx"> };
</span><span class="cx"> template&lt;&gt; struct BindingTraits&lt;Inspector::Protocol::Test::TypeNeedingCast&gt; {
</span><del>-static RefPtr&lt;Inspector::Protocol::Test::TypeNeedingCast&gt; runtimeCast(RefPtr&lt;Inspector::InspectorValue&gt;&amp;&amp; value);
</del><ins>+static PassRefPtr&lt;Inspector::Protocol::Test::TypeNeedingCast&gt; runtimeCast(PassRefPtr&lt;Inspector::InspectorValue&gt; value);
</ins><span class="cx"> #if !ASSERT_DISABLED
</span><span class="cx"> static void assertValueHasExpectedType(Inspector::InspectorValue*);
</span><span class="cx"> #endif // !ASSERT_DISABLED
</span><span class="lines">@@ -672,7 +684,6 @@
</span><span class="cx"> #if !ASSERT_DISABLED
</span><span class="cx"> void BindingTraits&lt;Inspector::Protocol::Test::CastedAnimals&gt;::assertValueHasExpectedType(Inspector::InspectorValue* value)
</span><span class="cx"> {
</span><del>-    ASSERT_ARG(value, value);
</del><span class="cx">     String result;
</span><span class="cx">     bool castSucceeded = value-&gt;asString(result);
</span><span class="cx">     ASSERT(castSucceeded);
</span><span class="lines">@@ -683,7 +694,6 @@
</span><span class="cx"> #if !ASSERT_DISABLED
</span><span class="cx"> void BindingTraits&lt;Inspector::Protocol::Test::TypeNeedingCast&gt;::assertValueHasExpectedType(Inspector::InspectorValue* value)
</span><span class="cx"> {
</span><del>-    ASSERT_ARG(value, value);
</del><span class="cx">     RefPtr&lt;InspectorObject&gt; object;
</span><span class="cx">     bool castSucceeded = value-&gt;asObject(object);
</span><span class="cx">     ASSERT_UNUSED(castSucceeded, castSucceeded);
</span><span class="lines">@@ -719,7 +729,7 @@
</span><span class="cx"> }
</span><span class="cx"> #endif // !ASSERT_DISABLED
</span><span class="cx"> 
</span><del>-RefPtr&lt;Inspector::Protocol::Test::TypeNeedingCast&gt; BindingTraits&lt;Inspector::Protocol::Test::TypeNeedingCast&gt;::runtimeCast(RefPtr&lt;Inspector::InspectorValue&gt;&amp;&amp; value)
</del><ins>+PassRefPtr&lt;Inspector::Protocol::Test::TypeNeedingCast&gt; BindingTraits&lt;Inspector::Protocol::Test::TypeNeedingCast&gt;::runtimeCast(PassRefPtr&lt;Inspector::InspectorValue&gt; value)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;Inspector::InspectorObject&gt; result;
</span><span class="cx">     bool castSucceeded = value-&gt;asObject(result);
</span><span class="lines">@@ -735,7 +745,6 @@
</span><span class="cx"> #if !ASSERT_DISABLED
</span><span class="cx"> void BindingTraits&lt;Inspector::Protocol::Test::RecursiveObject1&gt;::assertValueHasExpectedType(Inspector::InspectorValue* value)
</span><span class="cx"> {
</span><del>-    ASSERT_ARG(value, value);
</del><span class="cx">     RefPtr&lt;InspectorObject&gt; object;
</span><span class="cx">     bool castSucceeded = value-&gt;asObject(object);
</span><span class="cx">     ASSERT_UNUSED(castSucceeded, castSucceeded);
</span><span class="lines">@@ -756,7 +765,6 @@
</span><span class="cx"> #if !ASSERT_DISABLED
</span><span class="cx"> void BindingTraits&lt;Inspector::Protocol::Test::RecursiveObject2&gt;::assertValueHasExpectedType(Inspector::InspectorValue* value)
</span><span class="cx"> {
</span><del>-    ASSERT_ARG(value, value);
</del><span class="cx">     RefPtr&lt;InspectorObject&gt; object;
</span><span class="cx">     bool castSucceeded = value-&gt;asObject(object);
</span><span class="cx">     ASSERT_UNUSED(castSucceeded, castSucceeded);
</span><span class="lines">@@ -1248,6 +1256,7 @@
</span><span class="cx"> #import &quot;RWIProtocolEnumConversionHelpers.h&quot;
</span><span class="cx"> #import &lt;JavaScriptCore/InspectorValues.h&gt;
</span><span class="cx"> #import &lt;wtf/Assertions.h&gt;
</span><ins>+#import &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> using namespace Inspector;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorereplayEncodedValuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/replay/EncodedValue.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/replay/EncodedValue.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/replay/EncodedValue.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -37,22 +37,22 @@
</span><span class="cx"> 
</span><span class="cx"> namespace JSC {
</span><span class="cx"> 
</span><del>-RefPtr&lt;InspectorObject&gt; EncodedValue::asObject()
</del><ins>+PassRefPtr&lt;InspectorObject&gt; EncodedValue::asObject()
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;InspectorObject&gt; result;
</span><span class="cx">     bool castSucceeded = m_value-&gt;asObject(result);
</span><span class="cx">     ASSERT_UNUSED(castSucceeded, castSucceeded);
</span><span class="cx"> 
</span><del>-    return result;
</del><ins>+    return result.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;InspectorArray&gt; EncodedValue::asArray()
</del><ins>+PassRefPtr&lt;InspectorArray&gt; EncodedValue::asArray()
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;InspectorArray&gt; result;
</span><span class="cx">     bool castSucceeded = m_value-&gt;asArray(result);
</span><span class="cx">     ASSERT_UNUSED(castSucceeded, castSucceeded);
</span><span class="cx"> 
</span><del>-    return result;
</del><ins>+    return result.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> EncodedValue EncodingTraits&lt;Vector&lt;char&gt;&gt;::encodeValue(const Vector&lt;char&gt;&amp; buffer)
</span><span class="lines">@@ -175,23 +175,23 @@
</span><span class="cx"> template&lt;&gt;
</span><span class="cx"> void EncodedValue::put&lt;EncodedValue&gt;(const String&amp; key, const typename EncodingTraits&lt;EncodedValue&gt;::DecodedType&amp; value)
</span><span class="cx"> {
</span><del>-    asObject()-&gt;setValue(key, value.m_value.copyRef());
</del><ins>+    asObject()-&gt;setValue(key, value.m_value);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> template&lt;&gt;
</span><span class="cx"> void EncodedValue::append&lt;EncodedValue&gt;(const typename EncodingTraits&lt;EncodedValue&gt;::DecodedType&amp; value)
</span><span class="cx"> {
</span><del>-    asArray()-&gt;pushValue(value.m_value.copyRef());
</del><ins>+    asArray()-&gt;pushValue(value.m_value);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> template&lt;&gt;
</span><span class="cx"> bool EncodedValue::get&lt;EncodedValue&gt;(const String&amp; key, typename EncodingTraits&lt;EncodedValue&gt;::DecodedType&amp; decodedValue)
</span><span class="cx"> {
</span><del>-    RefPtr&lt;Inspector::InspectorValue&gt; value;
-    if (!asObject()-&gt;getValue(key, value))
</del><ins>+    RefPtr&lt;Inspector::InspectorValue&gt; inspectorValue(asObject()-&gt;get(key));
+    if (!inspectorValue)
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    decodedValue = EncodedValue(WTF::move(value));
</del><ins>+    decodedValue = EncodedValue(inspectorValue);
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorereplayEncodedValueh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/replay/EncodedValue.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/replay/EncodedValue.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/replay/EncodedValue.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> 
</span><span class="cx"> class EncodedValue final {
</span><span class="cx"> public:
</span><del>-    explicit EncodedValue(RefPtr&lt;Inspector::InspectorValue&gt;&amp;&amp; value)
</del><ins>+    explicit EncodedValue(PassRefPtr&lt;Inspector::InspectorValue&gt; value)
</ins><span class="cx">         : m_value(value) { }
</span><span class="cx"> 
</span><span class="cx">     EncodedValue()
</span><span class="lines">@@ -78,8 +78,8 @@
</span><span class="cx"> 
</span><span class="cx">     template&lt;typename T&gt; T convertTo();
</span><span class="cx"> 
</span><del>-    JS_EXPORT_PRIVATE RefPtr&lt;Inspector::InspectorObject&gt; asObject();
-    JS_EXPORT_PRIVATE RefPtr&lt;Inspector::InspectorArray&gt; asArray();
</del><ins>+    JS_EXPORT_PRIVATE PassRefPtr&lt;Inspector::InspectorObject&gt; asObject();
+    JS_EXPORT_PRIVATE PassRefPtr&lt;Inspector::InspectorArray&gt; asArray();
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     RefPtr&lt;Inspector::InspectorValue&gt; m_value;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorereplayscriptsCodeGeneratorReplayInputspy"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -341,13 +341,13 @@
</span><span class="cx">         if self.mode == TypeModes.SCALAR:
</span><span class="cx">             return self.type_name(qualified)
</span><span class="cx">         elif self.mode == TypeModes.SHARED:
</span><del>-            return &quot;RefPtr&lt;%s&gt;&quot; % self.type_name(qualified)
</del><ins>+            return &quot;PassRefPtr&lt;%s&gt;&quot; % self.type_name(qualified)
</ins><span class="cx">         else:
</span><span class="cx">             return &quot;const %s&amp;&quot; % self.type_name(qualified)
</span><span class="cx"> 
</span><span class="cx">     def argument_type(self, qualified=False):
</span><span class="cx">         if self.mode == TypeModes.SHARED:
</span><del>-            return &quot;RefPtr&lt;%s&gt;&amp;&amp;&quot; % self.type_name(qualified)
</del><ins>+            return &quot;PassRefPtr&lt;%s&gt;&quot; % self.type_name(qualified)
</ins><span class="cx">         else:
</span><span class="cx">             return self.storage_type()
</span><span class="cx"> 
</span><span class="lines">@@ -939,7 +939,7 @@
</span><span class="cx"> 
</span><span class="cx">     def generate_member_move_expression(self, _member):
</span><span class="cx">         _type = self._model.get_type_for_member(_member)
</span><del>-        if _type.mode in [TypeModes.OWNED, TypeModes.SHARED]:
</del><ins>+        if _type.mode == TypeModes.OWNED:
</ins><span class="cx">             return &quot;WTF::move(%s)&quot; % _member.memberName
</span><span class="cx">         else:
</span><span class="cx">             return _member.memberName
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeConsoleClientcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/ConsoleClient.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/ConsoleClient.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/runtime/ConsoleClient.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -141,7 +141,7 @@
</span><span class="cx">     WTFLogAlways(&quot;%s&quot;, builder.toString().utf8().data());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ConsoleClient::printConsoleMessageWithArguments(MessageSource source, MessageType type, MessageLevel level, JSC::ExecState* exec, RefPtr&lt;ScriptArguments&gt;&amp;&amp; prpArguments)
</del><ins>+void ConsoleClient::printConsoleMessageWithArguments(MessageSource source, MessageType type, MessageLevel level, JSC::ExecState* exec, PassRefPtr&lt;ScriptArguments&gt; prpArguments)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;ScriptArguments&gt; arguments = prpArguments;
</span><span class="cx"> 
</span><span class="lines">@@ -186,7 +186,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ConsoleClient::internalMessageWithTypeAndLevel(MessageType type, MessageLevel level, JSC::ExecState* exec, RefPtr&lt;ScriptArguments&gt;&amp;&amp; prpArguments, ArgumentRequirement argumentRequirement)
</del><ins>+void ConsoleClient::internalMessageWithTypeAndLevel(MessageType type, MessageLevel level, JSC::ExecState* exec, PassRefPtr&lt;ScriptArguments&gt; prpArguments, ArgumentRequirement argumentRequirement)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;ScriptArguments&gt; arguments = prpArguments;
</span><span class="cx">     if (argumentRequirement == ArgumentRequired &amp;&amp; !arguments-&gt;argumentCount())
</span><span class="lines">@@ -195,57 +195,57 @@
</span><span class="cx">     messageWithTypeAndLevel(type, level, exec, arguments.release());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ConsoleClient::logWithLevel(ExecState* exec, RefPtr&lt;ScriptArguments&gt;&amp;&amp; arguments, MessageLevel level)
</del><ins>+void ConsoleClient::logWithLevel(ExecState* exec, PassRefPtr&lt;ScriptArguments&gt; arguments, MessageLevel level)
</ins><span class="cx"> {
</span><del>-    internalMessageWithTypeAndLevel(MessageType::Log, level, exec, WTF::move(arguments), ArgumentRequired);
</del><ins>+    internalMessageWithTypeAndLevel(MessageType::Log, level, exec, arguments, ArgumentRequired);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ConsoleClient::clear(ExecState* exec, RefPtr&lt;ScriptArguments&gt;&amp;&amp; arguments)
</del><ins>+void ConsoleClient::clear(ExecState* exec, PassRefPtr&lt;ScriptArguments&gt; arguments)
</ins><span class="cx"> {
</span><del>-    internalMessageWithTypeAndLevel(MessageType::Clear, MessageLevel::Log, exec, WTF::move(arguments), ArgumentNotRequired);
</del><ins>+    internalMessageWithTypeAndLevel(MessageType::Clear, MessageLevel::Log, exec, arguments, ArgumentNotRequired);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ConsoleClient::dir(ExecState* exec, RefPtr&lt;ScriptArguments&gt;&amp;&amp; arguments)
</del><ins>+void ConsoleClient::dir(ExecState* exec, PassRefPtr&lt;ScriptArguments&gt; arguments)
</ins><span class="cx"> {
</span><del>-    internalMessageWithTypeAndLevel(MessageType::Dir, MessageLevel::Log, exec, WTF::move(arguments), ArgumentRequired);
</del><ins>+    internalMessageWithTypeAndLevel(MessageType::Dir, MessageLevel::Log, exec, arguments, ArgumentRequired);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ConsoleClient::dirXML(ExecState* exec, RefPtr&lt;ScriptArguments&gt;&amp;&amp; arguments)
</del><ins>+void ConsoleClient::dirXML(ExecState* exec, PassRefPtr&lt;ScriptArguments&gt; arguments)
</ins><span class="cx"> {
</span><del>-    internalMessageWithTypeAndLevel(MessageType::DirXML, MessageLevel::Log, exec, WTF::move(arguments), ArgumentRequired);
</del><ins>+    internalMessageWithTypeAndLevel(MessageType::DirXML, MessageLevel::Log, exec, arguments, ArgumentRequired);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ConsoleClient::table(ExecState* exec, RefPtr&lt;ScriptArguments&gt;&amp;&amp; arguments)
</del><ins>+void ConsoleClient::table(ExecState* exec, PassRefPtr&lt;ScriptArguments&gt; arguments)
</ins><span class="cx"> {
</span><del>-    internalMessageWithTypeAndLevel(MessageType::Table, MessageLevel::Log, exec, WTF::move(arguments), ArgumentRequired);
</del><ins>+    internalMessageWithTypeAndLevel(MessageType::Table, MessageLevel::Log, exec, arguments, ArgumentRequired);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ConsoleClient::trace(ExecState* exec, RefPtr&lt;ScriptArguments&gt;&amp;&amp; arguments)
</del><ins>+void ConsoleClient::trace(ExecState* exec, PassRefPtr&lt;ScriptArguments&gt; arguments)
</ins><span class="cx"> {
</span><del>-    internalMessageWithTypeAndLevel(MessageType::Trace, MessageLevel::Log, exec, WTF::move(arguments), ArgumentNotRequired);
</del><ins>+    internalMessageWithTypeAndLevel(MessageType::Trace, MessageLevel::Log, exec, arguments, ArgumentNotRequired);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ConsoleClient::assertCondition(ExecState* exec, RefPtr&lt;ScriptArguments&gt;&amp;&amp; arguments, bool condition)
</del><ins>+void ConsoleClient::assertCondition(ExecState* exec, PassRefPtr&lt;ScriptArguments&gt; arguments, bool condition)
</ins><span class="cx"> {
</span><span class="cx">     if (condition)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    internalMessageWithTypeAndLevel(MessageType::Assert, MessageLevel::Error, exec, WTF::move(arguments), ArgumentNotRequired);
</del><ins>+    internalMessageWithTypeAndLevel(MessageType::Assert, MessageLevel::Error, exec, arguments, ArgumentNotRequired);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ConsoleClient::group(ExecState* exec, RefPtr&lt;ScriptArguments&gt;&amp;&amp; arguments)
</del><ins>+void ConsoleClient::group(ExecState* exec, PassRefPtr&lt;ScriptArguments&gt; arguments)
</ins><span class="cx"> {
</span><del>-    internalMessageWithTypeAndLevel(MessageType::StartGroup, MessageLevel::Log, exec, WTF::move(arguments), ArgumentNotRequired);
</del><ins>+    internalMessageWithTypeAndLevel(MessageType::StartGroup, MessageLevel::Log, exec, arguments, ArgumentNotRequired);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ConsoleClient::groupCollapsed(ExecState* exec, RefPtr&lt;ScriptArguments&gt;&amp;&amp; arguments)
</del><ins>+void ConsoleClient::groupCollapsed(ExecState* exec, PassRefPtr&lt;ScriptArguments&gt; arguments)
</ins><span class="cx"> {
</span><del>-    internalMessageWithTypeAndLevel(MessageType::StartGroupCollapsed, MessageLevel::Log, exec, WTF::move(arguments), ArgumentNotRequired);
</del><ins>+    internalMessageWithTypeAndLevel(MessageType::StartGroupCollapsed, MessageLevel::Log, exec, arguments, ArgumentNotRequired);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ConsoleClient::groupEnd(ExecState* exec, RefPtr&lt;ScriptArguments&gt;&amp;&amp; arguments)
</del><ins>+void ConsoleClient::groupEnd(ExecState* exec, PassRefPtr&lt;ScriptArguments&gt; arguments)
</ins><span class="cx"> {
</span><del>-    internalMessageWithTypeAndLevel(MessageType::EndGroup, MessageLevel::Log, exec, WTF::move(arguments), ArgumentNotRequired);
</del><ins>+    internalMessageWithTypeAndLevel(MessageType::EndGroup, MessageLevel::Log, exec, arguments, ArgumentNotRequired);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace JSC
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeConsoleClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/ConsoleClient.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/ConsoleClient.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/runtime/ConsoleClient.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -42,30 +42,30 @@
</span><span class="cx">     virtual ~ConsoleClient() { }
</span><span class="cx"> 
</span><span class="cx">     JS_EXPORT_PRIVATE static void printConsoleMessage(MessageSource, MessageType, MessageLevel, const String&amp; message, const String&amp; url, unsigned lineNumber, unsigned columnNumber);
</span><del>-    JS_EXPORT_PRIVATE static void printConsoleMessageWithArguments(MessageSource, MessageType, MessageLevel, JSC::ExecState*, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp;);
</del><ins>+    JS_EXPORT_PRIVATE static void printConsoleMessageWithArguments(MessageSource, MessageType, MessageLevel, JSC::ExecState*, PassRefPtr&lt;Inspector::ScriptArguments&gt;);
</ins><span class="cx"> 
</span><del>-    void logWithLevel(ExecState*, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp;, MessageLevel);
-    void clear(ExecState*, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp;);
-    void dir(ExecState*, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp;);
-    void dirXML(ExecState*, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp;);
-    void table(ExecState*, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp;);
-    void trace(ExecState*, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp;);
-    void assertCondition(ExecState*, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp;, bool condition);
-    void group(ExecState*, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp;);
-    void groupCollapsed(ExecState*, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp;);
-    void groupEnd(ExecState*, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp;);
</del><ins>+    void logWithLevel(ExecState*, PassRefPtr&lt;Inspector::ScriptArguments&gt;, MessageLevel);
+    void clear(ExecState*, PassRefPtr&lt;Inspector::ScriptArguments&gt;);
+    void dir(ExecState*, PassRefPtr&lt;Inspector::ScriptArguments&gt;);
+    void dirXML(ExecState*, PassRefPtr&lt;Inspector::ScriptArguments&gt;);
+    void table(ExecState*, PassRefPtr&lt;Inspector::ScriptArguments&gt;);
+    void trace(ExecState*, PassRefPtr&lt;Inspector::ScriptArguments&gt;);
+    void assertCondition(ExecState*, PassRefPtr&lt;Inspector::ScriptArguments&gt;, bool condition);
+    void group(ExecState*, PassRefPtr&lt;Inspector::ScriptArguments&gt;);
+    void groupCollapsed(ExecState*, PassRefPtr&lt;Inspector::ScriptArguments&gt;);
+    void groupEnd(ExecState*, PassRefPtr&lt;Inspector::ScriptArguments&gt;);
</ins><span class="cx"> 
</span><del>-    virtual void messageWithTypeAndLevel(MessageType, MessageLevel, JSC::ExecState*, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp;) = 0;
-    virtual void count(ExecState*, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp;) = 0;
</del><ins>+    virtual void messageWithTypeAndLevel(MessageType, MessageLevel, JSC::ExecState*, PassRefPtr&lt;Inspector::ScriptArguments&gt;) = 0;
+    virtual void count(ExecState*, PassRefPtr&lt;Inspector::ScriptArguments&gt;) = 0;
</ins><span class="cx">     virtual void profile(ExecState*, const String&amp; title) = 0;
</span><span class="cx">     virtual void profileEnd(ExecState*, const String&amp; title) = 0;
</span><span class="cx">     virtual void time(ExecState*, const String&amp; title) = 0;
</span><span class="cx">     virtual void timeEnd(ExecState*, const String&amp; title) = 0;
</span><del>-    virtual void timeStamp(ExecState*, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp;) = 0;
</del><ins>+    virtual void timeStamp(ExecState*, PassRefPtr&lt;Inspector::ScriptArguments&gt;) = 0;
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     enum ArgumentRequirement { ArgumentRequired, ArgumentNotRequired };
</span><del>-    void internalMessageWithTypeAndLevel(MessageType, MessageLevel, JSC::ExecState*, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp;, ArgumentRequirement);
</del><ins>+    void internalMessageWithTypeAndLevel(MessageType, MessageLevel, JSC::ExecState*, PassRefPtr&lt;Inspector::ScriptArguments&gt;, ArgumentRequirement);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace JSC
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeTypeSetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/TypeSet.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/TypeSet.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/runtime/TypeSet.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -237,17 +237,17 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><del>-Ref&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Runtime::StructureDescription&gt;&gt; TypeSet::allStructureRepresentations() const
</del><ins>+PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Runtime::StructureDescription&gt;&gt; TypeSet::allStructureRepresentations() const
</ins><span class="cx"> {
</span><del>-    auto description = Inspector::Protocol::Array&lt;Inspector::Protocol::Runtime::StructureDescription&gt;::create();
</del><ins>+    RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Runtime::StructureDescription&gt;&gt; description = Inspector::Protocol::Array&lt;Inspector::Protocol::Runtime::StructureDescription&gt;::create();
</ins><span class="cx"> 
</span><span class="cx">     for (size_t i = 0; i &lt; m_structureHistory.size(); i++)
</span><span class="cx">         description-&gt;addItem(m_structureHistory.at(i)-&gt;inspectorRepresentation());
</span><span class="cx"> 
</span><del>-    return WTF::move(description);
</del><ins>+    return description.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;Inspector::Protocol::Runtime::TypeSet&gt; TypeSet::inspectorTypeSet() const
</del><ins>+PassRefPtr&lt;Inspector::Protocol::Runtime::TypeSet&gt; TypeSet::inspectorTypeSet() const
</ins><span class="cx"> {
</span><span class="cx">     return Inspector::Protocol::Runtime::TypeSet::create()
</span><span class="cx">         .setIsFunction((m_seenTypes &amp; TypeFunction) != TypeNothing)
</span><span class="lines">@@ -511,11 +511,11 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><del>-Ref&lt;Inspector::Protocol::Runtime::StructureDescription&gt; StructureShape::inspectorRepresentation()
</del><ins>+PassRefPtr&lt;Inspector::Protocol::Runtime::StructureDescription&gt; StructureShape::inspectorRepresentation()
</ins><span class="cx"> {
</span><del>-    auto base = Inspector::Protocol::Runtime::StructureDescription::create().release();
-    Ref&lt;Inspector::Protocol::Runtime::StructureDescription&gt; currentObject = base.copyRef();
-    RefPtr&lt;StructureShape&gt; currentShape(this);
</del><ins>+    RefPtr&lt;Inspector::Protocol::Runtime::StructureDescription&gt; base = Inspector::Protocol::Runtime::StructureDescription::create();
+    RefPtr&lt;Inspector::Protocol::Runtime::StructureDescription&gt; currentObject = base;
+    RefPtr&lt;StructureShape&gt; currentShape = this;
</ins><span class="cx"> 
</span><span class="cx">     while (currentShape) {
</span><span class="cx">         auto fields = Inspector::Protocol::Array&lt;String&gt;::create();
</span><span class="lines">@@ -525,21 +525,21 @@
</span><span class="cx">         for (auto field : currentShape-&gt;m_optionalFields)
</span><span class="cx">             optionalFields-&gt;addItem(field.get());
</span><span class="cx"> 
</span><del>-        currentObject-&gt;setFields(&amp;fields.get());
-        currentObject-&gt;setOptionalFields(&amp;optionalFields.get());
</del><ins>+        currentObject-&gt;setFields(fields);
+        currentObject-&gt;setOptionalFields(optionalFields);
</ins><span class="cx">         currentObject-&gt;setConstructorName(currentShape-&gt;m_constructorName);
</span><span class="cx">         currentObject-&gt;setIsImprecise(currentShape-&gt;m_isInDictionaryMode);
</span><span class="cx"> 
</span><span class="cx">         if (currentShape-&gt;m_proto) {
</span><del>-            auto nextObject = Inspector::Protocol::Runtime::StructureDescription::create().release();
-            currentObject-&gt;setPrototypeStructure(&amp;nextObject.get());
-            currentObject = WTF::move(nextObject);
</del><ins>+            RefPtr&lt;Inspector::Protocol::Runtime::StructureDescription&gt; nextObject = Inspector::Protocol::Runtime::StructureDescription::create();
+            currentObject-&gt;setPrototypeStructure(nextObject);
+            currentObject = nextObject;
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         currentShape = currentShape-&gt;m_proto;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return WTF::move(base);
</del><ins>+    return base.release();
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeTypeSeth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/TypeSet.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/TypeSet.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/JavaScriptCore/runtime/TypeSet.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -72,7 +72,7 @@
</span><span class="cx">     void addProperty(RefPtr&lt;StringImpl&gt;);
</span><span class="cx">     String stringRepresentation();
</span><span class="cx">     String toJSONString() const;
</span><del>-    Ref&lt;Inspector::Protocol::Runtime::StructureDescription&gt; inspectorRepresentation();
</del><ins>+    PassRefPtr&lt;Inspector::Protocol::Runtime::StructureDescription&gt; inspectorRepresentation();
</ins><span class="cx">     void setConstructorName(String name) { m_constructorName = (name.isEmpty() ? &quot;Object&quot; : name); }
</span><span class="cx">     String constructorName() { return m_constructorName; }
</span><span class="cx">     void setProto(PassRefPtr&lt;StructureShape&gt; shape) { m_proto = shape; }
</span><span class="lines">@@ -102,11 +102,11 @@
</span><span class="cx">     void invalidateCache();
</span><span class="cx">     String dumpTypes() const;
</span><span class="cx">     String displayName() const;
</span><del>-    Ref&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Runtime::StructureDescription&gt;&gt; allStructureRepresentations() const;
</del><ins>+    PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Runtime::StructureDescription&gt;&gt; allStructureRepresentations() const;
</ins><span class="cx">     String toJSONString() const;
</span><span class="cx">     bool isOverflown() const { return m_isOverflown; }
</span><span class="cx">     String leastCommonAncestor() const;
</span><del>-    Ref&lt;Inspector::Protocol::Runtime::TypeSet&gt; inspectorTypeSet() const;
</del><ins>+    PassRefPtr&lt;Inspector::Protocol::Runtime::TypeSet&gt; inspectorTypeSet() const;
</ins><span class="cx">     bool isEmpty() const { return m_seenTypes == TypeNothing; }
</span><span class="cx">     bool doesTypeConformTo(uint32_t test) const;
</span><span class="cx">     uint32_t seenTypes() const { return m_seenTypes; }
</span></span></pre></div>
<a id="trunkSourceWTFChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/ChangeLog (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/ChangeLog        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WTF/ChangeLog        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+2015-01-07  Commit Queue  &lt;commit-queue@webkit.org&gt;
+
+        Unreviewed, rolling out r178039.
+        https://bugs.webkit.org/show_bug.cgi?id=140187
+
+        Breaks ObjC Inspector Protocol (Requested by JoePeck on
+        #webkit).
+
+        Reverted changeset:
+
+        &quot;Web Inspector: purge PassRefPtr from Inspector code and use
+        Ref for typed and untyped protocol objects&quot;
+        https://bugs.webkit.org/show_bug.cgi?id=140053
+        http://trac.webkit.org/changeset/178039
+
</ins><span class="cx"> 2015-01-06  Brian J. Burg  &lt;burg@cs.washington.edu&gt;
</span><span class="cx"> 
</span><span class="cx">         Web Inspector: purge PassRefPtr from Inspector code and use Ref for typed and untyped protocol objects
</span></span></pre></div>
<a id="trunkSourceWTFwtfStopwatchh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/Stopwatch.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/Stopwatch.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WTF/wtf/Stopwatch.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -33,9 +33,9 @@
</span><span class="cx"> 
</span><span class="cx"> class Stopwatch : public RefCounted&lt;Stopwatch&gt; {
</span><span class="cx"> public:
</span><del>-    static Ref&lt;Stopwatch&gt; create()
</del><ins>+    static PassRefPtr&lt;Stopwatch&gt; create()
</ins><span class="cx">     {
</span><del>-        return adoptRef(*new Stopwatch());
</del><ins>+        return adoptRef(new Stopwatch());
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void reset();
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/ChangeLog        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -1,4 +1,18 @@
</span><ins>+2015-01-07  Commit Queue  &lt;commit-queue@webkit.org&gt;
</ins><span class="cx"> 
</span><ins>+        Unreviewed, rolling out r178039.
+        https://bugs.webkit.org/show_bug.cgi?id=140187
+
+        Breaks ObjC Inspector Protocol (Requested by JoePeck on
+        #webkit).
+
+        Reverted changeset:
+
+        &quot;Web Inspector: purge PassRefPtr from Inspector code and use
+        Ref for typed and untyped protocol objects&quot;
+        https://bugs.webkit.org/show_bug.cgi?id=140053
+        http://trac.webkit.org/changeset/178039
+
</ins><span class="cx"> 2015-01-06  Brian J. Burg  &lt;burg@cs.washington.edu&gt;
</span><span class="cx"> 
</span><span class="cx">         Web Inspector: purge PassRefPtr from Inspector code and use Ref for typed and untyped protocol objects
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebdatabaseDatabaseManagercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webdatabase/DatabaseManager.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webdatabase/DatabaseManager.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/Modules/webdatabase/DatabaseManager.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -307,7 +307,7 @@
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;DatabaseContext&gt; databaseContext = databaseContextFor(context);
</span><span class="cx">     databaseContext-&gt;setHasOpenDatabases();
</span><del>-    InspectorInstrumentation::didOpenDatabase(context, database.copyRef(), context-&gt;securityOrigin()-&gt;host(), name, expectedVersion);
</del><ins>+    InspectorInstrumentation::didOpenDatabase(context, database, context-&gt;securityOrigin()-&gt;host(), name, expectedVersion);
</ins><span class="cx"> 
</span><span class="cx">     if (backend-&gt;isNew() &amp;&amp; creationCallback.get()) {
</span><span class="cx">         LOG(StorageAPI, &quot;Scheduling DatabaseCreationCallbackTask for database %p\n&quot;, database.get());
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/dom/Document.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -2614,9 +2614,9 @@
</span><span class="cx">     return m_domWindow.get();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void Document::logExceptionToConsole(const String&amp; errorMessage, const String&amp; sourceURL, int lineNumber, int columnNumber, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp; callStack)
</del><ins>+void Document::logExceptionToConsole(const String&amp; errorMessage, const String&amp; sourceURL, int lineNumber, int columnNumber, PassRefPtr&lt;Inspector::ScriptCallStack&gt; callStack)
</ins><span class="cx"> {
</span><del>-    addMessage(MessageSource::JS, MessageLevel::Error, errorMessage, sourceURL, lineNumber, columnNumber, WTF::move(callStack));
</del><ins>+    addMessage(MessageSource::JS, MessageLevel::Error, errorMessage, sourceURL, lineNumber, columnNumber, callStack);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void Document::setURL(const URL&amp; url)
</span><span class="lines">@@ -4975,7 +4975,7 @@
</span><span class="cx">         page-&gt;console().addMessage(source, level, message, requestIdentifier, this);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void Document::addMessage(MessageSource source, MessageLevel level, const String&amp; message, const String&amp; sourceURL, unsigned lineNumber, unsigned columnNumber, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp; callStack, JSC::ExecState* state, unsigned long requestIdentifier)
</del><ins>+void Document::addMessage(MessageSource source, MessageLevel level, const String&amp; message, const String&amp; sourceURL, unsigned lineNumber, unsigned columnNumber, PassRefPtr&lt;Inspector::ScriptCallStack&gt; callStack, JSC::ExecState* state, unsigned long requestIdentifier)
</ins><span class="cx"> {
</span><span class="cx">     if (!isContextThread()) {
</span><span class="cx">         postTask(AddConsoleMessageTask(source, level, StringCapture(message)));
</span><span class="lines">@@ -4983,7 +4983,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (Page* page = this-&gt;page())
</span><del>-        page-&gt;console().addMessage(source, level, message, sourceURL, lineNumber, columnNumber, WTF::move(callStack), state, requestIdentifier);
</del><ins>+        page-&gt;console().addMessage(source, level, message, sourceURL, lineNumber, columnNumber, callStack, state, requestIdentifier);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> SecurityOrigin* Document::topOrigin() const
</span></span></pre></div>
<a id="trunkSourceWebCoredomDocumenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/Document.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/dom/Document.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -1179,7 +1179,7 @@
</span><span class="cx">     void sendWillRevealEdgeEventsIfNeeded(const IntPoint&amp; oldPosition, const IntPoint&amp; newPosition, const IntRect&amp; visibleRect, const IntSize&amp; contentsSize, Element* target = nullptr);
</span><span class="cx"> 
</span><span class="cx">     virtual EventTarget* errorEventTarget() override final;
</span><del>-    virtual void logExceptionToConsole(const String&amp; errorMessage, const String&amp; sourceURL, int lineNumber, int columnNumber, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp;) override final;
</del><ins>+    virtual void logExceptionToConsole(const String&amp; errorMessage, const String&amp; sourceURL, int lineNumber, int columnNumber, PassRefPtr&lt;Inspector::ScriptCallStack&gt;) override final;
</ins><span class="cx"> 
</span><span class="cx">     void initDNSPrefetch();
</span><span class="cx"> 
</span><span class="lines">@@ -1317,7 +1317,7 @@
</span><span class="cx">     virtual void refScriptExecutionContext() override final { ref(); }
</span><span class="cx">     virtual void derefScriptExecutionContext() override final { deref(); }
</span><span class="cx"> 
</span><del>-    virtual void addMessage(MessageSource, MessageLevel, const String&amp; message, const String&amp; sourceURL, unsigned lineNumber, unsigned columnNumber, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp;, JSC::ExecState* = 0, unsigned long requestIdentifier = 0) override final;
</del><ins>+    virtual void addMessage(MessageSource, MessageLevel, const String&amp; message, const String&amp; sourceURL, unsigned lineNumber, unsigned columnNumber, PassRefPtr&lt;Inspector::ScriptCallStack&gt;, JSC::ExecState* = 0, unsigned long requestIdentifier = 0) override final;
</ins><span class="cx"> 
</span><span class="cx">     virtual double minimumTimerInterval() const override final;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoredomScriptExecutionContextcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ScriptExecutionContext.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ScriptExecutionContext.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/dom/ScriptExecutionContext.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -350,25 +350,25 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScriptExecutionContext::reportException(const String&amp; errorMessage, int lineNumber, int columnNumber, const String&amp; sourceURL, RefPtr&lt;ScriptCallStack&gt;&amp;&amp; callStack, CachedScript* cachedScript)
</del><ins>+void ScriptExecutionContext::reportException(const String&amp; errorMessage, int lineNumber, int columnNumber, const String&amp; sourceURL, PassRefPtr&lt;ScriptCallStack&gt; callStack, CachedScript* cachedScript)
</ins><span class="cx"> {
</span><span class="cx">     if (m_inDispatchErrorEvent) {
</span><span class="cx">         if (!m_pendingExceptions)
</span><span class="cx">             m_pendingExceptions = std::make_unique&lt;Vector&lt;std::unique_ptr&lt;PendingException&gt;&gt;&gt;();
</span><del>-        m_pendingExceptions-&gt;append(std::make_unique&lt;PendingException&gt;(errorMessage, lineNumber, columnNumber, sourceURL, callStack.copyRef()));
</del><ins>+        m_pendingExceptions-&gt;append(std::make_unique&lt;PendingException&gt;(errorMessage, lineNumber, columnNumber, sourceURL, callStack));
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // First report the original exception and only then all the nested ones.
</span><span class="cx">     if (!dispatchErrorEvent(errorMessage, lineNumber, columnNumber, sourceURL, cachedScript))
</span><del>-        logExceptionToConsole(errorMessage, sourceURL, lineNumber, columnNumber, callStack.copyRef());
</del><ins>+        logExceptionToConsole(errorMessage, sourceURL, lineNumber, columnNumber, callStack);
</ins><span class="cx"> 
</span><span class="cx">     if (!m_pendingExceptions)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     std::unique_ptr&lt;Vector&lt;std::unique_ptr&lt;PendingException&gt;&gt;&gt; pendingExceptions = WTF::move(m_pendingExceptions);
</span><span class="cx">     for (auto&amp; exception : *pendingExceptions)
</span><del>-        logExceptionToConsole(exception-&gt;m_errorMessage, exception-&gt;m_sourceURL, exception-&gt;m_lineNumber, exception-&gt;m_columnNumber, exception-&gt;m_callStack.copyRef());
</del><ins>+        logExceptionToConsole(exception-&gt;m_errorMessage, exception-&gt;m_sourceURL, exception-&gt;m_lineNumber, exception-&gt;m_columnNumber, exception-&gt;m_callStack);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void ScriptExecutionContext::addConsoleMessage(MessageSource source, MessageLevel level, const String&amp; message, const String&amp; sourceURL, unsigned lineNumber, unsigned columnNumber, JSC::ExecState* state, unsigned long requestIdentifier)
</span></span></pre></div>
<a id="trunkSourceWebCoredomScriptExecutionContexth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/ScriptExecutionContext.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ScriptExecutionContext.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/dom/ScriptExecutionContext.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -76,7 +76,7 @@
</span><span class="cx">     virtual void disableEval(const String&amp; errorMessage) = 0;
</span><span class="cx"> 
</span><span class="cx">     bool sanitizeScriptError(String&amp; errorMessage, int&amp; lineNumber, int&amp; columnNumber, String&amp; sourceURL, CachedScript* = nullptr);
</span><del>-    void reportException(const String&amp; errorMessage, int lineNumber, int columnNumber, const String&amp; sourceURL, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp;, CachedScript* = nullptr);
</del><ins>+    void reportException(const String&amp; errorMessage, int lineNumber, int columnNumber, const String&amp; sourceURL, PassRefPtr&lt;Inspector::ScriptCallStack&gt;, CachedScript* = nullptr);
</ins><span class="cx"> 
</span><span class="cx">     void addConsoleMessage(MessageSource, MessageLevel, const String&amp; message, const String&amp; sourceURL, unsigned lineNumber, unsigned columnNumber, JSC::ExecState* = nullptr, unsigned long requestIdentifier = 0);
</span><span class="cx">     virtual void addConsoleMessage(MessageSource, MessageLevel, const String&amp; message, unsigned long requestIdentifier = 0) = 0;
</span><span class="lines">@@ -198,9 +198,9 @@
</span><span class="cx">     bool hasPendingActivity() const;
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    virtual void addMessage(MessageSource, MessageLevel, const String&amp; message, const String&amp; sourceURL, unsigned lineNumber, unsigned columnNumber, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp;, JSC::ExecState* = nullptr, unsigned long requestIdentifier = 0) = 0;
</del><ins>+    virtual void addMessage(MessageSource, MessageLevel, const String&amp; message, const String&amp; sourceURL, unsigned lineNumber, unsigned columnNumber, PassRefPtr&lt;Inspector::ScriptCallStack&gt;, JSC::ExecState* = nullptr, unsigned long requestIdentifier = 0) = 0;
</ins><span class="cx">     virtual EventTarget* errorEventTarget() = 0;
</span><del>-    virtual void logExceptionToConsole(const String&amp; errorMessage, const String&amp; sourceURL, int lineNumber, int columnNumber, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp;) = 0;
</del><ins>+    virtual void logExceptionToConsole(const String&amp; errorMessage, const String&amp; sourceURL, int lineNumber, int columnNumber, PassRefPtr&lt;Inspector::ScriptCallStack&gt;) = 0;
</ins><span class="cx">     bool dispatchErrorEvent(const String&amp; errorMessage, int lineNumber, int columnNumber, const String&amp; sourceURL, CachedScript*);
</span><span class="cx"> 
</span><span class="cx">     virtual void refScriptExecutionContext() = 0;
</span></span></pre></div>
<a id="trunkSourceWebCorehtmlparserXSSAuditorDelegatecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/html/parser/XSSAuditorDelegate.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/XSSAuditorDelegate.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/html/parser/XSSAuditorDelegate.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -82,12 +82,12 @@
</span><span class="cx">             httpBody = formData-&gt;flattenToString();
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    Ref&lt;InspectorObject&gt; reportDetails = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; reportDetails = InspectorObject::create();
</ins><span class="cx">     reportDetails-&gt;setString(&quot;request-url&quot;, xssInfo.m_originalURL);
</span><span class="cx">     reportDetails-&gt;setString(&quot;request-body&quot;, httpBody);
</span><span class="cx"> 
</span><del>-    Ref&lt;InspectorObject&gt; reportObject = InspectorObject::create();
-    reportObject-&gt;setObject(&quot;xss-report&quot;, WTF::move(reportDetails));
</del><ins>+    RefPtr&lt;InspectorObject&gt; reportObject = InspectorObject::create();
+    reportObject-&gt;setObject(&quot;xss-report&quot;, reportDetails.release());
</ins><span class="cx"> 
</span><span class="cx">     return FormData::create(reportObject-&gt;toJSONString().utf8().data());
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorCommandLineAPIHostcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/CommandLineAPIHost.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/CommandLineAPIHost.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/CommandLineAPIHost.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -92,7 +92,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CommandLineAPIHost::inspectImpl(RefPtr&lt;InspectorValue&gt;&amp;&amp; object, RefPtr&lt;InspectorValue&gt;&amp;&amp; hints)
</del><ins>+void CommandLineAPIHost::inspectImpl(PassRefPtr&lt;InspectorValue&gt; object, PassRefPtr&lt;InspectorValue&gt; hints)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_inspectorAgent)
</span><span class="cx">         return;
</span><span class="lines">@@ -101,8 +101,8 @@
</span><span class="cx">     if (!hints-&gt;asObject(hintsObject))
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    auto remoteObject = BindingTraits&lt;Inspector::Protocol::Runtime::RemoteObject&gt;::runtimeCast(WTF::move(object));
-    m_inspectorAgent-&gt;inspect(WTF::move(remoteObject), WTF::move(hintsObject));
</del><ins>+    RefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt; remoteObject = BindingTraits&lt;Inspector::Protocol::Runtime::RemoteObject&gt;::runtimeCast(object);
+    m_inspectorAgent-&gt;inspect(remoteObject.release(), hintsObject.release());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void CommandLineAPIHost::getEventListenersImpl(Node* node, Vector&lt;EventListenerInfo&gt;&amp; listenersArray)
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorCommandLineAPIHosth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/CommandLineAPIHost.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/CommandLineAPIHost.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/CommandLineAPIHost.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -95,7 +95,7 @@
</span><span class="cx">     void addInspectedObject(std::unique_ptr&lt;InspectableObject&gt;);
</span><span class="cx">     void clearInspectedObjects();
</span><span class="cx">     InspectableObject* inspectedObject(unsigned index);
</span><del>-    void inspectImpl(RefPtr&lt;Inspector::InspectorValue&gt;&amp;&amp; objectToInspect, RefPtr&lt;Inspector::InspectorValue&gt;&amp;&amp; hints);
</del><ins>+    void inspectImpl(PassRefPtr&lt;Inspector::InspectorValue&gt; objectToInspect, PassRefPtr&lt;Inspector::InspectorValue&gt; hints);
</ins><span class="cx"> 
</span><span class="cx">     void getEventListenersImpl(Node*, Vector&lt;EventListenerInfo&gt;&amp; listenersArray);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorApplicationCacheAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorApplicationCacheAgent.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorApplicationCacheAgent.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorApplicationCacheAgent.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -108,12 +108,11 @@
</span><span class="cx">         ApplicationCacheHost::CacheInfo info = host-&gt;applicationCacheInfo();
</span><span class="cx">         String manifestURL = info.m_manifest.string();
</span><span class="cx">         if (!manifestURL.isEmpty()) {
</span><del>-            Ref&lt;Inspector::Protocol::ApplicationCache::FrameWithManifest&gt; value = Inspector::Protocol::ApplicationCache::FrameWithManifest::create()
</del><ins>+            RefPtr&lt;Inspector::Protocol::ApplicationCache::FrameWithManifest&gt; value = Inspector::Protocol::ApplicationCache::FrameWithManifest::create()
</ins><span class="cx">                 .setFrameId(m_pageAgent-&gt;frameId(frame))
</span><span class="cx">                 .setManifestURL(manifestURL)
</span><del>-                .setStatus(static_cast&lt;int&gt;(host-&gt;status()))
-                .release();
-            result-&gt;addItem(WTF::move(value));
</del><ins>+                .setStatus(static_cast&lt;int&gt;(host-&gt;status()));
+            result-&gt;addItem(value);
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="lines">@@ -152,7 +151,7 @@
</span><span class="cx">     applicationCache = buildObjectForApplicationCache(resources, info);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;Inspector::Protocol::ApplicationCache::ApplicationCache&gt; InspectorApplicationCacheAgent::buildObjectForApplicationCache(const ApplicationCacheHost::ResourceInfoList&amp; applicationCacheResources, const ApplicationCacheHost::CacheInfo&amp; applicationCacheInfo)
</del><ins>+PassRefPtr&lt;Inspector::Protocol::ApplicationCache::ApplicationCache&gt; InspectorApplicationCacheAgent::buildObjectForApplicationCache(const ApplicationCacheHost::ResourceInfoList&amp; applicationCacheResources, const ApplicationCacheHost::CacheInfo&amp; applicationCacheInfo)
</ins><span class="cx"> {
</span><span class="cx">     return Inspector::Protocol::ApplicationCache::ApplicationCache::create()
</span><span class="cx">         .setManifestURL(applicationCacheInfo.m_manifest.string())
</span><span class="lines">@@ -163,17 +162,17 @@
</span><span class="cx">         .release();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::ApplicationCache::ApplicationCacheResource&gt;&gt; InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources(const ApplicationCacheHost::ResourceInfoList&amp; applicationCacheResources)
</del><ins>+PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::ApplicationCache::ApplicationCacheResource&gt;&gt; InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources(const ApplicationCacheHost::ResourceInfoList&amp; applicationCacheResources)
</ins><span class="cx"> {
</span><del>-    auto resources = Inspector::Protocol::Array&lt;Inspector::Protocol::ApplicationCache::ApplicationCacheResource&gt;::create();
</del><ins>+    RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::ApplicationCache::ApplicationCacheResource&gt;&gt; resources = Inspector::Protocol::Array&lt;Inspector::Protocol::ApplicationCache::ApplicationCacheResource&gt;::create();
</ins><span class="cx"> 
</span><span class="cx">     for (const auto&amp; resourceInfo : applicationCacheResources)
</span><span class="cx">         resources-&gt;addItem(buildObjectForApplicationCacheResource(resourceInfo));
</span><span class="cx"> 
</span><del>-    return WTF::move(resources);
</del><ins>+    return resources;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;Inspector::Protocol::ApplicationCache::ApplicationCacheResource&gt; InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource(const ApplicationCacheHost::ResourceInfo&amp; resourceInfo)
</del><ins>+PassRefPtr&lt;Inspector::Protocol::ApplicationCache::ApplicationCacheResource&gt; InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource(const ApplicationCacheHost::ResourceInfo&amp; resourceInfo)
</ins><span class="cx"> {
</span><span class="cx">     StringBuilder types;
</span><span class="cx"> 
</span><span class="lines">@@ -192,11 +191,11 @@
</span><span class="cx">     if (resourceInfo.m_isExplicit)
</span><span class="cx">         types.appendLiteral(&quot;Explicit &quot;);
</span><span class="cx"> 
</span><del>-    return Inspector::Protocol::ApplicationCache::ApplicationCacheResource::create()
</del><ins>+    RefPtr&lt;Inspector::Protocol::ApplicationCache::ApplicationCacheResource&gt; value = Inspector::Protocol::ApplicationCache::ApplicationCacheResource::create()
</ins><span class="cx">         .setUrl(resourceInfo.m_resource.string())
</span><span class="cx">         .setSize(static_cast&lt;int&gt;(resourceInfo.m_size))
</span><del>-        .setType(types.toString())
-        .release();
</del><ins>+        .setType(types.toString());
+    return value;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorApplicationCacheAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorApplicationCacheAgent.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorApplicationCacheAgent.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorApplicationCacheAgent.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -67,9 +67,9 @@
</span><span class="cx">     virtual void getApplicationCacheForFrame(ErrorString&amp;, const String&amp; frameId, RefPtr&lt;Inspector::Protocol::ApplicationCache::ApplicationCache&gt;&amp;) override;
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    Ref&lt;Inspector::Protocol::ApplicationCache::ApplicationCache&gt; buildObjectForApplicationCache(const ApplicationCacheHost::ResourceInfoList&amp;, const ApplicationCacheHost::CacheInfo&amp;);
-    Ref&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::ApplicationCache::ApplicationCacheResource&gt;&gt; buildArrayForApplicationCacheResources(const ApplicationCacheHost::ResourceInfoList&amp;);
-    Ref&lt;Inspector::Protocol::ApplicationCache::ApplicationCacheResource&gt; buildObjectForApplicationCacheResource(const ApplicationCacheHost::ResourceInfo&amp;);
</del><ins>+    PassRefPtr&lt;Inspector::Protocol::ApplicationCache::ApplicationCache&gt; buildObjectForApplicationCache(const ApplicationCacheHost::ResourceInfoList&amp;, const ApplicationCacheHost::CacheInfo&amp;);
+    PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::ApplicationCache::ApplicationCacheResource&gt;&gt; buildArrayForApplicationCacheResources(const ApplicationCacheHost::ResourceInfoList&amp;);
+    PassRefPtr&lt;Inspector::Protocol::ApplicationCache::ApplicationCacheResource&gt; buildObjectForApplicationCacheResource(const ApplicationCacheHost::ResourceInfo&amp;);
</ins><span class="cx"> 
</span><span class="cx">     DocumentLoader* assertFrameWithDocumentLoader(ErrorString&amp;, String frameId);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorCSSAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorCSSAgent.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorCSSAgent.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorCSSAgent.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -612,42 +612,40 @@
</span><span class="cx"> 
</span><span class="cx">     // Pseudo elements.
</span><span class="cx">     if (!includePseudo || *includePseudo) {
</span><del>-        auto pseudoElements = Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::PseudoIdMatches&gt;::create();
</del><ins>+        RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::PseudoIdMatches&gt;&gt; pseudoElements = Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::PseudoIdMatches&gt;::create();
</ins><span class="cx">         for (PseudoId pseudoId = FIRST_PUBLIC_PSEUDOID; pseudoId &lt; AFTER_LAST_INTERNAL_PSEUDOID; pseudoId = static_cast&lt;PseudoId&gt;(pseudoId + 1)) {
</span><span class="cx">             auto matchedRules = styleResolver.pseudoStyleRulesForElement(element, pseudoId, StyleResolver::AllCSSRules);
</span><span class="cx">             if (!matchedRules.isEmpty()) {
</span><del>-                auto matches = Inspector::Protocol::CSS::PseudoIdMatches::create()
</del><ins>+                RefPtr&lt;Inspector::Protocol::CSS::PseudoIdMatches&gt; matches = Inspector::Protocol::CSS::PseudoIdMatches::create()
</ins><span class="cx">                     .setPseudoId(static_cast&lt;int&gt;(pseudoId))
</span><del>-                    .setMatches(buildArrayForMatchedRuleList(matchedRules, styleResolver, element))
-                    .release();
-                pseudoElements-&gt;addItem(WTF::move(matches));
</del><ins>+                    .setMatches(buildArrayForMatchedRuleList(matchedRules, styleResolver, element));
+                pseudoElements-&gt;addItem(matches.release());
</ins><span class="cx">             }
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        pseudoIdMatches = WTF::move(pseudoElements);
</del><ins>+        pseudoIdMatches = pseudoElements.release();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // Inherited styles.
</span><span class="cx">     if (!includeInherited || *includeInherited) {
</span><del>-        auto entries = Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::InheritedStyleEntry&gt;::create();
</del><ins>+        RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::InheritedStyleEntry&gt;&gt; entries = Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::InheritedStyleEntry&gt;::create();
</ins><span class="cx">         Element* parentElement = element-&gt;parentElement();
</span><span class="cx">         while (parentElement) {
</span><span class="cx">             StyleResolver&amp; parentStyleResolver = parentElement-&gt;document().ensureStyleResolver();
</span><span class="cx">             auto parentMatchedRules = parentStyleResolver.styleRulesForElement(parentElement, StyleResolver::AllCSSRules);
</span><del>-            auto entry = Inspector::Protocol::CSS::InheritedStyleEntry::create()
-                .setMatchedCSSRules(buildArrayForMatchedRuleList(parentMatchedRules, styleResolver, parentElement))
-                .release();
</del><ins>+            RefPtr&lt;Inspector::Protocol::CSS::InheritedStyleEntry&gt; entry = Inspector::Protocol::CSS::InheritedStyleEntry::create()
+                .setMatchedCSSRules(buildArrayForMatchedRuleList(parentMatchedRules, styleResolver, parentElement));
</ins><span class="cx">             if (parentElement-&gt;style() &amp;&amp; parentElement-&gt;style()-&gt;length()) {
</span><span class="cx">                 InspectorStyleSheetForInlineStyle* styleSheet = asInspectorStyleSheet(parentElement);
</span><span class="cx">                 if (styleSheet)
</span><span class="cx">                     entry-&gt;setInlineStyle(styleSheet-&gt;buildObjectForStyle(styleSheet-&gt;styleForId(InspectorCSSId(styleSheet-&gt;id(), 0))));
</span><span class="cx">             }
</span><span class="cx"> 
</span><del>-            entries-&gt;addItem(WTF::move(entry));
</del><ins>+            entries-&gt;addItem(entry.release());
</ins><span class="cx">             parentElement = parentElement-&gt;parentElement();
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        inheritedEntries = WTF::move(entries);
</del><ins>+        inheritedEntries = entries.release();
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -673,7 +671,7 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;CSSComputedStyleDeclaration&gt; computedStyleInfo = CSSComputedStyleDeclaration::create(element, true);
</span><del>-    Ref&lt;InspectorStyle&gt; inspectorStyle = InspectorStyle::create(InspectorCSSId(), computedStyleInfo, nullptr);
</del><ins>+    RefPtr&lt;InspectorStyle&gt; inspectorStyle = InspectorStyle::create(InspectorCSSId(), computedStyleInfo, nullptr);
</ins><span class="cx">     style = inspectorStyle-&gt;buildArrayForComputedStyle();
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -720,9 +718,9 @@
</span><span class="cx">     errorString = InspectorDOMAgent::toErrorString(ec);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorCSSAgent::setStyleText(ErrorString&amp; errorString, const RefPtr&lt;InspectorObject&gt;&amp;&amp; fullStyleId, const String&amp; text, RefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt;&amp; result)
</del><ins>+void InspectorCSSAgent::setStyleText(ErrorString&amp; errorString, const RefPtr&lt;InspectorObject&gt;&amp; fullStyleId, const String&amp; text, RefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt;&amp; result)
</ins><span class="cx"> {
</span><del>-    InspectorCSSId compoundId(fullStyleId.copyRef());
</del><ins>+    InspectorCSSId compoundId(fullStyleId);
</ins><span class="cx">     ASSERT(!compoundId.isEmpty());
</span><span class="cx"> 
</span><span class="cx">     InspectorStyleSheet* inspectorStyleSheet = assertStyleSheetForId(errorString, compoundId.styleSheetId());
</span><span class="lines">@@ -736,9 +734,9 @@
</span><span class="cx">     errorString = InspectorDOMAgent::toErrorString(ec);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorCSSAgent::setPropertyText(ErrorString&amp; errorString, const RefPtr&lt;InspectorObject&gt;&amp;&amp; fullStyleId, int propertyIndex, const String&amp; text, bool overwrite, RefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt;&amp; result)
</del><ins>+void InspectorCSSAgent::setPropertyText(ErrorString&amp; errorString, const RefPtr&lt;InspectorObject&gt;&amp; fullStyleId, int propertyIndex, const String&amp; text, bool overwrite, RefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt;&amp; result)
</ins><span class="cx"> {
</span><del>-    InspectorCSSId compoundId(fullStyleId.copyRef());
</del><ins>+    InspectorCSSId compoundId(fullStyleId);
</ins><span class="cx">     ASSERT(!compoundId.isEmpty());
</span><span class="cx"> 
</span><span class="cx">     InspectorStyleSheet* inspectorStyleSheet = assertStyleSheetForId(errorString, compoundId.styleSheetId());
</span><span class="lines">@@ -752,9 +750,9 @@
</span><span class="cx">     errorString = InspectorDOMAgent::toErrorString(ec);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorCSSAgent::toggleProperty(ErrorString&amp; errorString, const RefPtr&lt;InspectorObject&gt;&amp;&amp; fullStyleId, int propertyIndex, bool disable, RefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt;&amp; result)
</del><ins>+void InspectorCSSAgent::toggleProperty(ErrorString&amp; errorString, const RefPtr&lt;InspectorObject&gt;&amp; fullStyleId, int propertyIndex, bool disable, RefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt;&amp; result)
</ins><span class="cx"> {
</span><del>-    InspectorCSSId compoundId(fullStyleId.copyRef());
</del><ins>+    InspectorCSSId compoundId(fullStyleId);
</ins><span class="cx">     ASSERT(!compoundId.isEmpty());
</span><span class="cx"> 
</span><span class="cx">     InspectorStyleSheet* inspectorStyleSheet = assertStyleSheetForId(errorString, compoundId.styleSheetId());
</span><span class="lines">@@ -768,9 +766,9 @@
</span><span class="cx">     errorString = InspectorDOMAgent::toErrorString(ec);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorCSSAgent::setRuleSelector(ErrorString&amp; errorString, const RefPtr&lt;InspectorObject&gt;&amp;&amp; fullRuleId, const String&amp; selector, RefPtr&lt;Inspector::Protocol::CSS::CSSRule&gt;&amp; result)
</del><ins>+void InspectorCSSAgent::setRuleSelector(ErrorString&amp; errorString, const RefPtr&lt;InspectorObject&gt;&amp; fullRuleId, const String&amp; selector, RefPtr&lt;Inspector::Protocol::CSS::CSSRule&gt;&amp; result)
</ins><span class="cx"> {
</span><del>-    InspectorCSSId compoundId(fullRuleId.copyRef());
</del><ins>+    InspectorCSSId compoundId(fullRuleId);
</ins><span class="cx">     ASSERT(!compoundId.isEmpty());
</span><span class="cx"> 
</span><span class="cx">     InspectorStyleSheet* inspectorStyleSheet = assertStyleSheetForId(errorString, compoundId.styleSheetId());
</span><span class="lines">@@ -813,30 +811,29 @@
</span><span class="cx"> 
</span><span class="cx"> void InspectorCSSAgent::getSupportedCSSProperties(ErrorString&amp;, RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSPropertyInfo&gt;&gt;&amp; cssProperties)
</span><span class="cx"> {
</span><del>-    auto properties = Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSPropertyInfo&gt;::create();
</del><ins>+    RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSPropertyInfo&gt;&gt; properties = Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSPropertyInfo&gt;::create();
</ins><span class="cx">     for (int i = firstCSSProperty; i &lt;= lastCSSProperty; ++i) {
</span><span class="cx">         CSSPropertyID id = convertToCSSPropertyID(i);
</span><del>-        auto property = Inspector::Protocol::CSS::CSSPropertyInfo::create()
-            .setName(getPropertyNameString(id))
-            .release();
</del><ins>+        RefPtr&lt;Inspector::Protocol::CSS::CSSPropertyInfo&gt; property = Inspector::Protocol::CSS::CSSPropertyInfo::create()
+            .setName(getPropertyNameString(id));
</ins><span class="cx"> 
</span><span class="cx">         const StylePropertyShorthand&amp; shorthand = shorthandForProperty(id);
</span><span class="cx">         if (!shorthand.length()) {
</span><del>-            properties-&gt;addItem(WTF::move(property));
</del><ins>+            properties-&gt;addItem(property.release());
</ins><span class="cx">             continue;
</span><span class="cx">         }
</span><del>-        auto longhands = Inspector::Protocol::Array&lt;String&gt;::create();
</del><ins>+        RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; longhands = Inspector::Protocol::Array&lt;String&gt;::create();
</ins><span class="cx">         for (unsigned j = 0; j &lt; shorthand.length(); ++j) {
</span><span class="cx">             CSSPropertyID longhandID = shorthand.properties()[j];
</span><span class="cx">             longhands-&gt;addItem(getPropertyNameString(longhandID));
</span><span class="cx">         }
</span><del>-        property-&gt;setLonghands(WTF::move(longhands));
-        properties-&gt;addItem(WTF::move(property));
</del><ins>+        property-&gt;setLonghands(longhands.release());
+        properties-&gt;addItem(property.release());
</ins><span class="cx">     }
</span><del>-    cssProperties = WTF::move(properties);
</del><ins>+    cssProperties = properties.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorCSSAgent::forcePseudoState(ErrorString&amp; errorString, int nodeId, const RefPtr&lt;InspectorArray&gt;&amp;&amp; forcedPseudoClasses)
</del><ins>+void InspectorCSSAgent::forcePseudoState(ErrorString&amp; errorString, int nodeId, const RefPtr&lt;InspectorArray&gt;&amp; forcedPseudoClasses)
</ins><span class="cx"> {
</span><span class="cx">     Element* element = m_domAgent-&gt;assertElement(errorString, nodeId);
</span><span class="cx">     if (!element)
</span><span class="lines">@@ -865,12 +862,12 @@
</span><span class="cx">     m_namedFlowCollectionsRequested.add(documentNodeId);
</span><span class="cx"> 
</span><span class="cx">     Vector&lt;RefPtr&lt;WebKitNamedFlow&gt;&gt; namedFlowsVector = document-&gt;namedFlows().namedFlows();
</span><del>-    auto namedFlows = Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::NamedFlow&gt;::create();
</del><ins>+    RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::NamedFlow&gt;&gt; namedFlows = Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::NamedFlow&gt;::create();
</ins><span class="cx"> 
</span><span class="cx">     for (Vector&lt;RefPtr&lt;WebKitNamedFlow&gt;&gt;::iterator it = namedFlowsVector.begin(); it != namedFlowsVector.end(); ++it)
</span><span class="cx">         namedFlows-&gt;addItem(buildObjectForNamedFlow(errorString, it-&gt;get(), documentNodeId));
</span><span class="cx"> 
</span><del>-    result = WTF::move(namedFlows);
</del><ins>+    result = namedFlows.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> InspectorStyleSheetForInlineStyle* InspectorCSSAgent::asInspectorStyleSheet(Element* element)
</span><span class="lines">@@ -1003,7 +1000,7 @@
</span><span class="cx"> 
</span><span class="cx"> Inspector::Protocol::CSS::StyleSheetOrigin InspectorCSSAgent::detectOrigin(CSSStyleSheet* pageStyleSheet, Document* ownerDocument)
</span><span class="cx"> {
</span><del>-    auto origin = Inspector::Protocol::CSS::StyleSheetOrigin::Regular;
</del><ins>+    Inspector::Protocol::CSS::StyleSheetOrigin origin = Inspector::Protocol::CSS::StyleSheetOrigin::Regular;
</ins><span class="cx">     if (pageStyleSheet &amp;&amp; !pageStyleSheet-&gt;ownerNode() &amp;&amp; pageStyleSheet-&gt;href().isEmpty())
</span><span class="cx">         origin = Inspector::Protocol::CSS::StyleSheetOrigin::UserAgent;
</span><span class="cx">     else if (pageStyleSheet &amp;&amp; pageStyleSheet-&gt;ownerNode() &amp;&amp; pageStyleSheet-&gt;ownerNode()-&gt;nodeName() == &quot;#document&quot;)
</span><span class="lines">@@ -1016,7 +1013,7 @@
</span><span class="cx">     return origin;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;Inspector::Protocol::CSS::CSSRule&gt; InspectorCSSAgent::buildObjectForRule(StyleRule* styleRule, StyleResolver&amp; styleResolver)
</del><ins>+PassRefPtr&lt;Inspector::Protocol::CSS::CSSRule&gt; InspectorCSSAgent::buildObjectForRule(StyleRule* styleRule, StyleResolver&amp; styleResolver)
</ins><span class="cx"> {
</span><span class="cx">     if (!styleRule)
</span><span class="cx">         return nullptr;
</span><span class="lines">@@ -1030,7 +1027,7 @@
</span><span class="cx">     return inspectorStyleSheet ? inspectorStyleSheet-&gt;buildObjectForRule(cssomWrapper) : nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;Inspector::Protocol::CSS::CSSRule&gt; InspectorCSSAgent::buildObjectForRule(CSSStyleRule* rule)
</del><ins>+PassRefPtr&lt;Inspector::Protocol::CSS::CSSRule&gt; InspectorCSSAgent::buildObjectForRule(CSSStyleRule* rule)
</ins><span class="cx"> {
</span><span class="cx">     if (!rule)
</span><span class="cx">         return nullptr;
</span><span class="lines">@@ -1040,9 +1037,9 @@
</span><span class="cx">     return inspectorStyleSheet ? inspectorStyleSheet-&gt;buildObjectForRule(rule) : nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::RuleMatch&gt;&gt; InspectorCSSAgent::buildArrayForMatchedRuleList(const Vector&lt;RefPtr&lt;StyleRule&gt;&gt;&amp; matchedRules, StyleResolver&amp; styleResolver, Element* element)
</del><ins>+PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::RuleMatch&gt;&gt; InspectorCSSAgent::buildArrayForMatchedRuleList(const Vector&lt;RefPtr&lt;StyleRule&gt;&gt;&amp; matchedRules, StyleResolver&amp; styleResolver, Element* element)
</ins><span class="cx"> {
</span><del>-    auto result = Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::RuleMatch&gt;::create();
</del><ins>+    RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::RuleMatch&gt;&gt; result = Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::RuleMatch&gt;::create();
</ins><span class="cx"> 
</span><span class="cx">     SelectorChecker::CheckingContext context(SelectorChecker::Mode::CollectingRules);
</span><span class="cx">     SelectorChecker selectorChecker(element-&gt;document());
</span><span class="lines">@@ -1052,7 +1049,7 @@
</span><span class="cx">         if (!ruleObject)
</span><span class="cx">             continue;
</span><span class="cx"> 
</span><del>-        auto matchingSelectors = Inspector::Protocol::Array&lt;int&gt;::create();
</del><ins>+        RefPtr&lt;Inspector::Protocol::Array&lt;int&gt;&gt; matchingSelectors = Inspector::Protocol::Array&lt;int&gt;::create();
</ins><span class="cx">         const CSSSelectorList&amp; selectorList = matchedRule-&gt;selectorList();
</span><span class="cx">         long index = 0;
</span><span class="cx">         for (const CSSSelector* selector = selectorList.first(); selector; selector = CSSSelectorList::next(selector)) {
</span><span class="lines">@@ -1063,17 +1060,16 @@
</span><span class="cx">             ++index;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        auto match = Inspector::Protocol::CSS::RuleMatch::create()
-            .setRule(WTF::move(ruleObject))
-            .setMatchingSelectors(WTF::move(matchingSelectors))
-            .release();
-        result-&gt;addItem(WTF::move(match));
</del><ins>+        RefPtr&lt;Inspector::Protocol::CSS::RuleMatch&gt; match = Inspector::Protocol::CSS::RuleMatch::create()
+            .setRule(ruleObject.release())
+            .setMatchingSelectors(matchingSelectors.release());
+        result-&gt;addItem(match.release());
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return WTF::move(result);
</del><ins>+    return result.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt; InspectorCSSAgent::buildObjectForAttributesStyle(Element* element)
</del><ins>+PassRefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt; InspectorCSSAgent::buildObjectForAttributesStyle(Element* element)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(element);
</span><span class="cx">     if (!is&lt;StyledElement&gt;(*element))
</span><span class="lines">@@ -1087,13 +1083,13 @@
</span><span class="cx">     ASSERT_WITH_SECURITY_IMPLICATION(attributeStyle-&gt;isMutable());
</span><span class="cx">     MutableStyleProperties* mutableAttributeStyle = static_cast&lt;MutableStyleProperties*&gt;(attributeStyle);
</span><span class="cx"> 
</span><del>-    Ref&lt;InspectorStyle&gt; inspectorStyle = InspectorStyle::create(InspectorCSSId(), mutableAttributeStyle-&gt;ensureCSSStyleDeclaration(), nullptr);
</del><ins>+    RefPtr&lt;InspectorStyle&gt; inspectorStyle = InspectorStyle::create(InspectorCSSId(), mutableAttributeStyle-&gt;ensureCSSStyleDeclaration(), nullptr);
</ins><span class="cx">     return inspectorStyle-&gt;buildObjectForStyle();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::Region&gt;&gt; InspectorCSSAgent::buildArrayForRegions(ErrorString&amp; errorString, RefPtr&lt;NodeList&gt;&amp;&amp; regionList, int documentNodeId)
</del><ins>+PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::Region&gt;&gt; InspectorCSSAgent::buildArrayForRegions(ErrorString&amp; errorString, PassRefPtr&lt;NodeList&gt; regionList, int documentNodeId)
</ins><span class="cx"> {
</span><del>-    auto regions = Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::Region&gt;::create();
</del><ins>+    RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::Region&gt;&gt; regions = Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::Region&gt;::create();
</ins><span class="cx"> 
</span><span class="cx">     for (unsigned i = 0; i &lt; regionList-&gt;length(); ++i) {
</span><span class="cx">         Inspector::Protocol::CSS::Region::RegionOverset regionOverset;
</span><span class="lines">@@ -1115,22 +1111,21 @@
</span><span class="cx">             continue;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        auto region = Inspector::Protocol::CSS::Region::create()
</del><ins>+        RefPtr&lt;Inspector::Protocol::CSS::Region&gt; region = Inspector::Protocol::CSS::Region::create()
</ins><span class="cx">             .setRegionOverset(regionOverset)
</span><span class="cx">             // documentNodeId was previously asserted
</span><del>-            .setNodeId(m_domAgent-&gt;pushNodeToFrontend(errorString, documentNodeId, regionList-&gt;item(i)))
-            .release();
</del><ins>+            .setNodeId(m_domAgent-&gt;pushNodeToFrontend(errorString, documentNodeId, regionList-&gt;item(i)));
</ins><span class="cx"> 
</span><del>-        regions-&gt;addItem(WTF::move(region));
</del><ins>+        regions-&gt;addItem(region.release());
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return WTF::move(regions);
</del><ins>+    return regions.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;Inspector::Protocol::CSS::NamedFlow&gt; InspectorCSSAgent::buildObjectForNamedFlow(ErrorString&amp; errorString, WebKitNamedFlow* webkitNamedFlow, int documentNodeId)
</del><ins>+PassRefPtr&lt;Inspector::Protocol::CSS::NamedFlow&gt; InspectorCSSAgent::buildObjectForNamedFlow(ErrorString&amp; errorString, WebKitNamedFlow* webkitNamedFlow, int documentNodeId)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;NodeList&gt; contentList = webkitNamedFlow-&gt;getContent();
</span><del>-    auto content = Inspector::Protocol::Array&lt;int&gt;::create();
</del><ins>+    RefPtr&lt;Inspector::Protocol::Array&lt;int&gt;&gt; content = Inspector::Protocol::Array&lt;int&gt;::create();
</ins><span class="cx"> 
</span><span class="cx">     for (unsigned i = 0; i &lt; contentList-&gt;length(); ++i) {
</span><span class="cx">         // documentNodeId was previously asserted
</span><span class="lines">@@ -1141,7 +1136,7 @@
</span><span class="cx">         .setDocumentNodeId(documentNodeId)
</span><span class="cx">         .setName(webkitNamedFlow-&gt;name().string())
</span><span class="cx">         .setOverset(webkitNamedFlow-&gt;overset())
</span><del>-        .setContent(WTF::move(content))
</del><ins>+        .setContent(content.release())
</ins><span class="cx">         .setRegions(buildArrayForRegions(errorString, webkitNamedFlow-&gt;getRegions(), documentNodeId))
</span><span class="cx">         .release();
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorCSSAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorCSSAgent.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorCSSAgent.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorCSSAgent.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -35,6 +35,7 @@
</span><span class="cx"> #include &lt;inspector/InspectorValues.h&gt;
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/HashSet.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -117,13 +118,13 @@
</span><span class="cx">     virtual void getStyleSheet(ErrorString&amp;, const String&amp; styleSheetId, RefPtr&lt;Inspector::Protocol::CSS::CSSStyleSheetBody&gt;&amp; result) override;
</span><span class="cx">     virtual void getStyleSheetText(ErrorString&amp;, const String&amp; styleSheetId, String* result) override;
</span><span class="cx">     virtual void setStyleSheetText(ErrorString&amp;, const String&amp; styleSheetId, const String&amp; text) override;
</span><del>-    virtual void setStyleText(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; styleId, const String&amp; text, RefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt;&amp; result) override;
-    virtual void setPropertyText(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; styleId, int propertyIndex, const String&amp; text, bool overwrite, RefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt;&amp; result) override;
-    virtual void toggleProperty(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; styleId, int propertyIndex, bool disable, RefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt;&amp; result) override;
-    virtual void setRuleSelector(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; ruleId, const String&amp; selector, RefPtr&lt;Inspector::Protocol::CSS::CSSRule&gt;&amp; result) override;
</del><ins>+    virtual void setStyleText(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorObject&gt;&amp; styleId, const String&amp; text, RefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt;&amp; result) override;
+    virtual void setPropertyText(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorObject&gt;&amp; styleId, int propertyIndex, const String&amp; text, bool overwrite, RefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt;&amp; result) override;
+    virtual void toggleProperty(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorObject&gt;&amp; styleId, int propertyIndex, bool disable, RefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt;&amp; result) override;
+    virtual void setRuleSelector(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorObject&gt;&amp; ruleId, const String&amp; selector, RefPtr&lt;Inspector::Protocol::CSS::CSSRule&gt;&amp; result) override;
</ins><span class="cx">     virtual void addRule(ErrorString&amp;, int contextNodeId, const String&amp; selector, RefPtr&lt;Inspector::Protocol::CSS::CSSRule&gt;&amp; result) override;
</span><span class="cx">     virtual void getSupportedCSSProperties(ErrorString&amp;, RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSPropertyInfo&gt;&gt;&amp; result) override;
</span><del>-    virtual void forcePseudoState(ErrorString&amp;, int nodeId, const RefPtr&lt;Inspector::InspectorArray&gt;&amp;&amp; forcedPseudoClasses) override;
</del><ins>+    virtual void forcePseudoState(ErrorString&amp;, int nodeId, const RefPtr&lt;Inspector::InspectorArray&gt;&amp; forcedPseudoClasses) override;
</ins><span class="cx">     virtual void getNamedFlowCollection(ErrorString&amp;, int documentNodeId, RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::NamedFlow&gt;&gt;&amp; result) override;
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="lines">@@ -152,12 +153,12 @@
</span><span class="cx">     InspectorStyleSheet* assertStyleSheetForId(ErrorString&amp;, const String&amp;);
</span><span class="cx">     Inspector::Protocol::CSS::StyleSheetOrigin detectOrigin(CSSStyleSheet* pageStyleSheet, Document* ownerDocument);
</span><span class="cx"> 
</span><del>-    RefPtr&lt;Inspector::Protocol::CSS::CSSRule&gt; buildObjectForRule(StyleRule*, StyleResolver&amp;);
-    RefPtr&lt;Inspector::Protocol::CSS::CSSRule&gt; buildObjectForRule(CSSStyleRule*);
-    RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::RuleMatch&gt;&gt; buildArrayForMatchedRuleList(const Vector&lt;RefPtr&lt;StyleRule&gt;&gt;&amp;, StyleResolver&amp;, Element*);
-    RefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt; buildObjectForAttributesStyle(Element*);
-    RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::Region&gt;&gt; buildArrayForRegions(ErrorString&amp;, RefPtr&lt;NodeList&gt;&amp;&amp;, int documentNodeId);
-    RefPtr&lt;Inspector::Protocol::CSS::NamedFlow&gt; buildObjectForNamedFlow(ErrorString&amp;, WebKitNamedFlow*, int documentNodeId);
</del><ins>+    PassRefPtr&lt;Inspector::Protocol::CSS::CSSRule&gt; buildObjectForRule(StyleRule*, StyleResolver&amp;);
+    PassRefPtr&lt;Inspector::Protocol::CSS::CSSRule&gt; buildObjectForRule(CSSStyleRule*);
+    PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::RuleMatch&gt;&gt; buildArrayForMatchedRuleList(const Vector&lt;RefPtr&lt;StyleRule&gt;&gt;&amp;, StyleResolver&amp;, Element*);
+    PassRefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt; buildObjectForAttributesStyle(Element*);
+    PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::Region&gt;&gt; buildArrayForRegions(ErrorString&amp;, PassRefPtr&lt;NodeList&gt;, int documentNodeId);
+    PassRefPtr&lt;Inspector::Protocol::CSS::NamedFlow&gt; buildObjectForNamedFlow(ErrorString&amp;, WebKitNamedFlow*, int documentNodeId);
</ins><span class="cx"> 
</span><span class="cx">     // InspectorDOMAgent::DOMListener implementation
</span><span class="cx">     virtual void didRemoveDocument(Document*) override;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorConsoleInstrumentationh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorConsoleInstrumentation.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorConsoleInstrumentation.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorConsoleInstrumentation.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -35,14 +35,15 @@
</span><span class="cx"> #include &quot;ScriptProfile.h&quot;
</span><span class="cx"> #include &lt;inspector/ScriptArguments.h&gt;
</span><span class="cx"> #include &lt;inspector/ScriptCallStack.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentation::addMessageToConsole(Page&amp; page, MessageSource source, MessageType type, MessageLevel level, const String&amp; message, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp; callStack, unsigned long requestIdentifier)
</del><ins>+inline void InspectorInstrumentation::addMessageToConsole(Page&amp; page, MessageSource source, MessageType type, MessageLevel level, const String&amp; message, PassRefPtr&lt;Inspector::ScriptCallStack&gt; callStack, unsigned long requestIdentifier)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx">     if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForPage(page))
</span><del>-        addMessageToConsoleImpl(*instrumentingAgents, source, type, level, message, WTF::move(callStack), requestIdentifier);
</del><ins>+        addMessageToConsoleImpl(*instrumentingAgents, source, type, level, message, callStack, requestIdentifier);
</ins><span class="cx"> #else
</span><span class="cx">     UNUSED_PARAM(page);
</span><span class="cx">     UNUSED_PARAM(source);
</span><span class="lines">@@ -54,11 +55,11 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentation::addMessageToConsole(Page&amp; page, MessageSource source, MessageType type, MessageLevel level, const String&amp; message, JSC::ExecState* state, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp; arguments, unsigned long requestIdentifier)
</del><ins>+inline void InspectorInstrumentation::addMessageToConsole(Page&amp; page, MessageSource source, MessageType type, MessageLevel level, const String&amp; message, JSC::ExecState* state, PassRefPtr&lt;Inspector::ScriptArguments&gt; arguments, unsigned long requestIdentifier)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx">     if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForPage(page))
</span><del>-        addMessageToConsoleImpl(*instrumentingAgents, source, type, level, message, state, WTF::move(arguments), requestIdentifier);
</del><ins>+        addMessageToConsoleImpl(*instrumentingAgents, source, type, level, message, state, arguments, requestIdentifier);
</ins><span class="cx"> #else
</span><span class="cx">     UNUSED_PARAM(page);
</span><span class="cx">     UNUSED_PARAM(source);
</span><span class="lines">@@ -90,11 +91,11 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentation::addMessageToConsole(WorkerGlobalScope* workerGlobalScope, MessageSource source, MessageType type, MessageLevel level, const String&amp; message, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp; callStack, unsigned long requestIdentifier)
</del><ins>+inline void InspectorInstrumentation::addMessageToConsole(WorkerGlobalScope* workerGlobalScope, MessageSource source, MessageType type, MessageLevel level, const String&amp; message, PassRefPtr&lt;Inspector::ScriptCallStack&gt; callStack, unsigned long requestIdentifier)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx">     if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForWorkerGlobalScope(workerGlobalScope))
</span><del>-        addMessageToConsoleImpl(*instrumentingAgents, source, type, level, message, WTF::move(callStack), requestIdentifier);
</del><ins>+        addMessageToConsoleImpl(*instrumentingAgents, source, type, level, message, callStack, requestIdentifier);
</ins><span class="cx"> #else
</span><span class="cx">     UNUSED_PARAM(workerGlobalScope);
</span><span class="cx">     UNUSED_PARAM(source);
</span><span class="lines">@@ -125,11 +126,11 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentation::consoleCount(Page&amp; page, JSC::ExecState* state, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp; arguments)
</del><ins>+inline void InspectorInstrumentation::consoleCount(Page&amp; page, JSC::ExecState* state, PassRefPtr&lt;Inspector::ScriptArguments&gt; arguments)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx">     if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForPage(page))
</span><del>-        consoleCountImpl(*instrumentingAgents, state, WTF::move(arguments));
</del><ins>+        consoleCountImpl(*instrumentingAgents, state, arguments);
</ins><span class="cx"> #else
</span><span class="cx">     UNUSED_PARAM(page);
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="lines">@@ -148,11 +149,11 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentation::stopConsoleTiming(Frame&amp; frame, const String&amp; title, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp; stack)
</del><ins>+inline void InspectorInstrumentation::stopConsoleTiming(Frame&amp; frame, const String&amp; title, PassRefPtr&lt;Inspector::ScriptCallStack&gt; stack)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx">     if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForFrame(frame))
</span><del>-        stopConsoleTimingImpl(*instrumentingAgents, frame, title, WTF::move(stack));
</del><ins>+        stopConsoleTimingImpl(*instrumentingAgents, frame, title, stack);
</ins><span class="cx"> #else
</span><span class="cx">     UNUSED_PARAM(frame);
</span><span class="cx">     UNUSED_PARAM(title);
</span><span class="lines">@@ -160,12 +161,12 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentation::consoleTimeStamp(Frame&amp; frame, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp; arguments)
</del><ins>+inline void InspectorInstrumentation::consoleTimeStamp(Frame&amp; frame, PassRefPtr&lt;Inspector::ScriptArguments&gt; arguments)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx">     FAST_RETURN_IF_NO_FRONTENDS(void());
</span><span class="cx">     if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForFrame(frame))
</span><del>-        consoleTimeStampImpl(*instrumentingAgents, frame, WTF::move(arguments));
</del><ins>+        consoleTimeStampImpl(*instrumentingAgents, frame, arguments);
</ins><span class="cx"> #else
</span><span class="cx">     UNUSED_PARAM(frame);
</span><span class="cx">     UNUSED_PARAM(arguments);
</span><span class="lines">@@ -184,7 +185,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline RefPtr&lt;JSC::Profile&gt; InspectorInstrumentation::stopProfiling(Page&amp; page, JSC::ExecState* exec, const String &amp;title)
</del><ins>+inline PassRefPtr&lt;JSC::Profile&gt; InspectorInstrumentation::stopProfiling(Page&amp; page, JSC::ExecState* exec, const String &amp;title)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx">     if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForPage(page))
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorController.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorController.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorController.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -330,7 +330,7 @@
</span><span class="cx">     m_overlay-&gt;getHighlight(highlight, coordinateSystem);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;InspectorObject&gt; InspectorController::buildObjectForHighlightedNode() const
</del><ins>+PassRefPtr&lt;InspectorObject&gt; InspectorController::buildObjectForHighlightedNode() const
</ins><span class="cx"> {
</span><span class="cx">     return m_overlay-&gt;buildObjectForHighlightedNode();
</span><span class="cx"> }
</span><span class="lines">@@ -454,9 +454,9 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;Stopwatch&gt; InspectorController::executionStopwatch()
</del><ins>+PassRefPtr&lt;Stopwatch&gt; InspectorController::executionStopwatch()
</ins><span class="cx"> {
</span><del>-    return m_executionStopwatch.copyRef();
</del><ins>+    return m_executionStopwatch;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorControllerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorController.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorController.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorController.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -110,7 +110,7 @@
</span><span class="cx"> 
</span><span class="cx">     void setIndicating(bool);
</span><span class="cx"> 
</span><del>-    WEBCORE_EXPORT RefPtr&lt;Inspector::InspectorObject&gt; buildObjectForHighlightedNode() const;
</del><ins>+    WEBCORE_EXPORT PassRefPtr&lt;Inspector::InspectorObject&gt; buildObjectForHighlightedNode() const;
</ins><span class="cx"> 
</span><span class="cx">     bool isUnderTest() const { return m_isUnderTest; }
</span><span class="cx">     void setIsUnderTest(bool isUnderTest) { m_isUnderTest = isUnderTest; }
</span><span class="lines">@@ -131,7 +131,7 @@
</span><span class="cx">     virtual void willCallInjectedScriptFunction(JSC::ExecState*, const String&amp; scriptName, int scriptLine) override;
</span><span class="cx">     virtual void didCallInjectedScriptFunction(JSC::ExecState*) override;
</span><span class="cx">     virtual void frontendInitialized() override;
</span><del>-    virtual Ref&lt;WTF::Stopwatch&gt; executionStopwatch() override;
</del><ins>+    virtual PassRefPtr&lt;WTF::Stopwatch&gt; executionStopwatch() override;
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     friend class InspectorInstrumentation;
</span><span class="lines">@@ -150,7 +150,7 @@
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;Inspector::InspectorBackendDispatcher&gt; m_inspectorBackendDispatcher;
</span><span class="cx">     Inspector::InspectorFrontendChannel* m_inspectorFrontendChannel;
</span><del>-    Ref&lt;WTF::Stopwatch&gt; m_executionStopwatch;
</del><ins>+    RefPtr&lt;WTF::Stopwatch&gt; m_executionStopwatch;
</ins><span class="cx">     Page&amp; m_page;
</span><span class="cx">     InspectorClient* m_inspectorClient;
</span><span class="cx">     InspectorFrontendClient* m_inspectorFrontendClient;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDOMAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -106,7 +106,7 @@
</span><span class="cx"> static const size_t maxTextSize = 10000;
</span><span class="cx"> static const UChar ellipsisUChar[] = { 0x2026, 0 };
</span><span class="cx"> 
</span><del>-static Color parseColor(const RefPtr&lt;InspectorObject&gt;&amp;&amp; colorObject)
</del><ins>+static Color parseColor(const PassRefPtr&lt;InspectorObject&gt; colorObject)
</ins><span class="cx"> {
</span><span class="cx">     if (!colorObject)
</span><span class="cx">         return Color::transparent;
</span><span class="lines">@@ -132,9 +132,8 @@
</span><span class="cx"> 
</span><span class="cx"> static Color parseConfigColor(const String&amp; fieldName, InspectorObject* configObject)
</span><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; colorObject;
-    configObject-&gt;getObject(fieldName, colorObject);
-    return parseColor(WTF::move(colorObject));
</del><ins>+    const RefPtr&lt;InspectorObject&gt; colorObject = configObject-&gt;getObject(fieldName);
+    return parseColor(colorObject);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static bool parseQuad(const RefPtr&lt;InspectorArray&gt;&amp; quadArray, FloatQuad* quad)
</span><span class="lines">@@ -580,9 +579,9 @@
</span><span class="cx">             auto newMap = std::make_unique&lt;NodeToIdMap&gt;();
</span><span class="cx">             danglingMap = newMap.get();
</span><span class="cx">             m_danglingNodeToIdMaps.append(newMap.release());
</span><del>-            auto children = Inspector::Protocol::Array&lt;Inspector::Protocol::DOM::Node&gt;::create();
</del><ins>+            RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::DOM::Node&gt;&gt; children = Inspector::Protocol::Array&lt;Inspector::Protocol::DOM::Node&gt;::create();
</ins><span class="cx">             children-&gt;addItem(buildObjectForNode(node, 0, danglingMap));
</span><del>-            m_frontendDispatcher-&gt;setChildNodes(0, WTF::move(children));
</del><ins>+            m_frontendDispatcher-&gt;setChildNodes(0, children);
</ins><span class="cx">             break;
</span><span class="cx">         } else {
</span><span class="cx">             path.append(parent);
</span><span class="lines">@@ -877,14 +876,15 @@
</span><span class="cx">     axProperties = buildObjectForAccessibilityProperties(node);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDOMAgent::performSearch(ErrorString&amp; errorString, const String&amp; whitespaceTrimmedQuery, const RefPtr&lt;InspectorArray&gt;&amp;&amp; nodeIds, String* searchId, int* resultCount)
</del><ins>+void InspectorDOMAgent::performSearch(ErrorString&amp; errorString, const String&amp; whitespaceTrimmedQuery, const RefPtr&lt;InspectorArray&gt;* nodeIds, String* searchId, int* resultCount)
</ins><span class="cx"> {
</span><span class="cx">     // FIXME: Search works with node granularity - number of matches within node is not calculated.
</span><span class="cx">     InspectorNodeFinder finder(whitespaceTrimmedQuery);
</span><span class="cx"> 
</span><span class="cx">     if (nodeIds) {
</span><del>-        for (unsigned i = 0; i &lt; nodeIds-&gt;length(); ++i) {
-            RefPtr&lt;InspectorValue&gt; nodeValue = nodeIds-&gt;get(i);
</del><ins>+        const RefPtr&lt;InspectorArray&gt;&amp; nodeIdsRef = *nodeIds;
+        for (unsigned i = 0; i &lt; nodeIdsRef-&gt;length(); ++i) {
+            RefPtr&lt;InspectorValue&gt; nodeValue = nodeIdsRef-&gt;get(i);
</ins><span class="cx">             if (!nodeValue) {
</span><span class="cx">                 errorString = ASCIILiteral(&quot;Invalid nodeIds item.&quot;);
</span><span class="cx">                 return;
</span><span class="lines">@@ -1046,37 +1046,37 @@
</span><span class="cx">     return highlightConfig;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDOMAgent::setInspectModeEnabled(ErrorString&amp; errorString, bool enabled, const RefPtr&lt;InspectorObject&gt;&amp;&amp; highlightConfig)
</del><ins>+void InspectorDOMAgent::setInspectModeEnabled(ErrorString&amp; errorString, bool enabled, const RefPtr&lt;InspectorObject&gt;* highlightConfig)
</ins><span class="cx"> {
</span><del>-    setSearchingForNode(errorString, enabled, highlightConfig ? highlightConfig.get() : nullptr);
</del><ins>+    setSearchingForNode(errorString, enabled, highlightConfig ? highlightConfig-&gt;get() : 0);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDOMAgent::highlightRect(ErrorString&amp;, int x, int y, int width, int height, const RefPtr&lt;InspectorObject&gt;&amp;&amp; color, const RefPtr&lt;InspectorObject&gt;&amp;&amp; outlineColor, const bool* usePageCoordinates)
</del><ins>+void InspectorDOMAgent::highlightRect(ErrorString&amp;, int x, int y, int width, int height, const RefPtr&lt;InspectorObject&gt;* color, const RefPtr&lt;InspectorObject&gt;* outlineColor, const bool* usePageCoordinates)
</ins><span class="cx"> {
</span><span class="cx">     auto quad = std::make_unique&lt;FloatQuad&gt;(FloatRect(x, y, width, height));
</span><del>-    innerHighlightQuad(WTF::move(quad), color.copyRef(), outlineColor.copyRef(), usePageCoordinates);
</del><ins>+    innerHighlightQuad(WTF::move(quad), color, outlineColor, usePageCoordinates);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDOMAgent::highlightQuad(ErrorString&amp; errorString, const RefPtr&lt;InspectorArray&gt;&amp;&amp; quadArray, const RefPtr&lt;InspectorObject&gt;&amp;&amp; color, const RefPtr&lt;InspectorObject&gt;&amp;&amp; outlineColor, const bool* usePageCoordinates)
</del><ins>+void InspectorDOMAgent::highlightQuad(ErrorString&amp; errorString, const RefPtr&lt;InspectorArray&gt;&amp; quadArray, const RefPtr&lt;InspectorObject&gt;* color, const RefPtr&lt;InspectorObject&gt;* outlineColor, const bool* usePageCoordinates)
</ins><span class="cx"> {
</span><span class="cx">     auto quad = std::make_unique&lt;FloatQuad&gt;();
</span><span class="cx">     if (!parseQuad(quadArray, quad.get())) {
</span><span class="cx">         errorString = ASCIILiteral(&quot;Invalid Quad format&quot;);
</span><span class="cx">         return;
</span><span class="cx">     }
</span><del>-    innerHighlightQuad(WTF::move(quad), color.copyRef(), outlineColor.copyRef(), usePageCoordinates);
</del><ins>+    innerHighlightQuad(WTF::move(quad), color, outlineColor, usePageCoordinates);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDOMAgent::innerHighlightQuad(std::unique_ptr&lt;FloatQuad&gt; quad, const RefPtr&lt;InspectorObject&gt;&amp;&amp; color, const RefPtr&lt;InspectorObject&gt;&amp;&amp; outlineColor, const bool* usePageCoordinates)
</del><ins>+void InspectorDOMAgent::innerHighlightQuad(std::unique_ptr&lt;FloatQuad&gt; quad, const RefPtr&lt;InspectorObject&gt;* color, const RefPtr&lt;InspectorObject&gt;* outlineColor, const bool* usePageCoordinates)
</ins><span class="cx"> {
</span><span class="cx">     auto highlightConfig = std::make_unique&lt;HighlightConfig&gt;();
</span><del>-    highlightConfig-&gt;content = parseColor(color.copyRef());
-    highlightConfig-&gt;contentOutline = parseColor(outlineColor.copyRef());
</del><ins>+    highlightConfig-&gt;content = parseColor(*color);
+    highlightConfig-&gt;contentOutline = parseColor(*outlineColor);
</ins><span class="cx">     highlightConfig-&gt;usePageCoordinates = usePageCoordinates ? *usePageCoordinates : false;
</span><span class="cx">     m_overlay-&gt;highlightQuad(WTF::move(quad), *highlightConfig);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDOMAgent::highlightNode(ErrorString&amp; errorString, const RefPtr&lt;InspectorObject&gt;&amp;&amp; highlightInspectorObject, const int* nodeId, const String* objectId)
</del><ins>+void InspectorDOMAgent::highlightNode(ErrorString&amp; errorString, const RefPtr&lt;InspectorObject&gt;&amp; highlightInspectorObject, const int* nodeId, const String* objectId)
</ins><span class="cx"> {
</span><span class="cx">     Node* node = 0;
</span><span class="cx">     if (nodeId) {
</span><span class="lines">@@ -1098,14 +1098,14 @@
</span><span class="cx">     m_overlay-&gt;highlightNode(node, *highlightConfig);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDOMAgent::highlightFrame(ErrorString&amp;, const String&amp; frameId, const RefPtr&lt;InspectorObject&gt;&amp;&amp; color, const RefPtr&lt;InspectorObject&gt;&amp;&amp; outlineColor)
</del><ins>+void InspectorDOMAgent::highlightFrame(ErrorString&amp;, const String&amp; frameId, const RefPtr&lt;InspectorObject&gt;* color, const RefPtr&lt;InspectorObject&gt;* outlineColor)
</ins><span class="cx"> {
</span><span class="cx">     Frame* frame = m_pageAgent-&gt;frameForId(frameId);
</span><span class="cx">     if (frame &amp;&amp; frame-&gt;ownerElement()) {
</span><span class="cx">         auto highlightConfig = std::make_unique&lt;HighlightConfig&gt;();
</span><span class="cx">         highlightConfig-&gt;showInfo = true; // Always show tooltips for frames.
</span><del>-        highlightConfig-&gt;content = parseColor(color.copyRef());
-        highlightConfig-&gt;contentOutline = parseColor(outlineColor.copyRef());
</del><ins>+        highlightConfig-&gt;content = parseColor(*color);
+        highlightConfig-&gt;contentOutline = parseColor(*outlineColor);
</ins><span class="cx">         m_overlay-&gt;highlightNode(frame-&gt;ownerElement(), *highlightConfig);
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="lines">@@ -1220,7 +1220,7 @@
</span><span class="cx">     return document-&gt;completeURL(&quot;&quot;).string();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;Inspector::Protocol::DOM::Node&gt; InspectorDOMAgent::buildObjectForNode(Node* node, int depth, NodeToIdMap* nodesMap)
</del><ins>+PassRefPtr&lt;Inspector::Protocol::DOM::Node&gt; InspectorDOMAgent::buildObjectForNode(Node* node, int depth, NodeToIdMap* nodesMap)
</ins><span class="cx"> {
</span><span class="cx">     int id = bind(node, nodesMap);
</span><span class="cx">     String nodeName;
</span><span class="lines">@@ -1253,20 +1253,19 @@
</span><span class="cx">         break;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    auto value = Inspector::Protocol::DOM::Node::create()
</del><ins>+    RefPtr&lt;Inspector::Protocol::DOM::Node&gt; value = Inspector::Protocol::DOM::Node::create()
</ins><span class="cx">         .setNodeId(id)
</span><span class="cx">         .setNodeType(static_cast&lt;int&gt;(node-&gt;nodeType()))
</span><span class="cx">         .setNodeName(nodeName)
</span><span class="cx">         .setLocalName(localName)
</span><del>-        .setNodeValue(nodeValue)
-        .release();
</del><ins>+        .setNodeValue(nodeValue);
</ins><span class="cx"> 
</span><span class="cx">     if (node-&gt;isContainerNode()) {
</span><span class="cx">         int nodeCount = innerChildNodeCount(node);
</span><span class="cx">         value-&gt;setChildNodeCount(nodeCount);
</span><del>-        Ref&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::DOM::Node&gt;&gt; children = buildArrayForContainerChildren(node, depth, nodesMap);
</del><ins>+        RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::DOM::Node&gt;&gt; children = buildArrayForContainerChildren(node, depth, nodesMap);
</ins><span class="cx">         if (children-&gt;length() &gt; 0)
</span><del>-            value-&gt;setChildren(WTF::move(children));
</del><ins>+            value-&gt;setChildren(children.release());
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (is&lt;Element&gt;(*node)) {
</span><span class="lines">@@ -1283,9 +1282,9 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         if (ShadowRoot* root = element.shadowRoot()) {
</span><del>-            auto shadowRoots = Inspector::Protocol::Array&lt;Inspector::Protocol::DOM::Node&gt;::create();
</del><ins>+            RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::DOM::Node&gt;&gt; shadowRoots = Inspector::Protocol::Array&lt;Inspector::Protocol::DOM::Node&gt;::create();
</ins><span class="cx">             shadowRoots-&gt;addItem(buildObjectForNode(root, 0, nodesMap));
</span><del>-            value-&gt;setShadowRoots(WTF::move(shadowRoots));
</del><ins>+            value-&gt;setShadowRoots(shadowRoots);
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(TEMPLATE_ELEMENT)
</span><span class="lines">@@ -1318,26 +1317,26 @@
</span><span class="cx">             value-&gt;setRole(axObject-&gt;computedRoleString());
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return WTF::move(value);
</del><ins>+    return value.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;Inspector::Protocol::Array&lt;String&gt;&gt; InspectorDOMAgent::buildArrayForElementAttributes(Element* element)
</del><ins>+PassRefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; InspectorDOMAgent::buildArrayForElementAttributes(Element* element)
</ins><span class="cx"> {
</span><del>-    auto attributesValue = Inspector::Protocol::Array&lt;String&gt;::create();
</del><ins>+    RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; attributesValue = Inspector::Protocol::Array&lt;String&gt;::create();
</ins><span class="cx">     // Go through all attributes and serialize them.
</span><span class="cx">     if (!element-&gt;hasAttributes())
</span><del>-        return WTF::move(attributesValue);
</del><ins>+        return attributesValue.release();
</ins><span class="cx">     for (const Attribute&amp; attribute : element-&gt;attributesIterator()) {
</span><span class="cx">         // Add attribute pair
</span><span class="cx">         attributesValue-&gt;addItem(attribute.name().toString());
</span><span class="cx">         attributesValue-&gt;addItem(attribute.value());
</span><span class="cx">     }
</span><del>-    return WTF::move(attributesValue);
</del><ins>+    return attributesValue.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::DOM::Node&gt;&gt; InspectorDOMAgent::buildArrayForContainerChildren(Node* container, int depth, NodeToIdMap* nodesMap)
</del><ins>+PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::DOM::Node&gt;&gt; InspectorDOMAgent::buildArrayForContainerChildren(Node* container, int depth, NodeToIdMap* nodesMap)
</ins><span class="cx"> {
</span><del>-    auto children = Inspector::Protocol::Array&lt;Inspector::Protocol::DOM::Node&gt;::create();
</del><ins>+    RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::DOM::Node&gt;&gt; children = Inspector::Protocol::Array&lt;Inspector::Protocol::DOM::Node&gt;::create();
</ins><span class="cx">     if (depth == 0) {
</span><span class="cx">         // Special-case the only text child - pretend that container's children have been requested.
</span><span class="cx">         Node* firstChild = container-&gt;firstChild();
</span><span class="lines">@@ -1345,7 +1344,7 @@
</span><span class="cx">             children-&gt;addItem(buildObjectForNode(firstChild, 0, nodesMap));
</span><span class="cx">             m_childrenRequested.add(bind(container, nodesMap));
</span><span class="cx">         }
</span><del>-        return WTF::move(children);
</del><ins>+        return children.release();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     Node* child = innerFirstChild(container);
</span><span class="lines">@@ -1356,10 +1355,10 @@
</span><span class="cx">         children-&gt;addItem(buildObjectForNode(child, depth, nodesMap));
</span><span class="cx">         child = innerNextSibling(child);
</span><span class="cx">     }
</span><del>-    return WTF::move(children);
</del><ins>+    return children.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;Inspector::Protocol::DOM::EventListener&gt; InspectorDOMAgent::buildObjectForEventListener(const RegisteredEventListener&amp; registeredEventListener, const AtomicString&amp; eventType, Node* node, const String* objectGroupId)
</del><ins>+PassRefPtr&lt;Inspector::Protocol::DOM::EventListener&gt; InspectorDOMAgent::buildObjectForEventListener(const RegisteredEventListener&amp; registeredEventListener, const AtomicString&amp; eventType, Node* node, const String* objectGroupId)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;EventListener&gt; eventListener = registeredEventListener.listener;
</span><span class="cx"> 
</span><span class="lines">@@ -1387,31 +1386,29 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    auto value = Inspector::Protocol::DOM::EventListener::create()
</del><ins>+    RefPtr&lt;Inspector::Protocol::DOM::EventListener&gt; value = Inspector::Protocol::DOM::EventListener::create()
</ins><span class="cx">         .setType(eventType)
</span><span class="cx">         .setUseCapture(registeredEventListener.useCapture)
</span><span class="cx">         .setIsAttribute(eventListener-&gt;isAttribute())
</span><span class="cx">         .setNodeId(pushNodePathToFrontend(node))
</span><del>-        .setHandlerBody(body)
-        .release();
</del><ins>+        .setHandlerBody(body);
</ins><span class="cx">     if (objectGroupId &amp;&amp; handler &amp;&amp; state) {
</span><span class="cx">         InjectedScript injectedScript = m_injectedScriptManager-&gt;injectedScriptFor(state);
</span><span class="cx">         if (!injectedScript.hasNoValue())
</span><span class="cx">             value-&gt;setHandler(injectedScript.wrapObject(Deprecated::ScriptValue(state-&gt;vm(), handler), *objectGroupId));
</span><span class="cx">     }
</span><span class="cx">     if (!scriptID.isNull()) {
</span><del>-        auto location = Inspector::Protocol::Debugger::Location::create()
</del><ins>+        RefPtr&lt;Inspector::Protocol::Debugger::Location&gt; location = Inspector::Protocol::Debugger::Location::create()
</ins><span class="cx">             .setScriptId(scriptID)
</span><del>-            .setLineNumber(lineNumber)
-            .release();
-        value-&gt;setLocation(WTF::move(location));
</del><ins>+            .setLineNumber(lineNumber);
+        value-&gt;setLocation(location.release());
</ins><span class="cx">         if (!sourceName.isEmpty())
</span><span class="cx">             value-&gt;setSourceName(sourceName);
</span><span class="cx">     }
</span><del>-    return WTF::move(value);
</del><ins>+    return value.release();
</ins><span class="cx"> }
</span><span class="cx">     
</span><del>-void InspectorDOMAgent::processAccessibilityChildren(RefPtr&lt;AccessibilityObject&gt;&amp;&amp; axObject, RefPtr&lt;Inspector::Protocol::Array&lt;int&gt;&gt;&amp;&amp; childNodeIds)
</del><ins>+void InspectorDOMAgent::processAccessibilityChildren(PassRefPtr&lt;AccessibilityObject&gt; axObject, RefPtr&lt;Inspector::Protocol::Array&lt;int&gt;&gt;&amp; childNodeIds)
</ins><span class="cx"> {
</span><span class="cx">     const auto&amp; children = axObject-&gt;children();
</span><span class="cx">     if (!children.size())
</span><span class="lines">@@ -1424,11 +1421,11 @@
</span><span class="cx">         if (Node* childNode = childObject-&gt;node())
</span><span class="cx">             childNodeIds-&gt;addItem(pushNodePathToFrontend(childNode));
</span><span class="cx">         else
</span><del>-            processAccessibilityChildren(childObject.copyRef(), childNodeIds.copyRef());
</del><ins>+            processAccessibilityChildren(childObject, childNodeIds);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-RefPtr&lt;Inspector::Protocol::DOM::AccessibilityProperties&gt; InspectorDOMAgent::buildObjectForAccessibilityProperties(Node* node)
</del><ins>+PassRefPtr&lt;Inspector::Protocol::DOM::AccessibilityProperties&gt; InspectorDOMAgent::buildObjectForAccessibilityProperties(Node* node)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(node);
</span><span class="cx">     if (!node)
</span><span class="lines">@@ -1439,7 +1436,7 @@
</span><span class="cx"> 
</span><span class="cx">     Node* activeDescendantNode = nullptr;
</span><span class="cx">     bool busy = false;
</span><del>-    auto checked = Inspector::Protocol::DOM::AccessibilityProperties::Checked::False;
</del><ins>+    Inspector::Protocol::DOM::AccessibilityProperties::Checked checked = Inspector::Protocol::DOM::AccessibilityProperties::Checked::False;
</ins><span class="cx">     RefPtr&lt;Inspector::Protocol::Array&lt;int&gt;&gt; childNodeIds;
</span><span class="cx">     RefPtr&lt;Inspector::Protocol::Array&lt;int&gt;&gt; controlledNodeIds;
</span><span class="cx">     bool exists = false;
</span><span class="lines">@@ -1449,12 +1446,12 @@
</span><span class="cx">     bool focused = false;
</span><span class="cx">     bool ignored = true;
</span><span class="cx">     bool ignoredByDefault = false;
</span><del>-    auto invalid = Inspector::Protocol::DOM::AccessibilityProperties::Invalid::False;
</del><ins>+    Inspector::Protocol::DOM::AccessibilityProperties::Invalid invalid = Inspector::Protocol::DOM::AccessibilityProperties::Invalid::False;
</ins><span class="cx">     bool hidden = false;
</span><span class="cx">     String label;
</span><span class="cx">     bool liveRegionAtomic = false;
</span><span class="cx">     RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; liveRegionRelevant;
</span><del>-    auto liveRegionStatus = Inspector::Protocol::DOM::AccessibilityProperties::LiveRegionStatus::Off;
</del><ins>+    Inspector::Protocol::DOM::AccessibilityProperties::LiveRegionStatus liveRegionStatus = Inspector::Protocol::DOM::AccessibilityProperties::LiveRegionStatus::Off;
</ins><span class="cx">     Node* mouseEventNode = nullptr;
</span><span class="cx">     RefPtr&lt;Inspector::Protocol::Array&lt;int&gt;&gt; ownedNodeIds;
</span><span class="cx">     Node* parentNode = nullptr;
</span><span class="lines">@@ -1495,7 +1492,7 @@
</span><span class="cx">                     checked = Inspector::Protocol::DOM::AccessibilityProperties::Checked::True;
</span><span class="cx">             }
</span><span class="cx">             
</span><del>-            processAccessibilityChildren(axObject, WTF::move(childNodeIds));
</del><ins>+            processAccessibilityChildren(axObject, childNodeIds);
</ins><span class="cx">             
</span><span class="cx">             if (axObject-&gt;supportsARIAControls()) {
</span><span class="cx">                 Vector&lt;Element*&gt; controlledElements;
</span><span class="lines">@@ -1625,12 +1622,11 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    Ref&lt;Inspector::Protocol::DOM::AccessibilityProperties&gt; value = Inspector::Protocol::DOM::AccessibilityProperties::create()
</del><ins>+    RefPtr&lt;Inspector::Protocol::DOM::AccessibilityProperties&gt; value = Inspector::Protocol::DOM::AccessibilityProperties::create()
</ins><span class="cx">         .setExists(exists)
</span><span class="cx">         .setLabel(label)
</span><span class="cx">         .setRole(role)
</span><del>-        .setNodeId(pushNodePathToFrontend(node))
-        .release();
</del><ins>+        .setNodeId(pushNodePathToFrontend(node));
</ins><span class="cx"> 
</span><span class="cx">     if (exists) {
</span><span class="cx">         if (activeDescendantNode)
</span><span class="lines">@@ -1683,7 +1679,7 @@
</span><span class="cx">             value-&gt;setSelectedChildNodeIds(selectedChildNodeIds);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return WTF::move(value);
</del><ins>+    return value.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> Node* InspectorDOMAgent::innerFirstChild(Node* node)
</span><span class="lines">@@ -1758,10 +1754,10 @@
</span><span class="cx">     m_frontendDispatcher-&gt;childNodeRemoved(parentId, frameOwnerId);
</span><span class="cx">     unbind(frameOwner, &amp;m_documentNodeToIdMap);
</span><span class="cx"> 
</span><del>-    Ref&lt;Inspector::Protocol::DOM::Node&gt; value = buildObjectForNode(frameOwner, 0, &amp;m_documentNodeToIdMap);
</del><ins>+    RefPtr&lt;Inspector::Protocol::DOM::Node&gt; value = buildObjectForNode(frameOwner, 0, &amp;m_documentNodeToIdMap);
</ins><span class="cx">     Node* previousSibling = innerPreviousSibling(frameOwner);
</span><span class="cx">     int prevId = previousSibling ? m_documentNodeToIdMap.get(previousSibling) : 0;
</span><del>-    m_frontendDispatcher-&gt;childNodeInserted(parentId, prevId, WTF::move(value));
</del><ins>+    m_frontendDispatcher-&gt;childNodeInserted(parentId, prevId, value.release());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorDOMAgent::didInsertDOMNode(Node&amp; node)
</span><span class="lines">@@ -1788,8 +1784,8 @@
</span><span class="cx">         // Children have been requested -&gt; return value of a new child.
</span><span class="cx">         Node* prevSibling = innerPreviousSibling(&amp;node);
</span><span class="cx">         int prevId = prevSibling ? m_documentNodeToIdMap.get(prevSibling) : 0;
</span><del>-        Ref&lt;Inspector::Protocol::DOM::Node&gt; value = buildObjectForNode(&amp;node, 0, &amp;m_documentNodeToIdMap);
-        m_frontendDispatcher-&gt;childNodeInserted(parentId, prevId, WTF::move(value));
</del><ins>+        RefPtr&lt;Inspector::Protocol::DOM::Node&gt; value = buildObjectForNode(&amp;node, 0, &amp;m_documentNodeToIdMap);
+        m_frontendDispatcher-&gt;childNodeInserted(parentId, prevId, value.release());
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1853,7 +1849,7 @@
</span><span class="cx"> 
</span><span class="cx"> void InspectorDOMAgent::styleAttributeInvalidated(const Vector&lt;Element*&gt;&amp; elements)
</span><span class="cx"> {
</span><del>-    auto nodeIds = Inspector::Protocol::Array&lt;int&gt;::create();
</del><ins>+    RefPtr&lt;Inspector::Protocol::Array&lt;int&gt;&gt; nodeIds = Inspector::Protocol::Array&lt;int&gt;::create();
</ins><span class="cx">     for (unsigned i = 0, size = elements.size(); i &lt; size; ++i) {
</span><span class="cx">         Element* element = elements.at(i);
</span><span class="cx">         int id = boundNodeId(element);
</span><span class="lines">@@ -1865,7 +1861,7 @@
</span><span class="cx">             m_domListener-&gt;didModifyDOMAttr(element);
</span><span class="cx">         nodeIds-&gt;addItem(id);
</span><span class="cx">     }
</span><del>-    m_frontendDispatcher-&gt;inlineStyleInvalidated(WTF::move(nodeIds));
</del><ins>+    m_frontendDispatcher-&gt;inlineStyleInvalidated(nodeIds.release());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorDOMAgent::characterDataModified(CharacterData&amp; characterData)
</span><span class="lines">@@ -1988,7 +1984,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt; InspectorDOMAgent::resolveNode(Node* node, const String&amp; objectGroup)
</del><ins>+PassRefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt; InspectorDOMAgent::resolveNode(Node* node, const String&amp; objectGroup)
</ins><span class="cx"> {
</span><span class="cx">     Frame* frame = node-&gt;document().frame();
</span><span class="cx">     if (!frame)
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDOMAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDOMAgent.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDOMAgent.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorDOMAgent.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -132,21 +132,21 @@
</span><span class="cx">     virtual void setNodeValue(ErrorString&amp;, int nodeId, const String&amp; value) override;
</span><span class="cx">     virtual void getEventListenersForNode(ErrorString&amp;, int nodeId, const WTF::String* objectGroup, RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::DOM::EventListener&gt;&gt;&amp; listenersArray) override;
</span><span class="cx">     virtual void getAccessibilityPropertiesForNode(ErrorString&amp;, int nodeId, RefPtr&lt;Inspector::Protocol::DOM::AccessibilityProperties&gt;&amp; axProperties) override;
</span><del>-    virtual void performSearch(ErrorString&amp;, const String&amp; whitespaceTrimmedQuery, const RefPtr&lt;Inspector::InspectorArray&gt;&amp;&amp; nodeIds, String* searchId, int* resultCount) override;
</del><ins>+    virtual void performSearch(ErrorString&amp;, const String&amp; whitespaceTrimmedQuery, const RefPtr&lt;Inspector::InspectorArray&gt;* nodeIds, String* searchId, int* resultCount) override;
</ins><span class="cx">     virtual void getSearchResults(ErrorString&amp;, const String&amp; searchId, int fromIndex, int toIndex, RefPtr&lt;Inspector::Protocol::Array&lt;int&gt;&gt;&amp;) override;
</span><span class="cx">     virtual void discardSearchResults(ErrorString&amp;, const String&amp; searchId) override;
</span><span class="cx">     virtual void resolveNode(ErrorString&amp;, int nodeId, const String* objectGroup, RefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt;&amp; result) override;
</span><span class="cx">     virtual void getAttributes(ErrorString&amp;, int nodeId, RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt;&amp; result) override;
</span><del>-    virtual void setInspectModeEnabled(ErrorString&amp;, bool enabled, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; highlightConfig) override;
</del><ins>+    virtual void setInspectModeEnabled(ErrorString&amp;, bool enabled, const RefPtr&lt;Inspector::InspectorObject&gt;* highlightConfig) override;
</ins><span class="cx">     virtual void requestNode(ErrorString&amp;, const String&amp; objectId, int* nodeId) override;
</span><span class="cx">     virtual void pushNodeByPathToFrontend(ErrorString&amp;, const String&amp; path, int* nodeId) override;
</span><span class="cx">     virtual void pushNodeByBackendIdToFrontend(ErrorString&amp;, BackendNodeId, int* nodeId) override;
</span><span class="cx">     virtual void releaseBackendNodeIds(ErrorString&amp;, const String&amp; nodeGroup) override;
</span><span class="cx">     virtual void hideHighlight(ErrorString&amp;) override;
</span><del>-    virtual void highlightRect(ErrorString&amp;, int x, int y, int width, int height, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; color, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; outlineColor, const bool* usePageCoordinates) override;
-    virtual void highlightQuad(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorArray&gt;&amp;&amp; quad, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; color, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; outlineColor, const bool* usePageCoordinates) override;
-    virtual void highlightNode(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; highlightConfig, const int* nodeId, const String* objectId) override;
-    virtual void highlightFrame(ErrorString&amp;, const String&amp; frameId, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; color, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; outlineColor) override;
</del><ins>+    virtual void highlightRect(ErrorString&amp;, int x, int y, int width, int height, const RefPtr&lt;Inspector::InspectorObject&gt;* color, const RefPtr&lt;Inspector::InspectorObject&gt;* outlineColor, const bool* usePageCoordinates) override;
+    virtual void highlightQuad(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorArray&gt;&amp; quad, const RefPtr&lt;Inspector::InspectorObject&gt;* color, const RefPtr&lt;Inspector::InspectorObject&gt;* outlineColor, const bool* usePageCoordinates) override;
+    virtual void highlightNode(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorObject&gt;&amp; highlightConfig, const int* nodeId, const String* objectId) override;
+    virtual void highlightFrame(ErrorString&amp;, const String&amp; frameId, const RefPtr&lt;Inspector::InspectorObject&gt;* color, const RefPtr&lt;Inspector::InspectorObject&gt;* outlineColor) override;
</ins><span class="cx"> 
</span><span class="cx">     virtual void moveTo(ErrorString&amp;, int nodeId, int targetNodeId, const int* anchorNodeId, int* newNodeId) override;
</span><span class="cx">     virtual void undo(ErrorString&amp;) override;
</span><span class="lines">@@ -186,7 +186,7 @@
</span><span class="cx"> 
</span><span class="cx">     static String documentURLString(Document*);
</span><span class="cx"> 
</span><del>-    RefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt; resolveNode(Node*, const String&amp; objectGroup);
</del><ins>+    PassRefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt; resolveNode(Node*, const String&amp; objectGroup);
</ins><span class="cx">     bool handleMousePress();
</span><span class="cx">     void mouseDidMoveOverElement(const HitTestResult&amp;, unsigned modifierFlags);
</span><span class="cx">     void inspect(Node*);
</span><span class="lines">@@ -230,20 +230,21 @@
</span><span class="cx"> 
</span><span class="cx">     bool hasBreakpoint(Node*, int type);
</span><span class="cx">     void updateSubtreeBreakpoints(Node* root, uint32_t rootMask, bool value);
</span><ins>+    void descriptionForDOMEvent(Node* target, int breakpointType, bool insertion, PassRefPtr&lt;Inspector::InspectorObject&gt; description);
</ins><span class="cx"> 
</span><del>-    Ref&lt;Inspector::Protocol::DOM::Node&gt; buildObjectForNode(Node*, int depth, NodeToIdMap*);
-    Ref&lt;Inspector::Protocol::Array&lt;String&gt;&gt; buildArrayForElementAttributes(Element*);
-    Ref&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::DOM::Node&gt;&gt; buildArrayForContainerChildren(Node* container, int depth, NodeToIdMap* nodesMap);
-    Ref&lt;Inspector::Protocol::DOM::EventListener&gt; buildObjectForEventListener(const RegisteredEventListener&amp;, const AtomicString&amp; eventType, Node*, const String* objectGroupId);
-    RefPtr&lt;Inspector::Protocol::DOM::AccessibilityProperties&gt; buildObjectForAccessibilityProperties(Node*);
-    void processAccessibilityChildren(RefPtr&lt;AccessibilityObject&gt;&amp;&amp;, RefPtr&lt;Inspector::Protocol::Array&lt;int&gt;&gt;&amp;&amp;);
</del><ins>+    PassRefPtr&lt;Inspector::Protocol::DOM::Node&gt; buildObjectForNode(Node*, int depth, NodeToIdMap*);
+    PassRefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; buildArrayForElementAttributes(Element*);
+    PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::DOM::Node&gt;&gt; buildArrayForContainerChildren(Node* container, int depth, NodeToIdMap* nodesMap);
+    PassRefPtr&lt;Inspector::Protocol::DOM::EventListener&gt; buildObjectForEventListener(const RegisteredEventListener&amp;, const AtomicString&amp; eventType, Node*, const String* objectGroupId);
+    PassRefPtr&lt;Inspector::Protocol::DOM::AccessibilityProperties&gt; buildObjectForAccessibilityProperties(Node*);
+    void processAccessibilityChildren(PassRefPtr&lt;AccessibilityObject&gt;, RefPtr&lt;Inspector::Protocol::Array&lt;int&gt;&gt;&amp;);
</ins><span class="cx">     
</span><span class="cx">     Node* nodeForPath(const String&amp; path);
</span><span class="cx">     Node* nodeForObjectId(const String&amp; objectId);
</span><span class="cx"> 
</span><span class="cx">     void discardBindings();
</span><span class="cx"> 
</span><del>-    void innerHighlightQuad(std::unique_ptr&lt;FloatQuad&gt;, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; color, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; outlineColor, const bool* usePageCoordinates);
</del><ins>+    void innerHighlightQuad(std::unique_ptr&lt;FloatQuad&gt;, const RefPtr&lt;Inspector::InspectorObject&gt;* color, const RefPtr&lt;Inspector::InspectorObject&gt;* outlineColor, const bool* usePageCoordinates);
</ins><span class="cx"> 
</span><span class="cx">     InspectorPageAgent* m_pageAgent;
</span><span class="cx">     Inspector::InjectedScriptManager* m_injectedScriptManager;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDOMDebuggerAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -170,9 +170,9 @@
</span><span class="cx"> void InspectorDOMDebuggerAgent::didInvalidateStyleAttr(Node&amp; node)
</span><span class="cx"> {
</span><span class="cx">     if (hasBreakpoint(&amp;node, AttributeModified)) {
</span><del>-        Ref&lt;InspectorObject&gt; eventData = InspectorObject::create();
-        descriptionForDOMEvent(node, AttributeModified, false, eventData.get());
-        m_debuggerAgent-&gt;breakProgram(InspectorDebuggerFrontendDispatcher::Reason::DOM, WTF::move(eventData));
</del><ins>+        RefPtr&lt;InspectorObject&gt; eventData = InspectorObject::create();
+        descriptionForDOMEvent(&amp;node, AttributeModified, false, eventData.get());
+        m_debuggerAgent-&gt;breakProgram(InspectorDebuggerFrontendDispatcher::Reason::DOM, eventData.release());
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -270,9 +270,9 @@
</span><span class="cx"> void InspectorDOMDebuggerAgent::willInsertDOMNode(Node&amp; parent)
</span><span class="cx"> {
</span><span class="cx">     if (hasBreakpoint(&amp;parent, SubtreeModified)) {
</span><del>-        Ref&lt;InspectorObject&gt; eventData = InspectorObject::create();
-        descriptionForDOMEvent(parent, SubtreeModified, true, eventData.get());
-        m_debuggerAgent-&gt;breakProgram(InspectorDebuggerFrontendDispatcher::Reason::DOM, WTF::move(eventData));
</del><ins>+        RefPtr&lt;InspectorObject&gt; eventData = InspectorObject::create();
+        descriptionForDOMEvent(&amp;parent, SubtreeModified, true, eventData.get());
+        m_debuggerAgent-&gt;breakProgram(InspectorDebuggerFrontendDispatcher::Reason::DOM, eventData.release());
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -280,39 +280,39 @@
</span><span class="cx"> {
</span><span class="cx">     Node* parentNode = InspectorDOMAgent::innerParentNode(&amp;node);
</span><span class="cx">     if (hasBreakpoint(&amp;node, NodeRemoved)) {
</span><del>-        Ref&lt;InspectorObject&gt; eventData = InspectorObject::create();
-        descriptionForDOMEvent(node, NodeRemoved, false, eventData.get());
-        m_debuggerAgent-&gt;breakProgram(InspectorDebuggerFrontendDispatcher::Reason::DOM, WTF::move(eventData));
</del><ins>+        RefPtr&lt;InspectorObject&gt; eventData = InspectorObject::create();
+        descriptionForDOMEvent(&amp;node, NodeRemoved, false, eventData.get());
+        m_debuggerAgent-&gt;breakProgram(InspectorDebuggerFrontendDispatcher::Reason::DOM, eventData.release());
</ins><span class="cx">     } else if (parentNode &amp;&amp; hasBreakpoint(parentNode, SubtreeModified)) {
</span><del>-        Ref&lt;InspectorObject&gt; eventData = InspectorObject::create();
-        descriptionForDOMEvent(node, SubtreeModified, false, eventData.get());
-        m_debuggerAgent-&gt;breakProgram(InspectorDebuggerFrontendDispatcher::Reason::DOM, WTF::move(eventData));
</del><ins>+        RefPtr&lt;InspectorObject&gt; eventData = InspectorObject::create();
+        descriptionForDOMEvent(&amp;node, SubtreeModified, false, eventData.get());
+        m_debuggerAgent-&gt;breakProgram(InspectorDebuggerFrontendDispatcher::Reason::DOM, eventData.release());
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorDOMDebuggerAgent::willModifyDOMAttr(Element&amp; element)
</span><span class="cx"> {
</span><span class="cx">     if (hasBreakpoint(&amp;element, AttributeModified)) {
</span><del>-        Ref&lt;InspectorObject&gt; eventData = InspectorObject::create();
-        descriptionForDOMEvent(element, AttributeModified, false, eventData.get());
-        m_debuggerAgent-&gt;breakProgram(InspectorDebuggerFrontendDispatcher::Reason::DOM, WTF::move(eventData));
</del><ins>+        RefPtr&lt;InspectorObject&gt; eventData = InspectorObject::create();
+        descriptionForDOMEvent(&amp;element, AttributeModified, false, eventData.get());
+        m_debuggerAgent-&gt;breakProgram(InspectorDebuggerFrontendDispatcher::Reason::DOM, eventData.release());
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDOMDebuggerAgent::descriptionForDOMEvent(Node&amp; target, int breakpointType, bool insertion, InspectorObject&amp; description)
</del><ins>+void InspectorDOMDebuggerAgent::descriptionForDOMEvent(Node* target, int breakpointType, bool insertion, InspectorObject* description)
</ins><span class="cx"> {
</span><del>-    ASSERT(hasBreakpoint(&amp;target, breakpointType));
</del><ins>+    ASSERT(hasBreakpoint(target, breakpointType));
</ins><span class="cx"> 
</span><del>-    Node* breakpointOwner = &amp;target;
</del><ins>+    Node* breakpointOwner = target;
</ins><span class="cx">     if ((1 &lt;&lt; breakpointType) &amp; inheritableDOMBreakpointTypesMask) {
</span><span class="cx">         // For inheritable breakpoint types, target node isn't always the same as the node that owns a breakpoint.
</span><span class="cx">         // Target node may be unknown to frontend, so we need to push it first.
</span><del>-        RefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt; targetNodeObject = m_domAgent-&gt;resolveNode(&amp;target, InspectorDebuggerAgent::backtraceObjectGroup);
-        description.setValue(&quot;targetNode&quot;, targetNodeObject);
</del><ins>+        RefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt; targetNodeObject = m_domAgent-&gt;resolveNode(target, InspectorDebuggerAgent::backtraceObjectGroup);
+        description-&gt;setValue(&quot;targetNode&quot;, targetNodeObject);
</ins><span class="cx"> 
</span><span class="cx">         // Find breakpoint owner node.
</span><span class="cx">         if (!insertion)
</span><del>-            breakpointOwner = InspectorDOMAgent::innerParentNode(&amp;target);
</del><ins>+            breakpointOwner = InspectorDOMAgent::innerParentNode(target);
</ins><span class="cx">         ASSERT(breakpointOwner);
</span><span class="cx">         while (!(m_domBreakpoints.get(breakpointOwner) &amp; (1 &lt;&lt; breakpointType))) {
</span><span class="cx">             Node* parentNode = InspectorDOMAgent::innerParentNode(breakpointOwner);
</span><span class="lines">@@ -322,13 +322,13 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         if (breakpointType == SubtreeModified)
</span><del>-            description.setBoolean(&quot;insertion&quot;, insertion);
</del><ins>+            description-&gt;setBoolean(&quot;insertion&quot;, insertion);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     int breakpointOwnerNodeId = m_domAgent-&gt;boundNodeId(breakpointOwner);
</span><span class="cx">     ASSERT(breakpointOwnerNodeId);
</span><del>-    description.setInteger(&quot;nodeId&quot;, breakpointOwnerNodeId);
-    description.setString(&quot;type&quot;, domTypeName(breakpointType));
</del><ins>+    description-&gt;setInteger(&quot;nodeId&quot;, breakpointOwnerNodeId);
+    description-&gt;setString(&quot;type&quot;, domTypeName(breakpointType));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool InspectorDOMDebuggerAgent::hasBreakpoint(Node* node, int type)
</span><span class="lines">@@ -366,12 +366,12 @@
</span><span class="cx">             return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    Ref&lt;InspectorObject&gt; eventData = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; eventData = InspectorObject::create();
</ins><span class="cx">     eventData-&gt;setString(&quot;eventName&quot;, fullEventName);
</span><span class="cx">     if (synchronous)
</span><del>-        m_debuggerAgent-&gt;breakProgram(InspectorDebuggerFrontendDispatcher::Reason::EventListener, WTF::move(eventData));
</del><ins>+        m_debuggerAgent-&gt;breakProgram(InspectorDebuggerFrontendDispatcher::Reason::EventListener, eventData.release());
</ins><span class="cx">     else
</span><del>-        m_debuggerAgent-&gt;schedulePauseOnNextStatement(InspectorDebuggerFrontendDispatcher::Reason::EventListener, WTF::move(eventData));
</del><ins>+        m_debuggerAgent-&gt;schedulePauseOnNextStatement(InspectorDebuggerFrontendDispatcher::Reason::EventListener, eventData.release());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorDOMDebuggerAgent::setXHRBreakpoint(ErrorString&amp;, const String&amp; url)
</span><span class="lines">@@ -411,10 +411,10 @@
</span><span class="cx">     if (breakpointURL.isNull())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    Ref&lt;InspectorObject&gt; eventData = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; eventData = InspectorObject::create();
</ins><span class="cx">     eventData-&gt;setString(&quot;breakpointURL&quot;, breakpointURL);
</span><span class="cx">     eventData-&gt;setString(&quot;url&quot;, url);
</span><del>-    m_debuggerAgent-&gt;breakProgram(InspectorDebuggerFrontendDispatcher::Reason::XHR, WTF::move(eventData));
</del><ins>+    m_debuggerAgent-&gt;breakProgram(InspectorDebuggerFrontendDispatcher::Reason::XHR, eventData.release());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorDOMDebuggerAgent::clear()
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDOMDebuggerAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -92,7 +92,7 @@
</span><span class="cx">     virtual void didPause() override;
</span><span class="cx">     void disable();
</span><span class="cx"> 
</span><del>-    void descriptionForDOMEvent(Node&amp; target, int breakpointType, bool insertion, Inspector::InspectorObject&amp; description);
</del><ins>+    void descriptionForDOMEvent(Node* target, int breakpointType, bool insertion, Inspector::InspectorObject* description);
</ins><span class="cx">     void updateSubtreeBreakpoints(Node*, uint32_t rootMask, bool set);
</span><span class="cx">     bool hasBreakpoint(Node*, int type);
</span><span class="cx">     void discardBindings();
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDOMStorageAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDOMStorageAgent.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDOMStorageAgent.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorDOMStorageAgent.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -94,34 +94,34 @@
</span><span class="cx">     m_enabled = false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDOMStorageAgent::getDOMStorageItems(ErrorString&amp; errorString, const RefPtr&lt;InspectorObject&gt;&amp;&amp; storageId, RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Array&lt;String&gt;&gt;&gt;&amp; items)
</del><ins>+void InspectorDOMStorageAgent::getDOMStorageItems(ErrorString&amp; errorString, const RefPtr&lt;InspectorObject&gt;&amp; storageId, RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Array&lt;String&gt;&gt;&gt;&amp; items)
</ins><span class="cx"> {
</span><span class="cx">     Frame* frame;
</span><del>-    RefPtr&lt;StorageArea&gt; storageArea = findStorageArea(errorString, storageId.copyRef(), frame);
</del><ins>+    RefPtr&lt;StorageArea&gt; storageArea = findStorageArea(errorString, storageId, frame);
</ins><span class="cx">     if (!storageArea) {
</span><span class="cx">         errorString = ASCIILiteral(&quot;No StorageArea for given storageId&quot;);
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    auto storageItems = Inspector::Protocol::Array&lt;Inspector::Protocol::Array&lt;String&gt;&gt;::create();
</del><ins>+    RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Array&lt;String&gt;&gt;&gt; storageItems = Inspector::Protocol::Array&lt;Inspector::Protocol::Array&lt;String&gt;&gt;::create();
</ins><span class="cx"> 
</span><span class="cx">     for (unsigned i = 0; i &lt; storageArea-&gt;length(); ++i) {
</span><span class="cx">         String key = storageArea-&gt;key(i);
</span><span class="cx">         String value = storageArea-&gt;item(key);
</span><span class="cx"> 
</span><del>-        auto entry = Inspector::Protocol::Array&lt;String&gt;::create();
</del><ins>+        RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; entry = Inspector::Protocol::Array&lt;String&gt;::create();
</ins><span class="cx">         entry-&gt;addItem(key);
</span><span class="cx">         entry-&gt;addItem(value);
</span><del>-        storageItems-&gt;addItem(WTF::move(entry));
</del><ins>+        storageItems-&gt;addItem(entry.release());
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    items = WTF::move(storageItems);
</del><ins>+    items = storageItems.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDOMStorageAgent::setDOMStorageItem(ErrorString&amp; errorString, const RefPtr&lt;InspectorObject&gt;&amp;&amp; storageId, const String&amp; key, const String&amp; value)
</del><ins>+void InspectorDOMStorageAgent::setDOMStorageItem(ErrorString&amp; errorString, const RefPtr&lt;InspectorObject&gt;&amp; storageId, const String&amp; key, const String&amp; value)
</ins><span class="cx"> {
</span><span class="cx">     Frame* frame;
</span><del>-    RefPtr&lt;StorageArea&gt; storageArea = findStorageArea(errorString, storageId.copyRef(), frame);
</del><ins>+    RefPtr&lt;StorageArea&gt; storageArea = findStorageArea(errorString, storageId, frame);
</ins><span class="cx">     if (!storageArea) {
</span><span class="cx">         errorString = ASCIILiteral(&quot;Storage not found&quot;);
</span><span class="cx">         return;
</span><span class="lines">@@ -133,10 +133,10 @@
</span><span class="cx">         errorString = ExceptionCodeDescription(QUOTA_EXCEEDED_ERR).name;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDOMStorageAgent::removeDOMStorageItem(ErrorString&amp; errorString, const RefPtr&lt;InspectorObject&gt;&amp;&amp; storageId, const String&amp; key)
</del><ins>+void InspectorDOMStorageAgent::removeDOMStorageItem(ErrorString&amp; errorString, const RefPtr&lt;InspectorObject&gt;&amp; storageId, const String&amp; key)
</ins><span class="cx"> {
</span><span class="cx">     Frame* frame;
</span><del>-    RefPtr&lt;StorageArea&gt; storageArea = findStorageArea(errorString, storageId.copyRef(), frame);
</del><ins>+    RefPtr&lt;StorageArea&gt; storageArea = findStorageArea(errorString, storageId, frame);
</ins><span class="cx">     if (!storageArea) {
</span><span class="cx">         errorString = ASCIILiteral(&quot;Storage not found&quot;);
</span><span class="cx">         return;
</span><span class="lines">@@ -157,12 +157,11 @@
</span><span class="cx">     return storageId(securityOrigin.get(), isLocalStorage)-&gt;toJSONString();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;Inspector::Protocol::DOMStorage::StorageId&gt; InspectorDOMStorageAgent::storageId(SecurityOrigin* securityOrigin, bool isLocalStorage)
</del><ins>+PassRefPtr&lt;Inspector::Protocol::DOMStorage::StorageId&gt; InspectorDOMStorageAgent::storageId(SecurityOrigin* securityOrigin, bool isLocalStorage)
</ins><span class="cx"> {
</span><span class="cx">     return Inspector::Protocol::DOMStorage::StorageId::create()
</span><span class="cx">         .setSecurityOrigin(securityOrigin-&gt;toRawString())
</span><del>-        .setIsLocalStorage(isLocalStorage)
-        .release();
</del><ins>+        .setIsLocalStorage(isLocalStorage).release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorDOMStorageAgent::didDispatchDOMStorageEvent(const String&amp; key, const String&amp; oldValue, const String&amp; newValue, StorageType storageType, SecurityOrigin* securityOrigin, Page*)
</span><span class="lines">@@ -182,7 +181,7 @@
</span><span class="cx">         m_frontendDispatcher-&gt;domStorageItemUpdated(id, key, oldValue, newValue);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;StorageArea&gt; InspectorDOMStorageAgent::findStorageArea(ErrorString&amp; errorString, const RefPtr&lt;InspectorObject&gt;&amp;&amp; storageId, Frame*&amp; targetFrame)
</del><ins>+PassRefPtr&lt;StorageArea&gt; InspectorDOMStorageAgent::findStorageArea(ErrorString&amp; errorString, const RefPtr&lt;InspectorObject&gt;&amp; storageId, Frame*&amp; targetFrame)
</ins><span class="cx"> {
</span><span class="cx">     String securityOrigin;
</span><span class="cx">     bool isLocalStorage = false;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDOMStorageAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDOMStorageAgent.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDOMStorageAgent.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorDOMStorageAgent.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -63,19 +63,19 @@
</span><span class="cx">     // Called from the front-end.
</span><span class="cx">     virtual void enable(ErrorString&amp;) override;
</span><span class="cx">     virtual void disable(ErrorString&amp;) override;
</span><del>-    virtual void getDOMStorageItems(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; storageId, RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Array&lt;String&gt;&gt;&gt;&amp; items) override;
-    virtual void setDOMStorageItem(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; storageId, const String&amp; key, const String&amp; value) override;
-    virtual void removeDOMStorageItem(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; storageId, const String&amp; key) override;
</del><ins>+    virtual void getDOMStorageItems(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorObject&gt;&amp; storageId, RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Array&lt;String&gt;&gt;&gt;&amp; items) override;
+    virtual void setDOMStorageItem(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorObject&gt;&amp; storageId, const String&amp; key, const String&amp; value) override;
+    virtual void removeDOMStorageItem(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorObject&gt;&amp; storageId, const String&amp; key) override;
</ins><span class="cx"> 
</span><span class="cx">     // Called from the injected script.
</span><span class="cx">     String storageId(Storage*);
</span><del>-    RefPtr&lt;Inspector::Protocol::DOMStorage::StorageId&gt; storageId(SecurityOrigin*, bool isLocalStorage);
</del><ins>+    PassRefPtr&lt;Inspector::Protocol::DOMStorage::StorageId&gt; storageId(SecurityOrigin*, bool isLocalStorage);
</ins><span class="cx"> 
</span><span class="cx">     // Called from InspectorInstrumentation
</span><span class="cx">     void didDispatchDOMStorageEvent(const String&amp; key, const String&amp; oldValue, const String&amp; newValue, StorageType, SecurityOrigin*, Page*);
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    RefPtr&lt;StorageArea&gt; findStorageArea(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp;, Frame*&amp;);
</del><ins>+    PassRefPtr&lt;StorageArea&gt; findStorageArea(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;, Frame*&amp;);
</ins><span class="cx"> 
</span><span class="cx">     InspectorPageAgent* m_pageAgent;
</span><span class="cx">     std::unique_ptr&lt;Inspector::InspectorDOMStorageFrontendDispatcher&gt; m_frontendDispatcher;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDatabaseAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDatabaseAgent.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDatabaseAgent.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorDatabaseAgent.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -58,20 +58,19 @@
</span><span class="cx"> 
</span><span class="cx"> namespace {
</span><span class="cx"> 
</span><del>-void reportTransactionFailed(ExecuteSQLCallback&amp; requestCallback, SQLError* error)
</del><ins>+void reportTransactionFailed(ExecuteSQLCallback* requestCallback, SQLError* error)
</ins><span class="cx"> {
</span><del>-    auto errorObject = Inspector::Protocol::Database::Error::create()
</del><ins>+    RefPtr&lt;Inspector::Protocol::Database::Error&gt; errorObject = Inspector::Protocol::Database::Error::create()
</ins><span class="cx">         .setMessage(error-&gt;message())
</span><del>-        .setCode(error-&gt;code())
-        .release();
-    requestCallback.sendSuccess(nullptr, nullptr, WTF::move(errorObject));
</del><ins>+        .setCode(error-&gt;code());
+    requestCallback-&gt;sendSuccess(nullptr, nullptr, errorObject.release());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> class StatementCallback : public SQLStatementCallback {
</span><span class="cx"> public:
</span><del>-    static Ref&lt;StatementCallback&gt; create(Ref&lt;ExecuteSQLCallback&gt;&amp;&amp; requestCallback)
</del><ins>+    static PassRefPtr&lt;StatementCallback&gt; create(PassRefPtr&lt;ExecuteSQLCallback&gt; requestCallback)
</ins><span class="cx">     {
</span><del>-        return adoptRef(*new StatementCallback(WTF::move(requestCallback)));
</del><ins>+        return adoptRef(new StatementCallback(requestCallback));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     virtual ~StatementCallback() { }
</span><span class="lines">@@ -80,60 +79,57 @@
</span><span class="cx">     {
</span><span class="cx">         SQLResultSetRowList* rowList = resultSet-&gt;rows();
</span><span class="cx"> 
</span><del>-        auto columnNames = Inspector::Protocol::Array&lt;String&gt;::create();
</del><ins>+        RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; columnNames = Inspector::Protocol::Array&lt;String&gt;::create();
</ins><span class="cx">         const Vector&lt;String&gt;&amp; columns = rowList-&gt;columnNames();
</span><span class="cx">         for (size_t i = 0; i &lt; columns.size(); ++i)
</span><span class="cx">             columnNames-&gt;addItem(columns[i]);
</span><span class="cx"> 
</span><del>-        auto values = Inspector::Protocol::Array&lt;InspectorValue&gt;::create();
</del><ins>+        RefPtr&lt;Inspector::Protocol::Array&lt;InspectorValue&gt;&gt; values = Inspector::Protocol::Array&lt;InspectorValue&gt;::create();
</ins><span class="cx">         const Vector&lt;SQLValue&gt;&amp; data = rowList-&gt;values();
</span><span class="cx">         for (size_t i = 0; i &lt; data.size(); ++i) {
</span><span class="cx">             const SQLValue&amp; value = rowList-&gt;values()[i];
</span><del>-            RefPtr&lt;InspectorValue&gt; inspectorValue;
</del><span class="cx">             switch (value.type()) {
</span><del>-            case SQLValue::StringValue: inspectorValue = InspectorString::create(value.string()); break;
-            case SQLValue::NumberValue: inspectorValue = InspectorBasicValue::create(value.number()); break;
-            case SQLValue::NullValue: inspectorValue = InspectorValue::null(); break;
</del><ins>+            case SQLValue::StringValue: values-&gt;addItem(InspectorString::create(value.string())); break;
+            case SQLValue::NumberValue: values-&gt;addItem(InspectorBasicValue::create(value.number())); break;
+            case SQLValue::NullValue: values-&gt;addItem(InspectorValue::null()); break;
</ins><span class="cx">             }
</span><del>-            
-            values-&gt;addItem(WTF::move(inspectorValue));
</del><span class="cx">         }
</span><del>-        m_requestCallback-&gt;sendSuccess(WTF::move(columnNames), WTF::move(values), nullptr);
</del><ins>+        m_requestCallback-&gt;sendSuccess(columnNames.release(), values.release(), nullptr);
</ins><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    StatementCallback(Ref&lt;ExecuteSQLCallback&gt;&amp;&amp; requestCallback)
-        : m_requestCallback(WTF::move(requestCallback)) { }
-    Ref&lt;ExecuteSQLCallback&gt; m_requestCallback;
</del><ins>+    StatementCallback(PassRefPtr&lt;ExecuteSQLCallback&gt; requestCallback)
+        : m_requestCallback(requestCallback) { }
+    RefPtr&lt;ExecuteSQLCallback&gt; m_requestCallback;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class StatementErrorCallback : public SQLStatementErrorCallback {
</span><span class="cx"> public:
</span><del>-    static Ref&lt;StatementErrorCallback&gt; create(Ref&lt;ExecuteSQLCallback&gt;&amp;&amp; requestCallback)
</del><ins>+    static PassRefPtr&lt;StatementErrorCallback&gt; create(PassRefPtr&lt;ExecuteSQLCallback&gt; requestCallback)
</ins><span class="cx">     {
</span><del>-        return adoptRef(*new StatementErrorCallback(WTF::move(requestCallback)));
</del><ins>+        return adoptRef(new StatementErrorCallback(requestCallback));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     virtual ~StatementErrorCallback() { }
</span><span class="cx"> 
</span><span class="cx">     virtual bool handleEvent(SQLTransaction*, SQLError* error) override
</span><span class="cx">     {
</span><del>-        reportTransactionFailed(m_requestCallback.copyRef(), error);
</del><ins>+        reportTransactionFailed(m_requestCallback.get(), error);
</ins><span class="cx">         return true;  
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    StatementErrorCallback(Ref&lt;ExecuteSQLCallback&gt;&amp;&amp; requestCallback)
-        : m_requestCallback(WTF::move(requestCallback)) { }
-    Ref&lt;ExecuteSQLCallback&gt; m_requestCallback;
</del><ins>+    StatementErrorCallback(PassRefPtr&lt;ExecuteSQLCallback&gt; requestCallback)
+        : m_requestCallback(requestCallback) { }
+    RefPtr&lt;ExecuteSQLCallback&gt; m_requestCallback;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class TransactionCallback : public SQLTransactionCallback {
</span><span class="cx"> public:
</span><del>-    static Ref&lt;TransactionCallback&gt; create(const String&amp; sqlStatement, Ref&lt;ExecuteSQLCallback&gt;&amp;&amp; requestCallback)
</del><ins>+    static PassRefPtr&lt;TransactionCallback&gt; create(const String&amp; sqlStatement, PassRefPtr&lt;ExecuteSQLCallback&gt; requestCallback)
</ins><span class="cx">     {
</span><del>-        return adoptRef(*new TransactionCallback(sqlStatement, WTF::move(requestCallback)));
</del><ins>+        return adoptRef(new TransactionCallback(sqlStatement, requestCallback));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     virtual ~TransactionCallback() { }
</span><span class="lines">@@ -144,24 +140,24 @@
</span><span class="cx">             return true;
</span><span class="cx"> 
</span><span class="cx">         Vector&lt;SQLValue&gt; sqlValues;
</span><del>-        Ref&lt;SQLStatementCallback&gt; callback(StatementCallback::create(m_requestCallback.copyRef()));
-        Ref&lt;SQLStatementErrorCallback&gt; errorCallback(StatementErrorCallback::create(m_requestCallback.copyRef()));
-        transaction-&gt;executeSQL(m_sqlStatement, sqlValues, WTF::move(callback), WTF::move(errorCallback), IGNORE_EXCEPTION);
</del><ins>+        RefPtr&lt;SQLStatementCallback&gt; callback(StatementCallback::create(m_requestCallback.get()));
+        RefPtr&lt;SQLStatementErrorCallback&gt; errorCallback(StatementErrorCallback::create(m_requestCallback.get()));
+        transaction-&gt;executeSQL(m_sqlStatement, sqlValues, callback.release(), errorCallback.release(), IGNORE_EXCEPTION);
</ins><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx"> private:
</span><del>-    TransactionCallback(const String&amp; sqlStatement, Ref&lt;ExecuteSQLCallback&gt;&amp;&amp; requestCallback)
</del><ins>+    TransactionCallback(const String&amp; sqlStatement, PassRefPtr&lt;ExecuteSQLCallback&gt; requestCallback)
</ins><span class="cx">         : m_sqlStatement(sqlStatement)
</span><del>-        , m_requestCallback(WTF::move(requestCallback)) { }
</del><ins>+        , m_requestCallback(requestCallback) { }
</ins><span class="cx">     String m_sqlStatement;
</span><del>-    Ref&lt;ExecuteSQLCallback&gt; m_requestCallback;
</del><ins>+    RefPtr&lt;ExecuteSQLCallback&gt; m_requestCallback;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class TransactionErrorCallback : public SQLTransactionErrorCallback {
</span><span class="cx"> public:
</span><del>-    static Ref&lt;TransactionErrorCallback&gt; create(Ref&lt;ExecuteSQLCallback&gt;&amp;&amp; requestCallback)
</del><ins>+    static PassRefPtr&lt;TransactionErrorCallback&gt; create(PassRefPtr&lt;ExecuteSQLCallback&gt; requestCallback)
</ins><span class="cx">     {
</span><del>-        return adoptRef(*new TransactionErrorCallback(WTF::move(requestCallback)));
</del><ins>+        return adoptRef(new TransactionErrorCallback(requestCallback));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     virtual ~TransactionErrorCallback() { }
</span><span class="lines">@@ -172,16 +168,16 @@
</span><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx"> private:
</span><del>-    TransactionErrorCallback(Ref&lt;ExecuteSQLCallback&gt;&amp;&amp; requestCallback)
-        : m_requestCallback(WTF::move(requestCallback)) { }
-    Ref&lt;ExecuteSQLCallback&gt; m_requestCallback;
</del><ins>+    TransactionErrorCallback(PassRefPtr&lt;ExecuteSQLCallback&gt; requestCallback)
+        : m_requestCallback(requestCallback) { }
+    RefPtr&lt;ExecuteSQLCallback&gt; m_requestCallback;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class TransactionSuccessCallback : public VoidCallback {
</span><span class="cx"> public:
</span><del>-    static Ref&lt;TransactionSuccessCallback&gt; create()
</del><ins>+    static PassRefPtr&lt;TransactionSuccessCallback&gt; create()
</ins><span class="cx">     {
</span><del>-        return adoptRef(*new TransactionSuccessCallback());
</del><ins>+        return adoptRef(new TransactionSuccessCallback());
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     virtual ~TransactionSuccessCallback() { }
</span><span class="lines">@@ -276,8 +272,10 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDatabaseAgent::executeSQL(ErrorString&amp;, const String&amp; databaseId, const String&amp; query, Ref&lt;ExecuteSQLCallback&gt;&amp;&amp; requestCallback)
</del><ins>+void InspectorDatabaseAgent::executeSQL(ErrorString&amp;, const String&amp; databaseId, const String&amp; query, PassRefPtr&lt;ExecuteSQLCallback&gt; prpRequestCallback)
</ins><span class="cx"> {
</span><ins>+    RefPtr&lt;ExecuteSQLCallback&gt; requestCallback = prpRequestCallback;
+
</ins><span class="cx">     if (!m_enabled) {
</span><span class="cx">         requestCallback-&gt;sendFailure(&quot;Database agent is not enabled&quot;);
</span><span class="cx">         return;
</span><span class="lines">@@ -289,10 +287,10 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    Ref&lt;SQLTransactionCallback&gt; callback(TransactionCallback::create(query, requestCallback.get()));
-    Ref&lt;SQLTransactionErrorCallback&gt; errorCallback(TransactionErrorCallback::create(requestCallback.get()));
-    Ref&lt;VoidCallback&gt; successCallback(TransactionSuccessCallback::create());
-    database-&gt;transaction(WTF::move(callback), WTF::move(errorCallback), WTF::move(successCallback));
</del><ins>+    RefPtr&lt;SQLTransactionCallback&gt; callback(TransactionCallback::create(query, requestCallback.get()));
+    RefPtr&lt;SQLTransactionErrorCallback&gt; errorCallback(TransactionErrorCallback::create(requestCallback.get()));
+    RefPtr&lt;VoidCallback&gt; successCallback(TransactionSuccessCallback::create());
+    database-&gt;transaction(callback.release(), errorCallback.release(), successCallback.release());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> String InspectorDatabaseAgent::databaseId(Database* database)
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDatabaseAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDatabaseAgent.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDatabaseAgent.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorDatabaseAgent.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -64,7 +64,7 @@
</span><span class="cx">     virtual void enable(ErrorString&amp;) override;
</span><span class="cx">     virtual void disable(ErrorString&amp;) override;
</span><span class="cx">     virtual void getDatabaseTableNames(ErrorString&amp;, const String&amp; databaseId, RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt;&amp; names) override;
</span><del>-    virtual void executeSQL(ErrorString&amp;, const String&amp; databaseId, const String&amp; query, Ref&lt;ExecuteSQLCallback&gt;&amp;&amp;) override;
</del><ins>+    virtual void executeSQL(ErrorString&amp;, const String&amp; databaseId, const String&amp; query, PassRefPtr&lt;ExecuteSQLCallback&gt;) override;
</ins><span class="cx"> 
</span><span class="cx">     // Called from the injected script.
</span><span class="cx">     String databaseId(Database*);
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDatabaseInstrumentationh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDatabaseInstrumentation.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDatabaseInstrumentation.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorDatabaseInstrumentation.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -38,11 +38,11 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(SQL_DATABASE)
</span><del>-inline void InspectorInstrumentation::didOpenDatabase(ScriptExecutionContext* context, RefPtr&lt;Database&gt;&amp;&amp; database, const String&amp; domain, const String&amp; name, const String&amp; version)
</del><ins>+inline void InspectorInstrumentation::didOpenDatabase(ScriptExecutionContext* context, PassRefPtr&lt;Database&gt; database, const String&amp; domain, const String&amp; name, const String&amp; version)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx">     if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForContext(context))
</span><del>-        didOpenDatabaseImpl(*instrumentingAgents, WTF::move(database), domain, name, version);
</del><ins>+        didOpenDatabaseImpl(*instrumentingAgents, database, domain, name, version);
</ins><span class="cx"> #else
</span><span class="cx">     UNUSED_PARAM(context);
</span><span class="cx">     UNUSED_PARAM(database);
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDatabaseResourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDatabaseResource.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDatabaseResource.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorDatabaseResource.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -43,12 +43,12 @@
</span><span class="cx"> 
</span><span class="cx"> static int nextUnusedId = 1;
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorDatabaseResource&gt; InspectorDatabaseResource::create(RefPtr&lt;Database&gt;&amp;&amp; database, const String&amp; domain, const String&amp; name, const String&amp; version)
</del><ins>+PassRefPtr&lt;InspectorDatabaseResource&gt; InspectorDatabaseResource::create(PassRefPtr&lt;Database&gt; database, const String&amp; domain, const String&amp; name, const String&amp; version)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new InspectorDatabaseResource(WTF::move(database), domain, name, version));
</del><ins>+    return adoptRef(new InspectorDatabaseResource(database, domain, name, version));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-InspectorDatabaseResource::InspectorDatabaseResource(RefPtr&lt;Database&gt;&amp;&amp; database, const String&amp; domain, const String&amp; name, const String&amp; version)
</del><ins>+InspectorDatabaseResource::InspectorDatabaseResource(PassRefPtr&lt;Database&gt; database, const String&amp; domain, const String&amp; name, const String&amp; version)
</ins><span class="cx">     : m_database(database)
</span><span class="cx">     , m_id(String::number(nextUnusedId++))
</span><span class="cx">     , m_domain(domain)
</span><span class="lines">@@ -59,13 +59,12 @@
</span><span class="cx"> 
</span><span class="cx"> void InspectorDatabaseResource::bind(InspectorDatabaseFrontendDispatcher* databaseFrontendDispatcher)
</span><span class="cx"> {
</span><del>-    auto jsonObject = Inspector::Protocol::Database::Database::create()
</del><ins>+    RefPtr&lt;Inspector::Protocol::Database::Database&gt; jsonObject = Inspector::Protocol::Database::Database::create()
</ins><span class="cx">         .setId(m_id)
</span><span class="cx">         .setDomain(m_domain)
</span><span class="cx">         .setName(m_name)
</span><del>-        .setVersion(m_version)
-        .release();
-    databaseFrontendDispatcher-&gt;addDatabase(WTF::move(jsonObject));
</del><ins>+        .setVersion(m_version);
+    databaseFrontendDispatcher-&gt;addDatabase(jsonObject);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDatabaseResourceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDatabaseResource.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDatabaseResource.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorDatabaseResource.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -34,6 +34,7 @@
</span><span class="cx"> #if ENABLE(SQL_DATABASE) &amp;&amp; ENABLE(INSPECTOR)
</span><span class="cx"> 
</span><span class="cx"> #include &lt;inspector/InspectorFrontendDispatchers.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/RefCounted.h&gt;
</span><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="lines">@@ -44,15 +45,15 @@
</span><span class="cx"> 
</span><span class="cx"> class InspectorDatabaseResource : public RefCounted&lt;InspectorDatabaseResource&gt; {
</span><span class="cx"> public:
</span><del>-    static Ref&lt;InspectorDatabaseResource&gt; create(RefPtr&lt;Database&gt;&amp;&amp;, const String&amp; domain, const String&amp; name, const String&amp; version);
</del><ins>+    static PassRefPtr&lt;InspectorDatabaseResource&gt; create(PassRefPtr&lt;Database&gt; database, const String&amp; domain, const String&amp; name, const String&amp; version);
</ins><span class="cx"> 
</span><span class="cx">     void bind(Inspector::InspectorDatabaseFrontendDispatcher*);
</span><span class="cx">     Database* database() { return m_database.get(); }
</span><del>-    void setDatabase(RefPtr&lt;Database&gt;&amp;&amp; database) { m_database = database; }
</del><ins>+    void setDatabase(PassRefPtr&lt;Database&gt; database) { m_database = database; }
</ins><span class="cx">     String id() const { return m_id; }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    InspectorDatabaseResource(RefPtr&lt;Database&gt;&amp;&amp;, const String&amp; domain, const String&amp; name, const String&amp; version);
</del><ins>+    InspectorDatabaseResource(PassRefPtr&lt;Database&gt;, const String&amp; domain, const String&amp; name, const String&amp; version);
</ins><span class="cx"> 
</span><span class="cx">     RefPtr&lt;Database&gt; m_database;
</span><span class="cx">     String m_id;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorFrontendHosth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorFrontendHost.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorFrontendHost.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorFrontendHost.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -45,9 +45,9 @@
</span><span class="cx"> 
</span><span class="cx"> class InspectorFrontendHost : public RefCounted&lt;InspectorFrontendHost&gt; {
</span><span class="cx"> public:
</span><del>-    static Ref&lt;InspectorFrontendHost&gt; create(InspectorFrontendClient* client, Page* frontendPage)
</del><ins>+    static PassRefPtr&lt;InspectorFrontendHost&gt; create(InspectorFrontendClient* client, Page* frontendPage)
</ins><span class="cx">     {
</span><del>-        return adoptRef(*new InspectorFrontendHost(client, frontendPage));
</del><ins>+        return adoptRef(new InspectorFrontendHost(client, frontendPage));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     WEBCORE_EXPORT ~InspectorFrontendHost();
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorIndexedDBAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -92,9 +92,9 @@
</span><span class="cx"> class GetDatabaseNamesCallback : public EventListener {
</span><span class="cx">     WTF_MAKE_NONCOPYABLE(GetDatabaseNamesCallback);
</span><span class="cx"> public:
</span><del>-    static Ref&lt;GetDatabaseNamesCallback&gt; create(Ref&lt;RequestDatabaseNamesCallback&gt;&amp;&amp; requestCallback, const String&amp; securityOrigin)
</del><ins>+    static PassRefPtr&lt;GetDatabaseNamesCallback&gt; create(PassRefPtr&lt;RequestDatabaseNamesCallback&gt; requestCallback, const String&amp; securityOrigin)
</ins><span class="cx">     {
</span><del>-        return adoptRef(*new GetDatabaseNamesCallback(WTF::move(requestCallback), securityOrigin));
</del><ins>+        return adoptRef(new GetDatabaseNamesCallback(requestCallback, securityOrigin));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     virtual ~GetDatabaseNamesCallback() { }
</span><span class="lines">@@ -126,18 +126,18 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         RefPtr&lt;DOMStringList&gt; databaseNamesList = requestResult-&gt;domStringList();
</span><del>-        Ref&lt;Inspector::Protocol::Array&lt;String&gt;&gt; databaseNames = Inspector::Protocol::Array&lt;String&gt;::create();
</del><ins>+        RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; databaseNames = Inspector::Protocol::Array&lt;String&gt;::create();
</ins><span class="cx">         for (size_t i = 0; i &lt; databaseNamesList-&gt;length(); ++i)
</span><span class="cx">             databaseNames-&gt;addItem(databaseNamesList-&gt;item(i));
</span><del>-        m_requestCallback-&gt;sendSuccess(WTF::move(databaseNames));
</del><ins>+        m_requestCallback-&gt;sendSuccess(databaseNames.release());
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    GetDatabaseNamesCallback(Ref&lt;RequestDatabaseNamesCallback&gt;&amp;&amp; requestCallback, const String&amp; securityOrigin)
</del><ins>+    GetDatabaseNamesCallback(PassRefPtr&lt;RequestDatabaseNamesCallback&gt; requestCallback, const String&amp; securityOrigin)
</ins><span class="cx">         : EventListener(EventListener::CPPEventListenerType)
</span><del>-        , m_requestCallback(WTF::move(requestCallback))
</del><ins>+        , m_requestCallback(requestCallback)
</ins><span class="cx">         , m_securityOrigin(securityOrigin) { }
</span><del>-    Ref&lt;RequestDatabaseNamesCallback&gt; m_requestCallback;
</del><ins>+    RefPtr&lt;RequestDatabaseNamesCallback&gt; m_requestCallback;
</ins><span class="cx">     String m_securityOrigin;
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="lines">@@ -147,8 +147,8 @@
</span><span class="cx">         : m_context(context) { }
</span><span class="cx">     virtual ~ExecutableWithDatabase() { };
</span><span class="cx">     void start(IDBFactory*, SecurityOrigin*, const String&amp; databaseName);
</span><del>-    virtual void execute(RefPtr&lt;IDBDatabase&gt;&amp;&amp;) = 0;
-    virtual RequestCallback&amp; requestCallback() = 0;
</del><ins>+    virtual void execute(PassRefPtr&lt;IDBDatabase&gt;) = 0;
+    virtual RequestCallback* requestCallback() = 0;
</ins><span class="cx">     ScriptExecutionContext* context() { return m_context; };
</span><span class="cx"> private:
</span><span class="cx">     ScriptExecutionContext* m_context;
</span><span class="lines">@@ -156,9 +156,9 @@
</span><span class="cx"> 
</span><span class="cx"> class OpenDatabaseCallback : public EventListener {
</span><span class="cx"> public:
</span><del>-    static Ref&lt;OpenDatabaseCallback&gt; create(ExecutableWithDatabase* executableWithDatabase)
</del><ins>+    static PassRefPtr&lt;OpenDatabaseCallback&gt; create(ExecutableWithDatabase* executableWithDatabase)
</ins><span class="cx">     {
</span><del>-        return adoptRef(*new OpenDatabaseCallback(executableWithDatabase));
</del><ins>+        return adoptRef(new OpenDatabaseCallback(executableWithDatabase));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     virtual ~OpenDatabaseCallback() { }
</span><span class="lines">@@ -171,7 +171,7 @@
</span><span class="cx">     virtual void handleEvent(ScriptExecutionContext*, Event* event) override
</span><span class="cx">     {
</span><span class="cx">         if (event-&gt;type() != eventNames().successEvent) {
</span><del>-            m_executableWithDatabase-&gt;requestCallback().sendFailure(&quot;Unexpected event type.&quot;);
</del><ins>+            m_executableWithDatabase-&gt;requestCallback()-&gt;sendFailure(&quot;Unexpected event type.&quot;);
</ins><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="lines">@@ -179,16 +179,16 @@
</span><span class="cx">         ExceptionCode ec = 0;
</span><span class="cx">         RefPtr&lt;IDBAny&gt; requestResult = idbOpenDBRequest-&gt;result(ec);
</span><span class="cx">         if (ec) {
</span><del>-            m_executableWithDatabase-&gt;requestCallback().sendFailure(&quot;Could not get result in callback.&quot;);
</del><ins>+            m_executableWithDatabase-&gt;requestCallback()-&gt;sendFailure(&quot;Could not get result in callback.&quot;);
</ins><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx">         if (requestResult-&gt;type() != IDBAny::IDBDatabaseType) {
</span><del>-            m_executableWithDatabase-&gt;requestCallback().sendFailure(&quot;Unexpected result type.&quot;);
</del><ins>+            m_executableWithDatabase-&gt;requestCallback()-&gt;sendFailure(&quot;Unexpected result type.&quot;);
</ins><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         RefPtr&lt;IDBDatabase&gt; idbDatabase = requestResult-&gt;idbDatabase();
</span><del>-        m_executableWithDatabase-&gt;execute(WTF::move(idbDatabase));
</del><ins>+        m_executableWithDatabase-&gt;execute(idbDatabase);
</ins><span class="cx">         IDBPendingTransactionMonitor::deactivateNewTransactions();
</span><span class="cx">         idbDatabase-&gt;close();
</span><span class="cx">     }
</span><span class="lines">@@ -202,136 +202,127 @@
</span><span class="cx"> 
</span><span class="cx"> void ExecutableWithDatabase::start(IDBFactory* idbFactory, SecurityOrigin*, const String&amp; databaseName)
</span><span class="cx"> {
</span><del>-    Ref&lt;OpenDatabaseCallback&gt; callback = OpenDatabaseCallback::create(this);
</del><ins>+    RefPtr&lt;OpenDatabaseCallback&gt; callback = OpenDatabaseCallback::create(this);
</ins><span class="cx">     ExceptionCode ec = 0;
</span><span class="cx">     RefPtr&lt;IDBOpenDBRequest&gt; idbOpenDBRequest = idbFactory-&gt;open(context(), databaseName, ec);
</span><span class="cx">     if (ec) {
</span><del>-        requestCallback().sendFailure(&quot;Could not open database.&quot;);
</del><ins>+        requestCallback()-&gt;sendFailure(&quot;Could not open database.&quot;);
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><del>-    idbOpenDBRequest-&gt;addEventListener(eventNames().successEvent, WTF::move(callback), false);
</del><ins>+    idbOpenDBRequest-&gt;addEventListener(eventNames().successEvent, callback, false);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static RefPtr&lt;IDBTransaction&gt; transactionForDatabase(ScriptExecutionContext* scriptExecutionContext, IDBDatabase* idbDatabase, const String&amp; objectStoreName, const String&amp; mode = IDBTransaction::modeReadOnly())
</del><ins>+static PassRefPtr&lt;IDBTransaction&gt; transactionForDatabase(ScriptExecutionContext* scriptExecutionContext, IDBDatabase* idbDatabase, const String&amp; objectStoreName, const String&amp; mode = IDBTransaction::modeReadOnly())
</ins><span class="cx"> {
</span><span class="cx">     ExceptionCode ec = 0;
</span><span class="cx">     RefPtr&lt;IDBTransaction&gt; idbTransaction = idbDatabase-&gt;transaction(scriptExecutionContext, objectStoreName, mode, ec);
</span><span class="cx">     if (ec)
</span><span class="cx">         return nullptr;
</span><del>-    return WTF::move(idbTransaction);
</del><ins>+    return idbTransaction;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static RefPtr&lt;IDBObjectStore&gt; objectStoreForTransaction(IDBTransaction* idbTransaction, const String&amp; objectStoreName)
</del><ins>+static PassRefPtr&lt;IDBObjectStore&gt; objectStoreForTransaction(IDBTransaction* idbTransaction, const String&amp; objectStoreName)
</ins><span class="cx"> {
</span><span class="cx">     ExceptionCode ec = 0;
</span><span class="cx">     RefPtr&lt;IDBObjectStore&gt; idbObjectStore = idbTransaction-&gt;objectStore(objectStoreName, ec);
</span><span class="cx">     if (ec)
</span><span class="cx">         return nullptr;
</span><del>-    return WTF::move(idbObjectStore);
</del><ins>+    return idbObjectStore;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static RefPtr&lt;IDBIndex&gt; indexForObjectStore(IDBObjectStore* idbObjectStore, const String&amp; indexName)
</del><ins>+static PassRefPtr&lt;IDBIndex&gt; indexForObjectStore(IDBObjectStore* idbObjectStore, const String&amp; indexName)
</ins><span class="cx"> {
</span><span class="cx">     ExceptionCode ec = 0;
</span><span class="cx">     RefPtr&lt;IDBIndex&gt; idbIndex = idbObjectStore-&gt;index(indexName, ec);
</span><span class="cx">     if (ec)
</span><span class="cx">         return nullptr;
</span><del>-    return WTF::move(idbIndex);
</del><ins>+    return idbIndex;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static RefPtr&lt;KeyPath&gt; keyPathFromIDBKeyPath(const IDBKeyPath&amp; idbKeyPath)
</del><ins>+static PassRefPtr&lt;KeyPath&gt; keyPathFromIDBKeyPath(const IDBKeyPath&amp; idbKeyPath)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;KeyPath&gt; keyPath;
</span><span class="cx">     switch (idbKeyPath.type()) {
</span><span class="cx">     case IDBKeyPath::NullType:
</span><del>-        keyPath = KeyPath::create()
-            .setType(KeyPath::Type::Null)
-            .release();
</del><ins>+        keyPath = KeyPath::create().setType(KeyPath::Type::Null);
</ins><span class="cx">         break;
</span><span class="cx">     case IDBKeyPath::StringType:
</span><del>-        keyPath = KeyPath::create()
-            .setType(KeyPath::Type::String)
-            .release();
</del><ins>+        keyPath = KeyPath::create().setType(KeyPath::Type::String);
</ins><span class="cx">         keyPath-&gt;setString(idbKeyPath.string());
</span><del>-
</del><span class="cx">         break;
</span><span class="cx">     case IDBKeyPath::ArrayType: {
</span><del>-        auto array = Inspector::Protocol::Array&lt;String&gt;::create();
</del><ins>+        keyPath = KeyPath::create().setType(KeyPath::Type::Array);
+        RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; array = Inspector::Protocol::Array&lt;String&gt;::create();
</ins><span class="cx">         const Vector&lt;String&gt;&amp; stringArray = idbKeyPath.array();
</span><span class="cx">         for (size_t i = 0; i &lt; stringArray.size(); ++i)
</span><span class="cx">             array-&gt;addItem(stringArray[i]);
</span><del>-        keyPath = KeyPath::create()
-            .setType(KeyPath::Type::Array)
-            .release();
-        keyPath-&gt;setArray(WTF::move(array));
</del><ins>+        keyPath-&gt;setArray(array);
</ins><span class="cx">         break;
</span><span class="cx">     }
</span><span class="cx">     default:
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return WTF::move(keyPath);
</del><ins>+    return keyPath.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> class DatabaseLoader : public ExecutableWithDatabase {
</span><span class="cx"> public:
</span><del>-    static Ref&lt;DatabaseLoader&gt; create(ScriptExecutionContext* context, Ref&lt;RequestDatabaseCallback&gt;&amp;&amp; requestCallback)
</del><ins>+    static PassRefPtr&lt;DatabaseLoader&gt; create(ScriptExecutionContext* context, PassRefPtr&lt;RequestDatabaseCallback&gt; requestCallback)
</ins><span class="cx">     {
</span><del>-        return adoptRef(*new DatabaseLoader(context, WTF::move(requestCallback)));
</del><ins>+        return adoptRef(new DatabaseLoader(context, requestCallback));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     virtual ~DatabaseLoader() { }
</span><span class="cx"> 
</span><del>-    virtual void execute(RefPtr&lt;IDBDatabase&gt;&amp;&amp; database) override
</del><ins>+    virtual void execute(PassRefPtr&lt;IDBDatabase&gt; prpDatabase) override
</ins><span class="cx">     {
</span><del>-        if (!requestCallback().isActive())
</del><ins>+        RefPtr&lt;IDBDatabase&gt; idbDatabase = prpDatabase;
+        if (!requestCallback()-&gt;isActive())
</ins><span class="cx">             return;
</span><span class="cx"> 
</span><del>-        const IDBDatabaseMetadata databaseMetadata = database-&gt;metadata();
</del><ins>+        const IDBDatabaseMetadata databaseMetadata = idbDatabase-&gt;metadata();
</ins><span class="cx"> 
</span><del>-        auto objectStores = Inspector::Protocol::Array&lt;Inspector::Protocol::IndexedDB::ObjectStore&gt;::create();
</del><ins>+        RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::IndexedDB::ObjectStore&gt;&gt; objectStores = Inspector::Protocol::Array&lt;Inspector::Protocol::IndexedDB::ObjectStore&gt;::create();
</ins><span class="cx"> 
</span><span class="cx">         for (const IDBObjectStoreMetadata&amp; objectStoreMetadata : databaseMetadata.objectStores.values()) {
</span><del>-            auto indexes = Inspector::Protocol::Array&lt;Inspector::Protocol::IndexedDB::ObjectStoreIndex&gt;::create();
</del><ins>+            RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::IndexedDB::ObjectStoreIndex&gt;&gt; indexes = Inspector::Protocol::Array&lt;Inspector::Protocol::IndexedDB::ObjectStoreIndex&gt;::create();
</ins><span class="cx"> 
</span><span class="cx">             for (const IDBIndexMetadata&amp; indexMetadata : objectStoreMetadata.indexes.values()) {
</span><del>-                Ref&lt;ObjectStoreIndex&gt; objectStoreIndex = ObjectStoreIndex::create()
</del><ins>+                RefPtr&lt;ObjectStoreIndex&gt; objectStoreIndex = ObjectStoreIndex::create()
</ins><span class="cx">                     .setName(indexMetadata.name)
</span><span class="cx">                     .setKeyPath(keyPathFromIDBKeyPath(indexMetadata.keyPath))
</span><span class="cx">                     .setUnique(indexMetadata.unique)
</span><del>-                    .setMultiEntry(indexMetadata.multiEntry)
-                    .release();
-                indexes-&gt;addItem(WTF::move(objectStoreIndex));
</del><ins>+                    .setMultiEntry(indexMetadata.multiEntry);
+                indexes-&gt;addItem(objectStoreIndex);
</ins><span class="cx">             }
</span><span class="cx"> 
</span><del>-            Ref&lt;ObjectStore&gt; objectStore = ObjectStore::create()
</del><ins>+            RefPtr&lt;ObjectStore&gt; objectStore = ObjectStore::create()
</ins><span class="cx">                 .setName(objectStoreMetadata.name)
</span><span class="cx">                 .setKeyPath(keyPathFromIDBKeyPath(objectStoreMetadata.keyPath))
</span><span class="cx">                 .setAutoIncrement(objectStoreMetadata.autoIncrement)
</span><del>-                .setIndexes(WTF::move(indexes))
-                .release();
</del><ins>+                .setIndexes(indexes);
</ins><span class="cx"> 
</span><del>-            objectStores-&gt;addItem(WTF::move(objectStore));
</del><ins>+            objectStores-&gt;addItem(objectStore);
</ins><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Ref&lt;DatabaseWithObjectStores&gt; result = DatabaseWithObjectStores::create()
</del><ins>+        RefPtr&lt;DatabaseWithObjectStores&gt; result = DatabaseWithObjectStores::create()
</ins><span class="cx">             .setName(databaseMetadata.name)
</span><span class="cx">             .setVersion(databaseMetadata.version)
</span><del>-            .setObjectStores(WTF::move(objectStores))
-            .release();
</del><ins>+            .setObjectStores(objectStores);
</ins><span class="cx"> 
</span><del>-        m_requestCallback-&gt;sendSuccess(WTF::move(result));
</del><ins>+        m_requestCallback-&gt;sendSuccess(result);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    virtual RequestCallback&amp; requestCallback() override { return m_requestCallback.get(); }
</del><ins>+    virtual RequestCallback* requestCallback() override { return m_requestCallback.get(); }
</ins><span class="cx"> private:
</span><del>-    DatabaseLoader(ScriptExecutionContext* context, Ref&lt;RequestDatabaseCallback&gt;&amp;&amp; requestCallback)
</del><ins>+    DatabaseLoader(ScriptExecutionContext* context, PassRefPtr&lt;RequestDatabaseCallback&gt; requestCallback)
</ins><span class="cx">         : ExecutableWithDatabase(context)
</span><del>-        , m_requestCallback(WTF::move(requestCallback)) { }
-    Ref&lt;RequestDatabaseCallback&gt; m_requestCallback;
</del><ins>+        , m_requestCallback(requestCallback) { }
+    RefPtr&lt;RequestDatabaseCallback&gt; m_requestCallback;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static RefPtr&lt;IDBKey&gt; idbKeyFromInspectorObject(InspectorObject* key)
</del><ins>+static PassRefPtr&lt;IDBKey&gt; idbKeyFromInspectorObject(InspectorObject* key)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;IDBKey&gt; idbKey;
</span><span class="cx"> 
</span><span class="lines">@@ -361,9 +352,7 @@
</span><span class="cx">         idbKey = IDBKey::createDate(date);
</span><span class="cx">     } else if (type == arrayType) {
</span><span class="cx">         IDBKey::KeyArray keyArray;
</span><del>-        RefPtr&lt;InspectorArray&gt; array;
-        if (!key-&gt;getArray(&quot;array&quot;, array))
-            return nullptr;
</del><ins>+        RefPtr&lt;InspectorArray&gt; array = key-&gt;getArray(&quot;array&quot;);
</ins><span class="cx">         for (size_t i = 0; i &lt; array-&gt;length(); ++i) {
</span><span class="cx">             RefPtr&lt;InspectorValue&gt; value = array-&gt;get(i);
</span><span class="cx">             RefPtr&lt;InspectorObject&gt; object;
</span><span class="lines">@@ -378,21 +367,17 @@
</span><span class="cx">     return idbKey.release();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static RefPtr&lt;IDBKeyRange&gt; idbKeyRangeFromKeyRange(InspectorObject* keyRange)
</del><ins>+static PassRefPtr&lt;IDBKeyRange&gt; idbKeyRangeFromKeyRange(InspectorObject* keyRange)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; lower;
-    if (!keyRange-&gt;getObject(&quot;lower&quot;, lower))
</del><ins>+    RefPtr&lt;InspectorObject&gt; lower = keyRange-&gt;getObject(&quot;lower&quot;);
+    RefPtr&lt;IDBKey&gt; idbLower = lower ? idbKeyFromInspectorObject(lower.get()) : nullptr;
+    if (lower &amp;&amp; !idbLower)
</ins><span class="cx">         return nullptr;
</span><del>-    RefPtr&lt;IDBKey&gt; idbLower = idbKeyFromInspectorObject(lower.get());
-    if (!idbLower)
-        return nullptr;
</del><span class="cx"> 
</span><del>-    RefPtr&lt;InspectorObject&gt; upper;
-    if (!keyRange-&gt;getObject(&quot;upper&quot;, upper))
</del><ins>+    RefPtr&lt;InspectorObject&gt; upper = keyRange-&gt;getObject(&quot;upper&quot;);
+    RefPtr&lt;IDBKey&gt; idbUpper = upper ? idbKeyFromInspectorObject(upper.get()) : nullptr;
+    if (upper &amp;&amp; !idbUpper)
</ins><span class="cx">         return nullptr;
</span><del>-    RefPtr&lt;IDBKey&gt; idbUpper = idbKeyFromInspectorObject(upper.get());
-    if (!idbUpper)
-        return nullptr;
</del><span class="cx"> 
</span><span class="cx">     bool lowerOpen;
</span><span class="cx">     if (!keyRange-&gt;getBoolean(&quot;lowerOpen&quot;, lowerOpen))
</span><span class="lines">@@ -404,16 +389,17 @@
</span><span class="cx">         return nullptr;
</span><span class="cx">     IDBKeyRange::UpperBoundType upperBoundType = upperOpen ? IDBKeyRange::UpperBoundOpen : IDBKeyRange::UpperBoundClosed;
</span><span class="cx"> 
</span><del>-    return IDBKeyRange::create(idbLower, idbUpper, lowerBoundType, upperBoundType);
</del><ins>+    RefPtr&lt;IDBKeyRange&gt; idbKeyRange = IDBKeyRange::create(idbLower, idbUpper, lowerBoundType, upperBoundType);
+    return idbKeyRange.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> class DataLoader;
</span><span class="cx"> 
</span><span class="cx"> class OpenCursorCallback : public EventListener {
</span><span class="cx"> public:
</span><del>-    static Ref&lt;OpenCursorCallback&gt; create(InjectedScript injectedScript, Ref&lt;RequestDataCallback&gt;&amp;&amp; requestCallback, int skipCount, unsigned pageSize)
</del><ins>+    static PassRefPtr&lt;OpenCursorCallback&gt; create(InjectedScript injectedScript, PassRefPtr&lt;RequestDataCallback&gt; requestCallback, int skipCount, unsigned pageSize)
</ins><span class="cx">     {
</span><del>-        return adoptRef(*new OpenCursorCallback(injectedScript, WTF::move(requestCallback), skipCount, pageSize));
</del><ins>+        return adoptRef(new OpenCursorCallback(injectedScript, requestCallback, skipCount, pageSize));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     virtual ~OpenCursorCallback() { }
</span><span class="lines">@@ -472,9 +458,8 @@
</span><span class="cx">         RefPtr&lt;DataEntry&gt; dataEntry = DataEntry::create()
</span><span class="cx">             .setKey(m_injectedScript.wrapObject(idbCursor-&gt;key(), String()))
</span><span class="cx">             .setPrimaryKey(m_injectedScript.wrapObject(idbCursor-&gt;primaryKey(), String()))
</span><del>-            .setValue(m_injectedScript.wrapObject(idbCursor-&gt;value(), String()))
-            .release();
-        m_result-&gt;addItem(WTF::move(dataEntry));
</del><ins>+            .setValue(m_injectedScript.wrapObject(idbCursor-&gt;value(), String()));
+        m_result-&gt;addItem(dataEntry);
</ins><span class="cx"> 
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -482,40 +467,41 @@
</span><span class="cx">     {
</span><span class="cx">         if (!m_requestCallback-&gt;isActive())
</span><span class="cx">             return;
</span><del>-        m_requestCallback-&gt;sendSuccess(WTF::move(m_result), hasMore);
</del><ins>+        m_requestCallback-&gt;sendSuccess(m_result.release(), hasMore);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    OpenCursorCallback(InjectedScript injectedScript, Ref&lt;RequestDataCallback&gt;&amp;&amp; requestCallback, int skipCount, unsigned pageSize)
</del><ins>+    OpenCursorCallback(InjectedScript injectedScript, PassRefPtr&lt;RequestDataCallback&gt; requestCallback, int skipCount, unsigned pageSize)
</ins><span class="cx">         : EventListener(EventListener::CPPEventListenerType)
</span><span class="cx">         , m_injectedScript(injectedScript)
</span><del>-        , m_requestCallback(WTF::move(requestCallback))
</del><ins>+        , m_requestCallback(requestCallback)
</ins><span class="cx">         , m_skipCount(skipCount)
</span><span class="cx">         , m_pageSize(pageSize)
</span><del>-        , m_result(Array&lt;DataEntry&gt;::create())
</del><span class="cx">     {
</span><ins>+        m_result = Array&lt;DataEntry&gt;::create();
</ins><span class="cx">     }
</span><span class="cx">     InjectedScript m_injectedScript;
</span><del>-    Ref&lt;RequestDataCallback&gt; m_requestCallback;
</del><ins>+    RefPtr&lt;RequestDataCallback&gt; m_requestCallback;
</ins><span class="cx">     int m_skipCount;
</span><span class="cx">     unsigned m_pageSize;
</span><del>-    Ref&lt;Array&lt;DataEntry&gt;&gt; m_result;
</del><ins>+    RefPtr&lt;Array&lt;DataEntry&gt;&gt; m_result;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class DataLoader : public ExecutableWithDatabase {
</span><span class="cx"> public:
</span><del>-    static Ref&lt;DataLoader&gt; create(ScriptExecutionContext* context, Ref&lt;RequestDataCallback&gt;&amp;&amp; requestCallback, const InjectedScript&amp; injectedScript, const String&amp; objectStoreName, const String&amp; indexName, RefPtr&lt;IDBKeyRange&gt;&amp;&amp; idbKeyRange, int skipCount, unsigned pageSize)
</del><ins>+    static PassRefPtr&lt;DataLoader&gt; create(ScriptExecutionContext* context, PassRefPtr&lt;RequestDataCallback&gt; requestCallback, const InjectedScript&amp; injectedScript, const String&amp; objectStoreName, const String&amp; indexName, PassRefPtr&lt;IDBKeyRange&gt; idbKeyRange, int skipCount, unsigned pageSize)
</ins><span class="cx">     {
</span><del>-        return adoptRef(*new DataLoader(context, WTF::move(requestCallback), injectedScript, objectStoreName, indexName, WTF::move(idbKeyRange), skipCount, pageSize));
</del><ins>+        return adoptRef(new DataLoader(context, requestCallback, injectedScript, objectStoreName, indexName, idbKeyRange, skipCount, pageSize));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     virtual ~DataLoader() { }
</span><span class="cx"> 
</span><del>-    virtual void execute(RefPtr&lt;IDBDatabase&gt;&amp;&amp; database) override
</del><ins>+    virtual void execute(PassRefPtr&lt;IDBDatabase&gt; prpDatabase) override
</ins><span class="cx">     {
</span><del>-        if (!requestCallback().isActive())
</del><ins>+        RefPtr&lt;IDBDatabase&gt; idbDatabase = prpDatabase;
+        if (!requestCallback()-&gt;isActive())
</ins><span class="cx">             return;
</span><del>-        RefPtr&lt;IDBTransaction&gt; idbTransaction = transactionForDatabase(context(), database.get(), m_objectStoreName);
</del><ins>+        RefPtr&lt;IDBTransaction&gt; idbTransaction = transactionForDatabase(context(), idbDatabase.get(), m_objectStoreName);
</ins><span class="cx">         if (!idbTransaction) {
</span><span class="cx">             m_requestCallback-&gt;sendFailure(&quot;Could not get transaction&quot;);
</span><span class="cx">             return;
</span><span class="lines">@@ -526,7 +512,7 @@
</span><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Ref&lt;OpenCursorCallback&gt; openCursorCallback = OpenCursorCallback::create(m_injectedScript, m_requestCallback.copyRef(), m_skipCount, m_pageSize);
</del><ins>+        RefPtr&lt;OpenCursorCallback&gt; openCursorCallback = OpenCursorCallback::create(m_injectedScript, m_requestCallback, m_skipCount, m_pageSize);
</ins><span class="cx"> 
</span><span class="cx">         ExceptionCode ec = 0;
</span><span class="cx">         RefPtr&lt;IDBRequest&gt; idbRequest;
</span><span class="lines">@@ -537,23 +523,23 @@
</span><span class="cx">                 return;
</span><span class="cx">             }
</span><span class="cx"> 
</span><del>-            idbRequest = idbIndex-&gt;openCursor(context(), m_idbKeyRange.copyRef(), ec);
</del><ins>+            idbRequest = idbIndex-&gt;openCursor(context(), PassRefPtr&lt;IDBKeyRange&gt;(m_idbKeyRange), ec);
</ins><span class="cx">         } else
</span><del>-            idbRequest = idbObjectStore-&gt;openCursor(context(), m_idbKeyRange.copyRef(), ec);
-        idbRequest-&gt;addEventListener(eventNames().successEvent, WTF::move(openCursorCallback), false);
</del><ins>+            idbRequest = idbObjectStore-&gt;openCursor(context(), PassRefPtr&lt;IDBKeyRange&gt;(m_idbKeyRange), ec);
+        idbRequest-&gt;addEventListener(eventNames().successEvent, openCursorCallback, false);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    virtual RequestCallback&amp; requestCallback() override { return m_requestCallback.get(); }
-    DataLoader(ScriptExecutionContext* scriptExecutionContext, Ref&lt;RequestDataCallback&gt;&amp;&amp; requestCallback, const InjectedScript&amp; injectedScript, const String&amp; objectStoreName, const String&amp; indexName, RefPtr&lt;IDBKeyRange&gt; idbKeyRange, int skipCount, unsigned pageSize)
</del><ins>+    virtual RequestCallback* requestCallback() override { return m_requestCallback.get(); }
+    DataLoader(ScriptExecutionContext* scriptExecutionContext, PassRefPtr&lt;RequestDataCallback&gt; requestCallback, const InjectedScript&amp; injectedScript, const String&amp; objectStoreName, const String&amp; indexName, PassRefPtr&lt;IDBKeyRange&gt; idbKeyRange, int skipCount, unsigned pageSize)
</ins><span class="cx">         : ExecutableWithDatabase(scriptExecutionContext)
</span><del>-        , m_requestCallback(WTF::move(requestCallback))
</del><ins>+        , m_requestCallback(requestCallback)
</ins><span class="cx">         , m_injectedScript(injectedScript)
</span><span class="cx">         , m_objectStoreName(objectStoreName)
</span><span class="cx">         , m_indexName(indexName)
</span><del>-        , m_idbKeyRange(WTF::move(idbKeyRange))
</del><ins>+        , m_idbKeyRange(idbKeyRange)
</ins><span class="cx">         , m_skipCount(skipCount)
</span><span class="cx">         , m_pageSize(pageSize) { }
</span><del>-    Ref&lt;RequestDataCallback&gt; m_requestCallback;
</del><ins>+    RefPtr&lt;RequestDataCallback&gt; m_requestCallback;
</ins><span class="cx">     InjectedScript m_injectedScript;
</span><span class="cx">     String m_objectStoreName;
</span><span class="cx">     String m_indexName;
</span><span class="lines">@@ -619,7 +605,7 @@
</span><span class="cx">     return idbFactory;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorIndexedDBAgent::requestDatabaseNames(ErrorString&amp; errorString, const String&amp; securityOrigin, Ref&lt;RequestDatabaseNamesCallback&gt;&amp;&amp; requestCallback)
</del><ins>+void InspectorIndexedDBAgent::requestDatabaseNames(ErrorString&amp; errorString, const String&amp; securityOrigin, PassRefPtr&lt;RequestDatabaseNamesCallback&gt; requestCallback)
</ins><span class="cx"> {
</span><span class="cx">     Frame* frame = m_pageAgent-&gt;findFrameWithSecurityOrigin(securityOrigin);
</span><span class="cx">     Document* document = assertDocument(errorString, frame);
</span><span class="lines">@@ -637,10 +623,10 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    idbRequest-&gt;addEventListener(eventNames().successEvent, GetDatabaseNamesCallback::create(WTF::move(requestCallback), document-&gt;securityOrigin()-&gt;toRawString()), false);
</del><ins>+    idbRequest-&gt;addEventListener(eventNames().successEvent, GetDatabaseNamesCallback::create(requestCallback, document-&gt;securityOrigin()-&gt;toRawString()), false);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorIndexedDBAgent::requestDatabase(ErrorString&amp; errorString, const String&amp; securityOrigin, const String&amp; databaseName, Ref&lt;RequestDatabaseCallback&gt;&amp;&amp; requestCallback)
</del><ins>+void InspectorIndexedDBAgent::requestDatabase(ErrorString&amp; errorString, const String&amp; securityOrigin, const String&amp; databaseName, PassRefPtr&lt;RequestDatabaseCallback&gt; requestCallback)
</ins><span class="cx"> {
</span><span class="cx">     Frame* frame = m_pageAgent-&gt;findFrameWithSecurityOrigin(securityOrigin);
</span><span class="cx">     Document* document = assertDocument(errorString, frame);
</span><span class="lines">@@ -651,11 +637,11 @@
</span><span class="cx">     if (!idbFactory)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    Ref&lt;DatabaseLoader&gt; databaseLoader = DatabaseLoader::create(document, WTF::move(requestCallback));
</del><ins>+    RefPtr&lt;DatabaseLoader&gt; databaseLoader = DatabaseLoader::create(document, requestCallback);
</ins><span class="cx">     databaseLoader-&gt;start(idbFactory, document-&gt;securityOrigin(), databaseName);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorIndexedDBAgent::requestData(ErrorString&amp; errorString, const String&amp; securityOrigin, const String&amp; databaseName, const String&amp; objectStoreName, const String&amp; indexName, int skipCount, int pageSize, const RefPtr&lt;InspectorObject&gt;&amp;&amp; keyRange, Ref&lt;RequestDataCallback&gt;&amp;&amp; requestCallback)
</del><ins>+void InspectorIndexedDBAgent::requestData(ErrorString&amp; errorString, const String&amp; securityOrigin, const String&amp; databaseName, const String&amp; objectStoreName, const String&amp; indexName, int skipCount, int pageSize, const RefPtr&lt;InspectorObject&gt;* keyRange, PassRefPtr&lt;RequestDataCallback&gt; requestCallback)
</ins><span class="cx"> {
</span><span class="cx">     Frame* frame = m_pageAgent-&gt;findFrameWithSecurityOrigin(securityOrigin);
</span><span class="cx">     Document* document = assertDocument(errorString, frame);
</span><span class="lines">@@ -668,22 +654,22 @@
</span><span class="cx"> 
</span><span class="cx">     InjectedScript injectedScript = m_injectedScriptManager-&gt;injectedScriptFor(mainWorldExecState(frame));
</span><span class="cx"> 
</span><del>-    RefPtr&lt;IDBKeyRange&gt; idbKeyRange = keyRange ? idbKeyRangeFromKeyRange(keyRange.get()) : nullptr;
</del><ins>+    RefPtr&lt;IDBKeyRange&gt; idbKeyRange = keyRange ? idbKeyRangeFromKeyRange(keyRange-&gt;get()) : nullptr;
</ins><span class="cx">     if (keyRange &amp;&amp; !idbKeyRange) {
</span><span class="cx">         errorString = ASCIILiteral(&quot;Can not parse key range.&quot;);
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    Ref&lt;DataLoader&gt; dataLoader = DataLoader::create(document, WTF::move(requestCallback), injectedScript, objectStoreName, indexName, WTF::move(idbKeyRange), skipCount, pageSize);
</del><ins>+    RefPtr&lt;DataLoader&gt; dataLoader = DataLoader::create(document, requestCallback, injectedScript, objectStoreName, indexName, idbKeyRange, skipCount, pageSize);
</ins><span class="cx">     dataLoader-&gt;start(idbFactory, document-&gt;securityOrigin(), databaseName);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> class ClearObjectStoreListener : public EventListener {
</span><span class="cx">     WTF_MAKE_NONCOPYABLE(ClearObjectStoreListener);
</span><span class="cx"> public:
</span><del>-    static Ref&lt;ClearObjectStoreListener&gt; create(Ref&lt;ClearObjectStoreCallback&gt; requestCallback)
</del><ins>+    static PassRefPtr&lt;ClearObjectStoreListener&gt; create(PassRefPtr&lt;ClearObjectStoreCallback&gt; requestCallback)
</ins><span class="cx">     {
</span><del>-        return adoptRef(*new ClearObjectStoreListener(WTF::move(requestCallback)));
</del><ins>+        return adoptRef(new ClearObjectStoreListener(requestCallback));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     virtual ~ClearObjectStoreListener() { }
</span><span class="lines">@@ -705,35 +691,36 @@
</span><span class="cx">         m_requestCallback-&gt;sendSuccess();
</span><span class="cx">     }
</span><span class="cx"> private:
</span><del>-    ClearObjectStoreListener(Ref&lt;ClearObjectStoreCallback&gt;&amp;&amp; requestCallback)
</del><ins>+    ClearObjectStoreListener(PassRefPtr&lt;ClearObjectStoreCallback&gt; requestCallback)
</ins><span class="cx">         : EventListener(EventListener::CPPEventListenerType)
</span><del>-        , m_requestCallback(WTF::move(requestCallback))
</del><ins>+        , m_requestCallback(requestCallback)
</ins><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    Ref&lt;ClearObjectStoreCallback&gt; m_requestCallback;
</del><ins>+    RefPtr&lt;ClearObjectStoreCallback&gt; m_requestCallback;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> class ClearObjectStore : public ExecutableWithDatabase {
</span><span class="cx"> public:
</span><del>-    static Ref&lt;ClearObjectStore&gt; create(ScriptExecutionContext* context, const String&amp; objectStoreName, Ref&lt;ClearObjectStoreCallback&gt;&amp;&amp; requestCallback)
</del><ins>+    static PassRefPtr&lt;ClearObjectStore&gt; create(ScriptExecutionContext* context, const String&amp; objectStoreName, PassRefPtr&lt;ClearObjectStoreCallback&gt; requestCallback)
</ins><span class="cx">     {
</span><del>-        return adoptRef(*new ClearObjectStore(context, objectStoreName, WTF::move(requestCallback)));
</del><ins>+        return adoptRef(new ClearObjectStore(context, objectStoreName, requestCallback));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    ClearObjectStore(ScriptExecutionContext* context, const String&amp; objectStoreName, Ref&lt;ClearObjectStoreCallback&gt;&amp;&amp; requestCallback)
</del><ins>+    ClearObjectStore(ScriptExecutionContext* context, const String&amp; objectStoreName, PassRefPtr&lt;ClearObjectStoreCallback&gt; requestCallback)
</ins><span class="cx">         : ExecutableWithDatabase(context)
</span><span class="cx">         , m_objectStoreName(objectStoreName)
</span><del>-        , m_requestCallback(WTF::move(requestCallback))
</del><ins>+        , m_requestCallback(requestCallback)
</ins><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    virtual void execute(RefPtr&lt;IDBDatabase&gt;&amp;&amp; database) override
</del><ins>+    virtual void execute(PassRefPtr&lt;IDBDatabase&gt; prpDatabase) override
</ins><span class="cx">     {
</span><del>-        if (!requestCallback().isActive())
</del><ins>+        RefPtr&lt;IDBDatabase&gt; idbDatabase = prpDatabase;
+        if (!requestCallback()-&gt;isActive())
</ins><span class="cx">             return;
</span><del>-        RefPtr&lt;IDBTransaction&gt; idbTransaction = transactionForDatabase(context(), database.get(), m_objectStoreName, IDBTransaction::modeReadWrite());
</del><ins>+        RefPtr&lt;IDBTransaction&gt; idbTransaction = transactionForDatabase(context(), idbDatabase.get(), m_objectStoreName, IDBTransaction::modeReadWrite());
</ins><span class="cx">         if (!idbTransaction) {
</span><span class="cx">             m_requestCallback-&gt;sendFailure(&quot;Could not get transaction&quot;);
</span><span class="cx">             return;
</span><span class="lines">@@ -751,16 +738,16 @@
</span><span class="cx">             m_requestCallback-&gt;sendFailure(String::format(&quot;Could not clear object store '%s': %d&quot;, m_objectStoreName.utf8().data(), ec));
</span><span class="cx">             return;
</span><span class="cx">         }
</span><del>-        idbTransaction-&gt;addEventListener(eventNames().completeEvent, ClearObjectStoreListener::create(m_requestCallback.copyRef()), false);
</del><ins>+        idbTransaction-&gt;addEventListener(eventNames().completeEvent, ClearObjectStoreListener::create(m_requestCallback), false);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    virtual RequestCallback&amp; requestCallback() override { return m_requestCallback.get(); }
</del><ins>+    virtual RequestCallback* requestCallback() override { return m_requestCallback.get(); }
</ins><span class="cx"> private:
</span><span class="cx">     const String m_objectStoreName;
</span><del>-    Ref&lt;ClearObjectStoreCallback&gt; m_requestCallback;
</del><ins>+    RefPtr&lt;ClearObjectStoreCallback&gt; m_requestCallback;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-void InspectorIndexedDBAgent::clearObjectStore(ErrorString&amp; errorString, const String&amp; securityOrigin, const String&amp; databaseName, const String&amp; objectStoreName, Ref&lt;ClearObjectStoreCallback&gt;&amp;&amp; requestCallback)
</del><ins>+void InspectorIndexedDBAgent::clearObjectStore(ErrorString&amp; errorString, const String&amp; securityOrigin, const String&amp; databaseName, const String&amp; objectStoreName, PassRefPtr&lt;ClearObjectStoreCallback&gt; requestCallback)
</ins><span class="cx"> {
</span><span class="cx">     Frame* frame = m_pageAgent-&gt;findFrameWithSecurityOrigin(securityOrigin);
</span><span class="cx">     Document* document = assertDocument(errorString, frame);
</span><span class="lines">@@ -770,7 +757,7 @@
</span><span class="cx">     if (!idbFactory)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    Ref&lt;ClearObjectStore&gt; clearObjectStore = ClearObjectStore::create(document, objectStoreName, WTF::move(requestCallback));
</del><ins>+    RefPtr&lt;ClearObjectStore&gt; clearObjectStore = ClearObjectStore::create(document, objectStoreName, requestCallback);
</ins><span class="cx">     clearObjectStore-&gt;start(idbFactory, document-&gt;securityOrigin(), databaseName);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorIndexedDBAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -58,10 +58,10 @@
</span><span class="cx">     // Called from the front-end.
</span><span class="cx">     virtual void enable(ErrorString&amp;) override;
</span><span class="cx">     virtual void disable(ErrorString&amp;) override;
</span><del>-    virtual void requestDatabaseNames(ErrorString&amp;, const String&amp; securityOrigin, Ref&lt;RequestDatabaseNamesCallback&gt;&amp;&amp;) override;
-    virtual void requestDatabase(ErrorString&amp;, const String&amp; securityOrigin, const String&amp; databaseName, Ref&lt;RequestDatabaseCallback&gt;&amp;&amp;) override;
-    virtual void requestData(ErrorString&amp;, const String&amp; securityOrigin, const String&amp; databaseName, const String&amp; objectStoreName, const String&amp; indexName, int skipCount, int pageSize, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; keyRange, Ref&lt;RequestDataCallback&gt;&amp;&amp;) override;
-    virtual void clearObjectStore(ErrorString&amp;, const String&amp; in_securityOrigin, const String&amp; in_databaseName, const String&amp; in_objectStoreName, Ref&lt;ClearObjectStoreCallback&gt;&amp;&amp;) override;
</del><ins>+    virtual void requestDatabaseNames(ErrorString&amp;, const String&amp; securityOrigin, PassRefPtr&lt;RequestDatabaseNamesCallback&gt;) override;
+    virtual void requestDatabase(ErrorString&amp;, const String&amp; securityOrigin, const String&amp; databaseName, PassRefPtr&lt;RequestDatabaseCallback&gt;) override;
+    virtual void requestData(ErrorString&amp;, const String&amp; securityOrigin, const String&amp; databaseName, const String&amp; objectStoreName, const String&amp; indexName, int skipCount, int pageSize, const RefPtr&lt;Inspector::InspectorObject&gt;* keyRange, PassRefPtr&lt;RequestDataCallback&gt;) override;
+    virtual void clearObjectStore(ErrorString&amp;, const String&amp; in_securityOrigin, const String&amp; in_databaseName, const String&amp; in_objectStoreName, PassRefPtr&lt;ClearObjectStoreCallback&gt;) override;
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     Inspector::InjectedScriptManager* m_injectedScriptManager;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorInstrumentationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -689,10 +689,10 @@
</span><span class="cx">         resourceAgent-&gt;documentThreadableLoaderStartedLoadingForClient(identifier, client);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorInstrumentation::willLoadXHRImpl(InstrumentingAgents&amp; instrumentingAgents, ThreadableLoaderClient* client, const String&amp; method, const URL&amp; url, bool async, RefPtr&lt;FormData&gt;&amp;&amp; formData, const HTTPHeaderMap&amp; headers, bool includeCredentials)
</del><ins>+void InspectorInstrumentation::willLoadXHRImpl(InstrumentingAgents&amp; instrumentingAgents, ThreadableLoaderClient* client, const String&amp; method, const URL&amp; url, bool async, PassRefPtr&lt;FormData&gt; formData, const HTTPHeaderMap&amp; headers, bool includeCredentials)
</ins><span class="cx"> {
</span><span class="cx">     if (InspectorResourceAgent* resourceAgent = instrumentingAgents.inspectorResourceAgent())
</span><del>-        resourceAgent-&gt;willLoadXHR(client, method, url, async, WTF::move(formData), headers, includeCredentials);
</del><ins>+        resourceAgent-&gt;willLoadXHR(client, method, url, async, formData, headers, includeCredentials);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::didFailXHRLoadingImpl(InstrumentingAgents&amp; instrumentingAgents, ThreadableLoaderClient* client)
</span><span class="lines">@@ -916,7 +916,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // FIXME: Drop this once we no longer generate stacks outside of Inspector.
</span><del>-void InspectorInstrumentation::addMessageToConsoleImpl(InstrumentingAgents&amp; instrumentingAgents, MessageSource source, MessageType type, MessageLevel level, const String&amp; message, RefPtr&lt;ScriptCallStack&gt;&amp;&amp; callStack, unsigned long requestIdentifier)
</del><ins>+void InspectorInstrumentation::addMessageToConsoleImpl(InstrumentingAgents&amp; instrumentingAgents, MessageSource source, MessageType type, MessageLevel level, const String&amp; message, PassRefPtr&lt;ScriptCallStack&gt; callStack, unsigned long requestIdentifier)
</ins><span class="cx"> {
</span><span class="cx">     if (WebConsoleAgent* consoleAgent = instrumentingAgents.webConsoleAgent())
</span><span class="cx">         consoleAgent-&gt;addMessageToConsole(source, type, level, message, callStack, requestIdentifier);
</span><span class="lines">@@ -927,7 +927,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorInstrumentation::addMessageToConsoleImpl(InstrumentingAgents&amp; instrumentingAgents, MessageSource source, MessageType type, MessageLevel level, const String&amp; message, JSC::ExecState* state, RefPtr&lt;ScriptArguments&gt;&amp;&amp; arguments, unsigned long requestIdentifier)
</del><ins>+void InspectorInstrumentation::addMessageToConsoleImpl(InstrumentingAgents&amp; instrumentingAgents, MessageSource source, MessageType type, MessageLevel level, const String&amp; message, JSC::ExecState* state, PassRefPtr&lt;ScriptArguments&gt; arguments, unsigned long requestIdentifier)
</ins><span class="cx"> {
</span><span class="cx">     if (WebConsoleAgent* consoleAgent = instrumentingAgents.webConsoleAgent())
</span><span class="cx">         consoleAgent-&gt;addMessageToConsole(source, type, level, message, state, arguments, requestIdentifier);
</span><span class="lines">@@ -949,7 +949,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorInstrumentation::consoleCountImpl(InstrumentingAgents&amp; instrumentingAgents, JSC::ExecState* state, RefPtr&lt;ScriptArguments&gt;&amp;&amp; arguments)
</del><ins>+void InspectorInstrumentation::consoleCountImpl(InstrumentingAgents&amp; instrumentingAgents, JSC::ExecState* state, PassRefPtr&lt;ScriptArguments&gt; arguments)
</ins><span class="cx"> {
</span><span class="cx">     if (WebConsoleAgent* consoleAgent = instrumentingAgents.webConsoleAgent())
</span><span class="cx">         consoleAgent-&gt;count(state, arguments);
</span><span class="lines">@@ -963,7 +963,7 @@
</span><span class="cx">         consoleAgent-&gt;startTiming(title);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorInstrumentation::stopConsoleTimingImpl(InstrumentingAgents&amp; instrumentingAgents, Frame&amp; frame, const String&amp; title, RefPtr&lt;ScriptCallStack&gt;&amp;&amp; stack)
</del><ins>+void InspectorInstrumentation::stopConsoleTimingImpl(InstrumentingAgents&amp; instrumentingAgents, Frame&amp; frame, const String&amp; title, PassRefPtr&lt;ScriptCallStack&gt; stack)
</ins><span class="cx"> {
</span><span class="cx">     if (WebConsoleAgent* consoleAgent = instrumentingAgents.webConsoleAgent())
</span><span class="cx">         consoleAgent-&gt;stopTiming(title, stack);
</span><span class="lines">@@ -971,7 +971,7 @@
</span><span class="cx">         timelineAgent-&gt;timeEnd(frame, title);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorInstrumentation::consoleTimeStampImpl(InstrumentingAgents&amp; instrumentingAgents, Frame&amp; frame, RefPtr&lt;ScriptArguments&gt;&amp;&amp; arguments)
</del><ins>+void InspectorInstrumentation::consoleTimeStampImpl(InstrumentingAgents&amp; instrumentingAgents, Frame&amp; frame, PassRefPtr&lt;ScriptArguments&gt; arguments)
</ins><span class="cx"> {
</span><span class="cx">     if (InspectorTimelineAgent* timelineAgent = instrumentingAgents.inspectorTimelineAgent()) {
</span><span class="cx">         String message;
</span><span class="lines">@@ -986,7 +986,7 @@
</span><span class="cx">         timelineAgent-&gt;startFromConsole(exec, title);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;JSC::Profile&gt; InspectorInstrumentation::stopProfilingImpl(InstrumentingAgents&amp; instrumentingAgents, JSC::ExecState* exec, const String&amp; title)
</del><ins>+PassRefPtr&lt;JSC::Profile&gt; InspectorInstrumentation::stopProfilingImpl(InstrumentingAgents&amp; instrumentingAgents, JSC::ExecState* exec, const String&amp; title)
</ins><span class="cx"> {
</span><span class="cx">     if (InspectorTimelineAgent* timelineAgent = instrumentingAgents.persistentInspectorTimelineAgent())
</span><span class="cx">         return timelineAgent-&gt;stopFromConsole(exec, title);
</span><span class="lines">@@ -994,7 +994,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(SQL_DATABASE)
</span><del>-void InspectorInstrumentation::didOpenDatabaseImpl(InstrumentingAgents&amp; instrumentingAgents, RefPtr&lt;Database&gt;&amp;&amp; database, const String&amp; domain, const String&amp; name, const String&amp; version)
</del><ins>+void InspectorInstrumentation::didOpenDatabaseImpl(InstrumentingAgents&amp; instrumentingAgents, PassRefPtr&lt;Database&gt; database, const String&amp; domain, const String&amp; name, const String&amp; version)
</ins><span class="cx"> {
</span><span class="cx">     if (!instrumentingAgents.inspectorEnvironment().developerExtrasEnabled())
</span><span class="cx">         return;
</span><span class="lines">@@ -1107,40 +1107,40 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(WEB_REPLAY)
</span><del>-void InspectorInstrumentation::sessionCreatedImpl(InstrumentingAgents&amp; instrumentingAgents, RefPtr&lt;ReplaySession&gt;&amp;&amp; session)
</del><ins>+void InspectorInstrumentation::sessionCreatedImpl(InstrumentingAgents&amp; instrumentingAgents, PassRefPtr&lt;ReplaySession&gt; session)
</ins><span class="cx"> {
</span><span class="cx">     if (InspectorReplayAgent* replayAgent = instrumentingAgents.inspectorReplayAgent())
</span><del>-        replayAgent-&gt;sessionCreated(WTF::move(session));
</del><ins>+        replayAgent-&gt;sessionCreated(session);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorInstrumentation::sessionLoadedImpl(InstrumentingAgents&amp; instrumentingAgents, RefPtr&lt;ReplaySession&gt;&amp;&amp; session)
</del><ins>+void InspectorInstrumentation::sessionLoadedImpl(InstrumentingAgents&amp; instrumentingAgents, PassRefPtr&lt;ReplaySession&gt; session)
</ins><span class="cx"> {
</span><span class="cx">     if (InspectorReplayAgent* replayAgent = instrumentingAgents.inspectorReplayAgent())
</span><del>-        replayAgent-&gt;sessionLoaded(WTF::move(session));
</del><ins>+        replayAgent-&gt;sessionLoaded(session);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorInstrumentation::sessionModifiedImpl(InstrumentingAgents&amp; instrumentingAgents, RefPtr&lt;ReplaySession&gt;&amp;&amp; session)
</del><ins>+void InspectorInstrumentation::sessionModifiedImpl(InstrumentingAgents&amp; instrumentingAgents, PassRefPtr&lt;ReplaySession&gt; session)
</ins><span class="cx"> {
</span><span class="cx">     if (InspectorReplayAgent* replayAgent = instrumentingAgents.inspectorReplayAgent())
</span><del>-        replayAgent-&gt;sessionModified(WTF::move(session));
</del><ins>+        replayAgent-&gt;sessionModified(session);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorInstrumentation::segmentCreatedImpl(InstrumentingAgents&amp; instrumentingAgents, RefPtr&lt;ReplaySessionSegment&gt;&amp;&amp; segment)
</del><ins>+void InspectorInstrumentation::segmentCreatedImpl(InstrumentingAgents&amp; instrumentingAgents, PassRefPtr&lt;ReplaySessionSegment&gt; segment)
</ins><span class="cx"> {
</span><span class="cx">     if (InspectorReplayAgent* replayAgent = instrumentingAgents.inspectorReplayAgent())
</span><del>-        replayAgent-&gt;segmentCreated(WTF::move(segment));
</del><ins>+        replayAgent-&gt;segmentCreated(segment);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorInstrumentation::segmentCompletedImpl(InstrumentingAgents&amp; instrumentingAgents, RefPtr&lt;ReplaySessionSegment&gt;&amp;&amp; segment)
</del><ins>+void InspectorInstrumentation::segmentCompletedImpl(InstrumentingAgents&amp; instrumentingAgents, PassRefPtr&lt;ReplaySessionSegment&gt; segment)
</ins><span class="cx"> {
</span><span class="cx">     if (InspectorReplayAgent* replayAgent = instrumentingAgents.inspectorReplayAgent())
</span><del>-        replayAgent-&gt;segmentCompleted(WTF::move(segment));
</del><ins>+        replayAgent-&gt;segmentCompleted(segment);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorInstrumentation::segmentLoadedImpl(InstrumentingAgents&amp; instrumentingAgents, RefPtr&lt;ReplaySessionSegment&gt;&amp;&amp; segment)
</del><ins>+void InspectorInstrumentation::segmentLoadedImpl(InstrumentingAgents&amp; instrumentingAgents, PassRefPtr&lt;ReplaySessionSegment&gt; segment)
</ins><span class="cx"> {
</span><span class="cx">     if (InspectorReplayAgent* replayAgent = instrumentingAgents.inspectorReplayAgent())
</span><del>-        replayAgent-&gt;segmentLoaded(WTF::move(segment));
</del><ins>+        replayAgent-&gt;segmentLoaded(segment);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::segmentUnloadedImpl(InstrumentingAgents&amp; instrumentingAgents)
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorInstrumentationh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorInstrumentation.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorInstrumentation.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorInstrumentation.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -186,7 +186,7 @@
</span><span class="cx">     static void didFinishLoading(Frame*, DocumentLoader*, unsigned long identifier, double finishTime);
</span><span class="cx">     static void didFailLoading(Frame*, DocumentLoader*, unsigned long identifier, const ResourceError&amp;);
</span><span class="cx">     static void documentThreadableLoaderStartedLoadingForClient(Document&amp;, unsigned long identifier, ThreadableLoaderClient*);
</span><del>-    static void willLoadXHR(ScriptExecutionContext*, ThreadableLoaderClient*, const String&amp;, const URL&amp;, bool, RefPtr&lt;FormData&gt;&amp;&amp;, const HTTPHeaderMap&amp;, bool);
</del><ins>+    static void willLoadXHR(ScriptExecutionContext*, ThreadableLoaderClient*, const String&amp;, const URL&amp;, bool, PassRefPtr&lt;FormData&gt;, const HTTPHeaderMap&amp;, bool);
</ins><span class="cx">     static void didFailXHRLoading(ScriptExecutionContext*, ThreadableLoaderClient*);
</span><span class="cx">     static void didFinishXHRLoading(ScriptExecutionContext*, ThreadableLoaderClient*, unsigned long identifier, const String&amp; sourceString, const String&amp; url, const String&amp; sendURL, unsigned sendLineNumber, unsigned sendColumnNumber);
</span><span class="cx">     static void didReceiveXHRResponse(ScriptExecutionContext*, unsigned long identifier);
</span><span class="lines">@@ -213,18 +213,18 @@
</span><span class="cx">     static void didWriteHTML(const InspectorInstrumentationCookie&amp;, unsigned endLine);
</span><span class="cx"> 
</span><span class="cx">     // FIXME: Remove once we no longer generate stacks outside of Inspector.
</span><del>-    static void addMessageToConsole(Page&amp;, MessageSource, MessageType, MessageLevel, const String&amp; message, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp;, unsigned long requestIdentifier = 0);
-    static void addMessageToConsole(Page&amp;, MessageSource, MessageType, MessageLevel, const String&amp; message, JSC::ExecState*, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp;, unsigned long requestIdentifier = 0);
</del><ins>+    static void addMessageToConsole(Page&amp;, MessageSource, MessageType, MessageLevel, const String&amp; message, PassRefPtr&lt;Inspector::ScriptCallStack&gt;, unsigned long requestIdentifier = 0);
+    static void addMessageToConsole(Page&amp;, MessageSource, MessageType, MessageLevel, const String&amp; message, JSC::ExecState*, PassRefPtr&lt;Inspector::ScriptArguments&gt;, unsigned long requestIdentifier = 0);
</ins><span class="cx">     static void addMessageToConsole(Page&amp;, MessageSource, MessageType, MessageLevel, const String&amp; message, const String&amp; scriptID, unsigned lineNumber, unsigned columnNumber, JSC::ExecState* = nullptr, unsigned long requestIdentifier = 0);
</span><span class="cx"> 
</span><span class="cx">     // FIXME: Convert to ScriptArguments to match non-worker context.
</span><del>-    static void addMessageToConsole(WorkerGlobalScope*, MessageSource, MessageType, MessageLevel, const String&amp; message, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp;, unsigned long requestIdentifier = 0);
</del><ins>+    static void addMessageToConsole(WorkerGlobalScope*, MessageSource, MessageType, MessageLevel, const String&amp; message, PassRefPtr&lt;Inspector::ScriptCallStack&gt;, unsigned long requestIdentifier = 0);
</ins><span class="cx">     static void addMessageToConsole(WorkerGlobalScope*, MessageSource, MessageType, MessageLevel, const String&amp; message, const String&amp; scriptID, unsigned lineNumber, unsigned columnNumber, JSC::ExecState* = nullptr, unsigned long requestIdentifier = 0);
</span><span class="cx"> 
</span><del>-    static void consoleCount(Page&amp;, JSC::ExecState*, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp;);
</del><ins>+    static void consoleCount(Page&amp;, JSC::ExecState*, PassRefPtr&lt;Inspector::ScriptArguments&gt;);
</ins><span class="cx">     static void startConsoleTiming(Frame&amp;, const String&amp; title);
</span><del>-    static void stopConsoleTiming(Frame&amp;, const String&amp; title, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp;);
-    static void consoleTimeStamp(Frame&amp;, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp;);
</del><ins>+    static void stopConsoleTiming(Frame&amp;, const String&amp; title, PassRefPtr&lt;Inspector::ScriptCallStack&gt;);
+    static void consoleTimeStamp(Frame&amp;, PassRefPtr&lt;Inspector::ScriptArguments&gt;);
</ins><span class="cx"> 
</span><span class="cx">     static void didRequestAnimationFrame(Document*, int callbackId);
</span><span class="cx">     static void didCancelAnimationFrame(Document*, int callbackId);
</span><span class="lines">@@ -232,10 +232,10 @@
</span><span class="cx">     static void didFireAnimationFrame(const InspectorInstrumentationCookie&amp;);
</span><span class="cx"> 
</span><span class="cx">     static void startProfiling(Page&amp;, JSC::ExecState*, const String&amp; title);
</span><del>-    static RefPtr&lt;JSC::Profile&gt; stopProfiling(Page&amp;, JSC::ExecState*, const String&amp; title);
</del><ins>+    static PassRefPtr&lt;JSC::Profile&gt; stopProfiling(Page&amp;, JSC::ExecState*, const String&amp; title);
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(SQL_DATABASE)
</span><del>-    static void didOpenDatabase(ScriptExecutionContext*, RefPtr&lt;Database&gt;&amp;&amp;, const String&amp; domain, const String&amp; name, const String&amp; version);
</del><ins>+    static void didOpenDatabase(ScriptExecutionContext*, PassRefPtr&lt;Database&gt;, const String&amp; domain, const String&amp; name, const String&amp; version);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     static void didDispatchDOMStorageEvent(const String&amp; key, const String&amp; oldValue, const String&amp; newValue, StorageType, SecurityOrigin*, Page*);
</span><span class="lines">@@ -246,13 +246,13 @@
</span><span class="cx">     static void willEvaluateWorkerScript(WorkerGlobalScope*, int workerThreadStartMode);
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(WEB_REPLAY)
</span><del>-    static void sessionCreated(Page&amp;, RefPtr&lt;ReplaySession&gt;&amp;&amp;);
-    static void sessionLoaded(Page&amp;, RefPtr&lt;ReplaySession&gt;&amp;&amp;);
-    static void sessionModified(Page&amp;, RefPtr&lt;ReplaySession&gt;&amp;&amp;);
</del><ins>+    static void sessionCreated(Page&amp;, PassRefPtr&lt;ReplaySession&gt;);
+    static void sessionLoaded(Page&amp;, PassRefPtr&lt;ReplaySession&gt;);
+    static void sessionModified(Page&amp;, PassRefPtr&lt;ReplaySession&gt;);
</ins><span class="cx"> 
</span><del>-    static void segmentCreated(Page&amp;, RefPtr&lt;ReplaySessionSegment&gt;&amp;&amp;);
-    static void segmentCompleted(Page&amp;, RefPtr&lt;ReplaySessionSegment&gt;&amp;&amp;);
-    static void segmentLoaded(Page&amp;, RefPtr&lt;ReplaySessionSegment&gt;&amp;&amp;);
</del><ins>+    static void segmentCreated(Page&amp;, PassRefPtr&lt;ReplaySessionSegment&gt;);
+    static void segmentCompleted(Page&amp;, PassRefPtr&lt;ReplaySessionSegment&gt;);
+    static void segmentLoaded(Page&amp;, PassRefPtr&lt;ReplaySessionSegment&gt;);
</ins><span class="cx">     static void segmentUnloaded(Page&amp;);
</span><span class="cx"> 
</span><span class="cx">     static void captureStarted(Page&amp;);
</span><span class="lines">@@ -386,7 +386,7 @@
</span><span class="cx">     static void didFinishLoadingImpl(InstrumentingAgents&amp;, unsigned long identifier, DocumentLoader*, double finishTime);
</span><span class="cx">     static void didFailLoadingImpl(InstrumentingAgents&amp;, unsigned long identifier, DocumentLoader*, const ResourceError&amp;);
</span><span class="cx">     static void documentThreadableLoaderStartedLoadingForClientImpl(InstrumentingAgents&amp;, unsigned long identifier, ThreadableLoaderClient*);
</span><del>-    static void willLoadXHRImpl(InstrumentingAgents&amp;, ThreadableLoaderClient*, const String&amp;, const URL&amp;, bool, RefPtr&lt;FormData&gt;&amp;&amp;, const HTTPHeaderMap&amp;, bool);
</del><ins>+    static void willLoadXHRImpl(InstrumentingAgents&amp;, ThreadableLoaderClient*, const String&amp;, const URL&amp;, bool, PassRefPtr&lt;FormData&gt;, const HTTPHeaderMap&amp;, bool);
</ins><span class="cx">     static void didFailXHRLoadingImpl(InstrumentingAgents&amp;, ThreadableLoaderClient*);
</span><span class="cx">     static void didFinishXHRLoadingImpl(InstrumentingAgents&amp;, ThreadableLoaderClient*, unsigned long identifier, const String&amp; sourceString, const String&amp; url, const String&amp; sendURL, unsigned sendLineNumber, unsigned sendColumnNumber);
</span><span class="cx">     static void didReceiveXHRResponseImpl(InstrumentingAgents&amp;, unsigned long identifier);
</span><span class="lines">@@ -412,16 +412,16 @@
</span><span class="cx">     static InspectorInstrumentationCookie willWriteHTMLImpl(InstrumentingAgents&amp;, unsigned startLine, Frame*);
</span><span class="cx">     static void didWriteHTMLImpl(const InspectorInstrumentationCookie&amp;, unsigned endLine);
</span><span class="cx"> 
</span><del>-    static void addMessageToConsoleImpl(InstrumentingAgents&amp;, MessageSource, MessageType, MessageLevel, const String&amp; message, JSC::ExecState*, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp;, unsigned long requestIdentifier);
</del><ins>+    static void addMessageToConsoleImpl(InstrumentingAgents&amp;, MessageSource, MessageType, MessageLevel, const String&amp; message, JSC::ExecState*, PassRefPtr&lt;Inspector::ScriptArguments&gt;, unsigned long requestIdentifier);
</ins><span class="cx">     static void addMessageToConsoleImpl(InstrumentingAgents&amp;, MessageSource, MessageType, MessageLevel, const String&amp; message, const String&amp; scriptID, unsigned lineNumber, unsigned columnNumber, JSC::ExecState*, unsigned long requestIdentifier);
</span><span class="cx"> 
</span><span class="cx">     // FIXME: Remove once we no longer generate stacks outside of Inspector.
</span><del>-    static void addMessageToConsoleImpl(InstrumentingAgents&amp;, MessageSource, MessageType, MessageLevel, const String&amp; message, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp;, unsigned long requestIdentifier);
</del><ins>+    static void addMessageToConsoleImpl(InstrumentingAgents&amp;, MessageSource, MessageType, MessageLevel, const String&amp; message, PassRefPtr&lt;Inspector::ScriptCallStack&gt;, unsigned long requestIdentifier);
</ins><span class="cx"> 
</span><del>-    static void consoleCountImpl(InstrumentingAgents&amp;, JSC::ExecState*, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp;);
</del><ins>+    static void consoleCountImpl(InstrumentingAgents&amp;, JSC::ExecState*, PassRefPtr&lt;Inspector::ScriptArguments&gt;);
</ins><span class="cx">     static void startConsoleTimingImpl(InstrumentingAgents&amp;, Frame&amp;, const String&amp; title);
</span><del>-    static void stopConsoleTimingImpl(InstrumentingAgents&amp;, Frame&amp;, const String&amp; title, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp;);
-    static void consoleTimeStampImpl(InstrumentingAgents&amp;, Frame&amp;, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp;);
</del><ins>+    static void stopConsoleTimingImpl(InstrumentingAgents&amp;, Frame&amp;, const String&amp; title, PassRefPtr&lt;Inspector::ScriptCallStack&gt;);
+    static void consoleTimeStampImpl(InstrumentingAgents&amp;, Frame&amp;, PassRefPtr&lt;Inspector::ScriptArguments&gt;);
</ins><span class="cx"> 
</span><span class="cx">     static void didRequestAnimationFrameImpl(InstrumentingAgents&amp;, int callbackId, Frame*);
</span><span class="cx">     static void didCancelAnimationFrameImpl(InstrumentingAgents&amp;, int callbackId, Frame*);
</span><span class="lines">@@ -429,10 +429,10 @@
</span><span class="cx">     static void didFireAnimationFrameImpl(const InspectorInstrumentationCookie&amp;);
</span><span class="cx"> 
</span><span class="cx">     static void startProfilingImpl(InstrumentingAgents&amp;, JSC::ExecState*, const String&amp; title);
</span><del>-    static RefPtr&lt;JSC::Profile&gt; stopProfilingImpl(InstrumentingAgents&amp;, JSC::ExecState*, const String&amp; title);
</del><ins>+    static PassRefPtr&lt;JSC::Profile&gt; stopProfilingImpl(InstrumentingAgents&amp;, JSC::ExecState*, const String&amp; title);
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(SQL_DATABASE)
</span><del>-    static void didOpenDatabaseImpl(InstrumentingAgents&amp;, RefPtr&lt;Database&gt;&amp;&amp;, const String&amp; domain, const String&amp; name, const String&amp; version);
</del><ins>+    static void didOpenDatabaseImpl(InstrumentingAgents&amp;, PassRefPtr&lt;Database&gt;, const String&amp; domain, const String&amp; name, const String&amp; version);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     static void didDispatchDOMStorageEventImpl(InstrumentingAgents&amp;, const String&amp; key, const String&amp; oldValue, const String&amp; newValue, StorageType, SecurityOrigin*, Page*);
</span><span class="lines">@@ -442,13 +442,13 @@
</span><span class="cx">     static void workerGlobalScopeTerminatedImpl(InstrumentingAgents&amp;, WorkerGlobalScopeProxy*);
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(WEB_REPLAY)
</span><del>-    static void sessionCreatedImpl(InstrumentingAgents&amp;, RefPtr&lt;ReplaySession&gt;&amp;&amp;);
-    static void sessionLoadedImpl(InstrumentingAgents&amp;, RefPtr&lt;ReplaySession&gt;&amp;&amp;);
-    static void sessionModifiedImpl(InstrumentingAgents&amp;, RefPtr&lt;ReplaySession&gt;&amp;&amp;);
</del><ins>+    static void sessionCreatedImpl(InstrumentingAgents&amp;, PassRefPtr&lt;ReplaySession&gt;);
+    static void sessionLoadedImpl(InstrumentingAgents&amp;, PassRefPtr&lt;ReplaySession&gt;);
+    static void sessionModifiedImpl(InstrumentingAgents&amp;, PassRefPtr&lt;ReplaySession&gt;);
</ins><span class="cx"> 
</span><del>-    static void segmentCreatedImpl(InstrumentingAgents&amp;, RefPtr&lt;ReplaySessionSegment&gt;&amp;&amp;);
-    static void segmentCompletedImpl(InstrumentingAgents&amp;, RefPtr&lt;ReplaySessionSegment&gt;&amp;&amp;);
-    static void segmentLoadedImpl(InstrumentingAgents&amp;, RefPtr&lt;ReplaySessionSegment&gt;&amp;&amp;);
</del><ins>+    static void segmentCreatedImpl(InstrumentingAgents&amp;, PassRefPtr&lt;ReplaySessionSegment&gt;);
+    static void segmentCompletedImpl(InstrumentingAgents&amp;, PassRefPtr&lt;ReplaySessionSegment&gt;);
+    static void segmentLoadedImpl(InstrumentingAgents&amp;, PassRefPtr&lt;ReplaySessionSegment&gt;);
</ins><span class="cx">     static void segmentUnloadedImpl(InstrumentingAgents&amp;);
</span><span class="cx"> 
</span><span class="cx">     static void captureStartedImpl(InstrumentingAgents&amp;);
</span><span class="lines">@@ -1386,11 +1386,11 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentation::willLoadXHR(ScriptExecutionContext* context, ThreadableLoaderClient* client, const String&amp; method, const URL&amp; url, bool async, RefPtr&lt;FormData&gt;&amp;&amp; formData, const HTTPHeaderMap&amp; headers, bool includeCredentials)
</del><ins>+inline void InspectorInstrumentation::willLoadXHR(ScriptExecutionContext* context, ThreadableLoaderClient* client, const String&amp; method, const URL&amp; url, bool async, PassRefPtr&lt;FormData&gt; formData, const HTTPHeaderMap&amp; headers, bool includeCredentials)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx">     if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForContext(context))
</span><del>-        willLoadXHRImpl(*instrumentingAgents, client, method, url, async, WTF::move(formData), headers, includeCredentials);
</del><ins>+        willLoadXHRImpl(*instrumentingAgents, client, method, url, async, formData, headers, includeCredentials);
</ins><span class="cx"> #else
</span><span class="cx">     UNUSED_PARAM(context);
</span><span class="cx">     UNUSED_PARAM(client);
</span><span class="lines">@@ -1796,72 +1796,72 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(WEB_REPLAY)
</span><del>-inline void InspectorInstrumentation::sessionCreated(Page&amp; page, RefPtr&lt;ReplaySession&gt;&amp;&amp; session)
</del><ins>+inline void InspectorInstrumentation::sessionCreated(Page&amp; page, PassRefPtr&lt;ReplaySession&gt; session)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx">     FAST_RETURN_IF_NO_FRONTENDS(void());
</span><span class="cx">     if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForPage(page))
</span><del>-        sessionCreatedImpl(*instrumentingAgents, WTF::move(session));
</del><ins>+        sessionCreatedImpl(*instrumentingAgents, session);
</ins><span class="cx"> #else
</span><span class="cx">     UNUSED_PARAM(page);
</span><span class="cx">     UNUSED_PARAM(session);
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentation::sessionLoaded(Page&amp; page, RefPtr&lt;ReplaySession&gt;&amp;&amp; session)
</del><ins>+inline void InspectorInstrumentation::sessionLoaded(Page&amp; page, PassRefPtr&lt;ReplaySession&gt; session)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx">     FAST_RETURN_IF_NO_FRONTENDS(void());
</span><span class="cx">     if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForPage(page))
</span><del>-        sessionLoadedImpl(*instrumentingAgents, WTF::move(session));
</del><ins>+        sessionLoadedImpl(*instrumentingAgents, session);
</ins><span class="cx"> #else
</span><span class="cx">     UNUSED_PARAM(page);
</span><span class="cx">     UNUSED_PARAM(session);
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentation::sessionModified(Page&amp; page, RefPtr&lt;ReplaySession&gt;&amp;&amp; session)
</del><ins>+inline void InspectorInstrumentation::sessionModified(Page&amp; page, PassRefPtr&lt;ReplaySession&gt; session)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx">     FAST_RETURN_IF_NO_FRONTENDS(void());
</span><span class="cx">     if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForPage(page))
</span><del>-        sessionModifiedImpl(*instrumentingAgents, WTF::move(session));
</del><ins>+        sessionModifiedImpl(*instrumentingAgents, session);
</ins><span class="cx"> #else
</span><span class="cx">     UNUSED_PARAM(page);
</span><span class="cx">     UNUSED_PARAM(session);
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentation::segmentCreated(Page&amp; page, RefPtr&lt;ReplaySessionSegment&gt;&amp;&amp; segment)
</del><ins>+inline void InspectorInstrumentation::segmentCreated(Page&amp; page, PassRefPtr&lt;ReplaySessionSegment&gt; segment)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx">     FAST_RETURN_IF_NO_FRONTENDS(void());
</span><span class="cx">     if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForPage(page))
</span><del>-        segmentCreatedImpl(*instrumentingAgents, WTF::move(segment));
</del><ins>+        segmentCreatedImpl(*instrumentingAgents, segment);
</ins><span class="cx"> #else
</span><span class="cx">     UNUSED_PARAM(page);
</span><span class="cx">     UNUSED_PARAM(segment);
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentation::segmentCompleted(Page&amp; page, RefPtr&lt;ReplaySessionSegment&gt;&amp;&amp; segment)
</del><ins>+inline void InspectorInstrumentation::segmentCompleted(Page&amp; page, PassRefPtr&lt;ReplaySessionSegment&gt; segment)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx">     FAST_RETURN_IF_NO_FRONTENDS(void());
</span><span class="cx">     if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForPage(page))
</span><del>-        segmentCompletedImpl(*instrumentingAgents, WTF::move(segment));
</del><ins>+        segmentCompletedImpl(*instrumentingAgents, segment);
</ins><span class="cx"> #else
</span><span class="cx">     UNUSED_PARAM(page);
</span><span class="cx">     UNUSED_PARAM(segment);
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentation::segmentLoaded(Page&amp; page, RefPtr&lt;ReplaySessionSegment&gt;&amp;&amp; segment)
</del><ins>+inline void InspectorInstrumentation::segmentLoaded(Page&amp; page, PassRefPtr&lt;ReplaySessionSegment&gt; segment)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx">     FAST_RETURN_IF_NO_FRONTENDS(void());
</span><span class="cx">     if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForPage(page))
</span><del>-        segmentLoadedImpl(*instrumentingAgents, WTF::move(segment));
</del><ins>+        segmentLoadedImpl(*instrumentingAgents, segment);
</ins><span class="cx"> #else
</span><span class="cx">     UNUSED_PARAM(page);
</span><span class="cx">     UNUSED_PARAM(segment);
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorLayerTreeAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorLayerTreeAgent.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorLayerTreeAgent.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorLayerTreeAgent.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -146,7 +146,7 @@
</span><span class="cx">         gatherLayersUsingRenderLayerHierarchy(errorString, renderLayer, layers);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;Inspector::Protocol::LayerTree::Layer&gt; InspectorLayerTreeAgent::buildObjectForLayer(ErrorString&amp; errorString, RenderLayer* renderLayer)
</del><ins>+PassRefPtr&lt;Inspector::Protocol::LayerTree::Layer&gt; InspectorLayerTreeAgent::buildObjectForLayer(ErrorString&amp; errorString, RenderLayer* renderLayer)
</ins><span class="cx"> {
</span><span class="cx">     RenderObject* renderer = &amp;renderLayer-&gt;renderer();
</span><span class="cx">     RenderLayerBacking* backing = renderLayer-&gt;backing();
</span><span class="lines">@@ -166,14 +166,13 @@
</span><span class="cx">         node = renderer-&gt;parent()-&gt;element();
</span><span class="cx"> 
</span><span class="cx">     // Basic set of properties.
</span><del>-    auto layerObject = Inspector::Protocol::LayerTree::Layer::create()
</del><ins>+    RefPtr&lt;Inspector::Protocol::LayerTree::Layer&gt; layerObject = Inspector::Protocol::LayerTree::Layer::create()
</ins><span class="cx">         .setLayerId(bind(renderLayer))
</span><span class="cx">         .setNodeId(idForNode(errorString, node))
</span><span class="cx">         .setBounds(buildObjectForIntRect(renderer-&gt;absoluteBoundingBoxRect()))
</span><span class="cx">         .setMemory(backing-&gt;backingStoreMemoryEstimate())
</span><span class="cx">         .setCompositedBounds(buildObjectForIntRect(enclosingIntRect(backing-&gt;compositedBounds())))
</span><del>-        .setPaintCount(backing-&gt;graphicsLayer()-&gt;repaintCount())
-        .release();
</del><ins>+        .setPaintCount(backing-&gt;graphicsLayer()-&gt;repaintCount());
</ins><span class="cx"> 
</span><span class="cx">     if (node &amp;&amp; node-&gt;shadowHost())
</span><span class="cx">         layerObject-&gt;setIsInShadowTree(true);
</span><span class="lines">@@ -202,7 +201,7 @@
</span><span class="cx">             layerObject-&gt;setPseudoElement(&quot;first-line&quot;);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return WTF::move(layerObject);
</del><ins>+    return layerObject;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> int InspectorLayerTreeAgent::idForNode(ErrorString&amp; errorString, Node* node)
</span><span class="lines">@@ -219,17 +218,16 @@
</span><span class="cx">     return nodeId;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;Inspector::Protocol::LayerTree::IntRect&gt; InspectorLayerTreeAgent::buildObjectForIntRect(const IntRect&amp; rect)
</del><ins>+PassRefPtr&lt;Inspector::Protocol::LayerTree::IntRect&gt; InspectorLayerTreeAgent::buildObjectForIntRect(const IntRect&amp; rect)
</ins><span class="cx"> {
</span><span class="cx">     return Inspector::Protocol::LayerTree::IntRect::create()
</span><span class="cx">         .setX(rect.x())
</span><span class="cx">         .setY(rect.y())
</span><span class="cx">         .setWidth(rect.width())
</span><del>-        .setHeight(rect.height())
-        .release();
</del><ins>+        .setHeight(rect.height()).release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorLayerTreeAgent::reasonsForCompositingLayer(ErrorString&amp; errorString, const String&amp; layerId, RefPtr&lt;Inspector::Protocol::LayerTree::CompositingReasons&gt;&amp; compositingReasonsResult)
</del><ins>+void InspectorLayerTreeAgent::reasonsForCompositingLayer(ErrorString&amp; errorString, const String&amp; layerId, RefPtr&lt;Inspector::Protocol::LayerTree::CompositingReasons&gt;&amp; compositingReasons)
</ins><span class="cx"> {
</span><span class="cx">     const RenderLayer* renderLayer = m_idToLayer.get(layerId);
</span><span class="cx"> 
</span><span class="lines">@@ -239,7 +237,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     CompositingReasons reasonsBitmask = renderLayer-&gt;compositor().reasonsForCompositing(*renderLayer);
</span><del>-    auto compositingReasons = Inspector::Protocol::LayerTree::CompositingReasons::create().release();
</del><ins>+    compositingReasons = Inspector::Protocol::LayerTree::CompositingReasons::create();
</ins><span class="cx"> 
</span><span class="cx">     if (reasonsBitmask &amp; CompositingReason3DTransform)
</span><span class="cx">         compositingReasons-&gt;setTransform3D(true);
</span><span class="lines">@@ -312,8 +310,6 @@
</span><span class="cx"> 
</span><span class="cx">     if (reasonsBitmask &amp; CompositingReasonRoot)
</span><span class="cx">         compositingReasons-&gt;setRoot(true);
</span><del>-    
-    compositingReasonsResult = WTF::move(compositingReasons);
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> String InspectorLayerTreeAgent::bind(const RenderLayer* layer)
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorLayerTreeAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorLayerTreeAgent.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorLayerTreeAgent.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorLayerTreeAgent.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -75,8 +75,8 @@
</span><span class="cx">     void gatherLayersUsingRenderObjectHierarchy(ErrorString&amp;, RenderObject*, RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::LayerTree::Layer&gt;&gt;&amp;);
</span><span class="cx">     void gatherLayersUsingRenderLayerHierarchy(ErrorString&amp;, RenderLayer*, RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::LayerTree::Layer&gt;&gt;&amp;);
</span><span class="cx"> 
</span><del>-    Ref&lt;Inspector::Protocol::LayerTree::Layer&gt; buildObjectForLayer(ErrorString&amp;, RenderLayer*);
-    Ref&lt;Inspector::Protocol::LayerTree::IntRect&gt; buildObjectForIntRect(const IntRect&amp;);
</del><ins>+    PassRefPtr&lt;Inspector::Protocol::LayerTree::Layer&gt; buildObjectForLayer(ErrorString&amp;, RenderLayer*);
+    PassRefPtr&lt;Inspector::Protocol::LayerTree::IntRect&gt; buildObjectForIntRect(const IntRect&amp;);
</ins><span class="cx"> 
</span><span class="cx">     int idForNode(ErrorString&amp;, Node*);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorOverlaycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorOverlay.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorOverlay.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorOverlay.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -331,50 +331,50 @@
</span><span class="cx">     forcePaint();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static Ref&lt;InspectorObject&gt; buildObjectForPoint(const FloatPoint&amp; point)
</del><ins>+static PassRefPtr&lt;InspectorObject&gt; buildObjectForPoint(const FloatPoint&amp; point)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; object = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; object = InspectorObject::create();
</ins><span class="cx">     object-&gt;setDouble(ASCIILiteral(&quot;x&quot;), point.x());
</span><span class="cx">     object-&gt;setDouble(ASCIILiteral(&quot;y&quot;), point.y());
</span><del>-    return WTF::move(object);
</del><ins>+    return object.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static Ref&lt;InspectorObject&gt; buildObjectForRect(const FloatRect&amp; rect)
</del><ins>+static PassRefPtr&lt;InspectorObject&gt; buildObjectForRect(const FloatRect&amp; rect)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; object = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; object = InspectorObject::create();
</ins><span class="cx">     object-&gt;setDouble(ASCIILiteral(&quot;x&quot;), rect.x());
</span><span class="cx">     object-&gt;setDouble(ASCIILiteral(&quot;y&quot;), rect.y());
</span><span class="cx">     object-&gt;setDouble(ASCIILiteral(&quot;width&quot;), rect.width());
</span><span class="cx">     object-&gt;setDouble(ASCIILiteral(&quot;height&quot;), rect.height());
</span><del>-    return WTF::move(object);
</del><ins>+    return object.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static Ref&lt;InspectorArray&gt; buildArrayForQuad(const FloatQuad&amp; quad)
</del><ins>+static PassRefPtr&lt;InspectorArray&gt; buildArrayForQuad(const FloatQuad&amp; quad)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorArray&gt; array = InspectorArray::create();
</del><ins>+    RefPtr&lt;InspectorArray&gt; array = InspectorArray::create();
</ins><span class="cx">     array-&gt;pushObject(buildObjectForPoint(quad.p1()));
</span><span class="cx">     array-&gt;pushObject(buildObjectForPoint(quad.p2()));
</span><span class="cx">     array-&gt;pushObject(buildObjectForPoint(quad.p3()));
</span><span class="cx">     array-&gt;pushObject(buildObjectForPoint(quad.p4()));
</span><del>-    return WTF::move(array);
</del><ins>+    return array.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static Ref&lt;InspectorObject&gt; buildObjectForHighlight(const Highlight&amp; highlight)
</del><ins>+static PassRefPtr&lt;InspectorObject&gt; buildObjectForHighlight(const Highlight&amp; highlight)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; object = InspectorObject::create();
-    Ref&lt;InspectorArray&gt; array = InspectorArray::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; object = InspectorObject::create();
+    RefPtr&lt;InspectorArray&gt; array = InspectorArray::create();
</ins><span class="cx">     for (size_t i = 0; i &lt; highlight.quads.size(); ++i)
</span><span class="cx">         array-&gt;pushArray(buildArrayForQuad(highlight.quads[i]));
</span><del>-    object-&gt;setArray(&quot;quads&quot;, WTF::move(array));
</del><ins>+    object-&gt;setArray(&quot;quads&quot;, array.release());
</ins><span class="cx">     object-&gt;setString(&quot;contentColor&quot;, highlight.contentColor.serialized());
</span><span class="cx">     object-&gt;setString(&quot;contentOutlineColor&quot;, highlight.contentOutlineColor.serialized());
</span><span class="cx">     object-&gt;setString(&quot;paddingColor&quot;, highlight.paddingColor.serialized());
</span><span class="cx">     object-&gt;setString(&quot;borderColor&quot;, highlight.borderColor.serialized());
</span><span class="cx">     object-&gt;setString(&quot;marginColor&quot;, highlight.marginColor.serialized());
</span><del>-    return WTF::move(object);
</del><ins>+    return object.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static RefPtr&lt;InspectorObject&gt; buildObjectForRegionHighlight(FrameView* mainView, RenderRegion* region)
</del><ins>+static PassRefPtr&lt;InspectorObject&gt; buildObjectForRegionHighlight(FrameView* mainView, RenderRegion* region)
</ins><span class="cx"> {
</span><span class="cx">     FrameView* containingView = region-&gt;frame().view();
</span><span class="cx">     if (!containingView)
</span><span class="lines">@@ -406,20 +406,20 @@
</span><span class="cx">     contentsQuadToPage(mainView, containingView, incomingRectQuad);
</span><span class="cx">     contentsQuadToPage(mainView, containingView, outgoingRectQuad);
</span><span class="cx"> 
</span><del>-    Ref&lt;InspectorObject&gt; regionObject = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; regionObject = InspectorObject::create();
</ins><span class="cx"> 
</span><span class="cx">     regionObject-&gt;setArray(&quot;borderQuad&quot;, buildArrayForQuad(borderRectQuad));
</span><span class="cx">     regionObject-&gt;setArray(&quot;incomingQuad&quot;, buildArrayForQuad(incomingRectQuad));
</span><span class="cx">     regionObject-&gt;setArray(&quot;outgoingQuad&quot;, buildArrayForQuad(outgoingRectQuad));
</span><span class="cx"> 
</span><del>-    return WTF::move(regionObject);
</del><ins>+    return regionObject.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static Ref&lt;InspectorArray&gt; buildObjectForCSSRegionsHighlight(RenderRegion* region, RenderFlowThread* flowThread)
</del><ins>+static PassRefPtr&lt;InspectorArray&gt; buildObjectForCSSRegionsHighlight(RenderRegion* region, RenderFlowThread* flowThread)
</ins><span class="cx"> {
</span><span class="cx">     FrameView* mainFrameView = region-&gt;document().page()-&gt;mainFrame().view();
</span><span class="cx"> 
</span><del>-    Ref&lt;InspectorArray&gt; array = InspectorArray::create();
</del><ins>+    RefPtr&lt;InspectorArray&gt; array = InspectorArray::create();
</ins><span class="cx"> 
</span><span class="cx">     const RenderRegionList&amp; regionList = flowThread-&gt;renderRegionList();
</span><span class="cx">     for (auto&amp; iterRegion : regionList) {
</span><span class="lines">@@ -435,18 +435,18 @@
</span><span class="cx">         array-&gt;pushObject(regionHighlightObject.release());
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return WTF::move(array);
</del><ins>+    return array.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static Ref&lt;InspectorObject&gt; buildObjectForSize(const IntSize&amp; size)
</del><ins>+static PassRefPtr&lt;InspectorObject&gt; buildObjectForSize(const IntSize&amp; size)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; result = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();
</ins><span class="cx">     result-&gt;setInteger(&quot;width&quot;, size.width());
</span><span class="cx">     result-&gt;setInteger(&quot;height&quot;, size.height());
</span><del>-    return WTF::move(result);
</del><ins>+    return result.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static RefPtr&lt;InspectorObject&gt; buildObjectForCSSRegionContentClip(RenderRegion* region)
</del><ins>+static PassRefPtr&lt;InspectorObject&gt; buildObjectForCSSRegionContentClip(RenderRegion* region)
</ins><span class="cx"> {
</span><span class="cx">     Frame* containingFrame = region-&gt;document().frame();
</span><span class="cx">     if (!containingFrame)
</span><span class="lines">@@ -466,9 +466,9 @@
</span><span class="cx">     FloatQuad clipQuad = region-&gt;localToAbsoluteQuad(FloatRect(flippedRegionRect));
</span><span class="cx">     contentsQuadToPage(mainView, containingView, clipQuad);
</span><span class="cx"> 
</span><del>-    Ref&lt;InspectorObject&gt; regionObject = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; regionObject = InspectorObject::create();
</ins><span class="cx">     regionObject-&gt;setArray(&quot;quad&quot;, buildArrayForQuad(clipQuad));
</span><del>-    return WTF::move(regionObject);
</del><ins>+    return regionObject.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorOverlay::setShowingPaintRects(bool showingPaintRects)
</span><span class="lines">@@ -526,11 +526,11 @@
</span><span class="cx"> 
</span><span class="cx"> void InspectorOverlay::drawPaintRects()
</span><span class="cx"> {
</span><del>-    Ref&lt;InspectorArray&gt; fragmentsArray = InspectorArray::create();
</del><ins>+    RefPtr&lt;InspectorArray&gt; fragmentsArray = InspectorArray::create();
</ins><span class="cx">     for (const auto&amp; pair : m_paintRects)
</span><span class="cx">         fragmentsArray-&gt;pushObject(buildObjectForRect(pair.second));
</span><span class="cx"> 
</span><del>-    evaluateInOverlay(ASCIILiteral(&quot;updatePaintRects&quot;), WTF::move(fragmentsArray));
</del><ins>+    evaluateInOverlay(ASCIILiteral(&quot;updatePaintRects&quot;), fragmentsArray.release());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorOverlay::drawGutter()
</span><span class="lines">@@ -538,9 +538,9 @@
</span><span class="cx">     evaluateInOverlay(ASCIILiteral(&quot;drawGutter&quot;));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static RefPtr&lt;InspectorArray&gt; buildObjectForRendererFragments(RenderObject* renderer, const HighlightConfig&amp; config)
</del><ins>+static PassRefPtr&lt;InspectorArray&gt; buildObjectForRendererFragments(RenderObject* renderer, const HighlightConfig&amp; config)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorArray&gt; fragmentsArray = InspectorArray::create();
</del><ins>+    RefPtr&lt;InspectorArray&gt; fragmentsArray = InspectorArray::create();
</ins><span class="cx"> 
</span><span class="cx">     RenderFlowThread* containingFlowThread = renderer-&gt;flowThreadContainingBlock();
</span><span class="cx">     if (!containingFlowThread) {
</span><span class="lines">@@ -562,18 +562,18 @@
</span><span class="cx">                 // Compute the highlight of the fragment inside the current region.
</span><span class="cx">                 Highlight highlight;
</span><span class="cx">                 buildRendererHighlight(renderer, region, config, &amp;highlight, InspectorOverlay::CoordinateSystem::View);
</span><del>-                Ref&lt;InspectorObject&gt; fragmentObject = buildObjectForHighlight(highlight);
</del><ins>+                RefPtr&lt;InspectorObject&gt; fragmentObject = buildObjectForHighlight(highlight);
</ins><span class="cx"> 
</span><span class="cx">                 // Compute the clipping area of the region.
</span><span class="cx">                 fragmentObject-&gt;setObject(&quot;region&quot;, buildObjectForCSSRegionContentClip(region));
</span><del>-                fragmentsArray-&gt;pushObject(WTF::move(fragmentObject));
</del><ins>+                fragmentsArray-&gt;pushObject(fragmentObject.release());
</ins><span class="cx">             }
</span><span class="cx">             if (region == endRegion)
</span><span class="cx">                 break;
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return WTF::move(fragmentsArray);
</del><ins>+    return fragmentsArray.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(CSS_SHAPES)
</span><span class="lines">@@ -633,13 +633,13 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static RefPtr&lt;InspectorObject&gt; buildObjectForShapeOutside(Frame* containingFrame, RenderBox* renderer)
</del><ins>+static PassRefPtr&lt;InspectorObject&gt; buildObjectForShapeOutside(Frame* containingFrame, RenderBox* renderer)
</ins><span class="cx"> {
</span><span class="cx">     const ShapeOutsideInfo* shapeOutsideInfo = renderer-&gt;shapeOutsideInfo();
</span><span class="cx">     if (!shapeOutsideInfo)
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><del>-    Ref&lt;InspectorObject&gt; shapeObject = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; shapeObject = InspectorObject::create();
</ins><span class="cx">     LayoutRect shapeBounds = shapeOutsideInfo-&gt;computedShapePhysicalBoundingBox();
</span><span class="cx">     FloatQuad shapeQuad = renderer-&gt;localToAbsoluteQuad(FloatRect(shapeBounds));
</span><span class="cx">     contentsQuadToPage(containingFrame-&gt;page()-&gt;mainFrame().view(), containingFrame-&gt;view(), shapeQuad);
</span><span class="lines">@@ -649,39 +649,39 @@
</span><span class="cx">     shapeOutsideInfo-&gt;computedShape().buildDisplayPaths(paths);
</span><span class="cx"> 
</span><span class="cx">     if (paths.shape.length()) {
</span><del>-        Ref&lt;InspectorArray&gt; shapePath = InspectorArray::create();
</del><ins>+        RefPtr&lt;InspectorArray&gt; shapePath = InspectorArray::create();
</ins><span class="cx">         PathApplyInfo info;
</span><span class="cx">         info.rootView = containingFrame-&gt;page()-&gt;mainFrame().view();
</span><span class="cx">         info.view = containingFrame-&gt;view();
</span><del>-        info.array = &amp;shapePath.get();
</del><ins>+        info.array = shapePath.get();
</ins><span class="cx">         info.renderer = renderer;
</span><span class="cx">         info.shapeOutsideInfo = shapeOutsideInfo;
</span><span class="cx"> 
</span><span class="cx">         paths.shape.apply(&amp;info, &amp;appendPathSegment);
</span><span class="cx"> 
</span><del>-        shapeObject-&gt;setArray(ASCIILiteral(&quot;shape&quot;), shapePath.copyRef());
</del><ins>+        shapeObject-&gt;setArray(ASCIILiteral(&quot;shape&quot;), shapePath.release());
</ins><span class="cx"> 
</span><span class="cx">         if (paths.marginShape.length()) {
</span><span class="cx">             shapePath = InspectorArray::create();
</span><del>-            info.array = &amp;shapePath.get();
</del><ins>+            info.array = shapePath.get();
</ins><span class="cx"> 
</span><span class="cx">             paths.marginShape.apply(&amp;info, &amp;appendPathSegment);
</span><span class="cx"> 
</span><del>-            shapeObject-&gt;setArray(ASCIILiteral(&quot;marginShape&quot;), shapePath.copyRef());
</del><ins>+            shapeObject-&gt;setArray(ASCIILiteral(&quot;marginShape&quot;), shapePath.release());
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return WTF::move(shapeObject);
</del><ins>+    return shapeObject.release();
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-static RefPtr&lt;InspectorObject&gt; buildObjectForElementInfo(Node* node)
</del><ins>+static PassRefPtr&lt;InspectorObject&gt; buildObjectForElementInfo(Node* node)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(node);
</span><span class="cx">     if (!is&lt;Element&gt;(*node) || !node-&gt;document().frame())
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><del>-    Ref&lt;InspectorObject&gt; elementInfo = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; elementInfo = InspectorObject::create();
</ins><span class="cx"> 
</span><span class="cx">     Element&amp; element = downcast&lt;Element&gt;(*node);
</span><span class="cx">     bool isXHTML = element.document().isXHTMLDocument();
</span><span class="lines">@@ -746,10 +746,10 @@
</span><span class="cx">             elementInfo-&gt;setString(&quot;role&quot;, axObject-&gt;computedRoleString());
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return WTF::move(elementInfo);
</del><ins>+    return elementInfo.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;InspectorObject&gt; InspectorOverlay::buildObjectForHighlightedNode() const
</del><ins>+PassRefPtr&lt;InspectorObject&gt; InspectorOverlay::buildObjectForHighlightedNode() const
</ins><span class="cx"> {
</span><span class="cx">     if (!m_highlightNode)
</span><span class="cx">         return nullptr;
</span><span class="lines">@@ -763,7 +763,7 @@
</span><span class="cx">     if (!highlightFragments)
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><del>-    Ref&lt;InspectorObject&gt; highlightObject = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; highlightObject = InspectorObject::create();
</ins><span class="cx"> 
</span><span class="cx">     // The main view's scroll offset is shared across all quads.
</span><span class="cx">     FrameView* mainView = m_page.mainFrame().view();
</span><span class="lines">@@ -777,7 +777,7 @@
</span><span class="cx">             highlightObject-&gt;setObject(&quot;elementInfo&quot;, elementInfo.release());
</span><span class="cx">     }
</span><span class="cx">         
</span><del>-    return WTF::move(highlightObject);
</del><ins>+    return highlightObject.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorOverlay::drawNodeHighlight()
</span><span class="lines">@@ -859,33 +859,33 @@
</span><span class="cx"> 
</span><span class="cx"> void InspectorOverlay::reset(const IntSize&amp; viewportSize, const IntSize&amp; frameViewFullSize)
</span><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; resetData = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; resetData = InspectorObject::create();
</ins><span class="cx">     resetData-&gt;setDouble(&quot;deviceScaleFactor&quot;, m_page.deviceScaleFactor());
</span><span class="cx">     resetData-&gt;setObject(&quot;viewportSize&quot;, buildObjectForSize(viewportSize));
</span><span class="cx">     resetData-&gt;setObject(&quot;frameViewFullSize&quot;, buildObjectForSize(frameViewFullSize));
</span><del>-    evaluateInOverlay(&quot;reset&quot;, WTF::move(resetData));
</del><ins>+    evaluateInOverlay(&quot;reset&quot;, resetData.release());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorOverlay::evaluateInOverlay(const String&amp; method)
</span><span class="cx"> {
</span><del>-    Ref&lt;InspectorArray&gt; command = InspectorArray::create();
</del><ins>+    RefPtr&lt;InspectorArray&gt; command = InspectorArray::create();
</ins><span class="cx">     command-&gt;pushString(method);
</span><span class="cx">     overlayPage()-&gt;mainFrame().script().evaluate(ScriptSourceCode(makeString(&quot;dispatch(&quot;, command-&gt;toJSONString(), ')')));
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorOverlay::evaluateInOverlay(const String&amp; method, const String&amp; argument)
</span><span class="cx"> {
</span><del>-    Ref&lt;InspectorArray&gt; command = InspectorArray::create();
</del><ins>+    RefPtr&lt;InspectorArray&gt; command = InspectorArray::create();
</ins><span class="cx">     command-&gt;pushString(method);
</span><span class="cx">     command-&gt;pushString(argument);
</span><span class="cx">     overlayPage()-&gt;mainFrame().script().evaluate(ScriptSourceCode(makeString(&quot;dispatch(&quot;, command-&gt;toJSONString(), ')')));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorOverlay::evaluateInOverlay(const String&amp; method, RefPtr&lt;InspectorValue&gt;&amp;&amp; argument)
</del><ins>+void InspectorOverlay::evaluateInOverlay(const String&amp; method, PassRefPtr&lt;InspectorValue&gt; argument)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorArray&gt; command = InspectorArray::create();
</del><ins>+    RefPtr&lt;InspectorArray&gt; command = InspectorArray::create();
</ins><span class="cx">     command-&gt;pushString(method);
</span><del>-    command-&gt;pushValue(WTF::move(argument));
</del><ins>+    command-&gt;pushValue(argument);
</ins><span class="cx">     overlayPage()-&gt;mainFrame().script().evaluate(ScriptSourceCode(makeString(&quot;dispatch(&quot;, command-&gt;toJSONString(), ')')));
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorOverlayh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorOverlay.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorOverlay.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorOverlay.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -129,7 +129,7 @@
</span><span class="cx"> 
</span><span class="cx">     void setIndicating(bool indicating);
</span><span class="cx"> 
</span><del>-    RefPtr&lt;Inspector::InspectorObject&gt; buildObjectForHighlightedNode() const;
</del><ins>+    PassRefPtr&lt;Inspector::InspectorObject&gt; buildObjectForHighlightedNode() const;
</ins><span class="cx"> 
</span><span class="cx">     void freePage();
</span><span class="cx"> private:
</span><span class="lines">@@ -147,7 +147,7 @@
</span><span class="cx">     void reset(const IntSize&amp; viewportSize, const IntSize&amp; frameViewFullSize);
</span><span class="cx">     void evaluateInOverlay(const String&amp; method);
</span><span class="cx">     void evaluateInOverlay(const String&amp; method, const String&amp; argument);
</span><del>-    void evaluateInOverlay(const String&amp; method, RefPtr&lt;Inspector::InspectorValue&gt;&amp;&amp; argument);
</del><ins>+    void evaluateInOverlay(const String&amp; method, PassRefPtr&lt;Inspector::InspectorValue&gt; argument);
</ins><span class="cx"> 
</span><span class="cx">     Page&amp; m_page;
</span><span class="cx">     InspectorClient* m_client;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorPageAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorPageAgent.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorPageAgent.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorPageAgent.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -118,7 +118,7 @@
</span><span class="cx">     return type == InspectorPageAgent::DocumentResource || type == InspectorPageAgent::StylesheetResource || type == InspectorPageAgent::ScriptResource || type == InspectorPageAgent::XHRResource;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static RefPtr&lt;TextResourceDecoder&gt; createXHRTextDecoder(const String&amp; mimeType, const String&amp; textEncodingName)
</del><ins>+static PassRefPtr&lt;TextResourceDecoder&gt; createXHRTextDecoder(const String&amp; mimeType, const String&amp; textEncodingName)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;TextResourceDecoder&gt; decoder;
</span><span class="cx">     if (!textEncodingName.isEmpty())
</span><span class="lines">@@ -130,7 +130,7 @@
</span><span class="cx">         decoder = TextResourceDecoder::create(&quot;text/html&quot;, &quot;UTF-8&quot;);
</span><span class="cx">     else
</span><span class="cx">         decoder = TextResourceDecoder::create(&quot;text/plain&quot;, &quot;UTF-8&quot;);
</span><del>-    return WTF::move(decoder);
</del><ins>+    return decoder;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool InspectorPageAgent::cachedResourceContent(CachedResource* cachedResource, String* result, bool* base64Encoded)
</span><span class="lines">@@ -420,7 +420,7 @@
</span><span class="cx">     frame.loader().changeLocation(frame.document()-&gt;securityOrigin(), frame.document()-&gt;completeURL(url), &quot;&quot;, LockHistory::No, LockBackForwardList::No);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static Ref&lt;Inspector::Protocol::Page::Cookie&gt; buildObjectForCookie(const Cookie&amp; cookie)
</del><ins>+static PassRefPtr&lt;Inspector::Protocol::Page::Cookie&gt; buildObjectForCookie(const Cookie&amp; cookie)
</ins><span class="cx"> {
</span><span class="cx">     return Inspector::Protocol::Page::Cookie::create()
</span><span class="cx">         .setName(cookie.name)
</span><span class="lines">@@ -435,14 +435,14 @@
</span><span class="cx">         .release();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static Ref&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Page::Cookie&gt;&gt; buildArrayForCookies(ListHashSet&lt;Cookie&gt;&amp; cookiesList)
</del><ins>+static PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Page::Cookie&gt;&gt; buildArrayForCookies(ListHashSet&lt;Cookie&gt;&amp; cookiesList)
</ins><span class="cx"> {
</span><del>-    auto cookies = Inspector::Protocol::Array&lt;Inspector::Protocol::Page::Cookie&gt;::create();
</del><ins>+    RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Page::Cookie&gt;&gt; cookies = Inspector::Protocol::Array&lt;Inspector::Protocol::Page::Cookie&gt;::create();
</ins><span class="cx"> 
</span><del>-    for (const auto&amp; cookie : cookiesList)
</del><ins>+    for (auto&amp; cookie : cookiesList)
</ins><span class="cx">         cookies-&gt;addItem(buildObjectForCookie(cookie));
</span><span class="cx"> 
</span><del>-    return WTF::move(cookies);
</del><ins>+    return cookies;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static Vector&lt;CachedResource*&gt; cachedResourcesForFrame(Frame* frame)
</span><span class="lines">@@ -598,7 +598,7 @@
</span><span class="cx">     results = ContentSearchUtilities::searchInTextByLines(content, query, caseSensitive, isRegex);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static Ref&lt;Inspector::Protocol::Page::SearchResult&gt; buildObjectForSearchResult(const String&amp; frameId, const String&amp; url, int matchesCount)
</del><ins>+static PassRefPtr&lt;Inspector::Protocol::Page::SearchResult&gt; buildObjectForSearchResult(const String&amp; frameId, const String&amp; url, int matchesCount)
</ins><span class="cx"> {
</span><span class="cx">     return Inspector::Protocol::Page::SearchResult::create()
</span><span class="cx">         .setUrl(url)
</span><span class="lines">@@ -851,13 +851,13 @@
</span><span class="cx"> 
</span><span class="cx">     LayoutRect absoluteRect = LayoutRect(renderer-&gt;localToAbsoluteQuad(FloatRect(rect)).boundingBox());
</span><span class="cx">     FrameView* view = renderer-&gt;document().view();
</span><del>-
</del><ins>+    
</ins><span class="cx">     LayoutRect rootRect = absoluteRect;
</span><span class="cx">     if (!view-&gt;frame().isMainFrame()) {
</span><span class="cx">         IntRect rootViewRect = view-&gt;contentsToRootView(snappedIntRect(absoluteRect));
</span><span class="cx">         rootRect = view-&gt;frame().mainFrame().view()-&gt;rootViewToContents(rootViewRect);
</span><span class="cx">     }
</span><del>-
</del><ins>+    
</ins><span class="cx">     if (m_client-&gt;overridesShowPaintRects()) {
</span><span class="cx">         m_client-&gt;showPaintRect(rootRect);
</span><span class="cx">         return;
</span><span class="lines">@@ -898,15 +898,14 @@
</span><span class="cx">     m_frontendDispatcher-&gt;scriptsEnabled(isEnabled);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;Inspector::Protocol::Page::Frame&gt; InspectorPageAgent::buildObjectForFrame(Frame* frame)
</del><ins>+PassRefPtr&lt;Inspector::Protocol::Page::Frame&gt; InspectorPageAgent::buildObjectForFrame(Frame* frame)
</ins><span class="cx"> {
</span><del>-    auto frameObject = Inspector::Protocol::Page::Frame::create()
</del><ins>+    RefPtr&lt;Inspector::Protocol::Page::Frame&gt; frameObject = Inspector::Protocol::Page::Frame::create()
</ins><span class="cx">         .setId(frameId(frame))
</span><span class="cx">         .setLoaderId(loaderId(frame-&gt;loader().documentLoader()))
</span><span class="cx">         .setUrl(frame-&gt;document()-&gt;url().string())
</span><span class="cx">         .setMimeType(frame-&gt;loader().documentLoader()-&gt;responseMIMEType())
</span><del>-        .setSecurityOrigin(frame-&gt;document()-&gt;securityOrigin()-&gt;toRawString())
-        .release();
</del><ins>+        .setSecurityOrigin(frame-&gt;document()-&gt;securityOrigin()-&gt;toRawString());
</ins><span class="cx">     if (frame-&gt;tree().parent())
</span><span class="cx">         frameObject-&gt;setParentId(frameId(frame-&gt;tree().parent()));
</span><span class="cx">     if (frame-&gt;ownerElement()) {
</span><span class="lines">@@ -916,24 +915,22 @@
</span><span class="cx">         frameObject-&gt;setName(name);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return WTF::move(frameObject);
</del><ins>+    return frameObject;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;Inspector::Protocol::Page::FrameResourceTree&gt; InspectorPageAgent::buildObjectForFrameTree(Frame* frame)
</del><ins>+PassRefPtr&lt;Inspector::Protocol::Page::FrameResourceTree&gt; InspectorPageAgent::buildObjectForFrameTree(Frame* frame)
</ins><span class="cx"> {
</span><del>-    Ref&lt;Inspector::Protocol::Page::Frame&gt; frameObject = buildObjectForFrame(frame);
-    auto subresources = Inspector::Protocol::Array&lt;Inspector::Protocol::Page::FrameResource&gt;::create();
-    auto result = Inspector::Protocol::Page::FrameResourceTree::create()
-        .setFrame(WTF::move(frameObject))
-        .setResources(subresources.copyRef())
-        .release();
</del><ins>+    RefPtr&lt;Inspector::Protocol::Page::Frame&gt; frameObject = buildObjectForFrame(frame);
+    RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Page::FrameResource&gt;&gt; subresources = Inspector::Protocol::Array&lt;Inspector::Protocol::Page::FrameResource&gt;::create();
+    RefPtr&lt;Inspector::Protocol::Page::FrameResourceTree&gt; result = Inspector::Protocol::Page::FrameResourceTree::create()
+         .setFrame(frameObject)
+         .setResources(subresources);
</ins><span class="cx"> 
</span><span class="cx">     for (auto* cachedResource : cachedResourcesForFrame(frame)) {
</span><del>-        auto resourceObject = Inspector::Protocol::Page::FrameResource::create()
</del><ins>+        RefPtr&lt;Inspector::Protocol::Page::FrameResource&gt; resourceObject = Inspector::Protocol::Page::FrameResource::create()
</ins><span class="cx">             .setUrl(cachedResource-&gt;url())
</span><span class="cx">             .setType(cachedResourceTypeJson(*cachedResource))
</span><del>-            .setMimeType(cachedResource-&gt;response().mimeType())
-            .release();
</del><ins>+            .setMimeType(cachedResource-&gt;response().mimeType());
</ins><span class="cx">         if (cachedResource-&gt;wasCanceled())
</span><span class="cx">             resourceObject-&gt;setCanceled(true);
</span><span class="cx">         else if (cachedResource-&gt;status() == CachedResource::LoadError)
</span><span class="lines">@@ -941,7 +938,7 @@
</span><span class="cx">         String sourceMappingURL = InspectorPageAgent::sourceMapURLForResource(cachedResource);
</span><span class="cx">         if (!sourceMappingURL.isEmpty())
</span><span class="cx">             resourceObject-&gt;setSourceMapURL(sourceMappingURL);
</span><del>-        subresources-&gt;addItem(WTF::move(resourceObject));
</del><ins>+        subresources-&gt;addItem(resourceObject);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Page::FrameResourceTree&gt;&gt; childrenArray;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorPageAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorPageAgent.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorPageAgent.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorPageAgent.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -166,8 +166,8 @@
</span><span class="cx">     static bool mainResourceContent(Frame*, bool withBase64Encode, String* result);
</span><span class="cx">     static bool dataContent(const char* data, unsigned size, const String&amp; textEncodingName, bool withBase64Encode, String* result);
</span><span class="cx"> 
</span><del>-    Ref&lt;Inspector::Protocol::Page::Frame&gt; buildObjectForFrame(Frame*);
-    Ref&lt;Inspector::Protocol::Page::FrameResourceTree&gt; buildObjectForFrameTree(Frame*);
</del><ins>+    PassRefPtr&lt;Inspector::Protocol::Page::Frame&gt; buildObjectForFrame(Frame*);
+    PassRefPtr&lt;Inspector::Protocol::Page::FrameResourceTree&gt; buildObjectForFrameTree(Frame*);
</ins><span class="cx">     Page* m_page;
</span><span class="cx">     InspectorClient* m_client;
</span><span class="cx">     std::unique_ptr&lt;Inspector::InspectorPageFrontendDispatcher&gt; m_frontendDispatcher;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorReplayAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorReplayAgent.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorReplayAgent.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorReplayAgent.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -54,36 +54,40 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-static Ref&lt;Inspector::Protocol::Replay::ReplayPosition&gt; buildInspectorObjectForPosition(const ReplayPosition&amp; position)
</del><ins>+static PassRefPtr&lt;Inspector::Protocol::Replay::ReplayPosition&gt; buildInspectorObjectForPosition(const ReplayPosition&amp; position)
</ins><span class="cx"> {
</span><del>-    return Inspector::Protocol::Replay::ReplayPosition::create()
</del><ins>+    RefPtr&lt;Inspector::Protocol::Replay::ReplayPosition&gt; positionObject = Inspector::Protocol::Replay::ReplayPosition::create()
</ins><span class="cx">         .setSegmentOffset(position.segmentOffset)
</span><del>-        .setInputOffset(position.inputOffset)
-        .release();
</del><ins>+        .setInputOffset(position.inputOffset);
+
+    return positionObject.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static Ref&lt;Inspector::Protocol::Replay::ReplayInput&gt; buildInspectorObjectForInput(const NondeterministicInputBase&amp; input, size_t offset)
</del><ins>+static PassRefPtr&lt;Inspector::Protocol::Replay::ReplayInput&gt; buildInspectorObjectForInput(const NondeterministicInputBase&amp; input, size_t offset)
</ins><span class="cx"> {
</span><span class="cx">     EncodedValue encodedInput = EncodingTraits&lt;NondeterministicInputBase&gt;::encodeValue(input);
</span><del>-    return Inspector::Protocol::Replay::ReplayInput::create()
</del><ins>+    RefPtr&lt;Inspector::Protocol::Replay::ReplayInput&gt; inputObject = Inspector::Protocol::Replay::ReplayInput::create()
</ins><span class="cx">         .setType(input.type())
</span><span class="cx">         .setOffset(offset)
</span><del>-        .setData(encodedInput.asObject())
-        .release();
</del><ins>+        .setData(encodedInput.asObject());
+
+    return inputObject.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static Ref&lt;Inspector::Protocol::Replay::ReplaySession&gt; buildInspectorObjectForSession(RefPtr&lt;ReplaySession&gt;&amp;&amp; session)
</del><ins>+static PassRefPtr&lt;Inspector::Protocol::Replay::ReplaySession&gt; buildInspectorObjectForSession(PassRefPtr&lt;ReplaySession&gt; prpSession)
</ins><span class="cx"> {
</span><del>-    auto segments = Inspector::Protocol::Array&lt;SegmentIdentifier&gt;::create();
</del><ins>+    RefPtr&lt;ReplaySession&gt; session = prpSession;
+    RefPtr&lt;Inspector::Protocol::Array&lt;SegmentIdentifier&gt;&gt; segments = Inspector::Protocol::Array&lt;SegmentIdentifier&gt;::create();
</ins><span class="cx"> 
</span><span class="cx">     for (auto it = session-&gt;begin(); it != session-&gt;end(); ++it)
</span><span class="cx">         segments-&gt;addItem((*it)-&gt;identifier());
</span><span class="cx"> 
</span><del>-    return Inspector::Protocol::Replay::ReplaySession::create()
</del><ins>+    RefPtr&lt;Inspector::Protocol::Replay::ReplaySession&gt; sessionObject = Inspector::Protocol::Replay::ReplaySession::create()
</ins><span class="cx">         .setId(session-&gt;identifier())
</span><span class="cx">         .setTimestamp(session-&gt;timestamp())
</span><del>-        .setSegments(WTF::move(segments))
-        .release();
</del><ins>+        .setSegments(segments.release());
+
+    return sessionObject.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static Inspector::Protocol::Replay::SessionState buildInspectorObjectForSessionState(WebCore::SessionState sessionState)
</span><span class="lines">@@ -107,7 +111,7 @@
</span><span class="cx"> 
</span><span class="cx"> class SerializeInputToJSONFunctor {
</span><span class="cx"> public:
</span><del>-    typedef RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Replay::ReplayInput&gt;&gt; ReturnType;
</del><ins>+    typedef PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Replay::ReplayInput&gt;&gt; ReturnType;
</ins><span class="cx"> 
</span><span class="cx">     SerializeInputToJSONFunctor()
</span><span class="cx">         : m_inputs(Inspector::Protocol::Array&lt;Inspector::Protocol::Replay::ReplayInput&gt;::create()) { }
</span><span class="lines">@@ -126,28 +130,30 @@
</span><span class="cx">     RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Replay::ReplayInput&gt;&gt; m_inputs;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static Ref&lt;Inspector::Protocol::Replay::SessionSegment&gt; buildInspectorObjectForSegment(RefPtr&lt;ReplaySessionSegment&gt;&amp;&amp; segment)
</del><ins>+static PassRefPtr&lt;Inspector::Protocol::Replay::SessionSegment&gt; buildInspectorObjectForSegment(PassRefPtr&lt;ReplaySessionSegment&gt; prpSegment)
</ins><span class="cx"> {
</span><del>-    auto queuesObject = Inspector::Protocol::Array&lt;Inspector::Protocol::Replay::ReplayInputQueue&gt;::create();
</del><ins>+    RefPtr&lt;ReplaySessionSegment&gt; segment = prpSegment;
+    RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Replay::ReplayInputQueue&gt;&gt; queuesObject = Inspector::Protocol::Array&lt;Inspector::Protocol::Replay::ReplayInputQueue&gt;::create();
</ins><span class="cx"> 
</span><span class="cx">     for (size_t i = 0; i &lt; static_cast&lt;size_t&gt;(InputQueue::Count); i++) {
</span><span class="cx">         SerializeInputToJSONFunctor collector;
</span><span class="cx">         InputQueue queue = static_cast&lt;InputQueue&gt;(i);
</span><del>-        RefPtr&lt;FunctorInputCursor&gt; functorCursor = FunctorInputCursor::create(segment.copyRef());
</del><ins>+        RefPtr&lt;FunctorInputCursor&gt; functorCursor = FunctorInputCursor::create(segment);
</ins><span class="cx">         RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Replay::ReplayInput&gt;&gt; queueInputs = functorCursor-&gt;forEachInputInQueue(queue, collector);
</span><span class="cx"> 
</span><del>-        auto queueObject = Inspector::Protocol::Replay::ReplayInputQueue::create()
</del><ins>+        RefPtr&lt;Inspector::Protocol::Replay::ReplayInputQueue&gt; queueObject = Inspector::Protocol::Replay::ReplayInputQueue::create()
</ins><span class="cx">             .setType(EncodingTraits&lt;InputQueue&gt;::encodeValue(queue).convertTo&lt;String&gt;())
</span><del>-            .setInputs(queueInputs)
-            .release();
-        queuesObject-&gt;addItem(WTF::move(queueObject));
</del><ins>+            .setInputs(queueInputs);
+
+        queuesObject-&gt;addItem(queueObject.release());
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return Inspector::Protocol::Replay::SessionSegment::create()
</del><ins>+    RefPtr&lt;Inspector::Protocol::Replay::SessionSegment&gt; segmentObject = Inspector::Protocol::Replay::SessionSegment::create()
</ins><span class="cx">         .setId(segment-&gt;identifier())
</span><span class="cx">         .setTimestamp(segment-&gt;timestamp())
</span><del>-        .setQueues(WTF::move(queuesObject))
-        .release();
</del><ins>+        .setQueues(queuesObject.release());
+
+    return segmentObject.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> InspectorReplayAgent::InspectorReplayAgent(InstrumentingAgents* instrumentingAgents, InspectorPageAgent* pageAgent)
</span><span class="lines">@@ -331,7 +337,7 @@
</span><span class="cx">     m_page.replayController().stopCapturing();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorReplayAgent::replayToPosition(ErrorString&amp; errorString, const RefPtr&lt;InspectorObject&gt;&amp;&amp; positionObject, bool fastReplay)
</del><ins>+void InspectorReplayAgent::replayToPosition(ErrorString&amp; errorString, const RefPtr&lt;InspectorObject&gt;&amp; positionObject, bool fastReplay)
</ins><span class="cx"> {
</span><span class="cx">     ReplayPosition position;
</span><span class="cx">     if (!positionObject-&gt;getInteger(ASCIILiteral(&quot;segmentOffset&quot;), position.segmentOffset)) {
</span><span class="lines">@@ -501,7 +507,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    serializedObject = buildInspectorObjectForSession(WTF::move(session));
</del><ins>+    serializedObject = buildInspectorObjectForSession(session);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorReplayAgent::getSegmentData(ErrorString&amp; errorString, Inspector::Protocol::Replay::SegmentIdentifier identifier, RefPtr&lt;Inspector::Protocol::Replay::SessionSegment&gt;&amp; serializedObject)
</span><span class="lines">@@ -512,7 +518,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    serializedObject = buildInspectorObjectForSegment(WTF::move(segment));
</del><ins>+    serializedObject = buildInspectorObjectForSegment(segment);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorReplayAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorReplayAgent.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorReplayAgent.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorReplayAgent.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -95,7 +95,7 @@
</span><span class="cx">     virtual void startCapturing(ErrorString&amp;) override;
</span><span class="cx">     virtual void stopCapturing(ErrorString&amp;) override;
</span><span class="cx"> 
</span><del>-    virtual void replayToPosition(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp;, bool shouldFastForward) override;
</del><ins>+    virtual void replayToPosition(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;, bool shouldFastForward) override;
</ins><span class="cx">     virtual void replayToCompletion(ErrorString&amp;, bool shouldFastForward) override;
</span><span class="cx">     virtual void pausePlayback(ErrorString&amp;) override;
</span><span class="cx">     virtual void cancelPlayback(ErrorString&amp;) override;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorResourceAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -190,16 +190,16 @@
</span><span class="cx">     disable(unused);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static Ref&lt;InspectorObject&gt; buildObjectForHeaders(const HTTPHeaderMap&amp; headers)
</del><ins>+static PassRefPtr&lt;InspectorObject&gt; buildObjectForHeaders(const HTTPHeaderMap&amp; headers)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; headersObject = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; headersObject = InspectorObject::create();
</ins><span class="cx">     
</span><span class="cx">     for (const auto&amp; header : headers)
</span><span class="cx">         headersObject-&gt;setString(header.key, header.value);
</span><del>-    return WTF::move(headersObject);
</del><ins>+    return headersObject;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static Ref&lt;Inspector::Protocol::Network::ResourceTiming&gt; buildObjectForTiming(const ResourceLoadTiming&amp; timing, DocumentLoader* loader)
</del><ins>+static PassRefPtr&lt;Inspector::Protocol::Network::ResourceTiming&gt; buildObjectForTiming(const ResourceLoadTiming&amp; timing, DocumentLoader* loader)
</ins><span class="cx"> {
</span><span class="cx">     return Inspector::Protocol::Network::ResourceTiming::create()
</span><span class="cx">         .setNavigationStart(loader-&gt;timing()-&gt;navigationStart())
</span><span class="lines">@@ -213,56 +213,54 @@
</span><span class="cx">         .release();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static Ref&lt;Inspector::Protocol::Network::Request&gt; buildObjectForResourceRequest(const ResourceRequest&amp; request)
</del><ins>+static PassRefPtr&lt;Inspector::Protocol::Network::Request&gt; buildObjectForResourceRequest(const ResourceRequest&amp; request)
</ins><span class="cx"> {
</span><del>-    auto requestObject = Inspector::Protocol::Network::Request::create()
</del><ins>+    RefPtr&lt;Inspector::Protocol::Network::Request&gt; requestObject = Inspector::Protocol::Network::Request::create()
</ins><span class="cx">         .setUrl(request.url().string())
</span><span class="cx">         .setMethod(request.httpMethod())
</span><del>-        .setHeaders(buildObjectForHeaders(request.httpHeaderFields()))
-        .release();
</del><ins>+        .setHeaders(buildObjectForHeaders(request.httpHeaderFields()));
</ins><span class="cx">     if (request.httpBody() &amp;&amp; !request.httpBody()-&gt;isEmpty())
</span><span class="cx">         requestObject-&gt;setPostData(request.httpBody()-&gt;flattenToString());
</span><del>-    return WTF::move(requestObject);
</del><ins>+    return requestObject;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static RefPtr&lt;Inspector::Protocol::Network::Response&gt; buildObjectForResourceResponse(const ResourceResponse&amp; response, DocumentLoader* loader)
</del><ins>+static PassRefPtr&lt;Inspector::Protocol::Network::Response&gt; buildObjectForResourceResponse(const ResourceResponse&amp; response, DocumentLoader* loader)
</ins><span class="cx"> {
</span><span class="cx">     if (response.isNull())
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="cx">     double status = response.httpStatusCode();
</span><del>-    Ref&lt;InspectorObject&gt; headers = buildObjectForHeaders(response.httpHeaderFields());
</del><ins>+    RefPtr&lt;InspectorObject&gt; headers = buildObjectForHeaders(response.httpHeaderFields());
</ins><span class="cx"> 
</span><del>-    auto responseObject = Inspector::Protocol::Network::Response::create()
</del><ins>+    RefPtr&lt;Inspector::Protocol::Network::Response&gt; responseObject = Inspector::Protocol::Network::Response::create()
</ins><span class="cx">         .setUrl(response.url().string())
</span><span class="cx">         .setStatus(status)
</span><span class="cx">         .setStatusText(response.httpStatusText())
</span><del>-        .setHeaders(WTF::move(headers))
-        .setMimeType(response.mimeType())
-        .release();
</del><ins>+        .setHeaders(headers)
+        .setMimeType(response.mimeType());
</ins><span class="cx"> 
</span><span class="cx">     responseObject-&gt;setFromDiskCache(response.source() == ResourceResponse::Source::DiskCache || response.source() == ResourceResponse::Source::DiskCacheAfterValidation);
</span><span class="cx">     responseObject-&gt;setTiming(buildObjectForTiming(response.resourceLoadTiming(), loader));
</span><span class="cx"> 
</span><del>-    return WTF::move(responseObject);
</del><ins>+    return responseObject;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static Ref&lt;Inspector::Protocol::Network::CachedResource&gt; buildObjectForCachedResource(CachedResource* cachedResource, DocumentLoader* loader)
</del><ins>+static PassRefPtr&lt;Inspector::Protocol::Network::CachedResource&gt; buildObjectForCachedResource(CachedResource* cachedResource, DocumentLoader* loader)
</ins><span class="cx"> {
</span><del>-    auto resourceObject = Inspector::Protocol::Network::CachedResource::create()
</del><ins>+    RefPtr&lt;Inspector::Protocol::Network::CachedResource&gt; resourceObject = Inspector::Protocol::Network::CachedResource::create()
</ins><span class="cx">         .setUrl(cachedResource-&gt;url())
</span><span class="cx">         .setType(InspectorPageAgent::cachedResourceTypeJson(*cachedResource))
</span><del>-        .setBodySize(cachedResource-&gt;encodedSize())
-        .release();
</del><ins>+        .setBodySize(cachedResource-&gt;encodedSize());
</ins><span class="cx"> 
</span><del>-    auto resourceResponse = buildObjectForResourceResponse(cachedResource-&gt;response(), loader);
-    resourceObject-&gt;setResponse(WTF::move(resourceResponse));
</del><ins>+    RefPtr&lt;Inspector::Protocol::Network::Response&gt; resourceResponse = buildObjectForResourceResponse(cachedResource-&gt;response(), loader);
+    if (resourceResponse)
+        resourceObject-&gt;setResponse(resourceResponse);
</ins><span class="cx"> 
</span><span class="cx">     String sourceMappingURL = InspectorPageAgent::sourceMapURLForResource(cachedResource);
</span><span class="cx">     if (!sourceMappingURL.isEmpty())
</span><span class="cx">         resourceObject-&gt;setSourceMapURL(sourceMappingURL);
</span><span class="cx"> 
</span><del>-    return WTF::move(resourceObject);
</del><ins>+    return resourceObject;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> InspectorResourceAgent::~InspectorResourceAgent()
</span><span class="lines">@@ -484,9 +482,9 @@
</span><span class="cx">     m_resourcesData-&gt;setXHRReplayData(requestId, xhrReplayData);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorResourceAgent::willLoadXHR(ThreadableLoaderClient* client, const String&amp; method, const URL&amp; url, bool async, RefPtr&lt;FormData&gt;&amp;&amp; formData, const HTTPHeaderMap&amp; headers, bool includeCredentials)
</del><ins>+void InspectorResourceAgent::willLoadXHR(ThreadableLoaderClient* client, const String&amp; method, const URL&amp; url, bool async, PassRefPtr&lt;FormData&gt; formData, const HTTPHeaderMap&amp; headers, bool includeCredentials)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;XHRReplayData&gt; xhrReplayData = XHRReplayData::create(method, url, async, WTF::move(formData), headers, includeCredentials);
</del><ins>+    RefPtr&lt;XHRReplayData&gt; xhrReplayData = XHRReplayData::create(method, url, async, formData, headers, includeCredentials);
</ins><span class="cx"> 
</span><span class="cx">     m_pendingXHRReplayData.set(client, WTF::move(xhrReplayData));
</span><span class="cx"> }
</span><span class="lines">@@ -552,24 +550,22 @@
</span><span class="cx">         m_styleRecalculationInitiator = buildInitiatorObject(&amp;document);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;Inspector::Protocol::Network::Initiator&gt; InspectorResourceAgent::buildInitiatorObject(Document* document)
</del><ins>+PassRefPtr&lt;Inspector::Protocol::Network::Initiator&gt; InspectorResourceAgent::buildInitiatorObject(Document* document)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;ScriptCallStack&gt; stackTrace = createScriptCallStack(JSMainThreadExecState::currentState(), ScriptCallStack::maxCallStackSizeToCapture);
</span><span class="cx">     if (stackTrace &amp;&amp; stackTrace-&gt;size() &gt; 0) {
</span><del>-        auto initiatorObject = Inspector::Protocol::Network::Initiator::create()
-            .setType(Inspector::Protocol::Network::Initiator::Type::Script)
-            .release();
</del><ins>+        RefPtr&lt;Inspector::Protocol::Network::Initiator&gt; initiatorObject = Inspector::Protocol::Network::Initiator::create()
+            .setType(Inspector::Protocol::Network::Initiator::Type::Script);
</ins><span class="cx">         initiatorObject-&gt;setStackTrace(stackTrace-&gt;buildInspectorArray());
</span><del>-        return WTF::move(initiatorObject);
</del><ins>+        return initiatorObject;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (document &amp;&amp; document-&gt;scriptableDocumentParser()) {
</span><del>-        auto initiatorObject = Inspector::Protocol::Network::Initiator::create()
-            .setType(Inspector::Protocol::Network::Initiator::Type::Parser)
-            .release();
</del><ins>+        RefPtr&lt;Inspector::Protocol::Network::Initiator&gt; initiatorObject = Inspector::Protocol::Network::Initiator::create()
+            .setType(Inspector::Protocol::Network::Initiator::Type::Parser);
</ins><span class="cx">         initiatorObject-&gt;setUrl(document-&gt;url().string());
</span><span class="cx">         initiatorObject-&gt;setLineNumber(document-&gt;scriptableDocumentParser()-&gt;textPosition().m_line.oneBasedInt());
</span><del>-        return WTF::move(initiatorObject);
</del><ins>+        return initiatorObject;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (m_isRecalculatingStyle &amp;&amp; m_styleRecalculationInitiator)
</span><span class="lines">@@ -589,20 +585,18 @@
</span><span class="cx"> 
</span><span class="cx"> void InspectorResourceAgent::willSendWebSocketHandshakeRequest(unsigned long identifier, const ResourceRequest&amp; request)
</span><span class="cx"> {
</span><del>-    auto requestObject = Inspector::Protocol::Network::WebSocketRequest::create()
-        .setHeaders(buildObjectForHeaders(request.httpHeaderFields()))
-        .release();
-    m_frontendDispatcher-&gt;webSocketWillSendHandshakeRequest(IdentifiersFactory::requestId(identifier), timestamp(), WTF::move(requestObject));
</del><ins>+    RefPtr&lt;Inspector::Protocol::Network::WebSocketRequest&gt; requestObject = Inspector::Protocol::Network::WebSocketRequest::create()
+        .setHeaders(buildObjectForHeaders(request.httpHeaderFields()));
+    m_frontendDispatcher-&gt;webSocketWillSendHandshakeRequest(IdentifiersFactory::requestId(identifier), timestamp(), requestObject);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorResourceAgent::didReceiveWebSocketHandshakeResponse(unsigned long identifier, const ResourceResponse&amp; response)
</span><span class="cx"> {
</span><del>-    auto responseObject = Inspector::Protocol::Network::WebSocketResponse::create()
</del><ins>+    RefPtr&lt;Inspector::Protocol::Network::WebSocketResponse&gt; responseObject = Inspector::Protocol::Network::WebSocketResponse::create()
</ins><span class="cx">         .setStatus(response.httpStatusCode())
</span><span class="cx">         .setStatusText(response.httpStatusText())
</span><del>-        .setHeaders(buildObjectForHeaders(response.httpHeaderFields()))
-        .release();
-    m_frontendDispatcher-&gt;webSocketHandshakeResponseReceived(IdentifiersFactory::requestId(identifier), timestamp(), WTF::move(responseObject));
</del><ins>+        .setHeaders(buildObjectForHeaders(response.httpHeaderFields()));
+    m_frontendDispatcher-&gt;webSocketHandshakeResponseReceived(IdentifiersFactory::requestId(identifier), timestamp(), responseObject);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorResourceAgent::didCloseWebSocket(unsigned long identifier)
</span><span class="lines">@@ -612,22 +606,20 @@
</span><span class="cx"> 
</span><span class="cx"> void InspectorResourceAgent::didReceiveWebSocketFrame(unsigned long identifier, const WebSocketFrame&amp; frame)
</span><span class="cx"> {
</span><del>-    auto frameObject = Inspector::Protocol::Network::WebSocketFrame::create()
</del><ins>+    RefPtr&lt;Inspector::Protocol::Network::WebSocketFrame&gt; frameObject = Inspector::Protocol::Network::WebSocketFrame::create()
</ins><span class="cx">         .setOpcode(frame.opCode)
</span><span class="cx">         .setMask(frame.masked)
</span><del>-        .setPayloadData(String(frame.payload, frame.payloadLength))
-        .release();
-    m_frontendDispatcher-&gt;webSocketFrameReceived(IdentifiersFactory::requestId(identifier), timestamp(), WTF::move(frameObject));
</del><ins>+        .setPayloadData(String(frame.payload, frame.payloadLength));
+    m_frontendDispatcher-&gt;webSocketFrameReceived(IdentifiersFactory::requestId(identifier), timestamp(), frameObject);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorResourceAgent::didSendWebSocketFrame(unsigned long identifier, const WebSocketFrame&amp; frame)
</span><span class="cx"> {
</span><del>-    auto frameObject = Inspector::Protocol::Network::WebSocketFrame::create()
</del><ins>+    RefPtr&lt;Inspector::Protocol::Network::WebSocketFrame&gt; frameObject = Inspector::Protocol::Network::WebSocketFrame::create()
</ins><span class="cx">         .setOpcode(frame.opCode)
</span><span class="cx">         .setMask(frame.masked)
</span><del>-        .setPayloadData(String(frame.payload, frame.payloadLength))
-        .release();
-    m_frontendDispatcher-&gt;webSocketFrameSent(IdentifiersFactory::requestId(identifier), timestamp(), WTF::move(frameObject));
</del><ins>+        .setPayloadData(String(frame.payload, frame.payloadLength));
+    m_frontendDispatcher-&gt;webSocketFrameSent(IdentifiersFactory::requestId(identifier), timestamp(), frameObject);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorResourceAgent::didReceiveWebSocketFrameError(unsigned long identifier, const String&amp; errorMessage)
</span><span class="lines">@@ -658,9 +650,9 @@
</span><span class="cx">     m_extraRequestHeaders.clear();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorResourceAgent::setExtraHTTPHeaders(ErrorString&amp;, const RefPtr&lt;InspectorObject&gt;&amp;&amp; headers)
</del><ins>+void InspectorResourceAgent::setExtraHTTPHeaders(ErrorString&amp;, const RefPtr&lt;InspectorObject&gt;&amp; headers)
</ins><span class="cx"> {
</span><del>-    m_extraRequestHeaders = headers.copyRef();
</del><ins>+    m_extraRequestHeaders = headers;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorResourceAgent::getResponseBody(ErrorString&amp; errorString, const String&amp; requestId, String* content, bool* base64Encoded)
</span><span class="lines">@@ -747,7 +739,7 @@
</span><span class="cx">         memoryCache().evictResources();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorResourceAgent::loadResource(ErrorString&amp; errorString, const String&amp; frameId, const String&amp; urlString, Ref&lt;LoadResourceCallback&gt;&amp;&amp; callback)
</del><ins>+void InspectorResourceAgent::loadResource(ErrorString&amp; errorString, const String&amp; frameId, const String&amp; urlString, PassRefPtr&lt;LoadResourceCallback&gt; prpCallback)
</ins><span class="cx"> {
</span><span class="cx">     Frame* frame = m_pageAgent-&gt;assertFrame(errorString, frameId);
</span><span class="cx">     if (!frame)
</span><span class="lines">@@ -759,6 +751,8 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><ins>+    RefPtr&lt;LoadResourceCallback&gt; callback = prpCallback;
+
</ins><span class="cx">     URL url = document-&gt;completeURL(urlString);
</span><span class="cx">     ResourceRequest request(url);
</span><span class="cx">     request.setHTTPMethod(ASCIILiteral(&quot;GET&quot;));
</span><span class="lines">@@ -770,7 +764,7 @@
</span><span class="cx">     options.crossOriginRequestPolicy = AllowCrossOriginRequests;
</span><span class="cx"> 
</span><span class="cx">     // InspectorThreadableLoaderClient deletes itself when the load completes.
</span><del>-    InspectorThreadableLoaderClient* inspectorThreadableLoaderClient = new InspectorThreadableLoaderClient(WTF::move(callback));
</del><ins>+    InspectorThreadableLoaderClient* inspectorThreadableLoaderClient = new InspectorThreadableLoaderClient(callback);
</ins><span class="cx"> 
</span><span class="cx">     RefPtr&lt;DocumentThreadableLoader&gt; loader = DocumentThreadableLoader::create(*document, *inspectorThreadableLoaderClient, request, options);
</span><span class="cx">     if (!loader) {
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorResourceAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorResourceAgent.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorResourceAgent.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorResourceAgent.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -95,7 +95,7 @@
</span><span class="cx">     void didFailLoading(unsigned long identifier, DocumentLoader&amp;, const ResourceError&amp;);
</span><span class="cx">     void didLoadResourceFromMemoryCache(DocumentLoader&amp;, CachedResource&amp;);
</span><span class="cx">     void documentThreadableLoaderStartedLoadingForClient(unsigned long identifier, ThreadableLoaderClient*);
</span><del>-    void willLoadXHR(ThreadableLoaderClient*, const String&amp; method, const URL&amp;, bool async, RefPtr&lt;FormData&gt;&amp;&amp; body, const HTTPHeaderMap&amp; headers, bool includeCrendentials);
</del><ins>+    void willLoadXHR(ThreadableLoaderClient*, const String&amp; method, const URL&amp;, bool async, PassRefPtr&lt;FormData&gt; body, const HTTPHeaderMap&amp; headers, bool includeCrendentials);
</ins><span class="cx">     void didFailXHRLoading(ThreadableLoaderClient*);
</span><span class="cx">     void didFinishXHRLoading(ThreadableLoaderClient*, unsigned long identifier, const String&amp; sourceString);
</span><span class="cx">     void didReceiveXHRResponse(unsigned long identifier);
</span><span class="lines">@@ -118,12 +118,12 @@
</span><span class="cx"> 
</span><span class="cx">     void didScheduleStyleRecalculation(Document&amp;);
</span><span class="cx"> 
</span><del>-    RefPtr&lt;Inspector::Protocol::Network::Initiator&gt; buildInitiatorObject(Document*);
</del><ins>+    PassRefPtr&lt;Inspector::Protocol::Network::Initiator&gt; buildInitiatorObject(Document*);
</ins><span class="cx"> 
</span><span class="cx">     // Called from frontend.
</span><span class="cx">     virtual void enable(ErrorString&amp;) override;
</span><span class="cx">     virtual void disable(ErrorString&amp;) override;
</span><del>-    virtual void setExtraHTTPHeaders(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp;) override;
</del><ins>+    virtual void setExtraHTTPHeaders(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;) override;
</ins><span class="cx">     virtual void getResponseBody(ErrorString&amp;, const String&amp; requestId, String* content, bool* base64Encoded) override;
</span><span class="cx">     virtual void replayXHR(ErrorString&amp;, const String&amp; requestId) override;
</span><span class="cx">     virtual void canClearBrowserCache(ErrorString&amp;, bool*) override;
</span><span class="lines">@@ -131,7 +131,7 @@
</span><span class="cx">     virtual void canClearBrowserCookies(ErrorString&amp;, bool*) override;
</span><span class="cx">     virtual void clearBrowserCookies(ErrorString&amp;) override;
</span><span class="cx">     virtual void setCacheDisabled(ErrorString&amp;, bool cacheDisabled) override;
</span><del>-    virtual void loadResource(ErrorString&amp;, const String&amp; frameId, const String&amp; url, Ref&lt;LoadResourceCallback&gt;&amp;&amp;) override;
</del><ins>+    virtual void loadResource(ErrorString&amp;, const String&amp; frameId, const String&amp; url, PassRefPtr&lt;LoadResourceCallback&gt;) override;
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     void enable();
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorStyleSheetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorStyleSheet.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorStyleSheet.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorStyleSheet.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -76,7 +76,7 @@
</span><span class="cx">     RuleSourceDataList* sourceData() const { return m_sourceData.get(); }
</span><span class="cx">     void setSourceData(std::unique_ptr&lt;RuleSourceDataList&gt;);
</span><span class="cx">     bool hasSourceData() const { return m_sourceData != nullptr; }
</span><del>-    RefPtr&lt;WebCore::CSSRuleSourceData&gt; ruleSourceDataAt(unsigned) const;
</del><ins>+    PassRefPtr&lt;WebCore::CSSRuleSourceData&gt; ruleSourceDataAt(unsigned) const;
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx"> 
</span><span class="lines">@@ -125,7 +125,7 @@
</span><span class="cx">     flattenSourceData(sourceData.get(), m_sourceData.get());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;WebCore::CSSRuleSourceData&gt; ParsedStyleSheet::ruleSourceDataAt(unsigned index) const
</del><ins>+PassRefPtr&lt;WebCore::CSSRuleSourceData&gt; ParsedStyleSheet::ruleSourceDataAt(unsigned index) const
</ins><span class="cx"> {
</span><span class="cx">     if (!hasSourceData() || index &gt;= m_sourceData-&gt;size())
</span><span class="cx">         return nullptr;
</span><span class="lines">@@ -144,7 +144,7 @@
</span><span class="cx">     MediaListSourceImportRule
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static RefPtr&lt;Inspector::Protocol::CSS::SourceRange&gt; buildSourceRangeObject(const SourceRange&amp; range, Vector&lt;size_t&gt;* lineEndings)
</del><ins>+static PassRefPtr&lt;Inspector::Protocol::CSS::SourceRange&gt; buildSourceRangeObject(const SourceRange&amp; range, Vector&lt;size_t&gt;* lineEndings)
</ins><span class="cx"> {
</span><span class="cx">     if (!lineEndings)
</span><span class="cx">         return nullptr;
</span><span class="lines">@@ -159,7 +159,7 @@
</span><span class="cx">         .release();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static Ref&lt;Inspector::Protocol::CSS::CSSMedia&gt; buildMediaObject(const MediaList* media, MediaListSource mediaListSource, const String&amp; sourceURL)
</del><ins>+static PassRefPtr&lt;Inspector::Protocol::CSS::CSSMedia&gt; buildMediaObject(const MediaList* media, MediaListSource mediaListSource, const String&amp; sourceURL)
</ins><span class="cx"> {
</span><span class="cx">     // Make certain compilers happy by initializing |source| up-front.
</span><span class="cx">     Inspector::Protocol::CSS::CSSMedia::Source source = Inspector::Protocol::CSS::CSSMedia::Source::InlineSheet;
</span><span class="lines">@@ -178,19 +178,18 @@
</span><span class="cx">         break;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    auto mediaObject = Inspector::Protocol::CSS::CSSMedia::create()
</del><ins>+    RefPtr&lt;Inspector::Protocol::CSS::CSSMedia&gt; mediaObject = Inspector::Protocol::CSS::CSSMedia::create()
</ins><span class="cx">         .setText(media-&gt;mediaText())
</span><del>-        .setSource(source)
-        .release();
</del><ins>+        .setSource(source);
</ins><span class="cx"> 
</span><span class="cx">     if (!sourceURL.isEmpty()) {
</span><span class="cx">         mediaObject-&gt;setSourceURL(sourceURL);
</span><span class="cx">         mediaObject-&gt;setSourceLine(media-&gt;queries()-&gt;lastLine());
</span><span class="cx">     }
</span><del>-    return WTF::move(mediaObject);
</del><ins>+    return mediaObject.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static RefPtr&lt;CSSRuleList&gt; asCSSRuleList(CSSStyleSheet* styleSheet)
</del><ins>+static PassRefPtr&lt;CSSRuleList&gt; asCSSRuleList(CSSStyleSheet* styleSheet)
</ins><span class="cx"> {
</span><span class="cx">     if (!styleSheet)
</span><span class="cx">         return nullptr;
</span><span class="lines">@@ -203,10 +202,10 @@
</span><span class="cx">             continue;
</span><span class="cx">         listRules.append(item);
</span><span class="cx">     }
</span><del>-    return WTF::move(list);
</del><ins>+    return list.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static RefPtr&lt;CSSRuleList&gt; asCSSRuleList(CSSRule* rule)
</del><ins>+static PassRefPtr&lt;CSSRuleList&gt; asCSSRuleList(CSSRule* rule)
</ins><span class="cx"> {
</span><span class="cx">     if (!rule)
</span><span class="cx">         return nullptr;
</span><span class="lines">@@ -223,7 +222,7 @@
</span><span class="cx">     return nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static void fillMediaListChain(CSSRule* rule, Array&lt;Inspector::Protocol::CSS::CSSMedia&gt;&amp; mediaArray)
</del><ins>+static void fillMediaListChain(CSSRule* rule, Array&lt;Inspector::Protocol::CSS::CSSMedia&gt;* mediaArray)
</ins><span class="cx"> {
</span><span class="cx">     MediaList* mediaList;
</span><span class="cx">     CSSRule* parentRule = rule;
</span><span class="lines">@@ -251,7 +250,7 @@
</span><span class="cx">             sourceURL = &quot;&quot;;
</span><span class="cx"> 
</span><span class="cx">         if (mediaList &amp;&amp; mediaList-&gt;length())
</span><del>-            mediaArray.addItem(buildMediaObject(mediaList, isMediaRule ? MediaListSourceMediaRule : MediaListSourceImportRule, sourceURL));
</del><ins>+            mediaArray-&gt;addItem(buildMediaObject(mediaList, isMediaRule ? MediaListSourceMediaRule : MediaListSourceImportRule, sourceURL));
</ins><span class="cx"> 
</span><span class="cx">         if (parentRule-&gt;parentRule())
</span><span class="cx">             parentRule = parentRule-&gt;parentRule();
</span><span class="lines">@@ -267,7 +266,7 @@
</span><span class="cx">                         sourceURL = styleSheet-&gt;contents().baseURL();
</span><span class="cx">                     else
</span><span class="cx">                         sourceURL = &quot;&quot;;
</span><del>-                    mediaArray.addItem(buildMediaObject(mediaList, styleSheet-&gt;ownerNode() ? MediaListSourceLinkedSheet : MediaListSourceInlineSheet, sourceURL));
</del><ins>+                    mediaArray-&gt;addItem(buildMediaObject(mediaList, styleSheet-&gt;ownerNode() ? MediaListSourceLinkedSheet : MediaListSourceInlineSheet, sourceURL));
</ins><span class="cx">                 }
</span><span class="cx">                 parentRule = styleSheet-&gt;ownerRule();
</span><span class="cx">                 if (parentRule)
</span><span class="lines">@@ -283,12 +282,12 @@
</span><span class="cx">     return std::make_unique&lt;CSSParser&gt;(document ? CSSParserContext(*document) : strictCSSParserContext());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorStyle&gt; InspectorStyle::create(const InspectorCSSId&amp; styleId, RefPtr&lt;CSSStyleDeclaration&gt;&amp;&amp; style, InspectorStyleSheet* parentStyleSheet)
</del><ins>+PassRefPtr&lt;InspectorStyle&gt; InspectorStyle::create(const InspectorCSSId&amp; styleId, PassRefPtr&lt;CSSStyleDeclaration&gt; style, InspectorStyleSheet* parentStyleSheet)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new InspectorStyle(styleId, WTF::move(style), parentStyleSheet));
</del><ins>+    return adoptRef(new InspectorStyle(styleId, style, parentStyleSheet));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-InspectorStyle::InspectorStyle(const InspectorCSSId&amp; styleId, RefPtr&lt;CSSStyleDeclaration&gt;&amp;&amp; style, InspectorStyleSheet* parentStyleSheet)
</del><ins>+InspectorStyle::InspectorStyle(const InspectorCSSId&amp; styleId, PassRefPtr&lt;CSSStyleDeclaration&gt; style, InspectorStyleSheet* parentStyleSheet)
</ins><span class="cx">     : m_styleId(styleId)
</span><span class="cx">     , m_style(style)
</span><span class="cx">     , m_parentStyleSheet(parentStyleSheet)
</span><span class="lines">@@ -301,9 +300,9 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt; InspectorStyle::buildObjectForStyle() const
</del><ins>+PassRefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt; InspectorStyle::buildObjectForStyle() const
</ins><span class="cx"> {
</span><del>-    Ref&lt;Inspector::Protocol::CSS::CSSStyle&gt; result = styleWithProperties();
</del><ins>+    RefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt; result = styleWithProperties();
</ins><span class="cx">     if (!m_styleId.isEmpty())
</span><span class="cx">         result-&gt;setStyleId(m_styleId.asProtocolValue&lt;Inspector::Protocol::CSS::CSSStyleId&gt;());
</span><span class="cx"> 
</span><span class="lines">@@ -314,25 +313,24 @@
</span><span class="cx">     if (sourceData)
</span><span class="cx">         result-&gt;setRange(buildSourceRangeObject(sourceData-&gt;ruleBodyRange, m_parentStyleSheet-&gt;lineEndings().get()));
</span><span class="cx"> 
</span><del>-    return WTF::move(result);
</del><ins>+    return result.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSComputedStyleProperty&gt;&gt; InspectorStyle::buildArrayForComputedStyle() const
</del><ins>+PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSComputedStyleProperty&gt;&gt; InspectorStyle::buildArrayForComputedStyle() const
</ins><span class="cx"> {
</span><del>-    auto result = Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSComputedStyleProperty&gt;::create();
</del><ins>+    RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSComputedStyleProperty&gt;&gt; result = Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSComputedStyleProperty&gt;::create();
</ins><span class="cx">     Vector&lt;InspectorStyleProperty&gt; properties;
</span><span class="cx">     populateAllProperties(&amp;properties);
</span><span class="cx"> 
</span><span class="cx">     for (Vector&lt;InspectorStyleProperty&gt;::iterator it = properties.begin(), itEnd = properties.end(); it != itEnd; ++it) {
</span><span class="cx">         const CSSPropertySourceData&amp; propertyEntry = it-&gt;sourceData;
</span><del>-        auto entry = Inspector::Protocol::CSS::CSSComputedStyleProperty::create()
</del><ins>+        RefPtr&lt;Inspector::Protocol::CSS::CSSComputedStyleProperty&gt; entry = Inspector::Protocol::CSS::CSSComputedStyleProperty::create()
</ins><span class="cx">             .setName(propertyEntry.name)
</span><del>-            .setValue(propertyEntry.value)
-            .release();
-        result-&gt;addItem(WTF::move(entry));
</del><ins>+            .setValue(propertyEntry.value);
+        result-&gt;addItem(entry.release());
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return WTF::move(result);
</del><ins>+    return result.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // This method does the following preprocessing of |propertyText| with |overwrite| == false and |index| past the last active property:
</span><span class="lines">@@ -505,13 +503,13 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;Inspector::Protocol::CSS::CSSStyle&gt; InspectorStyle::styleWithProperties() const
</del><ins>+PassRefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt; InspectorStyle::styleWithProperties() const
</ins><span class="cx"> {
</span><span class="cx">     Vector&lt;InspectorStyleProperty&gt; properties;
</span><span class="cx">     populateAllProperties(&amp;properties);
</span><span class="cx"> 
</span><del>-    auto propertiesObject = Array&lt;Inspector::Protocol::CSS::CSSProperty&gt;::create();
-    auto shorthandEntries = Array&lt;Inspector::Protocol::CSS::ShorthandEntry&gt;::create();
</del><ins>+    RefPtr&lt;Array&lt;Inspector::Protocol::CSS::CSSProperty&gt;&gt; propertiesObject = Array&lt;Inspector::Protocol::CSS::CSSProperty&gt;::create();
+    RefPtr&lt;Array&lt;Inspector::Protocol::CSS::ShorthandEntry&gt;&gt; shorthandEntries = Array&lt;Inspector::Protocol::CSS::ShorthandEntry&gt;::create();
</ins><span class="cx">     HashMap&lt;String, RefPtr&lt;Inspector::Protocol::CSS::CSSProperty&gt;&gt; propertyNameToPreviousActiveProperty;
</span><span class="cx">     HashSet&lt;String&gt; foundShorthands;
</span><span class="cx">     String previousPriority;
</span><span class="lines">@@ -534,10 +532,9 @@
</span><span class="cx"> 
</span><span class="cx">         RefPtr&lt;Inspector::Protocol::CSS::CSSProperty&gt; property = Inspector::Protocol::CSS::CSSProperty::create()
</span><span class="cx">             .setName(name.lower())
</span><del>-            .setValue(propertyEntry.value)
-            .release();
</del><ins>+            .setValue(propertyEntry.value);
</ins><span class="cx"> 
</span><del>-        propertiesObject-&gt;addItem(property.copyRef());
</del><ins>+        propertiesObject-&gt;addItem(property);
</ins><span class="cx"> 
</span><span class="cx">         // Default &quot;parsedOk&quot; == true.
</span><span class="cx">         if (!propertyEntry.parsedOk)
</span><span class="lines">@@ -603,11 +600,10 @@
</span><span class="cx">                 if (!shorthand.isEmpty()) {
</span><span class="cx">                     if (!foundShorthands.contains(shorthand)) {
</span><span class="cx">                         foundShorthands.add(shorthand);
</span><del>-                        auto entry = Inspector::Protocol::CSS::ShorthandEntry::create()
</del><ins>+                        RefPtr&lt;Inspector::Protocol::CSS::ShorthandEntry&gt; entry = Inspector::Protocol::CSS::ShorthandEntry::create()
</ins><span class="cx">                             .setName(shorthand)
</span><del>-                            .setValue(shorthandValue(shorthand))
-                            .release();
-                        shorthandEntries-&gt;addItem(WTF::move(entry));
</del><ins>+                            .setValue(shorthandValue(shorthand));
+                        shorthandEntries-&gt;addItem(entry.release());
</ins><span class="cx">                     }
</span><span class="cx">                 }
</span><span class="cx">             }
</span><span class="lines">@@ -619,12 +615,12 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     return Inspector::Protocol::CSS::CSSStyle::create()
</span><del>-        .setCssProperties(WTF::move(propertiesObject))
-        .setShorthandEntries(WTF::move(shorthandEntries))
</del><ins>+        .setCssProperties(propertiesObject.release())
+        .setShorthandEntries(shorthandEntries.release())
</ins><span class="cx">         .release();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;CSSRuleSourceData&gt; InspectorStyle::extractSourceData() const
</del><ins>+PassRefPtr&lt;CSSRuleSourceData&gt; InspectorStyle::extractSourceData() const
</ins><span class="cx"> {
</span><span class="cx">     if (!m_parentStyleSheet || !m_parentStyleSheet-&gt;ensureParsedDataReady())
</span><span class="cx">         return nullptr;
</span><span class="lines">@@ -753,9 +749,9 @@
</span><span class="cx">     return m_format;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorStyleSheet&gt; InspectorStyleSheet::create(InspectorPageAgent* pageAgent, const String&amp; id, RefPtr&lt;CSSStyleSheet&gt;&amp;&amp; pageStyleSheet, Inspector::Protocol::CSS::StyleSheetOrigin origin, const String&amp; documentURL, Listener* listener)
</del><ins>+PassRefPtr&lt;InspectorStyleSheet&gt; InspectorStyleSheet::create(InspectorPageAgent* pageAgent, const String&amp; id, PassRefPtr&lt;CSSStyleSheet&gt; pageStyleSheet, Inspector::Protocol::CSS::StyleSheetOrigin origin, const String&amp; documentURL, Listener* listener)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new InspectorStyleSheet(pageAgent, id, WTF::move(pageStyleSheet), origin, documentURL, listener));
</del><ins>+    return adoptRef(new InspectorStyleSheet(pageAgent, id, pageStyleSheet, origin, documentURL, listener));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // static
</span><span class="lines">@@ -766,10 +762,10 @@
</span><span class="cx">     return emptyString();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-InspectorStyleSheet::InspectorStyleSheet(InspectorPageAgent* pageAgent, const String&amp; id, RefPtr&lt;CSSStyleSheet&gt;&amp;&amp; pageStyleSheet, Inspector::Protocol::CSS::StyleSheetOrigin origin, const String&amp; documentURL, Listener* listener)
</del><ins>+InspectorStyleSheet::InspectorStyleSheet(InspectorPageAgent* pageAgent, const String&amp; id, PassRefPtr&lt;CSSStyleSheet&gt; pageStyleSheet, Inspector::Protocol::CSS::StyleSheetOrigin origin, const String&amp; documentURL, Listener* listener)
</ins><span class="cx">     : m_pageAgent(pageAgent)
</span><span class="cx">     , m_id(id)
</span><del>-    , m_pageStyleSheet(WTF::move(pageStyleSheet))
</del><ins>+    , m_pageStyleSheet(pageStyleSheet)
</ins><span class="cx">     , m_origin(origin)
</span><span class="cx">     , m_documentURL(documentURL)
</span><span class="cx">     , m_isRevalidating(false)
</span><span class="lines">@@ -957,7 +953,7 @@
</span><span class="cx"> 
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;Inspector::Protocol::CSS::CSSStyleSheetBody&gt; InspectorStyleSheet::buildObjectForStyleSheet()
</del><ins>+PassRefPtr&lt;Inspector::Protocol::CSS::CSSStyleSheetBody&gt; InspectorStyleSheet::buildObjectForStyleSheet()
</ins><span class="cx"> {
</span><span class="cx">     CSSStyleSheet* styleSheet = pageStyleSheet();
</span><span class="cx">     if (!styleSheet)
</span><span class="lines">@@ -965,20 +961,19 @@
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;CSSRuleList&gt; cssRuleList = asCSSRuleList(styleSheet);
</span><span class="cx"> 
</span><del>-    auto result = Inspector::Protocol::CSS::CSSStyleSheetBody::create()
</del><ins>+    RefPtr&lt;Inspector::Protocol::CSS::CSSStyleSheetBody&gt; result = Inspector::Protocol::CSS::CSSStyleSheetBody::create()
</ins><span class="cx">         .setStyleSheetId(id())
</span><del>-        .setRules(buildArrayForRuleList(cssRuleList.get()))
-        .release();
</del><ins>+        .setRules(buildArrayForRuleList(cssRuleList.get()));
</ins><span class="cx"> 
</span><span class="cx">     String styleSheetText;
</span><span class="cx">     bool success = getText(&amp;styleSheetText);
</span><span class="cx">     if (success)
</span><span class="cx">         result-&gt;setText(styleSheetText);
</span><span class="cx"> 
</span><del>-    return WTF::move(result);
</del><ins>+    return result.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;Inspector::Protocol::CSS::CSSStyleSheetHeader&gt; InspectorStyleSheet::buildObjectForStyleSheetInfo()
</del><ins>+PassRefPtr&lt;Inspector::Protocol::CSS::CSSStyleSheetHeader&gt; InspectorStyleSheet::buildObjectForStyleSheetInfo()
</ins><span class="cx"> {
</span><span class="cx">     CSSStyleSheet* styleSheet = pageStyleSheet();
</span><span class="cx">     if (!styleSheet)
</span><span class="lines">@@ -996,31 +991,30 @@
</span><span class="cx">         .release();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static Ref&lt;Inspector::Protocol::CSS::CSSSelector&gt; buildObjectForSelectorHelper(const String&amp; selectorText, const CSSSelector&amp; selector)
</del><ins>+static PassRefPtr&lt;Inspector::Protocol::CSS::CSSSelector&gt; buildObjectForSelectorHelper(const String&amp; selectorText, const CSSSelector&amp; selector)
</ins><span class="cx"> {
</span><del>-    auto inspectorSelector = Inspector::Protocol::CSS::CSSSelector::create()
-        .setText(selectorText)
-        .release();
</del><ins>+    RefPtr&lt;Inspector::Protocol::CSS::CSSSelector&gt; inspectorSelector = Inspector::Protocol::CSS::CSSSelector::create()
+        .setText(selectorText);
</ins><span class="cx"> 
</span><span class="cx">     bool ok;
</span><span class="cx">     unsigned specificity = selector.staticSpecificity(ok);
</span><span class="cx"> 
</span><span class="cx">     if (ok) {
</span><del>-        auto tuple = Inspector::Protocol::Array&lt;int&gt;::create();
</del><ins>+        RefPtr&lt;Inspector::Protocol::Array&lt;int&gt;&gt; tuple = Inspector::Protocol::Array&lt;int&gt;::create();
</ins><span class="cx">         tuple-&gt;addItem(static_cast&lt;int&gt;((specificity &amp; CSSSelector::idMask) &gt;&gt; 16));
</span><span class="cx">         tuple-&gt;addItem(static_cast&lt;int&gt;((specificity &amp; CSSSelector::classMask) &gt;&gt; 8));
</span><span class="cx">         tuple-&gt;addItem(static_cast&lt;int&gt;(specificity &amp; CSSSelector::elementMask));
</span><del>-        inspectorSelector-&gt;setSpecificity(WTF::move(tuple));
</del><ins>+        inspectorSelector-&gt;setSpecificity(tuple.release());
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return WTF::move(inspectorSelector);
</del><ins>+    return inspectorSelector.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static Ref&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSSelector&gt;&gt; selectorsFromSource(const CSSRuleSourceData* sourceData, const String&amp; sheetText, const CSSSelectorList&amp; selectorList)
</del><ins>+static PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSSelector&gt;&gt; selectorsFromSource(const CSSRuleSourceData* sourceData, const String&amp; sheetText, const CSSSelectorList&amp; selectorList)
</ins><span class="cx"> {
</span><span class="cx">     DEPRECATED_DEFINE_STATIC_LOCAL(JSC::Yarr::RegularExpression, comment, (&quot;/\\*[^]*?\\*/&quot;, TextCaseSensitive, JSC::Yarr::MultilineEnabled));
</span><span class="cx"> 
</span><del>-    auto result = Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSSelector&gt;::create();
</del><ins>+    RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSSelector&gt;&gt; result = Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSSelector&gt;::create();
</ins><span class="cx">     const SelectorRangeList&amp; ranges = sourceData-&gt;selectorRanges;
</span><span class="cx">     const CSSSelector* selector = selectorList.first();
</span><span class="cx">     for (size_t i = 0, size = ranges.size(); i &lt; size; ++i) {
</span><span class="lines">@@ -1033,15 +1027,15 @@
</span><span class="cx"> 
</span><span class="cx">         selector = CSSSelectorList::next(selector);
</span><span class="cx">     }
</span><del>-    return WTF::move(result);
</del><ins>+    return result.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;Inspector::Protocol::CSS::CSSSelector&gt; InspectorStyleSheet::buildObjectForSelector(const CSSSelector* selector)
</del><ins>+PassRefPtr&lt;Inspector::Protocol::CSS::CSSSelector&gt; InspectorStyleSheet::buildObjectForSelector(const CSSSelector* selector)
</ins><span class="cx"> {
</span><span class="cx">     return buildObjectForSelectorHelper(selector-&gt;selectorText(), *selector);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;Inspector::Protocol::CSS::SelectorList&gt; InspectorStyleSheet::buildObjectForSelectorList(CSSStyleRule* rule)
</del><ins>+PassRefPtr&lt;Inspector::Protocol::CSS::SelectorList&gt; InspectorStyleSheet::buildObjectForSelectorList(CSSStyleRule* rule)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;CSSRuleSourceData&gt; sourceData;
</span><span class="cx">     if (ensureParsedDataReady())
</span><span class="lines">@@ -1059,27 +1053,26 @@
</span><span class="cx">         for (const CSSSelector* selector = selectorList.first(); selector; selector = CSSSelectorList::next(selector))
</span><span class="cx">             selectors-&gt;addItem(buildObjectForSelector(selector));
</span><span class="cx">     }
</span><del>-    auto result = Inspector::Protocol::CSS::SelectorList::create()
</del><ins>+    RefPtr&lt;Inspector::Protocol::CSS::SelectorList&gt; result = Inspector::Protocol::CSS::SelectorList::create()
</ins><span class="cx">         .setSelectors(selectors.release())
</span><span class="cx">         .setText(selectorText)
</span><span class="cx">         .release();
</span><span class="cx">     if (sourceData)
</span><span class="cx">         result-&gt;setRange(buildSourceRangeObject(sourceData-&gt;ruleHeaderRange, lineEndings().get()));
</span><del>-    return WTF::move(result);
</del><ins>+    return result.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;Inspector::Protocol::CSS::CSSRule&gt; InspectorStyleSheet::buildObjectForRule(CSSStyleRule* rule)
</del><ins>+PassRefPtr&lt;Inspector::Protocol::CSS::CSSRule&gt; InspectorStyleSheet::buildObjectForRule(CSSStyleRule* rule)
</ins><span class="cx"> {
</span><span class="cx">     CSSStyleSheet* styleSheet = pageStyleSheet();
</span><span class="cx">     if (!styleSheet)
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><del>-    auto result = Inspector::Protocol::CSS::CSSRule::create()
</del><ins>+    RefPtr&lt;Inspector::Protocol::CSS::CSSRule&gt; result = Inspector::Protocol::CSS::CSSRule::create()
</ins><span class="cx">         .setSelectorList(buildObjectForSelectorList(rule))
</span><span class="cx">         .setSourceLine(rule-&gt;styleRule().sourceLine())
</span><span class="cx">         .setOrigin(m_origin)
</span><del>-        .setStyle(buildObjectForStyle(&amp;rule-&gt;style()))
-        .release();
</del><ins>+        .setStyle(buildObjectForStyle(&amp;rule-&gt;style()));
</ins><span class="cx"> 
</span><span class="cx">     // &quot;sourceURL&quot; is present only for regular rules, otherwise &quot;origin&quot; should be used in the frontend.
</span><span class="cx">     if (m_origin == Inspector::Protocol::CSS::StyleSheetOrigin::Regular)
</span><span class="lines">@@ -1091,16 +1084,16 @@
</span><span class="cx">             result-&gt;setRuleId(id.asProtocolValue&lt;Inspector::Protocol::CSS::CSSRuleId&gt;());
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    auto mediaArray = Array&lt;Inspector::Protocol::CSS::CSSMedia&gt;::create();
</del><ins>+    RefPtr&lt;Array&lt;Inspector::Protocol::CSS::CSSMedia&gt;&gt; mediaArray = Array&lt;Inspector::Protocol::CSS::CSSMedia&gt;::create();
</ins><span class="cx"> 
</span><span class="cx">     fillMediaListChain(rule, mediaArray.get());
</span><span class="cx">     if (mediaArray-&gt;length())
</span><del>-        result-&gt;setMedia(WTF::move(mediaArray));
</del><ins>+        result-&gt;setMedia(mediaArray.release());
</ins><span class="cx"> 
</span><del>-    return WTF::move(result);
</del><ins>+    return result.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt; InspectorStyleSheet::buildObjectForStyle(CSSStyleDeclaration* style)
</del><ins>+PassRefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt; InspectorStyleSheet::buildObjectForStyle(CSSStyleDeclaration* style)
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;CSSRuleSourceData&gt; sourceData;
</span><span class="cx">     if (ensureParsedDataReady())
</span><span class="lines">@@ -1126,7 +1119,7 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return WTF::move(result);
</del><ins>+    return result.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool InspectorStyleSheet::setStyleText(const InspectorCSSId&amp; id, const String&amp; text, String* oldText, ExceptionCode&amp; ec)
</span><span class="lines">@@ -1171,7 +1164,7 @@
</span><span class="cx">     bool success = inspectorStyle-&gt;toggleProperty(propertyIndex, disable, ec);
</span><span class="cx">     if (success) {
</span><span class="cx">         if (disable)
</span><del>-            rememberInspectorStyle(inspectorStyle.copyRef());
</del><ins>+            rememberInspectorStyle(inspectorStyle);
</ins><span class="cx">         else if (!inspectorStyle-&gt;hasDisabledProperties())
</span><span class="cx">             forgetInspectorStyle(inspectorStyle-&gt;cssStyle());
</span><span class="cx">         fireStyleSheetChanged();
</span><span class="lines">@@ -1202,7 +1195,7 @@
</span><span class="cx">         m_listener-&gt;styleSheetChanged(this);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;InspectorStyle&gt; InspectorStyleSheet::inspectorStyleForId(const InspectorCSSId&amp; id)
</del><ins>+PassRefPtr&lt;InspectorStyle&gt; InspectorStyleSheet::inspectorStyleForId(const InspectorCSSId&amp; id)
</ins><span class="cx"> {
</span><span class="cx">     CSSStyleDeclaration* style = styleForId(id);
</span><span class="cx">     if (!style)
</span><span class="lines">@@ -1214,7 +1207,7 @@
</span><span class="cx">     return it-&gt;value;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorStyleSheet::rememberInspectorStyle(RefPtr&lt;InspectorStyle&gt;&amp;&amp; inspectorStyle)
</del><ins>+void InspectorStyleSheet::rememberInspectorStyle(RefPtr&lt;InspectorStyle&gt; inspectorStyle)
</ins><span class="cx"> {
</span><span class="cx">     m_inspectorStyles.set(inspectorStyle-&gt;cssStyle(), inspectorStyle);
</span><span class="cx"> }
</span><span class="lines">@@ -1424,23 +1417,23 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSRule&gt;&gt; InspectorStyleSheet::buildArrayForRuleList(CSSRuleList* ruleList)
</del><ins>+PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSRule&gt;&gt; InspectorStyleSheet::buildArrayForRuleList(CSSRuleList* ruleList)
</ins><span class="cx"> {
</span><del>-    auto result = Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSRule&gt;::create();
</del><ins>+    RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSRule&gt;&gt; result = Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSRule&gt;::create();
</ins><span class="cx">     if (!ruleList)
</span><del>-        return WTF::move(result);
</del><ins>+        return result.release();
</ins><span class="cx"> 
</span><span class="cx">     RefPtr&lt;CSSRuleList&gt; refRuleList = ruleList;
</span><span class="cx">     CSSStyleRuleVector rules;
</span><del>-    collectFlatRules(WTF::move(refRuleList), &amp;rules);
</del><ins>+    collectFlatRules(refRuleList, &amp;rules);
</ins><span class="cx"> 
</span><span class="cx">     for (unsigned i = 0, size = rules.size(); i &lt; size; ++i)
</span><span class="cx">         result-&gt;addItem(buildObjectForRule(rules.at(i).get()));
</span><span class="cx"> 
</span><del>-    return WTF::move(result);
</del><ins>+    return result.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorStyleSheet::collectFlatRules(RefPtr&lt;CSSRuleList&gt;&amp;&amp; ruleList, CSSStyleRuleVector* result)
</del><ins>+void InspectorStyleSheet::collectFlatRules(PassRefPtr&lt;CSSRuleList&gt; ruleList, CSSStyleRuleVector* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!ruleList)
</span><span class="cx">         return;
</span><span class="lines">@@ -1453,19 +1446,19 @@
</span><span class="cx">         else {
</span><span class="cx">             RefPtr&lt;CSSRuleList&gt; childRuleList = asCSSRuleList(rule);
</span><span class="cx">             if (childRuleList)
</span><del>-                collectFlatRules(WTF::move(childRuleList), result);
</del><ins>+                collectFlatRules(childRuleList, result);
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorStyleSheetForInlineStyle&gt; InspectorStyleSheetForInlineStyle::create(InspectorPageAgent* pageAgent, const String&amp; id, RefPtr&lt;Element&gt;&amp;&amp; element, Inspector::Protocol::CSS::StyleSheetOrigin origin, Listener* listener)
</del><ins>+PassRefPtr&lt;InspectorStyleSheetForInlineStyle&gt; InspectorStyleSheetForInlineStyle::create(InspectorPageAgent* pageAgent, const String&amp; id, PassRefPtr&lt;Element&gt; element, Inspector::Protocol::CSS::StyleSheetOrigin origin, Listener* listener)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new InspectorStyleSheetForInlineStyle(pageAgent, id, WTF::move(element), origin, listener));
</del><ins>+    return adoptRef(new InspectorStyleSheetForInlineStyle(pageAgent, id, element, origin, listener));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle(InspectorPageAgent* pageAgent, const String&amp; id, RefPtr&lt;Element&gt;&amp;&amp; element, Inspector::Protocol::CSS::StyleSheetOrigin origin, Listener* listener)
</del><ins>+InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle(InspectorPageAgent* pageAgent, const String&amp; id, PassRefPtr&lt;Element&gt; element, Inspector::Protocol::CSS::StyleSheetOrigin origin, Listener* listener)
</ins><span class="cx">     : InspectorStyleSheet(pageAgent, id, nullptr, origin, &quot;&quot;, listener)
</span><del>-    , m_element(WTF::move(element))
</del><ins>+    , m_element(element)
</ins><span class="cx">     , m_ruleSourceData(nullptr)
</span><span class="cx">     , m_isStyleTextValid(false)
</span><span class="cx"> {
</span><span class="lines">@@ -1538,10 +1531,10 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;InspectorStyle&gt; InspectorStyleSheetForInlineStyle::inspectorStyleForId(const InspectorCSSId&amp; id)
</del><ins>+PassRefPtr&lt;InspectorStyle&gt; InspectorStyleSheetForInlineStyle::inspectorStyleForId(const InspectorCSSId&amp; id)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT_UNUSED(id, !id.ordinal());
</span><del>-    return m_inspectorStyle.copyRef();
</del><ins>+    return m_inspectorStyle;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> CSSStyleDeclaration* InspectorStyleSheetForInlineStyle::inlineStyle() const
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorStyleSheeth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorStyleSheet.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorStyleSheet.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorStyleSheet.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -33,6 +33,7 @@
</span><span class="cx"> #include &lt;inspector/InspectorValues.h&gt;
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/HashSet.h&gt;
</span><ins>+#include &lt;wtf/PassRefPtr.h&gt;
</ins><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="lines">@@ -63,13 +64,13 @@
</span><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    explicit InspectorCSSId(const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; value)
</del><ins>+    explicit InspectorCSSId(RefPtr&lt;Inspector::InspectorObject&gt; value)
</ins><span class="cx">     {
</span><span class="cx">         if (!value-&gt;getString(&quot;styleSheetId&quot;, m_styleSheetId))
</span><span class="cx">             return;
</span><span class="cx"> 
</span><del>-        int ordinalValue;
-        if (!value-&gt;getInteger(&quot;ordinal&quot;, ordinalValue))
</del><ins>+        RefPtr&lt;Inspector::InspectorValue&gt; ordinalValue = value-&gt;get(&quot;ordinal&quot;);
+        if (!ordinalValue || !ordinalValue-&gt;asInteger(m_ordinal))
</ins><span class="cx">             m_styleSheetId = &quot;&quot;;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -86,15 +87,15 @@
</span><span class="cx"> 
</span><span class="cx">     // ID type is either Inspector::Protocol::CSS::CSSStyleId or Inspector::Protocol::CSS::CSSRuleId.
</span><span class="cx">     template&lt;typename ID&gt;
</span><del>-    RefPtr&lt;ID&gt; asProtocolValue() const
</del><ins>+    PassRefPtr&lt;ID&gt; asProtocolValue() const
</ins><span class="cx">     {
</span><span class="cx">         if (isEmpty())
</span><span class="cx">             return nullptr;
</span><span class="cx"> 
</span><del>-        return ID::create()
</del><ins>+        RefPtr&lt;ID&gt; result = ID::create()
</ins><span class="cx">             .setStyleSheetId(m_styleSheetId)
</span><del>-            .setOrdinal(m_ordinal)
-            .release();
</del><ins>+            .setOrdinal(m_ordinal);
+        return result.release();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="lines">@@ -135,12 +136,12 @@
</span><span class="cx"> 
</span><span class="cx"> class InspectorStyle final : public RefCounted&lt;InspectorStyle&gt; {
</span><span class="cx"> public:
</span><del>-    static Ref&lt;InspectorStyle&gt; create(const InspectorCSSId&amp; styleId, RefPtr&lt;CSSStyleDeclaration&gt;&amp;&amp;, InspectorStyleSheet* parentStyleSheet);
</del><ins>+    static PassRefPtr&lt;InspectorStyle&gt; create(const InspectorCSSId&amp; styleId, PassRefPtr&lt;CSSStyleDeclaration&gt; style, InspectorStyleSheet* parentStyleSheet);
</ins><span class="cx">     ~InspectorStyle();
</span><span class="cx"> 
</span><span class="cx">     CSSStyleDeclaration* cssStyle() const { return m_style.get(); }
</span><del>-    RefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt; buildObjectForStyle() const;
-    Ref&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSComputedStyleProperty&gt;&gt; buildArrayForComputedStyle() const;
</del><ins>+    PassRefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt; buildObjectForStyle() const;
+    PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSComputedStyleProperty&gt;&gt; buildArrayForComputedStyle() const;
</ins><span class="cx">     bool hasDisabledProperties() const { return !m_disabledProperties.isEmpty(); }
</span><span class="cx">     bool setPropertyText(unsigned index, const String&amp; text, bool overwrite, String* oldText, ExceptionCode&amp;);
</span><span class="cx">     bool toggleProperty(unsigned index, bool disable, ExceptionCode&amp;);
</span><span class="lines">@@ -149,15 +150,15 @@
</span><span class="cx">     bool setText(const String&amp;, ExceptionCode&amp;);
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    InspectorStyle(const InspectorCSSId&amp; styleId, RefPtr&lt;CSSStyleDeclaration&gt;&amp;&amp;, InspectorStyleSheet* parentStyleSheet);
</del><ins>+    InspectorStyle(const InspectorCSSId&amp; styleId, PassRefPtr&lt;CSSStyleDeclaration&gt; style, InspectorStyleSheet* parentStyleSheet);
</ins><span class="cx"> 
</span><span class="cx">     // FIXME: Remove these aliases and update all the current call sites to use the new public methods.
</span><span class="cx">     bool styleText(String* result) const { return getText(result); }
</span><span class="cx">     bool applyStyleText(const String&amp; text) { ExceptionCode ec = 0; return setText(text, ec); }
</span><span class="cx"> 
</span><span class="cx">     bool populateAllProperties(Vector&lt;InspectorStyleProperty&gt;* result) const;
</span><del>-    Ref&lt;Inspector::Protocol::CSS::CSSStyle&gt; styleWithProperties() const;
-    RefPtr&lt;CSSRuleSourceData&gt; extractSourceData() const;
</del><ins>+    PassRefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt; styleWithProperties() const;
+    PassRefPtr&lt;CSSRuleSourceData&gt; extractSourceData() const;
</ins><span class="cx">     String shorthandValue(const String&amp; shorthandProperty) const;
</span><span class="cx">     String shorthandPriority(const String&amp; shorthandProperty) const;
</span><span class="cx">     Vector&lt;String&gt; longhandProperties(const String&amp; shorthandProperty) const;
</span><span class="lines">@@ -181,7 +182,7 @@
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     typedef HashMap&lt;CSSStyleDeclaration*, RefPtr&lt;InspectorStyle&gt;&gt; InspectorStyleMap;
</span><del>-    static Ref&lt;InspectorStyleSheet&gt; create(InspectorPageAgent*, const String&amp; id, RefPtr&lt;CSSStyleSheet&gt;&amp;&amp; pageStyleSheet, Inspector::Protocol::CSS::StyleSheetOrigin, const String&amp; documentURL, Listener*);
</del><ins>+    static PassRefPtr&lt;InspectorStyleSheet&gt; create(InspectorPageAgent*, const String&amp; id, PassRefPtr&lt;CSSStyleSheet&gt; pageStyleSheet, Inspector::Protocol::CSS::StyleSheetOrigin, const String&amp; documentURL, Listener*);
</ins><span class="cx">     static String styleSheetURL(CSSStyleSheet* pageStyleSheet);
</span><span class="cx"> 
</span><span class="cx">     virtual ~InspectorStyleSheet();
</span><span class="lines">@@ -196,10 +197,10 @@
</span><span class="cx">     CSSStyleRule* addRule(const String&amp; selector, ExceptionCode&amp;);
</span><span class="cx">     bool deleteRule(const InspectorCSSId&amp;, ExceptionCode&amp;);
</span><span class="cx">     CSSStyleRule* ruleForId(const InspectorCSSId&amp;) const;
</span><del>-    RefPtr&lt;Inspector::Protocol::CSS::CSSStyleSheetBody&gt; buildObjectForStyleSheet();
-    RefPtr&lt;Inspector::Protocol::CSS::CSSStyleSheetHeader&gt; buildObjectForStyleSheetInfo();
-    RefPtr&lt;Inspector::Protocol::CSS::CSSRule&gt; buildObjectForRule(CSSStyleRule*);
-    RefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt; buildObjectForStyle(CSSStyleDeclaration*);
</del><ins>+    PassRefPtr&lt;Inspector::Protocol::CSS::CSSStyleSheetBody&gt; buildObjectForStyleSheet();
+    PassRefPtr&lt;Inspector::Protocol::CSS::CSSStyleSheetHeader&gt; buildObjectForStyleSheetInfo();
+    PassRefPtr&lt;Inspector::Protocol::CSS::CSSRule&gt; buildObjectForRule(CSSStyleRule*);
+    PassRefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt; buildObjectForStyle(CSSStyleDeclaration*);
</ins><span class="cx">     bool setStyleText(const InspectorCSSId&amp;, const String&amp; text, String* oldText, ExceptionCode&amp;);
</span><span class="cx">     bool setPropertyText(const InspectorCSSId&amp;, unsigned propertyIndex, const String&amp; text, bool overwrite, String* oldPropertyText, ExceptionCode&amp;);
</span><span class="cx">     bool toggleProperty(const InspectorCSSId&amp;, unsigned propertyIndex, bool disable, ExceptionCode&amp;);
</span><span class="lines">@@ -212,17 +213,17 @@
</span><span class="cx">     InspectorCSSId styleId(CSSStyleDeclaration* style) const { return ruleOrStyleId(style); }
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    InspectorStyleSheet(InspectorPageAgent*, const String&amp; id, RefPtr&lt;CSSStyleSheet&gt;&amp;&amp; pageStyleSheet, Inspector::Protocol::CSS::StyleSheetOrigin, const String&amp; documentURL, Listener*);
</del><ins>+    InspectorStyleSheet(InspectorPageAgent*, const String&amp; id, PassRefPtr&lt;CSSStyleSheet&gt; pageStyleSheet, Inspector::Protocol::CSS::StyleSheetOrigin, const String&amp; documentURL, Listener*);
</ins><span class="cx"> 
</span><span class="cx">     bool canBind() const { return m_origin != Inspector::Protocol::CSS::StyleSheetOrigin::UserAgent &amp;&amp; m_origin != Inspector::Protocol::CSS::StyleSheetOrigin::User; }
</span><del>-    InspectorCSSId ruleOrStyleId(CSSStyleDeclaration*) const;
</del><ins>+    InspectorCSSId ruleOrStyleId(CSSStyleDeclaration* style) const;
</ins><span class="cx">     virtual Document* ownerDocument() const;
</span><del>-    virtual RefPtr&lt;CSSRuleSourceData&gt; ruleSourceDataFor(CSSStyleDeclaration*) const;
</del><ins>+    virtual RefPtr&lt;CSSRuleSourceData&gt; ruleSourceDataFor(CSSStyleDeclaration* style) const;
</ins><span class="cx">     virtual unsigned ruleIndexByStyle(CSSStyleDeclaration*) const;
</span><span class="cx">     virtual bool ensureParsedDataReady();
</span><del>-    virtual RefPtr&lt;InspectorStyle&gt; inspectorStyleForId(const InspectorCSSId&amp;);
-    virtual void rememberInspectorStyle(RefPtr&lt;InspectorStyle&gt;&amp;&amp;);
-    virtual void forgetInspectorStyle(CSSStyleDeclaration*);
</del><ins>+    virtual PassRefPtr&lt;InspectorStyle&gt; inspectorStyleForId(const InspectorCSSId&amp;);
+    virtual void rememberInspectorStyle(RefPtr&lt;InspectorStyle&gt; inspectorStyle);
+    virtual void forgetInspectorStyle(CSSStyleDeclaration* style);
</ins><span class="cx"> 
</span><span class="cx">     // Also accessed by friend class InspectorStyle.
</span><span class="cx">     virtual bool setStyleText(CSSStyleDeclaration*, const String&amp;, ExceptionCode&amp;);
</span><span class="lines">@@ -232,7 +233,7 @@
</span><span class="cx">     typedef Vector&lt;RefPtr&lt;CSSStyleRule&gt;&gt; CSSStyleRuleVector;
</span><span class="cx">     friend class InspectorStyle;
</span><span class="cx"> 
</span><del>-    static void collectFlatRules(RefPtr&lt;CSSRuleList&gt;&amp;&amp;, CSSStyleRuleVector* result);
</del><ins>+    static void collectFlatRules(PassRefPtr&lt;CSSRuleList&gt;, CSSStyleRuleVector* result);
</ins><span class="cx">     bool checkPageStyleSheet(ExceptionCode&amp;) const;
</span><span class="cx">     bool ensureText() const;
</span><span class="cx">     bool ensureSourceData();
</span><span class="lines">@@ -242,9 +243,9 @@
</span><span class="cx">     bool originalStyleSheetText(String* result) const;
</span><span class="cx">     bool resourceStyleSheetText(String* result) const;
</span><span class="cx">     bool inlineStyleSheetText(String* result) const;
</span><del>-    Ref&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSRule&gt;&gt; buildArrayForRuleList(CSSRuleList*);
-    Ref&lt;Inspector::Protocol::CSS::CSSSelector&gt; buildObjectForSelector(const CSSSelector*);
-    Ref&lt;Inspector::Protocol::CSS::SelectorList&gt; buildObjectForSelectorList(CSSStyleRule*);
</del><ins>+    PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSRule&gt;&gt; buildArrayForRuleList(CSSRuleList*);
+    PassRefPtr&lt;Inspector::Protocol::CSS::CSSSelector&gt; buildObjectForSelector(const CSSSelector*);
+    PassRefPtr&lt;Inspector::Protocol::CSS::SelectorList&gt; buildObjectForSelectorList(CSSStyleRule*);
</ins><span class="cx"> 
</span><span class="cx">     InspectorPageAgent* m_pageAgent;
</span><span class="cx">     String m_id;
</span><span class="lines">@@ -260,21 +261,21 @@
</span><span class="cx"> 
</span><span class="cx"> class InspectorStyleSheetForInlineStyle final : public InspectorStyleSheet {
</span><span class="cx"> public:
</span><del>-    static Ref&lt;InspectorStyleSheetForInlineStyle&gt; create(InspectorPageAgent*, const String&amp; id, RefPtr&lt;Element&gt;&amp;&amp;, Inspector::Protocol::CSS::StyleSheetOrigin, Listener*);
</del><ins>+    static PassRefPtr&lt;InspectorStyleSheetForInlineStyle&gt; create(InspectorPageAgent*, const String&amp; id, PassRefPtr&lt;Element&gt;, Inspector::Protocol::CSS::StyleSheetOrigin, Listener*);
</ins><span class="cx"> 
</span><span class="cx">     void didModifyElementAttribute();
</span><span class="cx">     virtual bool getText(String* result) const override;
</span><span class="cx">     virtual CSSStyleDeclaration* styleForId(const InspectorCSSId&amp; id) const override { ASSERT_UNUSED(id, !id.ordinal()); return inlineStyle(); }
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    InspectorStyleSheetForInlineStyle(InspectorPageAgent*, const String&amp; id, RefPtr&lt;Element&gt;&amp;&amp;, Inspector::Protocol::CSS::StyleSheetOrigin, Listener*);
</del><ins>+    InspectorStyleSheetForInlineStyle(InspectorPageAgent*, const String&amp; id, PassRefPtr&lt;Element&gt;, Inspector::Protocol::CSS::StyleSheetOrigin, Listener*);
</ins><span class="cx"> 
</span><span class="cx">     virtual Document* ownerDocument() const override;
</span><span class="cx">     virtual RefPtr&lt;CSSRuleSourceData&gt; ruleSourceDataFor(CSSStyleDeclaration* style) const override { ASSERT_UNUSED(style, style == inlineStyle()); return m_ruleSourceData; }
</span><span class="cx">     virtual unsigned ruleIndexByStyle(CSSStyleDeclaration*) const override { return 0; }
</span><span class="cx">     virtual bool ensureParsedDataReady() override;
</span><del>-    virtual RefPtr&lt;InspectorStyle&gt; inspectorStyleForId(const InspectorCSSId&amp;) override;
-    virtual void rememberInspectorStyle(RefPtr&lt;InspectorStyle&gt;&amp;&amp;) override { }
</del><ins>+    virtual PassRefPtr&lt;InspectorStyle&gt; inspectorStyleForId(const InspectorCSSId&amp;) override;
+    virtual void rememberInspectorStyle(RefPtr&lt;InspectorStyle&gt;) override { }
</ins><span class="cx">     virtual void forgetInspectorStyle(CSSStyleDeclaration*) override { }
</span><span class="cx"> 
</span><span class="cx">     // Also accessed by friend class InspectorStyle.
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorTimelineAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -197,9 +197,9 @@
</span><span class="cx"> 
</span><span class="cx">     // Use an independent stopwatch for console-initiated profiling, since the user will expect it
</span><span class="cx">     // to be relative to when their command was issued.
</span><del>-    Ref&lt;Stopwatch&gt; profilerStopwatch = Stopwatch::create();
</del><ins>+    RefPtr&lt;Stopwatch&gt; profilerStopwatch = Stopwatch::create();
</ins><span class="cx">     profilerStopwatch-&gt;start();
</span><del>-    startProfiling(exec, title, WTF::move(profilerStopwatch));
</del><ins>+    startProfiling(exec, title, profilerStopwatch.release());
</ins><span class="cx"> 
</span><span class="cx">     m_pendingConsoleProfileRecords.append(createRecordEntry(TimelineRecordFactory::createConsoleProfileData(title), TimelineRecordType::ConsoleProfile, true, frameFromExecState(exec)));
</span><span class="cx"> }
</span><span class="lines">@@ -217,7 +217,7 @@
</span><span class="cx">         if (title.isEmpty() || recordTitle == title) {
</span><span class="cx">             RefPtr&lt;JSC::Profile&gt; profile = stopProfiling(exec, title);
</span><span class="cx">             if (profile)
</span><del>-                TimelineRecordFactory::appendProfile(record.data.get(), profile.copyRef());
</del><ins>+                TimelineRecordFactory::appendProfile(record.data.get(), profile);
</ins><span class="cx"> 
</span><span class="cx">             didCompleteRecordEntry(record);
</span><span class="cx"> 
</span><span class="lines">@@ -226,7 +226,7 @@
</span><span class="cx">             if (!m_enabledFromFrontend &amp;&amp; m_pendingConsoleProfileRecords.isEmpty())
</span><span class="cx">                 internalStop();
</span><span class="cx"> 
</span><del>-            return WTF::move(profile);
</del><ins>+            return profile.release();
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -647,17 +647,17 @@
</span><span class="cx">     return Inspector::Protocol::Timeline::EventType::TimeStamp;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorTimelineAgent::addRecordToTimeline(RefPtr&lt;InspectorObject&gt;&amp;&amp; record, TimelineRecordType type)
</del><ins>+void InspectorTimelineAgent::addRecordToTimeline(PassRefPtr&lt;InspectorObject&gt; prpRecord, TimelineRecordType type)
</ins><span class="cx"> {
</span><del>-    ASSERT_ARG(record, record);
-    record-&gt;setString(&quot;type&quot;, Inspector::Protocol::getEnumConstantValue(toProtocol(type)));
</del><ins>+    prpRecord-&gt;setString(&quot;type&quot;, Inspector::Protocol::getEnumConstantValue(toProtocol(type)));
</ins><span class="cx"> 
</span><del>-    if (m_recordStack.isEmpty()) {
-        auto recordObject = BindingTraits&lt;Inspector::Protocol::Timeline::TimelineEvent&gt;::runtimeCast(WTF::move(record));
-        sendEvent(WTF::move(recordObject));
-    } else {
</del><ins>+    RefPtr&lt;Inspector::Protocol::Timeline::TimelineEvent&gt; record = BindingTraits&lt;Inspector::Protocol::Timeline::TimelineEvent&gt;::runtimeCast(prpRecord);
+
+    if (m_recordStack.isEmpty())
+        sendEvent(record.release());
+    else {
</ins><span class="cx">         const TimelineRecordEntry&amp; parent = m_recordStack.last();
</span><del>-        parent.children-&gt;pushObject(WTF::move(record));
</del><ins>+        parent.children-&gt;pushObject(record.release());
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -676,7 +676,7 @@
</span><span class="cx">     entry.record-&gt;setObject(ASCIILiteral(&quot;data&quot;), entry.data);
</span><span class="cx">     entry.record-&gt;setArray(ASCIILiteral(&quot;children&quot;), entry.children);
</span><span class="cx">     entry.record-&gt;setDouble(ASCIILiteral(&quot;endTime&quot;), timestamp());
</span><del>-    addRecordToTimeline(entry.record.copyRef(), entry.type);
</del><ins>+    addRecordToTimeline(entry.record, entry.type);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorTimelineAgent::didCompleteCurrentRecord(TimelineRecordType type)
</span><span class="lines">@@ -705,34 +705,34 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorTimelineAgent::appendRecord(RefPtr&lt;InspectorObject&gt;&amp;&amp; data, TimelineRecordType type, bool captureCallStack, Frame* frame)
</del><ins>+void InspectorTimelineAgent::appendRecord(PassRefPtr&lt;InspectorObject&gt; data, TimelineRecordType type, bool captureCallStack, Frame* frame)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; record = TimelineRecordFactory::createGenericRecord(timestamp(), captureCallStack ? m_maxCallStackDepth : 0);
-    record-&gt;setObject(&quot;data&quot;, WTF::move(data));
-    setFrameIdentifier(&amp;record.get(), frame);
-    addRecordToTimeline(WTF::move(record), type);
</del><ins>+    RefPtr&lt;InspectorObject&gt; record = TimelineRecordFactory::createGenericRecord(timestamp(), captureCallStack ? m_maxCallStackDepth : 0);
+    record-&gt;setObject(&quot;data&quot;, data);
+    setFrameIdentifier(record.get(), frame);
+    addRecordToTimeline(record.release(), type);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorTimelineAgent::sendEvent(RefPtr&lt;InspectorObject&gt;&amp;&amp; event)
</del><ins>+void InspectorTimelineAgent::sendEvent(PassRefPtr&lt;InspectorObject&gt; event)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_frontendDispatcher)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     // FIXME: runtimeCast is a hack. We do it because we can't build TimelineEvent directly now.
</span><del>-    auto recordChecked = BindingTraits&lt;Inspector::Protocol::Timeline::TimelineEvent&gt;::runtimeCast(WTF::move(event));
-    m_frontendDispatcher-&gt;eventRecorded(WTF::move(recordChecked));
</del><ins>+    RefPtr&lt;Inspector::Protocol::Timeline::TimelineEvent&gt; recordChecked = BindingTraits&lt;Inspector::Protocol::Timeline::TimelineEvent&gt;::runtimeCast(event);
+    m_frontendDispatcher-&gt;eventRecorded(recordChecked.release());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-InspectorTimelineAgent::TimelineRecordEntry InspectorTimelineAgent::createRecordEntry(RefPtr&lt;InspectorObject&gt;&amp;&amp; data, TimelineRecordType type, bool captureCallStack, Frame* frame)
</del><ins>+InspectorTimelineAgent::TimelineRecordEntry InspectorTimelineAgent::createRecordEntry(PassRefPtr&lt;InspectorObject&gt; data, TimelineRecordType type, bool captureCallStack, Frame* frame)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; record = TimelineRecordFactory::createGenericRecord(timestamp(), captureCallStack ? m_maxCallStackDepth : 0);
-    setFrameIdentifier(&amp;record.get(), frame);
-    return TimelineRecordEntry(WTF::move(record), WTF::move(data), InspectorArray::create(), type);
</del><ins>+    RefPtr&lt;InspectorObject&gt; record = TimelineRecordFactory::createGenericRecord(timestamp(), captureCallStack ? m_maxCallStackDepth : 0);
+    setFrameIdentifier(record.get(), frame);
+    return TimelineRecordEntry(record.release(), data, InspectorArray::create(), type);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorTimelineAgent::pushCurrentRecord(RefPtr&lt;InspectorObject&gt;&amp;&amp; data, TimelineRecordType type, bool captureCallStack, Frame* frame)
</del><ins>+void InspectorTimelineAgent::pushCurrentRecord(PassRefPtr&lt;InspectorObject&gt; data, TimelineRecordType type, bool captureCallStack, Frame* frame)
</ins><span class="cx"> {
</span><del>-    pushCurrentRecord(createRecordEntry(WTF::move(data), type, captureCallStack, frame));
</del><ins>+    pushCurrentRecord(createRecordEntry(data, type, captureCallStack, frame));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorTimelineAgent::clearRecordStack()
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorTimelineAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorTimelineAgent.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorTimelineAgent.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorTimelineAgent.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -224,19 +224,19 @@
</span><span class="cx">     void internalStop();
</span><span class="cx">     double timestamp();
</span><span class="cx"> 
</span><del>-    void sendEvent(RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp;);
-    void appendRecord(RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; data, TimelineRecordType, bool captureCallStack, Frame*);
-    void pushCurrentRecord(RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp;, TimelineRecordType, bool captureCallStack, Frame*);
</del><ins>+    void sendEvent(PassRefPtr&lt;Inspector::InspectorObject&gt;);
+    void appendRecord(PassRefPtr&lt;Inspector::InspectorObject&gt; data, TimelineRecordType, bool captureCallStack, Frame*);
+    void pushCurrentRecord(PassRefPtr&lt;Inspector::InspectorObject&gt;, TimelineRecordType, bool captureCallStack, Frame*);
</ins><span class="cx">     void pushCurrentRecord(const TimelineRecordEntry&amp; record) { m_recordStack.append(record); }
</span><span class="cx"> 
</span><del>-    TimelineRecordEntry createRecordEntry(RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; data, TimelineRecordType, bool captureCallStack, Frame*);
</del><ins>+    TimelineRecordEntry createRecordEntry(PassRefPtr&lt;Inspector::InspectorObject&gt; data, TimelineRecordType, bool captureCallStack, Frame*);
</ins><span class="cx"> 
</span><span class="cx">     void setFrameIdentifier(Inspector::InspectorObject* record, Frame*);
</span><span class="cx"> 
</span><span class="cx">     void didCompleteRecordEntry(const TimelineRecordEntry&amp;);
</span><span class="cx">     void didCompleteCurrentRecord(TimelineRecordType);
</span><span class="cx"> 
</span><del>-    void addRecordToTimeline(RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp;, TimelineRecordType);
</del><ins>+    void addRecordToTimeline(PassRefPtr&lt;Inspector::InspectorObject&gt;, TimelineRecordType);
</ins><span class="cx">     void clearRecordStack();
</span><span class="cx"> 
</span><span class="cx">     void localToPageQuad(const RenderObject&amp;, const LayoutRect&amp;, FloatQuad*);
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorWorkerAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorWorkerAgent.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorWorkerAgent.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorWorkerAgent.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -174,7 +174,7 @@
</span><span class="cx">         error = ASCIILiteral(&quot;Worker is gone&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorWorkerAgent::sendMessageToWorker(ErrorString&amp; error, int workerId, const RefPtr&lt;InspectorObject&gt;&amp;&amp; message)
</del><ins>+void InspectorWorkerAgent::sendMessageToWorker(ErrorString&amp; error, int workerId, const RefPtr&lt;InspectorObject&gt;&amp; message)
</ins><span class="cx"> {
</span><span class="cx">     WorkerFrontendChannel* channel = m_idToChannel.get(workerId);
</span><span class="cx">     if (channel)
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorWorkerAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorWorkerAgent.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorWorkerAgent.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/InspectorWorkerAgent.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -68,7 +68,7 @@
</span><span class="cx">     virtual void canInspectWorkers(ErrorString&amp;, bool*) override;
</span><span class="cx">     virtual void connectToWorker(ErrorString&amp;, int workerId) override;
</span><span class="cx">     virtual void disconnectFromWorker(ErrorString&amp;, int workerId) override;
</span><del>-    virtual void sendMessageToWorker(ErrorString&amp;, int workerId, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; message) override;
</del><ins>+    virtual void sendMessageToWorker(ErrorString&amp;, int workerId, const RefPtr&lt;Inspector::InspectorObject&gt;&amp; message) override;
</ins><span class="cx">     virtual void setAutoconnectToWorkers(ErrorString&amp;, bool value) override;
</span><span class="cx"> 
</span><span class="cx"> private:
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorNetworkResourcesDatacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/NetworkResourcesData.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/NetworkResourcesData.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/NetworkResourcesData.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -51,17 +51,17 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-Ref&lt;XHRReplayData&gt; XHRReplayData::create(const String &amp;method, const URL&amp; url, bool async, RefPtr&lt;FormData&gt;&amp;&amp; formData, const HTTPHeaderMap&amp; headers, bool includeCredentials)
</del><ins>+PassRefPtr&lt;XHRReplayData&gt; XHRReplayData::create(const String &amp;method, const URL&amp; url, bool async, PassRefPtr&lt;FormData&gt; formData, const HTTPHeaderMap&amp; headers, bool includeCredentials)
</ins><span class="cx"> {
</span><del>-    return adoptRef(*new XHRReplayData(method, url, async, WTF::move(formData), headers, includeCredentials));
</del><ins>+    return adoptRef(new XHRReplayData(method, url, async, formData, headers, includeCredentials));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-XHRReplayData::XHRReplayData(const String &amp;method, const URL&amp; url, bool async, RefPtr&lt;FormData&gt;&amp;&amp; formData, const HTTPHeaderMap&amp; headers, bool includeCredentials)
</del><ins>+XHRReplayData::XHRReplayData(const String &amp;method, const URL&amp; url, bool async, PassRefPtr&lt;FormData&gt; formData, const HTTPHeaderMap&amp; headers, bool includeCredentials)
</ins><span class="cx">     : m_method(method)
</span><span class="cx">     , m_url(url)
</span><span class="cx">     , m_async(async)
</span><del>-    , m_formData(WTF::move(formData))
</del><ins>+    , m_formData(formData)
</ins><span class="cx">     , m_headers(headers)
</span><span class="cx">     , m_includeCredentials(includeCredentials)
</span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorNetworkResourcesDatah"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/NetworkResourcesData.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/NetworkResourcesData.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/NetworkResourcesData.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -51,7 +51,7 @@
</span><span class="cx"> 
</span><span class="cx"> class XHRReplayData : public RefCounted&lt;XHRReplayData&gt; {
</span><span class="cx"> public:
</span><del>-    static Ref&lt;XHRReplayData&gt; create(const String &amp;method, const URL&amp;, bool async, RefPtr&lt;FormData&gt;&amp;&amp;, const HTTPHeaderMap&amp; headers, bool includeCredentials);
</del><ins>+    static PassRefPtr&lt;XHRReplayData&gt; create(const String &amp;method, const URL&amp;, bool async, PassRefPtr&lt;FormData&gt;, const HTTPHeaderMap&amp; headers, bool includeCredentials);
</ins><span class="cx"> 
</span><span class="cx">     const String&amp; method() const { return m_method; }
</span><span class="cx">     const URL&amp; url() const { return m_url; }
</span><span class="lines">@@ -60,7 +60,7 @@
</span><span class="cx">     const HTTPHeaderMap&amp; headers() const { return m_headers; }
</span><span class="cx">     bool includeCredentials() const { return m_includeCredentials; }
</span><span class="cx"> private:
</span><del>-    XHRReplayData(const String &amp;method, const URL&amp;, bool async, RefPtr&lt;FormData&gt;&amp;&amp;, const HTTPHeaderMap&amp; headers, bool includeCredentials);
</del><ins>+    XHRReplayData(const String &amp;method, const URL&amp;, bool async, PassRefPtr&lt;FormData&gt;, const HTTPHeaderMap&amp; headers, bool includeCredentials);
</ins><span class="cx"> 
</span><span class="cx">     String m_method;
</span><span class="cx">     URL m_url;
</span><span class="lines">@@ -107,11 +107,11 @@
</span><span class="cx">         String textEncodingName() const { return m_textEncodingName; }
</span><span class="cx">         void setTextEncodingName(const String&amp; textEncodingName) { m_textEncodingName = textEncodingName; }
</span><span class="cx"> 
</span><del>-        RefPtr&lt;TextResourceDecoder&gt; decoder() const { return m_decoder.copyRef(); }
-        void setDecoder(RefPtr&lt;TextResourceDecoder&gt;&amp;&amp; decoder) { m_decoder = WTF::move(decoder); }
</del><ins>+        PassRefPtr&lt;TextResourceDecoder&gt; decoder() const { return m_decoder; }
+        void setDecoder(PassRefPtr&lt;TextResourceDecoder&gt; decoder) { m_decoder = decoder; }
</ins><span class="cx"> 
</span><del>-        RefPtr&lt;SharedBuffer&gt; buffer() const { return m_buffer.copyRef(); }
-        void setBuffer(RefPtr&lt;SharedBuffer&gt;&amp;&amp; buffer) { m_buffer = WTF::move(buffer); }
</del><ins>+        PassRefPtr&lt;SharedBuffer&gt; buffer() const { return m_buffer; }
+        void setBuffer(PassRefPtr&lt;SharedBuffer&gt; buffer) { m_buffer = buffer; }
</ins><span class="cx"> 
</span><span class="cx">         CachedResource* cachedResource() const { return m_cachedResource; }
</span><span class="cx">         void setCachedResource(CachedResource* cachedResource) { m_cachedResource = cachedResource; }
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorTimelineRecordFactorycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/TimelineRecordFactory.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/TimelineRecordFactory.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/TimelineRecordFactory.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -52,9 +52,9 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorObject&gt; TimelineRecordFactory::createGenericRecord(double startTime, int maxCallStackDepth)
</del><ins>+PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createGenericRecord(double startTime, int maxCallStackDepth)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; record = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; record = InspectorObject::create();
</ins><span class="cx">     record-&gt;setDouble(&quot;startTime&quot;, startTime);
</span><span class="cx"> 
</span><span class="cx">     if (maxCallStackDepth) {
</span><span class="lines">@@ -62,185 +62,185 @@
</span><span class="cx">         if (stackTrace &amp;&amp; stackTrace-&gt;size())
</span><span class="cx">             record-&gt;setValue(&quot;stackTrace&quot;, stackTrace-&gt;buildInspectorArray());
</span><span class="cx">     }
</span><del>-    return WTF::move(record);
</del><ins>+    return record.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorObject&gt; TimelineRecordFactory::createBackgroundRecord(double startTime, const String&amp; threadName)
</del><ins>+PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createBackgroundRecord(double startTime, const String&amp; threadName)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; record = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; record = InspectorObject::create();
</ins><span class="cx">     record-&gt;setDouble(&quot;startTime&quot;, startTime);
</span><span class="cx">     record-&gt;setString(&quot;thread&quot;, threadName);
</span><del>-    return WTF::move(record);
</del><ins>+    return record.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorObject&gt; TimelineRecordFactory::createGCEventData(const size_t usedHeapSizeDelta)
</del><ins>+PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createGCEventData(const size_t usedHeapSizeDelta)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setInteger(&quot;usedHeapSizeDelta&quot;, usedHeapSizeDelta);
</span><del>-    return WTF::move(data);
</del><ins>+    return data.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorObject&gt; TimelineRecordFactory::createFunctionCallData(const String&amp; scriptName, int scriptLine)
</del><ins>+PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createFunctionCallData(const String&amp; scriptName, int scriptLine)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setString(&quot;scriptName&quot;, scriptName);
</span><span class="cx">     data-&gt;setInteger(&quot;scriptLine&quot;, scriptLine);
</span><del>-    return WTF::move(data);
</del><ins>+    return data.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorObject&gt; TimelineRecordFactory::createConsoleProfileData(const String&amp; title)
</del><ins>+PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createConsoleProfileData(const String&amp; title)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setString(&quot;title&quot;, title);
</span><del>-    return WTF::move(data);
</del><ins>+    return data.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorObject&gt; TimelineRecordFactory::createProbeSampleData(const ScriptBreakpointAction&amp; action, unsigned sampleId)
</del><ins>+PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createProbeSampleData(const ScriptBreakpointAction&amp; action, unsigned sampleId)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setInteger(ASCIILiteral(&quot;probeId&quot;), action.identifier);
</span><span class="cx">     data-&gt;setInteger(ASCIILiteral(&quot;sampleId&quot;), sampleId);
</span><del>-    return WTF::move(data);
</del><ins>+    return data.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorObject&gt; TimelineRecordFactory::createEventDispatchData(const Event&amp; event)
</del><ins>+PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createEventDispatchData(const Event&amp; event)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setString(&quot;type&quot;, event.type().string());
</span><del>-    return WTF::move(data);
</del><ins>+    return data.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorObject&gt; TimelineRecordFactory::createGenericTimerData(int timerId)
</del><ins>+PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createGenericTimerData(int timerId)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setInteger(&quot;timerId&quot;, timerId);
</span><del>-    return WTF::move(data);
</del><ins>+    return data.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorObject&gt; TimelineRecordFactory::createTimerInstallData(int timerId, int timeout, bool singleShot)
</del><ins>+PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createTimerInstallData(int timerId, int timeout, bool singleShot)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setInteger(&quot;timerId&quot;, timerId);
</span><span class="cx">     data-&gt;setInteger(&quot;timeout&quot;, timeout);
</span><span class="cx">     data-&gt;setBoolean(&quot;singleShot&quot;, singleShot);
</span><del>-    return WTF::move(data);
</del><ins>+    return data.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorObject&gt; TimelineRecordFactory::createXHRReadyStateChangeData(const String&amp; url, int readyState)
</del><ins>+PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createXHRReadyStateChangeData(const String&amp; url, int readyState)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setString(&quot;url&quot;, url);
</span><span class="cx">     data-&gt;setInteger(&quot;readyState&quot;, readyState);
</span><del>-    return WTF::move(data);
</del><ins>+    return data.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorObject&gt; TimelineRecordFactory::createXHRLoadData(const String&amp; url)
</del><ins>+PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createXHRLoadData(const String&amp; url)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setString(&quot;url&quot;, url);
</span><del>-    return WTF::move(data);
</del><ins>+    return data.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorObject&gt; TimelineRecordFactory::createEvaluateScriptData(const String&amp; url, double lineNumber)
</del><ins>+PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createEvaluateScriptData(const String&amp; url, double lineNumber)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setString(&quot;url&quot;, url);
</span><span class="cx">     data-&gt;setInteger(&quot;lineNumber&quot;, lineNumber);
</span><del>-    return WTF::move(data);
</del><ins>+    return data.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorObject&gt; TimelineRecordFactory::createTimeStampData(const String&amp; message)
</del><ins>+PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createTimeStampData(const String&amp; message)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setString(&quot;message&quot;, message);
</span><del>-    return WTF::move(data);
</del><ins>+    return data.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorObject&gt; TimelineRecordFactory::createScheduleResourceRequestData(const String&amp; url)
</del><ins>+PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createScheduleResourceRequestData(const String&amp; url)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setString(&quot;url&quot;, url);
</span><del>-    return WTF::move(data);
</del><ins>+    return data.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorObject&gt; TimelineRecordFactory::createResourceSendRequestData(const String&amp; requestId, const ResourceRequest&amp; request)
</del><ins>+PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createResourceSendRequestData(const String&amp; requestId, const ResourceRequest&amp; request)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setString(&quot;requestId&quot;, requestId);
</span><span class="cx">     data-&gt;setString(&quot;url&quot;, request.url().string());
</span><span class="cx">     data-&gt;setString(&quot;requestMethod&quot;, request.httpMethod());
</span><del>-    return WTF::move(data);
</del><ins>+    return data.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorObject&gt; TimelineRecordFactory::createResourceReceiveResponseData(const String&amp; requestId, const ResourceResponse&amp; response)
</del><ins>+PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createResourceReceiveResponseData(const String&amp; requestId, const ResourceResponse&amp; response)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setString(&quot;requestId&quot;, requestId);
</span><span class="cx">     data-&gt;setInteger(&quot;statusCode&quot;, response.httpStatusCode());
</span><span class="cx">     data-&gt;setString(&quot;mimeType&quot;, response.mimeType());
</span><del>-    return WTF::move(data);
</del><ins>+    return data.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorObject&gt; TimelineRecordFactory::createResourceFinishData(const String&amp; requestId, bool didFail, double finishTime)
</del><ins>+PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createResourceFinishData(const String&amp; requestId, bool didFail, double finishTime)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setString(&quot;requestId&quot;, requestId);
</span><span class="cx">     data-&gt;setBoolean(&quot;didFail&quot;, didFail);
</span><span class="cx">     if (finishTime)
</span><span class="cx">         data-&gt;setDouble(&quot;networkTime&quot;, finishTime);
</span><del>-    return WTF::move(data);
</del><ins>+    return data.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorObject&gt; TimelineRecordFactory::createReceiveResourceData(const String&amp; requestId, int length)
</del><ins>+PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createReceiveResourceData(const String&amp; requestId, int length)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setString(&quot;requestId&quot;, requestId);
</span><span class="cx">     data-&gt;setInteger(&quot;encodedDataLength&quot;, length);
</span><del>-    return WTF::move(data);
</del><ins>+    return data.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorObject&gt; TimelineRecordFactory::createLayoutData(unsigned dirtyObjects, unsigned totalObjects, bool partialLayout)
</del><ins>+PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createLayoutData(unsigned dirtyObjects, unsigned totalObjects, bool partialLayout)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setInteger(&quot;dirtyObjects&quot;, dirtyObjects);
</span><span class="cx">     data-&gt;setInteger(&quot;totalObjects&quot;, totalObjects);
</span><span class="cx">     data-&gt;setBoolean(&quot;partialLayout&quot;, partialLayout);
</span><del>-    return WTF::move(data);
</del><ins>+    return data.release();
</ins><span class="cx"> }
</span><del>-
-Ref&lt;InspectorObject&gt; TimelineRecordFactory::createDecodeImageData(const String&amp; imageType)
</del><ins>+    
+PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createDecodeImageData(const String&amp; imageType)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setString(&quot;imageType&quot;, imageType);
</span><del>-    return WTF::move(data);
</del><ins>+    return data.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorObject&gt; TimelineRecordFactory::createResizeImageData(bool shouldCache)
</del><ins>+PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createResizeImageData(bool shouldCache)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setBoolean(&quot;cached&quot;, shouldCache);
</span><del>-    return WTF::move(data);
</del><ins>+    return data.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorObject&gt; TimelineRecordFactory::createMarkData(bool isMainFrame)
</del><ins>+PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createMarkData(bool isMainFrame)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setBoolean(&quot;isMainFrame&quot;, isMainFrame);
</span><del>-    return WTF::move(data);
</del><ins>+    return data.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorObject&gt; TimelineRecordFactory::createParseHTMLData(unsigned startLine)
</del><ins>+PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createParseHTMLData(unsigned startLine)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setInteger(&quot;startLine&quot;, startLine);
</span><del>-    return WTF::move(data);
</del><ins>+    return data.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorObject&gt; TimelineRecordFactory::createAnimationFrameData(int callbackId)
</del><ins>+PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createAnimationFrameData(int callbackId)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setInteger(&quot;id&quot;, callbackId);
</span><del>-    return WTF::move(data);
</del><ins>+    return data.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static PassRefPtr&lt;InspectorArray&gt; createQuad(const FloatQuad&amp; quad)
</span><span class="lines">@@ -254,14 +254,14 @@
</span><span class="cx">     array-&gt;pushDouble(quad.p3().y());
</span><span class="cx">     array-&gt;pushDouble(quad.p4().x());
</span><span class="cx">     array-&gt;pushDouble(quad.p4().y());
</span><del>-    return WTF::move(array);
</del><ins>+    return array.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;InspectorObject&gt; TimelineRecordFactory::createPaintData(const FloatQuad&amp; quad)
</del><ins>+PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createPaintData(const FloatQuad&amp; quad)
</ins><span class="cx"> {
</span><del>-    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setArray(&quot;clip&quot;, createQuad(quad));
</span><del>-    return WTF::move(data);
</del><ins>+    return data.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void TimelineRecordFactory::appendLayoutRoot(InspectorObject* data, const FloatQuad&amp; quad)
</span><span class="lines">@@ -269,24 +269,23 @@
</span><span class="cx">     data-&gt;setArray(&quot;root&quot;, createQuad(quad));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static Ref&lt;Protocol::Timeline::CPUProfileNodeCall&gt; buildInspectorObject(const JSC::ProfileNode::Call&amp; call)
</del><ins>+static PassRefPtr&lt;Protocol::Timeline::CPUProfileNodeCall&gt; buildInspectorObject(const JSC::ProfileNode::Call&amp; call)
</ins><span class="cx"> {
</span><del>-    return Protocol::Timeline::CPUProfileNodeCall::create()
</del><ins>+    RefPtr&lt;Protocol::Timeline::CPUProfileNodeCall&gt; result = Protocol::Timeline::CPUProfileNodeCall::create()
</ins><span class="cx">         .setStartTime(call.startTime())
</span><del>-        .setTotalTime(call.elapsedTime())
-        .release();
</del><ins>+        .setTotalTime(call.elapsedTime());
+    return result.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static Ref&lt;Protocol::Timeline::CPUProfileNode&gt; buildInspectorObject(const JSC::ProfileNode* node)
</del><ins>+static PassRefPtr&lt;Protocol::Timeline::CPUProfileNode&gt; buildInspectorObject(const JSC::ProfileNode* node)
</ins><span class="cx"> {
</span><del>-    auto calls = Protocol::Array&lt;Protocol::Timeline::CPUProfileNodeCall&gt;::create();
</del><ins>+    RefPtr&lt;Protocol::Array&lt;Protocol::Timeline::CPUProfileNodeCall&gt;&gt; calls = Protocol::Array&lt;Protocol::Timeline::CPUProfileNodeCall&gt;::create();
</ins><span class="cx">     for (const JSC::ProfileNode::Call&amp; call : node-&gt;calls())
</span><span class="cx">         calls-&gt;addItem(buildInspectorObject(call));
</span><span class="cx"> 
</span><del>-    auto result = Protocol::Timeline::CPUProfileNode::create()
</del><ins>+    RefPtr&lt;Protocol::Timeline::CPUProfileNode&gt; result = Protocol::Timeline::CPUProfileNode::create()
</ins><span class="cx">         .setId(node-&gt;id())
</span><del>-        .setCalls(WTF::move(calls))
-        .release();
</del><ins>+        .setCalls(calls.release());
</ins><span class="cx"> 
</span><span class="cx">     if (!node-&gt;functionName().isEmpty())
</span><span class="cx">         result-&gt;setFunctionName(node-&gt;functionName());
</span><span class="lines">@@ -298,27 +297,28 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (!node-&gt;children().isEmpty()) {
</span><del>-        auto children = Protocol::Array&lt;Protocol::Timeline::CPUProfileNode&gt;::create();
</del><ins>+        RefPtr&lt;Protocol::Array&lt;Protocol::Timeline::CPUProfileNode&gt;&gt; children = Protocol::Array&lt;Protocol::Timeline::CPUProfileNode&gt;::create();
</ins><span class="cx">         for (RefPtr&lt;JSC::ProfileNode&gt; profileNode : node-&gt;children())
</span><span class="cx">             children-&gt;addItem(buildInspectorObject(profileNode.get()));
</span><del>-        result-&gt;setChildren(WTF::move(children));
</del><ins>+        result-&gt;setChildren(children);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return WTF::move(result);
</del><ins>+    return result.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static Ref&lt;Protocol::Timeline::CPUProfile&gt; buildProfileInspectorObject(const JSC::Profile* profile)
</del><ins>+static PassRefPtr&lt;Protocol::Timeline::CPUProfile&gt; buildProfileInspectorObject(const JSC::Profile* profile)
</ins><span class="cx"> {
</span><del>-    auto rootNodes = Protocol::Array&lt;Protocol::Timeline::CPUProfileNode&gt;::create();
</del><ins>+    RefPtr&lt;Protocol::Array&lt;Protocol::Timeline::CPUProfileNode&gt;&gt; rootNodes = Protocol::Array&lt;Protocol::Timeline::CPUProfileNode&gt;::create();
</ins><span class="cx">     for (RefPtr&lt;JSC::ProfileNode&gt; profileNode : profile-&gt;rootNode()-&gt;children())
</span><span class="cx">         rootNodes-&gt;addItem(buildInspectorObject(profileNode.get()));
</span><span class="cx"> 
</span><del>-    return Protocol::Timeline::CPUProfile::create()
-        .setRootNodes(WTF::move(rootNodes))
-        .release();
</del><ins>+    RefPtr&lt;Protocol::Timeline::CPUProfile&gt; result = Protocol::Timeline::CPUProfile::create()
+        .setRootNodes(rootNodes);
+
+    return result.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void TimelineRecordFactory::appendProfile(InspectorObject* data, RefPtr&lt;JSC::Profile&gt;&amp;&amp; profile)
</del><ins>+void TimelineRecordFactory::appendProfile(InspectorObject* data, PassRefPtr&lt;JSC::Profile&gt; profile)
</ins><span class="cx"> {
</span><span class="cx">     data-&gt;setValue(ASCIILiteral(&quot;profile&quot;), buildProfileInspectorObject(profile.get()));
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorTimelineRecordFactoryh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/TimelineRecordFactory.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/TimelineRecordFactory.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/TimelineRecordFactory.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -55,74 +55,74 @@
</span><span class="cx"> 
</span><span class="cx">     class TimelineRecordFactory {
</span><span class="cx">     public:
</span><del>-        static Ref&lt;Inspector::InspectorObject&gt; createGenericRecord(double startTime, int maxCallStackDepth);
-        static Ref&lt;Inspector::InspectorObject&gt; createBackgroundRecord(double startTime, const String&amp; thread);
</del><ins>+        static PassRefPtr&lt;Inspector::InspectorObject&gt; createGenericRecord(double startTime, int maxCallStackDepth);
+        static PassRefPtr&lt;Inspector::InspectorObject&gt; createBackgroundRecord(double startTime, const String&amp; thread);
</ins><span class="cx"> 
</span><del>-        static Ref&lt;Inspector::InspectorObject&gt; createGCEventData(const size_t usedHeapSizeDelta);
</del><ins>+        static PassRefPtr&lt;Inspector::InspectorObject&gt; createGCEventData(const size_t usedHeapSizeDelta);
</ins><span class="cx"> 
</span><del>-        static Ref&lt;Inspector::InspectorObject&gt; createFunctionCallData(const String&amp; scriptName, int scriptLine);
-        static Ref&lt;Inspector::InspectorObject&gt; createConsoleProfileData(const String&amp; title);
</del><ins>+        static PassRefPtr&lt;Inspector::InspectorObject&gt; createFunctionCallData(const String&amp; scriptName, int scriptLine);
+        static PassRefPtr&lt;Inspector::InspectorObject&gt; createConsoleProfileData(const String&amp; title);
</ins><span class="cx"> 
</span><del>-        static Ref&lt;Inspector::InspectorObject&gt; createProbeSampleData(const Inspector::ScriptBreakpointAction&amp;, unsigned sampleId);
</del><ins>+        static PassRefPtr&lt;Inspector::InspectorObject&gt; createProbeSampleData(const Inspector::ScriptBreakpointAction&amp;, unsigned sampleId);
</ins><span class="cx"> 
</span><del>-        static Ref&lt;Inspector::InspectorObject&gt; createEventDispatchData(const Event&amp;);
</del><ins>+        static PassRefPtr&lt;Inspector::InspectorObject&gt; createEventDispatchData(const Event&amp;);
</ins><span class="cx"> 
</span><del>-        static Ref&lt;Inspector::InspectorObject&gt; createGenericTimerData(int timerId);
</del><ins>+        static PassRefPtr&lt;Inspector::InspectorObject&gt; createGenericTimerData(int timerId);
</ins><span class="cx"> 
</span><del>-        static Ref&lt;Inspector::InspectorObject&gt; createTimerInstallData(int timerId, int timeout, bool singleShot);
</del><ins>+        static PassRefPtr&lt;Inspector::InspectorObject&gt; createTimerInstallData(int timerId, int timeout, bool singleShot);
</ins><span class="cx"> 
</span><del>-        static Ref&lt;Inspector::InspectorObject&gt; createXHRReadyStateChangeData(const String&amp; url, int readyState);
</del><ins>+        static PassRefPtr&lt;Inspector::InspectorObject&gt; createXHRReadyStateChangeData(const String&amp; url, int readyState);
</ins><span class="cx"> 
</span><del>-        static Ref&lt;Inspector::InspectorObject&gt; createXHRLoadData(const String&amp; url);
</del><ins>+        static PassRefPtr&lt;Inspector::InspectorObject&gt; createXHRLoadData(const String&amp; url);
</ins><span class="cx"> 
</span><del>-        static Ref&lt;Inspector::InspectorObject&gt; createEvaluateScriptData(const String&amp;, double lineNumber);
</del><ins>+        static PassRefPtr&lt;Inspector::InspectorObject&gt; createEvaluateScriptData(const String&amp;, double lineNumber);
</ins><span class="cx"> 
</span><del>-        static Ref&lt;Inspector::InspectorObject&gt; createTimeStampData(const String&amp;);
</del><ins>+        static PassRefPtr&lt;Inspector::InspectorObject&gt; createTimeStampData(const String&amp;);
</ins><span class="cx"> 
</span><del>-        static Ref&lt;Inspector::InspectorObject&gt; createResourceSendRequestData(const String&amp; requestId, const ResourceRequest&amp;);
</del><ins>+        static PassRefPtr&lt;Inspector::InspectorObject&gt; createResourceSendRequestData(const String&amp; requestId, const ResourceRequest&amp;);
</ins><span class="cx"> 
</span><del>-        static Ref&lt;Inspector::InspectorObject&gt; createScheduleResourceRequestData(const String&amp;);
</del><ins>+        static PassRefPtr&lt;Inspector::InspectorObject&gt; createScheduleResourceRequestData(const String&amp;);
</ins><span class="cx"> 
</span><del>-        static Ref&lt;Inspector::InspectorObject&gt; createResourceReceiveResponseData(const String&amp; requestId, const ResourceResponse&amp;);
</del><ins>+        static PassRefPtr&lt;Inspector::InspectorObject&gt; createResourceReceiveResponseData(const String&amp; requestId, const ResourceResponse&amp;);
</ins><span class="cx"> 
</span><del>-        static Ref&lt;Inspector::InspectorObject&gt; createReceiveResourceData(const String&amp; requestId, int length);
</del><ins>+        static PassRefPtr&lt;Inspector::InspectorObject&gt; createReceiveResourceData(const String&amp; requestId, int length);
</ins><span class="cx"> 
</span><del>-        static Ref&lt;Inspector::InspectorObject&gt; createResourceFinishData(const String&amp; requestId, bool didFail, double finishTime);
</del><ins>+        static PassRefPtr&lt;Inspector::InspectorObject&gt; createResourceFinishData(const String&amp; requestId, bool didFail, double finishTime);
</ins><span class="cx"> 
</span><del>-        static Ref&lt;Inspector::InspectorObject&gt; createLayoutData(unsigned dirtyObjects, unsigned totalObjects, bool partialLayout);
</del><ins>+        static PassRefPtr&lt;Inspector::InspectorObject&gt; createLayoutData(unsigned dirtyObjects, unsigned totalObjects, bool partialLayout);
</ins><span class="cx"> 
</span><del>-        static Ref&lt;Inspector::InspectorObject&gt; createDecodeImageData(const String&amp; imageType);
</del><ins>+        static PassRefPtr&lt;Inspector::InspectorObject&gt; createDecodeImageData(const String&amp; imageType);
</ins><span class="cx"> 
</span><del>-        static Ref&lt;Inspector::InspectorObject&gt; createResizeImageData(bool shouldCache);
</del><ins>+        static PassRefPtr&lt;Inspector::InspectorObject&gt; createResizeImageData(bool shouldCache);
</ins><span class="cx"> 
</span><del>-        static Ref&lt;Inspector::InspectorObject&gt; createMarkData(bool isMainFrame);
</del><ins>+        static PassRefPtr&lt;Inspector::InspectorObject&gt; createMarkData(bool isMainFrame);
</ins><span class="cx"> 
</span><del>-        static Ref&lt;Inspector::InspectorObject&gt; createParseHTMLData(unsigned startLine);
</del><ins>+        static PassRefPtr&lt;Inspector::InspectorObject&gt; createParseHTMLData(unsigned startLine);
</ins><span class="cx"> 
</span><del>-        static Ref&lt;Inspector::InspectorObject&gt; createAnimationFrameData(int callbackId);
</del><ins>+        static PassRefPtr&lt;Inspector::InspectorObject&gt; createAnimationFrameData(int callbackId);
</ins><span class="cx"> 
</span><del>-        static Ref&lt;Inspector::InspectorObject&gt; createPaintData(const FloatQuad&amp;);
</del><ins>+        static PassRefPtr&lt;Inspector::InspectorObject&gt; createPaintData(const FloatQuad&amp;);
</ins><span class="cx"> 
</span><span class="cx">         static void appendLayoutRoot(Inspector::InspectorObject* data, const FloatQuad&amp;);
</span><span class="cx"> 
</span><del>-        static void appendProfile(Inspector::InspectorObject*, RefPtr&lt;JSC::Profile&gt;&amp;&amp;);
</del><ins>+        static void appendProfile(Inspector::InspectorObject*, PassRefPtr&lt;JSC::Profile&gt;);
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(WEB_SOCKETS)
</span><del>-        static inline Ref&lt;Inspector::InspectorObject&gt; createWebSocketCreateData(unsigned long identifier, const URL&amp; url, const String&amp; protocol)
</del><ins>+        static inline PassRefPtr&lt;Inspector::InspectorObject&gt; createWebSocketCreateData(unsigned long identifier, const URL&amp; url, const String&amp; protocol)
</ins><span class="cx">         {
</span><del>-            Ref&lt;Inspector::InspectorObject&gt; data = Inspector::InspectorObject::create();
</del><ins>+            RefPtr&lt;Inspector::InspectorObject&gt; data = Inspector::InspectorObject::create();
</ins><span class="cx">             data-&gt;setInteger(&quot;identifier&quot;, identifier);
</span><span class="cx">             data-&gt;setString(&quot;url&quot;, url.string());
</span><span class="cx">             if (!protocol.isNull())
</span><span class="cx">                 data-&gt;setString(&quot;webSocketProtocol&quot;, protocol);
</span><del>-            return WTF::move(data);
</del><ins>+            return data.release();
</ins><span class="cx">         }
</span><span class="cx"> 
</span><del>-        static inline Ref&lt;Inspector::InspectorObject&gt; createGenericWebSocketData(unsigned long identifier)
</del><ins>+        static inline PassRefPtr&lt;Inspector::InspectorObject&gt; createGenericWebSocketData(unsigned long identifier)
</ins><span class="cx">         {
</span><del>-            Ref&lt;Inspector::InspectorObject&gt; data = Inspector::InspectorObject::create();
</del><ins>+            RefPtr&lt;Inspector::InspectorObject&gt; data = Inspector::InspectorObject::create();
</ins><span class="cx">             data-&gt;setInteger(&quot;identifier&quot;, identifier);
</span><del>-            return WTF::move(data);
</del><ins>+            return data.release();
</ins><span class="cx">         }
</span><span class="cx"> #endif
</span><span class="cx">     private:
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorWorkerInspectorControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/WorkerInspectorController.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/WorkerInspectorController.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/WorkerInspectorController.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -172,9 +172,9 @@
</span><span class="cx">     InspectorInstrumentation::didCallFunction(cookie, scriptExecutionContext);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-Ref&lt;Stopwatch&gt; WorkerInspectorController::executionStopwatch()
</del><ins>+PassRefPtr&lt;Stopwatch&gt; WorkerInspectorController::executionStopwatch()
</ins><span class="cx"> {
</span><del>-    return m_executionStopwatch.copyRef();
</del><ins>+    return m_executionStopwatch;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorWorkerInspectorControllerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/WorkerInspectorController.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/WorkerInspectorController.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/inspector/WorkerInspectorController.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -74,7 +74,7 @@
</span><span class="cx">     virtual void willCallInjectedScriptFunction(JSC::ExecState*, const String&amp; scriptName, int scriptLine) override;
</span><span class="cx">     virtual void didCallInjectedScriptFunction(JSC::ExecState*) override;
</span><span class="cx">     virtual void frontendInitialized() override { }
</span><del>-    virtual Ref&lt;WTF::Stopwatch&gt; executionStopwatch() override;
</del><ins>+    virtual PassRefPtr&lt;WTF::Stopwatch&gt; executionStopwatch() override;
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     friend class InspectorInstrumentation;
</span><span class="lines">@@ -85,7 +85,7 @@
</span><span class="cx">     WorkerRuntimeAgent* m_runtimeAgent;
</span><span class="cx">     Inspector::InspectorAgentRegistry m_agents;
</span><span class="cx">     std::unique_ptr&lt;InspectorFrontendChannel&gt; m_frontendChannel;
</span><del>-    Ref&lt;WTF::Stopwatch&gt; m_executionStopwatch;
</del><ins>+    RefPtr&lt;WTF::Stopwatch&gt; m_executionStopwatch;
</ins><span class="cx">     RefPtr&lt;Inspector::InspectorBackendDispatcher&gt; m_backendDispatcher;
</span><span class="cx">     Vector&lt;InspectorInstrumentationCookie, 2&gt; m_injectedScriptInstrumentationCookies;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceWebCorepagePageConsoleClientcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/PageConsoleClient.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PageConsoleClient.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/page/PageConsoleClient.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -106,18 +106,18 @@
</span><span class="cx">     addMessage(source, level, message, url, line, column, 0, JSMainThreadExecState::currentState(), requestIdentifier);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void PageConsoleClient::addMessage(MessageSource source, MessageLevel level, const String&amp; message, RefPtr&lt;ScriptCallStack&gt;&amp;&amp; callStack)
</del><ins>+void PageConsoleClient::addMessage(MessageSource source, MessageLevel level, const String&amp; message, PassRefPtr&lt;ScriptCallStack&gt; callStack)
</ins><span class="cx"> {
</span><del>-    addMessage(source, level, message, String(), 0, 0, WTF::move(callStack), 0);
</del><ins>+    addMessage(source, level, message, String(), 0, 0, callStack, 0);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void PageConsoleClient::addMessage(MessageSource source, MessageLevel level, const String&amp; message, const String&amp; url, unsigned lineNumber, unsigned columnNumber, RefPtr&lt;ScriptCallStack&gt;&amp;&amp; callStack, JSC::ExecState* state, unsigned long requestIdentifier)
</del><ins>+void PageConsoleClient::addMessage(MessageSource source, MessageLevel level, const String&amp; message, const String&amp; url, unsigned lineNumber, unsigned columnNumber, PassRefPtr&lt;ScriptCallStack&gt; callStack, JSC::ExecState* state, unsigned long requestIdentifier)
</ins><span class="cx"> {
</span><span class="cx">     if (muteCount &amp;&amp; source != MessageSource::ConsoleAPI)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     if (callStack)
</span><del>-        InspectorInstrumentation::addMessageToConsole(m_page, source, MessageType::Log, level, message, WTF::move(callStack), requestIdentifier);
</del><ins>+        InspectorInstrumentation::addMessageToConsole(m_page, source, MessageType::Log, level, message, callStack, requestIdentifier);
</ins><span class="cx">     else
</span><span class="cx">         InspectorInstrumentation::addMessageToConsole(m_page, source, MessageType::Log, level, message, url, lineNumber, columnNumber, state, requestIdentifier);
</span><span class="cx"> 
</span><span class="lines">@@ -136,11 +136,13 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void PageConsoleClient::messageWithTypeAndLevel(MessageType type, MessageLevel level, JSC::ExecState* exec, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp; arguments)
</del><ins>+void PageConsoleClient::messageWithTypeAndLevel(MessageType type, MessageLevel level, JSC::ExecState* exec, PassRefPtr&lt;Inspector::ScriptArguments&gt; prpArguments)
</ins><span class="cx"> {
</span><ins>+    RefPtr&lt;ScriptArguments&gt; arguments = prpArguments;
+
</ins><span class="cx">     String message;
</span><span class="cx">     bool gotMessage = arguments-&gt;getFirstArgumentAsString(message);
</span><del>-    InspectorInstrumentation::addMessageToConsole(m_page, MessageSource::ConsoleAPI, type, level, message, exec, WTF::move(arguments));
</del><ins>+    InspectorInstrumentation::addMessageToConsole(m_page, MessageSource::ConsoleAPI, type, level, message, exec, arguments);
</ins><span class="cx"> 
</span><span class="cx">     if (m_page.usesEphemeralSession())
</span><span class="cx">         return;
</span><span class="lines">@@ -153,12 +155,12 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (m_page.settings().logsPageMessagesToSystemConsoleEnabled() || PageConsoleClient::shouldPrintExceptions())
</span><del>-        ConsoleClient::printConsoleMessageWithArguments(MessageSource::ConsoleAPI, type, level, exec, WTF::move(arguments));
</del><ins>+        ConsoleClient::printConsoleMessageWithArguments(MessageSource::ConsoleAPI, type, level, exec, arguments.release());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void PageConsoleClient::count(JSC::ExecState* exec, RefPtr&lt;ScriptArguments&gt;&amp;&amp; arguments)
</del><ins>+void PageConsoleClient::count(JSC::ExecState* exec, PassRefPtr&lt;ScriptArguments&gt; arguments)
</ins><span class="cx"> {
</span><del>-    InspectorInstrumentation::consoleCount(m_page, exec, WTF::move(arguments));
</del><ins>+    InspectorInstrumentation::consoleCount(m_page, exec, arguments);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void PageConsoleClient::profile(JSC::ExecState* exec, const String&amp; title)
</span><span class="lines">@@ -169,7 +171,7 @@
</span><span class="cx"> void PageConsoleClient::profileEnd(JSC::ExecState* exec, const String&amp; title)
</span><span class="cx"> {
</span><span class="cx">     if (RefPtr&lt;JSC::Profile&gt; profile = InspectorInstrumentation::stopProfiling(m_page, exec, title))
</span><del>-        m_profiles.append(WTF::move(profile));
</del><ins>+        m_profiles.append(profile.release());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void PageConsoleClient::time(JSC::ExecState*, const String&amp; title)
</span><span class="lines">@@ -180,12 +182,12 @@
</span><span class="cx"> void PageConsoleClient::timeEnd(JSC::ExecState* exec, const String&amp; title)
</span><span class="cx"> {
</span><span class="cx">     RefPtr&lt;ScriptCallStack&gt; callStack(createScriptCallStackForConsole(exec, 1));
</span><del>-    InspectorInstrumentation::stopConsoleTiming(m_page.mainFrame(), title, WTF::move(callStack));
</del><ins>+    InspectorInstrumentation::stopConsoleTiming(m_page.mainFrame(), title, callStack.release());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void PageConsoleClient::timeStamp(JSC::ExecState*, RefPtr&lt;ScriptArguments&gt;&amp;&amp; arguments)
</del><ins>+void PageConsoleClient::timeStamp(JSC::ExecState*, PassRefPtr&lt;ScriptArguments&gt; arguments)
</ins><span class="cx"> {
</span><del>-    InspectorInstrumentation::consoleTimeStamp(m_page.mainFrame(), WTF::move(arguments));
</del><ins>+    InspectorInstrumentation::consoleTimeStamp(m_page.mainFrame(), arguments);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void PageConsoleClient::clearProfiles()
</span></span></pre></div>
<a id="trunkSourceWebCorepagePageConsoleClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/page/PageConsoleClient.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PageConsoleClient.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/page/PageConsoleClient.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -56,21 +56,21 @@
</span><span class="cx">     static void mute();
</span><span class="cx">     static void unmute();
</span><span class="cx"> 
</span><del>-    void addMessage(MessageSource, MessageLevel, const String&amp; message, const String&amp; sourceURL, unsigned lineNumber, unsigned columnNumber, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp; = nullptr, JSC::ExecState* = nullptr, unsigned long requestIdentifier = 0);
-    void addMessage(MessageSource, MessageLevel, const String&amp; message, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp;);
</del><ins>+    void addMessage(MessageSource, MessageLevel, const String&amp; message, const String&amp; sourceURL, unsigned lineNumber, unsigned columnNumber, PassRefPtr&lt;Inspector::ScriptCallStack&gt; = nullptr, JSC::ExecState* = nullptr, unsigned long requestIdentifier = 0);
+    void addMessage(MessageSource, MessageLevel, const String&amp; message, PassRefPtr&lt;Inspector::ScriptCallStack&gt;);
</ins><span class="cx">     void addMessage(MessageSource, MessageLevel, const String&amp; message, unsigned long requestIdentifier = 0, Document* = nullptr);
</span><span class="cx"> 
</span><span class="cx">     const ProfilesArray&amp; profiles() const { return m_profiles; }
</span><span class="cx">     void clearProfiles();
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    virtual void messageWithTypeAndLevel(MessageType, MessageLevel, JSC::ExecState*, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp;) override;
-    virtual void count(JSC::ExecState*, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp;) override;
</del><ins>+    virtual void messageWithTypeAndLevel(MessageType, MessageLevel, JSC::ExecState*, PassRefPtr&lt;Inspector::ScriptArguments&gt;) override;
+    virtual void count(JSC::ExecState*, PassRefPtr&lt;Inspector::ScriptArguments&gt;) override;
</ins><span class="cx">     virtual void profile(JSC::ExecState*, const String&amp; title) override;
</span><span class="cx">     virtual void profileEnd(JSC::ExecState*, const String&amp; title) override;
</span><span class="cx">     virtual void time(JSC::ExecState*, const String&amp; title) override;
</span><span class="cx">     virtual void timeEnd(JSC::ExecState*, const String&amp; title) override;
</span><del>-    virtual void timeStamp(JSC::ExecState*, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp;) override;
</del><ins>+    virtual void timeStamp(JSC::ExecState*, PassRefPtr&lt;Inspector::ScriptArguments&gt;) override;
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     Page&amp; m_page;
</span></span></pre></div>
<a id="trunkSourceWebCorereplayReplayControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/replay/ReplayController.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/replay/ReplayController.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/replay/ReplayController.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -207,7 +207,7 @@
</span><span class="cx">     m_currentPosition = ReplayPosition(0, 0);
</span><span class="cx"> 
</span><span class="cx">     LOG(WebReplay, &quot;%-20sSwitching sessions from %p to %p.\n&quot;, &quot;ReplayController&quot;, m_loadedSession.get(), session.get());
</span><del>-    InspectorInstrumentation::sessionLoaded(m_page, m_loadedSession.copyRef());
</del><ins>+    InspectorInstrumentation::sessionLoaded(m_page, m_loadedSession);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void ReplayController::createSegment()
</span><span class="lines">@@ -223,7 +223,7 @@
</span><span class="cx">     m_loadedSegment = ReplaySessionSegment::create();
</span><span class="cx"> 
</span><span class="cx">     LOG(WebReplay, &quot;%-20s Created segment: %p.\n&quot;, &quot;ReplayController&quot;, m_loadedSegment.get());
</span><del>-    InspectorInstrumentation::segmentCreated(m_page, m_loadedSegment.copyRef());
</del><ins>+    InspectorInstrumentation::segmentCreated(m_page, m_loadedSegment);
</ins><span class="cx"> 
</span><span class="cx">     m_activeCursor = CapturingInputCursor::create(m_loadedSegment);
</span><span class="cx">     m_activeCursor-&gt;appendInput&lt;BeginSegmentSentinel&gt;();
</span><span class="lines">@@ -247,10 +247,10 @@
</span><span class="cx">     unloadSegment(shouldSuppressNotifications);
</span><span class="cx"> 
</span><span class="cx">     LOG(WebReplay, &quot;%-20s Completed segment: %p.\n&quot;, &quot;ReplayController&quot;, segment.get());
</span><del>-    InspectorInstrumentation::segmentCompleted(m_page, segment.copyRef());
</del><ins>+    InspectorInstrumentation::segmentCompleted(m_page, segment);
</ins><span class="cx"> 
</span><span class="cx">     m_loadedSession-&gt;appendSegment(segment);
</span><del>-    InspectorInstrumentation::sessionModified(m_page, m_loadedSession.copyRef());
</del><ins>+    InspectorInstrumentation::sessionModified(m_page, m_loadedSession);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void ReplayController::loadSegmentAtIndex(size_t segmentIndex)
</span><span class="lines">@@ -272,7 +272,7 @@
</span><span class="cx">     m_activeCursor = ReplayingInputCursor::create(m_loadedSegment, m_page, this);
</span><span class="cx"> 
</span><span class="cx">     LOG(WebReplay, &quot;%-20sLoading segment: %p.\n&quot;, &quot;ReplayController&quot;, segment.get());
</span><del>-    InspectorInstrumentation::segmentLoaded(m_page, segment.copyRef());
</del><ins>+    InspectorInstrumentation::segmentLoaded(m_page, segment);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void ReplayController::unloadSegment(bool suppressNotifications)
</span></span></pre></div>
<a id="trunkSourceWebCorereplayReplayInputCreationMethodscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/replay/ReplayInputCreationMethods.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/replay/ReplayInputCreationMethods.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/replay/ReplayInputCreationMethods.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx">     RefPtr&lt;SecurityOrigin&gt; originCopy = mainFrame.document()-&gt;securityOrigin()-&gt;isolatedCopy();
</span><span class="cx">     URL url = mainFrame.document()-&gt;url();
</span><span class="cx">     String referrer = mainFrame.loader().referrer();
</span><del>-    return std::make_unique&lt;InitialNavigation&gt;(WTF::move(originCopy), url, referrer);
</del><ins>+    return std::make_unique&lt;InitialNavigation&gt;(originCopy, url, referrer);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersSharedWorkerGlobalScopecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/SharedWorkerGlobalScope.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/SharedWorkerGlobalScope.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/workers/SharedWorkerGlobalScope.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -79,10 +79,10 @@
</span><span class="cx">     return static_cast&lt;SharedWorkerThread&amp;&gt;(Base::thread());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void SharedWorkerGlobalScope::logExceptionToConsole(const String&amp; errorMessage, const String&amp; sourceURL, int lineNumber, int columnNumber, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp; callStack)
</del><ins>+void SharedWorkerGlobalScope::logExceptionToConsole(const String&amp; errorMessage, const String&amp; sourceURL, int lineNumber, int columnNumber, PassRefPtr&lt;Inspector::ScriptCallStack&gt; callStack)
</ins><span class="cx"> {
</span><del>-    WorkerGlobalScope::logExceptionToConsole(errorMessage, sourceURL, lineNumber, columnNumber, callStack.copyRef());
-    addMessageToWorkerConsole(MessageSource::JS, MessageLevel::Error, errorMessage, sourceURL, lineNumber, columnNumber, callStack.copyRef());
</del><ins>+    WorkerGlobalScope::logExceptionToConsole(errorMessage, sourceURL, lineNumber, columnNumber, callStack);
+    addMessageToWorkerConsole(MessageSource::JS, MessageLevel::Error, errorMessage, sourceURL, lineNumber, columnNumber, callStack);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersSharedWorkerGlobalScopeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/SharedWorkerGlobalScope.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/SharedWorkerGlobalScope.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/workers/SharedWorkerGlobalScope.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -60,7 +60,7 @@
</span><span class="cx"> 
</span><span class="cx">     private:
</span><span class="cx">         SharedWorkerGlobalScope(const String&amp; name, const URL&amp;, const String&amp; userAgent, SharedWorkerThread&amp;);
</span><del>-        virtual void logExceptionToConsole(const String&amp; errorMessage, const String&amp; sourceURL, int lineNumber, int columnNumber, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp;) override;
</del><ins>+        virtual void logExceptionToConsole(const String&amp; errorMessage, const String&amp; sourceURL, int lineNumber, int columnNumber, PassRefPtr&lt;Inspector::ScriptCallStack&gt;) override;
</ins><span class="cx"> 
</span><span class="cx">         String m_name;
</span><span class="cx">     };
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersWorkerGlobalScopecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/WorkerGlobalScope.cpp (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/WorkerGlobalScope.cpp        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/workers/WorkerGlobalScope.cpp        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -214,7 +214,7 @@
</span><span class="cx">     return this;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WorkerGlobalScope::logExceptionToConsole(const String&amp; errorMessage, const String&amp; sourceURL, int lineNumber, int columnNumber, RefPtr&lt;ScriptCallStack&gt;&amp;&amp;)
</del><ins>+void WorkerGlobalScope::logExceptionToConsole(const String&amp; errorMessage, const String&amp; sourceURL, int lineNumber, int columnNumber, PassRefPtr&lt;ScriptCallStack&gt;)
</ins><span class="cx"> {
</span><span class="cx">     thread().workerReportingProxy().postExceptionToWorkerObject(errorMessage, lineNumber, columnNumber, sourceURL);
</span><span class="cx"> }
</span><span class="lines">@@ -230,7 +230,7 @@
</span><span class="cx">     addMessageToWorkerConsole(source, level, message, String(), 0, 0, 0, 0, requestIdentifier);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WorkerGlobalScope::addMessage(MessageSource source, MessageLevel level, const String&amp; message, const String&amp; sourceURL, unsigned lineNumber, unsigned columnNumber, RefPtr&lt;ScriptCallStack&gt;&amp;&amp; callStack, JSC::ExecState* state, unsigned long requestIdentifier)
</del><ins>+void WorkerGlobalScope::addMessage(MessageSource source, MessageLevel level, const String&amp; message, const String&amp; sourceURL, unsigned lineNumber, unsigned columnNumber, PassRefPtr&lt;ScriptCallStack&gt; callStack, JSC::ExecState* state, unsigned long requestIdentifier)
</ins><span class="cx"> {
</span><span class="cx">     if (!isContextThread()) {
</span><span class="cx">         postTask(AddConsoleMessageTask(source, level, StringCapture(message)));
</span><span class="lines">@@ -238,14 +238,14 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     thread().workerReportingProxy().postConsoleMessageToWorkerObject(source, level, message, lineNumber, columnNumber, sourceURL);
</span><del>-    addMessageToWorkerConsole(source, level, message, sourceURL, lineNumber, columnNumber, WTF::move(callStack), state, requestIdentifier);
</del><ins>+    addMessageToWorkerConsole(source, level, message, sourceURL, lineNumber, columnNumber, callStack, state, requestIdentifier);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WorkerGlobalScope::addMessageToWorkerConsole(MessageSource source, MessageLevel level, const String&amp; message, const String&amp; sourceURL, unsigned lineNumber, unsigned columnNumber, RefPtr&lt;ScriptCallStack&gt;&amp;&amp; callStack, JSC::ExecState* state, unsigned long requestIdentifier)
</del><ins>+void WorkerGlobalScope::addMessageToWorkerConsole(MessageSource source, MessageLevel level, const String&amp; message, const String&amp; sourceURL, unsigned lineNumber, unsigned columnNumber, PassRefPtr&lt;ScriptCallStack&gt; callStack, JSC::ExecState* state, unsigned long requestIdentifier)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(isContextThread());
</span><span class="cx">     if (callStack)
</span><del>-        InspectorInstrumentation::addMessageToConsole(this, source, MessageType::Log, level, message, WTF::move(callStack), requestIdentifier);
</del><ins>+        InspectorInstrumentation::addMessageToConsole(this, source, MessageType::Log, level, message, callStack, requestIdentifier);
</ins><span class="cx">     else
</span><span class="cx">         InspectorInstrumentation::addMessageToConsole(this, source, MessageType::Log, level, message, sourceURL, lineNumber, columnNumber, state, requestIdentifier);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreworkersWorkerGlobalScopeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/workers/WorkerGlobalScope.h (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/WorkerGlobalScope.h        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebCore/workers/WorkerGlobalScope.h        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -142,8 +142,8 @@
</span><span class="cx">         WorkerGlobalScope(const URL&amp;, const String&amp; userAgent, WorkerThread&amp;, PassRefPtr&lt;SecurityOrigin&gt; topOrigin);
</span><span class="cx">         void applyContentSecurityPolicyFromString(const String&amp; contentSecurityPolicy, ContentSecurityPolicy::HeaderType);
</span><span class="cx"> 
</span><del>-        virtual void logExceptionToConsole(const String&amp; errorMessage, const String&amp; sourceURL, int lineNumber, int columnNumber, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp;) override;
-        void addMessageToWorkerConsole(MessageSource, MessageLevel, const String&amp; message, const String&amp; sourceURL, unsigned lineNumber, unsigned columnNumber, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp;, JSC::ExecState* = 0, unsigned long requestIdentifier = 0);
</del><ins>+        virtual void logExceptionToConsole(const String&amp; errorMessage, const String&amp; sourceURL, int lineNumber, int columnNumber, PassRefPtr&lt;Inspector::ScriptCallStack&gt;) override;
+        void addMessageToWorkerConsole(MessageSource, MessageLevel, const String&amp; message, const String&amp; sourceURL, unsigned lineNumber, unsigned columnNumber, PassRefPtr&lt;Inspector::ScriptCallStack&gt;, JSC::ExecState* = 0, unsigned long requestIdentifier = 0);
</ins><span class="cx"> 
</span><span class="cx">     private:
</span><span class="cx">         virtual void refScriptExecutionContext() override { ref(); }
</span><span class="lines">@@ -152,7 +152,7 @@
</span><span class="cx">         virtual void refEventTarget() override final { ref(); }
</span><span class="cx">         virtual void derefEventTarget() override final { deref(); }
</span><span class="cx"> 
</span><del>-        virtual void addMessage(MessageSource, MessageLevel, const String&amp; message, const String&amp; sourceURL, unsigned lineNumber, unsigned columnNumber, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp;, JSC::ExecState* = 0, unsigned long requestIdentifier = 0) override;
</del><ins>+        virtual void addMessage(MessageSource, MessageLevel, const String&amp; message, const String&amp; sourceURL, unsigned lineNumber, unsigned columnNumber, PassRefPtr&lt;Inspector::ScriptCallStack&gt;, JSC::ExecState* = 0, unsigned long requestIdentifier = 0) override;
</ins><span class="cx"> 
</span><span class="cx">         virtual EventTarget* errorEventTarget() override;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/ChangeLog (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ChangeLog        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebKit/ChangeLog        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -1,3 +1,18 @@
</span><ins>+2015-01-07  Commit Queue  &lt;commit-queue@webkit.org&gt;
+
+        Unreviewed, rolling out r178039.
+        https://bugs.webkit.org/show_bug.cgi?id=140187
+
+        Breaks ObjC Inspector Protocol (Requested by JoePeck on
+        #webkit).
+
+        Reverted changeset:
+
+        &quot;Web Inspector: purge PassRefPtr from Inspector code and use
+        Ref for typed and untyped protocol objects&quot;
+        https://bugs.webkit.org/show_bug.cgi?id=140053
+        http://trac.webkit.org/changeset/178039
+
</ins><span class="cx"> 2015-01-06  Brian J. Burg  &lt;burg@cs.washington.edu&gt;
</span><span class="cx"> 
</span><span class="cx">         Web Inspector: purge PassRefPtr from Inspector code and use Ref for typed and untyped protocol objects
</span></span></pre></div>
<a id="trunkSourceWebKitWebKitvcxprojWebKitExportGeneratorWebKitExportsdefin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in (178041 => 178042)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in        2015-01-07 18:33:52 UTC (rev 178041)
+++ trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in        2015-01-07 19:32:05 UTC (rev 178042)
</span><span class="lines">@@ -204,7 +204,7 @@
</span><span class="cx">         symbolWithPointer(?item@StaticNodeList@WebCore@@UBEPAVNode@2@I@Z, ?item@StaticNodeList@WebCore@@UEBAPEAVNode@2@I@Z)
</span><span class="cx">         ?selectTag@HTMLNames@WebCore@@3VHTMLQualifiedName@2@B
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><del>-        symbolWithPointer(?buildObjectForHighlightedNode@InspectorController@WebCore@@QBE?AV?$RefPtr@VInspectorObject@Inspector@@@WTF@@XZ, ?buildObjectForHighlightedNode@InspectorController@WebCore@@QEBA?AV?$RefPtr@VInspectorObject@Inspector@@@WTF@@XZ)
</del><ins>+        symbolWithPointer(?buildObjectForHighlightedNode@InspectorController@WebCore@@QBE?AV?$PassRefPtr@VInspectorObject@Inspector@@@WTF@@XZ, ?buildObjectForHighlightedNode@InspectorController@WebCore@@QEBA?AV?$PassRefPtr@VInspectorObject@Inspector@@@WTF@@XZ)
</ins><span class="cx">         symbolWithPointer(?getHighlight@InspectorController@WebCore@@QBEXPAUHighlight@2@W4CoordinateSystem@InspectorOverlay@2@@Z, ?getHighlight@InspectorController@WebCore@@QEBAXPEAUHighlight@2@W4CoordinateSystem@InspectorOverlay@2@@Z)
</span><span class="cx">         symbolWithPointer(?instrumentingAgentsForPage@InspectorInstrumentation@WebCore@@SAPAVInstrumentingAgents@2@PAVPage@2@@Z, ?instrumentingAgentsForPage@InspectorInstrumentation@WebCore@@SAPEAVInstrumentingAgents@2@PEAVPage@2@@Z)
</span><span class="cx">         ?s_frontendCounter@InspectorInstrumentation@WebCore@@0HA
</span></span></pre>
</div>
</div>

</body>
</html>