<!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>[178060] 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/178060">178060</a></dd>
<dt>Author</dt> <dd>joepeck@webkit.org</dd>
<dt>Date</dt> <dd>2015-01-07 15:29:03 -0800 (Wed, 07 Jan 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Web Inspector: purge PassRefPtr from Inspector code and use Ref for typed and untyped protocol objects
https://bugs.webkit.org/show_bug.cgi?id=140053

Patch by Brian J. Burg &lt;burg@cs.washington.edu&gt; on 2015-01-07
Reviewed by Andreas Kling.

Source/JavaScriptCore:

This patch replaces uses of PassRefPtr with uses of RefPtr&amp;&amp; and WTF::move() in code
related to Web Inspector. It also converts many uses of RefPtr to Ref where
references are always non-null. These two refactorings have been combined since
they tend to require similar changes to the code.

Creation methods for subclasses of InspectorValue now return a Ref, and callsites
have been updated to take a Ref instead of RefPtr.

Builders for typed protocol objects now return a Ref. Since there is no implicit
call to operator&amp;, callsites now must explicitly call .release() to convert a
builder object into the corresponding protocol object once required fields are set.
Update callsites and use auto to eliminate repetition of longwinded protocol types.

Tests for inspector protocol and replay inputs have been rebaselined.

* bindings/ScriptValue.cpp:
(Deprecated::jsToInspectorValue):
(Deprecated::ScriptValue::toInspectorValue):
* bindings/ScriptValue.h:
* inspector/ConsoleMessage.cpp:
(Inspector::ConsoleMessage::addToFrontend):
* inspector/ContentSearchUtilities.cpp:
(Inspector::ContentSearchUtilities::buildObjectForSearchMatch):
(Inspector::ContentSearchUtilities::searchInTextByLines):
* inspector/ContentSearchUtilities.h:
* inspector/InjectedScript.cpp:
(Inspector::InjectedScript::getFunctionDetails):
(Inspector::InjectedScript::getProperties):
(Inspector::InjectedScript::getInternalProperties):
(Inspector::InjectedScript::wrapCallFrames):
(Inspector::InjectedScript::wrapObject):
(Inspector::InjectedScript::wrapTable):
* inspector/InjectedScript.h:
* inspector/InjectedScriptBase.cpp:
(Inspector::InjectedScriptBase::makeEvalCall): Split the early exits.
* inspector/InspectorBackendDispatcher.cpp:
(Inspector::InspectorBackendDispatcher::CallbackBase::CallbackBase):
(Inspector::InspectorBackendDispatcher::CallbackBase::sendIfActive):
(Inspector::InspectorBackendDispatcher::create):
(Inspector::InspectorBackendDispatcher::dispatch):
(Inspector::InspectorBackendDispatcher::sendResponse):
(Inspector::InspectorBackendDispatcher::reportProtocolError):
(Inspector::getPropertyValue): Add a comment to clarify what this clever code does.
(Inspector::InspectorBackendDispatcher::getInteger):
(Inspector::InspectorBackendDispatcher::getDouble):
(Inspector::InspectorBackendDispatcher::getString):
(Inspector::InspectorBackendDispatcher::getBoolean):
(Inspector::InspectorBackendDispatcher::getObject):
(Inspector::InspectorBackendDispatcher::getArray):
(Inspector::InspectorBackendDispatcher::getValue):
* inspector/InspectorBackendDispatcher.h: Use a typed protocol object to collect
protocol error strings.
(Inspector::InspectorSupplementalBackendDispatcher::InspectorSupplementalBackendDispatcher):
Convert the supplemental dispatcher's reference to Ref since it is never null.
* inspector/InspectorEnvironment.h:
* inspector/InspectorProtocolTypes.h: Get rid of ArrayItemHelper and
StructItemTraits. Add more versions of addItem to handle pushing various types.
(Inspector::Protocol::Array::openAccessors):
(Inspector::Protocol::Array::addItem):
(Inspector::Protocol::Array::create):
(Inspector::Protocol::StructItemTraits::push):
(Inspector::Protocol::BindingTraits&lt;Protocol::Array&lt;T&gt;&gt;::runtimeCast): Assert argument.
(Inspector::Protocol::StructItemTraits::pushRefPtr): Deleted.
(Inspector::Protocol::ArrayItemHelper&lt;String&gt;::Traits::pushRaw): Deleted.
(Inspector::Protocol::ArrayItemHelper&lt;int&gt;::Traits::pushRaw): Deleted.
(Inspector::Protocol::ArrayItemHelper&lt;double&gt;::Traits::pushRaw): Deleted.
(Inspector::Protocol::ArrayItemHelper&lt;bool&gt;::Traits::pushRaw): Deleted.
(Inspector::Protocol::ArrayItemHelper&lt;InspectorValue&gt;::Traits::pushRefPtr): Deleted.
(Inspector::Protocol::ArrayItemHelper&lt;InspectorObject&gt;::Traits::pushRefPtr): Deleted.
(Inspector::Protocol::ArrayItemHelper&lt;InspectorArray&gt;::Traits::pushRefPtr): Deleted.
(Inspector::Protocol::ArrayItemHelper&lt;Protocol::Array&lt;T&gt;&gt;::Traits::pushRefPtr): Deleted.
* inspector/InspectorValues.cpp: Straighten out getArray and getObject to have
the same call signature as other getters. Use Ref where possible.
(Inspector::InspectorObjectBase::getBoolean):
(Inspector::InspectorObjectBase::getString):
(Inspector::InspectorObjectBase::getObject):
(Inspector::InspectorObjectBase::getArray):
(Inspector::InspectorObjectBase::getValue):
(Inspector::InspectorObjectBase::writeJSON):
(Inspector::InspectorArrayBase::get):
(Inspector::InspectorObject::create):
(Inspector::InspectorArray::create):
(Inspector::InspectorValue::null):
(Inspector::InspectorString::create):
(Inspector::InspectorBasicValue::create):
(Inspector::InspectorObjectBase::get): Deleted.
* inspector/InspectorValues.h:
(Inspector::InspectorObjectBase::setValue):
(Inspector::InspectorObjectBase::setObject):
(Inspector::InspectorObjectBase::setArray):
(Inspector::InspectorArrayBase::pushValue):
(Inspector::InspectorArrayBase::pushObject):
(Inspector::InspectorArrayBase::pushArray):
* inspector/JSGlobalObjectConsoleClient.cpp:
(Inspector::JSGlobalObjectConsoleClient::messageWithTypeAndLevel):
(Inspector::JSGlobalObjectConsoleClient::count):
(Inspector::JSGlobalObjectConsoleClient::timeEnd):
(Inspector::JSGlobalObjectConsoleClient::timeStamp):
* inspector/JSGlobalObjectConsoleClient.h:
* inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::executionStopwatch):
* inspector/JSGlobalObjectInspectorController.h:
* inspector/ScriptCallFrame.cpp:
(Inspector::ScriptCallFrame::buildInspectorObject):
* inspector/ScriptCallFrame.h:
* inspector/ScriptCallStack.cpp:
(Inspector::ScriptCallStack::create):
(Inspector::ScriptCallStack::buildInspectorArray):
* inspector/ScriptCallStack.h:
* inspector/agents/InspectorAgent.cpp:
(Inspector::InspectorAgent::enable):
(Inspector::InspectorAgent::inspect):
(Inspector::InspectorAgent::activateExtraDomain):
* inspector/agents/InspectorAgent.h:
* inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::InspectorDebuggerAgent::handleConsoleAssert):
(Inspector::buildObjectForBreakpointCookie):
(Inspector::InspectorDebuggerAgent::setBreakpointByUrl):
(Inspector::InspectorDebuggerAgent::setBreakpoint):
(Inspector::InspectorDebuggerAgent::continueToLocation):
(Inspector::InspectorDebuggerAgent::resolveBreakpoint):
(Inspector::InspectorDebuggerAgent::schedulePauseOnNextStatement):
(Inspector::InspectorDebuggerAgent::scriptExecutionBlockedByCSP):
(Inspector::InspectorDebuggerAgent::currentCallFrames):
(Inspector::InspectorDebuggerAgent::didParseSource):
(Inspector::InspectorDebuggerAgent::breakpointActionProbe):
(Inspector::InspectorDebuggerAgent::breakProgram):
* inspector/agents/InspectorDebuggerAgent.h:
* inspector/agents/InspectorRuntimeAgent.cpp:
(Inspector::buildErrorRangeObject):
(Inspector::InspectorRuntimeAgent::callFunctionOn):
(Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets):
(Inspector::InspectorRuntimeAgent::getBasicBlocks):
* inspector/agents/InspectorRuntimeAgent.h:
* inspector/scripts/codegen/cpp_generator.py:
(CppGenerator.cpp_type_for_unchecked_formal_in_parameter):
(CppGenerator.cpp_type_for_type_with_name):
(CppGenerator.cpp_type_for_formal_async_parameter):
(CppGenerator.should_use_references_for_type):
(CppGenerator):
* inspector/scripts/codegen/cpp_generator_templates.py:
* inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py:
(CppBackendDispatcherHeaderGenerator.generate_output):
(CppBackendDispatcherHeaderGenerator._generate_async_handler_declaration_for_command):
* inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py:
(CppBackendDispatcherImplementationGenerator._generate_small_dispatcher_switch_implementation_for_domain):
(CppBackendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_command):
* inspector/scripts/codegen/generate_cpp_frontend_dispatcher_header.py:
(CppFrontendDispatcherHeaderGenerator.generate_output):
* inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py:
(CppFrontendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_event):
* inspector/scripts/codegen/generate_cpp_protocol_types_header.py:
(CppProtocolTypesHeaderGenerator.generate_output):
(_generate_class_for_object_declaration):
(_generate_unchecked_setter_for_member):
(_generate_forward_declarations_for_binding_traits):
* inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py:
(ObjCConfigurationImplementationGenerator._generate_success_block_for_command):
* inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py:
(ObjCFrontendDispatcherImplementationGenerator._generate_event):
(ObjCFrontendDispatcherImplementationGenerator._generate_event_out_parameters):
* inspector/scripts/codegen/generate_objc_protocol_types_implementation.py:
(ObjCProtocolTypesImplementationGenerator.generate_output):
* inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
* inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
* inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
* inspector/scripts/tests/expected/enum-values.json-result:
* inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
* inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
* inspector/scripts/tests/expected/same-type-id-different-domain.json-result:
* inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
* inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result:
* inspector/scripts/tests/expected/type-declaration-array-type.json-result:
* inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
* inspector/scripts/tests/expected/type-declaration-object-type.json-result:
* inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
* replay/EncodedValue.cpp:
(JSC::EncodedValue::asObject):
(JSC::EncodedValue::asArray):
(JSC::EncodedValue::put&lt;EncodedValue&gt;):
(JSC::EncodedValue::append&lt;EncodedValue&gt;):
(JSC::EncodedValue::get&lt;EncodedValue&gt;):
* replay/EncodedValue.h:
* replay/scripts/CodeGeneratorReplayInputs.py:
(Type.borrow_type):
(Type.argument_type):
(Generator.generate_member_move_expression):
* runtime/ConsoleClient.cpp:
(JSC::ConsoleClient::printConsoleMessageWithArguments):
(JSC::ConsoleClient::internalMessageWithTypeAndLevel):
(JSC::ConsoleClient::logWithLevel):
(JSC::ConsoleClient::clear):
(JSC::ConsoleClient::dir):
(JSC::ConsoleClient::dirXML):
(JSC::ConsoleClient::table):
(JSC::ConsoleClient::trace):
(JSC::ConsoleClient::assertCondition):
(JSC::ConsoleClient::group):
(JSC::ConsoleClient::groupCollapsed):
(JSC::ConsoleClient::groupEnd):
* runtime/ConsoleClient.h:
* runtime/TypeSet.cpp:
(JSC::TypeSet::allStructureRepresentations):
(JSC::TypeSet::inspectorTypeSet):
(JSC::StructureShape::inspectorRepresentation):
* runtime/TypeSet.h:

Source/WebCore:

This patch replaces uses of PassRefPtr with uses of RefPtr&amp;&amp; and WTF::move() in code
related to Web Inspector. It also converts many uses of RefPtr to Ref where
references are always non-null. These two refactorings have been combined since
they tend to require similar changes to the code.

No new tests, no behavior changed.

* Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::openDatabase):
* dom/Document.cpp:
(WebCore::Document::logExceptionToConsole):
(WebCore::Document::addMessage):
* dom/Document.h:
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::reportException):
* dom/ScriptExecutionContext.h:
* html/parser/XSSAuditorDelegate.cpp:
(WebCore::XSSAuditorDelegate::generateViolationReport):
* inspector/CommandLineAPIHost.cpp:
(WebCore::CommandLineAPIHost::inspectImpl):
* inspector/CommandLineAPIHost.h:
* inspector/InspectorApplicationCacheAgent.cpp:
(WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
(WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
* inspector/InspectorApplicationCacheAgent.h:
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::getMatchedStylesForNode):
(WebCore::InspectorCSSAgent::getComputedStyleForNode):
(WebCore::InspectorCSSAgent::setStyleText):
(WebCore::InspectorCSSAgent::setPropertyText):
(WebCore::InspectorCSSAgent::toggleProperty):
(WebCore::InspectorCSSAgent::setRuleSelector):
(WebCore::InspectorCSSAgent::getSupportedCSSProperties):
(WebCore::InspectorCSSAgent::forcePseudoState):
(WebCore::InspectorCSSAgent::getNamedFlowCollection):
(WebCore::InspectorCSSAgent::detectOrigin):
(WebCore::InspectorCSSAgent::buildObjectForRule):
(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
(WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
(WebCore::InspectorCSSAgent::buildArrayForRegions):
(WebCore::InspectorCSSAgent::buildObjectForNamedFlow):
* inspector/InspectorCSSAgent.h:
* inspector/InspectorConsoleInstrumentation.h:
(WebCore::InspectorInstrumentation::addMessageToConsole):
(WebCore::InspectorInstrumentation::consoleCount):
(WebCore::InspectorInstrumentation::stopConsoleTiming):
(WebCore::InspectorInstrumentation::consoleTimeStamp):
(WebCore::InspectorInstrumentation::stopProfiling):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::buildObjectForHighlightedNode):
(WebCore::InspectorController::executionStopwatch):
* inspector/InspectorController.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::parseColor):
(WebCore::parseConfigColor):
(WebCore::InspectorDOMAgent::pushNodePathToFrontend):
(WebCore::InspectorDOMAgent::performSearch):
(WebCore::InspectorDOMAgent::setInspectModeEnabled):
(WebCore::InspectorDOMAgent::highlightRect):
(WebCore::InspectorDOMAgent::highlightQuad):
(WebCore::InspectorDOMAgent::innerHighlightQuad):
(WebCore::InspectorDOMAgent::highlightNode):
(WebCore::InspectorDOMAgent::highlightFrame):
(WebCore::InspectorDOMAgent::buildObjectForNode):
(WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
(WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
(WebCore::InspectorDOMAgent::processAccessibilityChildren):
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
(WebCore::InspectorDOMAgent::didCommitLoad):
(WebCore::InspectorDOMAgent::didInsertDOMNode):
(WebCore::InspectorDOMAgent::styleAttributeInvalidated):
(WebCore::InspectorDOMAgent::resolveNode):
* inspector/InspectorDOMAgent.h:
* inspector/InspectorDOMDebuggerAgent.cpp:
(WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
(WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
(WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
(WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
(WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
(WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
(WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
* inspector/InspectorDOMDebuggerAgent.h:
* inspector/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
(WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::storageId):
(WebCore::InspectorDOMStorageAgent::findStorageArea):
* inspector/InspectorDOMStorageAgent.h:
* inspector/InspectorDatabaseAgent.cpp: Use Ref for all callbacks since they are
not nullable.
(WebCore::InspectorDatabaseAgent::executeSQL):
* inspector/InspectorDatabaseAgent.h:
* inspector/InspectorDatabaseInstrumentation.h:
(WebCore::InspectorInstrumentation::didOpenDatabase):
* inspector/InspectorDatabaseResource.cpp:
(WebCore::InspectorDatabaseResource::create):
(WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
(WebCore::InspectorDatabaseResource::bind):
* inspector/InspectorDatabaseResource.h:
(WebCore::InspectorDatabaseResource::setDatabase):
* inspector/InspectorFrontendHost.h:
(WebCore::InspectorFrontendHost::create):
* inspector/InspectorIndexedDBAgent.cpp: Use Ref for all callbacks since they are
not nullable.
(WebCore::InspectorIndexedDBAgent::requestDatabaseNames):
(WebCore::InspectorIndexedDBAgent::requestDatabase):
(WebCore::InspectorIndexedDBAgent::requestData):
(WebCore::ClearObjectStoreListener::create):
(WebCore::ClearObjectStoreListener::ClearObjectStoreListener):
(WebCore::ClearObjectStore::create):
(WebCore::ClearObjectStore::ClearObjectStore):
(WebCore::InspectorIndexedDBAgent::clearObjectStore):
* inspector/InspectorIndexedDBAgent.h:
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::willLoadXHRImpl):
(WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
(WebCore::InspectorInstrumentation::consoleCountImpl):
(WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
(WebCore::InspectorInstrumentation::consoleTimeStampImpl):
(WebCore::InspectorInstrumentation::stopProfilingImpl):
(WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
(WebCore::InspectorInstrumentation::sessionCreatedImpl):
(WebCore::InspectorInstrumentation::sessionLoadedImpl):
(WebCore::InspectorInstrumentation::sessionModifiedImpl):
(WebCore::InspectorInstrumentation::segmentCreatedImpl):
(WebCore::InspectorInstrumentation::segmentCompletedImpl):
(WebCore::InspectorInstrumentation::segmentLoadedImpl):
(WebCore::InspectorInstrumentation::willLoadXHRSynchronouslyImpl): Deleted.
(WebCore::InspectorInstrumentation::didLoadXHRSynchronouslyImpl): Deleted.
(WebCore::InspectorInstrumentation::startProfilingImpl): Deleted.
(WebCore::InspectorInstrumentation::didDispatchDOMStorageEventImpl): Deleted.
(WebCore::InspectorInstrumentation::willEvaluateWorkerScript): Deleted.
(WebCore::InspectorInstrumentation::captureStoppedImpl): Deleted.
(WebCore::InspectorInstrumentation::playbackStartedImpl): Deleted.
(WebCore::InspectorInstrumentation::playbackPausedImpl): Deleted.
(WebCore::InspectorInstrumentation::playbackHitPositionImpl): Deleted.
(WebCore::InspectorInstrumentation::playbackFinishedImpl): Deleted.
(WebCore::InspectorInstrumentation::networkStateChangedImpl): Deleted.
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::willLoadXHR):
(WebCore::InspectorInstrumentation::sessionCreated):
(WebCore::InspectorInstrumentation::sessionLoaded):
(WebCore::InspectorInstrumentation::sessionModified):
(WebCore::InspectorInstrumentation::segmentCreated):
(WebCore::InspectorInstrumentation::segmentCompleted):
(WebCore::InspectorInstrumentation::segmentLoaded):
(WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClient): Deleted.
(WebCore::InspectorInstrumentation::didSendWebSocketFrame): Deleted.
* inspector/InspectorLayerTreeAgent.cpp:
(WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
(WebCore::InspectorLayerTreeAgent::buildObjectForIntRect):
(WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):
* inspector/InspectorLayerTreeAgent.h:
* inspector/InspectorOverlay.cpp:
(WebCore::buildObjectForPoint):
(WebCore::buildObjectForRect):
(WebCore::buildArrayForQuad):
(WebCore::buildObjectForHighlight):
(WebCore::buildObjectForRegionHighlight):
(WebCore::buildObjectForCSSRegionsHighlight):
(WebCore::buildObjectForSize):
(WebCore::buildObjectForCSSRegionContentClip):
(WebCore::InspectorOverlay::drawPaintRects):
(WebCore::buildObjectForRendererFragments):
(WebCore::buildObjectForShapeOutside):
(WebCore::buildObjectForElementInfo):
(WebCore::InspectorOverlay::buildObjectForHighlightedNode):
(WebCore::InspectorOverlay::reset):
(WebCore::InspectorOverlay::evaluateInOverlay):
* inspector/InspectorOverlay.h:
* inspector/InspectorPageAgent.cpp:
(WebCore::createXHRTextDecoder):
(WebCore::buildObjectForCookie):
(WebCore::buildArrayForCookies):
(WebCore::buildObjectForSearchResult):
(WebCore::InspectorPageAgent::buildObjectForFrame):
(WebCore::InspectorPageAgent::buildObjectForFrameTree):
* inspector/InspectorPageAgent.h:
* inspector/InspectorReplayAgent.cpp:
(WebCore::buildInspectorObjectForPosition):
(WebCore::buildInspectorObjectForInput):
(WebCore::buildInspectorObjectForSession):
(WebCore::buildInspectorObjectForSegment):
(WebCore::InspectorReplayAgent::replayToPosition):
(WebCore::InspectorReplayAgent::getSessionData):
(WebCore::InspectorReplayAgent::getSegmentData):
* inspector/InspectorReplayAgent.h:
* inspector/InspectorResourceAgent.cpp:
(WebCore::buildObjectForHeaders):
(WebCore::buildObjectForTiming):
(WebCore::buildObjectForResourceRequest):
(WebCore::buildObjectForResourceResponse):
(WebCore::buildObjectForCachedResource):
(WebCore::InspectorResourceAgent::willLoadXHR):
(WebCore::InspectorResourceAgent::buildInitiatorObject):
(WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
(WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
(WebCore::InspectorResourceAgent::didSendWebSocketFrame):
(WebCore::InspectorResourceAgent::setExtraHTTPHeaders):
(WebCore::InspectorResourceAgent::loadResource):
(WebCore::InspectorResourceAgent::documentThreadableLoaderStartedLoadingForClient): Deleted.
(WebCore::InspectorResourceAgent::didScheduleStyleRecalculation): Deleted.
(WebCore::InspectorResourceAgent::disable): Deleted.
(WebCore::InspectorResourceAgent::setCacheDisabled): Deleted.
* inspector/InspectorResourceAgent.h:
* inspector/InspectorStyleSheet.cpp:
(ParsedStyleSheet::ruleSourceDataAt):
(WebCore::buildSourceRangeObject):
(WebCore::buildMediaObject):
(WebCore::asCSSRuleList):
(WebCore::fillMediaListChain):
(WebCore::InspectorStyle::create):
(WebCore::InspectorStyle::InspectorStyle):
(WebCore::InspectorStyle::buildObjectForStyle):
(WebCore::InspectorStyle::buildArrayForComputedStyle):
(WebCore::InspectorStyle::styleWithProperties):
(WebCore::InspectorStyle::extractSourceData):
(WebCore::InspectorStyleSheet::create):
(WebCore::InspectorStyleSheet::InspectorStyleSheet):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
(WebCore::buildObjectForSelectorHelper):
(WebCore::selectorsFromSource):
(WebCore::InspectorStyleSheet::buildObjectForSelector):
(WebCore::InspectorStyleSheet::buildObjectForSelectorList):
(WebCore::InspectorStyleSheet::buildObjectForRule):
(WebCore::InspectorStyleSheet::buildObjectForStyle):
(WebCore::InspectorStyleSheet::toggleProperty):
(WebCore::InspectorStyleSheet::inspectorStyleForId):
(WebCore::InspectorStyleSheet::rememberInspectorStyle):
(WebCore::InspectorStyleSheet::buildArrayForRuleList):
(WebCore::InspectorStyleSheet::collectFlatRules):
(WebCore::InspectorStyleSheetForInlineStyle::create):
(WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
(WebCore::InspectorStyleSheetForInlineStyle::inspectorStyleForId):
* inspector/InspectorStyleSheet.h:
(WebCore::InspectorCSSId::InspectorCSSId):
(WebCore::InspectorCSSId::asProtocolValue):
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::startFromConsole):
(WebCore::InspectorTimelineAgent::stopFromConsole):
(WebCore::InspectorTimelineAgent::addRecordToTimeline):
(WebCore::InspectorTimelineAgent::didCompleteRecordEntry):
(WebCore::InspectorTimelineAgent::appendRecord):
(WebCore::InspectorTimelineAgent::sendEvent):
(WebCore::InspectorTimelineAgent::createRecordEntry):
(WebCore::InspectorTimelineAgent::pushCurrentRecord):
* inspector/InspectorTimelineAgent.h:
* inspector/InspectorWorkerAgent.cpp:
(WebCore::InspectorWorkerAgent::sendMessageToWorker):
* inspector/InspectorWorkerAgent.h:
* inspector/NetworkResourcesData.cpp:
(WebCore::XHRReplayData::create):
(WebCore::XHRReplayData::XHRReplayData):
* inspector/NetworkResourcesData.h:
(WebCore::NetworkResourcesData::ResourceData::decoder):
(WebCore::NetworkResourcesData::ResourceData::setDecoder):
(WebCore::NetworkResourcesData::ResourceData::buffer):
(WebCore::NetworkResourcesData::ResourceData::setBuffer):
* inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::createGenericRecord):
(WebCore::TimelineRecordFactory::createBackgroundRecord):
(WebCore::TimelineRecordFactory::createGCEventData):
(WebCore::TimelineRecordFactory::createFunctionCallData):
(WebCore::TimelineRecordFactory::createConsoleProfileData):
(WebCore::TimelineRecordFactory::createProbeSampleData):
(WebCore::TimelineRecordFactory::createEventDispatchData):
(WebCore::TimelineRecordFactory::createGenericTimerData):
(WebCore::TimelineRecordFactory::createTimerInstallData):
(WebCore::TimelineRecordFactory::createXHRReadyStateChangeData):
(WebCore::TimelineRecordFactory::createXHRLoadData):
(WebCore::TimelineRecordFactory::createEvaluateScriptData):
(WebCore::TimelineRecordFactory::createTimeStampData):
(WebCore::TimelineRecordFactory::createScheduleResourceRequestData):
(WebCore::TimelineRecordFactory::createResourceSendRequestData):
(WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
(WebCore::TimelineRecordFactory::createResourceFinishData):
(WebCore::TimelineRecordFactory::createReceiveResourceData):
(WebCore::TimelineRecordFactory::createLayoutData):
(WebCore::TimelineRecordFactory::createDecodeImageData):
(WebCore::TimelineRecordFactory::createResizeImageData):
(WebCore::TimelineRecordFactory::createMarkData):
(WebCore::TimelineRecordFactory::createParseHTMLData):
(WebCore::TimelineRecordFactory::createAnimationFrameData):
(WebCore::createQuad):
(WebCore::TimelineRecordFactory::createPaintData):
(WebCore::buildInspectorObject):
(WebCore::buildProfileInspectorObject):
(WebCore::TimelineRecordFactory::appendProfile):
* inspector/TimelineRecordFactory.h:
(WebCore::TimelineRecordFactory::createWebSocketCreateData):
(WebCore::TimelineRecordFactory::createGenericWebSocketData):
* inspector/WorkerInspectorController.cpp:
(WebCore::WorkerInspectorController::executionStopwatch):
* inspector/WorkerInspectorController.h:
* page/PageConsoleClient.cpp:
(WebCore::PageConsoleClient::addMessage):
(WebCore::PageConsoleClient::messageWithTypeAndLevel):
(WebCore::PageConsoleClient::count):
(WebCore::PageConsoleClient::profileEnd):
(WebCore::PageConsoleClient::timeEnd):
(WebCore::PageConsoleClient::timeStamp):
* page/PageConsoleClient.h:
* replay/ReplayController.cpp:
(WebCore::ReplayController::switchSession):
(WebCore::ReplayController::createSegment):
(WebCore::ReplayController::completeSegment):
(WebCore::ReplayController::loadSegmentAtIndex):
* replay/ReplayInputCreationMethods.cpp:
(WebCore::InitialNavigation::createFromPage):
* workers/SharedWorkerGlobalScope.cpp:
(WebCore::SharedWorkerGlobalScope::logExceptionToConsole):
* workers/SharedWorkerGlobalScope.h:
* workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::logExceptionToConsole):
(WebCore::WorkerGlobalScope::addMessage):
(WebCore::WorkerGlobalScope::addMessageToWorkerConsole):
* workers/WorkerGlobalScope.h:

Source/WebKit:

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: update symbol.

Source/WTF:

* wtf/Stopwatch.h:
(WTF::Stopwatch::create): Return a Ref.</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="#trunkSourceJavaScriptCoreinspectorscriptscodegenobjc_generator_templatespy">trunk/Source/JavaScriptCore/inspector/scripts/codegen/objc_generator_templates.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>

<h3>Property Changed</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreinspectorscriptscodegenobjc_generator_templatespy">trunk/Source/JavaScriptCore/inspector/scripts/codegen/objc_generator_templates.py</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/ChangeLog        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -1,3 +1,217 @@
</span><ins>+2015-01-07  Brian J. Burg  &lt;burg@cs.washington.edu&gt;
+
+        Web Inspector: purge PassRefPtr from Inspector code and use Ref for typed and untyped protocol objects
+        https://bugs.webkit.org/show_bug.cgi?id=140053
+
+        Reviewed by Andreas Kling.
+
+        This patch replaces uses of PassRefPtr with uses of RefPtr&amp;&amp; and WTF::move() in code
+        related to Web Inspector. It also converts many uses of RefPtr to Ref where
+        references are always non-null. These two refactorings have been combined since
+        they tend to require similar changes to the code.
+
+        Creation methods for subclasses of InspectorValue now return a Ref, and callsites
+        have been updated to take a Ref instead of RefPtr.
+
+        Builders for typed protocol objects now return a Ref. Since there is no implicit
+        call to operator&amp;, callsites now must explicitly call .release() to convert a
+        builder object into the corresponding protocol object once required fields are set.
+        Update callsites and use auto to eliminate repetition of longwinded protocol types.
+
+        Tests for inspector protocol and replay inputs have been rebaselined.
+
+        * bindings/ScriptValue.cpp:
+        (Deprecated::jsToInspectorValue):
+        (Deprecated::ScriptValue::toInspectorValue):
+        * bindings/ScriptValue.h:
+        * inspector/ConsoleMessage.cpp:
+        (Inspector::ConsoleMessage::addToFrontend):
+        * inspector/ContentSearchUtilities.cpp:
+        (Inspector::ContentSearchUtilities::buildObjectForSearchMatch):
+        (Inspector::ContentSearchUtilities::searchInTextByLines):
+        * inspector/ContentSearchUtilities.h:
+        * inspector/InjectedScript.cpp:
+        (Inspector::InjectedScript::getFunctionDetails):
+        (Inspector::InjectedScript::getProperties):
+        (Inspector::InjectedScript::getInternalProperties):
+        (Inspector::InjectedScript::wrapCallFrames):
+        (Inspector::InjectedScript::wrapObject):
+        (Inspector::InjectedScript::wrapTable):
+        * inspector/InjectedScript.h:
+        * inspector/InjectedScriptBase.cpp:
+        (Inspector::InjectedScriptBase::makeEvalCall): Split the early exits.
+        * inspector/InspectorBackendDispatcher.cpp:
+        (Inspector::InspectorBackendDispatcher::CallbackBase::CallbackBase):
+        (Inspector::InspectorBackendDispatcher::CallbackBase::sendIfActive):
+        (Inspector::InspectorBackendDispatcher::create):
+        (Inspector::InspectorBackendDispatcher::dispatch):
+        (Inspector::InspectorBackendDispatcher::sendResponse):
+        (Inspector::InspectorBackendDispatcher::reportProtocolError):
+        (Inspector::getPropertyValue): Add a comment to clarify what this clever code does.
+        (Inspector::InspectorBackendDispatcher::getInteger):
+        (Inspector::InspectorBackendDispatcher::getDouble):
+        (Inspector::InspectorBackendDispatcher::getString):
+        (Inspector::InspectorBackendDispatcher::getBoolean):
+        (Inspector::InspectorBackendDispatcher::getObject):
+        (Inspector::InspectorBackendDispatcher::getArray):
+        (Inspector::InspectorBackendDispatcher::getValue):
+        * inspector/InspectorBackendDispatcher.h: Use a typed protocol object to collect
+        protocol error strings.
+        (Inspector::InspectorSupplementalBackendDispatcher::InspectorSupplementalBackendDispatcher):
+        Convert the supplemental dispatcher's reference to Ref since it is never null.
+        * inspector/InspectorEnvironment.h:
+        * inspector/InspectorProtocolTypes.h: Get rid of ArrayItemHelper and
+        StructItemTraits. Add more versions of addItem to handle pushing various types.
+        (Inspector::Protocol::Array::openAccessors):
+        (Inspector::Protocol::Array::addItem):
+        (Inspector::Protocol::Array::create):
+        (Inspector::Protocol::StructItemTraits::push):
+        (Inspector::Protocol::BindingTraits&lt;Protocol::Array&lt;T&gt;&gt;::runtimeCast): Assert argument.
+        (Inspector::Protocol::StructItemTraits::pushRefPtr): Deleted.
+        (Inspector::Protocol::ArrayItemHelper&lt;String&gt;::Traits::pushRaw): Deleted.
+        (Inspector::Protocol::ArrayItemHelper&lt;int&gt;::Traits::pushRaw): Deleted.
+        (Inspector::Protocol::ArrayItemHelper&lt;double&gt;::Traits::pushRaw): Deleted.
+        (Inspector::Protocol::ArrayItemHelper&lt;bool&gt;::Traits::pushRaw): Deleted.
+        (Inspector::Protocol::ArrayItemHelper&lt;InspectorValue&gt;::Traits::pushRefPtr): Deleted.
+        (Inspector::Protocol::ArrayItemHelper&lt;InspectorObject&gt;::Traits::pushRefPtr): Deleted.
+        (Inspector::Protocol::ArrayItemHelper&lt;InspectorArray&gt;::Traits::pushRefPtr): Deleted.
+        (Inspector::Protocol::ArrayItemHelper&lt;Protocol::Array&lt;T&gt;&gt;::Traits::pushRefPtr): Deleted.
+        * inspector/InspectorValues.cpp: Straighten out getArray and getObject to have
+        the same call signature as other getters. Use Ref where possible.
+        (Inspector::InspectorObjectBase::getBoolean):
+        (Inspector::InspectorObjectBase::getString):
+        (Inspector::InspectorObjectBase::getObject):
+        (Inspector::InspectorObjectBase::getArray):
+        (Inspector::InspectorObjectBase::getValue):
+        (Inspector::InspectorObjectBase::writeJSON):
+        (Inspector::InspectorArrayBase::get):
+        (Inspector::InspectorObject::create):
+        (Inspector::InspectorArray::create):
+        (Inspector::InspectorValue::null):
+        (Inspector::InspectorString::create):
+        (Inspector::InspectorBasicValue::create):
+        (Inspector::InspectorObjectBase::get): Deleted.
+        * inspector/InspectorValues.h:
+        (Inspector::InspectorObjectBase::setValue):
+        (Inspector::InspectorObjectBase::setObject):
+        (Inspector::InspectorObjectBase::setArray):
+        (Inspector::InspectorArrayBase::pushValue):
+        (Inspector::InspectorArrayBase::pushObject):
+        (Inspector::InspectorArrayBase::pushArray):
+        * inspector/JSGlobalObjectConsoleClient.cpp:
+        (Inspector::JSGlobalObjectConsoleClient::messageWithTypeAndLevel):
+        (Inspector::JSGlobalObjectConsoleClient::count):
+        (Inspector::JSGlobalObjectConsoleClient::timeEnd):
+        (Inspector::JSGlobalObjectConsoleClient::timeStamp):
+        * inspector/JSGlobalObjectConsoleClient.h:
+        * inspector/JSGlobalObjectInspectorController.cpp:
+        (Inspector::JSGlobalObjectInspectorController::executionStopwatch):
+        * inspector/JSGlobalObjectInspectorController.h:
+        * inspector/ScriptCallFrame.cpp:
+        (Inspector::ScriptCallFrame::buildInspectorObject):
+        * inspector/ScriptCallFrame.h:
+        * inspector/ScriptCallStack.cpp:
+        (Inspector::ScriptCallStack::create):
+        (Inspector::ScriptCallStack::buildInspectorArray):
+        * inspector/ScriptCallStack.h:
+        * inspector/agents/InspectorAgent.cpp:
+        (Inspector::InspectorAgent::enable):
+        (Inspector::InspectorAgent::inspect):
+        (Inspector::InspectorAgent::activateExtraDomain):
+        * inspector/agents/InspectorAgent.h:
+        * inspector/agents/InspectorDebuggerAgent.cpp:
+        (Inspector::InspectorDebuggerAgent::handleConsoleAssert):
+        (Inspector::buildObjectForBreakpointCookie):
+        (Inspector::InspectorDebuggerAgent::setBreakpointByUrl):
+        (Inspector::InspectorDebuggerAgent::setBreakpoint):
+        (Inspector::InspectorDebuggerAgent::continueToLocation):
+        (Inspector::InspectorDebuggerAgent::resolveBreakpoint):
+        (Inspector::InspectorDebuggerAgent::schedulePauseOnNextStatement):
+        (Inspector::InspectorDebuggerAgent::scriptExecutionBlockedByCSP):
+        (Inspector::InspectorDebuggerAgent::currentCallFrames):
+        (Inspector::InspectorDebuggerAgent::didParseSource):
+        (Inspector::InspectorDebuggerAgent::breakpointActionProbe):
+        (Inspector::InspectorDebuggerAgent::breakProgram):
+        * inspector/agents/InspectorDebuggerAgent.h:
+        * inspector/agents/InspectorRuntimeAgent.cpp:
+        (Inspector::buildErrorRangeObject):
+        (Inspector::InspectorRuntimeAgent::callFunctionOn):
+        (Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets):
+        (Inspector::InspectorRuntimeAgent::getBasicBlocks):
+        * inspector/agents/InspectorRuntimeAgent.h:
+        * inspector/scripts/codegen/cpp_generator.py:
+        (CppGenerator.cpp_type_for_unchecked_formal_in_parameter):
+        (CppGenerator.cpp_type_for_type_with_name):
+        (CppGenerator.cpp_type_for_formal_async_parameter):
+        (CppGenerator.should_use_references_for_type):
+        (CppGenerator):
+        * inspector/scripts/codegen/cpp_generator_templates.py:
+        * inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py:
+        (CppBackendDispatcherHeaderGenerator.generate_output):
+        (CppBackendDispatcherHeaderGenerator._generate_async_handler_declaration_for_command):
+        * inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py:
+        (CppBackendDispatcherImplementationGenerator._generate_small_dispatcher_switch_implementation_for_domain):
+        (CppBackendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_command):
+        * inspector/scripts/codegen/generate_cpp_frontend_dispatcher_header.py:
+        (CppFrontendDispatcherHeaderGenerator.generate_output):
+        * inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py:
+        (CppFrontendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_event):
+        * inspector/scripts/codegen/generate_cpp_protocol_types_header.py:
+        (CppProtocolTypesHeaderGenerator.generate_output):
+        (_generate_class_for_object_declaration):
+        (_generate_unchecked_setter_for_member):
+        (_generate_forward_declarations_for_binding_traits):
+        * inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py:
+        (ObjCConfigurationImplementationGenerator._generate_success_block_for_command):
+        * inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py:
+        (ObjCFrontendDispatcherImplementationGenerator._generate_event):
+        (ObjCFrontendDispatcherImplementationGenerator._generate_event_out_parameters):
+        * inspector/scripts/codegen/generate_objc_protocol_types_implementation.py:
+        (ObjCProtocolTypesImplementationGenerator.generate_output):
+        * inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
+        * inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
+        * inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
+        * inspector/scripts/tests/expected/enum-values.json-result:
+        * inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
+        * inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
+        * inspector/scripts/tests/expected/same-type-id-different-domain.json-result:
+        * inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
+        * inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result:
+        * inspector/scripts/tests/expected/type-declaration-array-type.json-result:
+        * inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
+        * inspector/scripts/tests/expected/type-declaration-object-type.json-result:
+        * inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
+        * replay/EncodedValue.cpp:
+        (JSC::EncodedValue::asObject):
+        (JSC::EncodedValue::asArray):
+        (JSC::EncodedValue::put&lt;EncodedValue&gt;):
+        (JSC::EncodedValue::append&lt;EncodedValue&gt;):
+        (JSC::EncodedValue::get&lt;EncodedValue&gt;):
+        * replay/EncodedValue.h:
+        * replay/scripts/CodeGeneratorReplayInputs.py:
+        (Type.borrow_type):
+        (Type.argument_type):
+        (Generator.generate_member_move_expression):
+        * runtime/ConsoleClient.cpp:
+        (JSC::ConsoleClient::printConsoleMessageWithArguments):
+        (JSC::ConsoleClient::internalMessageWithTypeAndLevel):
+        (JSC::ConsoleClient::logWithLevel):
+        (JSC::ConsoleClient::clear):
+        (JSC::ConsoleClient::dir):
+        (JSC::ConsoleClient::dirXML):
+        (JSC::ConsoleClient::table):
+        (JSC::ConsoleClient::trace):
+        (JSC::ConsoleClient::assertCondition):
+        (JSC::ConsoleClient::group):
+        (JSC::ConsoleClient::groupCollapsed):
+        (JSC::ConsoleClient::groupEnd):
+        * runtime/ConsoleClient.h:
+        * runtime/TypeSet.cpp:
+        (JSC::TypeSet::allStructureRepresentations):
+        (JSC::TypeSet::inspectorTypeSet):
+        (JSC::StructureShape::inspectorRepresentation):
+        * runtime/TypeSet.h:
+
</ins><span class="cx"> 2015-01-07  Commit Queue  &lt;commit-queue@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         Unreviewed, rolling out r178039.
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebindingsScriptValuecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bindings/ScriptValue.cpp (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bindings/ScriptValue.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/bindings/ScriptValue.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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 PassRefPtr&lt;InspectorValue&gt; jsToInspectorValue(ExecState* scriptState, JSValue value, int maxDepth)
</del><ins>+static RefPtr&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>-            RefPtr&lt;InspectorArray&gt; inspectorArray = InspectorArray::create();
</del><ins>+            Ref&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(elementValue);
</del><ins>+                inspectorArray-&gt;pushValue(WTF::move(elementValue));
</ins><span class="cx">             }
</span><del>-            return inspectorArray;
</del><ins>+            return WTF::move(inspectorArray);
</ins><span class="cx">         }
</span><del>-        RefPtr&lt;InspectorObject&gt; inspectorObject = InspectorObject::create();
</del><ins>+        Ref&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(), inspectorValue);
</del><ins>+            inspectorObject-&gt;setValue(name.string(), WTF::move(inspectorValue));
</ins><span class="cx">         }
</span><del>-        return inspectorObject;
</del><ins>+        return WTF::move(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>-PassRefPtr&lt;InspectorValue&gt; ScriptValue::toInspectorValue(ExecState* scriptState) const
</del><ins>+RefPtr&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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bindings/ScriptValue.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/bindings/ScriptValue.h        2015-01-07 23:29:03 UTC (rev 178060)
</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>-    PassRefPtr&lt;Inspector::InspectorValue&gt; toInspectorValue(JSC::ExecState*) const;
</del><ins>+    RefPtr&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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/ConsoleMessage.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/ConsoleMessage.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -181,10 +181,11 @@
</span><span class="cx"> 
</span><span class="cx"> void ConsoleMessage::addToFrontend(InspectorConsoleFrontendDispatcher* consoleFrontendDispatcher, Inspector::InjectedScriptManager* injectedScriptManager, bool generatePreview)
</span><span class="cx"> {
</span><del>-    RefPtr&lt;Inspector::Protocol::Console::ConsoleMessage&gt; jsonObj = Inspector::Protocol::Console::ConsoleMessage::create()
</del><ins>+    Ref&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);
</del><ins>+        .setText(m_message)
+        .release();
</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">@@ -199,7 +200,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>-            RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Runtime::RemoteObject&gt;&gt; jsonArgs = Inspector::Protocol::Array&lt;Inspector::Protocol::Runtime::RemoteObject&gt;::create();
</del><ins>+            Ref&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">@@ -208,7 +209,7 @@
</span><span class="cx">                     ASSERT_NOT_REACHED();
</span><span class="cx">                     return;
</span><span class="cx">                 }
</span><del>-                jsonArgs-&gt;addItem(inspectorValue);
</del><ins>+                jsonArgs-&gt;addItem(inspectorValue.copyRef());
</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">@@ -216,17 +217,17 @@
</span><span class="cx">                         ASSERT_NOT_REACHED();
</span><span class="cx">                         return;
</span><span class="cx">                     }
</span><del>-                    jsonArgs-&gt;addItem(inspectorValue);
</del><ins>+                    jsonArgs-&gt;addItem(inspectorValue.copyRef());
</ins><span class="cx">                 }
</span><span class="cx">             }
</span><del>-            jsonObj-&gt;setParameters(jsonArgs);
</del><ins>+            jsonObj-&gt;setParameters(WTF::move(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(jsonObj);
</del><ins>+    consoleFrontendDispatcher-&gt;messageAdded(WTF::move(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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/ContentSearchUtilities.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/ContentSearchUtilities.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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 PassRefPtr&lt;Inspector::Protocol::GenericTypes::SearchMatch&gt; buildObjectForSearchMatch(size_t lineNumber, const String&amp; lineContent)
</del><ins>+static Ref&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,15 +153,17 @@
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-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)
</del><ins>+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)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::GenericTypes::SearchMatch&gt;&gt; result = Inspector::Protocol::Array&lt;Inspector::Protocol::GenericTypes::SearchMatch&gt;::create();
</del><ins>+    Ref&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)
-        result-&gt;addItem(buildObjectForSearchMatch(match.first, match.second));
</del><ins>+    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));
+    }
</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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/ContentSearchUtilities.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/ContentSearchUtilities.h        2015-01-07 23:29:03 UTC (rev 178060)
</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 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);
</del><ins>+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);
</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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/InjectedScript.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/InjectedScript.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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(resultValue);
</del><ins>+    *result = BindingTraits&lt;Inspector::Protocol::Debugger::FunctionDetails&gt;::runtimeCast(WTF::move(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(result);
</del><ins>+    *properties = BindingTraits&lt;Array&lt;Inspector::Protocol::Runtime::PropertyDescriptor&gt;&gt;::runtimeCast(WTF::move(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(result);
</del><ins>+    auto array = BindingTraits&lt;Array&lt;Inspector::Protocol::Runtime::InternalPropertyDescriptor&gt;&gt;::runtimeCast(WTF::move(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>-PassRefPtr&lt;Array&lt;Inspector::Protocol::Debugger::CallFrame&gt;&gt; InjectedScript::wrapCallFrames(const Deprecated::ScriptValue&amp; callFrames)
</del><ins>+Ref&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(result);
</del><ins>+        return BindingTraits&lt;Array&lt;Inspector::Protocol::Debugger::CallFrame&gt;&gt;::runtimeCast(WTF::move(result)).releaseNonNull();
</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>-PassRefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt; InjectedScript::wrapObject(const Deprecated::ScriptValue&amp; value, const String&amp; groupName, bool generatePreview) const
</del><ins>+RefPtr&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>-PassRefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt; InjectedScript::wrapTable(const Deprecated::ScriptValue&amp; table, const Deprecated::ScriptValue&amp; columns) const
</del><ins>+RefPtr&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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/InjectedScript.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/InjectedScript.h        2015-01-07 23:29:03 UTC (rev 178060)
</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>-    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;
</del><ins>+    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;
</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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/InjectedScriptBase.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/InjectedScriptBase.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -135,15 +135,20 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    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)) {
</del><ins>+    RefPtr&lt;InspectorObject&gt; resultObject;
+    if (!resultPair-&gt;getObject(ASCIILiteral(&quot;result&quot;), resultObject)) {
</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><ins>+    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;
+    }
+
</ins><span class="cx">     *objectResult = BindingTraits&lt;Protocol::Runtime::RemoteObject&gt;::runtimeCast(resultObject);
</span><del>-    *wasThrown = wasThrownVal;
</del><ins>+    *wasThrown = wasThrownValue;
</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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/InspectorBackendDispatcher.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/InspectorBackendDispatcher.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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(PassRefPtr&lt;InspectorBackendDispatcher&gt; backendDispatcher, int id)
-    : m_backendDispatcher(backendDispatcher)
</del><ins>+InspectorBackendDispatcher::CallbackBase::CallbackBase(Ref&lt;InspectorBackendDispatcher&gt;&amp;&amp; backendDispatcher, int id)
+    : m_backendDispatcher(WTF::move(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(PassRefPtr&lt;InspectorObject&gt; partialMessage, const ErrorString&amp; invocationError)
</del><ins>+void InspectorBackendDispatcher::CallbackBase::sendIfActive(RefPtr&lt;InspectorObject&gt;&amp;&amp; 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, partialMessage, invocationError);
</del><ins>+    m_backendDispatcher-&gt;sendResponse(m_id, WTF::move(partialMessage), invocationError);
</ins><span class="cx">     m_alreadySent = true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorBackendDispatcher&gt; InspectorBackendDispatcher::create(InspectorFrontendChannel* inspectorFrontendChannel)
</del><ins>+Ref&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 = messageObject-&gt;get(ASCIILiteral(&quot;id&quot;));
-    if (!callIdValue) {
</del><ins>+    RefPtr&lt;InspectorValue&gt; callIdValue;
+    if (!messageObject-&gt;getValue(ASCIILiteral(&quot;id&quot;), 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 = messageObject-&gt;get(ASCIILiteral(&quot;method&quot;));
-    if (!methodValue) {
</del><ins>+    RefPtr&lt;InspectorValue&gt; methodValue;
+    if (!messageObject-&gt;getValue(ASCIILiteral(&quot;method&quot;), 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.release());
</del><ins>+    domainDispatcher-&gt;dispatch(callId, domainMethod, messageObject.releaseNonNull());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorBackendDispatcher::sendResponse(long callId, PassRefPtr&lt;InspectorObject&gt; result, const ErrorString&amp; invocationError)
</del><ins>+void InspectorBackendDispatcher::sendResponse(long callId, RefPtr&lt;InspectorObject&gt;&amp;&amp; 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>-    RefPtr&lt;InspectorObject&gt; responseMessage = InspectorObject::create();
</del><ins>+    Ref&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, PassRefPtr&lt;InspectorArray&gt; data) const
</del><ins>+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
</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(errorCode &gt;= 0);
-    ASSERT((unsigned)errorCode &lt; WTF_ARRAY_LENGTH(errorCodes));
-    ASSERT(errorCodes[errorCode]);
</del><ins>+    ASSERT_ARG(errorCode, errorCode &gt;= 0);
+    ASSERT_ARG(errorCode, (unsigned)errorCode &lt; WTF_ARRAY_LENGTH(errorCodes));
+    ASSERT_ARG(errorCode, errorCodes[errorCode]);
</ins><span class="cx"> 
</span><span class="cx">     if (!m_inspectorFrontendChannel)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    RefPtr&lt;InspectorObject&gt; error = InspectorObject::create();
</del><ins>+    Ref&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;), data);
</del><ins>+        error-&gt;setArray(ASCIILiteral(&quot;data&quot;), WTF::move(data));
</ins><span class="cx"> 
</span><del>-    RefPtr&lt;InspectorObject&gt; message = InspectorObject::create();
-    message-&gt;setObject(ASCIILiteral(&quot;error&quot;), error.release());
</del><ins>+    Ref&lt;InspectorObject&gt; message = InspectorObject::create();
+    message-&gt;setObject(ASCIILiteral(&quot;error&quot;), WTF::move(error));
</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,37 +187,36 @@
</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* valueFound, InspectorArray* protocolErrors, DefaultValueType defaultValue, bool (*asMethod)(InspectorValue&amp;, ValueType&amp;), const char* typeName)
</del><ins>+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)
</ins><span class="cx"> {
</span><del>-    ASSERT(protocolErrors);
</del><ins>+    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;
</ins><span class="cx"> 
</span><del>-    ValueType value = defaultValue;
-    if (valueFound)
-        *valueFound = false;
-
</del><span class="cx">     if (!object) {
</span><del>-        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;
</del><ins>+        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;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    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;
</del><ins>+    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;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    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;
</del><ins>+    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;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (valueFound)
-        *valueFound = true;
</del><ins>+    if (out_optionalValueFound)
+        *out_optionalValueFound = true;
</ins><span class="cx"> 
</span><del>-    return value;
</del><ins>+    return result;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> struct AsMethodBridges {
</span><span class="lines">@@ -230,39 +229,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, InspectorArray* protocolErrors)
</del><ins>+int InspectorBackendDispatcher::getInteger(InspectorObject* object, const String&amp; name, bool* valueFound, Inspector::Protocol::Array&lt;String&gt;&amp; 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, InspectorArray* protocolErrors)
</del><ins>+double InspectorBackendDispatcher::getDouble(InspectorObject* object, const String&amp; name, bool* valueFound, Inspector::Protocol::Array&lt;String&gt;&amp; 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, InspectorArray* protocolErrors)
</del><ins>+String InspectorBackendDispatcher::getString(InspectorObject* object, const String&amp; name, bool* valueFound, Inspector::Protocol::Array&lt;String&gt;&amp; 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, InspectorArray* protocolErrors)
</del><ins>+bool InspectorBackendDispatcher::getBoolean(InspectorObject* object, const String&amp; name, bool* valueFound, Inspector::Protocol::Array&lt;String&gt;&amp; 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>-PassRefPtr&lt;InspectorObject&gt; InspectorBackendDispatcher::getObject(InspectorObject* object, const String&amp; name, bool* valueFound, InspectorArray* protocolErrors)
</del><ins>+RefPtr&lt;InspectorObject&gt; InspectorBackendDispatcher::getObject(InspectorObject* object, const String&amp; name, bool* valueFound, Inspector::Protocol::Array&lt;String&gt;&amp; protocolErrors)
</ins><span class="cx"> {
</span><del>-    return getPropertyValue&lt;PassRefPtr&lt;InspectorObject&gt;, RefPtr&lt;InspectorObject&gt;, InspectorObject*&gt;(object, name, valueFound, protocolErrors, nullptr, AsMethodBridges::asObject, &quot;Object&quot;);
</del><ins>+    return getPropertyValue&lt;RefPtr&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>-PassRefPtr&lt;InspectorArray&gt; InspectorBackendDispatcher::getArray(InspectorObject* object, const String&amp; name, bool* valueFound, InspectorArray* protocolErrors)
</del><ins>+RefPtr&lt;InspectorArray&gt; InspectorBackendDispatcher::getArray(InspectorObject* object, const String&amp; name, bool* valueFound, Inspector::Protocol::Array&lt;String&gt;&amp; protocolErrors)
</ins><span class="cx"> {
</span><del>-    return getPropertyValue&lt;PassRefPtr&lt;InspectorArray&gt;, RefPtr&lt;InspectorArray&gt;, InspectorArray*&gt;(object, name, valueFound, protocolErrors, nullptr, AsMethodBridges::asArray, &quot;Array&quot;);
</del><ins>+    return getPropertyValue&lt;RefPtr&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>-PassRefPtr&lt;InspectorValue&gt; InspectorBackendDispatcher::getValue(InspectorObject* object, const String&amp; name, bool* valueFound, InspectorArray* protocolErrors)
</del><ins>+RefPtr&lt;InspectorValue&gt; InspectorBackendDispatcher::getValue(InspectorObject* object, const String&amp; name, bool* valueFound, Inspector::Protocol::Array&lt;String&gt;&amp; protocolErrors)
</ins><span class="cx"> {
</span><del>-    return getPropertyValue&lt;PassRefPtr&lt;InspectorValue&gt;, RefPtr&lt;InspectorValue&gt;, InspectorValue*&gt;(object, name, valueFound, protocolErrors, nullptr, AsMethodBridges::asValue, &quot;Value&quot;);
</del><ins>+    return getPropertyValue&lt;RefPtr&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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/InspectorBackendDispatcher.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/InspectorBackendDispatcher.h        2015-01-07 23:29:03 UTC (rev 178060)
</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;InspectorValues.h&quot;
</del><ins>+#include &quot;InspectorProtocolTypes.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,30 +40,31 @@
</span><span class="cx"> 
</span><span class="cx"> class InspectorSupplementalBackendDispatcher : public RefCounted&lt;InspectorSupplementalBackendDispatcher&gt; {
</span><span class="cx"> public:
</span><del>-    InspectorSupplementalBackendDispatcher(InspectorBackendDispatcher* backendDispatcher) : m_backendDispatcher(backendDispatcher) { }
</del><ins>+    InspectorSupplementalBackendDispatcher(InspectorBackendDispatcher&amp; backendDispatcher)
+        : m_backendDispatcher(backendDispatcher) { }
</ins><span class="cx">     virtual ~InspectorSupplementalBackendDispatcher() { }
</span><del>-    virtual void dispatch(long callId, const String&amp; method, PassRefPtr&lt;InspectorObject&gt; message) = 0;
</del><ins>+    virtual void dispatch(long callId, const String&amp; method, Ref&lt;InspectorObject&gt;&amp;&amp; message) = 0;
</ins><span class="cx"> protected:
</span><del>-    RefPtr&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    Ref&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 PassRefPtr&lt;InspectorBackendDispatcher&gt; create(InspectorFrontendChannel*);
</del><ins>+    static Ref&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(PassRefPtr&lt;InspectorBackendDispatcher&gt;, int id);
</del><ins>+        CallbackBase(Ref&lt;InspectorBackendDispatcher&gt;&amp;&amp;, 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(PassRefPtr&lt;InspectorObject&gt; partialMessage, const ErrorString&amp; invocationError);
</del><ins>+        void sendIfActive(RefPtr&lt;InspectorObject&gt;&amp;&amp; partialMessage, const ErrorString&amp; invocationError);
</ins><span class="cx"> 
</span><span class="cx">     private:
</span><del>-        RefPtr&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+        Ref&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">@@ -82,17 +83,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, PassRefPtr&lt;InspectorObject&gt; result, const ErrorString&amp; invocationError);
</del><ins>+    void sendResponse(long callId, RefPtr&lt;InspectorObject&gt;&amp;&amp; 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, PassRefPtr&lt;InspectorArray&gt; data) const;
</del><ins>+    void reportProtocolError(const long* const callId, CommonErrorCode, const String&amp; errorMessage, RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt;&amp;&amp; data) const;
</ins><span class="cx"> 
</span><del>-    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);
</del><ins>+    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);
</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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/InspectorEnvironment.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/InspectorEnvironment.h        2015-01-07 23:29:03 UTC (rev 178060)
</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 PassRefPtr&lt;WTF::Stopwatch&gt; executionStopwatch() = 0;
</del><ins>+    virtual Ref&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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/InspectorProtocolTypes.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/InspectorProtocolTypes.h        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -31,12 +31,13 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InspectorValues.h&quot;
</span><span class="cx"> #include &lt;wtf/Assertions.h&gt;
</span><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><span class="cx"> namespace Protocol {
</span><span class="cx"> 
</span><ins>+template&lt;typename T&gt; struct BindingTraits;
+
</ins><span class="cx"> template&lt;typename T&gt;
</span><span class="cx"> class OptOutput {
</span><span class="cx"> public:
</span><span class="lines">@@ -63,128 +64,44 @@
</span><span class="cx">     WTF_MAKE_NONCOPYABLE(OptOutput);
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-// 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.
</del><span class="cx"> template&lt;typename T&gt;
</span><del>-struct ArrayItemHelper {
-    typedef typename T::ItemTraits Traits;
-};
-
-template&lt;typename T&gt;
</del><span class="cx"> class Array : public InspectorArrayBase {
</span><span class="cx"> private:
</span><span class="cx">     Array() { }
</span><span class="cx"> 
</span><del>-    InspectorArray* openAccessors()
</del><ins>+    InspectorArray&amp; 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(PassRefPtr&lt;T&gt; value)
</del><ins>+    void addItem(Ref&lt;T&gt;&amp;&amp; value)
</ins><span class="cx">     {
</span><del>-        ArrayItemHelper&lt;T&gt;::Traits::pushRefPtr(this-&gt;openAccessors(), value);
</del><ins>+        openAccessors().pushValue(&amp;value.get());
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void addItem(T value)
</del><ins>+    void addItem(RefPtr&lt;T&gt;&amp;&amp; value)
</ins><span class="cx">     {
</span><del>-        ArrayItemHelper&lt;T&gt;::Traits::pushRaw(this-&gt;openAccessors(), value);
</del><ins>+        openAccessors().pushValue(WTF::move(value));
</ins><span class="cx">     }
</span><del>-
-    static PassRefPtr&lt;Array&lt;T&gt;&gt; create()
</del><ins>+    
+    void addItem(const String&amp; value)
</ins><span class="cx">     {
</span><del>-        return adoptRef(new Array&lt;T&gt;());
</del><ins>+        openAccessors().pushString(value);
</ins><span class="cx">     }
</span><del>-};
</del><span class="cx"> 
</span><del>-struct StructItemTraits {
-    static void pushRefPtr(InspectorArray* array, PassRefPtr&lt;InspectorValue&gt; value)
</del><ins>+    void addItem(int value)
</ins><span class="cx">     {
</span><del>-        array-&gt;pushValue(value);
</del><ins>+        openAccessors().pushInteger(value);
</ins><span class="cx">     }
</span><ins>+    
+    static Ref&lt;Array&lt;T&gt;&gt; create()
+    {
+        return adoptRef(*new Array&lt;T&gt;());
+    }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-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);
-        }
-    };
-};
-
</del><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">@@ -192,8 +109,9 @@
</span><span class="cx"> struct BindingTraits {
</span><span class="cx">     typedef T BindingType;
</span><span class="cx"> 
</span><ins>+    static void push(InspectorArray&amp;, BindingType&amp;);
</ins><span class="cx">     static InspectorValue::Type typeTag();
</span><del>-    static PassRefPtr&lt;T&gt; runtimeCast(PassRefPtr&lt;InspectorObject&gt;);
</del><ins>+    static RefPtr&lt;T&gt; runtimeCast(RefPtr&lt;InspectorObject&gt;&amp;&amp;);
</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">@@ -204,15 +122,16 @@
</span><span class="cx"> #if !ASSERT_DISABLED
</span><span class="cx">     static void assertValueHasExpectedType(InspectorValue* value)
</span><span class="cx">     {
</span><del>-        ASSERT(value-&gt;type() == TYPE);
</del><ins>+        ASSERT_ARG(value, value &amp;&amp; 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 PassRefPtr&lt;Array&lt;T&gt;&gt; runtimeCast(PassRefPtr&lt;InspectorValue&gt; value)
</del><ins>+    static RefPtr&lt;Array&lt;T&gt;&gt; runtimeCast(RefPtr&lt;InspectorValue&gt;&amp;&amp; value)
</ins><span class="cx">     {
</span><ins>+        ASSERT_ARG(value, value);
</ins><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">@@ -226,6 +145,7 @@
</span><span class="cx"> #if !ASSERT_DISABLED
</span><span class="cx">     static void assertValueHasExpectedType(InspectorValue* value)
</span><span class="cx">     {
</span><ins>+        ASSERT_ARG(value, value);
</ins><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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/InspectorValues.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/InspectorValues.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -347,7 +347,7 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorValue&gt; buildValue(const UChar* start, const UChar* end, const UChar** valueTokenEnd, int depth)
</del><ins>+RefPtr&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>-        RefPtr&lt;InspectorArray&gt; array = InspectorArray::create();
</del><ins>+        Ref&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(arrayNode);
</del><ins>+            array-&gt;pushValue(WTF::move(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 = array.release();
</del><ins>+        result = WTF::move(array);
</ins><span class="cx">         break;
</span><span class="cx">     }
</span><span class="cx">     case OBJECT_BEGIN: {
</span><del>-        RefPtr&lt;InspectorObject&gt; object = InspectorObject::create();
</del><ins>+        Ref&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, value);
</del><ins>+            object-&gt;setValue(key, WTF::move(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 = object.release();
</del><ins>+        result = WTF::move(object);
</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 = get(name);
-    if (!value)
</del><ins>+    RefPtr&lt;InspectorValue&gt; value;
+    if (!getValue(name, 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,40 +748,39 @@
</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 = get(name);
-    if (!value)
</del><ins>+    RefPtr&lt;InspectorValue&gt; value;
+    if (!getValue(name, value))
</ins><span class="cx">         return false;
</span><ins>+
</ins><span class="cx">     return value-&gt;asString(output);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorObject&gt; InspectorObjectBase::getObject(const String&amp; name) const
</del><ins>+bool InspectorObjectBase::getObject(const String&amp; name, RefPtr&lt;InspectorObject&gt;&amp; output) const
</ins><span class="cx"> {
</span><del>-    PassRefPtr&lt;InspectorValue&gt; value = get(name);
-    if (!value)
-        return nullptr;
</del><ins>+    RefPtr&lt;InspectorValue&gt; value;
+    if (!getValue(name, value))
+        return false;
</ins><span class="cx"> 
</span><del>-    RefPtr&lt;InspectorObject&gt; result;
-    value-&gt;asObject(result);
-    return result.release();
</del><ins>+    return value-&gt;asObject(output);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorArray&gt; InspectorObjectBase::getArray(const String&amp; name) const
</del><ins>+bool InspectorObjectBase::getArray(const String&amp; name, RefPtr&lt;InspectorArray&gt;&amp; output) const
</ins><span class="cx"> {
</span><del>-    PassRefPtr&lt;InspectorValue&gt; value = get(name);
-    if (!value)
-        return nullptr;
</del><ins>+    RefPtr&lt;InspectorValue&gt; value;
+    if (!getValue(name, value))
+        return false;
</ins><span class="cx"> 
</span><del>-    RefPtr&lt;InspectorArray&gt; result;
-    value-&gt;asArray(result);
-    return result.release();
</del><ins>+    return value-&gt;asArray(output);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorValue&gt; InspectorObjectBase::get(const String&amp; name) const
</del><ins>+bool InspectorObjectBase::getValue(const String&amp; name, RefPtr&lt;InspectorValue&gt;&amp; output) const
</ins><span class="cx"> {
</span><del>-    Dictionary::const_iterator it = m_data.find(name);
-    if (it == m_data.end())
-        return nullptr;
-    return it-&gt;value;
</del><ins>+    Dictionary::const_iterator findResult = m_data.find(name);
+    if (findResult == m_data.end())
+        return false;
+
+    output = findResult-&gt;value;
+    return true;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorObjectBase::remove(const String&amp; name)
</span><span class="lines">@@ -799,13 +798,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>-        Dictionary::const_iterator it = m_data.find(m_order[i]);
-        ASSERT(it != m_data.end());
</del><ins>+        auto findResult = m_data.find(m_order[i]);
+        ASSERT(findResult != m_data.end());
</ins><span class="cx">         if (i)
</span><span class="cx">             output.append(',');
</span><del>-        doubleQuoteString(it-&gt;key, output);
</del><ins>+        doubleQuoteString(findResult-&gt;key, output);
</ins><span class="cx">         output.append(':');
</span><del>-        it-&gt;value-&gt;writeJSON(output);
</del><ins>+        findResult-&gt;value-&gt;writeJSON(output);
</ins><span class="cx">     }
</span><span class="cx">     output.append('}');
</span><span class="cx"> }
</span><span class="lines">@@ -845,50 +844,50 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorValue&gt; InspectorArrayBase::get(size_t index)
</del><ins>+RefPtr&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>-PassRefPtr&lt;InspectorObject&gt; InspectorObject::create()
</del><ins>+Ref&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>-PassRefPtr&lt;InspectorArray&gt; InspectorArray::create()
</del><ins>+Ref&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>-PassRefPtr&lt;InspectorValue&gt; InspectorValue::null()
</del><ins>+Ref&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>-PassRefPtr&lt;InspectorString&gt; InspectorString::create(const String&amp; value)
</del><ins>+Ref&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>-PassRefPtr&lt;InspectorString&gt; InspectorString::create(const char* value)
</del><ins>+Ref&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>-PassRefPtr&lt;InspectorBasicValue&gt; InspectorBasicValue::create(bool value)
</del><ins>+Ref&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>-PassRefPtr&lt;InspectorBasicValue&gt; InspectorBasicValue::create(int value)
</del><ins>+Ref&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>-PassRefPtr&lt;InspectorBasicValue&gt; InspectorBasicValue::create(double value)
</del><ins>+Ref&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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/InspectorValues.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/InspectorValues.h        2015-01-07 23:29:03 UTC (rev 178060)
</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/Forward.h&gt;
</del><ins>+#include &lt;wtf/Assertions.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 PassRefPtr&lt;InspectorValue&gt; null();
</del><ins>+    static Ref&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 PassRefPtr&lt;InspectorBasicValue&gt; create(bool);
-    static PassRefPtr&lt;InspectorBasicValue&gt; create(int);
-    static PassRefPtr&lt;InspectorBasicValue&gt; create(double);
</del><ins>+    static Ref&lt;InspectorBasicValue&gt; create(bool);
+    static Ref&lt;InspectorBasicValue&gt; create(int);
+    static Ref&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 PassRefPtr&lt;InspectorString&gt; create(const String&amp;);
-    static PassRefPtr&lt;InspectorString&gt; create(const char*);
</del><ins>+    static Ref&lt;InspectorString&gt; create(const String&amp;);
+    static Ref&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, PassRefPtr&lt;InspectorValue&gt;);
-    void setObject(const String&amp; name, PassRefPtr&lt;InspectorObjectBase&gt;);
-    void setArray(const String&amp; name, PassRefPtr&lt;InspectorArrayBase&gt;);
</del><ins>+    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;);
</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,23 +188,25 @@
</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 = get(name);
-        if (!value)
</del><ins>+        RefPtr&lt;InspectorValue&gt; value;
+        if (!getValue(name, value))
</ins><span class="cx">             return false;
</span><ins>+
</ins><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 = get(name);
-        if (!value)
</del><ins>+        RefPtr&lt;InspectorValue&gt; value;
+        if (!getValue(name, value))
</ins><span class="cx">             return false;
</span><ins>+
</ins><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>-    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;
</del><ins>+    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;
</ins><span class="cx"> 
</span><span class="cx">     void remove(const String&amp; name);
</span><span class="cx"> 
</span><span class="lines">@@ -227,7 +229,7 @@
</span><span class="cx"> 
</span><span class="cx"> class InspectorObject : public InspectorObjectBase {
</span><span class="cx"> public:
</span><del>-    static JS_EXPORT_PRIVATE PassRefPtr&lt;InspectorObject&gt; create();
</del><ins>+    static JS_EXPORT_PRIVATE Ref&lt;InspectorObject&gt; create();
</ins><span class="cx"> 
</span><span class="cx">     using InspectorObjectBase::asObject;
</span><span class="cx"> 
</span><span class="lines">@@ -246,7 +248,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::get;
</del><ins>+    using InspectorObjectBase::getValue;
</ins><span class="cx"> 
</span><span class="cx">     using InspectorObjectBase::remove;
</span><span class="cx"> 
</span><span class="lines">@@ -273,11 +275,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(PassRefPtr&lt;InspectorValue&gt;);
-    void pushObject(PassRefPtr&lt;InspectorObject&gt;);
-    void pushArray(PassRefPtr&lt;InspectorArray&gt;);
</del><ins>+    void pushValue(RefPtr&lt;InspectorValue&gt;&amp;&amp;);
+    void pushObject(RefPtr&lt;InspectorObjectBase&gt;&amp;&amp;);
+    void pushArray(RefPtr&lt;InspectorArrayBase&gt;&amp;&amp;);
</ins><span class="cx"> 
</span><del>-    PassRefPtr&lt;InspectorValue&gt; get(size_t index);
</del><ins>+    RefPtr&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">@@ -295,7 +297,7 @@
</span><span class="cx"> 
</span><span class="cx"> class InspectorArray : public InspectorArrayBase {
</span><span class="cx"> public:
</span><del>-    static JS_EXPORT_PRIVATE PassRefPtr&lt;InspectorArray&gt; create();
</del><ins>+    static JS_EXPORT_PRIVATE Ref&lt;InspectorArray&gt; create();
</ins><span class="cx"> 
</span><span class="cx">     using InspectorArrayBase::asArray;
</span><span class="cx"> 
</span><span class="lines">@@ -344,24 +346,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, PassRefPtr&lt;InspectorValue&gt; value)
</del><ins>+inline void InspectorObjectBase::setValue(const String&amp; name, RefPtr&lt;InspectorValue&gt;&amp;&amp; value)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(value);
</span><del>-    if (m_data.set(name, value).isNewEntry)
</del><ins>+    if (m_data.set(name, WTF::move(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, PassRefPtr&lt;InspectorObjectBase&gt; value)
</del><ins>+inline void InspectorObjectBase::setObject(const String&amp; name, RefPtr&lt;InspectorObjectBase&gt;&amp;&amp; value)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(value);
</span><del>-    if (m_data.set(name, value).isNewEntry)
</del><ins>+    if (m_data.set(name, WTF::move(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, PassRefPtr&lt;InspectorArrayBase&gt; value)
</del><ins>+inline void InspectorObjectBase::setArray(const String&amp; name, RefPtr&lt;InspectorArrayBase&gt;&amp;&amp; value)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(value);
</span><del>-    if (m_data.set(name, value).isNewEntry)
</del><ins>+    if (m_data.set(name, WTF::move(value)).isNewEntry)
</ins><span class="cx">         m_order.append(name);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -385,22 +387,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(PassRefPtr&lt;InspectorValue&gt; value)
</del><ins>+inline void InspectorArrayBase::pushValue(RefPtr&lt;InspectorValue&gt;&amp;&amp; value)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(value);
</span><del>-    m_data.append(value);
</del><ins>+    m_data.append(WTF::move(value));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorArrayBase::pushObject(PassRefPtr&lt;InspectorObject&gt; value)
</del><ins>+inline void InspectorArrayBase::pushObject(RefPtr&lt;InspectorObjectBase&gt;&amp;&amp; value)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(value);
</span><del>-    m_data.append(value);
</del><ins>+    m_data.append(WTF::move(value));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorArrayBase::pushArray(PassRefPtr&lt;InspectorArray&gt; value)
</del><ins>+inline void InspectorArrayBase::pushArray(RefPtr&lt;InspectorArrayBase&gt;&amp;&amp; value)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(value);
</span><del>-    m_data.append(value);
</del><ins>+    m_data.append(WTF::move(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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/JSGlobalObjectConsoleClient.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/JSGlobalObjectConsoleClient.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -75,19 +75,18 @@
</span><span class="cx">     });
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void JSGlobalObjectConsoleClient::messageWithTypeAndLevel(MessageType type, MessageLevel level, JSC::ExecState* exec, PassRefPtr&lt;ScriptArguments&gt; prpArguments)
</del><ins>+void JSGlobalObjectConsoleClient::messageWithTypeAndLevel(MessageType type, MessageLevel level, JSC::ExecState* exec, RefPtr&lt;ScriptArguments&gt;&amp;&amp; arguments)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;ScriptArguments&gt; arguments = prpArguments;
</del><span class="cx"> 
</span><span class="cx">     if (JSGlobalObjectConsoleClient::logToSystemConsole())
</span><del>-        ConsoleClient::printConsoleMessageWithArguments(MessageSource::ConsoleAPI, type, level, exec, arguments);
</del><ins>+        ConsoleClient::printConsoleMessageWithArguments(MessageSource::ConsoleAPI, type, level, exec, arguments.copyRef());
</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, arguments.release());
</del><ins>+    m_consoleAgent-&gt;addMessageToConsole(MessageSource::ConsoleAPI, type, level, message, exec, WTF::move(arguments));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void JSGlobalObjectConsoleClient::count(ExecState* exec, PassRefPtr&lt;ScriptArguments&gt; arguments)
</del><ins>+void JSGlobalObjectConsoleClient::count(ExecState* exec, RefPtr&lt;ScriptArguments&gt;&amp;&amp; arguments)
</ins><span class="cx"> {
</span><span class="cx">     m_consoleAgent-&gt;count(exec, arguments);
</span><span class="cx"> }
</span><span class="lines">@@ -110,10 +109,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, callStack.release());
</del><ins>+    m_consoleAgent-&gt;stopTiming(title, WTF::move(callStack));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void JSGlobalObjectConsoleClient::timeStamp(ExecState*, PassRefPtr&lt;ScriptArguments&gt;)
</del><ins>+void JSGlobalObjectConsoleClient::timeStamp(ExecState*, RefPtr&lt;ScriptArguments&gt;&amp;&amp;)
</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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/JSGlobalObjectConsoleClient.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/JSGlobalObjectConsoleClient.h        2015-01-07 23:29:03 UTC (rev 178060)
</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*, PassRefPtr&lt;ScriptArguments&gt;) override;
-    virtual void count(JSC::ExecState*, PassRefPtr&lt;ScriptArguments&gt;) override;
</del><ins>+    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;
</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*, PassRefPtr&lt;ScriptArguments&gt;) override;
</del><ins>+    virtual void timeStamp(JSC::ExecState*, RefPtr&lt;ScriptArguments&gt;&amp;&amp;) 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*, PassRefPtr&lt;ScriptArguments&gt;);
</del><ins>+    void internalAddMessage(MessageType, MessageLevel, JSC::ExecState*, RefPtr&lt;ScriptArguments&gt;&amp;&amp;);
</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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -222,9 +222,9 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Stopwatch&gt; JSGlobalObjectInspectorController::executionStopwatch()
</del><ins>+Ref&lt;Stopwatch&gt; JSGlobalObjectInspectorController::executionStopwatch()
</ins><span class="cx"> {
</span><del>-    return m_executionStopwatch;
</del><ins>+    return m_executionStopwatch.copyRef();
</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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.h        2015-01-07 23:29:03 UTC (rev 178060)
</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 PassRefPtr&lt;WTF::Stopwatch&gt; executionStopwatch() override;
</del><ins>+    virtual Ref&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>-    RefPtr&lt;WTF::Stopwatch&gt; m_executionStopwatch;
</del><ins>+    Ref&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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/ScriptCallFrame.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/ScriptCallFrame.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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>-PassRefPtr&lt;Inspector::Protocol::Console::CallFrame&gt; ScriptCallFrame::buildInspectorObject() const
</del><ins>+Ref&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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/ScriptCallFrame.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/ScriptCallFrame.h        2015-01-07 23:29:03 UTC (rev 178060)
</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>-    PassRefPtr&lt;Inspector::Protocol::Console::CallFrame&gt; buildInspectorObject() const;
</del><ins>+    Ref&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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/ScriptCallStack.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/ScriptCallStack.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -36,14 +36,14 @@
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;ScriptCallStack&gt; ScriptCallStack::create()
</del><ins>+Ref&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>-PassRefPtr&lt;ScriptCallStack&gt; ScriptCallStack::create(Vector&lt;ScriptCallFrame&gt;&amp; frames)
</del><ins>+Ref&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>-PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Console::CallFrame&gt;&gt; ScriptCallStack::buildInspectorArray() const
</del><ins>+Ref&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Console::CallFrame&gt;&gt; ScriptCallStack::buildInspectorArray() const
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Console::CallFrame&gt;&gt; frames = Inspector::Protocol::Array&lt;Inspector::Protocol::Console::CallFrame&gt;::create();
</del><ins>+    auto 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 frames;
</del><ins>+    return WTF::move(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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/ScriptCallStack.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/ScriptCallStack.h        2015-01-07 23:29:03 UTC (rev 178060)
</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 PassRefPtr&lt;ScriptCallStack&gt; create();
-    static PassRefPtr&lt;ScriptCallStack&gt; create(Vector&lt;ScriptCallFrame&gt;&amp;);
</del><ins>+    static Ref&lt;ScriptCallStack&gt; create();
+    static Ref&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>-    PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Console::CallFrame&gt;&gt; buildInspectorArray() const;
</del><ins>+    Ref&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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/agents/InspectorAgent.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/agents/InspectorAgent.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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, m_pendingInspectData.second);
</del><ins>+        inspect(m_pendingInspectData.first.copyRef(), m_pendingInspectData.second.copyRef());
</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(PassRefPtr&lt;Protocol::Runtime::RemoteObject&gt; objectToInspect, PassRefPtr&lt;InspectorObject&gt; hints)
</del><ins>+void InspectorAgent::inspect(RefPtr&lt;Protocol::Runtime::RemoteObject&gt;&amp;&amp; objectToInspect, RefPtr&lt;InspectorObject&gt;&amp;&amp; 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>-    RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; domainNames = Inspector::Protocol::Array&lt;String&gt;::create();
</del><ins>+    Ref&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(domainNames.release());
</del><ins>+    m_frontendDispatcher-&gt;activateExtraDomains(WTF::move(domainNames));
</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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/agents/InspectorAgent.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/agents/InspectorAgent.h        2015-01-07 23:29:03 UTC (rev 178060)
</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(PassRefPtr&lt;Protocol::Runtime::RemoteObject&gt; objectToInspect, PassRefPtr&lt;InspectorObject&gt; hints);
</del><ins>+    void inspect(RefPtr&lt;Protocol::Runtime::RemoteObject&gt;&amp;&amp; objectToInspect, RefPtr&lt;InspectorObject&gt;&amp;&amp; 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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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>-        RefPtr&lt;Inspector::Protocol::Debugger::AssertPauseReason&gt; reason = Inspector::Protocol::Debugger::AssertPauseReason::create();
</del><ins>+        Ref&lt;Inspector::Protocol::Debugger::AssertPauseReason&gt; reason = Inspector::Protocol::Debugger::AssertPauseReason::create().release();
</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 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)
</del><ins>+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)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; breakpointObject = InspectorObject::create();
</del><ins>+    Ref&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;* 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;&amp;&amp; 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);
-        actions = (*options)-&gt;getArray(ASCIILiteral(&quot;actions&quot;));
</del><ins>+        options-&gt;getString(ASCIILiteral(&quot;condition&quot;), condition);
+        options-&gt;getBoolean(ASCIILiteral(&quot;autoContinue&quot;), autoContinue);
+        options-&gt;getArray(ASCIILiteral(&quot;actions&quot;), actions);
</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(location);
</del><ins>+            locations-&gt;addItem(WTF::move(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; location, const RefPtr&lt;InspectorObject&gt;* 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;&amp; location, const RefPtr&lt;InspectorObject&gt;&amp;&amp; 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);
-        actions = (*options)-&gt;getArray(ASCIILiteral(&quot;actions&quot;));
</del><ins>+        options-&gt;getString(ASCIILiteral(&quot;condition&quot;), condition);
+        options-&gt;getBoolean(ASCIILiteral(&quot;autoContinue&quot;), autoContinue);
+        options-&gt;getArray(ASCIILiteral(&quot;actions&quot;), actions);
</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; location)
</del><ins>+void InspectorDebuggerAgent::continueToLocation(ErrorString&amp; errorString, const RefPtr&lt;InspectorObject&gt;&amp;&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>-PassRefPtr&lt;Inspector::Protocol::Debugger::Location&gt; InspectorDebuggerAgent::resolveBreakpoint(const String&amp; breakpointIdentifier, JSC::SourceID sourceID, const ScriptBreakpoint&amp; breakpoint)
</del><ins>+RefPtr&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,11 +388,12 @@
</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>-    RefPtr&lt;Inspector::Protocol::Debugger::Location&gt; location = Inspector::Protocol::Debugger::Location::create()
</del><ins>+    auto location = Inspector::Protocol::Debugger::Location::create()
</ins><span class="cx">         .setScriptId(String::number(sourceID))
</span><del>-        .setLineNumber(actualLineNumber);
</del><ins>+        .setLineNumber(actualLineNumber)
+        .release();
</ins><span class="cx">     location-&gt;setColumnNumber(actualColumnNumber);
</span><del>-    return location;
</del><ins>+    return WTF::move(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">@@ -430,13 +431,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, PassRefPtr&lt;InspectorObject&gt; data)
</del><ins>+void InspectorDebuggerAgent::schedulePauseOnNextStatement(InspectorDebuggerFrontendDispatcher::Reason breakReason, RefPtr&lt;InspectorObject&gt;&amp;&amp; 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 = data;
</del><ins>+    m_breakAuxData = WTF::move(data);
</ins><span class="cx">     scriptDebugServer().setPauseOnNextStatement(true);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -544,12 +545,14 @@
</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>-        RefPtr&lt;Inspector::Protocol::Debugger::CSPViolationPauseReason&gt; reason = Inspector::Protocol::Debugger::CSPViolationPauseReason::create().setDirective(directiveText);
</del><ins>+        auto reason = Inspector::Protocol::Debugger::CSPViolationPauseReason::create()
+            .setDirective(directiveText)
+            .release();
</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>-PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Debugger::CallFrame&gt;&gt; InspectorDebuggerAgent::currentCallFrames()
</del><ins>+Ref&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">@@ -606,7 +609,8 @@
</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;));
</del><ins>+        RefPtr&lt;InspectorArray&gt; actions;
+        breakpointObject-&gt;getArray(ASCIILiteral(&quot;actions&quot;), actions);
</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">@@ -665,14 +669,15 @@
</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>-    RefPtr&lt;Protocol::Debugger::ProbeSample&gt; result = Protocol::Debugger::ProbeSample::create()
</del><ins>+    auto 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());
</del><ins>+        .setPayload(payload.release())
+        .release();
</ins><span class="cx"> 
</span><del>-    m_frontendDispatcher-&gt;didSampleProbe(result.release());
</del><ins>+    m_frontendDispatcher-&gt;didSampleProbe(WTF::move(result));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorDebuggerAgent::didContinue()
</span><span class="lines">@@ -687,10 +692,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, PassRefPtr&lt;InspectorObject&gt; data)
</del><ins>+void InspectorDebuggerAgent::breakProgram(InspectorDebuggerFrontendDispatcher::Reason breakReason, RefPtr&lt;InspectorObject&gt;&amp;&amp; data)
</ins><span class="cx"> {
</span><span class="cx">     m_breakReason = breakReason;
</span><del>-    m_breakAuxData = data;
</del><ins>+    m_breakAuxData = WTF::move(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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.h        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -42,7 +42,6 @@
</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><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><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">@@ -74,10 +73,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;* 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;
</del><ins>+    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;
</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; location) override;
</del><ins>+    virtual void continueToLocation(ErrorString&amp;, const RefPtr&lt;InspectorObject&gt;&amp;&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">@@ -94,9 +93,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, PassRefPtr&lt;InspectorObject&gt; data);
</del><ins>+    void schedulePauseOnNextStatement(InspectorDebuggerFrontendDispatcher::Reason breakReason, RefPtr&lt;InspectorObject&gt;&amp;&amp; data);
</ins><span class="cx">     void cancelPauseOnNextStatement();
</span><del>-    void breakProgram(InspectorDebuggerFrontendDispatcher::Reason breakReason, PassRefPtr&lt;InspectorObject&gt; data);
</del><ins>+    void breakProgram(InspectorDebuggerFrontendDispatcher::Reason breakReason, RefPtr&lt;InspectorObject&gt;&amp;&amp; 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">@@ -132,7 +131,7 @@
</span><span class="cx">     void didClearGlobalObject();
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Debugger::CallFrame&gt;&gt; currentCallFrames();
</del><ins>+    Ref&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">@@ -140,7 +139,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>-    PassRefPtr&lt;Inspector::Protocol::Debugger::Location&gt; resolveBreakpoint(const String&amp; breakpointIdentifier, JSC::SourceID, const ScriptBreakpoint&amp;);
</del><ins>+    RefPtr&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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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 PassRefPtr&lt;Inspector::Protocol::Runtime::ErrorRange&gt; buildErrorRangeObject(const JSTokenLocation&amp; tokenLocation)
</del><ins>+static Ref&lt;Inspector::Protocol::Runtime::ErrorRange&gt; buildErrorRangeObject(const JSTokenLocation&amp; tokenLocation)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;Inspector::Protocol::Runtime::ErrorRange&gt; result = Inspector::Protocol::Runtime::ErrorRange::create()
</del><ins>+    return Inspector::Protocol::Runtime::ErrorRange::create()
</ins><span class="cx">         .setStartOffset(tokenLocation.startOffset)
</span><del>-        .setEndOffset(tokenLocation.endOffset);
-    return result.release();
</del><ins>+        .setEndOffset(tokenLocation.endOffset)
+        .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;* 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)
</del><ins>+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)
</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; 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;&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,8 +237,9 @@
</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>-        RefPtr&lt;Inspector::Protocol::Runtime::TypeDescription&gt; description = Inspector::Protocol::Runtime::TypeDescription::create()
-            .setIsValid(isValid);
</del><ins>+        auto description = Inspector::Protocol::Runtime::TypeDescription::create()
+            .setIsValid(isValid)
+            .release();
</ins><span class="cx"> 
</span><span class="cx">         if (isValid) {
</span><span class="cx">             description-&gt;setLeastCommonAncestor(typeSet-&gt;leastCommonAncestor());
</span><span class="lines">@@ -247,7 +248,7 @@
</span><span class="cx">             description-&gt;setIsTruncated(typeSet-&gt;isOverflown());
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        typeDescriptions-&gt;addItem(description);
</del><ins>+        typeDescriptions-&gt;addItem(WTF::move(description));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     double end = currentTimeMS();
</span><span class="lines">@@ -331,11 +332,12 @@
</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>-        RefPtr&lt;Inspector::Protocol::Runtime::BasicBlock&gt; location = Inspector::Protocol::Runtime::BasicBlock::create()
</del><ins>+        Ref&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);
-        basicBlocks-&gt;addItem(location);
</del><ins>+            .setHasExecuted(block.m_hasExecuted)
+            .release();
+        basicBlocks-&gt;addItem(WTF::move(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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.h        2015-01-07 23:29:03 UTC (rev 178060)
</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;* 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;&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;
</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; 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;&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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/codegen/cpp_generator.py        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/scripts/codegen/cpp_generator.py        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -116,12 +116,11 @@
</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><del>-        sigil = '*' if parameter.is_optional else '&amp;'
</del><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;' + sigil
</del><ins>+            return 'const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp;'
</ins><span class="cx">         if isinstance(_type, ArrayType):
</span><del>-            return 'const RefPtr&lt;Inspector::InspectorArray&gt;' + sigil
</del><ins>+            return 'const RefPtr&lt;Inspector::InspectorArray&gt;&amp;&amp;'
</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">@@ -144,7 +143,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 'PassRefPtr&lt;%s&gt;' % CppGenerator.cpp_protocol_type_for_type(_type)
</del><ins>+            return 'RefPtr&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">@@ -158,9 +157,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 'PassRefPtr&lt;Inspector::InspectorObject&gt;'
</del><ins>+                return 'RefPtr&lt;Inspector::InspectorObject&gt;'
</ins><span class="cx">             elif _type.qualified_name() in ['any']:
</span><del>-                return 'PassRefPtr&lt;Inspector::InspectorValue&gt;'
</del><ins>+                return 'RefPtr&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">@@ -212,7 +211,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 'PassRefPtr&lt;%s&gt;' % CppGenerator.cpp_protocol_type_for_type(_type)
</del><ins>+            return 'RefPtr&lt;%s&gt;&amp;&amp;' % 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">@@ -297,5 +296,9 @@
</span><span class="cx">         return not isinstance(_type, (ArrayType, ObjectType))
</span><span class="cx"> 
</span><span class="cx">     @staticmethod
</span><ins>+    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
</ins><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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/codegen/cpp_generator_templates.py        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/scripts/codegen/cpp_generator_templates.py        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -76,7 +76,7 @@
</span><span class="cx"> 
</span><span class="cx"> class AlternateInspectorBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    void setBackendDispatcher(PassRefPtr&lt;InspectorBackendDispatcher&gt; dispatcher) { m_backendDispatcher = dispatcher; }
</del><ins>+    void setBackendDispatcher(RefPtr&lt;InspectorBackendDispatcher&gt;&amp;&amp; dispatcher) { m_backendDispatcher = WTF::move(dispatcher); }
</ins><span class="cx">     InspectorBackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
</span><span class="cx"> private:
</span><span class="cx">     RefPtr&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</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 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;
</del><ins>+    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;
</ins><span class="cx"> ${commandDeclarations}
</span><span class="cx"> private:
</span><del>-    Inspector${domainName}BackendDispatcher(Inspector::InspectorBackendDispatcher*, Inspector${domainName}BackendDispatcherHandler*);
</del><ins>+    Inspector${domainName}BackendDispatcher(Inspector::InspectorBackendDispatcher&amp;, 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}(PassRefPtr&lt;Inspector::InspectorBackendDispatcher&gt;, int id);
</del><ins>+        ${callbackName}(Ref&lt;Inspector::InspectorBackendDispatcher&gt;&amp;&amp;, 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, PassRefPtr&lt;InspectorObject&gt; message)
</del><ins>+    &quot;&quot;&quot;void Inspector${domainName}BackendDispatcher::dispatch(long callId, const String&amp; method, Ref&lt;InspectorObject&gt;&amp;&amp; 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, PassRefPtr&lt;InspectorObject&gt; message)
</del><ins>+&quot;&quot;&quot;void Inspector${domainName}BackendDispatcher::dispatch(long callId, const String&amp; method, Ref&lt;InspectorObject&gt;&amp;&amp; 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;PassRefPtr&lt;Inspector${domainName}BackendDispatcher&gt; Inspector${domainName}BackendDispatcher::create(InspectorBackendDispatcher* backendDispatcher, Inspector${domainName}BackendDispatcherHandler* agent)
</del><ins>+    &quot;&quot;&quot;Ref&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* backendDispatcher, Inspector${domainName}BackendDispatcherHandler* agent)
</del><ins>+Inspector${domainName}BackendDispatcher::Inspector${domainName}BackendDispatcher(InspectorBackendDispatcher&amp; 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,26 +186,25 @@
</span><span class="cx"> }&quot;&quot;&quot;)
</span><span class="cx"> 
</span><span class="cx">     BackendDispatcherImplementationPrepareCommandArguments = (
</span><del>-&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();
</del><ins>+&quot;&quot;&quot;    auto protocolErrors = Inspector::Protocol::Array&lt;String&gt;::create();
+    RefPtr&lt;InspectorObject&gt; paramsContainer;
+    message.getObject(ASCIILiteral(&quot;params&quot;), paramsContainer);
</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, protocolErrors.release());
</del><ins>+        m_backendDispatcher-&gt;reportProtocolError(&amp;callId, InspectorBackendDispatcher::InvalidParams, errorMessage, WTF::move(protocolErrors));
</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}(PassRefPtr&lt;InspectorBackendDispatcher&gt; backendDispatcher, int id) : Inspector::InspectorBackendDispatcher::CallbackBase(backendDispatcher, id) { }
</del><ins>+&quot;&quot;&quot;Inspector${domainName}BackendDispatcherHandler::${callbackName}::${callbackName}(Ref&lt;InspectorBackendDispatcher&gt;&amp;&amp; backendDispatcher, int id) : Inspector::InspectorBackendDispatcher::CallbackBase(WTF::move(backendDispatcher), id) { }
</ins><span class="cx"> 
</span><span class="cx"> void Inspector${domainName}BackendDispatcherHandler::${callbackName}::sendSuccess(${formalParameters})
</span><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</del><ins>+    Ref&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</ins><span class="cx"> ${outParameterAssignments}
</span><del>-    sendIfActive(jsonMessage, ErrorString());
</del><ins>+    sendIfActive(WTF::move(jsonMessage), ErrorString());
</ins><span class="cx"> }&quot;&quot;&quot;)
</span><span class="cx"> 
</span><span class="cx">     FrontendDispatcherDomainDispatcherDeclaration = (
</span><span class="lines">@@ -228,26 +227,23 @@
</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(PassRefPtr&lt;/*${objectType}*/Inspector::InspectorObject&gt; ptr)
</del><ins>+        Builder(Ref&lt;/*${objectType}*/Inspector::InspectorObject&gt;&amp;&amp; object)
+            : m_result(WTF::move(object))
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
</span><del>-            m_result = ptr;
</del><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>-        operator RefPtr&lt;${objectType}&gt;&amp; ()
</del><ins>+        Ref&lt;${objectType}&gt; release()
</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><del>-            return *reinterpret_cast&lt;RefPtr&lt;${objectType}&gt;*&gt;(&amp;m_result);
-        }
</del><span class="cx"> 
</span><del>-        PassRefPtr&lt;${objectType}&gt; release()
-        {
-            return RefPtr&lt;${objectType}&gt;(*this).release();
</del><ins>+            Ref&lt;Inspector::InspectorObject&gt; result = m_result.releaseNonNull();
+            return WTF::move(*reinterpret_cast&lt;Ref&lt;${objectType}&gt;*&gt;(&amp;result));
</ins><span class="cx">         }
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="lines">@@ -258,11 +254,10 @@
</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>-    }
-    typedef Inspector::Protocol::StructItemTraits ItemTraits;&quot;&quot;&quot;)
</del><ins>+    }&quot;&quot;&quot;)
</ins><span class="cx"> 
</span><span class="cx">     ProtocolObjectRuntimeCast = (
</span><del>-&quot;&quot;&quot;PassRefPtr&lt;${objectType}&gt; BindingTraits&lt;${objectType}&gt;::runtimeCast(PassRefPtr&lt;Inspector::InspectorValue&gt; value)
</del><ins>+&quot;&quot;&quot;RefPtr&lt;${objectType}&gt; BindingTraits&lt;${objectType}&gt;::runtimeCast(RefPtr&lt;Inspector::InspectorValue&gt;&amp;&amp; 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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -52,7 +52,6 @@
</span><span class="cx">         headers = [
</span><span class="cx">             '&quot;InspectorProtocolObjects.h&quot;',
</span><span class="cx">             '&lt;inspector/InspectorBackendDispatcher.h&gt;',
</span><del>-            '&lt;wtf/PassRefPtr.h&gt;',
</del><span class="cx">             '&lt;wtf/text/WTFString.h&gt;']
</span><span class="cx"> 
</span><span class="cx">         typedefs = [('String', 'ErrorString')]
</span><span class="lines">@@ -157,7 +156,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;PassRefPtr&lt;%s&gt; callback&quot; % callbackName)
</del><ins>+        in_parameters.append(&quot;Ref&lt;%s&gt;&amp;&amp; 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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py        2015-01-07 23:29:03 UTC (rev 178060)
</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.get());' % domain.commands[0].command_name)
</del><ins>+        cases.append('        %s(callId, message);' % 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.get());' % command.command_name)
</del><ins>+            cases.append('        %s(callId, message);' % 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,22 +178,29 @@
</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><ins>+            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
+
</ins><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><ins>+                'parameterExpression': parameter_expression,
</ins><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(paramsContainerPtr, ASCIILiteral(&quot;%(parameterName)s&quot;), %(successOutParam)s, protocolErrorsPtr);' % param_args)
</del><ins>+            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)
</ins><span class="cx"> 
</span><span class="cx">             if parameter.is_optional:
</span><del>-                optional_in_parameter_string = '%(parameterName)s_valueFound ? &amp;in_%(parameterName)s : nullptr' % param_args
</del><ins>+                optional_in_parameter_string = '%(parameterName)s_valueFound ? %(parameterExpression)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('in_' + parameter.parameter_name)
-                method_parameters.append('in_' + parameter.parameter_name)
</del><ins>+                alternate_dispatcher_method_parameters.append(parameter_expression)
+                method_parameters.append(parameter_expression)
</ins><span class="cx"> 
</span><span class="cx">         if command.is_async:
</span><span class="cx">             async_args = {
</span><span class="lines">@@ -204,7 +211,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')
</del><ins>+            method_parameters.append('callback.copyRef()')
</ins><span class="cx"> 
</span><span class="cx">         else:
</span><span class="cx">             for parameter in command.return_parameters:
</span><span class="lines">@@ -261,9 +268,9 @@
</span><span class="cx">         lines.append('')
</span><span class="cx"> 
</span><span class="cx">         lines.append('    ErrorString error;')
</span><del>-        lines.append('    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();')
</del><ins>+        lines.append('    Ref&lt;InspectorObject&gt; result = InspectorObject::create();')
</ins><span class="cx">         if command.is_async:
</span><del>-            lines.append('    RefPtr&lt;Inspector%(domainName)sBackendDispatcherHandler::%(callbackName)s&gt; callback = adoptRef(new Inspector%(domainName)sBackendDispatcherHandler::%(callbackName)s(m_backendDispatcher,callId));' % command_args)
</del><ins>+            lines.append('    Ref&lt;Inspector%(domainName)sBackendDispatcherHandler::%(callbackName)s&gt; callback = adoptRef(*new Inspector%(domainName)sBackendDispatcherHandler::%(callbackName)s(m_backendDispatcher.copyRef(), 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">@@ -282,6 +289,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, result.release(), error);')
</del><ins>+            lines.append('    m_backendDispatcher-&gt;sendResponse(callId, WTF::move(result), 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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_frontend_dispatcher_header.py        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_frontend_dispatcher_header.py        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -53,7 +53,6 @@
</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><del>-            '&lt;wtf/PassRefPtr.h&gt;',
</del><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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py        2015-01-07 23:29:03 UTC (rev 178060)
</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('    RefPtr&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();')
</del><ins>+        lines.append('    Ref&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('    RefPtr&lt;InspectorObject&gt; paramsObject = InspectorObject::create();')
</del><ins>+            lines.append('    Ref&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);')
</del><ins>+            lines.append('    jsonMessage-&gt;setObject(ASCIILiteral(&quot;params&quot;), paramsObject.copyRef());')
</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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_header.py        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_header.py        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -52,7 +52,6 @@
</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><del>-            '&lt;wtf/PassRefPtr.h&gt;'
</del><span class="cx">         ])
</span><span class="cx"> 
</span><span class="cx">         export_macro = self.model().framework.setting('export_macro', None)
</span><span class="lines">@@ -195,9 +194,10 @@
</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('     * RefPtr&lt;%s&gt; result = %s::create()' % (object_name, object_name))
</del><ins>+        constructor_example.append('     * Ref&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><ins>+        constructor_example.append('     *     .release()')
</ins><span class="cx"> 
</span><span class="cx">         builder_args = {
</span><span class="cx">             'objectType': object_name,
</span><span class="lines">@@ -302,6 +302,8 @@
</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><ins>+        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)
</ins><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">@@ -333,7 +335,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 PassRefPtr&lt;%s&gt; runtimeCast(PassRefPtr&lt;Inspector::InspectorValue&gt; value);' % argument[0])
</del><ins>+                lines.append('static RefPtr&lt;%s&gt; runtimeCast(RefPtr&lt;Inspector::InspectorValue&gt;&amp;&amp; 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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -122,6 +122,7 @@
</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><ins>+    ASSERT_ARG(value, value);
</ins><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">@@ -169,6 +170,7 @@
</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><ins>+        lines.append('    ASSERT_ARG(value, value);')
</ins><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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx"> 
</span><span class="cx"> from cpp_generator import CppGenerator
</span><span class="cx"> from generator import Generator
</span><del>-from models import Frameworks
</del><ins>+from models import PrimitiveType, EnumType, AliasedType, Frameworks
</ins><span class="cx"> from objc_generator import ObjCTypeCategory, ObjCGenerator, join_type_and_name
</span><span class="cx"> from objc_generator_templates import ObjCGeneratorTemplates as ObjCTemplates
</span><span class="cx"> 
</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('        RefPtr&lt;InspectorObject&gt; resultObject = InspectorObject::create();')
</del><ins>+            lines.append('        Ref&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 class="lines">@@ -133,7 +133,7 @@
</span><span class="cx">                 else:
</span><span class="cx">                     lines.append('        if (%s)' % var_name)
</span><span class="cx">                     lines.append('            resultObject-&gt;%s(ASCIILiteral(&quot;%s&quot;), %s);' % (keyed_set_method, parameter.parameter_name, export_expression))
</span><del>-            lines.append('        backendDispatcher()-&gt;sendResponse(callId, resultObject.release(), String());')
</del><ins>+            lines.append('        backendDispatcher()-&gt;sendResponse(callId, WTF::move(resultObject), String());')
</ins><span class="cx">         else:
</span><span class="cx">             lines.append('        backendDispatcher()-&gt;sendResponse(callId, InspectorObject::create(), String());')
</span><span class="cx"> 
</span><span class="lines">@@ -145,12 +145,22 @@
</span><span class="cx">         if command.call_parameters:
</span><span class="cx">             lines.append('')
</span><span class="cx"> 
</span><ins>+        def in_param_expression(param_name, parameter):
+            _type = parameter.type
+            if isinstance(_type, AliasedType):
+                _type = _type.aliased_type  # Fall through to enum or primitive.
+            if isinstance(_type, EnumType):
+                _type = _type.primitive_type  # Fall through to primitive.
+            if isinstance(_type, PrimitiveType):
+                return '*%s' % param_name if parameter.is_optional else param_name
+            return '%s.copyRef()' % param_name
+
</ins><span class="cx">         for parameter in command.call_parameters:
</span><span class="cx">             in_param_name = 'in_%s' % parameter.parameter_name
</span><span class="cx">             objc_in_param_name = 'o_%s' % in_param_name
</span><span class="cx">             objc_type = ObjCGenerator.objc_type_for_param(domain, command.command_name, parameter, False)
</span><del>-            in_param_optional_safe_name = '*%s' % in_param_name if parameter.is_optional else in_param_name
-            import_expression = ObjCGenerator.objc_protocol_import_expression_for_parameter(in_param_optional_safe_name, domain, command.command_name, parameter)
</del><ins>+            param_expression = in_param_expression(in_param_name, parameter)
+            import_expression = ObjCGenerator.objc_protocol_import_expression_for_parameter(param_expression, domain, command.command_name, parameter)
</ins><span class="cx">             if not parameter.is_optional:
</span><span class="cx">                 lines.append('    %s = %s;' % (join_type_and_name(objc_type, objc_in_param_name), import_expression))
</span><span class="cx">             else:
</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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py        2015-01-07 23:29:03 UTC (rev 178060)
</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('    RefPtr&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();')
</del><ins>+        lines.append('    Ref&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('    RefPtr&lt;InspectorObject&gt; paramsObject = InspectorObject::create();')
</del><ins>+        lines.append('    Ref&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 class="lines">@@ -147,5 +147,5 @@
</span><span class="cx">             else:
</span><span class="cx">                 lines.append('    if (%s)' % (parameter.parameter_name))
</span><span class="cx">                 lines.append('        paramsObject-&gt;%s(ASCIILiteral(&quot;%s&quot;), %s);' % (keyed_set_method, parameter.parameter_name, export_expression))
</span><del>-        lines.append('    jsonMessage-&gt;setObject(ASCIILiteral(&quot;params&quot;), paramsObject);')
</del><ins>+        lines.append('    jsonMessage-&gt;setObject(ASCIILiteral(&quot;params&quot;), paramsObject.copyRef());')
</ins><span class="cx">         return lines
</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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_types_implementation.py        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_types_implementation.py        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -58,7 +58,6 @@
</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><del>-            '&lt;wtf/PassRefPtr.h&gt;',
</del><span class="cx">         ]
</span><span class="cx"> 
</span><span class="cx">         header_args = {
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorscriptscodegenobjc_generator_templatespy"></a>
<div class="propset"><h4>Property changes: trunk/Source/JavaScriptCore/inspector/scripts/codegen/objc_generator_templates.py</h4>
<pre class="diff"><span>
</span></pre></div>
<a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<a id="trunkSourceJavaScriptCoreinspectorscriptstestsexpectedcommandswithasyncattributejsonresult"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/commands-with-async-attribute.json-result (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/commands-with-async-attribute.json-result        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/commands-with-async-attribute.json-result        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> 
</span><span class="cx"> class AlternateInspectorBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    void setBackendDispatcher(PassRefPtr&lt;InspectorBackendDispatcher&gt; dispatcher) { m_backendDispatcher = dispatcher; }
</del><ins>+    void setBackendDispatcher(RefPtr&lt;InspectorBackendDispatcher&gt;&amp;&amp; dispatcher) { m_backendDispatcher = WTF::move(dispatcher); }
</ins><span class="cx">     InspectorBackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
</span><span class="cx"> private:
</span><span class="cx">     RefPtr&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</span><span class="lines">@@ -143,7 +143,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorBackendDispatcher.h&gt;
</span><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -172,32 +171,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(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);
</del><ins>+        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);
</ins><span class="cx">     };
</span><del>-    virtual void executeSQLAsyncOptionalReturnValues(ErrorString&amp;, int in_databaseId, const String&amp; in_query, PassRefPtr&lt;ExecuteSQLAsyncOptionalReturnValuesCallback&gt; callback) = 0;
</del><ins>+    virtual void executeSQLAsyncOptionalReturnValues(ErrorString&amp;, int in_databaseId, const String&amp; in_query, Ref&lt;ExecuteSQLAsyncOptionalReturnValuesCallback&gt;&amp;&amp; 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(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);
</del><ins>+        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);
</ins><span class="cx">     };
</span><del>-    virtual void executeSQLAsync(ErrorString&amp;, int in_databaseId, const String&amp; in_query, PassRefPtr&lt;ExecuteSQLAsyncCallback&gt; callback) = 0;
</del><ins>+    virtual void executeSQLAsync(ErrorString&amp;, int in_databaseId, const String&amp; in_query, Ref&lt;ExecuteSQLAsyncCallback&gt;&amp;&amp; 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 PassRefPtr&lt;InspectorDatabaseBackendDispatcher&gt; create(Inspector::InspectorBackendDispatcher*, InspectorDatabaseBackendDispatcherHandler*);
-    virtual void dispatch(long callId, const String&amp; method, PassRefPtr&lt;Inspector::InspectorObject&gt; message) override;
</del><ins>+    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;
</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*, InspectorDatabaseBackendDispatcherHandler*);
</del><ins>+    InspectorDatabaseBackendDispatcher(Inspector::InspectorBackendDispatcher&amp;, 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">@@ -262,12 +261,12 @@
</span><span class="cx"> 
</span><span class="cx"> InspectorDatabaseBackendDispatcherHandler::~InspectorDatabaseBackendDispatcherHandler() { }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorDatabaseBackendDispatcher&gt; InspectorDatabaseBackendDispatcher::create(InspectorBackendDispatcher* backendDispatcher, InspectorDatabaseBackendDispatcherHandler* agent)
</del><ins>+Ref&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* backendDispatcher, InspectorDatabaseBackendDispatcherHandler* agent)
</del><ins>+InspectorDatabaseBackendDispatcher::InspectorDatabaseBackendDispatcher(InspectorBackendDispatcher&amp; 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">@@ -277,33 +276,32 @@
</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, PassRefPtr&lt;InspectorObject&gt; message)
</del><ins>+void InspectorDatabaseBackendDispatcher::dispatch(long callId, const String&amp; method, Ref&lt;InspectorObject&gt;&amp;&amp; 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.get());
</del><ins>+        executeSQLSyncOptionalReturnValues(callId, message);
</ins><span class="cx">     else if (method == &quot;executeSQLAsyncOptionalReturnValues&quot;)
</span><del>-        executeSQLAsyncOptionalReturnValues(callId, *message.get());
</del><ins>+        executeSQLAsyncOptionalReturnValues(callId, message);
</ins><span class="cx">     else if (method == &quot;executeSQLSync&quot;)
</span><del>-        executeSQLSync(callId, *message.get());
</del><ins>+        executeSQLSync(callId, message);
</ins><span class="cx">     else if (method == &quot;executeSQLAsync&quot;)
</span><del>-        executeSQLAsync(callId, *message.get());
</del><ins>+        executeSQLAsync(callId, message);
</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>-    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);
</del><ins>+    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());
</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, protocolErrors.release());
</del><ins>+        m_backendDispatcher-&gt;reportProtocolError(&amp;callId, InspectorBackendDispatcher::InvalidParams, errorMessage, WTF::move(protocolErrors));
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -315,7 +313,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ErrorString error;
</span><del>-    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();
</del><ins>+    Ref&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">@@ -347,14 +345,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, result.release(), error);
</del><ins>+    m_backendDispatcher-&gt;sendResponse(callId, WTF::move(result), error);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-InspectorDatabaseBackendDispatcherHandler::ExecuteSQLAsyncOptionalReturnValuesCallback::ExecuteSQLAsyncOptionalReturnValuesCallback(PassRefPtr&lt;InspectorBackendDispatcher&gt; backendDispatcher, int id) : Inspector::InspectorBackendDispatcher::CallbackBase(backendDispatcher, id) { }
</del><ins>+InspectorDatabaseBackendDispatcherHandler::ExecuteSQLAsyncOptionalReturnValuesCallback::ExecuteSQLAsyncOptionalReturnValuesCallback(Ref&lt;InspectorBackendDispatcher&gt;&amp;&amp; backendDispatcher, int id) : Inspector::InspectorBackendDispatcher::CallbackBase(WTF::move(backendDispatcher), id) { }
</ins><span class="cx"> 
</span><del>-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)
</del><ins>+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)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</del><ins>+    Ref&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">@@ -373,20 +371,19 @@
</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(jsonMessage, ErrorString());
</del><ins>+    sendIfActive(WTF::move(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>-    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);
</del><ins>+    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());
</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, protocolErrors.release());
</del><ins>+        m_backendDispatcher-&gt;reportProtocolError(&amp;callId, InspectorBackendDispatcher::InvalidParams, errorMessage, WTF::move(protocolErrors));
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -398,9 +395,9 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ErrorString error;
</span><del>-    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);
</del><ins>+    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());
</ins><span class="cx"> 
</span><span class="cx">     if (error.length()) {
</span><span class="cx">         callback-&gt;disable();
</span><span class="lines">@@ -411,15 +408,14 @@
</span><span class="cx"> 
</span><span class="cx"> void InspectorDatabaseBackendDispatcher::executeSQLSync(long callId, const InspectorObject&amp; message)
</span><span class="cx"> {
</span><del>-    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);
</del><ins>+    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());
</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, protocolErrors.release());
</del><ins>+        m_backendDispatcher-&gt;reportProtocolError(&amp;callId, InspectorBackendDispatcher::InvalidParams, errorMessage, WTF::move(protocolErrors));
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -431,7 +427,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ErrorString error;
</span><del>-    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();
</del><ins>+    Ref&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">@@ -454,14 +450,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, result.release(), error);
</del><ins>+    m_backendDispatcher-&gt;sendResponse(callId, WTF::move(result), error);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-InspectorDatabaseBackendDispatcherHandler::ExecuteSQLAsyncCallback::ExecuteSQLAsyncCallback(PassRefPtr&lt;InspectorBackendDispatcher&gt; backendDispatcher, int id) : Inspector::InspectorBackendDispatcher::CallbackBase(backendDispatcher, id) { }
</del><ins>+InspectorDatabaseBackendDispatcherHandler::ExecuteSQLAsyncCallback::ExecuteSQLAsyncCallback(Ref&lt;InspectorBackendDispatcher&gt;&amp;&amp; backendDispatcher, int id) : Inspector::InspectorBackendDispatcher::CallbackBase(WTF::move(backendDispatcher), id) { }
</ins><span class="cx"> 
</span><del>-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)
</del><ins>+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)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</del><ins>+    Ref&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">@@ -471,20 +467,19 @@
</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(jsonMessage, ErrorString());
</del><ins>+    sendIfActive(WTF::move(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>-    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);
</del><ins>+    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());
</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, protocolErrors.release());
</del><ins>+        m_backendDispatcher-&gt;reportProtocolError(&amp;callId, InspectorBackendDispatcher::InvalidParams, errorMessage, WTF::move(protocolErrors));
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -496,9 +491,9 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ErrorString error;
</span><del>-    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);
</del><ins>+    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());
</ins><span class="cx"> 
</span><span class="cx">     if (error.length()) {
</span><span class="cx">         callback-&gt;disable();
</span><span class="lines">@@ -552,7 +547,6 @@
</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><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -650,7 +644,6 @@
</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><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><span class="lines">@@ -707,10 +700,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(PassRefPtr&lt;/*Error*/Inspector::InspectorObject&gt; ptr)
</del><ins>+        Builder(Ref&lt;/*Error*/Inspector::InspectorObject&gt;&amp;&amp; object)
+            : m_result(WTF::move(object))
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
</span><del>-            m_result = ptr;
</del><span class="cx">         }
</span><span class="cx">         friend class Error;
</span><span class="cx">     public:
</span><span class="lines">@@ -729,30 +722,27 @@
</span><span class="cx">             return castState&lt;CodeSet&gt;();
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        operator RefPtr&lt;Error&gt;&amp; ()
</del><ins>+        Ref&lt;Error&gt; release()
</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><del>-            return *reinterpret_cast&lt;RefPtr&lt;Error&gt;*&gt;(&amp;m_result);
-        }
</del><span class="cx"> 
</span><del>-        PassRefPtr&lt;Error&gt; release()
-        {
-            return RefPtr&lt;Error&gt;(*this).release();
</del><ins>+            Ref&lt;Inspector::InspectorObject&gt; result = m_result.releaseNonNull();
+            return WTF::move(*reinterpret_cast&lt;Ref&lt;Error&gt;*&gt;(&amp;result));
</ins><span class="cx">         }
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     /*
</span><span class="cx">      * Synthetic constructor:
</span><del>-     * RefPtr&lt;Error&gt; result = Error::create()
</del><ins>+     * Ref&lt;Error&gt; result = Error::create()
</ins><span class="cx">      *     .setMessage(...)
</span><del>-     *     .setCode(...);
</del><ins>+     *     .setCode(...)
+     *     .release();
</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><del>-    typedef Inspector::Protocol::StructItemTraits ItemTraits;
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // Database
</span><span class="lines">@@ -1065,7 +1055,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>-        RefPtr&lt;InspectorObject&gt; resultObject = InspectorObject::create();
</del><ins>+        Ref&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">@@ -1089,7 +1079,7 @@
</span><span class="cx">             resultObject-&gt;setString(ASCIILiteral(&quot;screenColor&quot;), toProtocolString(*screenColor));
</span><span class="cx">         if (printColor)
</span><span class="cx">             resultObject-&gt;setString(ASCIILiteral(&quot;printColor&quot;), toProtocolString(*printColor));
</span><del>-        backendDispatcher()-&gt;sendResponse(callId, resultObject.release(), String());
</del><ins>+        backendDispatcher()-&gt;sendResponse(callId, WTF::move(resultObject), String());
</ins><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     int o_in_databaseId = in_databaseId;
</span><span class="lines">@@ -1105,7 +1095,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>-        RefPtr&lt;InspectorObject&gt; resultObject = InspectorObject::create();
</del><ins>+        Ref&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">@@ -1129,7 +1119,7 @@
</span><span class="cx">             resultObject-&gt;setString(ASCIILiteral(&quot;screenColor&quot;), toProtocolString(*screenColor));
</span><span class="cx">         if (printColor)
</span><span class="cx">             resultObject-&gt;setString(ASCIILiteral(&quot;printColor&quot;), toProtocolString(*printColor));
</span><del>-        backendDispatcher()-&gt;sendResponse(callId, resultObject.release(), String());
</del><ins>+        backendDispatcher()-&gt;sendResponse(callId, WTF::move(resultObject), String());
</ins><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     int o_in_databaseId = in_databaseId;
</span><span class="lines">@@ -1145,7 +1135,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>-        RefPtr&lt;InspectorObject&gt; resultObject = InspectorObject::create();
</del><ins>+        Ref&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">@@ -1160,7 +1150,7 @@
</span><span class="cx">         resultObject-&gt;setObject(ASCIILiteral(&quot;sqlError&quot;), [sqlError toInspectorObject]);
</span><span class="cx">         resultObject-&gt;setString(ASCIILiteral(&quot;screenColor&quot;), toProtocolString(screenColor));
</span><span class="cx">         resultObject-&gt;setString(ASCIILiteral(&quot;printColor&quot;), toProtocolString(printColor));
</span><del>-        backendDispatcher()-&gt;sendResponse(callId, resultObject.release(), String());
</del><ins>+        backendDispatcher()-&gt;sendResponse(callId, WTF::move(resultObject), String());
</ins><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     int o_in_databaseId = in_databaseId;
</span><span class="lines">@@ -1176,7 +1166,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>-        RefPtr&lt;InspectorObject&gt; resultObject = InspectorObject::create();
</del><ins>+        Ref&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">@@ -1191,7 +1181,7 @@
</span><span class="cx">         resultObject-&gt;setObject(ASCIILiteral(&quot;sqlError&quot;), [sqlError toInspectorObject]);
</span><span class="cx">         resultObject-&gt;setString(ASCIILiteral(&quot;screenColor&quot;), toProtocolString(screenColor));
</span><span class="cx">         resultObject-&gt;setString(ASCIILiteral(&quot;printColor&quot;), toProtocolString(printColor));
</span><del>-        backendDispatcher()-&gt;sendResponse(callId, resultObject.release(), String());
</del><ins>+        backendDispatcher()-&gt;sendResponse(callId, WTF::move(resultObject), String());
</ins><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     int o_in_databaseId = in_databaseId;
</span><span class="lines">@@ -1565,7 +1555,6 @@
</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><del>-#import &lt;wtf/PassRefPtr.h&gt;
</del><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 (178059 => 178060)</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 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> 
</span><span class="cx"> class AlternateInspectorBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    void setBackendDispatcher(PassRefPtr&lt;InspectorBackendDispatcher&gt; dispatcher) { m_backendDispatcher = dispatcher; }
</del><ins>+    void setBackendDispatcher(RefPtr&lt;InspectorBackendDispatcher&gt;&amp;&amp; dispatcher) { m_backendDispatcher = WTF::move(dispatcher); }
</ins><span class="cx">     InspectorBackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
</span><span class="cx"> private:
</span><span class="cx">     RefPtr&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</span><span class="lines">@@ -51,8 +51,8 @@
</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;* 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;
</del><ins>+    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;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace Inspector
</span><span class="lines">@@ -138,7 +138,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorBackendDispatcher.h&gt;
</span><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -164,21 +163,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;* 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::PrimaryCo
 lors* 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;
</del><ins>+    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::Pro
 tocol::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;
</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 PassRefPtr&lt;InspectorDatabaseBackendDispatcher&gt; create(Inspector::InspectorBackendDispatcher*, InspectorDatabaseBackendDispatcherHandler*);
-    virtual void dispatch(long callId, const String&amp; method, PassRefPtr&lt;Inspector::InspectorObject&gt; message) override;
</del><ins>+    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;
</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*, InspectorDatabaseBackendDispatcherHandler*);
</del><ins>+    InspectorDatabaseBackendDispatcher(Inspector::InspectorBackendDispatcher&amp;, 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">@@ -243,12 +242,12 @@
</span><span class="cx"> 
</span><span class="cx"> InspectorDatabaseBackendDispatcherHandler::~InspectorDatabaseBackendDispatcherHandler() { }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorDatabaseBackendDispatcher&gt; InspectorDatabaseBackendDispatcher::create(InspectorBackendDispatcher* backendDispatcher, InspectorDatabaseBackendDispatcherHandler* agent)
</del><ins>+Ref&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* backendDispatcher, InspectorDatabaseBackendDispatcherHandler* agent)
</del><ins>+InspectorDatabaseBackendDispatcher::InspectorDatabaseBackendDispatcher(InspectorBackendDispatcher&amp; 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">@@ -258,57 +257,56 @@
</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, PassRefPtr&lt;InspectorObject&gt; message)
</del><ins>+void InspectorDatabaseBackendDispatcher::dispatch(long callId, const String&amp; method, Ref&lt;InspectorObject&gt;&amp;&amp; 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.get());
</del><ins>+        executeAllOptionalParameters(callId, message);
</ins><span class="cx">     else if (method == &quot;executeNoOptionalParameters&quot;)
</span><del>-        executeNoOptionalParameters(callId, *message.get());
</del><ins>+        executeNoOptionalParameters(callId, message);
</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>-    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();
</del><ins>+    auto protocolErrors = Inspector::Protocol::Array&lt;String&gt;::create();
+    RefPtr&lt;InspectorObject&gt; paramsContainer;
+    message.getObject(ASCIILiteral(&quot;params&quot;), paramsContainer);
</ins><span class="cx">     bool columnNames_valueFound = false;
</span><del>-    RefPtr&lt;Inspector::InspectorArray&gt; in_columnNames = InspectorBackendDispatcher::getArray(paramsContainerPtr, ASCIILiteral(&quot;columnNames&quot;), &amp;columnNames_valueFound, protocolErrorsPtr);
</del><ins>+    RefPtr&lt;Inspector::InspectorArray&gt; in_columnNames = InspectorBackendDispatcher::getArray(paramsContainer.get(), ASCIILiteral(&quot;columnNames&quot;), &amp;columnNames_valueFound, protocolErrors.get());
</ins><span class="cx">     bool notes_valueFound = false;
</span><del>-    String in_notes = InspectorBackendDispatcher::getString(paramsContainerPtr, ASCIILiteral(&quot;notes&quot;), &amp;notes_valueFound, protocolErrorsPtr);
</del><ins>+    String in_notes = InspectorBackendDispatcher::getString(paramsContainer.get(), ASCIILiteral(&quot;notes&quot;), &amp;notes_valueFound, protocolErrors.get());
</ins><span class="cx">     bool timestamp_valueFound = false;
</span><del>-    Inspector::Protocol::OptOutput&lt;double&gt; in_timestamp = InspectorBackendDispatcher::getDouble(paramsContainerPtr, ASCIILiteral(&quot;timestamp&quot;), &amp;timestamp_valueFound, protocolErrorsPtr);
</del><ins>+    Inspector::Protocol::OptOutput&lt;double&gt; in_timestamp = InspectorBackendDispatcher::getDouble(paramsContainer.get(), ASCIILiteral(&quot;timestamp&quot;), &amp;timestamp_valueFound, protocolErrors.get());
</ins><span class="cx">     bool values_valueFound = false;
</span><del>-    RefPtr&lt;Inspector::InspectorObject&gt; in_values = InspectorBackendDispatcher::getObject(paramsContainerPtr, ASCIILiteral(&quot;values&quot;), &amp;values_valueFound, protocolErrorsPtr);
</del><ins>+    RefPtr&lt;Inspector::InspectorObject&gt; in_values = InspectorBackendDispatcher::getObject(paramsContainer.get(), ASCIILiteral(&quot;values&quot;), &amp;values_valueFound, protocolErrors.get());
</ins><span class="cx">     bool payload_valueFound = false;
</span><del>-    RefPtr&lt;Inspector::InspectorValue&gt; in_payload = InspectorBackendDispatcher::getValue(paramsContainerPtr, ASCIILiteral(&quot;payload&quot;), &amp;payload_valueFound, protocolErrorsPtr);
</del><ins>+    RefPtr&lt;Inspector::InspectorValue&gt; in_payload = InspectorBackendDispatcher::getValue(paramsContainer.get(), ASCIILiteral(&quot;payload&quot;), &amp;payload_valueFound, protocolErrors.get());
</ins><span class="cx">     bool databaseId_valueFound = false;
</span><del>-    int in_databaseId = InspectorBackendDispatcher::getInteger(paramsContainerPtr, ASCIILiteral(&quot;databaseId&quot;), &amp;databaseId_valueFound, protocolErrorsPtr);
</del><ins>+    int in_databaseId = InspectorBackendDispatcher::getInteger(paramsContainer.get(), ASCIILiteral(&quot;databaseId&quot;), &amp;databaseId_valueFound, protocolErrors.get());
</ins><span class="cx">     bool sqlError_valueFound = false;
</span><del>-    RefPtr&lt;Inspector::InspectorObject&gt; in_sqlError = InspectorBackendDispatcher::getObject(paramsContainerPtr, ASCIILiteral(&quot;sqlError&quot;), &amp;sqlError_valueFound, protocolErrorsPtr);
</del><ins>+    RefPtr&lt;Inspector::InspectorObject&gt; in_sqlError = InspectorBackendDispatcher::getObject(paramsContainer.get(), ASCIILiteral(&quot;sqlError&quot;), &amp;sqlError_valueFound, protocolErrors.get());
</ins><span class="cx">     bool screenColor_valueFound = false;
</span><del>-    String in_screenColor = InspectorBackendDispatcher::getString(paramsContainerPtr, ASCIILiteral(&quot;screenColor&quot;), &amp;screenColor_valueFound, protocolErrorsPtr);
</del><ins>+    String in_screenColor = InspectorBackendDispatcher::getString(paramsContainer.get(), ASCIILiteral(&quot;screenColor&quot;), &amp;screenColor_valueFound, protocolErrors.get());
</ins><span class="cx">     bool printColor_valueFound = false;
</span><del>-    String in_printColor = InspectorBackendDispatcher::getString(paramsContainerPtr, ASCIILiteral(&quot;printColor&quot;), &amp;printColor_valueFound, protocolErrorsPtr);
</del><ins>+    String in_printColor = InspectorBackendDispatcher::getString(paramsContainer.get(), ASCIILiteral(&quot;printColor&quot;), &amp;printColor_valueFound, protocolErrors.get());
</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, protocolErrors.release());
</del><ins>+        m_backendDispatcher-&gt;reportProtocolError(&amp;callId, InspectorBackendDispatcher::InvalidParams, errorMessage, WTF::move(protocolErrors));
</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 ? &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);
</del><ins>+        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);
</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>-    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();
</del><ins>+    Ref&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">@@ -318,7 +316,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 ? &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);
</del><ins>+    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);
</ins><span class="cx"> 
</span><span class="cx">     if (!error.length()) {
</span><span class="cx">         if (out_columnNames)
</span><span class="lines">@@ -340,39 +338,38 @@
</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, result.release(), error);
</del><ins>+    m_backendDispatcher-&gt;sendResponse(callId, WTF::move(result), 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>-    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);
</del><ins>+    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());
</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, protocolErrors.release());
</del><ins>+        m_backendDispatcher-&gt;reportProtocolError(&amp;callId, InspectorBackendDispatcher::InvalidParams, errorMessage, WTF::move(protocolErrors));
</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, in_notes, in_timestamp, in_values, in_payload, in_databaseId, in_sqlError, in_screenColor, in_printColor);
</del><ins>+        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);
</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>-    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();
</del><ins>+    Ref&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">@@ -382,7 +379,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, 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);
</del><ins>+    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);
</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">@@ -395,7 +392,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, result.release(), error);
</del><ins>+    m_backendDispatcher-&gt;sendResponse(callId, WTF::move(result), error);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace Inspector
</span><span class="lines">@@ -443,7 +440,6 @@
</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><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -541,7 +537,6 @@
</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><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><span class="lines">@@ -598,10 +593,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(PassRefPtr&lt;/*Error*/Inspector::InspectorObject&gt; ptr)
</del><ins>+        Builder(Ref&lt;/*Error*/Inspector::InspectorObject&gt;&amp;&amp; object)
+            : m_result(WTF::move(object))
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
</span><del>-            m_result = ptr;
</del><span class="cx">         }
</span><span class="cx">         friend class Error;
</span><span class="cx">     public:
</span><span class="lines">@@ -620,30 +615,27 @@
</span><span class="cx">             return castState&lt;CodeSet&gt;();
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        operator RefPtr&lt;Error&gt;&amp; ()
</del><ins>+        Ref&lt;Error&gt; release()
</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><del>-            return *reinterpret_cast&lt;RefPtr&lt;Error&gt;*&gt;(&amp;m_result);
-        }
</del><span class="cx"> 
</span><del>-        PassRefPtr&lt;Error&gt; release()
-        {
-            return RefPtr&lt;Error&gt;(*this).release();
</del><ins>+            Ref&lt;Inspector::InspectorObject&gt; result = m_result.releaseNonNull();
+            return WTF::move(*reinterpret_cast&lt;Ref&lt;Error&gt;*&gt;(&amp;result));
</ins><span class="cx">         }
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     /*
</span><span class="cx">      * Synthetic constructor:
</span><del>-     * RefPtr&lt;Error&gt; result = Error::create()
</del><ins>+     * Ref&lt;Error&gt; result = Error::create()
</ins><span class="cx">      *     .setMessage(...)
</span><del>-     *     .setCode(...);
</del><ins>+     *     .setCode(...)
+     *     .release();
</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><del>-    typedef Inspector::Protocol::StructItemTraits ItemTraits;
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // Database
</span><span class="lines">@@ -767,8 +759,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;* 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;
</del><ins>+    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;
</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">@@ -947,14 +939,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;* 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)
</del><ins>+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)
</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>-        RefPtr&lt;InspectorObject&gt; resultObject = InspectorObject::create();
</del><ins>+        Ref&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">@@ -978,12 +970,12 @@
</span><span class="cx">             resultObject-&gt;setString(ASCIILiteral(&quot;screenColor&quot;), toProtocolString(*screenColor));
</span><span class="cx">         if (printColor)
</span><span class="cx">             resultObject-&gt;setString(ASCIILiteral(&quot;printColor&quot;), toProtocolString(*printColor));
</span><del>-        backendDispatcher()-&gt;sendResponse(callId, resultObject.release(), String());
</del><ins>+        backendDispatcher()-&gt;sendResponse(callId, WTF::move(resultObject), String());
</ins><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     NSArray/*&lt;NSString&gt;*/ *o_in_columnNames;
</span><span class="cx">     if (in_columnNames)
</span><del>-        o_in_columnNames = objcStringArray(*in_columnNames);
</del><ins>+        o_in_columnNames = objcStringArray(in_columnNames.copyRef());
</ins><span class="cx">     NSString *o_in_notes;
</span><span class="cx">     if (in_notes)
</span><span class="cx">         o_in_notes = *in_notes;
</span><span class="lines">@@ -1001,7 +993,7 @@
</span><span class="cx">         o_in_databaseId = *in_databaseId;
</span><span class="cx">     RWIProtocolDatabaseError *o_in_sqlError;
</span><span class="cx">     if (in_sqlError)
</span><del>-        o_in_sqlError = [[[RWIProtocolDatabaseError alloc] initWithInspectorObject:*in_sqlError] autorelease];
</del><ins>+        o_in_sqlError = [[[RWIProtocolDatabaseError alloc] initWithInspectorObject:in_sqlError.copyRef()] autorelease];
</ins><span class="cx">     RWIProtocolDatabasePrimaryColors o_in_screenColor;
</span><span class="cx">     if (in_screenColor)
</span><span class="cx">         o_in_screenColor = fromProtocolString&lt;RWIProtocolDatabasePrimaryColors&gt;(*in_screenColor);
</span><span class="lines">@@ -1012,14 +1004,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; 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)
</del><ins>+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)
</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>-        RefPtr&lt;InspectorObject&gt; resultObject = InspectorObject::create();
</del><ins>+        Ref&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">@@ -1034,16 +1026,16 @@
</span><span class="cx">         resultObject-&gt;setObject(ASCIILiteral(&quot;sqlError&quot;), [sqlError toInspectorObject]);
</span><span class="cx">         resultObject-&gt;setString(ASCIILiteral(&quot;screenColor&quot;), toProtocolString(screenColor));
</span><span class="cx">         resultObject-&gt;setString(ASCIILiteral(&quot;printColor&quot;), toProtocolString(printColor));
</span><del>-        backendDispatcher()-&gt;sendResponse(callId, resultObject.release(), String());
</del><ins>+        backendDispatcher()-&gt;sendResponse(callId, WTF::move(resultObject), String());
</ins><span class="cx">     };
</span><span class="cx"> 
</span><del>-    NSArray/*&lt;NSString&gt;*/ *o_in_columnNames = objcStringArray(in_columnNames);
</del><ins>+    NSArray/*&lt;NSString&gt;*/ *o_in_columnNames = objcStringArray(in_columnNames.copyRef());
</ins><span class="cx">     NSString *o_in_notes = in_notes;
</span><span class="cx">     double o_in_timestamp = in_timestamp;
</span><span class="cx">     RWIProtocolJSONObject *o_in_values = [[[RWIProtocolJSONObject alloc] initWithInspectorObject:in_values] autorelease];
</span><span class="cx">     RWIProtocolJSONObject *o_in_payload = [[[RWIProtocolJSONObject alloc] initWithInspectorObject:in_payload] autorelease];
</span><span class="cx">     int o_in_databaseId = in_databaseId;
</span><del>-    RWIProtocolDatabaseError *o_in_sqlError = [[[RWIProtocolDatabaseError alloc] initWithInspectorObject:in_sqlError] autorelease];
</del><ins>+    RWIProtocolDatabaseError *o_in_sqlError = [[[RWIProtocolDatabaseError alloc] initWithInspectorObject:in_sqlError.copyRef()] autorelease];
</ins><span class="cx">     RWIProtocolDatabasePrimaryColors o_in_screenColor = fromProtocolString&lt;RWIProtocolDatabasePrimaryColors&gt;(in_screenColor);
</span><span class="cx">     RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor o_in_printColor = fromProtocolString&lt;RWIProtocolDatabaseExecuteNoOptionalParametersPrintColor&gt;(in_printColor);
</span><span class="cx"> 
</span><span class="lines">@@ -1413,7 +1405,6 @@
</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><del>-#import &lt;wtf/PassRefPtr.h&gt;
</del><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 (178059 => 178060)</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 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> 
</span><span class="cx"> class AlternateInspectorBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    void setBackendDispatcher(PassRefPtr&lt;InspectorBackendDispatcher&gt; dispatcher) { m_backendDispatcher = dispatcher; }
</del><ins>+    void setBackendDispatcher(RefPtr&lt;InspectorBackendDispatcher&gt;&amp;&amp; dispatcher) { m_backendDispatcher = WTF::move(dispatcher); }
</ins><span class="cx">     InspectorBackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
</span><span class="cx"> private:
</span><span class="cx">     RefPtr&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</span><span class="lines">@@ -156,7 +156,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorBackendDispatcher.h&gt;
</span><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -190,12 +189,12 @@
</span><span class="cx"> 
</span><span class="cx"> class InspectorNetwork1BackendDispatcher final : public Inspector::InspectorSupplementalBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    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;
</del><ins>+    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;
</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*, InspectorNetwork1BackendDispatcherHandler*);
</del><ins>+    InspectorNetwork1BackendDispatcher(Inspector::InspectorBackendDispatcher&amp;, 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">@@ -207,8 +206,8 @@
</span><span class="cx"> 
</span><span class="cx"> class InspectorNetwork3BackendDispatcher final : public Inspector::InspectorSupplementalBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    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;
</del><ins>+    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;
</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">@@ -218,7 +217,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*, InspectorNetwork3BackendDispatcherHandler*);
</del><ins>+    InspectorNetwork3BackendDispatcher(Inspector::InspectorBackendDispatcher&amp;, 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">@@ -284,12 +283,12 @@
</span><span class="cx"> InspectorNetwork1BackendDispatcherHandler::~InspectorNetwork1BackendDispatcherHandler() { }
</span><span class="cx"> InspectorNetwork3BackendDispatcherHandler::~InspectorNetwork3BackendDispatcherHandler() { }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorNetwork1BackendDispatcher&gt; InspectorNetwork1BackendDispatcher::create(InspectorBackendDispatcher* backendDispatcher, InspectorNetwork1BackendDispatcherHandler* agent)
</del><ins>+Ref&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* backendDispatcher, InspectorNetwork1BackendDispatcherHandler* agent)
</del><ins>+InspectorNetwork1BackendDispatcher::InspectorNetwork1BackendDispatcher(InspectorBackendDispatcher&amp; 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">@@ -299,12 +298,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, PassRefPtr&lt;InspectorObject&gt; message)
</del><ins>+void InspectorNetwork1BackendDispatcher::dispatch(long callId, const String&amp; method, Ref&lt;InspectorObject&gt;&amp;&amp; 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.get());
</del><ins>+        loadResource1(callId, message);
</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">@@ -319,18 +318,18 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ErrorString error;
</span><del>-    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();
</del><ins>+    Ref&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, result.release(), error);
</del><ins>+    m_backendDispatcher-&gt;sendResponse(callId, WTF::move(result), error);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorNetwork3BackendDispatcher&gt; InspectorNetwork3BackendDispatcher::create(InspectorBackendDispatcher* backendDispatcher, InspectorNetwork3BackendDispatcherHandler* agent)
</del><ins>+Ref&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* backendDispatcher, InspectorNetwork3BackendDispatcherHandler* agent)
</del><ins>+InspectorNetwork3BackendDispatcher::InspectorNetwork3BackendDispatcher(InspectorBackendDispatcher&amp; 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">@@ -340,7 +339,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, PassRefPtr&lt;InspectorObject&gt; message)
</del><ins>+void InspectorNetwork3BackendDispatcher::dispatch(long callId, const String&amp; method, Ref&lt;InspectorObject&gt;&amp;&amp; message)
</ins><span class="cx"> {
</span><span class="cx">     Ref&lt;InspectorNetwork3BackendDispatcher&gt; protect(*this);
</span><span class="cx"> 
</span><span class="lines">@@ -371,7 +370,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">@@ -384,10 +383,10 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ErrorString error;
</span><del>-    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();
</del><ins>+    Ref&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, result.release(), error);
</del><ins>+    m_backendDispatcher-&gt;sendResponse(callId, WTF::move(result), 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">@@ -400,10 +399,10 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ErrorString error;
</span><del>-    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();
</del><ins>+    Ref&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, result.release(), error);
</del><ins>+    m_backendDispatcher-&gt;sendResponse(callId, WTF::move(result), 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">@@ -416,10 +415,10 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ErrorString error;
</span><del>-    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();
</del><ins>+    Ref&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, result.release(), error);
</del><ins>+    m_backendDispatcher-&gt;sendResponse(callId, WTF::move(result), 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">@@ -432,10 +431,10 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ErrorString error;
</span><del>-    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();
</del><ins>+    Ref&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, result.release(), error);
</del><ins>+    m_backendDispatcher-&gt;sendResponse(callId, WTF::move(result), 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">@@ -448,10 +447,10 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ErrorString error;
</span><del>-    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();
</del><ins>+    Ref&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, result.release(), error);
</del><ins>+    m_backendDispatcher-&gt;sendResponse(callId, WTF::move(result), 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">@@ -464,10 +463,10 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ErrorString error;
</span><del>-    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();
</del><ins>+    Ref&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, result.release(), error);
</del><ins>+    m_backendDispatcher-&gt;sendResponse(callId, WTF::move(result), 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">@@ -480,10 +479,10 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ErrorString error;
</span><del>-    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();
</del><ins>+    Ref&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, result.release(), error);
</del><ins>+    m_backendDispatcher-&gt;sendResponse(callId, WTF::move(result), error);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace Inspector
</span><span class="lines">@@ -531,7 +530,6 @@
</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><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -629,7 +627,6 @@
</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><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><span class="lines">@@ -1292,7 +1289,6 @@
</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><del>-#import &lt;wtf/PassRefPtr.h&gt;
</del><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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/enum-values.json-result        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/enum-values.json-result        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> 
</span><span class="cx"> class AlternateInspectorBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    void setBackendDispatcher(PassRefPtr&lt;InspectorBackendDispatcher&gt; dispatcher) { m_backendDispatcher = dispatcher; }
</del><ins>+    void setBackendDispatcher(RefPtr&lt;InspectorBackendDispatcher&gt;&amp;&amp; dispatcher) { m_backendDispatcher = WTF::move(dispatcher); }
</ins><span class="cx">     InspectorBackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
</span><span class="cx"> private:
</span><span class="cx">     RefPtr&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</span><span class="lines">@@ -144,7 +144,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorBackendDispatcher.h&gt;
</span><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><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,12 +170,12 @@
</span><span class="cx"> 
</span><span class="cx"> class InspectorCommandDomainBackendDispatcher final : public Inspector::InspectorSupplementalBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    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;
</del><ins>+    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;
</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*, InspectorCommandDomainBackendDispatcherHandler*);
</del><ins>+    InspectorCommandDomainBackendDispatcher(Inspector::InspectorBackendDispatcher&amp;, 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">@@ -241,12 +240,12 @@
</span><span class="cx"> 
</span><span class="cx"> InspectorCommandDomainBackendDispatcherHandler::~InspectorCommandDomainBackendDispatcherHandler() { }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorCommandDomainBackendDispatcher&gt; InspectorCommandDomainBackendDispatcher::create(InspectorBackendDispatcher* backendDispatcher, InspectorCommandDomainBackendDispatcherHandler* agent)
</del><ins>+Ref&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* backendDispatcher, InspectorCommandDomainBackendDispatcherHandler* agent)
</del><ins>+InspectorCommandDomainBackendDispatcher::InspectorCommandDomainBackendDispatcher(InspectorBackendDispatcher&amp; 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">@@ -256,12 +255,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, PassRefPtr&lt;InspectorObject&gt; message)
</del><ins>+void InspectorCommandDomainBackendDispatcher::dispatch(long callId, const String&amp; method, Ref&lt;InspectorObject&gt;&amp;&amp; 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.get());
</del><ins>+        commandWithEnumReturnValue(callId, message);
</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">@@ -276,14 +275,14 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ErrorString error;
</span><del>-    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();
</del><ins>+    Ref&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, result.release(), error);
</del><ins>+    m_backendDispatcher-&gt;sendResponse(callId, WTF::move(result), error);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace Inspector
</span><span class="lines">@@ -331,7 +330,6 @@
</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><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -401,11 +399,11 @@
</span><span class="cx"> 
</span><span class="cx"> void InspectorEventDomainFrontendDispatcher::eventWithEnumParameter(Parameter parameter)
</span><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</del><ins>+    Ref&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</ins><span class="cx">     jsonMessage-&gt;setString(ASCIILiteral(&quot;method&quot;), ASCIILiteral(&quot;EventDomain.eventWithEnumParameter&quot;));
</span><del>-    RefPtr&lt;InspectorObject&gt; paramsObject = InspectorObject::create();
</del><ins>+    Ref&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);
</del><ins>+    jsonMessage-&gt;setObject(ASCIILiteral(&quot;params&quot;), paramsObject.copyRef());
</ins><span class="cx"> 
</span><span class="cx">     m_inspectorFrontendChannel-&gt;sendMessageToFrontend(jsonMessage-&gt;toJSONString());
</span><span class="cx"> }
</span><span class="lines">@@ -454,7 +452,6 @@
</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><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><span class="lines">@@ -813,9 +810,9 @@
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     id successCallback = ^(RWIProtocolCommandDomainCommandWithEnumReturnValueReturnValue returnValue) {
</span><del>-        RefPtr&lt;InspectorObject&gt; resultObject = InspectorObject::create();
</del><ins>+        Ref&lt;InspectorObject&gt; resultObject = InspectorObject::create();
</ins><span class="cx">         resultObject-&gt;setString(ASCIILiteral(&quot;returnValue&quot;), toProtocolString(returnValue));
</span><del>-        backendDispatcher()-&gt;sendResponse(callId, resultObject.release(), String());
</del><ins>+        backendDispatcher()-&gt;sendResponse(callId, WTF::move(resultObject), String());
</ins><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     [m_delegate commandWithEnumReturnValueWithErrorCallback:errorCallback successCallback:successCallback];
</span><span class="lines">@@ -1021,11 +1018,11 @@
</span><span class="cx">     if (!frontendChannel)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    RefPtr&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</del><ins>+    Ref&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</ins><span class="cx">     jsonMessage-&gt;setString(ASCIILiteral(&quot;method&quot;), ASCIILiteral(&quot;EventDomain.eventWithEnumParameter&quot;));
</span><del>-    RefPtr&lt;InspectorObject&gt; paramsObject = InspectorObject::create();
</del><ins>+    Ref&lt;InspectorObject&gt; paramsObject = InspectorObject::create();
</ins><span class="cx">     paramsObject-&gt;setString(ASCIILiteral(&quot;parameter&quot;), toProtocolString(parameter));
</span><del>-    jsonMessage-&gt;setObject(ASCIILiteral(&quot;params&quot;), paramsObject);
</del><ins>+    jsonMessage-&gt;setObject(ASCIILiteral(&quot;params&quot;), paramsObject.copyRef());
</ins><span class="cx">     frontendChannel-&gt;sendMessageToFrontend(jsonMessage-&gt;toJSONString());
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1145,7 +1142,6 @@
</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><del>-#import &lt;wtf/PassRefPtr.h&gt;
</del><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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/events-with-optional-parameters.json-result        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/events-with-optional-parameters.json-result        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> 
</span><span class="cx"> class AlternateInspectorBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    void setBackendDispatcher(PassRefPtr&lt;InspectorBackendDispatcher&gt; dispatcher) { m_backendDispatcher = dispatcher; }
</del><ins>+    void setBackendDispatcher(RefPtr&lt;InspectorBackendDispatcher&gt;&amp;&amp; dispatcher) { m_backendDispatcher = WTF::move(dispatcher); }
</ins><span class="cx">     InspectorBackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
</span><span class="cx"> private:
</span><span class="cx">     RefPtr&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</span><span class="lines">@@ -133,7 +133,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorBackendDispatcher.h&gt;
</span><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -242,7 +241,6 @@
</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><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -252,8 +250,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(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);
</del><ins>+    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);
</ins><span class="cx"> private:
</span><span class="cx">     InspectorFrontendChannel* m_inspectorFrontendChannel;
</span><span class="cx"> };
</span><span class="lines">@@ -305,11 +303,11 @@
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><del>-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)
</del><ins>+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)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</del><ins>+    Ref&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</ins><span class="cx">     jsonMessage-&gt;setString(ASCIILiteral(&quot;method&quot;), ASCIILiteral(&quot;Database.didExecuteOptionalParameters&quot;));
</span><del>-    RefPtr&lt;InspectorObject&gt; paramsObject = InspectorObject::create();
</del><ins>+    Ref&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">@@ -326,16 +324,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);
</del><ins>+    jsonMessage-&gt;setObject(ASCIILiteral(&quot;params&quot;), paramsObject.copyRef());
</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(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)
</del><ins>+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)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</del><ins>+    Ref&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</ins><span class="cx">     jsonMessage-&gt;setString(ASCIILiteral(&quot;method&quot;), ASCIILiteral(&quot;Database.didExecuteNoOptionalParameters&quot;));
</span><del>-    RefPtr&lt;InspectorObject&gt; paramsObject = InspectorObject::create();
</del><ins>+    Ref&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">@@ -344,7 +342,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);
</del><ins>+    jsonMessage-&gt;setObject(ASCIILiteral(&quot;params&quot;), paramsObject.copyRef());
</ins><span class="cx"> 
</span><span class="cx">     m_inspectorFrontendChannel-&gt;sendMessageToFrontend(jsonMessage-&gt;toJSONString());
</span><span class="cx"> }
</span><span class="lines">@@ -393,7 +391,6 @@
</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><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><span class="lines">@@ -445,10 +442,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(PassRefPtr&lt;/*Error*/Inspector::InspectorObject&gt; ptr)
</del><ins>+        Builder(Ref&lt;/*Error*/Inspector::InspectorObject&gt;&amp;&amp; object)
+            : m_result(WTF::move(object))
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
</span><del>-            m_result = ptr;
</del><span class="cx">         }
</span><span class="cx">         friend class Error;
</span><span class="cx">     public:
</span><span class="lines">@@ -467,30 +464,27 @@
</span><span class="cx">             return castState&lt;CodeSet&gt;();
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        operator RefPtr&lt;Error&gt;&amp; ()
</del><ins>+        Ref&lt;Error&gt; release()
</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><del>-            return *reinterpret_cast&lt;RefPtr&lt;Error&gt;*&gt;(&amp;m_result);
-        }
</del><span class="cx"> 
</span><del>-        PassRefPtr&lt;Error&gt; release()
-        {
-            return RefPtr&lt;Error&gt;(*this).release();
</del><ins>+            Ref&lt;Inspector::InspectorObject&gt; result = m_result.releaseNonNull();
+            return WTF::move(*reinterpret_cast&lt;Ref&lt;Error&gt;*&gt;(&amp;result));
</ins><span class="cx">         }
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     /*
</span><span class="cx">      * Synthetic constructor:
</span><del>-     * RefPtr&lt;Error&gt; result = Error::create()
</del><ins>+     * Ref&lt;Error&gt; result = Error::create()
</ins><span class="cx">      *     .setMessage(...)
</span><del>-     *     .setCode(...);
</del><ins>+     *     .setCode(...)
+     *     .release();
</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><del>-    typedef Inspector::Protocol::StructItemTraits ItemTraits;
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // Database
</span><span class="lines">@@ -888,9 +882,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>-    RefPtr&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</del><ins>+    Ref&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</ins><span class="cx">     jsonMessage-&gt;setString(ASCIILiteral(&quot;method&quot;), ASCIILiteral(&quot;Database.didExecuteOptionalParameters&quot;));
</span><del>-    RefPtr&lt;InspectorObject&gt; paramsObject = InspectorObject::create();
</del><ins>+    Ref&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">@@ -907,7 +901,7 @@
</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);
</del><ins>+    jsonMessage-&gt;setObject(ASCIILiteral(&quot;params&quot;), paramsObject.copyRef());
</ins><span class="cx">     frontendChannel-&gt;sendMessageToFrontend(jsonMessage-&gt;toJSONString());
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -925,9 +919,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>-    RefPtr&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</del><ins>+    Ref&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</ins><span class="cx">     jsonMessage-&gt;setString(ASCIILiteral(&quot;method&quot;), ASCIILiteral(&quot;Database.didExecuteNoOptionalParameters&quot;));
</span><del>-    RefPtr&lt;InspectorObject&gt; paramsObject = InspectorObject::create();
</del><ins>+    Ref&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">@@ -936,7 +930,7 @@
</span><span class="cx">     paramsObject-&gt;setObject(ASCIILiteral(&quot;sqlError&quot;), [sqlError toInspectorObject]);
</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);
</del><ins>+    jsonMessage-&gt;setObject(ASCIILiteral(&quot;params&quot;), paramsObject.copyRef());
</ins><span class="cx">     frontendChannel-&gt;sendMessageToFrontend(jsonMessage-&gt;toJSONString());
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1041,7 +1035,6 @@
</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><del>-#import &lt;wtf/PassRefPtr.h&gt;
</del><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 (178059 => 178060)</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 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> 
</span><span class="cx"> class AlternateInspectorBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    void setBackendDispatcher(PassRefPtr&lt;InspectorBackendDispatcher&gt; dispatcher) { m_backendDispatcher = dispatcher; }
</del><ins>+    void setBackendDispatcher(RefPtr&lt;InspectorBackendDispatcher&gt;&amp;&amp; dispatcher) { m_backendDispatcher = WTF::move(dispatcher); }
</ins><span class="cx">     InspectorBackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
</span><span class="cx"> private:
</span><span class="cx">     RefPtr&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</span><span class="lines">@@ -142,7 +142,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorBackendDispatcher.h&gt;
</span><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -167,12 +166,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 PassRefPtr&lt;InspectorNetwork1BackendDispatcher&gt; create(Inspector::InspectorBackendDispatcher*, InspectorNetwork1BackendDispatcherHandler*);
-    virtual void dispatch(long callId, const String&amp; method, PassRefPtr&lt;Inspector::InspectorObject&gt; message) override;
</del><ins>+    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;
</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*, InspectorNetwork1BackendDispatcherHandler*);
</del><ins>+    InspectorNetwork1BackendDispatcher(Inspector::InspectorBackendDispatcher&amp;, 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">@@ -241,12 +240,12 @@
</span><span class="cx"> #endif // PLATFORM(WEB_COMMANDS)
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(WEB_COMMANDS)
</span><del>-PassRefPtr&lt;InspectorNetwork1BackendDispatcher&gt; InspectorNetwork1BackendDispatcher::create(InspectorBackendDispatcher* backendDispatcher, InspectorNetwork1BackendDispatcherHandler* agent)
</del><ins>+Ref&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* backendDispatcher, InspectorNetwork1BackendDispatcherHandler* agent)
</del><ins>+InspectorNetwork1BackendDispatcher::InspectorNetwork1BackendDispatcher(InspectorBackendDispatcher&amp; 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">@@ -256,12 +255,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, PassRefPtr&lt;InspectorObject&gt; message)
</del><ins>+void InspectorNetwork1BackendDispatcher::dispatch(long callId, const String&amp; method, Ref&lt;InspectorObject&gt;&amp;&amp; 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.get());
</del><ins>+        loadResource(callId, message);
</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">@@ -276,10 +275,10 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     ErrorString error;
</span><del>-    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();
</del><ins>+    Ref&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, result.release(), error);
</del><ins>+    m_backendDispatcher-&gt;sendResponse(callId, WTF::move(result), error);
</ins><span class="cx"> }
</span><span class="cx"> #endif // PLATFORM(WEB_COMMANDS)
</span><span class="cx"> 
</span><span class="lines">@@ -328,7 +327,6 @@
</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><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -395,7 +393,7 @@
</span><span class="cx"> #if PLATFORM(WEB_EVENTS)
</span><span class="cx"> void InspectorNetwork3FrontendDispatcher::resourceLoaded()
</span><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</del><ins>+    Ref&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">@@ -446,7 +444,6 @@
</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><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><span class="lines">@@ -493,10 +490,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(PassRefPtr&lt;/*NetworkError*/Inspector::InspectorObject&gt; ptr)
</del><ins>+        Builder(Ref&lt;/*NetworkError*/Inspector::InspectorObject&gt;&amp;&amp; object)
+            : m_result(WTF::move(object))
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
</span><del>-            m_result = ptr;
</del><span class="cx">         }
</span><span class="cx">         friend class NetworkError;
</span><span class="cx">     public:
</span><span class="lines">@@ -515,30 +512,27 @@
</span><span class="cx">             return castState&lt;CodeSet&gt;();
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        operator RefPtr&lt;NetworkError&gt;&amp; ()
</del><ins>+        Ref&lt;NetworkError&gt; release()
</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><del>-            return *reinterpret_cast&lt;RefPtr&lt;NetworkError&gt;*&gt;(&amp;m_result);
-        }
</del><span class="cx"> 
</span><del>-        PassRefPtr&lt;NetworkError&gt; release()
-        {
-            return RefPtr&lt;NetworkError&gt;(*this).release();
</del><ins>+            Ref&lt;Inspector::InspectorObject&gt; result = m_result.releaseNonNull();
+            return WTF::move(*reinterpret_cast&lt;Ref&lt;NetworkError&gt;*&gt;(&amp;result));
</ins><span class="cx">         }
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     /*
</span><span class="cx">      * Synthetic constructor:
</span><del>-     * RefPtr&lt;NetworkError&gt; result = NetworkError::create()
</del><ins>+     * Ref&lt;NetworkError&gt; result = NetworkError::create()
</ins><span class="cx">      *     .setMessage(...)
</span><del>-     *     .setCode(...);
</del><ins>+     *     .setCode(...)
+     *     .release();
</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><del>-    typedef Inspector::Protocol::StructItemTraits ItemTraits;
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // Network2
</span><span class="lines">@@ -990,7 +984,7 @@
</span><span class="cx">     if (!frontendChannel)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    RefPtr&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
</del><ins>+    Ref&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">@@ -1098,7 +1092,6 @@
</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><del>-#import &lt;wtf/PassRefPtr.h&gt;
</del><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 (178059 => 178060)</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 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/same-type-id-different-domain.json-result        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> 
</span><span class="cx"> class AlternateInspectorBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    void setBackendDispatcher(PassRefPtr&lt;InspectorBackendDispatcher&gt; dispatcher) { m_backendDispatcher = dispatcher; }
</del><ins>+    void setBackendDispatcher(RefPtr&lt;InspectorBackendDispatcher&gt;&amp;&amp; dispatcher) { m_backendDispatcher = WTF::move(dispatcher); }
</ins><span class="cx">     InspectorBackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
</span><span class="cx"> private:
</span><span class="cx">     RefPtr&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</span><span class="lines">@@ -127,7 +127,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorBackendDispatcher.h&gt;
</span><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -236,7 +235,6 @@
</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><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -334,7 +332,6 @@
</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><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><span class="lines">@@ -817,7 +814,6 @@
</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><del>-#import &lt;wtf/PassRefPtr.h&gt;
</del><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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> 
</span><span class="cx"> class AlternateInspectorBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    void setBackendDispatcher(PassRefPtr&lt;InspectorBackendDispatcher&gt; dispatcher) { m_backendDispatcher = dispatcher; }
</del><ins>+    void setBackendDispatcher(RefPtr&lt;InspectorBackendDispatcher&gt;&amp;&amp; dispatcher) { m_backendDispatcher = WTF::move(dispatcher); }
</ins><span class="cx">     InspectorBackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
</span><span class="cx"> private:
</span><span class="cx">     RefPtr&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</span><span class="lines">@@ -127,7 +127,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorBackendDispatcher.h&gt;
</span><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -236,7 +235,6 @@
</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><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -334,7 +332,6 @@
</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><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><span class="lines">@@ -384,10 +381,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(PassRefPtr&lt;/*KeyPath*/Inspector::InspectorObject&gt; ptr)
</del><ins>+        Builder(Ref&lt;/*KeyPath*/Inspector::InspectorObject&gt;&amp;&amp; object)
+            : m_result(WTF::move(object))
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
</span><del>-            m_result = ptr;
</del><span class="cx">         }
</span><span class="cx">         friend class KeyPath;
</span><span class="cx">     public:
</span><span class="lines">@@ -399,38 +396,35 @@
</span><span class="cx">             return castState&lt;TypeSet&gt;();
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        operator RefPtr&lt;KeyPath&gt;&amp; ()
</del><ins>+        Ref&lt;KeyPath&gt; release()
</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><del>-            return *reinterpret_cast&lt;RefPtr&lt;KeyPath&gt;*&gt;(&amp;m_result);
-        }
</del><span class="cx"> 
</span><del>-        PassRefPtr&lt;KeyPath&gt; release()
-        {
-            return RefPtr&lt;KeyPath&gt;(*this).release();
</del><ins>+            Ref&lt;Inspector::InspectorObject&gt; result = m_result.releaseNonNull();
+            return WTF::move(*reinterpret_cast&lt;Ref&lt;KeyPath&gt;*&gt;(&amp;result));
</ins><span class="cx">         }
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     /*
</span><span class="cx">      * Synthetic constructor:
</span><del>-     * RefPtr&lt;KeyPath&gt; result = KeyPath::create()
-     *     .setType(...);
</del><ins>+     * Ref&lt;KeyPath&gt; result = KeyPath::create()
+     *     .setType(...)
+     *     .release();
</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><del>-    typedef Inspector::Protocol::StructItemTraits ItemTraits;
</del><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(PassRefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; value)
</del><ins>+    void setArray(RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; value)
</ins><span class="cx">     {
</span><del>-        InspectorObjectBase::setArray(ASCIILiteral(&quot;array&quot;), value);
</del><ins>+        InspectorObjectBase::setArray(ASCIILiteral(&quot;array&quot;), WTF::move(value));
</ins><span class="cx">     }
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="lines">@@ -920,7 +914,6 @@
</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><del>-#import &lt;wtf/PassRefPtr.h&gt;
</del><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 (178059 => 178060)</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 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> 
</span><span class="cx"> class AlternateInspectorBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    void setBackendDispatcher(PassRefPtr&lt;InspectorBackendDispatcher&gt; dispatcher) { m_backendDispatcher = dispatcher; }
</del><ins>+    void setBackendDispatcher(RefPtr&lt;InspectorBackendDispatcher&gt;&amp;&amp; dispatcher) { m_backendDispatcher = WTF::move(dispatcher); }
</ins><span class="cx">     InspectorBackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
</span><span class="cx"> private:
</span><span class="cx">     RefPtr&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</span><span class="lines">@@ -127,7 +127,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorBackendDispatcher.h&gt;
</span><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -236,7 +235,6 @@
</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><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -334,7 +332,6 @@
</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><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><span class="lines">@@ -803,7 +800,6 @@
</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><del>-#import &lt;wtf/PassRefPtr.h&gt;
</del><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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-array-type.json-result        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-array-type.json-result        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> 
</span><span class="cx"> class AlternateInspectorBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    void setBackendDispatcher(PassRefPtr&lt;InspectorBackendDispatcher&gt; dispatcher) { m_backendDispatcher = dispatcher; }
</del><ins>+    void setBackendDispatcher(RefPtr&lt;InspectorBackendDispatcher&gt;&amp;&amp; dispatcher) { m_backendDispatcher = WTF::move(dispatcher); }
</ins><span class="cx">     InspectorBackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
</span><span class="cx"> private:
</span><span class="cx">     RefPtr&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</span><span class="lines">@@ -130,7 +130,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorBackendDispatcher.h&gt;
</span><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><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,7 +238,6 @@
</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><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -337,7 +335,6 @@
</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><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><span class="lines">@@ -864,7 +861,6 @@
</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><del>-#import &lt;wtf/PassRefPtr.h&gt;
</del><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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-enum-type.json-result        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-enum-type.json-result        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> 
</span><span class="cx"> class AlternateInspectorBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    void setBackendDispatcher(PassRefPtr&lt;InspectorBackendDispatcher&gt; dispatcher) { m_backendDispatcher = dispatcher; }
</del><ins>+    void setBackendDispatcher(RefPtr&lt;InspectorBackendDispatcher&gt;&amp;&amp; dispatcher) { m_backendDispatcher = WTF::move(dispatcher); }
</ins><span class="cx">     InspectorBackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
</span><span class="cx"> private:
</span><span class="cx">     RefPtr&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</span><span class="lines">@@ -131,7 +131,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorBackendDispatcher.h&gt;
</span><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -240,7 +239,6 @@
</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><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -338,7 +336,6 @@
</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><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><span class="lines">@@ -902,7 +899,6 @@
</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><del>-#import &lt;wtf/PassRefPtr.h&gt;
</del><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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-object-type.json-result        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/type-declaration-object-type.json-result        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> 
</span><span class="cx"> class AlternateInspectorBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    void setBackendDispatcher(PassRefPtr&lt;InspectorBackendDispatcher&gt; dispatcher) { m_backendDispatcher = dispatcher; }
</del><ins>+    void setBackendDispatcher(RefPtr&lt;InspectorBackendDispatcher&gt;&amp;&amp; dispatcher) { m_backendDispatcher = WTF::move(dispatcher); }
</ins><span class="cx">     InspectorBackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
</span><span class="cx"> private:
</span><span class="cx">     RefPtr&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</span><span class="lines">@@ -127,7 +127,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorBackendDispatcher.h&gt;
</span><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -236,7 +235,6 @@
</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><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -334,7 +332,6 @@
</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><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><span class="lines">@@ -387,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(PassRefPtr&lt;/*Error*/Inspector::InspectorObject&gt; ptr)
</del><ins>+        Builder(Ref&lt;/*Error*/Inspector::InspectorObject&gt;&amp;&amp; object)
+            : m_result(WTF::move(object))
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
</span><del>-            m_result = ptr;
</del><span class="cx">         }
</span><span class="cx">         friend class Error;
</span><span class="cx">     public:
</span><span class="lines">@@ -409,30 +406,27 @@
</span><span class="cx">             return castState&lt;CodeSet&gt;();
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        operator RefPtr&lt;Error&gt;&amp; ()
</del><ins>+        Ref&lt;Error&gt; release()
</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><del>-            return *reinterpret_cast&lt;RefPtr&lt;Error&gt;*&gt;(&amp;m_result);
-        }
</del><span class="cx"> 
</span><del>-        PassRefPtr&lt;Error&gt; release()
-        {
-            return RefPtr&lt;Error&gt;(*this).release();
</del><ins>+            Ref&lt;Inspector::InspectorObject&gt; result = m_result.releaseNonNull();
+            return WTF::move(*reinterpret_cast&lt;Ref&lt;Error&gt;*&gt;(&amp;result));
</ins><span class="cx">         }
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     /*
</span><span class="cx">      * Synthetic constructor:
</span><del>-     * RefPtr&lt;Error&gt; result = Error::create()
</del><ins>+     * Ref&lt;Error&gt; result = Error::create()
</ins><span class="cx">      *     .setMessage(...)
</span><del>-     *     .setCode(...);
</del><ins>+     *     .setCode(...)
+     *     .release();
</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><del>-    typedef Inspector::Protocol::StructItemTraits ItemTraits;
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class OptionalParameterBundle : public Inspector::InspectorObjectBase {
</span><span class="lines">@@ -452,40 +446,37 @@
</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(PassRefPtr&lt;/*OptionalParameterBundle*/Inspector::InspectorObject&gt; ptr)
</del><ins>+        Builder(Ref&lt;/*OptionalParameterBundle*/Inspector::InspectorObject&gt;&amp;&amp; object)
+            : m_result(WTF::move(object))
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
</span><del>-            m_result = ptr;
</del><span class="cx">         }
</span><span class="cx">         friend class OptionalParameterBundle;
</span><span class="cx">     public:
</span><span class="cx"> 
</span><del>-        operator RefPtr&lt;OptionalParameterBundle&gt;&amp; ()
</del><ins>+        Ref&lt;OptionalParameterBundle&gt; release()
</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><del>-            return *reinterpret_cast&lt;RefPtr&lt;OptionalParameterBundle&gt;*&gt;(&amp;m_result);
-        }
</del><span class="cx"> 
</span><del>-        PassRefPtr&lt;OptionalParameterBundle&gt; release()
-        {
-            return RefPtr&lt;OptionalParameterBundle&gt;(*this).release();
</del><ins>+            Ref&lt;Inspector::InspectorObject&gt; result = m_result.releaseNonNull();
+            return WTF::move(*reinterpret_cast&lt;Ref&lt;OptionalParameterBundle&gt;*&gt;(&amp;result));
</ins><span class="cx">         }
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     /*
</span><span class="cx">      * Synthetic constructor:
</span><del>-     * RefPtr&lt;OptionalParameterBundle&gt; result = OptionalParameterBundle::create();
</del><ins>+     * Ref&lt;OptionalParameterBundle&gt; result = OptionalParameterBundle::create()
+     *     .release();
</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><del>-    typedef Inspector::Protocol::StructItemTraits ItemTraits;
</del><span class="cx"> 
</span><del>-    void setColumnNames(PassRefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; value)
</del><ins>+    void setColumnNames(RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; value)
</ins><span class="cx">     {
</span><del>-        InspectorObjectBase::setArray(ASCIILiteral(&quot;columnNames&quot;), value);
</del><ins>+        InspectorObjectBase::setArray(ASCIILiteral(&quot;columnNames&quot;), WTF::move(value));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void setNotes(const String&amp; value)
</span><span class="lines">@@ -498,19 +489,19 @@
</span><span class="cx">         InspectorObjectBase::setDouble(ASCIILiteral(&quot;timestamp&quot;), value);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void setValues(PassRefPtr&lt;Inspector::InspectorObject&gt; value)
</del><ins>+    void setValues(RefPtr&lt;Inspector::InspectorObject&gt; value)
</ins><span class="cx">     {
</span><del>-        InspectorObjectBase::setObject(ASCIILiteral(&quot;values&quot;), value);
</del><ins>+        InspectorObjectBase::setObject(ASCIILiteral(&quot;values&quot;), WTF::move(value));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void setPayload(PassRefPtr&lt;Inspector::InspectorValue&gt; value)
</del><ins>+    void setPayload(RefPtr&lt;Inspector::InspectorValue&gt; value)
</ins><span class="cx">     {
</span><del>-        InspectorObjectBase::setValue(ASCIILiteral(&quot;payload&quot;), value);
</del><ins>+        InspectorObjectBase::setValue(ASCIILiteral(&quot;payload&quot;), WTF::move(value));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    void setError(PassRefPtr&lt;Inspector::Protocol::Database::Error&gt; value)
</del><ins>+    void setError(RefPtr&lt;Inspector::Protocol::Database::Error&gt; value)
</ins><span class="cx">     {
</span><del>-        InspectorObjectBase::setObject(ASCIILiteral(&quot;error&quot;), value);
</del><ins>+        InspectorObjectBase::setObject(ASCIILiteral(&quot;error&quot;), WTF::move(value));
</ins><span class="cx">     }
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="lines">@@ -537,15 +528,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(PassRefPtr&lt;/*ParameterBundle*/Inspector::InspectorObject&gt; ptr)
</del><ins>+        Builder(Ref&lt;/*ParameterBundle*/Inspector::InspectorObject&gt;&amp;&amp; object)
+            : m_result(WTF::move(object))
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
</span><del>-            m_result = ptr;
</del><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(PassRefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; value)
</del><ins>+        Builder&lt;STATE | ColumnNamesSet&gt;&amp; setColumnNames(RefPtr&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">@@ -566,55 +557,52 @@
</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(PassRefPtr&lt;Inspector::InspectorObject&gt; value)
</del><ins>+        Builder&lt;STATE | ValuesSet&gt;&amp; setValues(RefPtr&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(PassRefPtr&lt;Inspector::InspectorValue&gt; value)
</del><ins>+        Builder&lt;STATE | PayloadSet&gt;&amp; setPayload(RefPtr&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(PassRefPtr&lt;Inspector::Protocol::Database::Error&gt; value)
</del><ins>+        Builder&lt;STATE | ErrorSet&gt;&amp; setError(RefPtr&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>-        operator RefPtr&lt;ParameterBundle&gt;&amp; ()
</del><ins>+        Ref&lt;ParameterBundle&gt; release()
</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><del>-            return *reinterpret_cast&lt;RefPtr&lt;ParameterBundle&gt;*&gt;(&amp;m_result);
-        }
</del><span class="cx"> 
</span><del>-        PassRefPtr&lt;ParameterBundle&gt; release()
-        {
-            return RefPtr&lt;ParameterBundle&gt;(*this).release();
</del><ins>+            Ref&lt;Inspector::InspectorObject&gt; result = m_result.releaseNonNull();
+            return WTF::move(*reinterpret_cast&lt;Ref&lt;ParameterBundle&gt;*&gt;(&amp;result));
</ins><span class="cx">         }
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     /*
</span><span class="cx">      * Synthetic constructor:
</span><del>-     * RefPtr&lt;ParameterBundle&gt; result = ParameterBundle::create()
</del><ins>+     * Ref&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(...);
</del><ins>+     *     .setError(...)
+     *     .release();
</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><del>-    typedef Inspector::Protocol::StructItemTraits ItemTraits;
</del><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">@@ -640,10 +628,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(PassRefPtr&lt;/*ObjectWithPropertyNameConflicts*/Inspector::InspectorObject&gt; ptr)
</del><ins>+        Builder(Ref&lt;/*ObjectWithPropertyNameConflicts*/Inspector::InspectorObject&gt;&amp;&amp; object)
+            : m_result(WTF::move(object))
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
</span><del>-            m_result = ptr;
</del><span class="cx">         }
</span><span class="cx">         friend class ObjectWithPropertyNameConflicts;
</span><span class="cx">     public:
</span><span class="lines">@@ -683,33 +671,30 @@
</span><span class="cx">             return castState&lt;ObjectSet&gt;();
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        operator RefPtr&lt;ObjectWithPropertyNameConflicts&gt;&amp; ()
</del><ins>+        Ref&lt;ObjectWithPropertyNameConflicts&gt; release()
</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><del>-            return *reinterpret_cast&lt;RefPtr&lt;ObjectWithPropertyNameConflicts&gt;*&gt;(&amp;m_result);
-        }
</del><span class="cx"> 
</span><del>-        PassRefPtr&lt;ObjectWithPropertyNameConflicts&gt; release()
-        {
-            return RefPtr&lt;ObjectWithPropertyNameConflicts&gt;(*this).release();
</del><ins>+            Ref&lt;Inspector::InspectorObject&gt; result = m_result.releaseNonNull();
+            return WTF::move(*reinterpret_cast&lt;Ref&lt;ObjectWithPropertyNameConflicts&gt;*&gt;(&amp;result));
</ins><span class="cx">         }
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     /*
</span><span class="cx">      * Synthetic constructor:
</span><del>-     * RefPtr&lt;ObjectWithPropertyNameConflicts&gt; result = ObjectWithPropertyNameConflicts::create()
</del><ins>+     * Ref&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(...);
</del><ins>+     *     .setObject(...)
+     *     .release();
</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><del>-    typedef Inspector::Protocol::StructItemTraits ItemTraits;
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // Database
</span><span class="lines">@@ -738,15 +723,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(PassRefPtr&lt;/*ParameterBundle*/Inspector::InspectorObject&gt; ptr)
</del><ins>+        Builder(Ref&lt;/*ParameterBundle*/Inspector::InspectorObject&gt;&amp;&amp; object)
+            : m_result(WTF::move(object))
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
</span><del>-            m_result = ptr;
</del><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(PassRefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; value)
</del><ins>+        Builder&lt;STATE | ColumnNamesSet&gt;&amp; setColumnNames(RefPtr&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">@@ -767,55 +752,52 @@
</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(PassRefPtr&lt;Inspector::InspectorObject&gt; value)
</del><ins>+        Builder&lt;STATE | ValuesSet&gt;&amp; setValues(RefPtr&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(PassRefPtr&lt;Inspector::InspectorValue&gt; value)
</del><ins>+        Builder&lt;STATE | PayloadSet&gt;&amp; setPayload(RefPtr&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(PassRefPtr&lt;Inspector::Protocol::Database::Error&gt; value)
</del><ins>+        Builder&lt;STATE | ErrorSet&gt;&amp; setError(RefPtr&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>-        operator RefPtr&lt;ParameterBundle&gt;&amp; ()
</del><ins>+        Ref&lt;ParameterBundle&gt; release()
</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><del>-            return *reinterpret_cast&lt;RefPtr&lt;ParameterBundle&gt;*&gt;(&amp;m_result);
-        }
</del><span class="cx"> 
</span><del>-        PassRefPtr&lt;ParameterBundle&gt; release()
-        {
-            return RefPtr&lt;ParameterBundle&gt;(*this).release();
</del><ins>+            Ref&lt;Inspector::InspectorObject&gt; result = m_result.releaseNonNull();
+            return WTF::move(*reinterpret_cast&lt;Ref&lt;ParameterBundle&gt;*&gt;(&amp;result));
</ins><span class="cx">         }
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     /*
</span><span class="cx">      * Synthetic constructor:
</span><del>-     * RefPtr&lt;ParameterBundle&gt; result = ParameterBundle::create()
</del><ins>+     * Ref&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(...);
</del><ins>+     *     .setError(...)
+     *     .release();
</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><del>-    typedef Inspector::Protocol::StructItemTraits ItemTraits;
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // Test
</span><span class="lines">@@ -1331,7 +1313,6 @@
</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><del>-#import &lt;wtf/PassRefPtr.h&gt;
</del><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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> 
</span><span class="cx"> class AlternateInspectorBackendDispatcher {
</span><span class="cx"> public:
</span><del>-    void setBackendDispatcher(PassRefPtr&lt;InspectorBackendDispatcher&gt; dispatcher) { m_backendDispatcher = dispatcher; }
</del><ins>+    void setBackendDispatcher(RefPtr&lt;InspectorBackendDispatcher&gt;&amp;&amp; dispatcher) { m_backendDispatcher = WTF::move(dispatcher); }
</ins><span class="cx">     InspectorBackendDispatcher* backendDispatcher() const { return m_backendDispatcher.get(); }
</span><span class="cx"> private:
</span><span class="cx">     RefPtr&lt;InspectorBackendDispatcher&gt; m_backendDispatcher;
</span><span class="lines">@@ -131,7 +131,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InspectorProtocolObjects.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorBackendDispatcher.h&gt;
</span><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -240,7 +239,6 @@
</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><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="lines">@@ -338,7 +336,6 @@
</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><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> 
</span><span class="lines">@@ -396,10 +393,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(PassRefPtr&lt;/*TypeNeedingCast*/Inspector::InspectorObject&gt; ptr)
</del><ins>+        Builder(Ref&lt;/*TypeNeedingCast*/Inspector::InspectorObject&gt;&amp;&amp; object)
+            : m_result(WTF::move(object))
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
</span><del>-            m_result = ptr;
</del><span class="cx">         }
</span><span class="cx">         friend class TypeNeedingCast;
</span><span class="cx">     public:
</span><span class="lines">@@ -432,40 +429,37 @@
</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(PassRefPtr&lt;Inspector::Protocol::Test::RecursiveObject1&gt; value)
</del><ins>+        Builder&lt;STATE | TreeSet&gt;&amp; setTree(RefPtr&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>-        operator RefPtr&lt;TypeNeedingCast&gt;&amp; ()
</del><ins>+        Ref&lt;TypeNeedingCast&gt; release()
</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><del>-            return *reinterpret_cast&lt;RefPtr&lt;TypeNeedingCast&gt;*&gt;(&amp;m_result);
-        }
</del><span class="cx"> 
</span><del>-        PassRefPtr&lt;TypeNeedingCast&gt; release()
-        {
-            return RefPtr&lt;TypeNeedingCast&gt;(*this).release();
</del><ins>+            Ref&lt;Inspector::InspectorObject&gt; result = m_result.releaseNonNull();
+            return WTF::move(*reinterpret_cast&lt;Ref&lt;TypeNeedingCast&gt;*&gt;(&amp;result));
</ins><span class="cx">         }
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     /*
</span><span class="cx">      * Synthetic constructor:
</span><del>-     * RefPtr&lt;TypeNeedingCast&gt; result = TypeNeedingCast::create()
</del><ins>+     * Ref&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(...);
</del><ins>+     *     .setTree(...)
+     *     .release();
</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><del>-    typedef Inspector::Protocol::StructItemTraits ItemTraits;
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> /*  */
</span><span class="lines">@@ -499,40 +493,37 @@
</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(PassRefPtr&lt;/*RecursiveObject1*/Inspector::InspectorObject&gt; ptr)
</del><ins>+        Builder(Ref&lt;/*RecursiveObject1*/Inspector::InspectorObject&gt;&amp;&amp; object)
+            : m_result(WTF::move(object))
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
</span><del>-            m_result = ptr;
</del><span class="cx">         }
</span><span class="cx">         friend class RecursiveObject1;
</span><span class="cx">     public:
</span><span class="cx"> 
</span><del>-        operator RefPtr&lt;RecursiveObject1&gt;&amp; ()
</del><ins>+        Ref&lt;RecursiveObject1&gt; release()
</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><del>-            return *reinterpret_cast&lt;RefPtr&lt;RecursiveObject1&gt;*&gt;(&amp;m_result);
-        }
</del><span class="cx"> 
</span><del>-        PassRefPtr&lt;RecursiveObject1&gt; release()
-        {
-            return RefPtr&lt;RecursiveObject1&gt;(*this).release();
</del><ins>+            Ref&lt;Inspector::InspectorObject&gt; result = m_result.releaseNonNull();
+            return WTF::move(*reinterpret_cast&lt;Ref&lt;RecursiveObject1&gt;*&gt;(&amp;result));
</ins><span class="cx">         }
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     /*
</span><span class="cx">      * Synthetic constructor:
</span><del>-     * RefPtr&lt;RecursiveObject1&gt; result = RecursiveObject1::create();
</del><ins>+     * Ref&lt;RecursiveObject1&gt; result = RecursiveObject1::create()
+     *     .release();
</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><del>-    typedef Inspector::Protocol::StructItemTraits ItemTraits;
</del><span class="cx"> 
</span><del>-    void setObj(PassRefPtr&lt;Inspector::Protocol::Test::RecursiveObject2&gt; value)
</del><ins>+    void setObj(RefPtr&lt;Inspector::Protocol::Test::RecursiveObject2&gt; value)
</ins><span class="cx">     {
</span><del>-        InspectorObjectBase::setObject(ASCIILiteral(&quot;obj&quot;), value);
</del><ins>+        InspectorObjectBase::setObject(ASCIILiteral(&quot;obj&quot;), WTF::move(value));
</ins><span class="cx">     }
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="lines">@@ -553,40 +544,37 @@
</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(PassRefPtr&lt;/*RecursiveObject2*/Inspector::InspectorObject&gt; ptr)
</del><ins>+        Builder(Ref&lt;/*RecursiveObject2*/Inspector::InspectorObject&gt;&amp;&amp; object)
+            : m_result(WTF::move(object))
</ins><span class="cx">         {
</span><span class="cx">             COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
</span><del>-            m_result = ptr;
</del><span class="cx">         }
</span><span class="cx">         friend class RecursiveObject2;
</span><span class="cx">     public:
</span><span class="cx"> 
</span><del>-        operator RefPtr&lt;RecursiveObject2&gt;&amp; ()
</del><ins>+        Ref&lt;RecursiveObject2&gt; release()
</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><del>-            return *reinterpret_cast&lt;RefPtr&lt;RecursiveObject2&gt;*&gt;(&amp;m_result);
-        }
</del><span class="cx"> 
</span><del>-        PassRefPtr&lt;RecursiveObject2&gt; release()
-        {
-            return RefPtr&lt;RecursiveObject2&gt;(*this).release();
</del><ins>+            Ref&lt;Inspector::InspectorObject&gt; result = m_result.releaseNonNull();
+            return WTF::move(*reinterpret_cast&lt;Ref&lt;RecursiveObject2&gt;*&gt;(&amp;result));
</ins><span class="cx">         }
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     /*
</span><span class="cx">      * Synthetic constructor:
</span><del>-     * RefPtr&lt;RecursiveObject2&gt; result = RecursiveObject2::create();
</del><ins>+     * Ref&lt;RecursiveObject2&gt; result = RecursiveObject2::create()
+     *     .release();
</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><del>-    typedef Inspector::Protocol::StructItemTraits ItemTraits;
</del><span class="cx"> 
</span><del>-    void setObj(PassRefPtr&lt;Inspector::Protocol::Test::RecursiveObject1&gt; value)
</del><ins>+    void setObj(RefPtr&lt;Inspector::Protocol::Test::RecursiveObject1&gt; value)
</ins><span class="cx">     {
</span><del>-        InspectorObjectBase::setObject(ASCIILiteral(&quot;obj&quot;), value);
</del><ins>+        InspectorObjectBase::setObject(ASCIILiteral(&quot;obj&quot;), WTF::move(value));
</ins><span class="cx">     }
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="lines">@@ -598,7 +586,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 PassRefPtr&lt;Inspector::Protocol::Test::TypeNeedingCast&gt; runtimeCast(PassRefPtr&lt;Inspector::InspectorValue&gt; value);
</del><ins>+static RefPtr&lt;Inspector::Protocol::Test::TypeNeedingCast&gt; runtimeCast(RefPtr&lt;Inspector::InspectorValue&gt;&amp;&amp; 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">@@ -684,6 +672,7 @@
</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><ins>+    ASSERT_ARG(value, value);
</ins><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">@@ -694,6 +683,7 @@
</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><ins>+    ASSERT_ARG(value, value);
</ins><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">@@ -729,7 +719,7 @@
</span><span class="cx"> }
</span><span class="cx"> #endif // !ASSERT_DISABLED
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Inspector::Protocol::Test::TypeNeedingCast&gt; BindingTraits&lt;Inspector::Protocol::Test::TypeNeedingCast&gt;::runtimeCast(PassRefPtr&lt;Inspector::InspectorValue&gt; value)
</del><ins>+RefPtr&lt;Inspector::Protocol::Test::TypeNeedingCast&gt; BindingTraits&lt;Inspector::Protocol::Test::TypeNeedingCast&gt;::runtimeCast(RefPtr&lt;Inspector::InspectorValue&gt;&amp;&amp; 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">@@ -745,6 +735,7 @@
</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><ins>+    ASSERT_ARG(value, value);
</ins><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">@@ -765,6 +756,7 @@
</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><ins>+    ASSERT_ARG(value, value);
</ins><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">@@ -1256,7 +1248,6 @@
</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><del>-#import &lt;wtf/PassRefPtr.h&gt;
</del><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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/replay/EncodedValue.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/replay/EncodedValue.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -37,22 +37,22 @@
</span><span class="cx"> 
</span><span class="cx"> namespace JSC {
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorObject&gt; EncodedValue::asObject()
</del><ins>+RefPtr&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.release();
</del><ins>+    return result;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorArray&gt; EncodedValue::asArray()
</del><ins>+RefPtr&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.release();
</del><ins>+    return result;
</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);
</del><ins>+    asObject()-&gt;setValue(key, value.m_value.copyRef());
</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);
</del><ins>+    asArray()-&gt;pushValue(value.m_value.copyRef());
</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; inspectorValue(asObject()-&gt;get(key));
-    if (!inspectorValue)
</del><ins>+    RefPtr&lt;Inspector::InspectorValue&gt; value;
+    if (!asObject()-&gt;getValue(key, value))
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    decodedValue = EncodedValue(inspectorValue);
</del><ins>+    decodedValue = EncodedValue(WTF::move(value));
</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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/replay/EncodedValue.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/replay/EncodedValue.h        2015-01-07 23:29:03 UTC (rev 178060)
</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(PassRefPtr&lt;Inspector::InspectorValue&gt; value)
</del><ins>+    explicit EncodedValue(RefPtr&lt;Inspector::InspectorValue&gt;&amp;&amp; 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 PassRefPtr&lt;Inspector::InspectorObject&gt; asObject();
-    JS_EXPORT_PRIVATE PassRefPtr&lt;Inspector::InspectorArray&gt; asArray();
</del><ins>+    JS_EXPORT_PRIVATE RefPtr&lt;Inspector::InspectorObject&gt; asObject();
+    JS_EXPORT_PRIVATE RefPtr&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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py        2015-01-07 23:29:03 UTC (rev 178060)
</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;PassRefPtr&lt;%s&gt;&quot; % self.type_name(qualified)
</del><ins>+            return &quot;RefPtr&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;PassRefPtr&lt;%s&gt;&quot; % self.type_name(qualified)
</del><ins>+            return &quot;RefPtr&lt;%s&gt;&amp;&amp;&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 == TypeModes.OWNED:
</del><ins>+        if _type.mode in [TypeModes.OWNED, TypeModes.SHARED]:
</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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/ConsoleClient.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/runtime/ConsoleClient.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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, PassRefPtr&lt;ScriptArguments&gt; prpArguments)
</del><ins>+void ConsoleClient::printConsoleMessageWithArguments(MessageSource source, MessageType type, MessageLevel level, JSC::ExecState* exec, RefPtr&lt;ScriptArguments&gt;&amp;&amp; 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, PassRefPtr&lt;ScriptArguments&gt; prpArguments, ArgumentRequirement argumentRequirement)
</del><ins>+void ConsoleClient::internalMessageWithTypeAndLevel(MessageType type, MessageLevel level, JSC::ExecState* exec, RefPtr&lt;ScriptArguments&gt;&amp;&amp; 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, PassRefPtr&lt;ScriptArguments&gt; arguments, MessageLevel level)
</del><ins>+void ConsoleClient::logWithLevel(ExecState* exec, RefPtr&lt;ScriptArguments&gt;&amp;&amp; arguments, MessageLevel level)
</ins><span class="cx"> {
</span><del>-    internalMessageWithTypeAndLevel(MessageType::Log, level, exec, arguments, ArgumentRequired);
</del><ins>+    internalMessageWithTypeAndLevel(MessageType::Log, level, exec, WTF::move(arguments), ArgumentRequired);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ConsoleClient::clear(ExecState* exec, PassRefPtr&lt;ScriptArguments&gt; arguments)
</del><ins>+void ConsoleClient::clear(ExecState* exec, RefPtr&lt;ScriptArguments&gt;&amp;&amp; arguments)
</ins><span class="cx"> {
</span><del>-    internalMessageWithTypeAndLevel(MessageType::Clear, MessageLevel::Log, exec, arguments, ArgumentNotRequired);
</del><ins>+    internalMessageWithTypeAndLevel(MessageType::Clear, MessageLevel::Log, exec, WTF::move(arguments), ArgumentNotRequired);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ConsoleClient::dir(ExecState* exec, PassRefPtr&lt;ScriptArguments&gt; arguments)
</del><ins>+void ConsoleClient::dir(ExecState* exec, RefPtr&lt;ScriptArguments&gt;&amp;&amp; arguments)
</ins><span class="cx"> {
</span><del>-    internalMessageWithTypeAndLevel(MessageType::Dir, MessageLevel::Log, exec, arguments, ArgumentRequired);
</del><ins>+    internalMessageWithTypeAndLevel(MessageType::Dir, MessageLevel::Log, exec, WTF::move(arguments), ArgumentRequired);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ConsoleClient::dirXML(ExecState* exec, PassRefPtr&lt;ScriptArguments&gt; arguments)
</del><ins>+void ConsoleClient::dirXML(ExecState* exec, RefPtr&lt;ScriptArguments&gt;&amp;&amp; arguments)
</ins><span class="cx"> {
</span><del>-    internalMessageWithTypeAndLevel(MessageType::DirXML, MessageLevel::Log, exec, arguments, ArgumentRequired);
</del><ins>+    internalMessageWithTypeAndLevel(MessageType::DirXML, MessageLevel::Log, exec, WTF::move(arguments), ArgumentRequired);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ConsoleClient::table(ExecState* exec, PassRefPtr&lt;ScriptArguments&gt; arguments)
</del><ins>+void ConsoleClient::table(ExecState* exec, RefPtr&lt;ScriptArguments&gt;&amp;&amp; arguments)
</ins><span class="cx"> {
</span><del>-    internalMessageWithTypeAndLevel(MessageType::Table, MessageLevel::Log, exec, arguments, ArgumentRequired);
</del><ins>+    internalMessageWithTypeAndLevel(MessageType::Table, MessageLevel::Log, exec, WTF::move(arguments), ArgumentRequired);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ConsoleClient::trace(ExecState* exec, PassRefPtr&lt;ScriptArguments&gt; arguments)
</del><ins>+void ConsoleClient::trace(ExecState* exec, RefPtr&lt;ScriptArguments&gt;&amp;&amp; arguments)
</ins><span class="cx"> {
</span><del>-    internalMessageWithTypeAndLevel(MessageType::Trace, MessageLevel::Log, exec, arguments, ArgumentNotRequired);
</del><ins>+    internalMessageWithTypeAndLevel(MessageType::Trace, MessageLevel::Log, exec, WTF::move(arguments), ArgumentNotRequired);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ConsoleClient::assertCondition(ExecState* exec, PassRefPtr&lt;ScriptArguments&gt; arguments, bool condition)
</del><ins>+void ConsoleClient::assertCondition(ExecState* exec, RefPtr&lt;ScriptArguments&gt;&amp;&amp; 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, arguments, ArgumentNotRequired);
</del><ins>+    internalMessageWithTypeAndLevel(MessageType::Assert, MessageLevel::Error, exec, WTF::move(arguments), ArgumentNotRequired);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ConsoleClient::group(ExecState* exec, PassRefPtr&lt;ScriptArguments&gt; arguments)
</del><ins>+void ConsoleClient::group(ExecState* exec, RefPtr&lt;ScriptArguments&gt;&amp;&amp; arguments)
</ins><span class="cx"> {
</span><del>-    internalMessageWithTypeAndLevel(MessageType::StartGroup, MessageLevel::Log, exec, arguments, ArgumentNotRequired);
</del><ins>+    internalMessageWithTypeAndLevel(MessageType::StartGroup, MessageLevel::Log, exec, WTF::move(arguments), ArgumentNotRequired);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ConsoleClient::groupCollapsed(ExecState* exec, PassRefPtr&lt;ScriptArguments&gt; arguments)
</del><ins>+void ConsoleClient::groupCollapsed(ExecState* exec, RefPtr&lt;ScriptArguments&gt;&amp;&amp; arguments)
</ins><span class="cx"> {
</span><del>-    internalMessageWithTypeAndLevel(MessageType::StartGroupCollapsed, MessageLevel::Log, exec, arguments, ArgumentNotRequired);
</del><ins>+    internalMessageWithTypeAndLevel(MessageType::StartGroupCollapsed, MessageLevel::Log, exec, WTF::move(arguments), ArgumentNotRequired);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ConsoleClient::groupEnd(ExecState* exec, PassRefPtr&lt;ScriptArguments&gt; arguments)
</del><ins>+void ConsoleClient::groupEnd(ExecState* exec, RefPtr&lt;ScriptArguments&gt;&amp;&amp; arguments)
</ins><span class="cx"> {
</span><del>-    internalMessageWithTypeAndLevel(MessageType::EndGroup, MessageLevel::Log, exec, arguments, ArgumentNotRequired);
</del><ins>+    internalMessageWithTypeAndLevel(MessageType::EndGroup, MessageLevel::Log, exec, WTF::move(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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/ConsoleClient.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/runtime/ConsoleClient.h        2015-01-07 23:29:03 UTC (rev 178060)
</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*, PassRefPtr&lt;Inspector::ScriptArguments&gt;);
</del><ins>+    JS_EXPORT_PRIVATE static void printConsoleMessageWithArguments(MessageSource, MessageType, MessageLevel, JSC::ExecState*, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp;);
</ins><span class="cx"> 
</span><del>-    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;);
</del><ins>+    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;);
</ins><span class="cx"> 
</span><del>-    virtual void messageWithTypeAndLevel(MessageType, MessageLevel, JSC::ExecState*, PassRefPtr&lt;Inspector::ScriptArguments&gt;) = 0;
-    virtual void count(ExecState*, PassRefPtr&lt;Inspector::ScriptArguments&gt;) = 0;
</del><ins>+    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;
</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*, PassRefPtr&lt;Inspector::ScriptArguments&gt;) = 0;
</del><ins>+    virtual void timeStamp(ExecState*, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp;) = 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*, PassRefPtr&lt;Inspector::ScriptArguments&gt;, ArgumentRequirement);
</del><ins>+    void internalMessageWithTypeAndLevel(MessageType, MessageLevel, JSC::ExecState*, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp;, 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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/TypeSet.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/runtime/TypeSet.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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>-PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Runtime::StructureDescription&gt;&gt; TypeSet::allStructureRepresentations() const
</del><ins>+Ref&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Runtime::StructureDescription&gt;&gt; TypeSet::allStructureRepresentations() const
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Runtime::StructureDescription&gt;&gt; description = Inspector::Protocol::Array&lt;Inspector::Protocol::Runtime::StructureDescription&gt;::create();
</del><ins>+    auto 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 description.release();
</del><ins>+    return WTF::move(description);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Inspector::Protocol::Runtime::TypeSet&gt; TypeSet::inspectorTypeSet() const
</del><ins>+Ref&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>-PassRefPtr&lt;Inspector::Protocol::Runtime::StructureDescription&gt; StructureShape::inspectorRepresentation()
</del><ins>+Ref&lt;Inspector::Protocol::Runtime::StructureDescription&gt; StructureShape::inspectorRepresentation()
</ins><span class="cx"> {
</span><del>-    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;
</del><ins>+    auto base = Inspector::Protocol::Runtime::StructureDescription::create().release();
+    Ref&lt;Inspector::Protocol::Runtime::StructureDescription&gt; currentObject = base.copyRef();
+    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(fields);
-        currentObject-&gt;setOptionalFields(optionalFields);
</del><ins>+        currentObject-&gt;setFields(&amp;fields.get());
+        currentObject-&gt;setOptionalFields(&amp;optionalFields.get());
</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>-            RefPtr&lt;Inspector::Protocol::Runtime::StructureDescription&gt; nextObject = Inspector::Protocol::Runtime::StructureDescription::create();
-            currentObject-&gt;setPrototypeStructure(nextObject);
-            currentObject = nextObject;
</del><ins>+            auto nextObject = Inspector::Protocol::Runtime::StructureDescription::create().release();
+            currentObject-&gt;setPrototypeStructure(&amp;nextObject.get());
+            currentObject = WTF::move(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 base.release();
</del><ins>+    return WTF::move(base);
</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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/TypeSet.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/JavaScriptCore/runtime/TypeSet.h        2015-01-07 23:29:03 UTC (rev 178060)
</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>-    PassRefPtr&lt;Inspector::Protocol::Runtime::StructureDescription&gt; inspectorRepresentation();
</del><ins>+    Ref&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>-    PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Runtime::StructureDescription&gt;&gt; allStructureRepresentations() const;
</del><ins>+    Ref&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>-    PassRefPtr&lt;Inspector::Protocol::Runtime::TypeSet&gt; inspectorTypeSet() const;
</del><ins>+    Ref&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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/ChangeLog        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WTF/ChangeLog        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -1,3 +1,13 @@
</span><ins>+2015-01-07  Brian J. Burg  &lt;burg@cs.washington.edu&gt;
+
+        Web Inspector: purge PassRefPtr from Inspector code and use Ref for typed and untyped protocol objects
+        https://bugs.webkit.org/show_bug.cgi?id=140053
+
+        Reviewed by Andreas Kling.
+
+        * wtf/Stopwatch.h:
+        (WTF::Stopwatch::create): Return a Ref.
+
</ins><span class="cx"> 2015-01-07  Commit Queue  &lt;commit-queue@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         Unreviewed, rolling out r178039.
</span></span></pre></div>
<a id="trunkSourceWTFwtfStopwatchh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/Stopwatch.h (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/Stopwatch.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WTF/wtf/Stopwatch.h        2015-01-07 23:29:03 UTC (rev 178060)
</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 PassRefPtr&lt;Stopwatch&gt; create()
</del><ins>+    static Ref&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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/ChangeLog        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -1,3 +1,334 @@
</span><ins>+2015-01-07  Brian J. Burg  &lt;burg@cs.washington.edu&gt;
+
+        Web Inspector: purge PassRefPtr from Inspector code and use Ref for typed and untyped protocol objects
+        https://bugs.webkit.org/show_bug.cgi?id=140053
+
+        Reviewed by Andreas Kling.
+
+        This patch replaces uses of PassRefPtr with uses of RefPtr&amp;&amp; and WTF::move() in code
+        related to Web Inspector. It also converts many uses of RefPtr to Ref where
+        references are always non-null. These two refactorings have been combined since
+        they tend to require similar changes to the code.
+
+        No new tests, no behavior changed.
+
+        * Modules/webdatabase/DatabaseManager.cpp:
+        (WebCore::DatabaseManager::openDatabase):
+        * dom/Document.cpp:
+        (WebCore::Document::logExceptionToConsole):
+        (WebCore::Document::addMessage):
+        * dom/Document.h:
+        * dom/ScriptExecutionContext.cpp:
+        (WebCore::ScriptExecutionContext::reportException):
+        * dom/ScriptExecutionContext.h:
+        * html/parser/XSSAuditorDelegate.cpp:
+        (WebCore::XSSAuditorDelegate::generateViolationReport):
+        * inspector/CommandLineAPIHost.cpp:
+        (WebCore::CommandLineAPIHost::inspectImpl):
+        * inspector/CommandLineAPIHost.h:
+        * inspector/InspectorApplicationCacheAgent.cpp:
+        (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
+        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
+        (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
+        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
+        * inspector/InspectorApplicationCacheAgent.h:
+        * inspector/InspectorCSSAgent.cpp:
+        (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
+        (WebCore::InspectorCSSAgent::getComputedStyleForNode):
+        (WebCore::InspectorCSSAgent::setStyleText):
+        (WebCore::InspectorCSSAgent::setPropertyText):
+        (WebCore::InspectorCSSAgent::toggleProperty):
+        (WebCore::InspectorCSSAgent::setRuleSelector):
+        (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
+        (WebCore::InspectorCSSAgent::forcePseudoState):
+        (WebCore::InspectorCSSAgent::getNamedFlowCollection):
+        (WebCore::InspectorCSSAgent::detectOrigin):
+        (WebCore::InspectorCSSAgent::buildObjectForRule):
+        (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
+        (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
+        (WebCore::InspectorCSSAgent::buildArrayForRegions):
+        (WebCore::InspectorCSSAgent::buildObjectForNamedFlow):
+        * inspector/InspectorCSSAgent.h:
+        * inspector/InspectorConsoleInstrumentation.h:
+        (WebCore::InspectorInstrumentation::addMessageToConsole):
+        (WebCore::InspectorInstrumentation::consoleCount):
+        (WebCore::InspectorInstrumentation::stopConsoleTiming):
+        (WebCore::InspectorInstrumentation::consoleTimeStamp):
+        (WebCore::InspectorInstrumentation::stopProfiling):
+        * inspector/InspectorController.cpp:
+        (WebCore::InspectorController::buildObjectForHighlightedNode):
+        (WebCore::InspectorController::executionStopwatch):
+        * inspector/InspectorController.h:
+        * inspector/InspectorDOMAgent.cpp:
+        (WebCore::parseColor):
+        (WebCore::parseConfigColor):
+        (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
+        (WebCore::InspectorDOMAgent::performSearch):
+        (WebCore::InspectorDOMAgent::setInspectModeEnabled):
+        (WebCore::InspectorDOMAgent::highlightRect):
+        (WebCore::InspectorDOMAgent::highlightQuad):
+        (WebCore::InspectorDOMAgent::innerHighlightQuad):
+        (WebCore::InspectorDOMAgent::highlightNode):
+        (WebCore::InspectorDOMAgent::highlightFrame):
+        (WebCore::InspectorDOMAgent::buildObjectForNode):
+        (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
+        (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
+        (WebCore::InspectorDOMAgent::buildObjectForEventListener):
+        (WebCore::InspectorDOMAgent::processAccessibilityChildren):
+        (WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
+        (WebCore::InspectorDOMAgent::didCommitLoad):
+        (WebCore::InspectorDOMAgent::didInsertDOMNode):
+        (WebCore::InspectorDOMAgent::styleAttributeInvalidated):
+        (WebCore::InspectorDOMAgent::resolveNode):
+        * inspector/InspectorDOMAgent.h:
+        * inspector/InspectorDOMDebuggerAgent.cpp:
+        (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
+        (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
+        (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
+        (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
+        (WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
+        (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
+        (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
+        * inspector/InspectorDOMDebuggerAgent.h:
+        * inspector/InspectorDOMStorageAgent.cpp:
+        (WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
+        (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
+        (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
+        (WebCore::InspectorDOMStorageAgent::storageId):
+        (WebCore::InspectorDOMStorageAgent::findStorageArea):
+        * inspector/InspectorDOMStorageAgent.h:
+        * inspector/InspectorDatabaseAgent.cpp: Use Ref for all callbacks since they are
+        not nullable.
+        (WebCore::InspectorDatabaseAgent::executeSQL):
+        * inspector/InspectorDatabaseAgent.h:
+        * inspector/InspectorDatabaseInstrumentation.h:
+        (WebCore::InspectorInstrumentation::didOpenDatabase):
+        * inspector/InspectorDatabaseResource.cpp:
+        (WebCore::InspectorDatabaseResource::create):
+        (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
+        (WebCore::InspectorDatabaseResource::bind):
+        * inspector/InspectorDatabaseResource.h:
+        (WebCore::InspectorDatabaseResource::setDatabase):
+        * inspector/InspectorFrontendHost.h:
+        (WebCore::InspectorFrontendHost::create):
+        * inspector/InspectorIndexedDBAgent.cpp: Use Ref for all callbacks since they are
+        not nullable.
+        (WebCore::InspectorIndexedDBAgent::requestDatabaseNames):
+        (WebCore::InspectorIndexedDBAgent::requestDatabase):
+        (WebCore::InspectorIndexedDBAgent::requestData):
+        (WebCore::ClearObjectStoreListener::create):
+        (WebCore::ClearObjectStoreListener::ClearObjectStoreListener):
+        (WebCore::ClearObjectStore::create):
+        (WebCore::ClearObjectStore::ClearObjectStore):
+        (WebCore::InspectorIndexedDBAgent::clearObjectStore):
+        * inspector/InspectorIndexedDBAgent.h:
+        * inspector/InspectorInstrumentation.cpp:
+        (WebCore::InspectorInstrumentation::willLoadXHRImpl):
+        (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
+        (WebCore::InspectorInstrumentation::consoleCountImpl):
+        (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
+        (WebCore::InspectorInstrumentation::consoleTimeStampImpl):
+        (WebCore::InspectorInstrumentation::stopProfilingImpl):
+        (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
+        (WebCore::InspectorInstrumentation::sessionCreatedImpl):
+        (WebCore::InspectorInstrumentation::sessionLoadedImpl):
+        (WebCore::InspectorInstrumentation::sessionModifiedImpl):
+        (WebCore::InspectorInstrumentation::segmentCreatedImpl):
+        (WebCore::InspectorInstrumentation::segmentCompletedImpl):
+        (WebCore::InspectorInstrumentation::segmentLoadedImpl):
+        (WebCore::InspectorInstrumentation::willLoadXHRSynchronouslyImpl): Deleted.
+        (WebCore::InspectorInstrumentation::didLoadXHRSynchronouslyImpl): Deleted.
+        (WebCore::InspectorInstrumentation::startProfilingImpl): Deleted.
+        (WebCore::InspectorInstrumentation::didDispatchDOMStorageEventImpl): Deleted.
+        (WebCore::InspectorInstrumentation::willEvaluateWorkerScript): Deleted.
+        (WebCore::InspectorInstrumentation::captureStoppedImpl): Deleted.
+        (WebCore::InspectorInstrumentation::playbackStartedImpl): Deleted.
+        (WebCore::InspectorInstrumentation::playbackPausedImpl): Deleted.
+        (WebCore::InspectorInstrumentation::playbackHitPositionImpl): Deleted.
+        (WebCore::InspectorInstrumentation::playbackFinishedImpl): Deleted.
+        (WebCore::InspectorInstrumentation::networkStateChangedImpl): Deleted.
+        * inspector/InspectorInstrumentation.h:
+        (WebCore::InspectorInstrumentation::willLoadXHR):
+        (WebCore::InspectorInstrumentation::sessionCreated):
+        (WebCore::InspectorInstrumentation::sessionLoaded):
+        (WebCore::InspectorInstrumentation::sessionModified):
+        (WebCore::InspectorInstrumentation::segmentCreated):
+        (WebCore::InspectorInstrumentation::segmentCompleted):
+        (WebCore::InspectorInstrumentation::segmentLoaded):
+        (WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClient): Deleted.
+        (WebCore::InspectorInstrumentation::didSendWebSocketFrame): Deleted.
+        * inspector/InspectorLayerTreeAgent.cpp:
+        (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
+        (WebCore::InspectorLayerTreeAgent::buildObjectForIntRect):
+        (WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):
+        * inspector/InspectorLayerTreeAgent.h:
+        * inspector/InspectorOverlay.cpp:
+        (WebCore::buildObjectForPoint):
+        (WebCore::buildObjectForRect):
+        (WebCore::buildArrayForQuad):
+        (WebCore::buildObjectForHighlight):
+        (WebCore::buildObjectForRegionHighlight):
+        (WebCore::buildObjectForCSSRegionsHighlight):
+        (WebCore::buildObjectForSize):
+        (WebCore::buildObjectForCSSRegionContentClip):
+        (WebCore::InspectorOverlay::drawPaintRects):
+        (WebCore::buildObjectForRendererFragments):
+        (WebCore::buildObjectForShapeOutside):
+        (WebCore::buildObjectForElementInfo):
+        (WebCore::InspectorOverlay::buildObjectForHighlightedNode):
+        (WebCore::InspectorOverlay::reset):
+        (WebCore::InspectorOverlay::evaluateInOverlay):
+        * inspector/InspectorOverlay.h:
+        * inspector/InspectorPageAgent.cpp:
+        (WebCore::createXHRTextDecoder):
+        (WebCore::buildObjectForCookie):
+        (WebCore::buildArrayForCookies):
+        (WebCore::buildObjectForSearchResult):
+        (WebCore::InspectorPageAgent::buildObjectForFrame):
+        (WebCore::InspectorPageAgent::buildObjectForFrameTree):
+        * inspector/InspectorPageAgent.h:
+        * inspector/InspectorReplayAgent.cpp:
+        (WebCore::buildInspectorObjectForPosition):
+        (WebCore::buildInspectorObjectForInput):
+        (WebCore::buildInspectorObjectForSession):
+        (WebCore::buildInspectorObjectForSegment):
+        (WebCore::InspectorReplayAgent::replayToPosition):
+        (WebCore::InspectorReplayAgent::getSessionData):
+        (WebCore::InspectorReplayAgent::getSegmentData):
+        * inspector/InspectorReplayAgent.h:
+        * inspector/InspectorResourceAgent.cpp:
+        (WebCore::buildObjectForHeaders):
+        (WebCore::buildObjectForTiming):
+        (WebCore::buildObjectForResourceRequest):
+        (WebCore::buildObjectForResourceResponse):
+        (WebCore::buildObjectForCachedResource):
+        (WebCore::InspectorResourceAgent::willLoadXHR):
+        (WebCore::InspectorResourceAgent::buildInitiatorObject):
+        (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
+        (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
+        (WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
+        (WebCore::InspectorResourceAgent::didSendWebSocketFrame):
+        (WebCore::InspectorResourceAgent::setExtraHTTPHeaders):
+        (WebCore::InspectorResourceAgent::loadResource):
+        (WebCore::InspectorResourceAgent::documentThreadableLoaderStartedLoadingForClient): Deleted.
+        (WebCore::InspectorResourceAgent::didScheduleStyleRecalculation): Deleted.
+        (WebCore::InspectorResourceAgent::disable): Deleted.
+        (WebCore::InspectorResourceAgent::setCacheDisabled): Deleted.
+        * inspector/InspectorResourceAgent.h:
+        * inspector/InspectorStyleSheet.cpp:
+        (ParsedStyleSheet::ruleSourceDataAt):
+        (WebCore::buildSourceRangeObject):
+        (WebCore::buildMediaObject):
+        (WebCore::asCSSRuleList):
+        (WebCore::fillMediaListChain):
+        (WebCore::InspectorStyle::create):
+        (WebCore::InspectorStyle::InspectorStyle):
+        (WebCore::InspectorStyle::buildObjectForStyle):
+        (WebCore::InspectorStyle::buildArrayForComputedStyle):
+        (WebCore::InspectorStyle::styleWithProperties):
+        (WebCore::InspectorStyle::extractSourceData):
+        (WebCore::InspectorStyleSheet::create):
+        (WebCore::InspectorStyleSheet::InspectorStyleSheet):
+        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
+        (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
+        (WebCore::buildObjectForSelectorHelper):
+        (WebCore::selectorsFromSource):
+        (WebCore::InspectorStyleSheet::buildObjectForSelector):
+        (WebCore::InspectorStyleSheet::buildObjectForSelectorList):
+        (WebCore::InspectorStyleSheet::buildObjectForRule):
+        (WebCore::InspectorStyleSheet::buildObjectForStyle):
+        (WebCore::InspectorStyleSheet::toggleProperty):
+        (WebCore::InspectorStyleSheet::inspectorStyleForId):
+        (WebCore::InspectorStyleSheet::rememberInspectorStyle):
+        (WebCore::InspectorStyleSheet::buildArrayForRuleList):
+        (WebCore::InspectorStyleSheet::collectFlatRules):
+        (WebCore::InspectorStyleSheetForInlineStyle::create):
+        (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
+        (WebCore::InspectorStyleSheetForInlineStyle::inspectorStyleForId):
+        * inspector/InspectorStyleSheet.h:
+        (WebCore::InspectorCSSId::InspectorCSSId):
+        (WebCore::InspectorCSSId::asProtocolValue):
+        * inspector/InspectorTimelineAgent.cpp:
+        (WebCore::InspectorTimelineAgent::startFromConsole):
+        (WebCore::InspectorTimelineAgent::stopFromConsole):
+        (WebCore::InspectorTimelineAgent::addRecordToTimeline):
+        (WebCore::InspectorTimelineAgent::didCompleteRecordEntry):
+        (WebCore::InspectorTimelineAgent::appendRecord):
+        (WebCore::InspectorTimelineAgent::sendEvent):
+        (WebCore::InspectorTimelineAgent::createRecordEntry):
+        (WebCore::InspectorTimelineAgent::pushCurrentRecord):
+        * inspector/InspectorTimelineAgent.h:
+        * inspector/InspectorWorkerAgent.cpp:
+        (WebCore::InspectorWorkerAgent::sendMessageToWorker):
+        * inspector/InspectorWorkerAgent.h:
+        * inspector/NetworkResourcesData.cpp:
+        (WebCore::XHRReplayData::create):
+        (WebCore::XHRReplayData::XHRReplayData):
+        * inspector/NetworkResourcesData.h:
+        (WebCore::NetworkResourcesData::ResourceData::decoder):
+        (WebCore::NetworkResourcesData::ResourceData::setDecoder):
+        (WebCore::NetworkResourcesData::ResourceData::buffer):
+        (WebCore::NetworkResourcesData::ResourceData::setBuffer):
+        * inspector/TimelineRecordFactory.cpp:
+        (WebCore::TimelineRecordFactory::createGenericRecord):
+        (WebCore::TimelineRecordFactory::createBackgroundRecord):
+        (WebCore::TimelineRecordFactory::createGCEventData):
+        (WebCore::TimelineRecordFactory::createFunctionCallData):
+        (WebCore::TimelineRecordFactory::createConsoleProfileData):
+        (WebCore::TimelineRecordFactory::createProbeSampleData):
+        (WebCore::TimelineRecordFactory::createEventDispatchData):
+        (WebCore::TimelineRecordFactory::createGenericTimerData):
+        (WebCore::TimelineRecordFactory::createTimerInstallData):
+        (WebCore::TimelineRecordFactory::createXHRReadyStateChangeData):
+        (WebCore::TimelineRecordFactory::createXHRLoadData):
+        (WebCore::TimelineRecordFactory::createEvaluateScriptData):
+        (WebCore::TimelineRecordFactory::createTimeStampData):
+        (WebCore::TimelineRecordFactory::createScheduleResourceRequestData):
+        (WebCore::TimelineRecordFactory::createResourceSendRequestData):
+        (WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
+        (WebCore::TimelineRecordFactory::createResourceFinishData):
+        (WebCore::TimelineRecordFactory::createReceiveResourceData):
+        (WebCore::TimelineRecordFactory::createLayoutData):
+        (WebCore::TimelineRecordFactory::createDecodeImageData):
+        (WebCore::TimelineRecordFactory::createResizeImageData):
+        (WebCore::TimelineRecordFactory::createMarkData):
+        (WebCore::TimelineRecordFactory::createParseHTMLData):
+        (WebCore::TimelineRecordFactory::createAnimationFrameData):
+        (WebCore::createQuad):
+        (WebCore::TimelineRecordFactory::createPaintData):
+        (WebCore::buildInspectorObject):
+        (WebCore::buildProfileInspectorObject):
+        (WebCore::TimelineRecordFactory::appendProfile):
+        * inspector/TimelineRecordFactory.h:
+        (WebCore::TimelineRecordFactory::createWebSocketCreateData):
+        (WebCore::TimelineRecordFactory::createGenericWebSocketData):
+        * inspector/WorkerInspectorController.cpp:
+        (WebCore::WorkerInspectorController::executionStopwatch):
+        * inspector/WorkerInspectorController.h:
+        * page/PageConsoleClient.cpp:
+        (WebCore::PageConsoleClient::addMessage):
+        (WebCore::PageConsoleClient::messageWithTypeAndLevel):
+        (WebCore::PageConsoleClient::count):
+        (WebCore::PageConsoleClient::profileEnd):
+        (WebCore::PageConsoleClient::timeEnd):
+        (WebCore::PageConsoleClient::timeStamp):
+        * page/PageConsoleClient.h:
+        * replay/ReplayController.cpp:
+        (WebCore::ReplayController::switchSession):
+        (WebCore::ReplayController::createSegment):
+        (WebCore::ReplayController::completeSegment):
+        (WebCore::ReplayController::loadSegmentAtIndex):
+        * replay/ReplayInputCreationMethods.cpp:
+        (WebCore::InitialNavigation::createFromPage):
+        * workers/SharedWorkerGlobalScope.cpp:
+        (WebCore::SharedWorkerGlobalScope::logExceptionToConsole):
+        * workers/SharedWorkerGlobalScope.h:
+        * workers/WorkerGlobalScope.cpp:
+        (WebCore::WorkerGlobalScope::logExceptionToConsole):
+        (WebCore::WorkerGlobalScope::addMessage):
+        (WebCore::WorkerGlobalScope::addMessageToWorkerConsole):
+        * workers/WorkerGlobalScope.h:
+
</ins><span class="cx"> 2015-01-07  Anders Carlsson  &lt;andersca@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Annotate properties that start with &quot;new&quot; so they'll work under ARC
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebdatabaseDatabaseManagercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/webdatabase/DatabaseManager.cpp (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/webdatabase/DatabaseManager.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/Modules/webdatabase/DatabaseManager.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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, context-&gt;securityOrigin()-&gt;host(), name, expectedVersion);
</del><ins>+    InspectorInstrumentation::didOpenDatabase(context, database.copyRef(), 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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/dom/Document.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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, PassRefPtr&lt;Inspector::ScriptCallStack&gt; callStack)
</del><ins>+void Document::logExceptionToConsole(const String&amp; errorMessage, const String&amp; sourceURL, int lineNumber, int columnNumber, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp; callStack)
</ins><span class="cx"> {
</span><del>-    addMessage(MessageSource::JS, MessageLevel::Error, errorMessage, sourceURL, lineNumber, columnNumber, callStack);
</del><ins>+    addMessage(MessageSource::JS, MessageLevel::Error, errorMessage, sourceURL, lineNumber, columnNumber, WTF::move(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, PassRefPtr&lt;Inspector::ScriptCallStack&gt; 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, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp; 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, callStack, state, requestIdentifier);
</del><ins>+        page-&gt;console().addMessage(source, level, message, sourceURL, lineNumber, columnNumber, WTF::move(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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/Document.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/dom/Document.h        2015-01-07 23:29:03 UTC (rev 178060)
</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, PassRefPtr&lt;Inspector::ScriptCallStack&gt;) override final;
</del><ins>+    virtual void logExceptionToConsole(const String&amp; errorMessage, const String&amp; sourceURL, int lineNumber, int columnNumber, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp;) 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, PassRefPtr&lt;Inspector::ScriptCallStack&gt;, 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, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp;, 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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ScriptExecutionContext.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/dom/ScriptExecutionContext.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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, PassRefPtr&lt;ScriptCallStack&gt; callStack, CachedScript* cachedScript)
</del><ins>+void ScriptExecutionContext::reportException(const String&amp; errorMessage, int lineNumber, int columnNumber, const String&amp; sourceURL, RefPtr&lt;ScriptCallStack&gt;&amp;&amp; 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));
</del><ins>+        m_pendingExceptions-&gt;append(std::make_unique&lt;PendingException&gt;(errorMessage, lineNumber, columnNumber, sourceURL, callStack.copyRef()));
</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);
</del><ins>+        logExceptionToConsole(errorMessage, sourceURL, lineNumber, columnNumber, callStack.copyRef());
</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);
</del><ins>+        logExceptionToConsole(exception-&gt;m_errorMessage, exception-&gt;m_sourceURL, exception-&gt;m_lineNumber, exception-&gt;m_columnNumber, exception-&gt;m_callStack.copyRef());
</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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/ScriptExecutionContext.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/dom/ScriptExecutionContext.h        2015-01-07 23:29:03 UTC (rev 178060)
</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, PassRefPtr&lt;Inspector::ScriptCallStack&gt;, CachedScript* = nullptr);
</del><ins>+    void reportException(const String&amp; errorMessage, int lineNumber, int columnNumber, const String&amp; sourceURL, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp;, 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, PassRefPtr&lt;Inspector::ScriptCallStack&gt;, 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, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp;, 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, PassRefPtr&lt;Inspector::ScriptCallStack&gt;) = 0;
</del><ins>+    virtual void logExceptionToConsole(const String&amp; errorMessage, const String&amp; sourceURL, int lineNumber, int columnNumber, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp;) = 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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/html/parser/XSSAuditorDelegate.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/html/parser/XSSAuditorDelegate.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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>-    RefPtr&lt;InspectorObject&gt; reportDetails = InspectorObject::create();
</del><ins>+    Ref&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>-    RefPtr&lt;InspectorObject&gt; reportObject = InspectorObject::create();
-    reportObject-&gt;setObject(&quot;xss-report&quot;, reportDetails.release());
</del><ins>+    Ref&lt;InspectorObject&gt; reportObject = InspectorObject::create();
+    reportObject-&gt;setObject(&quot;xss-report&quot;, WTF::move(reportDetails));
</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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/CommandLineAPIHost.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/CommandLineAPIHost.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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(PassRefPtr&lt;InspectorValue&gt; object, PassRefPtr&lt;InspectorValue&gt; hints)
</del><ins>+void CommandLineAPIHost::inspectImpl(RefPtr&lt;InspectorValue&gt;&amp;&amp; object, RefPtr&lt;InspectorValue&gt;&amp;&amp; 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>-    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());
</del><ins>+    auto remoteObject = BindingTraits&lt;Inspector::Protocol::Runtime::RemoteObject&gt;::runtimeCast(WTF::move(object));
+    m_inspectorAgent-&gt;inspect(WTF::move(remoteObject), WTF::move(hintsObject));
</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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/CommandLineAPIHost.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/CommandLineAPIHost.h        2015-01-07 23:29:03 UTC (rev 178060)
</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(PassRefPtr&lt;Inspector::InspectorValue&gt; objectToInspect, PassRefPtr&lt;Inspector::InspectorValue&gt; hints);
</del><ins>+    void inspectImpl(RefPtr&lt;Inspector::InspectorValue&gt;&amp;&amp; objectToInspect, RefPtr&lt;Inspector::InspectorValue&gt;&amp;&amp; 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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorApplicationCacheAgent.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorApplicationCacheAgent.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -108,11 +108,12 @@
</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>-            RefPtr&lt;Inspector::Protocol::ApplicationCache::FrameWithManifest&gt; value = Inspector::Protocol::ApplicationCache::FrameWithManifest::create()
</del><ins>+            Ref&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()));
-            result-&gt;addItem(value);
</del><ins>+                .setStatus(static_cast&lt;int&gt;(host-&gt;status()))
+                .release();
+            result-&gt;addItem(WTF::move(value));
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="lines">@@ -151,7 +152,7 @@
</span><span class="cx">     applicationCache = buildObjectForApplicationCache(resources, info);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Inspector::Protocol::ApplicationCache::ApplicationCache&gt; InspectorApplicationCacheAgent::buildObjectForApplicationCache(const ApplicationCacheHost::ResourceInfoList&amp; applicationCacheResources, const ApplicationCacheHost::CacheInfo&amp; applicationCacheInfo)
</del><ins>+Ref&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">@@ -162,17 +163,17 @@
</span><span class="cx">         .release();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::ApplicationCache::ApplicationCacheResource&gt;&gt; InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources(const ApplicationCacheHost::ResourceInfoList&amp; applicationCacheResources)
</del><ins>+Ref&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::ApplicationCache::ApplicationCacheResource&gt;&gt; InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources(const ApplicationCacheHost::ResourceInfoList&amp; applicationCacheResources)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::ApplicationCache::ApplicationCacheResource&gt;&gt; resources = Inspector::Protocol::Array&lt;Inspector::Protocol::ApplicationCache::ApplicationCacheResource&gt;::create();
</del><ins>+    auto 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 resources;
</del><ins>+    return WTF::move(resources);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Inspector::Protocol::ApplicationCache::ApplicationCacheResource&gt; InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource(const ApplicationCacheHost::ResourceInfo&amp; resourceInfo)
</del><ins>+Ref&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">@@ -191,11 +192,11 @@
</span><span class="cx">     if (resourceInfo.m_isExplicit)
</span><span class="cx">         types.appendLiteral(&quot;Explicit &quot;);
</span><span class="cx"> 
</span><del>-    RefPtr&lt;Inspector::Protocol::ApplicationCache::ApplicationCacheResource&gt; value = Inspector::Protocol::ApplicationCache::ApplicationCacheResource::create()
</del><ins>+    return 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());
-    return value;
</del><ins>+        .setType(types.toString())
+        .release();
</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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorApplicationCacheAgent.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorApplicationCacheAgent.h        2015-01-07 23:29:03 UTC (rev 178060)
</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>-    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;);
</del><ins>+    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;);
</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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorCSSAgent.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorCSSAgent.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -612,40 +612,42 @@
</span><span class="cx"> 
</span><span class="cx">     // Pseudo elements.
</span><span class="cx">     if (!includePseudo || *includePseudo) {
</span><del>-        RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::PseudoIdMatches&gt;&gt; pseudoElements = Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::PseudoIdMatches&gt;::create();
</del><ins>+        auto 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>-                RefPtr&lt;Inspector::Protocol::CSS::PseudoIdMatches&gt; matches = Inspector::Protocol::CSS::PseudoIdMatches::create()
</del><ins>+                auto matches = Inspector::Protocol::CSS::PseudoIdMatches::create()
</ins><span class="cx">                     .setPseudoId(static_cast&lt;int&gt;(pseudoId))
</span><del>-                    .setMatches(buildArrayForMatchedRuleList(matchedRules, styleResolver, element));
-                pseudoElements-&gt;addItem(matches.release());
</del><ins>+                    .setMatches(buildArrayForMatchedRuleList(matchedRules, styleResolver, element))
+                    .release();
+                pseudoElements-&gt;addItem(WTF::move(matches));
</ins><span class="cx">             }
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        pseudoIdMatches = pseudoElements.release();
</del><ins>+        pseudoIdMatches = WTF::move(pseudoElements);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // Inherited styles.
</span><span class="cx">     if (!includeInherited || *includeInherited) {
</span><del>-        RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::InheritedStyleEntry&gt;&gt; entries = Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::InheritedStyleEntry&gt;::create();
</del><ins>+        auto 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>-            RefPtr&lt;Inspector::Protocol::CSS::InheritedStyleEntry&gt; entry = Inspector::Protocol::CSS::InheritedStyleEntry::create()
-                .setMatchedCSSRules(buildArrayForMatchedRuleList(parentMatchedRules, styleResolver, parentElement));
</del><ins>+            auto entry = Inspector::Protocol::CSS::InheritedStyleEntry::create()
+                .setMatchedCSSRules(buildArrayForMatchedRuleList(parentMatchedRules, styleResolver, parentElement))
+                .release();
</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(entry.release());
</del><ins>+            entries-&gt;addItem(WTF::move(entry));
</ins><span class="cx">             parentElement = parentElement-&gt;parentElement();
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        inheritedEntries = entries.release();
</del><ins>+        inheritedEntries = WTF::move(entries);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -671,7 +673,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>-    RefPtr&lt;InspectorStyle&gt; inspectorStyle = InspectorStyle::create(InspectorCSSId(), computedStyleInfo, nullptr);
</del><ins>+    Ref&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">@@ -718,9 +720,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; 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;&amp; fullStyleId, const String&amp; text, RefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt;&amp; result)
</ins><span class="cx"> {
</span><del>-    InspectorCSSId compoundId(fullStyleId);
</del><ins>+    InspectorCSSId compoundId(fullStyleId.copyRef());
</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">@@ -734,9 +736,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; 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;&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);
</del><ins>+    InspectorCSSId compoundId(fullStyleId.copyRef());
</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">@@ -750,9 +752,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; 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;&amp; fullStyleId, int propertyIndex, bool disable, RefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt;&amp; result)
</ins><span class="cx"> {
</span><del>-    InspectorCSSId compoundId(fullStyleId);
</del><ins>+    InspectorCSSId compoundId(fullStyleId.copyRef());
</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">@@ -766,9 +768,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; 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;&amp; fullRuleId, const String&amp; selector, RefPtr&lt;Inspector::Protocol::CSS::CSSRule&gt;&amp; result)
</ins><span class="cx"> {
</span><del>-    InspectorCSSId compoundId(fullRuleId);
</del><ins>+    InspectorCSSId compoundId(fullRuleId.copyRef());
</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">@@ -811,29 +813,30 @@
</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>-    RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSPropertyInfo&gt;&gt; properties = Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSPropertyInfo&gt;::create();
</del><ins>+    auto 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>-        RefPtr&lt;Inspector::Protocol::CSS::CSSPropertyInfo&gt; property = Inspector::Protocol::CSS::CSSPropertyInfo::create()
-            .setName(getPropertyNameString(id));
</del><ins>+        auto property = Inspector::Protocol::CSS::CSSPropertyInfo::create()
+            .setName(getPropertyNameString(id))
+            .release();
</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(property.release());
</del><ins>+            properties-&gt;addItem(WTF::move(property));
</ins><span class="cx">             continue;
</span><span class="cx">         }
</span><del>-        RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; longhands = Inspector::Protocol::Array&lt;String&gt;::create();
</del><ins>+        auto 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(longhands.release());
-        properties-&gt;addItem(property.release());
</del><ins>+        property-&gt;setLonghands(WTF::move(longhands));
+        properties-&gt;addItem(WTF::move(property));
</ins><span class="cx">     }
</span><del>-    cssProperties = properties.release();
</del><ins>+    cssProperties = WTF::move(properties);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorCSSAgent::forcePseudoState(ErrorString&amp; errorString, int nodeId, const RefPtr&lt;InspectorArray&gt;&amp; forcedPseudoClasses)
</del><ins>+void InspectorCSSAgent::forcePseudoState(ErrorString&amp; errorString, int nodeId, const RefPtr&lt;InspectorArray&gt;&amp;&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">@@ -862,12 +865,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>-    RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::NamedFlow&gt;&gt; namedFlows = Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::NamedFlow&gt;::create();
</del><ins>+    auto 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 = namedFlows.release();
</del><ins>+    result = WTF::move(namedFlows);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> InspectorStyleSheetForInlineStyle* InspectorCSSAgent::asInspectorStyleSheet(Element* element)
</span><span class="lines">@@ -1000,7 +1003,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>-    Inspector::Protocol::CSS::StyleSheetOrigin origin = Inspector::Protocol::CSS::StyleSheetOrigin::Regular;
</del><ins>+    auto 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">@@ -1013,7 +1016,7 @@
</span><span class="cx">     return origin;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Inspector::Protocol::CSS::CSSRule&gt; InspectorCSSAgent::buildObjectForRule(StyleRule* styleRule, StyleResolver&amp; styleResolver)
</del><ins>+RefPtr&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">@@ -1027,7 +1030,7 @@
</span><span class="cx">     return inspectorStyleSheet ? inspectorStyleSheet-&gt;buildObjectForRule(cssomWrapper) : nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Inspector::Protocol::CSS::CSSRule&gt; InspectorCSSAgent::buildObjectForRule(CSSStyleRule* rule)
</del><ins>+RefPtr&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">@@ -1037,9 +1040,9 @@
</span><span class="cx">     return inspectorStyleSheet ? inspectorStyleSheet-&gt;buildObjectForRule(rule) : nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-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)
</del><ins>+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)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::RuleMatch&gt;&gt; result = Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::RuleMatch&gt;::create();
</del><ins>+    auto 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">@@ -1049,7 +1052,7 @@
</span><span class="cx">         if (!ruleObject)
</span><span class="cx">             continue;
</span><span class="cx"> 
</span><del>-        RefPtr&lt;Inspector::Protocol::Array&lt;int&gt;&gt; matchingSelectors = Inspector::Protocol::Array&lt;int&gt;::create();
</del><ins>+        auto 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">@@ -1060,16 +1063,17 @@
</span><span class="cx">             ++index;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        RefPtr&lt;Inspector::Protocol::CSS::RuleMatch&gt; match = Inspector::Protocol::CSS::RuleMatch::create()
-            .setRule(ruleObject.release())
-            .setMatchingSelectors(matchingSelectors.release());
-        result-&gt;addItem(match.release());
</del><ins>+        auto match = Inspector::Protocol::CSS::RuleMatch::create()
+            .setRule(WTF::move(ruleObject))
+            .setMatchingSelectors(WTF::move(matchingSelectors))
+            .release();
+        result-&gt;addItem(WTF::move(match));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return result.release();
</del><ins>+    return WTF::move(result);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt; InspectorCSSAgent::buildObjectForAttributesStyle(Element* element)
</del><ins>+RefPtr&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">@@ -1083,13 +1087,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>-    RefPtr&lt;InspectorStyle&gt; inspectorStyle = InspectorStyle::create(InspectorCSSId(), mutableAttributeStyle-&gt;ensureCSSStyleDeclaration(), nullptr);
</del><ins>+    Ref&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>-PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::Region&gt;&gt; InspectorCSSAgent::buildArrayForRegions(ErrorString&amp; errorString, PassRefPtr&lt;NodeList&gt; regionList, int documentNodeId)
</del><ins>+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)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::Region&gt;&gt; regions = Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::Region&gt;::create();
</del><ins>+    auto 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">@@ -1111,21 +1115,22 @@
</span><span class="cx">             continue;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        RefPtr&lt;Inspector::Protocol::CSS::Region&gt; region = Inspector::Protocol::CSS::Region::create()
</del><ins>+        auto 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)));
</del><ins>+            .setNodeId(m_domAgent-&gt;pushNodeToFrontend(errorString, documentNodeId, regionList-&gt;item(i)))
+            .release();
</ins><span class="cx"> 
</span><del>-        regions-&gt;addItem(region.release());
</del><ins>+        regions-&gt;addItem(WTF::move(region));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return regions.release();
</del><ins>+    return WTF::move(regions);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Inspector::Protocol::CSS::NamedFlow&gt; InspectorCSSAgent::buildObjectForNamedFlow(ErrorString&amp; errorString, WebKitNamedFlow* webkitNamedFlow, int documentNodeId)
</del><ins>+RefPtr&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>-    RefPtr&lt;Inspector::Protocol::Array&lt;int&gt;&gt; content = Inspector::Protocol::Array&lt;int&gt;::create();
</del><ins>+    auto 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">@@ -1136,7 +1141,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(content.release())
</del><ins>+        .setContent(WTF::move(content))
</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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorCSSAgent.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorCSSAgent.h        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -35,7 +35,6 @@
</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><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><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">@@ -118,13 +117,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; 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;
</del><ins>+    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;
</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; forcedPseudoClasses) override;
</del><ins>+    virtual void forcePseudoState(ErrorString&amp;, int nodeId, const RefPtr&lt;Inspector::InspectorArray&gt;&amp;&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">@@ -153,12 +152,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>-    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);
</del><ins>+    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);
</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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorConsoleInstrumentation.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorConsoleInstrumentation.h        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -35,15 +35,14 @@
</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><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><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, PassRefPtr&lt;Inspector::ScriptCallStack&gt; callStack, unsigned long requestIdentifier)
</del><ins>+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)
</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, callStack, requestIdentifier);
</del><ins>+        addMessageToConsoleImpl(*instrumentingAgents, source, type, level, message, WTF::move(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">@@ -55,11 +54,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, PassRefPtr&lt;Inspector::ScriptArguments&gt; 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, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp; 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, arguments, requestIdentifier);
</del><ins>+        addMessageToConsoleImpl(*instrumentingAgents, source, type, level, message, state, WTF::move(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">@@ -91,11 +90,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, PassRefPtr&lt;Inspector::ScriptCallStack&gt; callStack, unsigned long requestIdentifier)
</del><ins>+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)
</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, callStack, requestIdentifier);
</del><ins>+        addMessageToConsoleImpl(*instrumentingAgents, source, type, level, message, WTF::move(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">@@ -126,11 +125,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, PassRefPtr&lt;Inspector::ScriptArguments&gt; arguments)
</del><ins>+inline void InspectorInstrumentation::consoleCount(Page&amp; page, JSC::ExecState* state, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp; 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, arguments);
</del><ins>+        consoleCountImpl(*instrumentingAgents, state, WTF::move(arguments));
</ins><span class="cx"> #else
</span><span class="cx">     UNUSED_PARAM(page);
</span><span class="cx">     UNUSED_PARAM(state);
</span><span class="lines">@@ -149,11 +148,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, PassRefPtr&lt;Inspector::ScriptCallStack&gt; stack)
</del><ins>+inline void InspectorInstrumentation::stopConsoleTiming(Frame&amp; frame, const String&amp; title, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp; 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, stack);
</del><ins>+        stopConsoleTimingImpl(*instrumentingAgents, frame, title, WTF::move(stack));
</ins><span class="cx"> #else
</span><span class="cx">     UNUSED_PARAM(frame);
</span><span class="cx">     UNUSED_PARAM(title);
</span><span class="lines">@@ -161,12 +160,12 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void InspectorInstrumentation::consoleTimeStamp(Frame&amp; frame, PassRefPtr&lt;Inspector::ScriptArguments&gt; arguments)
</del><ins>+inline void InspectorInstrumentation::consoleTimeStamp(Frame&amp; frame, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp; 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, arguments);
</del><ins>+        consoleTimeStampImpl(*instrumentingAgents, frame, WTF::move(arguments));
</ins><span class="cx"> #else
</span><span class="cx">     UNUSED_PARAM(frame);
</span><span class="cx">     UNUSED_PARAM(arguments);
</span><span class="lines">@@ -185,7 +184,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline PassRefPtr&lt;JSC::Profile&gt; InspectorInstrumentation::stopProfiling(Page&amp; page, JSC::ExecState* exec, const String &amp;title)
</del><ins>+inline RefPtr&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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorController.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorController.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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>-PassRefPtr&lt;InspectorObject&gt; InspectorController::buildObjectForHighlightedNode() const
</del><ins>+RefPtr&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>-PassRefPtr&lt;Stopwatch&gt; InspectorController::executionStopwatch()
</del><ins>+Ref&lt;Stopwatch&gt; InspectorController::executionStopwatch()
</ins><span class="cx"> {
</span><del>-    return m_executionStopwatch;
</del><ins>+    return m_executionStopwatch.copyRef();
</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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorController.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorController.h        2015-01-07 23:29:03 UTC (rev 178060)
</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 PassRefPtr&lt;Inspector::InspectorObject&gt; buildObjectForHighlightedNode() const;
</del><ins>+    WEBCORE_EXPORT RefPtr&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 PassRefPtr&lt;WTF::Stopwatch&gt; executionStopwatch() override;
</del><ins>+    virtual Ref&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>-    RefPtr&lt;WTF::Stopwatch&gt; m_executionStopwatch;
</del><ins>+    Ref&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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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 PassRefPtr&lt;InspectorObject&gt; colorObject)
</del><ins>+static Color parseColor(const RefPtr&lt;InspectorObject&gt;&amp;&amp; colorObject)
</ins><span class="cx"> {
</span><span class="cx">     if (!colorObject)
</span><span class="cx">         return Color::transparent;
</span><span class="lines">@@ -132,8 +132,9 @@
</span><span class="cx"> 
</span><span class="cx"> static Color parseConfigColor(const String&amp; fieldName, InspectorObject* configObject)
</span><span class="cx"> {
</span><del>-    const RefPtr&lt;InspectorObject&gt; colorObject = configObject-&gt;getObject(fieldName);
-    return parseColor(colorObject);
</del><ins>+    RefPtr&lt;InspectorObject&gt; colorObject;
+    configObject-&gt;getObject(fieldName, colorObject);
+    return parseColor(WTF::move(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">@@ -579,9 +580,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>-            RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::DOM::Node&gt;&gt; children = Inspector::Protocol::Array&lt;Inspector::Protocol::DOM::Node&gt;::create();
</del><ins>+            auto 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, children);
</del><ins>+            m_frontendDispatcher-&gt;setChildNodes(0, WTF::move(children));
</ins><span class="cx">             break;
</span><span class="cx">         } else {
</span><span class="cx">             path.append(parent);
</span><span class="lines">@@ -876,15 +877,14 @@
</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;* nodeIds, String* searchId, int* resultCount)
</del><ins>+void InspectorDOMAgent::performSearch(ErrorString&amp; errorString, const String&amp; whitespaceTrimmedQuery, const RefPtr&lt;InspectorArray&gt;&amp;&amp; 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>-        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);
</del><ins>+        for (unsigned i = 0; i &lt; nodeIds-&gt;length(); ++i) {
+            RefPtr&lt;InspectorValue&gt; nodeValue = nodeIds-&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;* highlightConfig)
</del><ins>+void InspectorDOMAgent::setInspectModeEnabled(ErrorString&amp; errorString, bool enabled, const RefPtr&lt;InspectorObject&gt;&amp;&amp; highlightConfig)
</ins><span class="cx"> {
</span><del>-    setSearchingForNode(errorString, enabled, highlightConfig ? highlightConfig-&gt;get() : 0);
</del><ins>+    setSearchingForNode(errorString, enabled, highlightConfig ? highlightConfig.get() : nullptr);
</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;* color, const RefPtr&lt;InspectorObject&gt;* outlineColor, const bool* usePageCoordinates)
</del><ins>+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)
</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, outlineColor, usePageCoordinates);
</del><ins>+    innerHighlightQuad(WTF::move(quad), color.copyRef(), outlineColor.copyRef(), usePageCoordinates);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-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)
</del><ins>+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)
</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, outlineColor, usePageCoordinates);
</del><ins>+    innerHighlightQuad(WTF::move(quad), color.copyRef(), outlineColor.copyRef(), 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;* color, const RefPtr&lt;InspectorObject&gt;* outlineColor, const bool* usePageCoordinates)
</del><ins>+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)
</ins><span class="cx"> {
</span><span class="cx">     auto highlightConfig = std::make_unique&lt;HighlightConfig&gt;();
</span><del>-    highlightConfig-&gt;content = parseColor(*color);
-    highlightConfig-&gt;contentOutline = parseColor(*outlineColor);
</del><ins>+    highlightConfig-&gt;content = parseColor(color.copyRef());
+    highlightConfig-&gt;contentOutline = parseColor(outlineColor.copyRef());
</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; highlightInspectorObject, const int* nodeId, const String* objectId)
</del><ins>+void InspectorDOMAgent::highlightNode(ErrorString&amp; errorString, const RefPtr&lt;InspectorObject&gt;&amp;&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;* color, const RefPtr&lt;InspectorObject&gt;* outlineColor)
</del><ins>+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)
</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);
-        highlightConfig-&gt;contentOutline = parseColor(*outlineColor);
</del><ins>+        highlightConfig-&gt;content = parseColor(color.copyRef());
+        highlightConfig-&gt;contentOutline = parseColor(outlineColor.copyRef());
</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>-PassRefPtr&lt;Inspector::Protocol::DOM::Node&gt; InspectorDOMAgent::buildObjectForNode(Node* node, int depth, NodeToIdMap* nodesMap)
</del><ins>+Ref&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,19 +1253,20 @@
</span><span class="cx">         break;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    RefPtr&lt;Inspector::Protocol::DOM::Node&gt; value = Inspector::Protocol::DOM::Node::create()
</del><ins>+    auto 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);
</del><ins>+        .setNodeValue(nodeValue)
+        .release();
</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>-        RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::DOM::Node&gt;&gt; children = buildArrayForContainerChildren(node, depth, nodesMap);
</del><ins>+        Ref&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(children.release());
</del><ins>+            value-&gt;setChildren(WTF::move(children));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (is&lt;Element&gt;(*node)) {
</span><span class="lines">@@ -1282,9 +1283,9 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         if (ShadowRoot* root = element.shadowRoot()) {
</span><del>-            RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::DOM::Node&gt;&gt; shadowRoots = Inspector::Protocol::Array&lt;Inspector::Protocol::DOM::Node&gt;::create();
</del><ins>+            auto 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(shadowRoots);
</del><ins>+            value-&gt;setShadowRoots(WTF::move(shadowRoots));
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(TEMPLATE_ELEMENT)
</span><span class="lines">@@ -1317,26 +1318,26 @@
</span><span class="cx">             value-&gt;setRole(axObject-&gt;computedRoleString());
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return value.release();
</del><ins>+    return WTF::move(value);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; InspectorDOMAgent::buildArrayForElementAttributes(Element* element)
</del><ins>+Ref&lt;Inspector::Protocol::Array&lt;String&gt;&gt; InspectorDOMAgent::buildArrayForElementAttributes(Element* element)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; attributesValue = Inspector::Protocol::Array&lt;String&gt;::create();
</del><ins>+    auto 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 attributesValue.release();
</del><ins>+        return WTF::move(attributesValue);
</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 attributesValue.release();
</del><ins>+    return WTF::move(attributesValue);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::DOM::Node&gt;&gt; InspectorDOMAgent::buildArrayForContainerChildren(Node* container, int depth, NodeToIdMap* nodesMap)
</del><ins>+Ref&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>-    RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::DOM::Node&gt;&gt; children = Inspector::Protocol::Array&lt;Inspector::Protocol::DOM::Node&gt;::create();
</del><ins>+    auto 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">@@ -1344,7 +1345,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 children.release();
</del><ins>+        return WTF::move(children);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     Node* child = innerFirstChild(container);
</span><span class="lines">@@ -1355,10 +1356,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 children.release();
</del><ins>+    return WTF::move(children);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Inspector::Protocol::DOM::EventListener&gt; InspectorDOMAgent::buildObjectForEventListener(const RegisteredEventListener&amp; registeredEventListener, const AtomicString&amp; eventType, Node* node, const String* objectGroupId)
</del><ins>+Ref&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">@@ -1386,29 +1387,31 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    RefPtr&lt;Inspector::Protocol::DOM::EventListener&gt; value = Inspector::Protocol::DOM::EventListener::create()
</del><ins>+    auto 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);
</del><ins>+        .setHandlerBody(body)
+        .release();
</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>-        RefPtr&lt;Inspector::Protocol::Debugger::Location&gt; location = Inspector::Protocol::Debugger::Location::create()
</del><ins>+        auto location = Inspector::Protocol::Debugger::Location::create()
</ins><span class="cx">             .setScriptId(scriptID)
</span><del>-            .setLineNumber(lineNumber);
-        value-&gt;setLocation(location.release());
</del><ins>+            .setLineNumber(lineNumber)
+            .release();
+        value-&gt;setLocation(WTF::move(location));
</ins><span class="cx">         if (!sourceName.isEmpty())
</span><span class="cx">             value-&gt;setSourceName(sourceName);
</span><span class="cx">     }
</span><del>-    return value.release();
</del><ins>+    return WTF::move(value);
</ins><span class="cx"> }
</span><span class="cx">     
</span><del>-void InspectorDOMAgent::processAccessibilityChildren(PassRefPtr&lt;AccessibilityObject&gt; axObject, RefPtr&lt;Inspector::Protocol::Array&lt;int&gt;&gt;&amp; childNodeIds)
</del><ins>+void InspectorDOMAgent::processAccessibilityChildren(RefPtr&lt;AccessibilityObject&gt;&amp;&amp; axObject, RefPtr&lt;Inspector::Protocol::Array&lt;int&gt;&gt;&amp;&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">@@ -1421,11 +1424,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, childNodeIds);
</del><ins>+            processAccessibilityChildren(childObject.copyRef(), childNodeIds.copyRef());
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx">     
</span><del>-PassRefPtr&lt;Inspector::Protocol::DOM::AccessibilityProperties&gt; InspectorDOMAgent::buildObjectForAccessibilityProperties(Node* node)
</del><ins>+RefPtr&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">@@ -1436,7 +1439,7 @@
</span><span class="cx"> 
</span><span class="cx">     Node* activeDescendantNode = nullptr;
</span><span class="cx">     bool busy = false;
</span><del>-    Inspector::Protocol::DOM::AccessibilityProperties::Checked checked = Inspector::Protocol::DOM::AccessibilityProperties::Checked::False;
</del><ins>+    auto 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">@@ -1446,12 +1449,12 @@
</span><span class="cx">     bool focused = false;
</span><span class="cx">     bool ignored = true;
</span><span class="cx">     bool ignoredByDefault = false;
</span><del>-    Inspector::Protocol::DOM::AccessibilityProperties::Invalid invalid = Inspector::Protocol::DOM::AccessibilityProperties::Invalid::False;
</del><ins>+    auto 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>-    Inspector::Protocol::DOM::AccessibilityProperties::LiveRegionStatus liveRegionStatus = Inspector::Protocol::DOM::AccessibilityProperties::LiveRegionStatus::Off;
</del><ins>+    auto 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">@@ -1492,7 +1495,7 @@
</span><span class="cx">                     checked = Inspector::Protocol::DOM::AccessibilityProperties::Checked::True;
</span><span class="cx">             }
</span><span class="cx">             
</span><del>-            processAccessibilityChildren(axObject, childNodeIds);
</del><ins>+            processAccessibilityChildren(axObject, WTF::move(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">@@ -1622,11 +1625,12 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    RefPtr&lt;Inspector::Protocol::DOM::AccessibilityProperties&gt; value = Inspector::Protocol::DOM::AccessibilityProperties::create()
</del><ins>+    Ref&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));
</del><ins>+        .setNodeId(pushNodePathToFrontend(node))
+        .release();
</ins><span class="cx"> 
</span><span class="cx">     if (exists) {
</span><span class="cx">         if (activeDescendantNode)
</span><span class="lines">@@ -1679,7 +1683,7 @@
</span><span class="cx">             value-&gt;setSelectedChildNodeIds(selectedChildNodeIds);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return value.release();
</del><ins>+    return WTF::move(value);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> Node* InspectorDOMAgent::innerFirstChild(Node* node)
</span><span class="lines">@@ -1754,10 +1758,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>-    RefPtr&lt;Inspector::Protocol::DOM::Node&gt; value = buildObjectForNode(frameOwner, 0, &amp;m_documentNodeToIdMap);
</del><ins>+    Ref&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, value.release());
</del><ins>+    m_frontendDispatcher-&gt;childNodeInserted(parentId, prevId, WTF::move(value));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorDOMAgent::didInsertDOMNode(Node&amp; node)
</span><span class="lines">@@ -1784,8 +1788,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>-        RefPtr&lt;Inspector::Protocol::DOM::Node&gt; value = buildObjectForNode(&amp;node, 0, &amp;m_documentNodeToIdMap);
-        m_frontendDispatcher-&gt;childNodeInserted(parentId, prevId, value.release());
</del><ins>+        Ref&lt;Inspector::Protocol::DOM::Node&gt; value = buildObjectForNode(&amp;node, 0, &amp;m_documentNodeToIdMap);
+        m_frontendDispatcher-&gt;childNodeInserted(parentId, prevId, WTF::move(value));
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1849,7 +1853,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>-    RefPtr&lt;Inspector::Protocol::Array&lt;int&gt;&gt; nodeIds = Inspector::Protocol::Array&lt;int&gt;::create();
</del><ins>+    auto 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">@@ -1861,7 +1865,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(nodeIds.release());
</del><ins>+    m_frontendDispatcher-&gt;inlineStyleInvalidated(WTF::move(nodeIds));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorDOMAgent::characterDataModified(CharacterData&amp; characterData)
</span><span class="lines">@@ -1984,7 +1988,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt; InspectorDOMAgent::resolveNode(Node* node, const String&amp; objectGroup)
</del><ins>+RefPtr&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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDOMAgent.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorDOMAgent.h        2015-01-07 23:29:03 UTC (rev 178060)
</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;* nodeIds, String* searchId, int* resultCount) override;
</del><ins>+    virtual void performSearch(ErrorString&amp;, const String&amp; whitespaceTrimmedQuery, const RefPtr&lt;Inspector::InspectorArray&gt;&amp;&amp; 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;* highlightConfig) override;
</del><ins>+    virtual void setInspectModeEnabled(ErrorString&amp;, bool enabled, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; 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;* 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;
</del><ins>+    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;
</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>-    PassRefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt; resolveNode(Node*, const String&amp; objectGroup);
</del><ins>+    RefPtr&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,21 +230,20 @@
</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><del>-    void descriptionForDOMEvent(Node* target, int breakpointType, bool insertion, PassRefPtr&lt;Inspector::InspectorObject&gt; description);
</del><span class="cx"> 
</span><del>-    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;);
</del><ins>+    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;);
</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;* color, const RefPtr&lt;Inspector::InspectorObject&gt;* outlineColor, const bool* usePageCoordinates);
</del><ins>+    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);
</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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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>-        RefPtr&lt;InspectorObject&gt; eventData = InspectorObject::create();
-        descriptionForDOMEvent(&amp;node, AttributeModified, false, eventData.get());
-        m_debuggerAgent-&gt;breakProgram(InspectorDebuggerFrontendDispatcher::Reason::DOM, eventData.release());
</del><ins>+        Ref&lt;InspectorObject&gt; eventData = InspectorObject::create();
+        descriptionForDOMEvent(node, AttributeModified, false, eventData.get());
+        m_debuggerAgent-&gt;breakProgram(InspectorDebuggerFrontendDispatcher::Reason::DOM, WTF::move(eventData));
</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>-        RefPtr&lt;InspectorObject&gt; eventData = InspectorObject::create();
-        descriptionForDOMEvent(&amp;parent, SubtreeModified, true, eventData.get());
-        m_debuggerAgent-&gt;breakProgram(InspectorDebuggerFrontendDispatcher::Reason::DOM, eventData.release());
</del><ins>+        Ref&lt;InspectorObject&gt; eventData = InspectorObject::create();
+        descriptionForDOMEvent(parent, SubtreeModified, true, eventData.get());
+        m_debuggerAgent-&gt;breakProgram(InspectorDebuggerFrontendDispatcher::Reason::DOM, WTF::move(eventData));
</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>-        RefPtr&lt;InspectorObject&gt; eventData = InspectorObject::create();
-        descriptionForDOMEvent(&amp;node, NodeRemoved, false, eventData.get());
-        m_debuggerAgent-&gt;breakProgram(InspectorDebuggerFrontendDispatcher::Reason::DOM, eventData.release());
</del><ins>+        Ref&lt;InspectorObject&gt; eventData = InspectorObject::create();
+        descriptionForDOMEvent(node, NodeRemoved, false, eventData.get());
+        m_debuggerAgent-&gt;breakProgram(InspectorDebuggerFrontendDispatcher::Reason::DOM, WTF::move(eventData));
</ins><span class="cx">     } else if (parentNode &amp;&amp; hasBreakpoint(parentNode, SubtreeModified)) {
</span><del>-        RefPtr&lt;InspectorObject&gt; eventData = InspectorObject::create();
-        descriptionForDOMEvent(&amp;node, SubtreeModified, false, eventData.get());
-        m_debuggerAgent-&gt;breakProgram(InspectorDebuggerFrontendDispatcher::Reason::DOM, eventData.release());
</del><ins>+        Ref&lt;InspectorObject&gt; eventData = InspectorObject::create();
+        descriptionForDOMEvent(node, SubtreeModified, false, eventData.get());
+        m_debuggerAgent-&gt;breakProgram(InspectorDebuggerFrontendDispatcher::Reason::DOM, WTF::move(eventData));
</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>-        RefPtr&lt;InspectorObject&gt; eventData = InspectorObject::create();
-        descriptionForDOMEvent(&amp;element, AttributeModified, false, eventData.get());
-        m_debuggerAgent-&gt;breakProgram(InspectorDebuggerFrontendDispatcher::Reason::DOM, eventData.release());
</del><ins>+        Ref&lt;InspectorObject&gt; eventData = InspectorObject::create();
+        descriptionForDOMEvent(element, AttributeModified, false, eventData.get());
+        m_debuggerAgent-&gt;breakProgram(InspectorDebuggerFrontendDispatcher::Reason::DOM, WTF::move(eventData));
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDOMDebuggerAgent::descriptionForDOMEvent(Node* target, int breakpointType, bool insertion, InspectorObject* description)
</del><ins>+void InspectorDOMDebuggerAgent::descriptionForDOMEvent(Node&amp; target, int breakpointType, bool insertion, InspectorObject&amp; description)
</ins><span class="cx"> {
</span><del>-    ASSERT(hasBreakpoint(target, breakpointType));
</del><ins>+    ASSERT(hasBreakpoint(&amp;target, breakpointType));
</ins><span class="cx"> 
</span><del>-    Node* breakpointOwner = target;
</del><ins>+    Node* breakpointOwner = &amp;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(target, InspectorDebuggerAgent::backtraceObjectGroup);
-        description-&gt;setValue(&quot;targetNode&quot;, targetNodeObject);
</del><ins>+        RefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt; targetNodeObject = m_domAgent-&gt;resolveNode(&amp;target, InspectorDebuggerAgent::backtraceObjectGroup);
+        description.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(target);
</del><ins>+            breakpointOwner = InspectorDOMAgent::innerParentNode(&amp;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-&gt;setBoolean(&quot;insertion&quot;, insertion);
</del><ins>+            description.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-&gt;setInteger(&quot;nodeId&quot;, breakpointOwnerNodeId);
-    description-&gt;setString(&quot;type&quot;, domTypeName(breakpointType));
</del><ins>+    description.setInteger(&quot;nodeId&quot;, breakpointOwnerNodeId);
+    description.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>-    RefPtr&lt;InspectorObject&gt; eventData = InspectorObject::create();
</del><ins>+    Ref&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, eventData.release());
</del><ins>+        m_debuggerAgent-&gt;breakProgram(InspectorDebuggerFrontendDispatcher::Reason::EventListener, WTF::move(eventData));
</ins><span class="cx">     else
</span><del>-        m_debuggerAgent-&gt;schedulePauseOnNextStatement(InspectorDebuggerFrontendDispatcher::Reason::EventListener, eventData.release());
</del><ins>+        m_debuggerAgent-&gt;schedulePauseOnNextStatement(InspectorDebuggerFrontendDispatcher::Reason::EventListener, WTF::move(eventData));
</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>-    RefPtr&lt;InspectorObject&gt; eventData = InspectorObject::create();
</del><ins>+    Ref&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, eventData.release());
</del><ins>+    m_debuggerAgent-&gt;breakProgram(InspectorDebuggerFrontendDispatcher::Reason::XHR, WTF::move(eventData));
</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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.h        2015-01-07 23:29:03 UTC (rev 178060)
</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* target, int breakpointType, bool insertion, Inspector::InspectorObject* description);
</del><ins>+    void descriptionForDOMEvent(Node&amp; target, int breakpointType, bool insertion, Inspector::InspectorObject&amp; 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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDOMStorageAgent.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorDOMStorageAgent.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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; 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;&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, frame);
</del><ins>+    RefPtr&lt;StorageArea&gt; storageArea = findStorageArea(errorString, storageId.copyRef(), 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>-    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();
</del><ins>+    auto 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>-        RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; entry = Inspector::Protocol::Array&lt;String&gt;::create();
</del><ins>+        auto 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(entry.release());
</del><ins>+        storageItems-&gt;addItem(WTF::move(entry));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    items = storageItems.release();
</del><ins>+    items = WTF::move(storageItems);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDOMStorageAgent::setDOMStorageItem(ErrorString&amp; errorString, const RefPtr&lt;InspectorObject&gt;&amp; storageId, const String&amp; key, const String&amp; value)
</del><ins>+void InspectorDOMStorageAgent::setDOMStorageItem(ErrorString&amp; errorString, const RefPtr&lt;InspectorObject&gt;&amp;&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, frame);
</del><ins>+    RefPtr&lt;StorageArea&gt; storageArea = findStorageArea(errorString, storageId.copyRef(), 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; storageId, const String&amp; key)
</del><ins>+void InspectorDOMStorageAgent::removeDOMStorageItem(ErrorString&amp; errorString, const RefPtr&lt;InspectorObject&gt;&amp;&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, frame);
</del><ins>+    RefPtr&lt;StorageArea&gt; storageArea = findStorageArea(errorString, storageId.copyRef(), 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,11 +157,12 @@
</span><span class="cx">     return storageId(securityOrigin.get(), isLocalStorage)-&gt;toJSONString();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Inspector::Protocol::DOMStorage::StorageId&gt; InspectorDOMStorageAgent::storageId(SecurityOrigin* securityOrigin, bool isLocalStorage)
</del><ins>+RefPtr&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">@@ -181,7 +182,7 @@
</span><span class="cx">         m_frontendDispatcher-&gt;domStorageItemUpdated(id, key, oldValue, newValue);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;StorageArea&gt; InspectorDOMStorageAgent::findStorageArea(ErrorString&amp; errorString, const RefPtr&lt;InspectorObject&gt;&amp; storageId, Frame*&amp; targetFrame)
</del><ins>+RefPtr&lt;StorageArea&gt; InspectorDOMStorageAgent::findStorageArea(ErrorString&amp; errorString, const RefPtr&lt;InspectorObject&gt;&amp;&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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDOMStorageAgent.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorDOMStorageAgent.h        2015-01-07 23:29:03 UTC (rev 178060)
</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; 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;
</del><ins>+    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;
</ins><span class="cx"> 
</span><span class="cx">     // Called from the injected script.
</span><span class="cx">     String storageId(Storage*);
</span><del>-    PassRefPtr&lt;Inspector::Protocol::DOMStorage::StorageId&gt; storageId(SecurityOrigin*, bool isLocalStorage);
</del><ins>+    RefPtr&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>-    PassRefPtr&lt;StorageArea&gt; findStorageArea(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;, Frame*&amp;);
</del><ins>+    RefPtr&lt;StorageArea&gt; findStorageArea(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDatabaseAgent.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorDatabaseAgent.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -58,19 +58,20 @@
</span><span class="cx"> 
</span><span class="cx"> namespace {
</span><span class="cx"> 
</span><del>-void reportTransactionFailed(ExecuteSQLCallback* requestCallback, SQLError* error)
</del><ins>+void reportTransactionFailed(ExecuteSQLCallback&amp; requestCallback, SQLError* error)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;Inspector::Protocol::Database::Error&gt; errorObject = Inspector::Protocol::Database::Error::create()
</del><ins>+    auto errorObject = Inspector::Protocol::Database::Error::create()
</ins><span class="cx">         .setMessage(error-&gt;message())
</span><del>-        .setCode(error-&gt;code());
-    requestCallback-&gt;sendSuccess(nullptr, nullptr, errorObject.release());
</del><ins>+        .setCode(error-&gt;code())
+        .release();
+    requestCallback.sendSuccess(nullptr, nullptr, WTF::move(errorObject));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> class StatementCallback : public SQLStatementCallback {
</span><span class="cx"> public:
</span><del>-    static PassRefPtr&lt;StatementCallback&gt; create(PassRefPtr&lt;ExecuteSQLCallback&gt; requestCallback)
</del><ins>+    static Ref&lt;StatementCallback&gt; create(Ref&lt;ExecuteSQLCallback&gt;&amp;&amp; requestCallback)
</ins><span class="cx">     {
</span><del>-        return adoptRef(new StatementCallback(requestCallback));
</del><ins>+        return adoptRef(*new StatementCallback(WTF::move(requestCallback)));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     virtual ~StatementCallback() { }
</span><span class="lines">@@ -79,57 +80,60 @@
</span><span class="cx">     {
</span><span class="cx">         SQLResultSetRowList* rowList = resultSet-&gt;rows();
</span><span class="cx"> 
</span><del>-        RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; columnNames = Inspector::Protocol::Array&lt;String&gt;::create();
</del><ins>+        auto 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>-        RefPtr&lt;Inspector::Protocol::Array&lt;InspectorValue&gt;&gt; values = Inspector::Protocol::Array&lt;InspectorValue&gt;::create();
</del><ins>+        auto 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><ins>+            RefPtr&lt;InspectorValue&gt; inspectorValue;
</ins><span class="cx">             switch (value.type()) {
</span><del>-            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;
</del><ins>+            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;
</ins><span class="cx">             }
</span><ins>+            
+            values-&gt;addItem(WTF::move(inspectorValue));
</ins><span class="cx">         }
</span><del>-        m_requestCallback-&gt;sendSuccess(columnNames.release(), values.release(), nullptr);
</del><ins>+        m_requestCallback-&gt;sendSuccess(WTF::move(columnNames), WTF::move(values), nullptr);
</ins><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    StatementCallback(PassRefPtr&lt;ExecuteSQLCallback&gt; requestCallback)
-        : m_requestCallback(requestCallback) { }
-    RefPtr&lt;ExecuteSQLCallback&gt; m_requestCallback;
</del><ins>+    StatementCallback(Ref&lt;ExecuteSQLCallback&gt;&amp;&amp; requestCallback)
+        : m_requestCallback(WTF::move(requestCallback)) { }
+    Ref&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 PassRefPtr&lt;StatementErrorCallback&gt; create(PassRefPtr&lt;ExecuteSQLCallback&gt; requestCallback)
</del><ins>+    static Ref&lt;StatementErrorCallback&gt; create(Ref&lt;ExecuteSQLCallback&gt;&amp;&amp; requestCallback)
</ins><span class="cx">     {
</span><del>-        return adoptRef(new StatementErrorCallback(requestCallback));
</del><ins>+        return adoptRef(*new StatementErrorCallback(WTF::move(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.get(), error);
</del><ins>+        reportTransactionFailed(m_requestCallback.copyRef(), error);
</ins><span class="cx">         return true;  
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    StatementErrorCallback(PassRefPtr&lt;ExecuteSQLCallback&gt; requestCallback)
-        : m_requestCallback(requestCallback) { }
-    RefPtr&lt;ExecuteSQLCallback&gt; m_requestCallback;
</del><ins>+    StatementErrorCallback(Ref&lt;ExecuteSQLCallback&gt;&amp;&amp; requestCallback)
+        : m_requestCallback(WTF::move(requestCallback)) { }
+    Ref&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 PassRefPtr&lt;TransactionCallback&gt; create(const String&amp; sqlStatement, PassRefPtr&lt;ExecuteSQLCallback&gt; requestCallback)
</del><ins>+    static Ref&lt;TransactionCallback&gt; create(const String&amp; sqlStatement, Ref&lt;ExecuteSQLCallback&gt;&amp;&amp; requestCallback)
</ins><span class="cx">     {
</span><del>-        return adoptRef(new TransactionCallback(sqlStatement, requestCallback));
</del><ins>+        return adoptRef(*new TransactionCallback(sqlStatement, WTF::move(requestCallback)));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     virtual ~TransactionCallback() { }
</span><span class="lines">@@ -140,24 +144,24 @@
</span><span class="cx">             return true;
</span><span class="cx"> 
</span><span class="cx">         Vector&lt;SQLValue&gt; sqlValues;
</span><del>-        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);
</del><ins>+        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);
</ins><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx"> private:
</span><del>-    TransactionCallback(const String&amp; sqlStatement, PassRefPtr&lt;ExecuteSQLCallback&gt; requestCallback)
</del><ins>+    TransactionCallback(const String&amp; sqlStatement, Ref&lt;ExecuteSQLCallback&gt;&amp;&amp; requestCallback)
</ins><span class="cx">         : m_sqlStatement(sqlStatement)
</span><del>-        , m_requestCallback(requestCallback) { }
</del><ins>+        , m_requestCallback(WTF::move(requestCallback)) { }
</ins><span class="cx">     String m_sqlStatement;
</span><del>-    RefPtr&lt;ExecuteSQLCallback&gt; m_requestCallback;
</del><ins>+    Ref&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 PassRefPtr&lt;TransactionErrorCallback&gt; create(PassRefPtr&lt;ExecuteSQLCallback&gt; requestCallback)
</del><ins>+    static Ref&lt;TransactionErrorCallback&gt; create(Ref&lt;ExecuteSQLCallback&gt;&amp;&amp; requestCallback)
</ins><span class="cx">     {
</span><del>-        return adoptRef(new TransactionErrorCallback(requestCallback));
</del><ins>+        return adoptRef(*new TransactionErrorCallback(WTF::move(requestCallback)));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     virtual ~TransactionErrorCallback() { }
</span><span class="lines">@@ -168,16 +172,16 @@
</span><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx"> private:
</span><del>-    TransactionErrorCallback(PassRefPtr&lt;ExecuteSQLCallback&gt; requestCallback)
-        : m_requestCallback(requestCallback) { }
-    RefPtr&lt;ExecuteSQLCallback&gt; m_requestCallback;
</del><ins>+    TransactionErrorCallback(Ref&lt;ExecuteSQLCallback&gt;&amp;&amp; requestCallback)
+        : m_requestCallback(WTF::move(requestCallback)) { }
+    Ref&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 PassRefPtr&lt;TransactionSuccessCallback&gt; create()
</del><ins>+    static Ref&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">@@ -272,10 +276,8 @@
</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, PassRefPtr&lt;ExecuteSQLCallback&gt; prpRequestCallback)
</del><ins>+void InspectorDatabaseAgent::executeSQL(ErrorString&amp;, const String&amp; databaseId, const String&amp; query, Ref&lt;ExecuteSQLCallback&gt;&amp;&amp; requestCallback)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;ExecuteSQLCallback&gt; requestCallback = prpRequestCallback;
-
</del><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">@@ -287,10 +289,10 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    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());
</del><ins>+    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));
</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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDatabaseAgent.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorDatabaseAgent.h        2015-01-07 23:29:03 UTC (rev 178060)
</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, PassRefPtr&lt;ExecuteSQLCallback&gt;) override;
</del><ins>+    virtual void executeSQL(ErrorString&amp;, const String&amp; databaseId, const String&amp; query, Ref&lt;ExecuteSQLCallback&gt;&amp;&amp;) 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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDatabaseInstrumentation.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorDatabaseInstrumentation.h        2015-01-07 23:29:03 UTC (rev 178060)
</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, PassRefPtr&lt;Database&gt; database, const String&amp; domain, const String&amp; name, const String&amp; version)
</del><ins>+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)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx">     if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForContext(context))
</span><del>-        didOpenDatabaseImpl(*instrumentingAgents, database, domain, name, version);
</del><ins>+        didOpenDatabaseImpl(*instrumentingAgents, WTF::move(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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDatabaseResource.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorDatabaseResource.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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>-PassRefPtr&lt;InspectorDatabaseResource&gt; InspectorDatabaseResource::create(PassRefPtr&lt;Database&gt; database, const String&amp; domain, const String&amp; name, const String&amp; version)
</del><ins>+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)
</ins><span class="cx"> {
</span><del>-    return adoptRef(new InspectorDatabaseResource(database, domain, name, version));
</del><ins>+    return adoptRef(*new InspectorDatabaseResource(WTF::move(database), domain, name, version));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-InspectorDatabaseResource::InspectorDatabaseResource(PassRefPtr&lt;Database&gt; database, const String&amp; domain, const String&amp; name, const String&amp; version)
</del><ins>+InspectorDatabaseResource::InspectorDatabaseResource(RefPtr&lt;Database&gt;&amp;&amp; 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,12 +59,13 @@
</span><span class="cx"> 
</span><span class="cx"> void InspectorDatabaseResource::bind(InspectorDatabaseFrontendDispatcher* databaseFrontendDispatcher)
</span><span class="cx"> {
</span><del>-    RefPtr&lt;Inspector::Protocol::Database::Database&gt; jsonObject = Inspector::Protocol::Database::Database::create()
</del><ins>+    auto 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);
-    databaseFrontendDispatcher-&gt;addDatabase(jsonObject);
</del><ins>+        .setVersion(m_version)
+        .release();
+    databaseFrontendDispatcher-&gt;addDatabase(WTF::move(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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDatabaseResource.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorDatabaseResource.h        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -34,7 +34,6 @@
</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><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><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">@@ -45,15 +44,15 @@
</span><span class="cx"> 
</span><span class="cx"> class InspectorDatabaseResource : public RefCounted&lt;InspectorDatabaseResource&gt; {
</span><span class="cx"> public:
</span><del>-    static PassRefPtr&lt;InspectorDatabaseResource&gt; create(PassRefPtr&lt;Database&gt; database, const String&amp; domain, const String&amp; name, const String&amp; version);
</del><ins>+    static Ref&lt;InspectorDatabaseResource&gt; create(RefPtr&lt;Database&gt;&amp;&amp;, 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(PassRefPtr&lt;Database&gt; database) { m_database = database; }
</del><ins>+    void setDatabase(RefPtr&lt;Database&gt;&amp;&amp; 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(PassRefPtr&lt;Database&gt;, const String&amp; domain, const String&amp; name, const String&amp; version);
</del><ins>+    InspectorDatabaseResource(RefPtr&lt;Database&gt;&amp;&amp;, 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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorFrontendHost.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorFrontendHost.h        2015-01-07 23:29:03 UTC (rev 178060)
</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 PassRefPtr&lt;InspectorFrontendHost&gt; create(InspectorFrontendClient* client, Page* frontendPage)
</del><ins>+    static Ref&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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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 PassRefPtr&lt;GetDatabaseNamesCallback&gt; create(PassRefPtr&lt;RequestDatabaseNamesCallback&gt; requestCallback, const String&amp; securityOrigin)
</del><ins>+    static Ref&lt;GetDatabaseNamesCallback&gt; create(Ref&lt;RequestDatabaseNamesCallback&gt;&amp;&amp; requestCallback, const String&amp; securityOrigin)
</ins><span class="cx">     {
</span><del>-        return adoptRef(new GetDatabaseNamesCallback(requestCallback, securityOrigin));
</del><ins>+        return adoptRef(*new GetDatabaseNamesCallback(WTF::move(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>-        RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; databaseNames = Inspector::Protocol::Array&lt;String&gt;::create();
</del><ins>+        Ref&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(databaseNames.release());
</del><ins>+        m_requestCallback-&gt;sendSuccess(WTF::move(databaseNames));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    GetDatabaseNamesCallback(PassRefPtr&lt;RequestDatabaseNamesCallback&gt; requestCallback, const String&amp; securityOrigin)
</del><ins>+    GetDatabaseNamesCallback(Ref&lt;RequestDatabaseNamesCallback&gt;&amp;&amp; requestCallback, const String&amp; securityOrigin)
</ins><span class="cx">         : EventListener(EventListener::CPPEventListenerType)
</span><del>-        , m_requestCallback(requestCallback)
</del><ins>+        , m_requestCallback(WTF::move(requestCallback))
</ins><span class="cx">         , m_securityOrigin(securityOrigin) { }
</span><del>-    RefPtr&lt;RequestDatabaseNamesCallback&gt; m_requestCallback;
</del><ins>+    Ref&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(PassRefPtr&lt;IDBDatabase&gt;) = 0;
-    virtual RequestCallback* requestCallback() = 0;
</del><ins>+    virtual void execute(RefPtr&lt;IDBDatabase&gt;&amp;&amp;) = 0;
+    virtual RequestCallback&amp; 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 PassRefPtr&lt;OpenDatabaseCallback&gt; create(ExecutableWithDatabase* executableWithDatabase)
</del><ins>+    static Ref&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()-&gt;sendFailure(&quot;Unexpected event type.&quot;);
</del><ins>+            m_executableWithDatabase-&gt;requestCallback().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()-&gt;sendFailure(&quot;Could not get result in callback.&quot;);
</del><ins>+            m_executableWithDatabase-&gt;requestCallback().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()-&gt;sendFailure(&quot;Unexpected result type.&quot;);
</del><ins>+            m_executableWithDatabase-&gt;requestCallback().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(idbDatabase);
</del><ins>+        m_executableWithDatabase-&gt;execute(WTF::move(idbDatabase));
</ins><span class="cx">         IDBPendingTransactionMonitor::deactivateNewTransactions();
</span><span class="cx">         idbDatabase-&gt;close();
</span><span class="cx">     }
</span><span class="lines">@@ -202,127 +202,136 @@
</span><span class="cx"> 
</span><span class="cx"> void ExecutableWithDatabase::start(IDBFactory* idbFactory, SecurityOrigin*, const String&amp; databaseName)
</span><span class="cx"> {
</span><del>-    RefPtr&lt;OpenDatabaseCallback&gt; callback = OpenDatabaseCallback::create(this);
</del><ins>+    Ref&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()-&gt;sendFailure(&quot;Could not open database.&quot;);
</del><ins>+        requestCallback().sendFailure(&quot;Could not open database.&quot;);
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><del>-    idbOpenDBRequest-&gt;addEventListener(eventNames().successEvent, callback, false);
</del><ins>+    idbOpenDBRequest-&gt;addEventListener(eventNames().successEvent, WTF::move(callback), false);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;IDBTransaction&gt; transactionForDatabase(ScriptExecutionContext* scriptExecutionContext, IDBDatabase* idbDatabase, const String&amp; objectStoreName, const String&amp; mode = IDBTransaction::modeReadOnly())
</del><ins>+static RefPtr&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 idbTransaction;
</del><ins>+    return WTF::move(idbTransaction);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;IDBObjectStore&gt; objectStoreForTransaction(IDBTransaction* idbTransaction, const String&amp; objectStoreName)
</del><ins>+static RefPtr&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 idbObjectStore;
</del><ins>+    return WTF::move(idbObjectStore);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;IDBIndex&gt; indexForObjectStore(IDBObjectStore* idbObjectStore, const String&amp; indexName)
</del><ins>+static RefPtr&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 idbIndex;
</del><ins>+    return WTF::move(idbIndex);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;KeyPath&gt; keyPathFromIDBKeyPath(const IDBKeyPath&amp; idbKeyPath)
</del><ins>+static RefPtr&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);
</del><ins>+        keyPath = KeyPath::create()
+            .setType(KeyPath::Type::Null)
+            .release();
</ins><span class="cx">         break;
</span><span class="cx">     case IDBKeyPath::StringType:
</span><del>-        keyPath = KeyPath::create().setType(KeyPath::Type::String);
</del><ins>+        keyPath = KeyPath::create()
+            .setType(KeyPath::Type::String)
+            .release();
</ins><span class="cx">         keyPath-&gt;setString(idbKeyPath.string());
</span><ins>+
</ins><span class="cx">         break;
</span><span class="cx">     case IDBKeyPath::ArrayType: {
</span><del>-        keyPath = KeyPath::create().setType(KeyPath::Type::Array);
-        RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; array = Inspector::Protocol::Array&lt;String&gt;::create();
</del><ins>+        auto 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-&gt;setArray(array);
</del><ins>+        keyPath = KeyPath::create()
+            .setType(KeyPath::Type::Array)
+            .release();
+        keyPath-&gt;setArray(WTF::move(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 keyPath.release();
</del><ins>+    return WTF::move(keyPath);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> class DatabaseLoader : public ExecutableWithDatabase {
</span><span class="cx"> public:
</span><del>-    static PassRefPtr&lt;DatabaseLoader&gt; create(ScriptExecutionContext* context, PassRefPtr&lt;RequestDatabaseCallback&gt; requestCallback)
</del><ins>+    static Ref&lt;DatabaseLoader&gt; create(ScriptExecutionContext* context, Ref&lt;RequestDatabaseCallback&gt;&amp;&amp; requestCallback)
</ins><span class="cx">     {
</span><del>-        return adoptRef(new DatabaseLoader(context, requestCallback));
</del><ins>+        return adoptRef(*new DatabaseLoader(context, WTF::move(requestCallback)));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     virtual ~DatabaseLoader() { }
</span><span class="cx"> 
</span><del>-    virtual void execute(PassRefPtr&lt;IDBDatabase&gt; prpDatabase) override
</del><ins>+    virtual void execute(RefPtr&lt;IDBDatabase&gt;&amp;&amp; database) override
</ins><span class="cx">     {
</span><del>-        RefPtr&lt;IDBDatabase&gt; idbDatabase = prpDatabase;
-        if (!requestCallback()-&gt;isActive())
</del><ins>+        if (!requestCallback().isActive())
</ins><span class="cx">             return;
</span><span class="cx"> 
</span><del>-        const IDBDatabaseMetadata databaseMetadata = idbDatabase-&gt;metadata();
</del><ins>+        const IDBDatabaseMetadata databaseMetadata = database-&gt;metadata();
</ins><span class="cx"> 
</span><del>-        RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::IndexedDB::ObjectStore&gt;&gt; objectStores = Inspector::Protocol::Array&lt;Inspector::Protocol::IndexedDB::ObjectStore&gt;::create();
</del><ins>+        auto 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>-            RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::IndexedDB::ObjectStoreIndex&gt;&gt; indexes = Inspector::Protocol::Array&lt;Inspector::Protocol::IndexedDB::ObjectStoreIndex&gt;::create();
</del><ins>+            auto 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>-                RefPtr&lt;ObjectStoreIndex&gt; objectStoreIndex = ObjectStoreIndex::create()
</del><ins>+                Ref&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);
-                indexes-&gt;addItem(objectStoreIndex);
</del><ins>+                    .setMultiEntry(indexMetadata.multiEntry)
+                    .release();
+                indexes-&gt;addItem(WTF::move(objectStoreIndex));
</ins><span class="cx">             }
</span><span class="cx"> 
</span><del>-            RefPtr&lt;ObjectStore&gt; objectStore = ObjectStore::create()
</del><ins>+            Ref&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(indexes);
</del><ins>+                .setIndexes(WTF::move(indexes))
+                .release();
</ins><span class="cx"> 
</span><del>-            objectStores-&gt;addItem(objectStore);
</del><ins>+            objectStores-&gt;addItem(WTF::move(objectStore));
</ins><span class="cx">         }
</span><span class="cx"> 
</span><del>-        RefPtr&lt;DatabaseWithObjectStores&gt; result = DatabaseWithObjectStores::create()
</del><ins>+        Ref&lt;DatabaseWithObjectStores&gt; result = DatabaseWithObjectStores::create()
</ins><span class="cx">             .setName(databaseMetadata.name)
</span><span class="cx">             .setVersion(databaseMetadata.version)
</span><del>-            .setObjectStores(objectStores);
</del><ins>+            .setObjectStores(WTF::move(objectStores))
+            .release();
</ins><span class="cx"> 
</span><del>-        m_requestCallback-&gt;sendSuccess(result);
</del><ins>+        m_requestCallback-&gt;sendSuccess(WTF::move(result));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    virtual RequestCallback* requestCallback() override { return m_requestCallback.get(); }
</del><ins>+    virtual RequestCallback&amp; requestCallback() override { return m_requestCallback.get(); }
</ins><span class="cx"> private:
</span><del>-    DatabaseLoader(ScriptExecutionContext* context, PassRefPtr&lt;RequestDatabaseCallback&gt; requestCallback)
</del><ins>+    DatabaseLoader(ScriptExecutionContext* context, Ref&lt;RequestDatabaseCallback&gt;&amp;&amp; requestCallback)
</ins><span class="cx">         : ExecutableWithDatabase(context)
</span><del>-        , m_requestCallback(requestCallback) { }
-    RefPtr&lt;RequestDatabaseCallback&gt; m_requestCallback;
</del><ins>+        , m_requestCallback(WTF::move(requestCallback)) { }
+    Ref&lt;RequestDatabaseCallback&gt; m_requestCallback;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;IDBKey&gt; idbKeyFromInspectorObject(InspectorObject* key)
</del><ins>+static RefPtr&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">@@ -352,7 +361,9 @@
</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 = key-&gt;getArray(&quot;array&quot;);
</del><ins>+        RefPtr&lt;InspectorArray&gt; array;
+        if (!key-&gt;getArray(&quot;array&quot;, array))
+            return nullptr;
</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">@@ -367,17 +378,21 @@
</span><span class="cx">     return idbKey.release();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;IDBKeyRange&gt; idbKeyRangeFromKeyRange(InspectorObject* keyRange)
</del><ins>+static RefPtr&lt;IDBKeyRange&gt; idbKeyRangeFromKeyRange(InspectorObject* keyRange)
</ins><span class="cx"> {
</span><del>-    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)
</del><ins>+    RefPtr&lt;InspectorObject&gt; lower;
+    if (!keyRange-&gt;getObject(&quot;lower&quot;, lower))
</ins><span class="cx">         return nullptr;
</span><ins>+    RefPtr&lt;IDBKey&gt; idbLower = idbKeyFromInspectorObject(lower.get());
+    if (!idbLower)
+        return nullptr;
</ins><span class="cx"> 
</span><del>-    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)
</del><ins>+    RefPtr&lt;InspectorObject&gt; upper;
+    if (!keyRange-&gt;getObject(&quot;upper&quot;, upper))
</ins><span class="cx">         return nullptr;
</span><ins>+    RefPtr&lt;IDBKey&gt; idbUpper = idbKeyFromInspectorObject(upper.get());
+    if (!idbUpper)
+        return nullptr;
</ins><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">@@ -389,17 +404,16 @@
</span><span class="cx">         return nullptr;
</span><span class="cx">     IDBKeyRange::UpperBoundType upperBoundType = upperOpen ? IDBKeyRange::UpperBoundOpen : IDBKeyRange::UpperBoundClosed;
</span><span class="cx"> 
</span><del>-    RefPtr&lt;IDBKeyRange&gt; idbKeyRange = IDBKeyRange::create(idbLower, idbUpper, lowerBoundType, upperBoundType);
-    return idbKeyRange.release();
</del><ins>+    return IDBKeyRange::create(idbLower, idbUpper, lowerBoundType, upperBoundType);
</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 PassRefPtr&lt;OpenCursorCallback&gt; create(InjectedScript injectedScript, PassRefPtr&lt;RequestDataCallback&gt; requestCallback, int skipCount, unsigned pageSize)
</del><ins>+    static Ref&lt;OpenCursorCallback&gt; create(InjectedScript injectedScript, Ref&lt;RequestDataCallback&gt;&amp;&amp; requestCallback, int skipCount, unsigned pageSize)
</ins><span class="cx">     {
</span><del>-        return adoptRef(new OpenCursorCallback(injectedScript, requestCallback, skipCount, pageSize));
</del><ins>+        return adoptRef(*new OpenCursorCallback(injectedScript, WTF::move(requestCallback), skipCount, pageSize));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     virtual ~OpenCursorCallback() { }
</span><span class="lines">@@ -458,8 +472,9 @@
</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()));
-        m_result-&gt;addItem(dataEntry);
</del><ins>+            .setValue(m_injectedScript.wrapObject(idbCursor-&gt;value(), String()))
+            .release();
+        m_result-&gt;addItem(WTF::move(dataEntry));
</ins><span class="cx"> 
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -467,41 +482,40 @@
</span><span class="cx">     {
</span><span class="cx">         if (!m_requestCallback-&gt;isActive())
</span><span class="cx">             return;
</span><del>-        m_requestCallback-&gt;sendSuccess(m_result.release(), hasMore);
</del><ins>+        m_requestCallback-&gt;sendSuccess(WTF::move(m_result), hasMore);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    OpenCursorCallback(InjectedScript injectedScript, PassRefPtr&lt;RequestDataCallback&gt; requestCallback, int skipCount, unsigned pageSize)
</del><ins>+    OpenCursorCallback(InjectedScript injectedScript, Ref&lt;RequestDataCallback&gt;&amp;&amp; requestCallback, int skipCount, unsigned pageSize)
</ins><span class="cx">         : EventListener(EventListener::CPPEventListenerType)
</span><span class="cx">         , m_injectedScript(injectedScript)
</span><del>-        , m_requestCallback(requestCallback)
</del><ins>+        , m_requestCallback(WTF::move(requestCallback))
</ins><span class="cx">         , m_skipCount(skipCount)
</span><span class="cx">         , m_pageSize(pageSize)
</span><ins>+        , m_result(Array&lt;DataEntry&gt;::create())
</ins><span class="cx">     {
</span><del>-        m_result = Array&lt;DataEntry&gt;::create();
</del><span class="cx">     }
</span><span class="cx">     InjectedScript m_injectedScript;
</span><del>-    RefPtr&lt;RequestDataCallback&gt; m_requestCallback;
</del><ins>+    Ref&lt;RequestDataCallback&gt; m_requestCallback;
</ins><span class="cx">     int m_skipCount;
</span><span class="cx">     unsigned m_pageSize;
</span><del>-    RefPtr&lt;Array&lt;DataEntry&gt;&gt; m_result;
</del><ins>+    Ref&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 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)
</del><ins>+    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)
</ins><span class="cx">     {
</span><del>-        return adoptRef(new DataLoader(context, requestCallback, injectedScript, objectStoreName, indexName, idbKeyRange, skipCount, pageSize));
</del><ins>+        return adoptRef(*new DataLoader(context, WTF::move(requestCallback), injectedScript, objectStoreName, indexName, WTF::move(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(PassRefPtr&lt;IDBDatabase&gt; prpDatabase) override
</del><ins>+    virtual void execute(RefPtr&lt;IDBDatabase&gt;&amp;&amp; database) override
</ins><span class="cx">     {
</span><del>-        RefPtr&lt;IDBDatabase&gt; idbDatabase = prpDatabase;
-        if (!requestCallback()-&gt;isActive())
</del><ins>+        if (!requestCallback().isActive())
</ins><span class="cx">             return;
</span><del>-        RefPtr&lt;IDBTransaction&gt; idbTransaction = transactionForDatabase(context(), idbDatabase.get(), m_objectStoreName);
</del><ins>+        RefPtr&lt;IDBTransaction&gt; idbTransaction = transactionForDatabase(context(), database.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">@@ -512,7 +526,7 @@
</span><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        RefPtr&lt;OpenCursorCallback&gt; openCursorCallback = OpenCursorCallback::create(m_injectedScript, m_requestCallback, m_skipCount, m_pageSize);
</del><ins>+        Ref&lt;OpenCursorCallback&gt; openCursorCallback = OpenCursorCallback::create(m_injectedScript, m_requestCallback.copyRef(), 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">@@ -523,23 +537,23 @@
</span><span class="cx">                 return;
</span><span class="cx">             }
</span><span class="cx"> 
</span><del>-            idbRequest = idbIndex-&gt;openCursor(context(), PassRefPtr&lt;IDBKeyRange&gt;(m_idbKeyRange), ec);
</del><ins>+            idbRequest = idbIndex-&gt;openCursor(context(), m_idbKeyRange.copyRef(), ec);
</ins><span class="cx">         } else
</span><del>-            idbRequest = idbObjectStore-&gt;openCursor(context(), PassRefPtr&lt;IDBKeyRange&gt;(m_idbKeyRange), ec);
-        idbRequest-&gt;addEventListener(eventNames().successEvent, openCursorCallback, false);
</del><ins>+            idbRequest = idbObjectStore-&gt;openCursor(context(), m_idbKeyRange.copyRef(), ec);
+        idbRequest-&gt;addEventListener(eventNames().successEvent, WTF::move(openCursorCallback), false);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    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)
</del><ins>+    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)
</ins><span class="cx">         : ExecutableWithDatabase(scriptExecutionContext)
</span><del>-        , m_requestCallback(requestCallback)
</del><ins>+        , m_requestCallback(WTF::move(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(idbKeyRange)
</del><ins>+        , m_idbKeyRange(WTF::move(idbKeyRange))
</ins><span class="cx">         , m_skipCount(skipCount)
</span><span class="cx">         , m_pageSize(pageSize) { }
</span><del>-    RefPtr&lt;RequestDataCallback&gt; m_requestCallback;
</del><ins>+    Ref&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">@@ -605,7 +619,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, PassRefPtr&lt;RequestDatabaseNamesCallback&gt; requestCallback)
</del><ins>+void InspectorIndexedDBAgent::requestDatabaseNames(ErrorString&amp; errorString, const String&amp; securityOrigin, Ref&lt;RequestDatabaseNamesCallback&gt;&amp;&amp; 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">@@ -623,10 +637,10 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    idbRequest-&gt;addEventListener(eventNames().successEvent, GetDatabaseNamesCallback::create(requestCallback, document-&gt;securityOrigin()-&gt;toRawString()), false);
</del><ins>+    idbRequest-&gt;addEventListener(eventNames().successEvent, GetDatabaseNamesCallback::create(WTF::move(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, PassRefPtr&lt;RequestDatabaseCallback&gt; requestCallback)
</del><ins>+void InspectorIndexedDBAgent::requestDatabase(ErrorString&amp; errorString, const String&amp; securityOrigin, const String&amp; databaseName, Ref&lt;RequestDatabaseCallback&gt;&amp;&amp; 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,11 +651,11 @@
</span><span class="cx">     if (!idbFactory)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    RefPtr&lt;DatabaseLoader&gt; databaseLoader = DatabaseLoader::create(document, requestCallback);
</del><ins>+    Ref&lt;DatabaseLoader&gt; databaseLoader = DatabaseLoader::create(document, WTF::move(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;* keyRange, PassRefPtr&lt;RequestDataCallback&gt; 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;&amp;&amp; keyRange, Ref&lt;RequestDataCallback&gt;&amp;&amp; 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">@@ -654,22 +668,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-&gt;get()) : nullptr;
</del><ins>+    RefPtr&lt;IDBKeyRange&gt; idbKeyRange = keyRange ? idbKeyRangeFromKeyRange(keyRange.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>-    RefPtr&lt;DataLoader&gt; dataLoader = DataLoader::create(document, requestCallback, injectedScript, objectStoreName, indexName, idbKeyRange, skipCount, pageSize);
</del><ins>+    Ref&lt;DataLoader&gt; dataLoader = DataLoader::create(document, WTF::move(requestCallback), injectedScript, objectStoreName, indexName, WTF::move(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 PassRefPtr&lt;ClearObjectStoreListener&gt; create(PassRefPtr&lt;ClearObjectStoreCallback&gt; requestCallback)
</del><ins>+    static Ref&lt;ClearObjectStoreListener&gt; create(Ref&lt;ClearObjectStoreCallback&gt; requestCallback)
</ins><span class="cx">     {
</span><del>-        return adoptRef(new ClearObjectStoreListener(requestCallback));
</del><ins>+        return adoptRef(*new ClearObjectStoreListener(WTF::move(requestCallback)));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     virtual ~ClearObjectStoreListener() { }
</span><span class="lines">@@ -691,36 +705,35 @@
</span><span class="cx">         m_requestCallback-&gt;sendSuccess();
</span><span class="cx">     }
</span><span class="cx"> private:
</span><del>-    ClearObjectStoreListener(PassRefPtr&lt;ClearObjectStoreCallback&gt; requestCallback)
</del><ins>+    ClearObjectStoreListener(Ref&lt;ClearObjectStoreCallback&gt;&amp;&amp; requestCallback)
</ins><span class="cx">         : EventListener(EventListener::CPPEventListenerType)
</span><del>-        , m_requestCallback(requestCallback)
</del><ins>+        , m_requestCallback(WTF::move(requestCallback))
</ins><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    RefPtr&lt;ClearObjectStoreCallback&gt; m_requestCallback;
</del><ins>+    Ref&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 PassRefPtr&lt;ClearObjectStore&gt; create(ScriptExecutionContext* context, const String&amp; objectStoreName, PassRefPtr&lt;ClearObjectStoreCallback&gt; requestCallback)
</del><ins>+    static Ref&lt;ClearObjectStore&gt; create(ScriptExecutionContext* context, const String&amp; objectStoreName, Ref&lt;ClearObjectStoreCallback&gt;&amp;&amp; requestCallback)
</ins><span class="cx">     {
</span><del>-        return adoptRef(new ClearObjectStore(context, objectStoreName, requestCallback));
</del><ins>+        return adoptRef(*new ClearObjectStore(context, objectStoreName, WTF::move(requestCallback)));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    ClearObjectStore(ScriptExecutionContext* context, const String&amp; objectStoreName, PassRefPtr&lt;ClearObjectStoreCallback&gt; requestCallback)
</del><ins>+    ClearObjectStore(ScriptExecutionContext* context, const String&amp; objectStoreName, Ref&lt;ClearObjectStoreCallback&gt;&amp;&amp; requestCallback)
</ins><span class="cx">         : ExecutableWithDatabase(context)
</span><span class="cx">         , m_objectStoreName(objectStoreName)
</span><del>-        , m_requestCallback(requestCallback)
</del><ins>+        , m_requestCallback(WTF::move(requestCallback))
</ins><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    virtual void execute(PassRefPtr&lt;IDBDatabase&gt; prpDatabase) override
</del><ins>+    virtual void execute(RefPtr&lt;IDBDatabase&gt;&amp;&amp; database) override
</ins><span class="cx">     {
</span><del>-        RefPtr&lt;IDBDatabase&gt; idbDatabase = prpDatabase;
-        if (!requestCallback()-&gt;isActive())
</del><ins>+        if (!requestCallback().isActive())
</ins><span class="cx">             return;
</span><del>-        RefPtr&lt;IDBTransaction&gt; idbTransaction = transactionForDatabase(context(), idbDatabase.get(), m_objectStoreName, IDBTransaction::modeReadWrite());
</del><ins>+        RefPtr&lt;IDBTransaction&gt; idbTransaction = transactionForDatabase(context(), database.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">@@ -738,16 +751,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), false);
</del><ins>+        idbTransaction-&gt;addEventListener(eventNames().completeEvent, ClearObjectStoreListener::create(m_requestCallback.copyRef()), false);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    virtual RequestCallback* requestCallback() override { return m_requestCallback.get(); }
</del><ins>+    virtual RequestCallback&amp; requestCallback() override { return m_requestCallback.get(); }
</ins><span class="cx"> private:
</span><span class="cx">     const String m_objectStoreName;
</span><del>-    RefPtr&lt;ClearObjectStoreCallback&gt; m_requestCallback;
</del><ins>+    Ref&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, PassRefPtr&lt;ClearObjectStoreCallback&gt; requestCallback)
</del><ins>+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)
</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">@@ -757,7 +770,7 @@
</span><span class="cx">     if (!idbFactory)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    RefPtr&lt;ClearObjectStore&gt; clearObjectStore = ClearObjectStore::create(document, objectStoreName, requestCallback);
</del><ins>+    Ref&lt;ClearObjectStore&gt; clearObjectStore = ClearObjectStore::create(document, objectStoreName, WTF::move(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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.h        2015-01-07 23:29:03 UTC (rev 178060)
</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, 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;
</del><ins>+    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;
</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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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, PassRefPtr&lt;FormData&gt; 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, RefPtr&lt;FormData&gt;&amp;&amp; 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, formData, headers, includeCredentials);
</del><ins>+        resourceAgent-&gt;willLoadXHR(client, method, url, async, WTF::move(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, PassRefPtr&lt;ScriptCallStack&gt; callStack, unsigned long requestIdentifier)
</del><ins>+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)
</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, PassRefPtr&lt;ScriptArguments&gt; 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, RefPtr&lt;ScriptArguments&gt;&amp;&amp; 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, PassRefPtr&lt;ScriptArguments&gt; arguments)
</del><ins>+void InspectorInstrumentation::consoleCountImpl(InstrumentingAgents&amp; instrumentingAgents, JSC::ExecState* state, RefPtr&lt;ScriptArguments&gt;&amp;&amp; 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, PassRefPtr&lt;ScriptCallStack&gt; stack)
</del><ins>+void InspectorInstrumentation::stopConsoleTimingImpl(InstrumentingAgents&amp; instrumentingAgents, Frame&amp; frame, const String&amp; title, RefPtr&lt;ScriptCallStack&gt;&amp;&amp; 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, PassRefPtr&lt;ScriptArguments&gt; arguments)
</del><ins>+void InspectorInstrumentation::consoleTimeStampImpl(InstrumentingAgents&amp; instrumentingAgents, Frame&amp; frame, RefPtr&lt;ScriptArguments&gt;&amp;&amp; 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>-PassRefPtr&lt;JSC::Profile&gt; InspectorInstrumentation::stopProfilingImpl(InstrumentingAgents&amp; instrumentingAgents, JSC::ExecState* exec, const String&amp; title)
</del><ins>+RefPtr&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, PassRefPtr&lt;Database&gt; database, const String&amp; domain, const String&amp; name, const String&amp; version)
</del><ins>+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)
</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, PassRefPtr&lt;ReplaySession&gt; session)
</del><ins>+void InspectorInstrumentation::sessionCreatedImpl(InstrumentingAgents&amp; instrumentingAgents, RefPtr&lt;ReplaySession&gt;&amp;&amp; session)
</ins><span class="cx"> {
</span><span class="cx">     if (InspectorReplayAgent* replayAgent = instrumentingAgents.inspectorReplayAgent())
</span><del>-        replayAgent-&gt;sessionCreated(session);
</del><ins>+        replayAgent-&gt;sessionCreated(WTF::move(session));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorInstrumentation::sessionLoadedImpl(InstrumentingAgents&amp; instrumentingAgents, PassRefPtr&lt;ReplaySession&gt; session)
</del><ins>+void InspectorInstrumentation::sessionLoadedImpl(InstrumentingAgents&amp; instrumentingAgents, RefPtr&lt;ReplaySession&gt;&amp;&amp; session)
</ins><span class="cx"> {
</span><span class="cx">     if (InspectorReplayAgent* replayAgent = instrumentingAgents.inspectorReplayAgent())
</span><del>-        replayAgent-&gt;sessionLoaded(session);
</del><ins>+        replayAgent-&gt;sessionLoaded(WTF::move(session));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorInstrumentation::sessionModifiedImpl(InstrumentingAgents&amp; instrumentingAgents, PassRefPtr&lt;ReplaySession&gt; session)
</del><ins>+void InspectorInstrumentation::sessionModifiedImpl(InstrumentingAgents&amp; instrumentingAgents, RefPtr&lt;ReplaySession&gt;&amp;&amp; session)
</ins><span class="cx"> {
</span><span class="cx">     if (InspectorReplayAgent* replayAgent = instrumentingAgents.inspectorReplayAgent())
</span><del>-        replayAgent-&gt;sessionModified(session);
</del><ins>+        replayAgent-&gt;sessionModified(WTF::move(session));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorInstrumentation::segmentCreatedImpl(InstrumentingAgents&amp; instrumentingAgents, PassRefPtr&lt;ReplaySessionSegment&gt; segment)
</del><ins>+void InspectorInstrumentation::segmentCreatedImpl(InstrumentingAgents&amp; instrumentingAgents, RefPtr&lt;ReplaySessionSegment&gt;&amp;&amp; segment)
</ins><span class="cx"> {
</span><span class="cx">     if (InspectorReplayAgent* replayAgent = instrumentingAgents.inspectorReplayAgent())
</span><del>-        replayAgent-&gt;segmentCreated(segment);
</del><ins>+        replayAgent-&gt;segmentCreated(WTF::move(segment));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorInstrumentation::segmentCompletedImpl(InstrumentingAgents&amp; instrumentingAgents, PassRefPtr&lt;ReplaySessionSegment&gt; segment)
</del><ins>+void InspectorInstrumentation::segmentCompletedImpl(InstrumentingAgents&amp; instrumentingAgents, RefPtr&lt;ReplaySessionSegment&gt;&amp;&amp; segment)
</ins><span class="cx"> {
</span><span class="cx">     if (InspectorReplayAgent* replayAgent = instrumentingAgents.inspectorReplayAgent())
</span><del>-        replayAgent-&gt;segmentCompleted(segment);
</del><ins>+        replayAgent-&gt;segmentCompleted(WTF::move(segment));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorInstrumentation::segmentLoadedImpl(InstrumentingAgents&amp; instrumentingAgents, PassRefPtr&lt;ReplaySessionSegment&gt; segment)
</del><ins>+void InspectorInstrumentation::segmentLoadedImpl(InstrumentingAgents&amp; instrumentingAgents, RefPtr&lt;ReplaySessionSegment&gt;&amp;&amp; segment)
</ins><span class="cx"> {
</span><span class="cx">     if (InspectorReplayAgent* replayAgent = instrumentingAgents.inspectorReplayAgent())
</span><del>-        replayAgent-&gt;segmentLoaded(segment);
</del><ins>+        replayAgent-&gt;segmentLoaded(WTF::move(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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorInstrumentation.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorInstrumentation.h        2015-01-07 23:29:03 UTC (rev 178060)
</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, PassRefPtr&lt;FormData&gt;, const HTTPHeaderMap&amp;, bool);
</del><ins>+    static void willLoadXHR(ScriptExecutionContext*, ThreadableLoaderClient*, const String&amp;, const URL&amp;, bool, RefPtr&lt;FormData&gt;&amp;&amp;, 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, 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);
</del><ins>+    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);
</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, PassRefPtr&lt;Inspector::ScriptCallStack&gt;, unsigned long requestIdentifier = 0);
</del><ins>+    static void addMessageToConsole(WorkerGlobalScope*, MessageSource, MessageType, MessageLevel, const String&amp; message, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp;, 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*, PassRefPtr&lt;Inspector::ScriptArguments&gt;);
</del><ins>+    static void consoleCount(Page&amp;, JSC::ExecState*, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp;);
</ins><span class="cx">     static void startConsoleTiming(Frame&amp;, const String&amp; title);
</span><del>-    static void stopConsoleTiming(Frame&amp;, const String&amp; title, PassRefPtr&lt;Inspector::ScriptCallStack&gt;);
-    static void consoleTimeStamp(Frame&amp;, PassRefPtr&lt;Inspector::ScriptArguments&gt;);
</del><ins>+    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;);
</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 PassRefPtr&lt;JSC::Profile&gt; stopProfiling(Page&amp;, JSC::ExecState*, const String&amp; title);
</del><ins>+    static RefPtr&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*, PassRefPtr&lt;Database&gt;, const String&amp; domain, const String&amp; name, const String&amp; version);
</del><ins>+    static void didOpenDatabase(ScriptExecutionContext*, RefPtr&lt;Database&gt;&amp;&amp;, 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;, PassRefPtr&lt;ReplaySession&gt;);
-    static void sessionLoaded(Page&amp;, PassRefPtr&lt;ReplaySession&gt;);
-    static void sessionModified(Page&amp;, PassRefPtr&lt;ReplaySession&gt;);
</del><ins>+    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;);
</ins><span class="cx"> 
</span><del>-    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;);
</del><ins>+    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;);
</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, PassRefPtr&lt;FormData&gt;, const HTTPHeaderMap&amp;, bool);
</del><ins>+    static void willLoadXHRImpl(InstrumentingAgents&amp;, ThreadableLoaderClient*, const String&amp;, const URL&amp;, bool, RefPtr&lt;FormData&gt;&amp;&amp;, 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*, PassRefPtr&lt;Inspector::ScriptArguments&gt;, unsigned long requestIdentifier);
</del><ins>+    static void addMessageToConsoleImpl(InstrumentingAgents&amp;, MessageSource, MessageType, MessageLevel, const String&amp; message, JSC::ExecState*, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp;, 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, PassRefPtr&lt;Inspector::ScriptCallStack&gt;, unsigned long requestIdentifier);
</del><ins>+    static void addMessageToConsoleImpl(InstrumentingAgents&amp;, MessageSource, MessageType, MessageLevel, const String&amp; message, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp;, unsigned long requestIdentifier);
</ins><span class="cx"> 
</span><del>-    static void consoleCountImpl(InstrumentingAgents&amp;, JSC::ExecState*, PassRefPtr&lt;Inspector::ScriptArguments&gt;);
</del><ins>+    static void consoleCountImpl(InstrumentingAgents&amp;, JSC::ExecState*, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp;);
</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, PassRefPtr&lt;Inspector::ScriptCallStack&gt;);
-    static void consoleTimeStampImpl(InstrumentingAgents&amp;, Frame&amp;, PassRefPtr&lt;Inspector::ScriptArguments&gt;);
</del><ins>+    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;);
</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 PassRefPtr&lt;JSC::Profile&gt; stopProfilingImpl(InstrumentingAgents&amp;, JSC::ExecState*, const String&amp; title);
</del><ins>+    static RefPtr&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;, PassRefPtr&lt;Database&gt;, const String&amp; domain, const String&amp; name, const String&amp; version);
</del><ins>+    static void didOpenDatabaseImpl(InstrumentingAgents&amp;, RefPtr&lt;Database&gt;&amp;&amp;, 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;, PassRefPtr&lt;ReplaySession&gt;);
-    static void sessionLoadedImpl(InstrumentingAgents&amp;, PassRefPtr&lt;ReplaySession&gt;);
-    static void sessionModifiedImpl(InstrumentingAgents&amp;, PassRefPtr&lt;ReplaySession&gt;);
</del><ins>+    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;);
</ins><span class="cx"> 
</span><del>-    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;);
</del><ins>+    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;);
</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, PassRefPtr&lt;FormData&gt; 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, RefPtr&lt;FormData&gt;&amp;&amp; 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, formData, headers, includeCredentials);
</del><ins>+        willLoadXHRImpl(*instrumentingAgents, client, method, url, async, WTF::move(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, PassRefPtr&lt;ReplaySession&gt; session)
</del><ins>+inline void InspectorInstrumentation::sessionCreated(Page&amp; page, RefPtr&lt;ReplaySession&gt;&amp;&amp; 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, session);
</del><ins>+        sessionCreatedImpl(*instrumentingAgents, WTF::move(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, PassRefPtr&lt;ReplaySession&gt; session)
</del><ins>+inline void InspectorInstrumentation::sessionLoaded(Page&amp; page, RefPtr&lt;ReplaySession&gt;&amp;&amp; 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, session);
</del><ins>+        sessionLoadedImpl(*instrumentingAgents, WTF::move(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, PassRefPtr&lt;ReplaySession&gt; session)
</del><ins>+inline void InspectorInstrumentation::sessionModified(Page&amp; page, RefPtr&lt;ReplaySession&gt;&amp;&amp; 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, session);
</del><ins>+        sessionModifiedImpl(*instrumentingAgents, WTF::move(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, PassRefPtr&lt;ReplaySessionSegment&gt; segment)
</del><ins>+inline void InspectorInstrumentation::segmentCreated(Page&amp; page, RefPtr&lt;ReplaySessionSegment&gt;&amp;&amp; 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, segment);
</del><ins>+        segmentCreatedImpl(*instrumentingAgents, WTF::move(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, PassRefPtr&lt;ReplaySessionSegment&gt; segment)
</del><ins>+inline void InspectorInstrumentation::segmentCompleted(Page&amp; page, RefPtr&lt;ReplaySessionSegment&gt;&amp;&amp; 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, segment);
</del><ins>+        segmentCompletedImpl(*instrumentingAgents, WTF::move(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, PassRefPtr&lt;ReplaySessionSegment&gt; segment)
</del><ins>+inline void InspectorInstrumentation::segmentLoaded(Page&amp; page, RefPtr&lt;ReplaySessionSegment&gt;&amp;&amp; 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, segment);
</del><ins>+        segmentLoadedImpl(*instrumentingAgents, WTF::move(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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorLayerTreeAgent.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorLayerTreeAgent.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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>-PassRefPtr&lt;Inspector::Protocol::LayerTree::Layer&gt; InspectorLayerTreeAgent::buildObjectForLayer(ErrorString&amp; errorString, RenderLayer* renderLayer)
</del><ins>+Ref&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,13 +166,14 @@
</span><span class="cx">         node = renderer-&gt;parent()-&gt;element();
</span><span class="cx"> 
</span><span class="cx">     // Basic set of properties.
</span><del>-    RefPtr&lt;Inspector::Protocol::LayerTree::Layer&gt; layerObject = Inspector::Protocol::LayerTree::Layer::create()
</del><ins>+    auto 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());
</del><ins>+        .setPaintCount(backing-&gt;graphicsLayer()-&gt;repaintCount())
+        .release();
</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">@@ -201,7 +202,7 @@
</span><span class="cx">             layerObject-&gt;setPseudoElement(&quot;first-line&quot;);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return layerObject;
</del><ins>+    return WTF::move(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">@@ -218,16 +219,17 @@
</span><span class="cx">     return nodeId;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Inspector::Protocol::LayerTree::IntRect&gt; InspectorLayerTreeAgent::buildObjectForIntRect(const IntRect&amp; rect)
</del><ins>+Ref&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; compositingReasons)
</del><ins>+void InspectorLayerTreeAgent::reasonsForCompositingLayer(ErrorString&amp; errorString, const String&amp; layerId, RefPtr&lt;Inspector::Protocol::LayerTree::CompositingReasons&gt;&amp; compositingReasonsResult)
</ins><span class="cx"> {
</span><span class="cx">     const RenderLayer* renderLayer = m_idToLayer.get(layerId);
</span><span class="cx"> 
</span><span class="lines">@@ -237,7 +239,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     CompositingReasons reasonsBitmask = renderLayer-&gt;compositor().reasonsForCompositing(*renderLayer);
</span><del>-    compositingReasons = Inspector::Protocol::LayerTree::CompositingReasons::create();
</del><ins>+    auto compositingReasons = Inspector::Protocol::LayerTree::CompositingReasons::create().release();
</ins><span class="cx"> 
</span><span class="cx">     if (reasonsBitmask &amp; CompositingReason3DTransform)
</span><span class="cx">         compositingReasons-&gt;setTransform3D(true);
</span><span class="lines">@@ -310,6 +312,8 @@
</span><span class="cx"> 
</span><span class="cx">     if (reasonsBitmask &amp; CompositingReasonRoot)
</span><span class="cx">         compositingReasons-&gt;setRoot(true);
</span><ins>+    
+    compositingReasonsResult = WTF::move(compositingReasons);
</ins><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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorLayerTreeAgent.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorLayerTreeAgent.h        2015-01-07 23:29:03 UTC (rev 178060)
</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>-    PassRefPtr&lt;Inspector::Protocol::LayerTree::Layer&gt; buildObjectForLayer(ErrorString&amp;, RenderLayer*);
-    PassRefPtr&lt;Inspector::Protocol::LayerTree::IntRect&gt; buildObjectForIntRect(const IntRect&amp;);
</del><ins>+    Ref&lt;Inspector::Protocol::LayerTree::Layer&gt; buildObjectForLayer(ErrorString&amp;, RenderLayer*);
+    Ref&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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorOverlay.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorOverlay.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -331,50 +331,50 @@
</span><span class="cx">     forcePaint();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;InspectorObject&gt; buildObjectForPoint(const FloatPoint&amp; point)
</del><ins>+static Ref&lt;InspectorObject&gt; buildObjectForPoint(const FloatPoint&amp; point)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; object = InspectorObject::create();
</del><ins>+    Ref&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 object.release();
</del><ins>+    return WTF::move(object);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;InspectorObject&gt; buildObjectForRect(const FloatRect&amp; rect)
</del><ins>+static Ref&lt;InspectorObject&gt; buildObjectForRect(const FloatRect&amp; rect)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; object = InspectorObject::create();
</del><ins>+    Ref&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 object.release();
</del><ins>+    return WTF::move(object);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;InspectorArray&gt; buildArrayForQuad(const FloatQuad&amp; quad)
</del><ins>+static Ref&lt;InspectorArray&gt; buildArrayForQuad(const FloatQuad&amp; quad)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorArray&gt; array = InspectorArray::create();
</del><ins>+    Ref&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 array.release();
</del><ins>+    return WTF::move(array);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;InspectorObject&gt; buildObjectForHighlight(const Highlight&amp; highlight)
</del><ins>+static Ref&lt;InspectorObject&gt; buildObjectForHighlight(const Highlight&amp; highlight)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; object = InspectorObject::create();
-    RefPtr&lt;InspectorArray&gt; array = InspectorArray::create();
</del><ins>+    Ref&lt;InspectorObject&gt; object = InspectorObject::create();
+    Ref&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;, array.release());
</del><ins>+    object-&gt;setArray(&quot;quads&quot;, WTF::move(array));
</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 object.release();
</del><ins>+    return WTF::move(object);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;InspectorObject&gt; buildObjectForRegionHighlight(FrameView* mainView, RenderRegion* region)
</del><ins>+static RefPtr&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>-    RefPtr&lt;InspectorObject&gt; regionObject = InspectorObject::create();
</del><ins>+    Ref&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 regionObject.release();
</del><ins>+    return WTF::move(regionObject);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;InspectorArray&gt; buildObjectForCSSRegionsHighlight(RenderRegion* region, RenderFlowThread* flowThread)
</del><ins>+static Ref&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>-    RefPtr&lt;InspectorArray&gt; array = InspectorArray::create();
</del><ins>+    Ref&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 array.release();
</del><ins>+    return WTF::move(array);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;InspectorObject&gt; buildObjectForSize(const IntSize&amp; size)
</del><ins>+static Ref&lt;InspectorObject&gt; buildObjectForSize(const IntSize&amp; size)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();
</del><ins>+    Ref&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 result.release();
</del><ins>+    return WTF::move(result);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;InspectorObject&gt; buildObjectForCSSRegionContentClip(RenderRegion* region)
</del><ins>+static RefPtr&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>-    RefPtr&lt;InspectorObject&gt; regionObject = InspectorObject::create();
</del><ins>+    Ref&lt;InspectorObject&gt; regionObject = InspectorObject::create();
</ins><span class="cx">     regionObject-&gt;setArray(&quot;quad&quot;, buildArrayForQuad(clipQuad));
</span><del>-    return regionObject.release();
</del><ins>+    return WTF::move(regionObject);
</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>-    RefPtr&lt;InspectorArray&gt; fragmentsArray = InspectorArray::create();
</del><ins>+    Ref&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;), fragmentsArray.release());
</del><ins>+    evaluateInOverlay(ASCIILiteral(&quot;updatePaintRects&quot;), WTF::move(fragmentsArray));
</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 PassRefPtr&lt;InspectorArray&gt; buildObjectForRendererFragments(RenderObject* renderer, const HighlightConfig&amp; config)
</del><ins>+static RefPtr&lt;InspectorArray&gt; buildObjectForRendererFragments(RenderObject* renderer, const HighlightConfig&amp; config)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorArray&gt; fragmentsArray = InspectorArray::create();
</del><ins>+    Ref&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>-                RefPtr&lt;InspectorObject&gt; fragmentObject = buildObjectForHighlight(highlight);
</del><ins>+                Ref&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(fragmentObject.release());
</del><ins>+                fragmentsArray-&gt;pushObject(WTF::move(fragmentObject));
</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 fragmentsArray.release();
</del><ins>+    return WTF::move(fragmentsArray);
</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 PassRefPtr&lt;InspectorObject&gt; buildObjectForShapeOutside(Frame* containingFrame, RenderBox* renderer)
</del><ins>+static RefPtr&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>-    RefPtr&lt;InspectorObject&gt; shapeObject = InspectorObject::create();
</del><ins>+    Ref&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>-        RefPtr&lt;InspectorArray&gt; shapePath = InspectorArray::create();
</del><ins>+        Ref&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 = shapePath.get();
</del><ins>+        info.array = &amp;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.release());
</del><ins>+        shapeObject-&gt;setArray(ASCIILiteral(&quot;shape&quot;), shapePath.copyRef());
</ins><span class="cx"> 
</span><span class="cx">         if (paths.marginShape.length()) {
</span><span class="cx">             shapePath = InspectorArray::create();
</span><del>-            info.array = shapePath.get();
</del><ins>+            info.array = &amp;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.release());
</del><ins>+            shapeObject-&gt;setArray(ASCIILiteral(&quot;marginShape&quot;), shapePath.copyRef());
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return shapeObject.release();
</del><ins>+    return WTF::move(shapeObject);
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;InspectorObject&gt; buildObjectForElementInfo(Node* node)
</del><ins>+static RefPtr&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>-    RefPtr&lt;InspectorObject&gt; elementInfo = InspectorObject::create();
</del><ins>+    Ref&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 elementInfo.release();
</del><ins>+    return WTF::move(elementInfo);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorObject&gt; InspectorOverlay::buildObjectForHighlightedNode() const
</del><ins>+RefPtr&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>-    RefPtr&lt;InspectorObject&gt; highlightObject = InspectorObject::create();
</del><ins>+    Ref&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 highlightObject.release();
</del><ins>+    return WTF::move(highlightObject);
</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>-    RefPtr&lt;InspectorObject&gt; resetData = InspectorObject::create();
</del><ins>+    Ref&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;, resetData.release());
</del><ins>+    evaluateInOverlay(&quot;reset&quot;, WTF::move(resetData));
</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>-    RefPtr&lt;InspectorArray&gt; command = InspectorArray::create();
</del><ins>+    Ref&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>-    RefPtr&lt;InspectorArray&gt; command = InspectorArray::create();
</del><ins>+    Ref&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, PassRefPtr&lt;InspectorValue&gt; argument)
</del><ins>+void InspectorOverlay::evaluateInOverlay(const String&amp; method, RefPtr&lt;InspectorValue&gt;&amp;&amp; argument)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorArray&gt; command = InspectorArray::create();
</del><ins>+    Ref&lt;InspectorArray&gt; command = InspectorArray::create();
</ins><span class="cx">     command-&gt;pushString(method);
</span><del>-    command-&gt;pushValue(argument);
</del><ins>+    command-&gt;pushValue(WTF::move(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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorOverlay.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorOverlay.h        2015-01-07 23:29:03 UTC (rev 178060)
</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>-    PassRefPtr&lt;Inspector::InspectorObject&gt; buildObjectForHighlightedNode() const;
</del><ins>+    RefPtr&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, PassRefPtr&lt;Inspector::InspectorValue&gt; argument);
</del><ins>+    void evaluateInOverlay(const String&amp; method, RefPtr&lt;Inspector::InspectorValue&gt;&amp;&amp; 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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorPageAgent.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorPageAgent.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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 PassRefPtr&lt;TextResourceDecoder&gt; createXHRTextDecoder(const String&amp; mimeType, const String&amp; textEncodingName)
</del><ins>+static RefPtr&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 decoder;
</del><ins>+    return WTF::move(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 PassRefPtr&lt;Inspector::Protocol::Page::Cookie&gt; buildObjectForCookie(const Cookie&amp; cookie)
</del><ins>+static Ref&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 PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Page::Cookie&gt;&gt; buildArrayForCookies(ListHashSet&lt;Cookie&gt;&amp; cookiesList)
</del><ins>+static Ref&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Page::Cookie&gt;&gt; buildArrayForCookies(ListHashSet&lt;Cookie&gt;&amp; cookiesList)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Page::Cookie&gt;&gt; cookies = Inspector::Protocol::Array&lt;Inspector::Protocol::Page::Cookie&gt;::create();
</del><ins>+    auto cookies = Inspector::Protocol::Array&lt;Inspector::Protocol::Page::Cookie&gt;::create();
</ins><span class="cx"> 
</span><del>-    for (auto&amp; cookie : cookiesList)
</del><ins>+    for (const auto&amp; cookie : cookiesList)
</ins><span class="cx">         cookies-&gt;addItem(buildObjectForCookie(cookie));
</span><span class="cx"> 
</span><del>-    return cookies;
</del><ins>+    return WTF::move(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 PassRefPtr&lt;Inspector::Protocol::Page::SearchResult&gt; buildObjectForSearchResult(const String&amp; frameId, const String&amp; url, int matchesCount)
</del><ins>+static Ref&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,14 +898,15 @@
</span><span class="cx">     m_frontendDispatcher-&gt;scriptsEnabled(isEnabled);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Inspector::Protocol::Page::Frame&gt; InspectorPageAgent::buildObjectForFrame(Frame* frame)
</del><ins>+Ref&lt;Inspector::Protocol::Page::Frame&gt; InspectorPageAgent::buildObjectForFrame(Frame* frame)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;Inspector::Protocol::Page::Frame&gt; frameObject = Inspector::Protocol::Page::Frame::create()
</del><ins>+    auto 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());
</del><ins>+        .setSecurityOrigin(frame-&gt;document()-&gt;securityOrigin()-&gt;toRawString())
+        .release();
</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">@@ -915,22 +916,24 @@
</span><span class="cx">         frameObject-&gt;setName(name);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return frameObject;
</del><ins>+    return WTF::move(frameObject);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Inspector::Protocol::Page::FrameResourceTree&gt; InspectorPageAgent::buildObjectForFrameTree(Frame* frame)
</del><ins>+Ref&lt;Inspector::Protocol::Page::FrameResourceTree&gt; InspectorPageAgent::buildObjectForFrameTree(Frame* frame)
</ins><span class="cx"> {
</span><del>-    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);
</del><ins>+    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();
</ins><span class="cx"> 
</span><span class="cx">     for (auto* cachedResource : cachedResourcesForFrame(frame)) {
</span><del>-        RefPtr&lt;Inspector::Protocol::Page::FrameResource&gt; resourceObject = Inspector::Protocol::Page::FrameResource::create()
</del><ins>+        auto 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());
</del><ins>+            .setMimeType(cachedResource-&gt;response().mimeType())
+            .release();
</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">@@ -938,7 +941,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(resourceObject);
</del><ins>+        subresources-&gt;addItem(WTF::move(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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorPageAgent.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorPageAgent.h        2015-01-07 23:29:03 UTC (rev 178060)
</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>-    PassRefPtr&lt;Inspector::Protocol::Page::Frame&gt; buildObjectForFrame(Frame*);
-    PassRefPtr&lt;Inspector::Protocol::Page::FrameResourceTree&gt; buildObjectForFrameTree(Frame*);
</del><ins>+    Ref&lt;Inspector::Protocol::Page::Frame&gt; buildObjectForFrame(Frame*);
+    Ref&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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorReplayAgent.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorReplayAgent.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -54,40 +54,36 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;Inspector::Protocol::Replay::ReplayPosition&gt; buildInspectorObjectForPosition(const ReplayPosition&amp; position)
</del><ins>+static Ref&lt;Inspector::Protocol::Replay::ReplayPosition&gt; buildInspectorObjectForPosition(const ReplayPosition&amp; position)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;Inspector::Protocol::Replay::ReplayPosition&gt; positionObject = Inspector::Protocol::Replay::ReplayPosition::create()
</del><ins>+    return Inspector::Protocol::Replay::ReplayPosition::create()
</ins><span class="cx">         .setSegmentOffset(position.segmentOffset)
</span><del>-        .setInputOffset(position.inputOffset);
-
-    return positionObject.release();
</del><ins>+        .setInputOffset(position.inputOffset)
+        .release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;Inspector::Protocol::Replay::ReplayInput&gt; buildInspectorObjectForInput(const NondeterministicInputBase&amp; input, size_t offset)
</del><ins>+static Ref&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>-    RefPtr&lt;Inspector::Protocol::Replay::ReplayInput&gt; inputObject = Inspector::Protocol::Replay::ReplayInput::create()
</del><ins>+    return Inspector::Protocol::Replay::ReplayInput::create()
</ins><span class="cx">         .setType(input.type())
</span><span class="cx">         .setOffset(offset)
</span><del>-        .setData(encodedInput.asObject());
-
-    return inputObject.release();
</del><ins>+        .setData(encodedInput.asObject())
+        .release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;Inspector::Protocol::Replay::ReplaySession&gt; buildInspectorObjectForSession(PassRefPtr&lt;ReplaySession&gt; prpSession)
</del><ins>+static Ref&lt;Inspector::Protocol::Replay::ReplaySession&gt; buildInspectorObjectForSession(RefPtr&lt;ReplaySession&gt;&amp;&amp; session)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;ReplaySession&gt; session = prpSession;
-    RefPtr&lt;Inspector::Protocol::Array&lt;SegmentIdentifier&gt;&gt; segments = Inspector::Protocol::Array&lt;SegmentIdentifier&gt;::create();
</del><ins>+    auto 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>-    RefPtr&lt;Inspector::Protocol::Replay::ReplaySession&gt; sessionObject = Inspector::Protocol::Replay::ReplaySession::create()
</del><ins>+    return Inspector::Protocol::Replay::ReplaySession::create()
</ins><span class="cx">         .setId(session-&gt;identifier())
</span><span class="cx">         .setTimestamp(session-&gt;timestamp())
</span><del>-        .setSegments(segments.release());
-
-    return sessionObject.release();
</del><ins>+        .setSegments(WTF::move(segments))
+        .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">@@ -111,7 +107,7 @@
</span><span class="cx"> 
</span><span class="cx"> class SerializeInputToJSONFunctor {
</span><span class="cx"> public:
</span><del>-    typedef PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::Replay::ReplayInput&gt;&gt; ReturnType;
</del><ins>+    typedef RefPtr&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">@@ -130,30 +126,28 @@
</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 PassRefPtr&lt;Inspector::Protocol::Replay::SessionSegment&gt; buildInspectorObjectForSegment(PassRefPtr&lt;ReplaySessionSegment&gt; prpSegment)
</del><ins>+static Ref&lt;Inspector::Protocol::Replay::SessionSegment&gt; buildInspectorObjectForSegment(RefPtr&lt;ReplaySessionSegment&gt;&amp;&amp; segment)
</ins><span class="cx"> {
</span><del>-    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();
</del><ins>+    auto 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);
</del><ins>+        RefPtr&lt;FunctorInputCursor&gt; functorCursor = FunctorInputCursor::create(segment.copyRef());
</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>-        RefPtr&lt;Inspector::Protocol::Replay::ReplayInputQueue&gt; queueObject = Inspector::Protocol::Replay::ReplayInputQueue::create()
</del><ins>+        auto 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);
-
-        queuesObject-&gt;addItem(queueObject.release());
</del><ins>+            .setInputs(queueInputs)
+            .release();
+        queuesObject-&gt;addItem(WTF::move(queueObject));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    RefPtr&lt;Inspector::Protocol::Replay::SessionSegment&gt; segmentObject = Inspector::Protocol::Replay::SessionSegment::create()
</del><ins>+    return Inspector::Protocol::Replay::SessionSegment::create()
</ins><span class="cx">         .setId(segment-&gt;identifier())
</span><span class="cx">         .setTimestamp(segment-&gt;timestamp())
</span><del>-        .setQueues(queuesObject.release());
-
-    return segmentObject.release();
</del><ins>+        .setQueues(WTF::move(queuesObject))
+        .release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> InspectorReplayAgent::InspectorReplayAgent(InstrumentingAgents* instrumentingAgents, InspectorPageAgent* pageAgent)
</span><span class="lines">@@ -337,7 +331,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; positionObject, bool fastReplay)
</del><ins>+void InspectorReplayAgent::replayToPosition(ErrorString&amp; errorString, const RefPtr&lt;InspectorObject&gt;&amp;&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">@@ -507,7 +501,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    serializedObject = buildInspectorObjectForSession(session);
</del><ins>+    serializedObject = buildInspectorObjectForSession(WTF::move(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">@@ -518,7 +512,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    serializedObject = buildInspectorObjectForSegment(segment);
</del><ins>+    serializedObject = buildInspectorObjectForSegment(WTF::move(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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorReplayAgent.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorReplayAgent.h        2015-01-07 23:29:03 UTC (rev 178060)
</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;, bool shouldFastForward) override;
</del><ins>+    virtual void replayToPosition(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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 PassRefPtr&lt;InspectorObject&gt; buildObjectForHeaders(const HTTPHeaderMap&amp; headers)
</del><ins>+static Ref&lt;InspectorObject&gt; buildObjectForHeaders(const HTTPHeaderMap&amp; headers)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; headersObject = InspectorObject::create();
</del><ins>+    Ref&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 headersObject;
</del><ins>+    return WTF::move(headersObject);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;Inspector::Protocol::Network::ResourceTiming&gt; buildObjectForTiming(const ResourceLoadTiming&amp; timing, DocumentLoader* loader)
</del><ins>+static Ref&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,54 +213,56 @@
</span><span class="cx">         .release();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;Inspector::Protocol::Network::Request&gt; buildObjectForResourceRequest(const ResourceRequest&amp; request)
</del><ins>+static Ref&lt;Inspector::Protocol::Network::Request&gt; buildObjectForResourceRequest(const ResourceRequest&amp; request)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;Inspector::Protocol::Network::Request&gt; requestObject = Inspector::Protocol::Network::Request::create()
</del><ins>+    auto 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()));
</del><ins>+        .setHeaders(buildObjectForHeaders(request.httpHeaderFields()))
+        .release();
</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 requestObject;
</del><ins>+    return WTF::move(requestObject);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;Inspector::Protocol::Network::Response&gt; buildObjectForResourceResponse(const ResourceResponse&amp; response, DocumentLoader* loader)
</del><ins>+static RefPtr&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>-    RefPtr&lt;InspectorObject&gt; headers = buildObjectForHeaders(response.httpHeaderFields());
</del><ins>+    Ref&lt;InspectorObject&gt; headers = buildObjectForHeaders(response.httpHeaderFields());
</ins><span class="cx"> 
</span><del>-    RefPtr&lt;Inspector::Protocol::Network::Response&gt; responseObject = Inspector::Protocol::Network::Response::create()
</del><ins>+    auto 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(headers)
-        .setMimeType(response.mimeType());
</del><ins>+        .setHeaders(WTF::move(headers))
+        .setMimeType(response.mimeType())
+        .release();
</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 responseObject;
</del><ins>+    return WTF::move(responseObject);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;Inspector::Protocol::Network::CachedResource&gt; buildObjectForCachedResource(CachedResource* cachedResource, DocumentLoader* loader)
</del><ins>+static Ref&lt;Inspector::Protocol::Network::CachedResource&gt; buildObjectForCachedResource(CachedResource* cachedResource, DocumentLoader* loader)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;Inspector::Protocol::Network::CachedResource&gt; resourceObject = Inspector::Protocol::Network::CachedResource::create()
</del><ins>+    auto 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());
</del><ins>+        .setBodySize(cachedResource-&gt;encodedSize())
+        .release();
</ins><span class="cx"> 
</span><del>-    RefPtr&lt;Inspector::Protocol::Network::Response&gt; resourceResponse = buildObjectForResourceResponse(cachedResource-&gt;response(), loader);
-    if (resourceResponse)
-        resourceObject-&gt;setResponse(resourceResponse);
</del><ins>+    auto resourceResponse = buildObjectForResourceResponse(cachedResource-&gt;response(), loader);
+    resourceObject-&gt;setResponse(WTF::move(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 resourceObject;
</del><ins>+    return WTF::move(resourceObject);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> InspectorResourceAgent::~InspectorResourceAgent()
</span><span class="lines">@@ -482,9 +484,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, PassRefPtr&lt;FormData&gt; formData, const HTTPHeaderMap&amp; headers, bool includeCredentials)
</del><ins>+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)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;XHRReplayData&gt; xhrReplayData = XHRReplayData::create(method, url, async, formData, headers, includeCredentials);
</del><ins>+    RefPtr&lt;XHRReplayData&gt; xhrReplayData = XHRReplayData::create(method, url, async, WTF::move(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">@@ -550,22 +552,24 @@
</span><span class="cx">         m_styleRecalculationInitiator = buildInitiatorObject(&amp;document);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Inspector::Protocol::Network::Initiator&gt; InspectorResourceAgent::buildInitiatorObject(Document* document)
</del><ins>+RefPtr&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>-        RefPtr&lt;Inspector::Protocol::Network::Initiator&gt; initiatorObject = Inspector::Protocol::Network::Initiator::create()
-            .setType(Inspector::Protocol::Network::Initiator::Type::Script);
</del><ins>+        auto initiatorObject = Inspector::Protocol::Network::Initiator::create()
+            .setType(Inspector::Protocol::Network::Initiator::Type::Script)
+            .release();
</ins><span class="cx">         initiatorObject-&gt;setStackTrace(stackTrace-&gt;buildInspectorArray());
</span><del>-        return initiatorObject;
</del><ins>+        return WTF::move(initiatorObject);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (document &amp;&amp; document-&gt;scriptableDocumentParser()) {
</span><del>-        RefPtr&lt;Inspector::Protocol::Network::Initiator&gt; initiatorObject = Inspector::Protocol::Network::Initiator::create()
-            .setType(Inspector::Protocol::Network::Initiator::Type::Parser);
</del><ins>+        auto initiatorObject = Inspector::Protocol::Network::Initiator::create()
+            .setType(Inspector::Protocol::Network::Initiator::Type::Parser)
+            .release();
</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 initiatorObject;
</del><ins>+        return WTF::move(initiatorObject);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (m_isRecalculatingStyle &amp;&amp; m_styleRecalculationInitiator)
</span><span class="lines">@@ -585,18 +589,20 @@
</span><span class="cx"> 
</span><span class="cx"> void InspectorResourceAgent::willSendWebSocketHandshakeRequest(unsigned long identifier, const ResourceRequest&amp; request)
</span><span class="cx"> {
</span><del>-    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);
</del><ins>+    auto requestObject = Inspector::Protocol::Network::WebSocketRequest::create()
+        .setHeaders(buildObjectForHeaders(request.httpHeaderFields()))
+        .release();
+    m_frontendDispatcher-&gt;webSocketWillSendHandshakeRequest(IdentifiersFactory::requestId(identifier), timestamp(), WTF::move(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>-    RefPtr&lt;Inspector::Protocol::Network::WebSocketResponse&gt; responseObject = Inspector::Protocol::Network::WebSocketResponse::create()
</del><ins>+    auto 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()));
-    m_frontendDispatcher-&gt;webSocketHandshakeResponseReceived(IdentifiersFactory::requestId(identifier), timestamp(), responseObject);
</del><ins>+        .setHeaders(buildObjectForHeaders(response.httpHeaderFields()))
+        .release();
+    m_frontendDispatcher-&gt;webSocketHandshakeResponseReceived(IdentifiersFactory::requestId(identifier), timestamp(), WTF::move(responseObject));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorResourceAgent::didCloseWebSocket(unsigned long identifier)
</span><span class="lines">@@ -606,20 +612,22 @@
</span><span class="cx"> 
</span><span class="cx"> void InspectorResourceAgent::didReceiveWebSocketFrame(unsigned long identifier, const WebSocketFrame&amp; frame)
</span><span class="cx"> {
</span><del>-    RefPtr&lt;Inspector::Protocol::Network::WebSocketFrame&gt; frameObject = Inspector::Protocol::Network::WebSocketFrame::create()
</del><ins>+    auto 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));
-    m_frontendDispatcher-&gt;webSocketFrameReceived(IdentifiersFactory::requestId(identifier), timestamp(), frameObject);
</del><ins>+        .setPayloadData(String(frame.payload, frame.payloadLength))
+        .release();
+    m_frontendDispatcher-&gt;webSocketFrameReceived(IdentifiersFactory::requestId(identifier), timestamp(), WTF::move(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>-    RefPtr&lt;Inspector::Protocol::Network::WebSocketFrame&gt; frameObject = Inspector::Protocol::Network::WebSocketFrame::create()
</del><ins>+    auto 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));
-    m_frontendDispatcher-&gt;webSocketFrameSent(IdentifiersFactory::requestId(identifier), timestamp(), frameObject);
</del><ins>+        .setPayloadData(String(frame.payload, frame.payloadLength))
+        .release();
+    m_frontendDispatcher-&gt;webSocketFrameSent(IdentifiersFactory::requestId(identifier), timestamp(), WTF::move(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">@@ -650,9 +658,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; headers)
</del><ins>+void InspectorResourceAgent::setExtraHTTPHeaders(ErrorString&amp;, const RefPtr&lt;InspectorObject&gt;&amp;&amp; headers)
</ins><span class="cx"> {
</span><del>-    m_extraRequestHeaders = headers;
</del><ins>+    m_extraRequestHeaders = headers.copyRef();
</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">@@ -739,7 +747,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, PassRefPtr&lt;LoadResourceCallback&gt; prpCallback)
</del><ins>+void InspectorResourceAgent::loadResource(ErrorString&amp; errorString, const String&amp; frameId, const String&amp; urlString, Ref&lt;LoadResourceCallback&gt;&amp;&amp; callback)
</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">@@ -751,8 +759,6 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    RefPtr&lt;LoadResourceCallback&gt; callback = prpCallback;
-
</del><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">@@ -764,7 +770,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(callback);
</del><ins>+    InspectorThreadableLoaderClient* inspectorThreadableLoaderClient = new InspectorThreadableLoaderClient(WTF::move(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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorResourceAgent.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorResourceAgent.h        2015-01-07 23:29:03 UTC (rev 178060)
</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, PassRefPtr&lt;FormData&gt; body, const HTTPHeaderMap&amp; headers, bool includeCrendentials);
</del><ins>+    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);
</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>-    PassRefPtr&lt;Inspector::Protocol::Network::Initiator&gt; buildInitiatorObject(Document*);
</del><ins>+    RefPtr&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;) override;
</del><ins>+    virtual void setExtraHTTPHeaders(ErrorString&amp;, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&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, PassRefPtr&lt;LoadResourceCallback&gt;) override;
</del><ins>+    virtual void loadResource(ErrorString&amp;, const String&amp; frameId, const String&amp; url, Ref&lt;LoadResourceCallback&gt;&amp;&amp;) 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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorStyleSheet.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorStyleSheet.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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>-    PassRefPtr&lt;WebCore::CSSRuleSourceData&gt; ruleSourceDataAt(unsigned) const;
</del><ins>+    RefPtr&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>-PassRefPtr&lt;WebCore::CSSRuleSourceData&gt; ParsedStyleSheet::ruleSourceDataAt(unsigned index) const
</del><ins>+RefPtr&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 PassRefPtr&lt;Inspector::Protocol::CSS::SourceRange&gt; buildSourceRangeObject(const SourceRange&amp; range, Vector&lt;size_t&gt;* lineEndings)
</del><ins>+static RefPtr&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 PassRefPtr&lt;Inspector::Protocol::CSS::CSSMedia&gt; buildMediaObject(const MediaList* media, MediaListSource mediaListSource, const String&amp; sourceURL)
</del><ins>+static Ref&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,18 +178,19 @@
</span><span class="cx">         break;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    RefPtr&lt;Inspector::Protocol::CSS::CSSMedia&gt; mediaObject = Inspector::Protocol::CSS::CSSMedia::create()
</del><ins>+    auto mediaObject = Inspector::Protocol::CSS::CSSMedia::create()
</ins><span class="cx">         .setText(media-&gt;mediaText())
</span><del>-        .setSource(source);
</del><ins>+        .setSource(source)
+        .release();
</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 mediaObject.release();
</del><ins>+    return WTF::move(mediaObject);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;CSSRuleList&gt; asCSSRuleList(CSSStyleSheet* styleSheet)
</del><ins>+static RefPtr&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">@@ -202,10 +203,10 @@
</span><span class="cx">             continue;
</span><span class="cx">         listRules.append(item);
</span><span class="cx">     }
</span><del>-    return list.release();
</del><ins>+    return WTF::move(list);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;CSSRuleList&gt; asCSSRuleList(CSSRule* rule)
</del><ins>+static RefPtr&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">@@ -222,7 +223,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;* mediaArray)
</del><ins>+static void fillMediaListChain(CSSRule* rule, Array&lt;Inspector::Protocol::CSS::CSSMedia&gt;&amp; mediaArray)
</ins><span class="cx"> {
</span><span class="cx">     MediaList* mediaList;
</span><span class="cx">     CSSRule* parentRule = rule;
</span><span class="lines">@@ -250,7 +251,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-&gt;addItem(buildMediaObject(mediaList, isMediaRule ? MediaListSourceMediaRule : MediaListSourceImportRule, sourceURL));
</del><ins>+            mediaArray.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">@@ -266,7 +267,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-&gt;addItem(buildMediaObject(mediaList, styleSheet-&gt;ownerNode() ? MediaListSourceLinkedSheet : MediaListSourceInlineSheet, sourceURL));
</del><ins>+                    mediaArray.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">@@ -282,12 +283,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>-PassRefPtr&lt;InspectorStyle&gt; InspectorStyle::create(const InspectorCSSId&amp; styleId, PassRefPtr&lt;CSSStyleDeclaration&gt; style, InspectorStyleSheet* parentStyleSheet)
</del><ins>+Ref&lt;InspectorStyle&gt; InspectorStyle::create(const InspectorCSSId&amp; styleId, RefPtr&lt;CSSStyleDeclaration&gt;&amp;&amp; style, InspectorStyleSheet* parentStyleSheet)
</ins><span class="cx"> {
</span><del>-    return adoptRef(new InspectorStyle(styleId, style, parentStyleSheet));
</del><ins>+    return adoptRef(*new InspectorStyle(styleId, WTF::move(style), parentStyleSheet));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-InspectorStyle::InspectorStyle(const InspectorCSSId&amp; styleId, PassRefPtr&lt;CSSStyleDeclaration&gt; style, InspectorStyleSheet* parentStyleSheet)
</del><ins>+InspectorStyle::InspectorStyle(const InspectorCSSId&amp; styleId, RefPtr&lt;CSSStyleDeclaration&gt;&amp;&amp; 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">@@ -300,9 +301,9 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt; InspectorStyle::buildObjectForStyle() const
</del><ins>+RefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt; InspectorStyle::buildObjectForStyle() const
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt; result = styleWithProperties();
</del><ins>+    Ref&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">@@ -313,24 +314,25 @@
</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 result.release();
</del><ins>+    return WTF::move(result);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSComputedStyleProperty&gt;&gt; InspectorStyle::buildArrayForComputedStyle() const
</del><ins>+Ref&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSComputedStyleProperty&gt;&gt; InspectorStyle::buildArrayForComputedStyle() const
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSComputedStyleProperty&gt;&gt; result = Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSComputedStyleProperty&gt;::create();
</del><ins>+    auto 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>-        RefPtr&lt;Inspector::Protocol::CSS::CSSComputedStyleProperty&gt; entry = Inspector::Protocol::CSS::CSSComputedStyleProperty::create()
</del><ins>+        auto entry = Inspector::Protocol::CSS::CSSComputedStyleProperty::create()
</ins><span class="cx">             .setName(propertyEntry.name)
</span><del>-            .setValue(propertyEntry.value);
-        result-&gt;addItem(entry.release());
</del><ins>+            .setValue(propertyEntry.value)
+            .release();
+        result-&gt;addItem(WTF::move(entry));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return result.release();
</del><ins>+    return WTF::move(result);
</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">@@ -503,13 +505,13 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt; InspectorStyle::styleWithProperties() const
</del><ins>+Ref&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>-    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();
</del><ins>+    auto propertiesObject = Array&lt;Inspector::Protocol::CSS::CSSProperty&gt;::create();
+    auto 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">@@ -532,9 +534,10 @@
</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);
</del><ins>+            .setValue(propertyEntry.value)
+            .release();
</ins><span class="cx"> 
</span><del>-        propertiesObject-&gt;addItem(property);
</del><ins>+        propertiesObject-&gt;addItem(property.copyRef());
</ins><span class="cx"> 
</span><span class="cx">         // Default &quot;parsedOk&quot; == true.
</span><span class="cx">         if (!propertyEntry.parsedOk)
</span><span class="lines">@@ -600,10 +603,11 @@
</span><span class="cx">                 if (!shorthand.isEmpty()) {
</span><span class="cx">                     if (!foundShorthands.contains(shorthand)) {
</span><span class="cx">                         foundShorthands.add(shorthand);
</span><del>-                        RefPtr&lt;Inspector::Protocol::CSS::ShorthandEntry&gt; entry = Inspector::Protocol::CSS::ShorthandEntry::create()
</del><ins>+                        auto entry = Inspector::Protocol::CSS::ShorthandEntry::create()
</ins><span class="cx">                             .setName(shorthand)
</span><del>-                            .setValue(shorthandValue(shorthand));
-                        shorthandEntries-&gt;addItem(entry.release());
</del><ins>+                            .setValue(shorthandValue(shorthand))
+                            .release();
+                        shorthandEntries-&gt;addItem(WTF::move(entry));
</ins><span class="cx">                     }
</span><span class="cx">                 }
</span><span class="cx">             }
</span><span class="lines">@@ -615,12 +619,12 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     return Inspector::Protocol::CSS::CSSStyle::create()
</span><del>-        .setCssProperties(propertiesObject.release())
-        .setShorthandEntries(shorthandEntries.release())
</del><ins>+        .setCssProperties(WTF::move(propertiesObject))
+        .setShorthandEntries(WTF::move(shorthandEntries))
</ins><span class="cx">         .release();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;CSSRuleSourceData&gt; InspectorStyle::extractSourceData() const
</del><ins>+RefPtr&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">@@ -749,9 +753,9 @@
</span><span class="cx">     return m_format;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-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)
</del><ins>+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)
</ins><span class="cx"> {
</span><del>-    return adoptRef(new InspectorStyleSheet(pageAgent, id, pageStyleSheet, origin, documentURL, listener));
</del><ins>+    return adoptRef(*new InspectorStyleSheet(pageAgent, id, WTF::move(pageStyleSheet), origin, documentURL, listener));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // static
</span><span class="lines">@@ -762,10 +766,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, PassRefPtr&lt;CSSStyleSheet&gt; pageStyleSheet, Inspector::Protocol::CSS::StyleSheetOrigin origin, const String&amp; documentURL, Listener* listener)
</del><ins>+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)
</ins><span class="cx">     : m_pageAgent(pageAgent)
</span><span class="cx">     , m_id(id)
</span><del>-    , m_pageStyleSheet(pageStyleSheet)
</del><ins>+    , m_pageStyleSheet(WTF::move(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">@@ -953,7 +957,7 @@
</span><span class="cx"> 
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Inspector::Protocol::CSS::CSSStyleSheetBody&gt; InspectorStyleSheet::buildObjectForStyleSheet()
</del><ins>+RefPtr&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">@@ -961,19 +965,20 @@
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;CSSRuleList&gt; cssRuleList = asCSSRuleList(styleSheet);
</span><span class="cx"> 
</span><del>-    RefPtr&lt;Inspector::Protocol::CSS::CSSStyleSheetBody&gt; result = Inspector::Protocol::CSS::CSSStyleSheetBody::create()
</del><ins>+    auto result = Inspector::Protocol::CSS::CSSStyleSheetBody::create()
</ins><span class="cx">         .setStyleSheetId(id())
</span><del>-        .setRules(buildArrayForRuleList(cssRuleList.get()));
</del><ins>+        .setRules(buildArrayForRuleList(cssRuleList.get()))
+        .release();
</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 result.release();
</del><ins>+    return WTF::move(result);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Inspector::Protocol::CSS::CSSStyleSheetHeader&gt; InspectorStyleSheet::buildObjectForStyleSheetInfo()
</del><ins>+RefPtr&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">@@ -991,30 +996,31 @@
</span><span class="cx">         .release();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;Inspector::Protocol::CSS::CSSSelector&gt; buildObjectForSelectorHelper(const String&amp; selectorText, const CSSSelector&amp; selector)
</del><ins>+static Ref&lt;Inspector::Protocol::CSS::CSSSelector&gt; buildObjectForSelectorHelper(const String&amp; selectorText, const CSSSelector&amp; selector)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;Inspector::Protocol::CSS::CSSSelector&gt; inspectorSelector = Inspector::Protocol::CSS::CSSSelector::create()
-        .setText(selectorText);
</del><ins>+    auto inspectorSelector = Inspector::Protocol::CSS::CSSSelector::create()
+        .setText(selectorText)
+        .release();
</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>-        RefPtr&lt;Inspector::Protocol::Array&lt;int&gt;&gt; tuple = Inspector::Protocol::Array&lt;int&gt;::create();
</del><ins>+        auto 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(tuple.release());
</del><ins>+        inspectorSelector-&gt;setSpecificity(WTF::move(tuple));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return inspectorSelector.release();
</del><ins>+    return WTF::move(inspectorSelector);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-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)
</del><ins>+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)
</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>-    RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSSelector&gt;&gt; result = Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSSelector&gt;::create();
</del><ins>+    auto 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">@@ -1027,15 +1033,15 @@
</span><span class="cx"> 
</span><span class="cx">         selector = CSSSelectorList::next(selector);
</span><span class="cx">     }
</span><del>-    return result.release();
</del><ins>+    return WTF::move(result);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Inspector::Protocol::CSS::CSSSelector&gt; InspectorStyleSheet::buildObjectForSelector(const CSSSelector* selector)
</del><ins>+Ref&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>-PassRefPtr&lt;Inspector::Protocol::CSS::SelectorList&gt; InspectorStyleSheet::buildObjectForSelectorList(CSSStyleRule* rule)
</del><ins>+Ref&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">@@ -1053,26 +1059,27 @@
</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>-    RefPtr&lt;Inspector::Protocol::CSS::SelectorList&gt; result = Inspector::Protocol::CSS::SelectorList::create()
</del><ins>+    auto 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 result.release();
</del><ins>+    return WTF::move(result);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Inspector::Protocol::CSS::CSSRule&gt; InspectorStyleSheet::buildObjectForRule(CSSStyleRule* rule)
</del><ins>+RefPtr&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>-    RefPtr&lt;Inspector::Protocol::CSS::CSSRule&gt; result = Inspector::Protocol::CSS::CSSRule::create()
</del><ins>+    auto 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()));
</del><ins>+        .setStyle(buildObjectForStyle(&amp;rule-&gt;style()))
+        .release();
</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">@@ -1084,16 +1091,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>-    RefPtr&lt;Array&lt;Inspector::Protocol::CSS::CSSMedia&gt;&gt; mediaArray = Array&lt;Inspector::Protocol::CSS::CSSMedia&gt;::create();
</del><ins>+    auto 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(mediaArray.release());
</del><ins>+        result-&gt;setMedia(WTF::move(mediaArray));
</ins><span class="cx"> 
</span><del>-    return result.release();
</del><ins>+    return WTF::move(result);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt; InspectorStyleSheet::buildObjectForStyle(CSSStyleDeclaration* style)
</del><ins>+RefPtr&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">@@ -1119,7 +1126,7 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return result.release();
</del><ins>+    return WTF::move(result);
</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">@@ -1164,7 +1171,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);
</del><ins>+            rememberInspectorStyle(inspectorStyle.copyRef());
</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">@@ -1195,7 +1202,7 @@
</span><span class="cx">         m_listener-&gt;styleSheetChanged(this);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorStyle&gt; InspectorStyleSheet::inspectorStyleForId(const InspectorCSSId&amp; id)
</del><ins>+RefPtr&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">@@ -1207,7 +1214,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; inspectorStyle)
</del><ins>+void InspectorStyleSheet::rememberInspectorStyle(RefPtr&lt;InspectorStyle&gt;&amp;&amp; inspectorStyle)
</ins><span class="cx"> {
</span><span class="cx">     m_inspectorStyles.set(inspectorStyle-&gt;cssStyle(), inspectorStyle);
</span><span class="cx"> }
</span><span class="lines">@@ -1417,23 +1424,23 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSRule&gt;&gt; InspectorStyleSheet::buildArrayForRuleList(CSSRuleList* ruleList)
</del><ins>+Ref&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSRule&gt;&gt; InspectorStyleSheet::buildArrayForRuleList(CSSRuleList* ruleList)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSRule&gt;&gt; result = Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSRule&gt;::create();
</del><ins>+    auto result = Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSRule&gt;::create();
</ins><span class="cx">     if (!ruleList)
</span><del>-        return result.release();
</del><ins>+        return WTF::move(result);
</ins><span class="cx"> 
</span><span class="cx">     RefPtr&lt;CSSRuleList&gt; refRuleList = ruleList;
</span><span class="cx">     CSSStyleRuleVector rules;
</span><del>-    collectFlatRules(refRuleList, &amp;rules);
</del><ins>+    collectFlatRules(WTF::move(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 result.release();
</del><ins>+    return WTF::move(result);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorStyleSheet::collectFlatRules(PassRefPtr&lt;CSSRuleList&gt; ruleList, CSSStyleRuleVector* result)
</del><ins>+void InspectorStyleSheet::collectFlatRules(RefPtr&lt;CSSRuleList&gt;&amp;&amp; ruleList, CSSStyleRuleVector* result)
</ins><span class="cx"> {
</span><span class="cx">     if (!ruleList)
</span><span class="cx">         return;
</span><span class="lines">@@ -1446,19 +1453,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(childRuleList, result);
</del><ins>+                collectFlatRules(WTF::move(childRuleList), result);
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorStyleSheetForInlineStyle&gt; InspectorStyleSheetForInlineStyle::create(InspectorPageAgent* pageAgent, const String&amp; id, PassRefPtr&lt;Element&gt; element, Inspector::Protocol::CSS::StyleSheetOrigin origin, Listener* listener)
</del><ins>+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)
</ins><span class="cx"> {
</span><del>-    return adoptRef(new InspectorStyleSheetForInlineStyle(pageAgent, id, element, origin, listener));
</del><ins>+    return adoptRef(*new InspectorStyleSheetForInlineStyle(pageAgent, id, WTF::move(element), origin, listener));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle(InspectorPageAgent* pageAgent, const String&amp; id, PassRefPtr&lt;Element&gt; element, Inspector::Protocol::CSS::StyleSheetOrigin origin, Listener* listener)
</del><ins>+InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle(InspectorPageAgent* pageAgent, const String&amp; id, RefPtr&lt;Element&gt;&amp;&amp; element, Inspector::Protocol::CSS::StyleSheetOrigin origin, Listener* listener)
</ins><span class="cx">     : InspectorStyleSheet(pageAgent, id, nullptr, origin, &quot;&quot;, listener)
</span><del>-    , m_element(element)
</del><ins>+    , m_element(WTF::move(element))
</ins><span class="cx">     , m_ruleSourceData(nullptr)
</span><span class="cx">     , m_isStyleTextValid(false)
</span><span class="cx"> {
</span><span class="lines">@@ -1531,10 +1538,10 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorStyle&gt; InspectorStyleSheetForInlineStyle::inspectorStyleForId(const InspectorCSSId&amp; id)
</del><ins>+RefPtr&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;
</del><ins>+    return m_inspectorStyle.copyRef();
</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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorStyleSheet.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorStyleSheet.h        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -33,7 +33,6 @@
</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><del>-#include &lt;wtf/PassRefPtr.h&gt;
</del><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">@@ -64,13 +63,13 @@
</span><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    explicit InspectorCSSId(RefPtr&lt;Inspector::InspectorObject&gt; value)
</del><ins>+    explicit InspectorCSSId(const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; 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>-        RefPtr&lt;Inspector::InspectorValue&gt; ordinalValue = value-&gt;get(&quot;ordinal&quot;);
-        if (!ordinalValue || !ordinalValue-&gt;asInteger(m_ordinal))
</del><ins>+        int ordinalValue;
+        if (!value-&gt;getInteger(&quot;ordinal&quot;, ordinalValue))
</ins><span class="cx">             m_styleSheetId = &quot;&quot;;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -87,15 +86,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>-    PassRefPtr&lt;ID&gt; asProtocolValue() const
</del><ins>+    RefPtr&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>-        RefPtr&lt;ID&gt; result = ID::create()
</del><ins>+        return ID::create()
</ins><span class="cx">             .setStyleSheetId(m_styleSheetId)
</span><del>-            .setOrdinal(m_ordinal);
-        return result.release();
</del><ins>+            .setOrdinal(m_ordinal)
+            .release();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="lines">@@ -136,12 +135,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 PassRefPtr&lt;InspectorStyle&gt; create(const InspectorCSSId&amp; styleId, PassRefPtr&lt;CSSStyleDeclaration&gt; style, InspectorStyleSheet* parentStyleSheet);
</del><ins>+    static Ref&lt;InspectorStyle&gt; create(const InspectorCSSId&amp; styleId, RefPtr&lt;CSSStyleDeclaration&gt;&amp;&amp;, InspectorStyleSheet* parentStyleSheet);
</ins><span class="cx">     ~InspectorStyle();
</span><span class="cx"> 
</span><span class="cx">     CSSStyleDeclaration* cssStyle() const { return m_style.get(); }
</span><del>-    PassRefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt; buildObjectForStyle() const;
-    PassRefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSComputedStyleProperty&gt;&gt; buildArrayForComputedStyle() const;
</del><ins>+    RefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt; buildObjectForStyle() const;
+    Ref&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">@@ -150,15 +149,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, PassRefPtr&lt;CSSStyleDeclaration&gt; style, InspectorStyleSheet* parentStyleSheet);
</del><ins>+    InspectorStyle(const InspectorCSSId&amp; styleId, RefPtr&lt;CSSStyleDeclaration&gt;&amp;&amp;, 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>-    PassRefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt; styleWithProperties() const;
-    PassRefPtr&lt;CSSRuleSourceData&gt; extractSourceData() const;
</del><ins>+    Ref&lt;Inspector::Protocol::CSS::CSSStyle&gt; styleWithProperties() const;
+    RefPtr&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">@@ -182,7 +181,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 PassRefPtr&lt;InspectorStyleSheet&gt; create(InspectorPageAgent*, const String&amp; id, PassRefPtr&lt;CSSStyleSheet&gt; pageStyleSheet, Inspector::Protocol::CSS::StyleSheetOrigin, const String&amp; documentURL, Listener*);
</del><ins>+    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*);
</ins><span class="cx">     static String styleSheetURL(CSSStyleSheet* pageStyleSheet);
</span><span class="cx"> 
</span><span class="cx">     virtual ~InspectorStyleSheet();
</span><span class="lines">@@ -197,10 +196,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>-    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*);
</del><ins>+    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*);
</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">@@ -213,17 +212,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, PassRefPtr&lt;CSSStyleSheet&gt; pageStyleSheet, Inspector::Protocol::CSS::StyleSheetOrigin, const String&amp; documentURL, Listener*);
</del><ins>+    InspectorStyleSheet(InspectorPageAgent*, const String&amp; id, RefPtr&lt;CSSStyleSheet&gt;&amp;&amp; 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* style) const;
</del><ins>+    InspectorCSSId ruleOrStyleId(CSSStyleDeclaration*) const;
</ins><span class="cx">     virtual Document* ownerDocument() const;
</span><del>-    virtual RefPtr&lt;CSSRuleSourceData&gt; ruleSourceDataFor(CSSStyleDeclaration* style) const;
</del><ins>+    virtual RefPtr&lt;CSSRuleSourceData&gt; ruleSourceDataFor(CSSStyleDeclaration*) const;
</ins><span class="cx">     virtual unsigned ruleIndexByStyle(CSSStyleDeclaration*) const;
</span><span class="cx">     virtual bool ensureParsedDataReady();
</span><del>-    virtual PassRefPtr&lt;InspectorStyle&gt; inspectorStyleForId(const InspectorCSSId&amp;);
-    virtual void rememberInspectorStyle(RefPtr&lt;InspectorStyle&gt; inspectorStyle);
-    virtual void forgetInspectorStyle(CSSStyleDeclaration* style);
</del><ins>+    virtual RefPtr&lt;InspectorStyle&gt; inspectorStyleForId(const InspectorCSSId&amp;);
+    virtual void rememberInspectorStyle(RefPtr&lt;InspectorStyle&gt;&amp;&amp;);
+    virtual void forgetInspectorStyle(CSSStyleDeclaration*);
</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">@@ -233,7 +232,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(PassRefPtr&lt;CSSRuleList&gt;, CSSStyleRuleVector* result);
</del><ins>+    static void collectFlatRules(RefPtr&lt;CSSRuleList&gt;&amp;&amp;, 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">@@ -243,9 +242,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>-    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*);
</del><ins>+    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*);
</ins><span class="cx"> 
</span><span class="cx">     InspectorPageAgent* m_pageAgent;
</span><span class="cx">     String m_id;
</span><span class="lines">@@ -261,21 +260,21 @@
</span><span class="cx"> 
</span><span class="cx"> class InspectorStyleSheetForInlineStyle final : public InspectorStyleSheet {
</span><span class="cx"> public:
</span><del>-    static PassRefPtr&lt;InspectorStyleSheetForInlineStyle&gt; create(InspectorPageAgent*, const String&amp; id, PassRefPtr&lt;Element&gt;, Inspector::Protocol::CSS::StyleSheetOrigin, Listener*);
</del><ins>+    static Ref&lt;InspectorStyleSheetForInlineStyle&gt; create(InspectorPageAgent*, const String&amp; id, RefPtr&lt;Element&gt;&amp;&amp;, 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, PassRefPtr&lt;Element&gt;, Inspector::Protocol::CSS::StyleSheetOrigin, Listener*);
</del><ins>+    InspectorStyleSheetForInlineStyle(InspectorPageAgent*, const String&amp; id, RefPtr&lt;Element&gt;&amp;&amp;, 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 PassRefPtr&lt;InspectorStyle&gt; inspectorStyleForId(const InspectorCSSId&amp;) override;
-    virtual void rememberInspectorStyle(RefPtr&lt;InspectorStyle&gt;) override { }
</del><ins>+    virtual RefPtr&lt;InspectorStyle&gt; inspectorStyleForId(const InspectorCSSId&amp;) override;
+    virtual void rememberInspectorStyle(RefPtr&lt;InspectorStyle&gt;&amp;&amp;) 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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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>-    RefPtr&lt;Stopwatch&gt; profilerStopwatch = Stopwatch::create();
</del><ins>+    Ref&lt;Stopwatch&gt; profilerStopwatch = Stopwatch::create();
</ins><span class="cx">     profilerStopwatch-&gt;start();
</span><del>-    startProfiling(exec, title, profilerStopwatch.release());
</del><ins>+    startProfiling(exec, title, WTF::move(profilerStopwatch));
</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);
</del><ins>+                TimelineRecordFactory::appendProfile(record.data.get(), profile.copyRef());
</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 profile.release();
</del><ins>+            return WTF::move(profile);
</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(PassRefPtr&lt;InspectorObject&gt; prpRecord, TimelineRecordType type)
</del><ins>+void InspectorTimelineAgent::addRecordToTimeline(RefPtr&lt;InspectorObject&gt;&amp;&amp; record, TimelineRecordType type)
</ins><span class="cx"> {
</span><del>-    prpRecord-&gt;setString(&quot;type&quot;, Inspector::Protocol::getEnumConstantValue(toProtocol(type)));
</del><ins>+    ASSERT_ARG(record, record);
+    record-&gt;setString(&quot;type&quot;, Inspector::Protocol::getEnumConstantValue(toProtocol(type)));
</ins><span class="cx"> 
</span><del>-    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 {
</del><ins>+    if (m_recordStack.isEmpty()) {
+        auto recordObject = BindingTraits&lt;Inspector::Protocol::Timeline::TimelineEvent&gt;::runtimeCast(WTF::move(record));
+        sendEvent(WTF::move(recordObject));
+    } else {
</ins><span class="cx">         const TimelineRecordEntry&amp; parent = m_recordStack.last();
</span><del>-        parent.children-&gt;pushObject(record.release());
</del><ins>+        parent.children-&gt;pushObject(WTF::move(record));
</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, entry.type);
</del><ins>+    addRecordToTimeline(entry.record.copyRef(), 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(PassRefPtr&lt;InspectorObject&gt; data, TimelineRecordType type, bool captureCallStack, Frame* frame)
</del><ins>+void InspectorTimelineAgent::appendRecord(RefPtr&lt;InspectorObject&gt;&amp;&amp; data, TimelineRecordType type, bool captureCallStack, Frame* frame)
</ins><span class="cx"> {
</span><del>-    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);
</del><ins>+    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);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorTimelineAgent::sendEvent(PassRefPtr&lt;InspectorObject&gt; event)
</del><ins>+void InspectorTimelineAgent::sendEvent(RefPtr&lt;InspectorObject&gt;&amp;&amp; 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>-    RefPtr&lt;Inspector::Protocol::Timeline::TimelineEvent&gt; recordChecked = BindingTraits&lt;Inspector::Protocol::Timeline::TimelineEvent&gt;::runtimeCast(event);
-    m_frontendDispatcher-&gt;eventRecorded(recordChecked.release());
</del><ins>+    auto recordChecked = BindingTraits&lt;Inspector::Protocol::Timeline::TimelineEvent&gt;::runtimeCast(WTF::move(event));
+    m_frontendDispatcher-&gt;eventRecorded(WTF::move(recordChecked));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-InspectorTimelineAgent::TimelineRecordEntry InspectorTimelineAgent::createRecordEntry(PassRefPtr&lt;InspectorObject&gt; data, TimelineRecordType type, bool captureCallStack, Frame* frame)
</del><ins>+InspectorTimelineAgent::TimelineRecordEntry InspectorTimelineAgent::createRecordEntry(RefPtr&lt;InspectorObject&gt;&amp;&amp; data, TimelineRecordType type, bool captureCallStack, Frame* frame)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; record = TimelineRecordFactory::createGenericRecord(timestamp(), captureCallStack ? m_maxCallStackDepth : 0);
-    setFrameIdentifier(record.get(), frame);
-    return TimelineRecordEntry(record.release(), data, InspectorArray::create(), type);
</del><ins>+    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);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorTimelineAgent::pushCurrentRecord(PassRefPtr&lt;InspectorObject&gt; data, TimelineRecordType type, bool captureCallStack, Frame* frame)
</del><ins>+void InspectorTimelineAgent::pushCurrentRecord(RefPtr&lt;InspectorObject&gt;&amp;&amp; data, TimelineRecordType type, bool captureCallStack, Frame* frame)
</ins><span class="cx"> {
</span><del>-    pushCurrentRecord(createRecordEntry(data, type, captureCallStack, frame));
</del><ins>+    pushCurrentRecord(createRecordEntry(WTF::move(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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorTimelineAgent.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorTimelineAgent.h        2015-01-07 23:29:03 UTC (rev 178060)
</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(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*);
</del><ins>+    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*);
</ins><span class="cx">     void pushCurrentRecord(const TimelineRecordEntry&amp; record) { m_recordStack.append(record); }
</span><span class="cx"> 
</span><del>-    TimelineRecordEntry createRecordEntry(PassRefPtr&lt;Inspector::InspectorObject&gt; data, TimelineRecordType, bool captureCallStack, Frame*);
</del><ins>+    TimelineRecordEntry createRecordEntry(RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp; 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(PassRefPtr&lt;Inspector::InspectorObject&gt;, TimelineRecordType);
</del><ins>+    void addRecordToTimeline(RefPtr&lt;Inspector::InspectorObject&gt;&amp;&amp;, 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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorWorkerAgent.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorWorkerAgent.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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; message)
</del><ins>+void InspectorWorkerAgent::sendMessageToWorker(ErrorString&amp; error, int workerId, const RefPtr&lt;InspectorObject&gt;&amp;&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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorWorkerAgent.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/InspectorWorkerAgent.h        2015-01-07 23:29:03 UTC (rev 178060)
</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; message) override;
</del><ins>+    virtual void sendMessageToWorker(ErrorString&amp;, int workerId, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;&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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/NetworkResourcesData.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/NetworkResourcesData.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -51,17 +51,17 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-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)
</del><ins>+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)
</ins><span class="cx"> {
</span><del>-    return adoptRef(new XHRReplayData(method, url, async, formData, headers, includeCredentials));
</del><ins>+    return adoptRef(*new XHRReplayData(method, url, async, WTF::move(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, PassRefPtr&lt;FormData&gt; formData, const HTTPHeaderMap&amp; headers, bool includeCredentials)
</del><ins>+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)
</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(formData)
</del><ins>+    , m_formData(WTF::move(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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/NetworkResourcesData.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/NetworkResourcesData.h        2015-01-07 23:29:03 UTC (rev 178060)
</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 PassRefPtr&lt;XHRReplayData&gt; create(const String &amp;method, const URL&amp;, bool async, PassRefPtr&lt;FormData&gt;, const HTTPHeaderMap&amp; headers, bool includeCredentials);
</del><ins>+    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);
</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, PassRefPtr&lt;FormData&gt;, const HTTPHeaderMap&amp; headers, bool includeCredentials);
</del><ins>+    XHRReplayData(const String &amp;method, const URL&amp;, bool async, RefPtr&lt;FormData&gt;&amp;&amp;, 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>-        PassRefPtr&lt;TextResourceDecoder&gt; decoder() const { return m_decoder; }
-        void setDecoder(PassRefPtr&lt;TextResourceDecoder&gt; decoder) { m_decoder = decoder; }
</del><ins>+        RefPtr&lt;TextResourceDecoder&gt; decoder() const { return m_decoder.copyRef(); }
+        void setDecoder(RefPtr&lt;TextResourceDecoder&gt;&amp;&amp; decoder) { m_decoder = WTF::move(decoder); }
</ins><span class="cx"> 
</span><del>-        PassRefPtr&lt;SharedBuffer&gt; buffer() const { return m_buffer; }
-        void setBuffer(PassRefPtr&lt;SharedBuffer&gt; buffer) { m_buffer = buffer; }
</del><ins>+        RefPtr&lt;SharedBuffer&gt; buffer() const { return m_buffer.copyRef(); }
+        void setBuffer(RefPtr&lt;SharedBuffer&gt;&amp;&amp; buffer) { m_buffer = WTF::move(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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/TimelineRecordFactory.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/TimelineRecordFactory.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -52,9 +52,9 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createGenericRecord(double startTime, int maxCallStackDepth)
</del><ins>+Ref&lt;InspectorObject&gt; TimelineRecordFactory::createGenericRecord(double startTime, int maxCallStackDepth)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; record = InspectorObject::create();
</del><ins>+    Ref&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 record.release();
</del><ins>+    return WTF::move(record);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createBackgroundRecord(double startTime, const String&amp; threadName)
</del><ins>+Ref&lt;InspectorObject&gt; TimelineRecordFactory::createBackgroundRecord(double startTime, const String&amp; threadName)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; record = InspectorObject::create();
</del><ins>+    Ref&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 record.release();
</del><ins>+    return WTF::move(record);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createGCEventData(const size_t usedHeapSizeDelta)
</del><ins>+Ref&lt;InspectorObject&gt; TimelineRecordFactory::createGCEventData(const size_t usedHeapSizeDelta)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setInteger(&quot;usedHeapSizeDelta&quot;, usedHeapSizeDelta);
</span><del>-    return data.release();
</del><ins>+    return WTF::move(data);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createFunctionCallData(const String&amp; scriptName, int scriptLine)
</del><ins>+Ref&lt;InspectorObject&gt; TimelineRecordFactory::createFunctionCallData(const String&amp; scriptName, int scriptLine)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    Ref&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 data.release();
</del><ins>+    return WTF::move(data);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createConsoleProfileData(const String&amp; title)
</del><ins>+Ref&lt;InspectorObject&gt; TimelineRecordFactory::createConsoleProfileData(const String&amp; title)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setString(&quot;title&quot;, title);
</span><del>-    return data.release();
</del><ins>+    return WTF::move(data);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createProbeSampleData(const ScriptBreakpointAction&amp; action, unsigned sampleId)
</del><ins>+Ref&lt;InspectorObject&gt; TimelineRecordFactory::createProbeSampleData(const ScriptBreakpointAction&amp; action, unsigned sampleId)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    Ref&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 data.release();
</del><ins>+    return WTF::move(data);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createEventDispatchData(const Event&amp; event)
</del><ins>+Ref&lt;InspectorObject&gt; TimelineRecordFactory::createEventDispatchData(const Event&amp; event)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setString(&quot;type&quot;, event.type().string());
</span><del>-    return data.release();
</del><ins>+    return WTF::move(data);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createGenericTimerData(int timerId)
</del><ins>+Ref&lt;InspectorObject&gt; TimelineRecordFactory::createGenericTimerData(int timerId)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setInteger(&quot;timerId&quot;, timerId);
</span><del>-    return data.release();
</del><ins>+    return WTF::move(data);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createTimerInstallData(int timerId, int timeout, bool singleShot)
</del><ins>+Ref&lt;InspectorObject&gt; TimelineRecordFactory::createTimerInstallData(int timerId, int timeout, bool singleShot)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    Ref&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 data.release();
</del><ins>+    return WTF::move(data);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createXHRReadyStateChangeData(const String&amp; url, int readyState)
</del><ins>+Ref&lt;InspectorObject&gt; TimelineRecordFactory::createXHRReadyStateChangeData(const String&amp; url, int readyState)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    Ref&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 data.release();
</del><ins>+    return WTF::move(data);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createXHRLoadData(const String&amp; url)
</del><ins>+Ref&lt;InspectorObject&gt; TimelineRecordFactory::createXHRLoadData(const String&amp; url)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setString(&quot;url&quot;, url);
</span><del>-    return data.release();
</del><ins>+    return WTF::move(data);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createEvaluateScriptData(const String&amp; url, double lineNumber)
</del><ins>+Ref&lt;InspectorObject&gt; TimelineRecordFactory::createEvaluateScriptData(const String&amp; url, double lineNumber)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    Ref&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 data.release();
</del><ins>+    return WTF::move(data);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createTimeStampData(const String&amp; message)
</del><ins>+Ref&lt;InspectorObject&gt; TimelineRecordFactory::createTimeStampData(const String&amp; message)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setString(&quot;message&quot;, message);
</span><del>-    return data.release();
</del><ins>+    return WTF::move(data);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createScheduleResourceRequestData(const String&amp; url)
</del><ins>+Ref&lt;InspectorObject&gt; TimelineRecordFactory::createScheduleResourceRequestData(const String&amp; url)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setString(&quot;url&quot;, url);
</span><del>-    return data.release();
</del><ins>+    return WTF::move(data);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createResourceSendRequestData(const String&amp; requestId, const ResourceRequest&amp; request)
</del><ins>+Ref&lt;InspectorObject&gt; TimelineRecordFactory::createResourceSendRequestData(const String&amp; requestId, const ResourceRequest&amp; request)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    Ref&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 data.release();
</del><ins>+    return WTF::move(data);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createResourceReceiveResponseData(const String&amp; requestId, const ResourceResponse&amp; response)
</del><ins>+Ref&lt;InspectorObject&gt; TimelineRecordFactory::createResourceReceiveResponseData(const String&amp; requestId, const ResourceResponse&amp; response)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    Ref&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 data.release();
</del><ins>+    return WTF::move(data);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createResourceFinishData(const String&amp; requestId, bool didFail, double finishTime)
</del><ins>+Ref&lt;InspectorObject&gt; TimelineRecordFactory::createResourceFinishData(const String&amp; requestId, bool didFail, double finishTime)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    Ref&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 data.release();
</del><ins>+    return WTF::move(data);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createReceiveResourceData(const String&amp; requestId, int length)
</del><ins>+Ref&lt;InspectorObject&gt; TimelineRecordFactory::createReceiveResourceData(const String&amp; requestId, int length)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    Ref&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 data.release();
</del><ins>+    return WTF::move(data);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createLayoutData(unsigned dirtyObjects, unsigned totalObjects, bool partialLayout)
</del><ins>+Ref&lt;InspectorObject&gt; TimelineRecordFactory::createLayoutData(unsigned dirtyObjects, unsigned totalObjects, bool partialLayout)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    Ref&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 data.release();
</del><ins>+    return WTF::move(data);
</ins><span class="cx"> }
</span><del>-    
-PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createDecodeImageData(const String&amp; imageType)
</del><ins>+
+Ref&lt;InspectorObject&gt; TimelineRecordFactory::createDecodeImageData(const String&amp; imageType)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setString(&quot;imageType&quot;, imageType);
</span><del>-    return data.release();
</del><ins>+    return WTF::move(data);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createResizeImageData(bool shouldCache)
</del><ins>+Ref&lt;InspectorObject&gt; TimelineRecordFactory::createResizeImageData(bool shouldCache)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setBoolean(&quot;cached&quot;, shouldCache);
</span><del>-    return data.release();
</del><ins>+    return WTF::move(data);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createMarkData(bool isMainFrame)
</del><ins>+Ref&lt;InspectorObject&gt; TimelineRecordFactory::createMarkData(bool isMainFrame)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setBoolean(&quot;isMainFrame&quot;, isMainFrame);
</span><del>-    return data.release();
</del><ins>+    return WTF::move(data);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createParseHTMLData(unsigned startLine)
</del><ins>+Ref&lt;InspectorObject&gt; TimelineRecordFactory::createParseHTMLData(unsigned startLine)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setInteger(&quot;startLine&quot;, startLine);
</span><del>-    return data.release();
</del><ins>+    return WTF::move(data);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createAnimationFrameData(int callbackId)
</del><ins>+Ref&lt;InspectorObject&gt; TimelineRecordFactory::createAnimationFrameData(int callbackId)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setInteger(&quot;id&quot;, callbackId);
</span><del>-    return data.release();
</del><ins>+    return WTF::move(data);
</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 array.release();
</del><ins>+    return WTF::move(array);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorObject&gt; TimelineRecordFactory::createPaintData(const FloatQuad&amp; quad)
</del><ins>+Ref&lt;InspectorObject&gt; TimelineRecordFactory::createPaintData(const FloatQuad&amp; quad)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorObject&gt; data = InspectorObject::create();
</del><ins>+    Ref&lt;InspectorObject&gt; data = InspectorObject::create();
</ins><span class="cx">     data-&gt;setArray(&quot;clip&quot;, createQuad(quad));
</span><del>-    return data.release();
</del><ins>+    return WTF::move(data);
</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,23 +269,24 @@
</span><span class="cx">     data-&gt;setArray(&quot;root&quot;, createQuad(quad));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;Protocol::Timeline::CPUProfileNodeCall&gt; buildInspectorObject(const JSC::ProfileNode::Call&amp; call)
</del><ins>+static Ref&lt;Protocol::Timeline::CPUProfileNodeCall&gt; buildInspectorObject(const JSC::ProfileNode::Call&amp; call)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;Protocol::Timeline::CPUProfileNodeCall&gt; result = Protocol::Timeline::CPUProfileNodeCall::create()
</del><ins>+    return Protocol::Timeline::CPUProfileNodeCall::create()
</ins><span class="cx">         .setStartTime(call.startTime())
</span><del>-        .setTotalTime(call.elapsedTime());
-    return result.release();
</del><ins>+        .setTotalTime(call.elapsedTime())
+        .release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;Protocol::Timeline::CPUProfileNode&gt; buildInspectorObject(const JSC::ProfileNode* node)
</del><ins>+static Ref&lt;Protocol::Timeline::CPUProfileNode&gt; buildInspectorObject(const JSC::ProfileNode* node)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;Protocol::Array&lt;Protocol::Timeline::CPUProfileNodeCall&gt;&gt; calls = Protocol::Array&lt;Protocol::Timeline::CPUProfileNodeCall&gt;::create();
</del><ins>+    auto 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>-    RefPtr&lt;Protocol::Timeline::CPUProfileNode&gt; result = Protocol::Timeline::CPUProfileNode::create()
</del><ins>+    auto result = Protocol::Timeline::CPUProfileNode::create()
</ins><span class="cx">         .setId(node-&gt;id())
</span><del>-        .setCalls(calls.release());
</del><ins>+        .setCalls(WTF::move(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">@@ -297,28 +298,27 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (!node-&gt;children().isEmpty()) {
</span><del>-        RefPtr&lt;Protocol::Array&lt;Protocol::Timeline::CPUProfileNode&gt;&gt; children = Protocol::Array&lt;Protocol::Timeline::CPUProfileNode&gt;::create();
</del><ins>+        auto 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(children);
</del><ins>+        result-&gt;setChildren(WTF::move(children));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return result.release();
</del><ins>+    return WTF::move(result);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;Protocol::Timeline::CPUProfile&gt; buildProfileInspectorObject(const JSC::Profile* profile)
</del><ins>+static Ref&lt;Protocol::Timeline::CPUProfile&gt; buildProfileInspectorObject(const JSC::Profile* profile)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;Protocol::Array&lt;Protocol::Timeline::CPUProfileNode&gt;&gt; rootNodes = Protocol::Array&lt;Protocol::Timeline::CPUProfileNode&gt;::create();
</del><ins>+    auto 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>-    RefPtr&lt;Protocol::Timeline::CPUProfile&gt; result = Protocol::Timeline::CPUProfile::create()
-        .setRootNodes(rootNodes);
-
-    return result.release();
</del><ins>+    return Protocol::Timeline::CPUProfile::create()
+        .setRootNodes(WTF::move(rootNodes))
+        .release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void TimelineRecordFactory::appendProfile(InspectorObject* data, PassRefPtr&lt;JSC::Profile&gt; profile)
</del><ins>+void TimelineRecordFactory::appendProfile(InspectorObject* data, RefPtr&lt;JSC::Profile&gt;&amp;&amp; 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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/TimelineRecordFactory.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/TimelineRecordFactory.h        2015-01-07 23:29:03 UTC (rev 178060)
</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 PassRefPtr&lt;Inspector::InspectorObject&gt; createGenericRecord(double startTime, int maxCallStackDepth);
-        static PassRefPtr&lt;Inspector::InspectorObject&gt; createBackgroundRecord(double startTime, const String&amp; thread);
</del><ins>+        static Ref&lt;Inspector::InspectorObject&gt; createGenericRecord(double startTime, int maxCallStackDepth);
+        static Ref&lt;Inspector::InspectorObject&gt; createBackgroundRecord(double startTime, const String&amp; thread);
</ins><span class="cx"> 
</span><del>-        static PassRefPtr&lt;Inspector::InspectorObject&gt; createGCEventData(const size_t usedHeapSizeDelta);
</del><ins>+        static Ref&lt;Inspector::InspectorObject&gt; createGCEventData(const size_t usedHeapSizeDelta);
</ins><span class="cx"> 
</span><del>-        static PassRefPtr&lt;Inspector::InspectorObject&gt; createFunctionCallData(const String&amp; scriptName, int scriptLine);
-        static PassRefPtr&lt;Inspector::InspectorObject&gt; createConsoleProfileData(const String&amp; title);
</del><ins>+        static Ref&lt;Inspector::InspectorObject&gt; createFunctionCallData(const String&amp; scriptName, int scriptLine);
+        static Ref&lt;Inspector::InspectorObject&gt; createConsoleProfileData(const String&amp; title);
</ins><span class="cx"> 
</span><del>-        static PassRefPtr&lt;Inspector::InspectorObject&gt; createProbeSampleData(const Inspector::ScriptBreakpointAction&amp;, unsigned sampleId);
</del><ins>+        static Ref&lt;Inspector::InspectorObject&gt; createProbeSampleData(const Inspector::ScriptBreakpointAction&amp;, unsigned sampleId);
</ins><span class="cx"> 
</span><del>-        static PassRefPtr&lt;Inspector::InspectorObject&gt; createEventDispatchData(const Event&amp;);
</del><ins>+        static Ref&lt;Inspector::InspectorObject&gt; createEventDispatchData(const Event&amp;);
</ins><span class="cx"> 
</span><del>-        static PassRefPtr&lt;Inspector::InspectorObject&gt; createGenericTimerData(int timerId);
</del><ins>+        static Ref&lt;Inspector::InspectorObject&gt; createGenericTimerData(int timerId);
</ins><span class="cx"> 
</span><del>-        static PassRefPtr&lt;Inspector::InspectorObject&gt; createTimerInstallData(int timerId, int timeout, bool singleShot);
</del><ins>+        static Ref&lt;Inspector::InspectorObject&gt; createTimerInstallData(int timerId, int timeout, bool singleShot);
</ins><span class="cx"> 
</span><del>-        static PassRefPtr&lt;Inspector::InspectorObject&gt; createXHRReadyStateChangeData(const String&amp; url, int readyState);
</del><ins>+        static Ref&lt;Inspector::InspectorObject&gt; createXHRReadyStateChangeData(const String&amp; url, int readyState);
</ins><span class="cx"> 
</span><del>-        static PassRefPtr&lt;Inspector::InspectorObject&gt; createXHRLoadData(const String&amp; url);
</del><ins>+        static Ref&lt;Inspector::InspectorObject&gt; createXHRLoadData(const String&amp; url);
</ins><span class="cx"> 
</span><del>-        static PassRefPtr&lt;Inspector::InspectorObject&gt; createEvaluateScriptData(const String&amp;, double lineNumber);
</del><ins>+        static Ref&lt;Inspector::InspectorObject&gt; createEvaluateScriptData(const String&amp;, double lineNumber);
</ins><span class="cx"> 
</span><del>-        static PassRefPtr&lt;Inspector::InspectorObject&gt; createTimeStampData(const String&amp;);
</del><ins>+        static Ref&lt;Inspector::InspectorObject&gt; createTimeStampData(const String&amp;);
</ins><span class="cx"> 
</span><del>-        static PassRefPtr&lt;Inspector::InspectorObject&gt; createResourceSendRequestData(const String&amp; requestId, const ResourceRequest&amp;);
</del><ins>+        static Ref&lt;Inspector::InspectorObject&gt; createResourceSendRequestData(const String&amp; requestId, const ResourceRequest&amp;);
</ins><span class="cx"> 
</span><del>-        static PassRefPtr&lt;Inspector::InspectorObject&gt; createScheduleResourceRequestData(const String&amp;);
</del><ins>+        static Ref&lt;Inspector::InspectorObject&gt; createScheduleResourceRequestData(const String&amp;);
</ins><span class="cx"> 
</span><del>-        static PassRefPtr&lt;Inspector::InspectorObject&gt; createResourceReceiveResponseData(const String&amp; requestId, const ResourceResponse&amp;);
</del><ins>+        static Ref&lt;Inspector::InspectorObject&gt; createResourceReceiveResponseData(const String&amp; requestId, const ResourceResponse&amp;);
</ins><span class="cx"> 
</span><del>-        static PassRefPtr&lt;Inspector::InspectorObject&gt; createReceiveResourceData(const String&amp; requestId, int length);
</del><ins>+        static Ref&lt;Inspector::InspectorObject&gt; createReceiveResourceData(const String&amp; requestId, int length);
</ins><span class="cx"> 
</span><del>-        static PassRefPtr&lt;Inspector::InspectorObject&gt; createResourceFinishData(const String&amp; requestId, bool didFail, double finishTime);
</del><ins>+        static Ref&lt;Inspector::InspectorObject&gt; createResourceFinishData(const String&amp; requestId, bool didFail, double finishTime);
</ins><span class="cx"> 
</span><del>-        static PassRefPtr&lt;Inspector::InspectorObject&gt; createLayoutData(unsigned dirtyObjects, unsigned totalObjects, bool partialLayout);
</del><ins>+        static Ref&lt;Inspector::InspectorObject&gt; createLayoutData(unsigned dirtyObjects, unsigned totalObjects, bool partialLayout);
</ins><span class="cx"> 
</span><del>-        static PassRefPtr&lt;Inspector::InspectorObject&gt; createDecodeImageData(const String&amp; imageType);
</del><ins>+        static Ref&lt;Inspector::InspectorObject&gt; createDecodeImageData(const String&amp; imageType);
</ins><span class="cx"> 
</span><del>-        static PassRefPtr&lt;Inspector::InspectorObject&gt; createResizeImageData(bool shouldCache);
</del><ins>+        static Ref&lt;Inspector::InspectorObject&gt; createResizeImageData(bool shouldCache);
</ins><span class="cx"> 
</span><del>-        static PassRefPtr&lt;Inspector::InspectorObject&gt; createMarkData(bool isMainFrame);
</del><ins>+        static Ref&lt;Inspector::InspectorObject&gt; createMarkData(bool isMainFrame);
</ins><span class="cx"> 
</span><del>-        static PassRefPtr&lt;Inspector::InspectorObject&gt; createParseHTMLData(unsigned startLine);
</del><ins>+        static Ref&lt;Inspector::InspectorObject&gt; createParseHTMLData(unsigned startLine);
</ins><span class="cx"> 
</span><del>-        static PassRefPtr&lt;Inspector::InspectorObject&gt; createAnimationFrameData(int callbackId);
</del><ins>+        static Ref&lt;Inspector::InspectorObject&gt; createAnimationFrameData(int callbackId);
</ins><span class="cx"> 
</span><del>-        static PassRefPtr&lt;Inspector::InspectorObject&gt; createPaintData(const FloatQuad&amp;);
</del><ins>+        static Ref&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*, PassRefPtr&lt;JSC::Profile&gt;);
</del><ins>+        static void appendProfile(Inspector::InspectorObject*, RefPtr&lt;JSC::Profile&gt;&amp;&amp;);
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(WEB_SOCKETS)
</span><del>-        static inline PassRefPtr&lt;Inspector::InspectorObject&gt; createWebSocketCreateData(unsigned long identifier, const URL&amp; url, const String&amp; protocol)
</del><ins>+        static inline Ref&lt;Inspector::InspectorObject&gt; createWebSocketCreateData(unsigned long identifier, const URL&amp; url, const String&amp; protocol)
</ins><span class="cx">         {
</span><del>-            RefPtr&lt;Inspector::InspectorObject&gt; data = Inspector::InspectorObject::create();
</del><ins>+            Ref&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 data.release();
</del><ins>+            return WTF::move(data);
</ins><span class="cx">         }
</span><span class="cx"> 
</span><del>-        static inline PassRefPtr&lt;Inspector::InspectorObject&gt; createGenericWebSocketData(unsigned long identifier)
</del><ins>+        static inline Ref&lt;Inspector::InspectorObject&gt; createGenericWebSocketData(unsigned long identifier)
</ins><span class="cx">         {
</span><del>-            RefPtr&lt;Inspector::InspectorObject&gt; data = Inspector::InspectorObject::create();
</del><ins>+            Ref&lt;Inspector::InspectorObject&gt; data = Inspector::InspectorObject::create();
</ins><span class="cx">             data-&gt;setInteger(&quot;identifier&quot;, identifier);
</span><del>-            return data.release();
</del><ins>+            return WTF::move(data);
</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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/WorkerInspectorController.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/WorkerInspectorController.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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>-PassRefPtr&lt;Stopwatch&gt; WorkerInspectorController::executionStopwatch()
</del><ins>+Ref&lt;Stopwatch&gt; WorkerInspectorController::executionStopwatch()
</ins><span class="cx"> {
</span><del>-    return m_executionStopwatch;
</del><ins>+    return m_executionStopwatch.copyRef();
</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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/WorkerInspectorController.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/inspector/WorkerInspectorController.h        2015-01-07 23:29:03 UTC (rev 178060)
</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 PassRefPtr&lt;WTF::Stopwatch&gt; executionStopwatch() override;
</del><ins>+    virtual Ref&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>-    RefPtr&lt;WTF::Stopwatch&gt; m_executionStopwatch;
</del><ins>+    Ref&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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PageConsoleClient.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/page/PageConsoleClient.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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, PassRefPtr&lt;ScriptCallStack&gt; callStack)
</del><ins>+void PageConsoleClient::addMessage(MessageSource source, MessageLevel level, const String&amp; message, RefPtr&lt;ScriptCallStack&gt;&amp;&amp; callStack)
</ins><span class="cx"> {
</span><del>-    addMessage(source, level, message, String(), 0, 0, callStack, 0);
</del><ins>+    addMessage(source, level, message, String(), 0, 0, WTF::move(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, PassRefPtr&lt;ScriptCallStack&gt; 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, RefPtr&lt;ScriptCallStack&gt;&amp;&amp; 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, callStack, requestIdentifier);
</del><ins>+        InspectorInstrumentation::addMessageToConsole(m_page, source, MessageType::Log, level, message, WTF::move(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,13 +136,11 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void PageConsoleClient::messageWithTypeAndLevel(MessageType type, MessageLevel level, JSC::ExecState* exec, PassRefPtr&lt;Inspector::ScriptArguments&gt; prpArguments)
</del><ins>+void PageConsoleClient::messageWithTypeAndLevel(MessageType type, MessageLevel level, JSC::ExecState* exec, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp; arguments)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;ScriptArguments&gt; arguments = prpArguments;
-
</del><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, arguments);
</del><ins>+    InspectorInstrumentation::addMessageToConsole(m_page, MessageSource::ConsoleAPI, type, level, message, exec, WTF::move(arguments));
</ins><span class="cx"> 
</span><span class="cx">     if (m_page.usesEphemeralSession())
</span><span class="cx">         return;
</span><span class="lines">@@ -155,12 +153,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, arguments.release());
</del><ins>+        ConsoleClient::printConsoleMessageWithArguments(MessageSource::ConsoleAPI, type, level, exec, WTF::move(arguments));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void PageConsoleClient::count(JSC::ExecState* exec, PassRefPtr&lt;ScriptArguments&gt; arguments)
</del><ins>+void PageConsoleClient::count(JSC::ExecState* exec, RefPtr&lt;ScriptArguments&gt;&amp;&amp; arguments)
</ins><span class="cx"> {
</span><del>-    InspectorInstrumentation::consoleCount(m_page, exec, arguments);
</del><ins>+    InspectorInstrumentation::consoleCount(m_page, exec, WTF::move(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">@@ -171,7 +169,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(profile.release());
</del><ins>+        m_profiles.append(WTF::move(profile));
</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">@@ -182,12 +180,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, callStack.release());
</del><ins>+    InspectorInstrumentation::stopConsoleTiming(m_page.mainFrame(), title, WTF::move(callStack));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void PageConsoleClient::timeStamp(JSC::ExecState*, PassRefPtr&lt;ScriptArguments&gt; arguments)
</del><ins>+void PageConsoleClient::timeStamp(JSC::ExecState*, RefPtr&lt;ScriptArguments&gt;&amp;&amp; arguments)
</ins><span class="cx"> {
</span><del>-    InspectorInstrumentation::consoleTimeStamp(m_page.mainFrame(), arguments);
</del><ins>+    InspectorInstrumentation::consoleTimeStamp(m_page.mainFrame(), WTF::move(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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/page/PageConsoleClient.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/page/PageConsoleClient.h        2015-01-07 23:29:03 UTC (rev 178060)
</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, 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;);
</del><ins>+    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;);
</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*, PassRefPtr&lt;Inspector::ScriptArguments&gt;) override;
-    virtual void count(JSC::ExecState*, PassRefPtr&lt;Inspector::ScriptArguments&gt;) override;
</del><ins>+    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;
</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*, PassRefPtr&lt;Inspector::ScriptArguments&gt;) override;
</del><ins>+    virtual void timeStamp(JSC::ExecState*, RefPtr&lt;Inspector::ScriptArguments&gt;&amp;&amp;) 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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/replay/ReplayController.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/replay/ReplayController.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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);
</del><ins>+    InspectorInstrumentation::sessionLoaded(m_page, m_loadedSession.copyRef());
</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);
</del><ins>+    InspectorInstrumentation::segmentCreated(m_page, m_loadedSegment.copyRef());
</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);
</del><ins>+    InspectorInstrumentation::segmentCompleted(m_page, segment.copyRef());
</ins><span class="cx"> 
</span><span class="cx">     m_loadedSession-&gt;appendSegment(segment);
</span><del>-    InspectorInstrumentation::sessionModified(m_page, m_loadedSession);
</del><ins>+    InspectorInstrumentation::sessionModified(m_page, m_loadedSession.copyRef());
</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);
</del><ins>+    InspectorInstrumentation::segmentLoaded(m_page, segment.copyRef());
</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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/replay/ReplayInputCreationMethods.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/replay/ReplayInputCreationMethods.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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;(originCopy, url, referrer);
</del><ins>+    return std::make_unique&lt;InitialNavigation&gt;(WTF::move(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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/SharedWorkerGlobalScope.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/workers/SharedWorkerGlobalScope.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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, PassRefPtr&lt;Inspector::ScriptCallStack&gt; callStack)
</del><ins>+void SharedWorkerGlobalScope::logExceptionToConsole(const String&amp; errorMessage, const String&amp; sourceURL, int lineNumber, int columnNumber, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp; callStack)
</ins><span class="cx"> {
</span><del>-    WorkerGlobalScope::logExceptionToConsole(errorMessage, sourceURL, lineNumber, columnNumber, callStack);
-    addMessageToWorkerConsole(MessageSource::JS, MessageLevel::Error, errorMessage, sourceURL, lineNumber, columnNumber, callStack);
</del><ins>+    WorkerGlobalScope::logExceptionToConsole(errorMessage, sourceURL, lineNumber, columnNumber, callStack.copyRef());
+    addMessageToWorkerConsole(MessageSource::JS, MessageLevel::Error, errorMessage, sourceURL, lineNumber, columnNumber, callStack.copyRef());
</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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/SharedWorkerGlobalScope.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/workers/SharedWorkerGlobalScope.h        2015-01-07 23:29:03 UTC (rev 178060)
</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, PassRefPtr&lt;Inspector::ScriptCallStack&gt;) override;
</del><ins>+        virtual void logExceptionToConsole(const String&amp; errorMessage, const String&amp; sourceURL, int lineNumber, int columnNumber, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp;) 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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/WorkerGlobalScope.cpp        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/workers/WorkerGlobalScope.cpp        2015-01-07 23:29:03 UTC (rev 178060)
</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, PassRefPtr&lt;ScriptCallStack&gt;)
</del><ins>+void WorkerGlobalScope::logExceptionToConsole(const String&amp; errorMessage, const String&amp; sourceURL, int lineNumber, int columnNumber, RefPtr&lt;ScriptCallStack&gt;&amp;&amp;)
</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, PassRefPtr&lt;ScriptCallStack&gt; 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, RefPtr&lt;ScriptCallStack&gt;&amp;&amp; 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, callStack, state, requestIdentifier);
</del><ins>+    addMessageToWorkerConsole(source, level, message, sourceURL, lineNumber, columnNumber, WTF::move(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, PassRefPtr&lt;ScriptCallStack&gt; 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, RefPtr&lt;ScriptCallStack&gt;&amp;&amp; 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, callStack, requestIdentifier);
</del><ins>+        InspectorInstrumentation::addMessageToConsole(this, source, MessageType::Log, level, message, WTF::move(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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/workers/WorkerGlobalScope.h        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebCore/workers/WorkerGlobalScope.h        2015-01-07 23:29:03 UTC (rev 178060)
</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, 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);
</del><ins>+        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);
</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, PassRefPtr&lt;Inspector::ScriptCallStack&gt;, 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, RefPtr&lt;Inspector::ScriptCallStack&gt;&amp;&amp;, 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 (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/ChangeLog        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebKit/ChangeLog        2015-01-07 23:29:03 UTC (rev 178060)
</span><span class="lines">@@ -1,3 +1,12 @@
</span><ins>+2015-01-07  Brian J. Burg  &lt;burg@cs.washington.edu&gt;
+
+        Web Inspector: purge PassRefPtr from Inspector code and use Ref for typed and untyped protocol objects
+        https://bugs.webkit.org/show_bug.cgi?id=140053
+
+        Reviewed by Andreas Kling.
+
+        * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: update symbol.
+
</ins><span class="cx"> 2015-01-07  Commit Queue  &lt;commit-queue@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         Unreviewed, rolling out r178039.
</span></span></pre></div>
<a id="trunkSourceWebKitWebKitvcxprojWebKitExportGeneratorWebKitExportsdefin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in (178059 => 178060)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in        2015-01-07 23:05:20 UTC (rev 178059)
+++ trunk/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in        2015-01-07 23:29:03 UTC (rev 178060)
</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?$PassRefPtr@VInspectorObject@Inspector@@@WTF@@XZ, ?buildObjectForHighlightedNode@InspectorController@WebCore@@QEBA?AV?$PassRefPtr@VInspectorObject@Inspector@@@WTF@@XZ)
</del><ins>+        symbolWithPointer(?buildObjectForHighlightedNode@InspectorController@WebCore@@QBE?AV?$RefPtr@VInspectorObject@Inspector@@@WTF@@XZ, ?buildObjectForHighlightedNode@InspectorController@WebCore@@QEBA?AV?$RefPtr@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>