<!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>[174941] releases/WebKitGTK/webkit-2.6/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/174941">174941</a></dd>
<dt>Author</dt> <dd>carlosgc@webkit.org</dd>
<dt>Date</dt> <dd>2014-10-21 03:30:58 -0700 (Tue, 21 Oct 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Merge <a href="http://trac.webkit.org/projects/webkit/changeset/174094">r174094</a> - Web Inspector: InspectorValues should use references for out parameters
https://bugs.webkit.org/show_bug.cgi?id=137190

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

Use references for out parameters in asType() and getType() methods.
Also convert to references in some miscellaneous code where we don't
expect or handle null values.

Remove variants of asObject() and asArray() that return a nullable RefPtr.
Now, client code is forced to use out parameters and check for cast failure.

Iron out control flow in some functions and fix some style issues.

* inspector/InjectedScript.cpp:
(Inspector::InjectedScript::getFunctionDetails):
(Inspector::InjectedScript::wrapObject):
(Inspector::InjectedScript::wrapTable):
* inspector/InjectedScriptBase.cpp:
(Inspector::InjectedScriptBase::makeEvalCall):
* inspector/InjectedScriptManager.cpp:
(Inspector::InjectedScriptManager::injectedScriptForObjectId): Simplify control flow.
* inspector/InspectorBackendDispatcher.cpp:
(Inspector::InspectorBackendDispatcher::dispatch):
(Inspector::getPropertyValue):
(Inspector::AsMethodBridges::asInteger):
(Inspector::AsMethodBridges::asDouble):
(Inspector::AsMethodBridges::asString):
(Inspector::AsMethodBridges::asBoolean):
(Inspector::AsMethodBridges::asObject):
(Inspector::AsMethodBridges::asArray):
* inspector/InspectorProtocolTypes.h:
(Inspector::Protocol::BindingTraits&lt;Protocol::Array&lt;T&gt;&gt;::runtimeCast):
(Inspector::Protocol::BindingTraits&lt;Protocol::Array&lt;T&gt;&gt;::assertValueHasExpectedType):
* inspector/InspectorValues.cpp: Use more by-reference out parameters. Add more spacing.
(Inspector::InspectorValue::asBoolean):
(Inspector::InspectorValue::asDouble):
(Inspector::InspectorValue::asInteger):
(Inspector::InspectorValue::asString):
(Inspector::InspectorValue::asValue):
(Inspector::InspectorValue::asObject):
(Inspector::InspectorValue::asArray):
(Inspector::InspectorValue::parseJSON):
(Inspector::InspectorValue::toJSONString):
(Inspector::InspectorValue::writeJSON):
(Inspector::InspectorBasicValue::asBoolean):
(Inspector::InspectorBasicValue::asDouble):
(Inspector::InspectorBasicValue::asInteger):
(Inspector::InspectorBasicValue::writeJSON):
(Inspector::InspectorString::asString):
(Inspector::InspectorString::writeJSON):
(Inspector::InspectorObjectBase::asObject):
(Inspector::InspectorObjectBase::openAccessors):
(Inspector::InspectorObjectBase::getBoolean):
(Inspector::InspectorObjectBase::getString):
(Inspector::InspectorObjectBase::getObject):
(Inspector::InspectorObjectBase::getArray):
(Inspector::InspectorObjectBase::writeJSON):
(Inspector::InspectorArrayBase::asArray):
(Inspector::InspectorArrayBase::writeJSON):
* inspector/InspectorValues.h:
* inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::InspectorDebuggerAgent::breakpointActionsFromProtocol):
(Inspector::InspectorDebuggerAgent::setBreakpointByUrl):
(Inspector::parseLocation):
(Inspector::InspectorDebuggerAgent::setBreakpoint):
(Inspector::InspectorDebuggerAgent::continueToLocation):
(Inspector::InspectorDebuggerAgent::didParseSource):
* inspector/agents/InspectorRuntimeAgent.cpp:
(Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets):
* inspector/scripts/codegen/generate_protocol_types_implementation.py:
(ProtocolTypesImplementationGenerator):
(ProtocolTypesImplementationGenerator._generate_assertion_for_enum):
* inspector/scripts/codegen/generator_templates.py:
* inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
* replay/EncodedValue.cpp:
(JSC::EncodedValue::asObject):
(JSC::EncodedValue::asArray):
(JSC::EncodedValue::convertTo&lt;bool&gt;):
(JSC::EncodedValue::convertTo&lt;double&gt;):
(JSC::EncodedValue::convertTo&lt;float&gt;):
(JSC::EncodedValue::convertTo&lt;int32_t&gt;):
(JSC::EncodedValue::convertTo&lt;int64_t&gt;):
(JSC::EncodedValue::convertTo&lt;uint32_t&gt;):
(JSC::EncodedValue::convertTo&lt;uint64_t&gt;):
(JSC::EncodedValue::convertTo&lt;String&gt;):

Source/WebCore:

Clean up some call sites to explicitly check for cast success, and simplify
some exceptional control flows.

No new tests, no behavior changed.

* inspector/CommandLineAPIHost.cpp:
(WebCore::CommandLineAPIHost::inspectImpl):
* inspector/InspectorCSSAgent.cpp:
(WebCore::computePseudoClassMask):
* inspector/InspectorDOMAgent.cpp:
(WebCore::parseColor):
(WebCore::parseConfigColor):
(WebCore::parseQuad):
(WebCore::InspectorDOMAgent::performSearch):
(WebCore::InspectorDOMAgent::highlightConfigFromInspectorObject):
(WebCore::InspectorDOMAgent::innerHighlightQuad):
(WebCore::InspectorDOMAgent::highlightFrame):
* inspector/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::findStorageArea):
* inspector/InspectorIndexedDBAgent.cpp: Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL.
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
* inspector/InspectorReplayAgent.cpp:
(WebCore::InspectorReplayAgent::replayToPosition):
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::willSendRequest):
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyle::styleWithProperties):
* inspector/InspectorStyleSheet.h:
(WebCore::InspectorCSSId::InspectorCSSId):
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::startFromConsole):
(WebCore::InspectorTimelineAgent::stopFromConsole):
* inspector/InspectorWorkerAgent.cpp:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#releasesWebKitGTKwebkit26SourceJavaScriptCoreChangeLog">releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#releasesWebKitGTKwebkit26SourceJavaScriptCoreinspectorInjectedScriptcpp">releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/InjectedScript.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit26SourceJavaScriptCoreinspectorInjectedScriptBasecpp">releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/InjectedScriptBase.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit26SourceJavaScriptCoreinspectorInjectedScriptManagercpp">releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/InjectedScriptManager.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit26SourceJavaScriptCoreinspectorInspectorBackendDispatchercpp">releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/InspectorBackendDispatcher.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit26SourceJavaScriptCoreinspectorInspectorProtocolTypesh">releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/InspectorProtocolTypes.h</a></li>
<li><a href="#releasesWebKitGTKwebkit26SourceJavaScriptCoreinspectorInspectorValuescpp">releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/InspectorValues.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit26SourceJavaScriptCoreinspectorInspectorValuesh">releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/InspectorValues.h</a></li>
<li><a href="#releasesWebKitGTKwebkit26SourceJavaScriptCoreinspectoragentsInspectorDebuggerAgentcpp">releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit26SourceJavaScriptCoreinspectoragentsInspectorRuntimeAgentcpp">releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit26SourceJavaScriptCoreinspectorscriptscodegengenerate_protocol_types_implementationpy">releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/scripts/codegen/generate_protocol_types_implementation.py</a></li>
<li><a href="#releasesWebKitGTKwebkit26SourceJavaScriptCoreinspectorscriptscodegengenerator_templatespy">releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/scripts/codegen/generator_templates.py</a></li>
<li><a href="#releasesWebKitGTKwebkit26SourceJavaScriptCoreinspectorscriptstestsexpectedtyperequiringruntimecastsjsonresult">releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result</a></li>
<li><a href="#releasesWebKitGTKwebkit26SourceJavaScriptCorereplayEncodedValuecpp">releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/replay/EncodedValue.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit26SourceWebCoreChangeLog">releases/WebKitGTK/webkit-2.6/Source/WebCore/ChangeLog</a></li>
<li><a href="#releasesWebKitGTKwebkit26SourceWebCoreinspectorCommandLineAPIHostcpp">releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/CommandLineAPIHost.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit26SourceWebCoreinspectorInspectorCSSAgentcpp">releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorCSSAgent.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit26SourceWebCoreinspectorInspectorDOMAgentcpp">releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorDOMAgent.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit26SourceWebCoreinspectorInspectorDOMStorageAgentcpp">releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorDOMStorageAgent.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit26SourceWebCoreinspectorInspectorIndexedDBAgentcpp">releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit26SourceWebCoreinspectorInspectorPageAgentcpp">releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorPageAgent.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit26SourceWebCoreinspectorInspectorReplayAgentcpp">releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorReplayAgent.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit26SourceWebCoreinspectorInspectorResourceAgentcpp">releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorResourceAgent.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit26SourceWebCoreinspectorInspectorStyleSheetcpp">releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorStyleSheet.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit26SourceWebCoreinspectorInspectorStyleSheeth">releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorStyleSheet.h</a></li>
<li><a href="#releasesWebKitGTKwebkit26SourceWebCoreinspectorInspectorTimelineAgentcpp">releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorTimelineAgent.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit26SourceWebCoreinspectorInspectorWorkerAgentcpp">releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorWorkerAgent.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="releasesWebKitGTKwebkit26SourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/ChangeLog (174940 => 174941)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/ChangeLog        2014-10-21 10:18:13 UTC (rev 174940)
+++ releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/ChangeLog        2014-10-21 10:30:58 UTC (rev 174941)
</span><span class="lines">@@ -1,3 +1,92 @@
</span><ins>+2014-09-29  Brian J. Burg  &lt;burg@cs.washington.edu&gt;
+
+        Web Inspector: InspectorValues should use references for out parameters
+        https://bugs.webkit.org/show_bug.cgi?id=137190
+
+        Reviewed by Joseph Pecoraro.
+
+        Use references for out parameters in asType() and getType() methods.
+        Also convert to references in some miscellaneous code where we don't
+        expect or handle null values.
+
+        Remove variants of asObject() and asArray() that return a nullable RefPtr.
+        Now, client code is forced to use out parameters and check for cast failure.
+
+        Iron out control flow in some functions and fix some style issues.
+
+        * inspector/InjectedScript.cpp:
+        (Inspector::InjectedScript::getFunctionDetails):
+        (Inspector::InjectedScript::wrapObject):
+        (Inspector::InjectedScript::wrapTable):
+        * inspector/InjectedScriptBase.cpp:
+        (Inspector::InjectedScriptBase::makeEvalCall):
+        * inspector/InjectedScriptManager.cpp:
+        (Inspector::InjectedScriptManager::injectedScriptForObjectId): Simplify control flow.
+        * inspector/InspectorBackendDispatcher.cpp:
+        (Inspector::InspectorBackendDispatcher::dispatch):
+        (Inspector::getPropertyValue):
+        (Inspector::AsMethodBridges::asInteger):
+        (Inspector::AsMethodBridges::asDouble):
+        (Inspector::AsMethodBridges::asString):
+        (Inspector::AsMethodBridges::asBoolean):
+        (Inspector::AsMethodBridges::asObject):
+        (Inspector::AsMethodBridges::asArray):
+        * inspector/InspectorProtocolTypes.h:
+        (Inspector::Protocol::BindingTraits&lt;Protocol::Array&lt;T&gt;&gt;::runtimeCast):
+        (Inspector::Protocol::BindingTraits&lt;Protocol::Array&lt;T&gt;&gt;::assertValueHasExpectedType):
+        * inspector/InspectorValues.cpp: Use more by-reference out parameters. Add more spacing.
+        (Inspector::InspectorValue::asBoolean):
+        (Inspector::InspectorValue::asDouble):
+        (Inspector::InspectorValue::asInteger):
+        (Inspector::InspectorValue::asString):
+        (Inspector::InspectorValue::asValue):
+        (Inspector::InspectorValue::asObject):
+        (Inspector::InspectorValue::asArray):
+        (Inspector::InspectorValue::parseJSON):
+        (Inspector::InspectorValue::toJSONString):
+        (Inspector::InspectorValue::writeJSON):
+        (Inspector::InspectorBasicValue::asBoolean):
+        (Inspector::InspectorBasicValue::asDouble):
+        (Inspector::InspectorBasicValue::asInteger):
+        (Inspector::InspectorBasicValue::writeJSON):
+        (Inspector::InspectorString::asString):
+        (Inspector::InspectorString::writeJSON):
+        (Inspector::InspectorObjectBase::asObject):
+        (Inspector::InspectorObjectBase::openAccessors):
+        (Inspector::InspectorObjectBase::getBoolean):
+        (Inspector::InspectorObjectBase::getString):
+        (Inspector::InspectorObjectBase::getObject):
+        (Inspector::InspectorObjectBase::getArray):
+        (Inspector::InspectorObjectBase::writeJSON):
+        (Inspector::InspectorArrayBase::asArray):
+        (Inspector::InspectorArrayBase::writeJSON):
+        * inspector/InspectorValues.h:
+        * inspector/agents/InspectorDebuggerAgent.cpp:
+        (Inspector::InspectorDebuggerAgent::breakpointActionsFromProtocol):
+        (Inspector::InspectorDebuggerAgent::setBreakpointByUrl):
+        (Inspector::parseLocation):
+        (Inspector::InspectorDebuggerAgent::setBreakpoint):
+        (Inspector::InspectorDebuggerAgent::continueToLocation):
+        (Inspector::InspectorDebuggerAgent::didParseSource):
+        * inspector/agents/InspectorRuntimeAgent.cpp:
+        (Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets):
+        * inspector/scripts/codegen/generate_protocol_types_implementation.py:
+        (ProtocolTypesImplementationGenerator):
+        (ProtocolTypesImplementationGenerator._generate_assertion_for_enum):
+        * inspector/scripts/codegen/generator_templates.py:
+        * inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
+        * replay/EncodedValue.cpp:
+        (JSC::EncodedValue::asObject):
+        (JSC::EncodedValue::asArray):
+        (JSC::EncodedValue::convertTo&lt;bool&gt;):
+        (JSC::EncodedValue::convertTo&lt;double&gt;):
+        (JSC::EncodedValue::convertTo&lt;float&gt;):
+        (JSC::EncodedValue::convertTo&lt;int32_t&gt;):
+        (JSC::EncodedValue::convertTo&lt;int64_t&gt;):
+        (JSC::EncodedValue::convertTo&lt;uint32_t&gt;):
+        (JSC::EncodedValue::convertTo&lt;uint64_t&gt;):
+        (JSC::EncodedValue::convertTo&lt;String&gt;):
+
</ins><span class="cx"> 2014-09-21  Saam Barati  &lt;saambarati1@gmail.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Web Inspector: fix TypeSet hierarchy in TypeTokenView
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit26SourceJavaScriptCoreinspectorInjectedScriptcpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/InjectedScript.cpp (174940 => 174941)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/InjectedScript.cpp        2014-10-21 10:18:13 UTC (rev 174940)
+++ releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/InjectedScript.cpp        2014-10-21 10:30:58 UTC (rev 174941)
</span><span class="lines">@@ -101,7 +101,7 @@
</span><span class="cx">     RefPtr&lt;InspectorValue&gt; resultValue;
</span><span class="cx">     makeCall(function, &amp;resultValue);
</span><span class="cx">     if (!resultValue || resultValue-&gt;type() != InspectorValue::Type::Object) {
</span><del>-        if (!resultValue-&gt;asString(errorString))
</del><ins>+        if (!resultValue-&gt;asString(*errorString))
</ins><span class="cx">             *errorString = ASCIILiteral(&quot;Internal error&quot;);
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="lines">@@ -172,8 +172,11 @@
</span><span class="cx">     if (hadException)
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><del>-    RefPtr&lt;InspectorObject&gt; rawResult = r.toInspectorValue(scriptState())-&gt;asObject();
-    return BindingTraits&lt;Inspector::Protocol::Runtime::RemoteObject&gt;::runtimeCast(rawResult);
</del><ins>+    RefPtr&lt;InspectorObject&gt; resultObject;
+    bool castSucceeded = r.toInspectorValue(scriptState())-&gt;asObject(resultObject);
+    ASSERT_UNUSED(castSucceeded, castSucceeded);
+
+    return BindingTraits&lt;Inspector::Protocol::Runtime::RemoteObject&gt;::runtimeCast(resultObject);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PassRefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt; InjectedScript::wrapTable(const Deprecated::ScriptValue&amp; table, const Deprecated::ScriptValue&amp; columns) const
</span><span class="lines">@@ -192,8 +195,11 @@
</span><span class="cx">     if (hadException)
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><del>-    RefPtr&lt;InspectorObject&gt; rawResult = r.toInspectorValue(scriptState())-&gt;asObject();
-    return BindingTraits&lt;Inspector::Protocol::Runtime::RemoteObject&gt;::runtimeCast(rawResult);
</del><ins>+    RefPtr&lt;InspectorObject&gt; resultObject;
+    bool castSucceeded = r.toInspectorValue(scriptState())-&gt;asObject(resultObject);
+    ASSERT_UNUSED(castSucceeded, castSucceeded);
+
+    return BindingTraits&lt;Inspector::Protocol::Runtime::RemoteObject&gt;::runtimeCast(resultObject);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> Deprecated::ScriptValue InjectedScript::findObjectById(const String&amp; objectId) const
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit26SourceJavaScriptCoreinspectorInjectedScriptBasecpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/InjectedScriptBase.cpp (174940 => 174941)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/InjectedScriptBase.cpp        2014-10-21 10:18:13 UTC (rev 174940)
+++ releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/InjectedScriptBase.cpp        2014-10-21 10:30:58 UTC (rev 174941)
</span><span class="lines">@@ -124,25 +124,25 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (result-&gt;type() == InspectorValue::Type::String) {
</span><del>-        result-&gt;asString(errorString);
</del><ins>+        result-&gt;asString(*errorString);
</ins><span class="cx">         ASSERT(errorString-&gt;length());
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    RefPtr&lt;InspectorObject&gt; resultPair = result-&gt;asObject();
-    if (!resultPair) {
</del><ins>+    RefPtr&lt;InspectorObject&gt; resultPair;
+    if (!result-&gt;asObject(resultPair)) {
</ins><span class="cx">         *errorString = ASCIILiteral(&quot;Internal error: result is not an Object&quot;);
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    RefPtr&lt;InspectorObject&gt; resultObj = resultPair-&gt;getObject(ASCIILiteral(&quot;result&quot;));
</del><ins>+    RefPtr&lt;InspectorObject&gt; resultObject = resultPair-&gt;getObject(ASCIILiteral(&quot;result&quot;));
</ins><span class="cx">     bool wasThrownVal = false;
</span><del>-    if (!resultObj || !resultPair-&gt;getBoolean(ASCIILiteral(&quot;wasThrown&quot;), &amp;wasThrownVal)) {
</del><ins>+    if (!resultObject || !resultPair-&gt;getBoolean(ASCIILiteral(&quot;wasThrown&quot;), wasThrownVal)) {
</ins><span class="cx">         *errorString = ASCIILiteral(&quot;Internal error: result is not a pair of value and wasThrown flag&quot;);
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    *objectResult = BindingTraits&lt;Protocol::Runtime::RemoteObject&gt;::runtimeCast(resultObj);
</del><ins>+    *objectResult = BindingTraits&lt;Protocol::Runtime::RemoteObject&gt;::runtimeCast(resultObject);
</ins><span class="cx">     *wasThrown = wasThrownVal;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit26SourceJavaScriptCoreinspectorInjectedScriptManagercpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/InjectedScriptManager.cpp (174940 => 174941)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/InjectedScriptManager.cpp        2014-10-21 10:18:13 UTC (rev 174940)
+++ releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/InjectedScriptManager.cpp        2014-10-21 10:30:58 UTC (rev 174941)
</span><span class="lines">@@ -94,15 +94,19 @@
</span><span class="cx"> 
</span><span class="cx"> InjectedScript InjectedScriptManager::injectedScriptForObjectId(const String&amp; objectId)
</span><span class="cx"> {
</span><del>-    RefPtr&lt;InspectorValue&gt; parsedObjectId = InspectorValue::parseJSON(objectId);
-    if (parsedObjectId &amp;&amp; parsedObjectId-&gt;type() == InspectorValue::Type::Object) {
-        long injectedScriptId = 0;
-        bool success = parsedObjectId-&gt;asObject()-&gt;getInteger(ASCIILiteral(&quot;injectedScriptId&quot;), &amp;injectedScriptId);
-        if (success)
-            return m_idToInjectedScript.get(injectedScriptId);
-    }
</del><ins>+    RefPtr&lt;InspectorValue&gt; parsedObjectId;
+    if (!InspectorValue::parseJSON(objectId, parsedObjectId))
+        return InjectedScript();
</ins><span class="cx"> 
</span><del>-    return InjectedScript();
</del><ins>+    RefPtr&lt;InspectorObject&gt; resultObject;
+    if (!parsedObjectId-&gt;asObject(resultObject))
+        return InjectedScript();
+
+    long injectedScriptId = 0;
+    if (!resultObject-&gt;getInteger(ASCIILiteral(&quot;injectedScriptId&quot;), injectedScriptId))
+        return InjectedScript();
+
+    return m_idToInjectedScript.get(injectedScriptId);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InjectedScriptManager::discardInjectedScripts()
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit26SourceJavaScriptCoreinspectorInspectorBackendDispatchercpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/InspectorBackendDispatcher.cpp (174940 => 174941)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/InspectorBackendDispatcher.cpp        2014-10-21 10:18:13 UTC (rev 174940)
+++ releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/InspectorBackendDispatcher.cpp        2014-10-21 10:30:58 UTC (rev 174941)
</span><span class="lines">@@ -78,14 +78,14 @@
</span><span class="cx"> {
</span><span class="cx">     Ref&lt;InspectorBackendDispatcher&gt; protect(*this);
</span><span class="cx"> 
</span><del>-    RefPtr&lt;InspectorValue&gt; parsedMessage = InspectorValue::parseJSON(message);
-    if (!parsedMessage) {
</del><ins>+    RefPtr&lt;InspectorValue&gt; parsedMessage;
+    if (!InspectorValue::parseJSON(message, parsedMessage)) {
</ins><span class="cx">         reportProtocolError(nullptr, ParseError, ASCIILiteral(&quot;Message must be in JSON format&quot;));
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    RefPtr&lt;InspectorObject&gt; messageObject = parsedMessage-&gt;asObject();
-    if (!messageObject) {
</del><ins>+    RefPtr&lt;InspectorObject&gt; messageObject;
+    if (!parsedMessage-&gt;asObject(messageObject)) {
</ins><span class="cx">         reportProtocolError(nullptr, InvalidRequest, ASCIILiteral(&quot;Message must be a JSONified object&quot;));
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="lines">@@ -97,7 +97,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     long callId = 0;
</span><del>-    if (!callIdValue-&gt;asInteger(&amp;callId)) {
</del><ins>+    if (!callIdValue-&gt;asInteger(callId)) {
</ins><span class="cx">         reportProtocolError(nullptr, InvalidRequest, ASCIILiteral(&quot;The type of 'id' property must be integer&quot;));
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="lines">@@ -109,7 +109,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     String method;
</span><del>-    if (!methodValue-&gt;asString(&amp;method)) {
</del><ins>+    if (!methodValue-&gt;asString(method)) {
</ins><span class="cx">         reportProtocolError(&amp;callId, InvalidRequest, ASCIILiteral(&quot;The type of 'method' property must be string&quot;));
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="lines">@@ -187,7 +187,7 @@
</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*, ValueType*), const char* typeName)
</del><ins>+static ReturnValueType getPropertyValue(InspectorObject* object, const String&amp; name, bool* valueFound, InspectorArray* protocolErrors, DefaultValueType defaultValue, bool (*asMethod)(InspectorValue&amp;, ValueType&amp;), const char* typeName)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(protocolErrors);
</span><span class="cx"> 
</span><span class="lines">@@ -209,7 +209,7 @@
</span><span class="cx">         return value;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (!asMethod(valueIterator-&gt;value.get(), &amp;value)) {
</del><ins>+    if (!asMethod(*valueIterator-&gt;value, value)) {
</ins><span class="cx">         protocolErrors-&gt;pushString(String::format(&quot;Parameter '%s' has wrong type. It must be '%s'.&quot;, name.utf8().data(), typeName));
</span><span class="cx">         return value;
</span><span class="cx">     }
</span><span class="lines">@@ -221,12 +221,12 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> struct AsMethodBridges {
</span><del>-    static bool asInteger(InspectorValue* value, int* output) { return value-&gt;asInteger(output); }
-    static bool asDouble(InspectorValue* value, double* output) { return value-&gt;asDouble(output); }
-    static bool asString(InspectorValue* value, String* output) { return value-&gt;asString(output); }
-    static bool asBoolean(InspectorValue* value, bool* output) { return value-&gt;asBoolean(output); }
-    static bool asObject(InspectorValue* value, RefPtr&lt;InspectorObject&gt;* output) { return value-&gt;asObject(output); }
-    static bool asArray(InspectorValue* value, RefPtr&lt;InspectorArray&gt;* output) { return value-&gt;asArray(output); }
</del><ins>+    static bool asInteger(InspectorValue&amp; value, int&amp; output) { return value.asInteger(output); }
+    static bool asDouble(InspectorValue&amp; value, double&amp; output) { return value.asDouble(output); }
+    static bool asString(InspectorValue&amp; value, String&amp; output) { return value.asString(output); }
+    static bool asBoolean(InspectorValue&amp; value, bool&amp; output) { return value.asBoolean(output); }
+    static bool asObject(InspectorValue&amp; value, RefPtr&lt;InspectorObject&gt;&amp; output) { return value.asObject(output); }
+    static bool asArray(InspectorValue&amp; value, RefPtr&lt;InspectorArray&gt;&amp; output) { return value.asArray(output); }
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> int InspectorBackendDispatcher::getInteger(InspectorObject* object, const String&amp; name, bool* valueFound, InspectorArray* protocolErrors)
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit26SourceJavaScriptCoreinspectorInspectorProtocolTypesh"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/InspectorProtocolTypes.h (174940 => 174941)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/InspectorProtocolTypes.h        2014-10-21 10:18:13 UTC (rev 174940)
+++ releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/InspectorProtocolTypes.h        2014-10-21 10:30:58 UTC (rev 174941)
</span><span class="lines">@@ -214,8 +214,8 @@
</span><span class="cx">     static PassRefPtr&lt;Array&lt;T&gt;&gt; runtimeCast(PassRefPtr&lt;InspectorValue&gt; value)
</span><span class="cx">     {
</span><span class="cx">         RefPtr&lt;InspectorArray&gt; array;
</span><del>-        bool castRes = value-&gt;asArray(&amp;array);
-        ASSERT_UNUSED(castRes, castRes);
</del><ins>+        bool castSucceeded = value-&gt;asArray(array);
+        ASSERT_UNUSED(castSucceeded, castSucceeded);
</ins><span class="cx"> #if !ASSERT_DISABLED
</span><span class="cx">         assertValueHasExpectedType(array.get());
</span><span class="cx"> #endif // !ASSERT_DISABLED
</span><span class="lines">@@ -227,8 +227,8 @@
</span><span class="cx">     static void assertValueHasExpectedType(InspectorValue* value)
</span><span class="cx">     {
</span><span class="cx">         RefPtr&lt;InspectorArray&gt; array;
</span><del>-        bool castRes = value-&gt;asArray(&amp;array);
-        ASSERT_UNUSED(castRes, castRes);
</del><ins>+        bool castSucceeded = value-&gt;asArray(array);
+        ASSERT_UNUSED(castSucceeded, castSucceeded);
</ins><span class="cx">         for (unsigned i = 0; i &lt; array-&gt;length(); i++)
</span><span class="cx">             BindingTraits&lt;T&gt;::assertValueHasExpectedType(array-&gt;get(i).get());
</span><span class="cx">     }
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit26SourceJavaScriptCoreinspectorInspectorValuescpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/InspectorValues.cpp (174940 => 174941)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/InspectorValues.cpp        2014-10-21 10:18:13 UTC (rev 174940)
+++ releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/InspectorValues.cpp        2014-10-21 10:30:58 UTC (rev 174941)
</span><span class="lines">@@ -1,5 +1,6 @@
</span><span class="cx"> /*
</span><span class="cx">  * Copyright (C) 2010 Google Inc. All rights reserved.
</span><ins>+ * Copyright (C) 2014 University of Washington. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions are
</span><span class="lines">@@ -63,8 +64,10 @@
</span><span class="cx"> bool parseConstToken(const UChar* start, const UChar* end, const UChar** tokenEnd, const char* token)
</span><span class="cx"> {
</span><span class="cx">     while (start &lt; end &amp;&amp; *token != '\0' &amp;&amp; *start++ == *token++) { }
</span><ins>+
</ins><span class="cx">     if (*token != '\0')
</span><span class="cx">         return false;
</span><ins>+
</ins><span class="cx">     *tokenEnd = start;
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="lines">@@ -73,16 +76,20 @@
</span><span class="cx"> {
</span><span class="cx">     if (start == end)
</span><span class="cx">         return false;
</span><ins>+
</ins><span class="cx">     bool haveLeadingZero = '0' == *start;
</span><span class="cx">     int length = 0;
</span><span class="cx">     while (start &lt; end &amp;&amp; '0' &lt;= *start &amp;&amp; *start &lt;= '9') {
</span><span class="cx">         ++start;
</span><span class="cx">         ++length;
</span><span class="cx">     }
</span><ins>+
</ins><span class="cx">     if (!length)
</span><span class="cx">         return false;
</span><ins>+
</ins><span class="cx">     if (!canHaveLeadingZeros &amp;&amp; length &gt; 1 &amp;&amp; haveLeadingZero)
</span><span class="cx">         return false;
</span><ins>+
</ins><span class="cx">     *tokenEnd = start;
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="lines">@@ -93,12 +100,14 @@
</span><span class="cx">     // According   to RFC4627, a valid number is: [minus] int [frac] [exp]
</span><span class="cx">     if (start == end)
</span><span class="cx">         return false;
</span><ins>+
</ins><span class="cx">     UChar c = *start;
</span><span class="cx">     if ('-' == c)
</span><span class="cx">         ++start;
</span><span class="cx"> 
</span><span class="cx">     if (!readInt(start, end, &amp;start, false))
</span><span class="cx">         return false;
</span><ins>+
</ins><span class="cx">     if (start == end) {
</span><span class="cx">         *tokenEnd = start;
</span><span class="cx">         return true;
</span><span class="lines">@@ -140,11 +149,13 @@
</span><span class="cx"> {
</span><span class="cx">     if (end - start &lt; digits)
</span><span class="cx">         return false;
</span><ins>+
</ins><span class="cx">     for (int i = 0; i &lt; digits; ++i) {
</span><span class="cx">         UChar c = *start++;
</span><span class="cx">         if (!(('0' &lt;= c &amp;&amp; c &lt;= '9') || ('a' &lt;= c &amp;&amp; c &lt;= 'f') || ('A' &lt;= c &amp;&amp; c &lt;= 'F')))
</span><span class="cx">             return false;
</span><span class="cx">     }
</span><ins>+
</ins><span class="cx">     *tokenEnd = start;
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="lines">@@ -183,6 +194,7 @@
</span><span class="cx">             return true;
</span><span class="cx">         }
</span><span class="cx">     }
</span><ins>+
</ins><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -246,6 +258,7 @@
</span><span class="cx">             return STRING;
</span><span class="cx">         break;
</span><span class="cx">     }
</span><ins>+
</ins><span class="cx">     return INVALID_TOKEN;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -257,16 +270,17 @@
</span><span class="cx">         return c - 'A' + 10;
</span><span class="cx">     if ('a' &lt;= c &amp;&amp; c &lt;= 'f')
</span><span class="cx">         return c - 'a' + 10;
</span><ins>+
</ins><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return 0;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool decodeString(const UChar* start, const UChar* end, StringBuilder* output)
</del><ins>+bool decodeString(const UChar* start, const UChar* end, StringBuilder&amp; output)
</ins><span class="cx"> {
</span><span class="cx">     while (start &lt; end) {
</span><span class="cx">         UChar c = *start++;
</span><span class="cx">         if ('\\' != c) {
</span><del>-            output-&gt;append(c);
</del><ins>+            output.append(c);
</ins><span class="cx">             continue;
</span><span class="cx">         }
</span><span class="cx">         c = *start++;
</span><span class="lines">@@ -308,24 +322,28 @@
</span><span class="cx">         default:
</span><span class="cx">             return false;
</span><span class="cx">         }
</span><del>-        output-&gt;append(c);
</del><ins>+        output.append(c);
</ins><span class="cx">     }
</span><ins>+
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool decodeString(const UChar* start, const UChar* end, String* output)
</del><ins>+bool decodeString(const UChar* start, const UChar* end, String&amp; output)
</ins><span class="cx"> {
</span><span class="cx">     if (start == end) {
</span><del>-        *output = &quot;&quot;;
</del><ins>+        output = emptyString();
</ins><span class="cx">         return true;
</span><span class="cx">     }
</span><ins>+
</ins><span class="cx">     if (start &gt; end)
</span><span class="cx">         return false;
</span><ins>+
</ins><span class="cx">     StringBuilder buffer;
</span><span class="cx">     buffer.reserveCapacity(end - start);
</span><del>-    if (!decodeString(start, end, &amp;buffer))
</del><ins>+    if (!decodeString(start, end, buffer))
</ins><span class="cx">         return false;
</span><del>-    *output = buffer.toString();
</del><ins>+
+    output = buffer.toString();
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -360,7 +378,7 @@
</span><span class="cx">     }
</span><span class="cx">     case STRING: {
</span><span class="cx">         String value;
</span><del>-        bool ok = decodeString(tokenStart + 1, tokenEnd - 1, &amp;value);
</del><ins>+        bool ok = decodeString(tokenStart + 1, tokenEnd - 1, value);
</ins><span class="cx">         if (!ok)
</span><span class="cx">             return nullptr;
</span><span class="cx">         result = InspectorString::create(value);
</span><span class="lines">@@ -402,7 +420,7 @@
</span><span class="cx">             if (token != STRING)
</span><span class="cx">                 return nullptr;
</span><span class="cx">             String key;
</span><del>-            if (!decodeString(tokenStart + 1, tokenEnd - 1, &amp;key))
</del><ins>+            if (!decodeString(tokenStart + 1, tokenEnd - 1, key))
</ins><span class="cx">                 return nullptr;
</span><span class="cx">             start = tokenEnd;
</span><span class="cx"> 
</span><span class="lines">@@ -444,25 +462,25 @@
</span><span class="cx">     return result.release();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline bool escapeChar(UChar c, StringBuilder* dst)
</del><ins>+inline bool escapeChar(UChar c, StringBuilder&amp; dst)
</ins><span class="cx"> {
</span><span class="cx">     switch (c) {
</span><del>-    case '\b': dst-&gt;append(&quot;\\b&quot;, 2); break;
-    case '\f': dst-&gt;append(&quot;\\f&quot;, 2); break;
-    case '\n': dst-&gt;append(&quot;\\n&quot;, 2); break;
-    case '\r': dst-&gt;append(&quot;\\r&quot;, 2); break;
-    case '\t': dst-&gt;append(&quot;\\t&quot;, 2); break;
-    case '\\': dst-&gt;append(&quot;\\\\&quot;, 2); break;
-    case '&quot;': dst-&gt;append(&quot;\\\&quot;&quot;, 2); break;
</del><ins>+    case '\b': dst.appendLiteral(&quot;\\b&quot;); break;
+    case '\f': dst.appendLiteral(&quot;\\f&quot;); break;
+    case '\n': dst.appendLiteral(&quot;\\n&quot;); break;
+    case '\r': dst.appendLiteral(&quot;\\r&quot;); break;
+    case '\t': dst.appendLiteral(&quot;\\t&quot;); break;
+    case '\\': dst.appendLiteral(&quot;\\\\&quot;); break;
+    case '&quot;': dst.appendLiteral(&quot;\\\&quot;&quot;); break;
</ins><span class="cx">     default:
</span><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline void doubleQuoteString(const String&amp; str, StringBuilder* dst)
</del><ins>+inline void doubleQuoteString(const String&amp; str, StringBuilder&amp; dst)
</ins><span class="cx"> {
</span><del>-    dst-&gt;append('&quot;');
</del><ins>+    dst.append('&quot;');
</ins><span class="cx">     for (unsigned i = 0; i &lt; str.length(); ++i) {
</span><span class="cx">         UChar c = str[i];
</span><span class="cx">         if (!escapeChar(c, dst)) {
</span><span class="lines">@@ -470,203 +488,206 @@
</span><span class="cx">                 // 1. Escaping &lt;, &gt; to prevent script execution.
</span><span class="cx">                 // 2. Technically, we could also pass through c &gt; 126 as UTF8, but this
</span><span class="cx">                 //    is also optional.  It would also be a pain to implement here.
</span><del>-                dst-&gt;append(String::format(&quot;\\u%04X&quot;, c));
</del><ins>+                dst.append(String::format(&quot;\\u%04X&quot;, c));
</ins><span class="cx">             } else
</span><del>-                dst-&gt;append(c);
</del><ins>+                dst.append(c);
</ins><span class="cx">         }
</span><span class="cx">     }
</span><del>-    dst-&gt;append('&quot;');
</del><ins>+    dst.append('&quot;');
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // anonymous namespace
</span><span class="cx"> 
</span><del>-bool InspectorValue::asBoolean(bool*) const
</del><ins>+bool InspectorValue::asBoolean(bool&amp;) const
</ins><span class="cx"> {
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorValue::asDouble(double*) const
</del><ins>+bool InspectorValue::asDouble(double&amp;) const
</ins><span class="cx"> {
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorValue::asDouble(float*) const
</del><ins>+bool InspectorValue::asDouble(float&amp;) const
</ins><span class="cx"> {
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorValue::asInteger(int*) const
</del><ins>+bool InspectorValue::asInteger(int&amp;) const
</ins><span class="cx"> {
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorValue::asInteger(unsigned*) const
</del><ins>+bool InspectorValue::asInteger(unsigned&amp;) const
</ins><span class="cx"> {
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorValue::asInteger(long*) const
</del><ins>+bool InspectorValue::asInteger(long&amp;) const
</ins><span class="cx"> {
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorValue::asInteger(long long*) const
</del><ins>+bool InspectorValue::asInteger(long long&amp;) const
</ins><span class="cx"> {
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorValue::asInteger(unsigned long*) const
</del><ins>+bool InspectorValue::asInteger(unsigned long&amp;) const
</ins><span class="cx"> {
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorValue::asInteger(unsigned long long*) const
</del><ins>+bool InspectorValue::asInteger(unsigned long long&amp;) const
</ins><span class="cx"> {
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorValue::asString(String*) const
</del><ins>+bool InspectorValue::asString(String&amp;) const
</ins><span class="cx"> {
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorValue::asValue(RefPtr&lt;InspectorValue&gt;* output)
</del><ins>+bool InspectorValue::asValue(RefPtr&lt;InspectorValue&gt;&amp; output)
</ins><span class="cx"> {
</span><del>-    *output = this;
</del><ins>+    output = this;
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorValue::asObject(RefPtr&lt;InspectorObject&gt;*)
</del><ins>+bool InspectorValue::asObject(RefPtr&lt;InspectorObject&gt;&amp;)
</ins><span class="cx"> {
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorValue::asArray(RefPtr&lt;InspectorArray&gt;*)
</del><ins>+bool InspectorValue::asArray(RefPtr&lt;InspectorArray&gt;&amp;)
</ins><span class="cx"> {
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorObject&gt; InspectorValue::asObject()
</del><ins>+bool InspectorValue::parseJSON(const String&amp; jsonInput, RefPtr&lt;InspectorValue&gt;&amp; output)
</ins><span class="cx"> {
</span><del>-    return nullptr;
-}
-
-PassRefPtr&lt;InspectorArray&gt; InspectorValue::asArray()
-{
-    return nullptr;
-}
-
-PassRefPtr&lt;InspectorValue&gt; InspectorValue::parseJSON(const String&amp; json)
-{
</del><span class="cx">     // FIXME: This whole file should just use StringView instead of UChar/length and avoid upconverting.
</span><del>-    auto characters = StringView(json).upconvertedCharacters();
</del><ins>+    auto characters = StringView(jsonInput).upconvertedCharacters();
</ins><span class="cx">     const UChar* start = characters;
</span><del>-    const UChar* end = start + json.length();
</del><ins>+    const UChar* end = start + jsonInput.length();
</ins><span class="cx">     const UChar* tokenEnd;
</span><del>-    RefPtr&lt;InspectorValue&gt; value = buildValue(start, end, &amp;tokenEnd, 0);
-    if (!value || tokenEnd != end)
-        return nullptr;
-    return value.release();
</del><ins>+    RefPtr&lt;InspectorValue&gt; result = buildValue(start, end, &amp;tokenEnd, 0);
+    if (!result || tokenEnd != end)
+        return false;
+
+    output = result.release();
+    return true;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> String InspectorValue::toJSONString() const
</span><span class="cx"> {
</span><span class="cx">     StringBuilder result;
</span><span class="cx">     result.reserveCapacity(512);
</span><del>-    writeJSON(&amp;result);
</del><ins>+    writeJSON(result);
</ins><span class="cx">     return result.toString();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorValue::writeJSON(StringBuilder* output) const
</del><ins>+void InspectorValue::writeJSON(StringBuilder&amp; output) const
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(m_type == Type::Null);
</span><del>-    output-&gt;append(nullString, 4);
</del><ins>+
+    output.appendLiteral(&quot;null&quot;);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorBasicValue::asBoolean(bool* output) const
</del><ins>+bool InspectorBasicValue::asBoolean(bool&amp; output) const
</ins><span class="cx"> {
</span><span class="cx">     if (type() != Type::Boolean)
</span><span class="cx">         return false;
</span><del>-    *output = m_boolValue;
</del><ins>+
+    output = m_booleanValue;
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorBasicValue::asDouble(double* output) const
</del><ins>+bool InspectorBasicValue::asDouble(double&amp; output) const
</ins><span class="cx"> {
</span><span class="cx">     if (type() != Type::Double)
</span><span class="cx">         return false;
</span><del>-    *output = m_doubleValue;
</del><ins>+
+    output = m_doubleValue;
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorBasicValue::asDouble(float* output) const
</del><ins>+bool InspectorBasicValue::asDouble(float&amp; output) const
</ins><span class="cx"> {
</span><span class="cx">     if (type() != Type::Double)
</span><span class="cx">         return false;
</span><del>-    *output = static_cast&lt;float&gt;(m_doubleValue);
</del><ins>+
+    output = static_cast&lt;float&gt;(m_doubleValue);
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorBasicValue::asInteger(int* output) const
</del><ins>+bool InspectorBasicValue::asInteger(int&amp; output) const
</ins><span class="cx"> {
</span><span class="cx">     if (type() != Type::Integer &amp;&amp; type() != Type::Double)
</span><span class="cx">         return false;
</span><del>-    *output = static_cast&lt;int&gt;(m_doubleValue);
</del><ins>+
+    output = static_cast&lt;int&gt;(m_doubleValue);
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorBasicValue::asInteger(unsigned* output) const
</del><ins>+bool InspectorBasicValue::asInteger(unsigned&amp; output) const
</ins><span class="cx"> {
</span><span class="cx">     if (type() != Type::Integer &amp;&amp; type() != Type::Double)
</span><span class="cx">         return false;
</span><del>-    *output = static_cast&lt;unsigned&gt;(m_doubleValue);
</del><ins>+
+    output = static_cast&lt;unsigned&gt;(m_doubleValue);
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorBasicValue::asInteger(long* output) const
</del><ins>+bool InspectorBasicValue::asInteger(long&amp; output) const
</ins><span class="cx"> {
</span><span class="cx">     if (type() != Type::Integer &amp;&amp; type() != Type::Double)
</span><span class="cx">         return false;
</span><del>-    *output = static_cast&lt;long&gt;(m_doubleValue);
</del><ins>+
+    output = static_cast&lt;long&gt;(m_doubleValue);
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorBasicValue::asInteger(long long* output) const
</del><ins>+bool InspectorBasicValue::asInteger(long long&amp; output) const
</ins><span class="cx"> {
</span><span class="cx">     if (type() != Type::Integer &amp;&amp; type() != Type::Double)
</span><span class="cx">         return false;
</span><del>-    *output = static_cast&lt;long long&gt;(m_doubleValue);
</del><ins>+
+    output = static_cast&lt;long long&gt;(m_doubleValue);
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorBasicValue::asInteger(unsigned long* output) const
</del><ins>+bool InspectorBasicValue::asInteger(unsigned long&amp; output) const
</ins><span class="cx"> {
</span><span class="cx">     if (type() != Type::Integer &amp;&amp; type() != Type::Double)
</span><span class="cx">         return false;
</span><del>-    *output = static_cast&lt;unsigned long&gt;(m_doubleValue);
</del><ins>+
+    output = static_cast&lt;unsigned long&gt;(m_doubleValue);
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorBasicValue::asInteger(unsigned long long* output) const
</del><ins>+bool InspectorBasicValue::asInteger(unsigned long long&amp; output) const
</ins><span class="cx"> {
</span><span class="cx">     if (type() != Type::Integer &amp;&amp; type() != Type::Double)
</span><span class="cx">         return false;
</span><del>-    *output = static_cast&lt;unsigned long long&gt;(m_doubleValue);
</del><ins>+
+    output = static_cast&lt;unsigned long long&gt;(m_doubleValue);
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorBasicValue::writeJSON(StringBuilder* output) const
</del><ins>+void InspectorBasicValue::writeJSON(StringBuilder&amp; output) const
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(type() == Type::Boolean || type() == Type::Double || type() == Type::Integer);
</span><ins>+
</ins><span class="cx">     if (type() == Type::Boolean) {
</span><del>-        if (m_boolValue)
-            output-&gt;append(trueString, 4);
</del><ins>+        if (m_booleanValue)
+            output.appendLiteral(&quot;true&quot;);
</ins><span class="cx">         else
</span><del>-            output-&gt;append(falseString, 5);
</del><ins>+            output.appendLiteral(&quot;false&quot;);
</ins><span class="cx">     } else if (type() == Type::Double || type() == Type::Integer) {
</span><span class="cx">         NumberToLStringBuffer buffer;
</span><span class="cx">         if (!std::isfinite(m_doubleValue)) {
</span><del>-            output-&gt;append(nullString, 4);
</del><ins>+            output.appendLiteral(&quot;null&quot;);
</ins><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx">         DecimalNumber decimal = m_doubleValue;
</span><span class="lines">@@ -675,23 +696,23 @@
</span><span class="cx">             // Not enough room for decimal. Use exponential format.
</span><span class="cx">             if (decimal.bufferLengthForStringExponential() &gt; WTF::NumberToStringBufferLength) {
</span><span class="cx">                 // Fallback for an abnormal case if it's too little even for exponential.
</span><del>-                output-&gt;append(&quot;NaN&quot;, 3);
</del><ins>+                output.appendLiteral(&quot;NaN&quot;);
</ins><span class="cx">                 return;
</span><span class="cx">             }
</span><span class="cx">             length = decimal.toStringExponential(buffer, WTF::NumberToStringBufferLength);
</span><span class="cx">         } else
</span><span class="cx">             length = decimal.toStringDecimal(buffer, WTF::NumberToStringBufferLength);
</span><del>-        output-&gt;append(buffer, length);
</del><ins>+        output.append(buffer, length);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorString::asString(String* output) const
</del><ins>+bool InspectorString::asString(String&amp; output) const
</ins><span class="cx"> {
</span><del>-    *output = m_stringValue;
</del><ins>+    output = m_stringValue;
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorString::writeJSON(StringBuilder* output) const
</del><ins>+void InspectorString::writeJSON(StringBuilder&amp; output) const
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(type() == Type::String);
</span><span class="cx">     doubleQuoteString(m_stringValue, output);
</span><span class="lines">@@ -701,33 +722,31 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorObjectBase::asObject(RefPtr&lt;InspectorObject&gt;* output)
</del><ins>+bool InspectorObjectBase::asObject(RefPtr&lt;InspectorObject&gt;&amp; output)
</ins><span class="cx"> {
</span><span class="cx">     COMPILE_ASSERT(sizeof(InspectorObject) == sizeof(InspectorObjectBase), cannot_cast);
</span><del>-    *output = static_cast&lt;InspectorObject*&gt;(this);
</del><ins>+
+    output = static_cast&lt;InspectorObject*&gt;(this);
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorObject&gt; InspectorObjectBase::asObject()
-{
-    return openAccessors();
-}
-
</del><span class="cx"> InspectorObject* InspectorObjectBase::openAccessors()
</span><span class="cx"> {
</span><span class="cx">     COMPILE_ASSERT(sizeof(InspectorObject) == sizeof(InspectorObjectBase), cannot_cast);
</span><ins>+
</ins><span class="cx">     return static_cast&lt;InspectorObject*&gt;(this);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorObjectBase::getBoolean(const String&amp; name, bool* output) const
</del><ins>+bool InspectorObjectBase::getBoolean(const String&amp; name, bool&amp; output) const
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;InspectorValue&gt; value = get(name);
</span><span class="cx">     if (!value)
</span><span class="cx">         return false;
</span><ins>+
</ins><span class="cx">     return value-&gt;asBoolean(output);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorObjectBase::getString(const String&amp; name, String* output) const
</del><ins>+bool InspectorObjectBase::getString(const String&amp; name, String&amp; output) const
</ins><span class="cx"> {
</span><span class="cx">     RefPtr&lt;InspectorValue&gt; value = get(name);
</span><span class="cx">     if (!value)
</span><span class="lines">@@ -740,7 +759,10 @@
</span><span class="cx">     PassRefPtr&lt;InspectorValue&gt; value = get(name);
</span><span class="cx">     if (!value)
</span><span class="cx">         return nullptr;
</span><del>-    return value-&gt;asObject();
</del><ins>+
+    RefPtr&lt;InspectorObject&gt; result;
+    value-&gt;asObject(result);
+    return result.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PassRefPtr&lt;InspectorArray&gt; InspectorObjectBase::getArray(const String&amp; name) const
</span><span class="lines">@@ -748,7 +770,10 @@
</span><span class="cx">     PassRefPtr&lt;InspectorValue&gt; value = get(name);
</span><span class="cx">     if (!value)
</span><span class="cx">         return nullptr;
</span><del>-    return value-&gt;asArray();
</del><ins>+
+    RefPtr&lt;InspectorArray&gt; result;
+    value-&gt;asArray(result);
+    return result.release();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PassRefPtr&lt;InspectorValue&gt; InspectorObjectBase::get(const String&amp; name) const
</span><span class="lines">@@ -770,19 +795,19 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorObjectBase::writeJSON(StringBuilder* output) const
</del><ins>+void InspectorObjectBase::writeJSON(StringBuilder&amp; output) const
</ins><span class="cx"> {
</span><del>-    output-&gt;append('{');
</del><ins>+    output.append('{');
</ins><span class="cx">     for (size_t i = 0; i &lt; m_order.size(); ++i) {
</span><span class="cx">         Dictionary::const_iterator it = m_data.find(m_order[i]);
</span><span class="cx">         ASSERT(it != m_data.end());
</span><span class="cx">         if (i)
</span><del>-            output-&gt;append(',');
</del><ins>+            output.append(',');
</ins><span class="cx">         doubleQuoteString(it-&gt;key, output);
</span><del>-        output-&gt;append(':');
</del><ins>+        output.append(':');
</ins><span class="cx">         it-&gt;value-&gt;writeJSON(output);
</span><span class="cx">     }
</span><del>-    output-&gt;append('}');
</del><ins>+    output.append('}');
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> InspectorObjectBase::InspectorObjectBase()
</span><span class="lines">@@ -796,28 +821,22 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorArrayBase::asArray(RefPtr&lt;InspectorArray&gt;* output)
</del><ins>+bool InspectorArrayBase::asArray(RefPtr&lt;InspectorArray&gt;&amp; output)
</ins><span class="cx"> {
</span><span class="cx">     COMPILE_ASSERT(sizeof(InspectorArrayBase) == sizeof(InspectorArray), cannot_cast);
</span><del>-    *output = static_cast&lt;InspectorArray*&gt;(this);
</del><ins>+    output = static_cast&lt;InspectorArray*&gt;(this);
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;InspectorArray&gt; InspectorArrayBase::asArray()
</del><ins>+void InspectorArrayBase::writeJSON(StringBuilder&amp; output) const
</ins><span class="cx"> {
</span><del>-    COMPILE_ASSERT(sizeof(InspectorArrayBase) == sizeof(InspectorArray), cannot_cast);
-    return static_cast&lt;InspectorArray*&gt;(this);
-}
-
-void InspectorArrayBase::writeJSON(StringBuilder* output) const
-{
-    output-&gt;append('[');
</del><ins>+    output.append('[');
</ins><span class="cx">     for (Vector&lt;RefPtr&lt;InspectorValue&gt;&gt;::const_iterator it = m_data.begin(); it != m_data.end(); ++it) {
</span><span class="cx">         if (it != m_data.begin())
</span><del>-            output-&gt;append(',');
</del><ins>+            output.append(',');
</ins><span class="cx">         (*it)-&gt;writeJSON(output);
</span><span class="cx">     }
</span><del>-    output-&gt;append(']');
</del><ins>+    output.append(']');
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> InspectorArrayBase::InspectorArrayBase()
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit26SourceJavaScriptCoreinspectorInspectorValuesh"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/InspectorValues.h (174940 => 174941)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/InspectorValues.h        2014-10-21 10:18:13 UTC (rev 174940)
+++ releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/InspectorValues.h        2014-10-21 10:30:58 UTC (rev 174941)
</span><span class="lines">@@ -1,5 +1,6 @@
</span><span class="cx"> /*
</span><span class="cx">  * Copyright (C) 2009 Google Inc. All rights reserved.
</span><ins>+ * Copyright (C) 2014 University of Washington. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="cx">  * modification, are permitted provided that the following conditions are
</span><span class="lines">@@ -69,26 +70,24 @@
</span><span class="cx"> 
</span><span class="cx">     bool isNull() const { return m_type == Type::Null; }
</span><span class="cx"> 
</span><del>-    virtual bool asBoolean(bool* output) const;
-    virtual bool asInteger(int* output) const;
-    virtual bool asInteger(unsigned* output) const;
-    virtual bool asInteger(long* output) const;
-    virtual bool asInteger(long long* output) const;
-    virtual bool asInteger(unsigned long* output) const;
-    virtual bool asInteger(unsigned long long* output) const;
-    virtual bool asDouble(double* output) const;
-    virtual bool asDouble(float* output) const;
-    virtual bool asString(String* output) const;
-    virtual bool asValue(RefPtr&lt;InspectorValue&gt;* output);
-    virtual bool asObject(RefPtr&lt;InspectorObject&gt;* output);
-    virtual bool asArray(RefPtr&lt;InspectorArray&gt;* output);
-    virtual PassRefPtr&lt;InspectorObject&gt; asObject();
-    virtual PassRefPtr&lt;InspectorArray&gt; asArray();
</del><ins>+    virtual bool asBoolean(bool&amp;) const;
+    virtual bool asInteger(int&amp;) const;
+    virtual bool asInteger(unsigned&amp;) const;
+    virtual bool asInteger(long&amp;) const;
+    virtual bool asInteger(long long&amp;) const;
+    virtual bool asInteger(unsigned long&amp;) const;
+    virtual bool asInteger(unsigned long long&amp;) const;
+    virtual bool asDouble(double&amp;) const;
+    virtual bool asDouble(float&amp;) const;
+    virtual bool asString(String&amp;) const;
+    virtual bool asValue(RefPtr&lt;InspectorValue&gt;&amp;);
+    virtual bool asObject(RefPtr&lt;InspectorObject&gt;&amp;);
+    virtual bool asArray(RefPtr&lt;InspectorArray&gt;&amp;);
</ins><span class="cx"> 
</span><del>-    static PassRefPtr&lt;InspectorValue&gt; parseJSON(const String&amp; json);
</del><ins>+    static bool parseJSON(const String&amp; jsonInput, RefPtr&lt;InspectorValue&gt;&amp; output);
</ins><span class="cx"> 
</span><span class="cx">     String toJSONString() const;
</span><del>-    virtual void writeJSON(StringBuilder* output) const;
</del><ins>+    virtual void writeJSON(StringBuilder&amp; output) const;
</ins><span class="cx"> 
</span><span class="cx"> protected:
</span><span class="cx">     explicit InspectorValue(Type type) : m_type(type) { }
</span><span class="lines">@@ -104,24 +103,24 @@
</span><span class="cx">     static PassRefPtr&lt;InspectorBasicValue&gt; create(int);
</span><span class="cx">     static PassRefPtr&lt;InspectorBasicValue&gt; create(double);
</span><span class="cx"> 
</span><del>-    virtual bool asBoolean(bool* output) const override;
</del><ins>+    virtual bool asBoolean(bool&amp;) const override;
</ins><span class="cx">     // Numbers from the frontend are always parsed as doubles, so we allow
</span><span class="cx">     // clients to convert to integral values with this function.
</span><del>-    virtual bool asInteger(int* output) const override;
-    virtual bool asInteger(unsigned* output) const override;
-    virtual bool asInteger(long* output) const override;
-    virtual bool asInteger(long long* output) const override;
-    virtual bool asInteger(unsigned long* output) const override;
-    virtual bool asInteger(unsigned long long* output) const override;
-    virtual bool asDouble(double* output) const override;
-    virtual bool asDouble(float* output) const override;
</del><ins>+    virtual bool asInteger(int&amp;) const override;
+    virtual bool asInteger(unsigned&amp;) const override;
+    virtual bool asInteger(long&amp;) const override;
+    virtual bool asInteger(long long&amp;) const override;
+    virtual bool asInteger(unsigned long&amp;) const override;
+    virtual bool asInteger(unsigned long long&amp;) const override;
+    virtual bool asDouble(double&amp;) const override;
+    virtual bool asDouble(float&amp;) const override;
</ins><span class="cx"> 
</span><del>-    virtual void writeJSON(StringBuilder* output) const override;
</del><ins>+    virtual void writeJSON(StringBuilder&amp; output) const override;
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     explicit InspectorBasicValue(bool value)
</span><span class="cx">         : InspectorValue(Type::Boolean)
</span><del>-        , m_boolValue(value) { }
</del><ins>+        , m_booleanValue(value) { }
</ins><span class="cx"> 
</span><span class="cx">     explicit InspectorBasicValue(int value)
</span><span class="cx">         : InspectorValue(Type::Integer)
</span><span class="lines">@@ -132,7 +131,7 @@
</span><span class="cx">         , m_doubleValue(value) { }
</span><span class="cx"> 
</span><span class="cx">     union {
</span><del>-        bool m_boolValue;
</del><ins>+        bool m_booleanValue;
</ins><span class="cx">         double m_doubleValue;
</span><span class="cx">     };
</span><span class="cx"> };
</span><span class="lines">@@ -142,9 +141,9 @@
</span><span class="cx">     static PassRefPtr&lt;InspectorString&gt; create(const String&amp;);
</span><span class="cx">     static PassRefPtr&lt;InspectorString&gt; create(const char*);
</span><span class="cx"> 
</span><del>-    virtual bool asString(String* output) const override;
</del><ins>+    virtual bool asString(String&amp; output) const override;
</ins><span class="cx"> 
</span><del>-    virtual void writeJSON(StringBuilder* output) const override;
</del><ins>+    virtual void writeJSON(StringBuilder&amp; output) const override;
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     explicit InspectorString(const String&amp; value)
</span><span class="lines">@@ -166,13 +165,12 @@
</span><span class="cx">     typedef Dictionary::iterator iterator;
</span><span class="cx">     typedef Dictionary::const_iterator const_iterator;
</span><span class="cx"> 
</span><del>-    virtual PassRefPtr&lt;InspectorObject&gt; asObject() override;
</del><span class="cx">     InspectorObject* openAccessors();
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><span class="cx">     virtual ~InspectorObjectBase();
</span><span class="cx"> 
</span><del>-    virtual bool asObject(RefPtr&lt;InspectorObject&gt;* output) override;
</del><ins>+    virtual bool asObject(RefPtr&lt;InspectorObject&gt;&amp; output) override;
</ins><span class="cx"> 
</span><span class="cx">     // FIXME: use templates to reduce the amount of duplicated set*() methods.
</span><span class="cx">     void setBoolean(const String&amp; name, bool);
</span><span class="lines">@@ -187,15 +185,15 @@
</span><span class="cx">     const_iterator find(const String&amp; name) const;
</span><span class="cx"> 
</span><span class="cx">     // FIXME: use templates to reduce the amount of duplicated get*() methods.
</span><del>-    bool getBoolean(const String&amp; name, bool* output) const;
-    template&lt;class T&gt; bool getDouble(const String&amp; name, T* output) const
</del><ins>+    bool getBoolean(const String&amp; name, bool&amp; output) const;
+    template&lt;class T&gt; bool getDouble(const String&amp; name, T&amp; output) const
</ins><span class="cx">     {
</span><span class="cx">         RefPtr&lt;InspectorValue&gt; value = get(name);
</span><span class="cx">         if (!value)
</span><span class="cx">             return false;
</span><span class="cx">         return value-&gt;asDouble(output);
</span><span class="cx">     }
</span><del>-    template&lt;class T&gt; bool getInteger(const String&amp; name, T* output) const
</del><ins>+    template&lt;class T&gt; bool getInteger(const String&amp; name, T&amp; output) const
</ins><span class="cx">     {
</span><span class="cx">         RefPtr&lt;InspectorValue&gt; value = get(name);
</span><span class="cx">         if (!value)
</span><span class="lines">@@ -203,14 +201,14 @@
</span><span class="cx">         return value-&gt;asInteger(output);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    bool getString(const String&amp; name, String* output) const;
</del><ins>+    bool getString(const String&amp; name, String&amp; output) const;
</ins><span class="cx">     PassRefPtr&lt;InspectorObject&gt; getObject(const String&amp; name) const;
</span><span class="cx">     PassRefPtr&lt;InspectorArray&gt; getArray(const String&amp; name) const;
</span><span class="cx">     PassRefPtr&lt;InspectorValue&gt; get(const String&amp; name) const;
</span><span class="cx"> 
</span><span class="cx">     void remove(const String&amp; name);
</span><span class="cx"> 
</span><del>-    virtual void writeJSON(StringBuilder* output) const override;
</del><ins>+    virtual void writeJSON(StringBuilder&amp; output) const override;
</ins><span class="cx"> 
</span><span class="cx">     iterator begin() { return m_data.begin(); }
</span><span class="cx">     iterator end() { return m_data.end(); }
</span><span class="lines">@@ -264,14 +262,12 @@
</span><span class="cx">     typedef Vector&lt;RefPtr&lt;InspectorValue&gt;&gt;::iterator iterator;
</span><span class="cx">     typedef Vector&lt;RefPtr&lt;InspectorValue&gt;&gt;::const_iterator const_iterator;
</span><span class="cx"> 
</span><del>-    virtual PassRefPtr&lt;InspectorArray&gt; asArray() override;
-
</del><span class="cx">     unsigned length() const { return m_data.size(); }
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><span class="cx">     virtual ~InspectorArrayBase();
</span><span class="cx"> 
</span><del>-    virtual bool asArray(RefPtr&lt;InspectorArray&gt;* output) override;
</del><ins>+    virtual bool asArray(RefPtr&lt;InspectorArray&gt;&amp;) override;
</ins><span class="cx"> 
</span><span class="cx">     void pushBoolean(bool);
</span><span class="cx">     void pushInteger(int);
</span><span class="lines">@@ -283,7 +279,7 @@
</span><span class="cx"> 
</span><span class="cx">     PassRefPtr&lt;InspectorValue&gt; get(size_t index);
</span><span class="cx"> 
</span><del>-    virtual void writeJSON(StringBuilder* output) const override;
</del><ins>+    virtual void writeJSON(StringBuilder&amp; output) const override;
</ins><span class="cx"> 
</span><span class="cx">     iterator begin() { return m_data.begin(); }
</span><span class="cx">     iterator end() { return m_data.end(); }
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit26SourceJavaScriptCoreinspectoragentsInspectorDebuggerAgentcpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp (174940 => 174941)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp        2014-10-21 10:18:13 UTC (rev 174940)
+++ releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp        2014-10-21 10:30:58 UTC (rev 174941)
</span><span class="lines">@@ -208,13 +208,13 @@
</span><span class="cx">     for (unsigned i = 0; i &lt; actionsLength; ++i) {
</span><span class="cx">         RefPtr&lt;InspectorValue&gt; value = actions-&gt;get(i);
</span><span class="cx">         RefPtr&lt;InspectorObject&gt; object;
</span><del>-        if (!value-&gt;asObject(&amp;object)) {
</del><ins>+        if (!value-&gt;asObject(object)) {
</ins><span class="cx">             *errorString = ASCIILiteral(&quot;BreakpointAction of incorrect type, expected object&quot;);
</span><span class="cx">             return false;
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         String typeString;
</span><del>-        if (!object-&gt;getString(ASCIILiteral(&quot;type&quot;), &amp;typeString)) {
</del><ins>+        if (!object-&gt;getString(ASCIILiteral(&quot;type&quot;), typeString)) {
</ins><span class="cx">             *errorString = ASCIILiteral(&quot;BreakpointAction had type missing&quot;);
</span><span class="cx">             return false;
</span><span class="cx">         }
</span><span class="lines">@@ -228,10 +228,10 @@
</span><span class="cx">         // Specifying an identifier is optional. They are used to correlate probe samples
</span><span class="cx">         // in the frontend across multiple backend probe actions and segregate object groups.
</span><span class="cx">         int identifier = 0;
</span><del>-        object-&gt;getInteger(ASCIILiteral(&quot;id&quot;), &amp;identifier);
</del><ins>+        object-&gt;getInteger(ASCIILiteral(&quot;id&quot;), identifier);
</ins><span class="cx"> 
</span><span class="cx">         String data;
</span><del>-        object-&gt;getString(ASCIILiteral(&quot;data&quot;), &amp;data);
</del><ins>+        object-&gt;getString(ASCIILiteral(&quot;data&quot;), data);
</ins><span class="cx"> 
</span><span class="cx">         result-&gt;append(ScriptBreakpointAction(type, identifier, data));
</span><span class="cx">     }
</span><span class="lines">@@ -261,8 +261,8 @@
</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;), &amp;condition);
-        (*options)-&gt;getBoolean(ASCIILiteral(&quot;autoContinue&quot;), &amp;autoContinue);
</del><ins>+        (*options)-&gt;getString(ASCIILiteral(&quot;condition&quot;), condition);
+        (*options)-&gt;getBoolean(ASCIILiteral(&quot;autoContinue&quot;), autoContinue);
</ins><span class="cx">         actions = (*options)-&gt;getArray(ASCIILiteral(&quot;actions&quot;));
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -285,18 +285,18 @@
</span><span class="cx">     *outBreakpointIdentifier = breakpointIdentifier;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static bool parseLocation(ErrorString* errorString, InspectorObject* location, JSC::SourceID* sourceID, unsigned* lineNumber, unsigned* columnNumber)
</del><ins>+static bool parseLocation(ErrorString* errorString, InspectorObject&amp; location, JSC::SourceID&amp; sourceID, unsigned&amp; lineNumber, unsigned&amp; columnNumber)
</ins><span class="cx"> {
</span><span class="cx">     String scriptIDStr;
</span><del>-    if (!location-&gt;getString(ASCIILiteral(&quot;scriptId&quot;), &amp;scriptIDStr) || !location-&gt;getInteger(ASCIILiteral(&quot;lineNumber&quot;), lineNumber)) {
-        *sourceID = JSC::noSourceID;
</del><ins>+    if (!location.getString(ASCIILiteral(&quot;scriptId&quot;), scriptIDStr) || !location.getInteger(ASCIILiteral(&quot;lineNumber&quot;), lineNumber)) {
+        sourceID = JSC::noSourceID;
</ins><span class="cx">         *errorString = ASCIILiteral(&quot;scriptId and lineNumber are required.&quot;);
</span><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    *sourceID = scriptIDStr.toIntPtr();
-    *columnNumber = 0;
-    location-&gt;getInteger(ASCIILiteral(&quot;columnNumber&quot;), columnNumber);
</del><ins>+    sourceID = scriptIDStr.toIntPtr();
+    columnNumber = 0;
+    location.getInteger(ASCIILiteral(&quot;columnNumber&quot;), columnNumber);
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -305,15 +305,15 @@
</span><span class="cx">     JSC::SourceID sourceID;
</span><span class="cx">     unsigned lineNumber;
</span><span class="cx">     unsigned columnNumber;
</span><del>-    if (!parseLocation(errorString, location.get(), &amp;sourceID, &amp;lineNumber, &amp;columnNumber))
</del><ins>+    if (!parseLocation(errorString, *location, sourceID, lineNumber, columnNumber))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     String condition = emptyString();
</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;), &amp;condition);
-        (*options)-&gt;getBoolean(ASCIILiteral(&quot;autoContinue&quot;), &amp;autoContinue);
</del><ins>+        (*options)-&gt;getString(ASCIILiteral(&quot;condition&quot;), condition);
+        (*options)-&gt;getBoolean(ASCIILiteral(&quot;autoContinue&quot;), autoContinue);
</ins><span class="cx">         actions = (*options)-&gt;getArray(ASCIILiteral(&quot;actions&quot;));
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -360,7 +360,7 @@
</span><span class="cx">     JSC::SourceID sourceID;
</span><span class="cx">     unsigned lineNumber;
</span><span class="cx">     unsigned columnNumber;
</span><del>-    if (!parseLocation(errorString, location.get(), &amp;sourceID, &amp;lineNumber, &amp;columnNumber))
</del><ins>+    if (!parseLocation(errorString, *location, sourceID, lineNumber, columnNumber))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     ScriptBreakpoint breakpoint(lineNumber, columnNumber, &quot;&quot;, false);
</span><span class="lines">@@ -593,18 +593,22 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     for (auto it = m_javaScriptBreakpoints.begin(), end = m_javaScriptBreakpoints.end(); it != end; ++it) {
</span><del>-        RefPtr&lt;InspectorObject&gt; breakpointObject = it-&gt;value-&gt;asObject();
</del><ins>+        RefPtr&lt;InspectorObject&gt; breakpointObject;
+        if (!it-&gt;value-&gt;asObject(breakpointObject))
+            return;
+
</ins><span class="cx">         bool isRegex;
</span><del>-        breakpointObject-&gt;getBoolean(ASCIILiteral(&quot;isRegex&quot;), &amp;isRegex);
</del><ins>+        breakpointObject-&gt;getBoolean(ASCIILiteral(&quot;isRegex&quot;), isRegex);
</ins><span class="cx">         String url;
</span><del>-        breakpointObject-&gt;getString(ASCIILiteral(&quot;url&quot;), &amp;url);
</del><ins>+        breakpointObject-&gt;getString(ASCIILiteral(&quot;url&quot;), url);
</ins><span class="cx">         if (!matches(scriptURL, url, isRegex))
</span><span class="cx">             continue;
</span><ins>+
</ins><span class="cx">         ScriptBreakpoint breakpoint;
</span><del>-        breakpointObject-&gt;getInteger(ASCIILiteral(&quot;lineNumber&quot;), &amp;breakpoint.lineNumber);
-        breakpointObject-&gt;getInteger(ASCIILiteral(&quot;columnNumber&quot;), &amp;breakpoint.columnNumber);
-        breakpointObject-&gt;getString(ASCIILiteral(&quot;condition&quot;), &amp;breakpoint.condition);
-        breakpointObject-&gt;getBoolean(ASCIILiteral(&quot;autoContinue&quot;), &amp;breakpoint.autoContinue);
</del><ins>+        breakpointObject-&gt;getInteger(ASCIILiteral(&quot;lineNumber&quot;), breakpoint.lineNumber);
+        breakpointObject-&gt;getInteger(ASCIILiteral(&quot;columnNumber&quot;), breakpoint.columnNumber);
+        breakpointObject-&gt;getString(ASCIILiteral(&quot;condition&quot;), breakpoint.condition);
+        breakpointObject-&gt;getBoolean(ASCIILiteral(&quot;autoContinue&quot;), breakpoint.autoContinue);
</ins><span class="cx">         ErrorString errorString;
</span><span class="cx">         RefPtr&lt;InspectorArray&gt; actions = breakpointObject-&gt;getArray(ASCIILiteral(&quot;actions&quot;));
</span><span class="cx">         if (!breakpointActionsFromProtocol(&amp;errorString, actions, &amp;breakpoint.actions)) {
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit26SourceJavaScriptCoreinspectoragentsInspectorRuntimeAgentcpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.cpp (174940 => 174941)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.cpp        2014-10-21 10:18:13 UTC (rev 174940)
+++ releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.cpp        2014-10-21 10:30:58 UTC (rev 174941)
</span><span class="lines">@@ -213,7 +213,7 @@
</span><span class="cx">     for (size_t i = 0; i &lt; locations-&gt;length(); i++) {
</span><span class="cx">         RefPtr&lt;Inspector::InspectorValue&gt; value = locations-&gt;get(i);
</span><span class="cx">         RefPtr&lt;InspectorObject&gt; location;
</span><del>-        if (!value-&gt;asObject(&amp;location)) {
</del><ins>+        if (!value-&gt;asObject(location)) {
</ins><span class="cx">             *errorString = ASCIILiteral(&quot;Array of TypeLocation objects has an object that does not have type of TypeLocation.&quot;);
</span><span class="cx">             return;
</span><span class="cx">         }
</span><span class="lines">@@ -221,9 +221,9 @@
</span><span class="cx">         int descriptor;
</span><span class="cx">         String sourceIDAsString;
</span><span class="cx">         int divot;
</span><del>-        location-&gt;getInteger(ASCIILiteral(&quot;typeInformationDescriptor&quot;), &amp;descriptor);
-        location-&gt;getString(ASCIILiteral(&quot;sourceID&quot;), &amp;sourceIDAsString);
-        location-&gt;getInteger(ASCIILiteral(&quot;divot&quot;), &amp;divot);
</del><ins>+        location-&gt;getInteger(ASCIILiteral(&quot;typeInformationDescriptor&quot;), descriptor);
+        location-&gt;getString(ASCIILiteral(&quot;sourceID&quot;), sourceIDAsString);
+        location-&gt;getInteger(ASCIILiteral(&quot;divot&quot;), divot);
</ins><span class="cx"> 
</span><span class="cx">         bool okay;
</span><span class="cx">         TypeLocation* typeLocation = vm.typeProfiler()-&gt;findLocation(divot, sourceIDAsString.toIntPtrStrict(&amp;okay), static_cast&lt;TypeProfilerSearchDescriptor&gt;(descriptor));
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit26SourceJavaScriptCoreinspectorscriptscodegengenerate_protocol_types_implementationpy"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/scripts/codegen/generate_protocol_types_implementation.py (174940 => 174941)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/scripts/codegen/generate_protocol_types_implementation.py        2014-10-21 10:18:13 UTC (rev 174940)
+++ releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/scripts/codegen/generate_protocol_types_implementation.py        2014-10-21 10:30:58 UTC (rev 174941)
</span><span class="lines">@@ -126,8 +126,8 @@
</span><span class="cx">         lines.append('void BindingTraits&lt;%s&gt;::assertValueHasExpectedType(Inspector::InspectorValue* value)' % (Generator.protocol_type_string_for_type(object_declaration.type)))
</span><span class="cx">         lines.append(&quot;&quot;&quot;{
</span><span class="cx">     RefPtr&lt;InspectorObject&gt; object;
</span><del>-    bool castRes = value-&gt;asObject(&amp;object);
-    ASSERT_UNUSED(castRes, castRes);&quot;&quot;&quot;)
</del><ins>+    bool castSucceeded = value-&gt;asObject(object);
+    ASSERT_UNUSED(castSucceeded, castSucceeded);&quot;&quot;&quot;)
</ins><span class="cx">         for type_member in required_members:
</span><span class="cx">             args = {
</span><span class="cx">                 'memberName': type_member.member_name,
</span><span class="lines">@@ -172,11 +172,11 @@
</span><span class="cx">         lines.append('#if !ASSERT_DISABLED')
</span><span class="cx">         lines.append('void %s(Inspector::InspectorValue* value)' % Generator.assertion_method_for_type_member(enum_member, object_declaration))
</span><span class="cx">         lines.append('{')
</span><del>-        lines.append('    String s;')
-        lines.append('    bool cast_res = value-&gt;asString(&amp;s);')
-        lines.append('    ASSERT(cast_res);')
</del><ins>+        lines.append('    String result;')
+        lines.append('    bool castSucceeded = value-&gt;asString(result);')
+        lines.append('    ASSERT(castSucceeded);')
</ins><span class="cx"> 
</span><del>-        assert_condition = ' || '.join(['s == &quot;%s&quot;' % enum_value for enum_value in enum_member.type.enum_values()])
</del><ins>+        assert_condition = ' || '.join(['result == &quot;%s&quot;' % enum_value for enum_value in enum_member.type.enum_values()])
</ins><span class="cx">         lines.append('    ASSERT(%s);' % assert_condition)
</span><span class="cx">         lines.append('}')
</span><span class="cx">         lines.append('#endif // !ASSERT_DISABLED')
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit26SourceJavaScriptCoreinspectorscriptscodegengenerator_templatespy"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/scripts/codegen/generator_templates.py (174940 => 174941)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/scripts/codegen/generator_templates.py        2014-10-21 10:18:13 UTC (rev 174940)
+++ releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/scripts/codegen/generator_templates.py        2014-10-21 10:30:58 UTC (rev 174941)
</span><span class="lines">@@ -253,14 +253,14 @@
</span><span class="cx">     ProtocolObjectRuntimeCast = (
</span><span class="cx"> &quot;&quot;&quot;PassRefPtr&lt;${objectType}&gt; BindingTraits&lt;${objectType}&gt;::runtimeCast(PassRefPtr&lt;Inspector::InspectorValue&gt; value)
</span><span class="cx"> {
</span><del>-    RefPtr&lt;Inspector::InspectorObject&gt; object;
-    bool castRes = value-&gt;asObject(&amp;object);
-    ASSERT_UNUSED(castRes, castRes);
</del><ins>+    RefPtr&lt;Inspector::InspectorObject&gt; result;
+    bool castSucceeded = value-&gt;asObject(result);
+    ASSERT_UNUSED(castSucceeded, castSucceeded);
</ins><span class="cx"> #if !ASSERT_DISABLED
</span><del>-    BindingTraits&lt;${objectType}&gt;::assertValueHasExpectedType(object.get());
</del><ins>+    BindingTraits&lt;${objectType}&gt;::assertValueHasExpectedType(result.get());
</ins><span class="cx"> #endif  // !ASSERT_DISABLED
</span><span class="cx">     COMPILE_ASSERT(sizeof(${objectType}) == sizeof(Inspector::InspectorObjectBase), type_cast_problem);
</span><del>-    return static_cast&lt;${objectType}*&gt;(static_cast&lt;Inspector::InspectorObjectBase*&gt;(object.get()));
</del><ins>+    return static_cast&lt;${objectType}*&gt;(static_cast&lt;Inspector::InspectorObjectBase*&gt;(result.get()));
</ins><span class="cx"> }
</span><span class="cx"> &quot;&quot;&quot;
</span><span class="cx"> )
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit26SourceJavaScriptCoreinspectorscriptstestsexpectedtyperequiringruntimecastsjsonresult"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result (174940 => 174941)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result        2014-10-21 10:18:13 UTC (rev 174940)
+++ releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result        2014-10-21 10:30:58 UTC (rev 174941)
</span><span class="lines">@@ -620,10 +620,10 @@
</span><span class="cx"> #if !ASSERT_DISABLED
</span><span class="cx"> void BindingTraits&lt;Inspector::Protocol::Test::CastedAnimals&gt;::assertValueHasExpectedType(Inspector::InspectorValue* value)
</span><span class="cx"> {
</span><del>-    String s;
-    bool cast_res = value-&gt;asString(&amp;s);
-    ASSERT(cast_res);
-    ASSERT(s == &quot;Ducks&quot; || s == &quot;Hens&quot; || s == &quot;Crows&quot; || s == &quot;Flamingos&quot;);
</del><ins>+    String result;
+    bool castSucceeded = value-&gt;asString(result);
+    ASSERT(castSucceeded);
+    ASSERT(result == &quot;Ducks&quot; || result == &quot;Hens&quot; || result == &quot;Crows&quot; || result == &quot;Flamingos&quot;);
</ins><span class="cx"> }
</span><span class="cx"> #endif // !ASSERT_DISABLED
</span><span class="cx"> 
</span><span class="lines">@@ -631,8 +631,8 @@
</span><span class="cx"> void BindingTraits&lt;Inspector::Protocol::Test::TypeNeedingCast&gt;::assertValueHasExpectedType(Inspector::InspectorValue* value)
</span><span class="cx"> {
</span><span class="cx">     RefPtr&lt;InspectorObject&gt; object;
</span><del>-    bool castRes = value-&gt;asObject(&amp;object);
-    ASSERT_UNUSED(castRes, castRes);
</del><ins>+    bool castSucceeded = value-&gt;asObject(object);
+    ASSERT_UNUSED(castSucceeded, castSucceeded);
</ins><span class="cx">     {
</span><span class="cx">         InspectorObject::iterator stringPos = object-&gt;find(ASCIILiteral(&quot;string&quot;));
</span><span class="cx">         ASSERT(stringPos != object-&gt;end());
</span><span class="lines">@@ -667,14 +667,14 @@
</span><span class="cx"> 
</span><span class="cx"> PassRefPtr&lt;Inspector::Protocol::Test::TypeNeedingCast&gt; BindingTraits&lt;Inspector::Protocol::Test::TypeNeedingCast&gt;::runtimeCast(PassRefPtr&lt;Inspector::InspectorValue&gt; value)
</span><span class="cx"> {
</span><del>-    RefPtr&lt;Inspector::InspectorObject&gt; object;
-    bool castRes = value-&gt;asObject(&amp;object);
-    ASSERT_UNUSED(castRes, castRes);
</del><ins>+    RefPtr&lt;Inspector::InspectorObject&gt; result;
+    bool castSucceeded = value-&gt;asObject(result);
+    ASSERT_UNUSED(castSucceeded, castSucceeded);
</ins><span class="cx"> #if !ASSERT_DISABLED
</span><del>-    BindingTraits&lt;Inspector::Protocol::Test::TypeNeedingCast&gt;::assertValueHasExpectedType(object.get());
</del><ins>+    BindingTraits&lt;Inspector::Protocol::Test::TypeNeedingCast&gt;::assertValueHasExpectedType(result.get());
</ins><span class="cx"> #endif  // !ASSERT_DISABLED
</span><span class="cx">     COMPILE_ASSERT(sizeof(Inspector::Protocol::Test::TypeNeedingCast) == sizeof(Inspector::InspectorObjectBase), type_cast_problem);
</span><del>-    return static_cast&lt;Inspector::Protocol::Test::TypeNeedingCast*&gt;(static_cast&lt;Inspector::InspectorObjectBase*&gt;(object.get()));
</del><ins>+    return static_cast&lt;Inspector::Protocol::Test::TypeNeedingCast*&gt;(static_cast&lt;Inspector::InspectorObjectBase*&gt;(result.get()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="lines">@@ -682,8 +682,8 @@
</span><span class="cx"> void BindingTraits&lt;Inspector::Protocol::Test::RecursiveObject1&gt;::assertValueHasExpectedType(Inspector::InspectorValue* value)
</span><span class="cx"> {
</span><span class="cx">     RefPtr&lt;InspectorObject&gt; object;
</span><del>-    bool castRes = value-&gt;asObject(&amp;object);
-    ASSERT_UNUSED(castRes, castRes);
</del><ins>+    bool castSucceeded = value-&gt;asObject(object);
+    ASSERT_UNUSED(castSucceeded, castSucceeded);
</ins><span class="cx"> 
</span><span class="cx">     int foundPropertiesCount = 0;
</span><span class="cx">     {
</span><span class="lines">@@ -702,8 +702,8 @@
</span><span class="cx"> void BindingTraits&lt;Inspector::Protocol::Test::RecursiveObject2&gt;::assertValueHasExpectedType(Inspector::InspectorValue* value)
</span><span class="cx"> {
</span><span class="cx">     RefPtr&lt;InspectorObject&gt; object;
</span><del>-    bool castRes = value-&gt;asObject(&amp;object);
-    ASSERT_UNUSED(castRes, castRes);
</del><ins>+    bool castSucceeded = value-&gt;asObject(object);
+    ASSERT_UNUSED(castSucceeded, castSucceeded);
</ins><span class="cx"> 
</span><span class="cx">     int foundPropertiesCount = 0;
</span><span class="cx">     {
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit26SourceJavaScriptCorereplayEncodedValuecpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/replay/EncodedValue.cpp (174940 => 174941)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/replay/EncodedValue.cpp        2014-10-21 10:18:13 UTC (rev 174940)
+++ releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore/replay/EncodedValue.cpp        2014-10-21 10:30:58 UTC (rev 174941)
</span><span class="lines">@@ -40,7 +40,7 @@
</span><span class="cx"> PassRefPtr&lt;InspectorObject&gt; EncodedValue::asObject()
</span><span class="cx"> {
</span><span class="cx">     RefPtr&lt;InspectorObject&gt; result;
</span><del>-    bool castSucceeded = m_value-&gt;asObject(&amp;result);
</del><ins>+    bool castSucceeded = m_value-&gt;asObject(result);
</ins><span class="cx">     ASSERT_UNUSED(castSucceeded, castSucceeded);
</span><span class="cx"> 
</span><span class="cx">     return result.release();
</span><span class="lines">@@ -49,7 +49,7 @@
</span><span class="cx"> PassRefPtr&lt;InspectorArray&gt; EncodedValue::asArray()
</span><span class="cx"> {
</span><span class="cx">     RefPtr&lt;InspectorArray&gt; result;
</span><del>-    bool castSucceeded = m_value-&gt;asArray(&amp;result);
</del><ins>+    bool castSucceeded = m_value-&gt;asArray(result);
</ins><span class="cx">     ASSERT_UNUSED(castSucceeded, castSucceeded);
</span><span class="cx"> 
</span><span class="cx">     return result.release();
</span><span class="lines">@@ -103,7 +103,7 @@
</span><span class="cx"> template&lt;&gt; bool EncodedValue::convertTo&lt;bool&gt;()
</span><span class="cx"> {
</span><span class="cx">     bool result;
</span><del>-    bool castSucceeded = m_value-&gt;asBoolean(&amp;result);
</del><ins>+    bool castSucceeded = m_value-&gt;asBoolean(result);
</ins><span class="cx">     ASSERT_UNUSED(castSucceeded, castSucceeded);
</span><span class="cx"> 
</span><span class="cx">     return result;
</span><span class="lines">@@ -112,7 +112,7 @@
</span><span class="cx"> template&lt;&gt; double EncodedValue::convertTo&lt;double&gt;()
</span><span class="cx"> {
</span><span class="cx">     double result;
</span><del>-    bool castSucceeded = m_value-&gt;asDouble(&amp;result);
</del><ins>+    bool castSucceeded = m_value-&gt;asDouble(result);
</ins><span class="cx">     ASSERT_UNUSED(castSucceeded, castSucceeded);
</span><span class="cx"> 
</span><span class="cx">     return result;
</span><span class="lines">@@ -121,7 +121,7 @@
</span><span class="cx"> template&lt;&gt; float EncodedValue::convertTo&lt;float&gt;()
</span><span class="cx"> {
</span><span class="cx">     float result;
</span><del>-    bool castSucceeded = m_value-&gt;asDouble(&amp;result);
</del><ins>+    bool castSucceeded = m_value-&gt;asDouble(result);
</ins><span class="cx">     ASSERT_UNUSED(castSucceeded, castSucceeded);
</span><span class="cx"> 
</span><span class="cx">     return result;
</span><span class="lines">@@ -130,7 +130,7 @@
</span><span class="cx"> template&lt;&gt; int32_t EncodedValue::convertTo&lt;int32_t&gt;()
</span><span class="cx"> {
</span><span class="cx">     int32_t result;
</span><del>-    bool castSucceeded = m_value-&gt;asInteger(&amp;result);
</del><ins>+    bool castSucceeded = m_value-&gt;asInteger(result);
</ins><span class="cx">     ASSERT_UNUSED(castSucceeded, castSucceeded);
</span><span class="cx"> 
</span><span class="cx">     return result;
</span><span class="lines">@@ -139,7 +139,7 @@
</span><span class="cx"> template&lt;&gt; int64_t EncodedValue::convertTo&lt;int64_t&gt;()
</span><span class="cx"> {
</span><span class="cx">     int64_t result;
</span><del>-    bool castSucceeded = m_value-&gt;asInteger(&amp;result);
</del><ins>+    bool castSucceeded = m_value-&gt;asInteger(result);
</ins><span class="cx">     ASSERT_UNUSED(castSucceeded, castSucceeded);
</span><span class="cx"> 
</span><span class="cx">     return result;
</span><span class="lines">@@ -148,7 +148,7 @@
</span><span class="cx"> template&lt;&gt; uint32_t EncodedValue::convertTo&lt;uint32_t&gt;()
</span><span class="cx"> {
</span><span class="cx">     uint32_t result;
</span><del>-    bool castSucceeded = m_value-&gt;asInteger(&amp;result);
</del><ins>+    bool castSucceeded = m_value-&gt;asInteger(result);
</ins><span class="cx">     ASSERT_UNUSED(castSucceeded, castSucceeded);
</span><span class="cx"> 
</span><span class="cx">     return result;
</span><span class="lines">@@ -157,7 +157,7 @@
</span><span class="cx"> template&lt;&gt; uint64_t EncodedValue::convertTo&lt;uint64_t&gt;()
</span><span class="cx"> {
</span><span class="cx">     uint64_t result;
</span><del>-    bool castSucceeded = m_value-&gt;asInteger(&amp;result);
</del><ins>+    bool castSucceeded = m_value-&gt;asInteger(result);
</ins><span class="cx">     ASSERT_UNUSED(castSucceeded, castSucceeded);
</span><span class="cx"> 
</span><span class="cx">     return result;
</span><span class="lines">@@ -166,7 +166,7 @@
</span><span class="cx"> template&lt;&gt; String EncodedValue::convertTo&lt;String&gt;()
</span><span class="cx"> {
</span><span class="cx">     String result;
</span><del>-    bool castSucceeded = m_value-&gt;asString(&amp;result);
</del><ins>+    bool castSucceeded = m_value-&gt;asString(result);
</ins><span class="cx">     ASSERT_UNUSED(castSucceeded, castSucceeded);
</span><span class="cx"> 
</span><span class="cx">     return result;
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit26SourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.6/Source/WebCore/ChangeLog (174940 => 174941)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.6/Source/WebCore/ChangeLog        2014-10-21 10:18:13 UTC (rev 174940)
+++ releases/WebKitGTK/webkit-2.6/Source/WebCore/ChangeLog        2014-10-21 10:30:58 UTC (rev 174941)
</span><span class="lines">@@ -1,3 +1,45 @@
</span><ins>+2014-09-29  Brian J. Burg  &lt;burg@cs.washington.edu&gt;
+
+        Web Inspector: InspectorValues should use references for out parameters
+        https://bugs.webkit.org/show_bug.cgi?id=137190
+
+        Reviewed by Joseph Pecoraro.
+
+        Clean up some call sites to explicitly check for cast success, and simplify
+        some exceptional control flows.
+
+        No new tests, no behavior changed.
+
+        * inspector/CommandLineAPIHost.cpp:
+        (WebCore::CommandLineAPIHost::inspectImpl):
+        * inspector/InspectorCSSAgent.cpp:
+        (WebCore::computePseudoClassMask):
+        * inspector/InspectorDOMAgent.cpp:
+        (WebCore::parseColor):
+        (WebCore::parseConfigColor):
+        (WebCore::parseQuad):
+        (WebCore::InspectorDOMAgent::performSearch):
+        (WebCore::InspectorDOMAgent::highlightConfigFromInspectorObject):
+        (WebCore::InspectorDOMAgent::innerHighlightQuad):
+        (WebCore::InspectorDOMAgent::highlightFrame):
+        * inspector/InspectorDOMStorageAgent.cpp:
+        (WebCore::InspectorDOMStorageAgent::findStorageArea):
+        * inspector/InspectorIndexedDBAgent.cpp: Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL.
+        * inspector/InspectorPageAgent.cpp:
+        (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
+        * inspector/InspectorReplayAgent.cpp:
+        (WebCore::InspectorReplayAgent::replayToPosition):
+        * inspector/InspectorResourceAgent.cpp:
+        (WebCore::InspectorResourceAgent::willSendRequest):
+        * inspector/InspectorStyleSheet.cpp:
+        (WebCore::InspectorStyle::styleWithProperties):
+        * inspector/InspectorStyleSheet.h:
+        (WebCore::InspectorCSSId::InspectorCSSId):
+        * inspector/InspectorTimelineAgent.cpp:
+        (WebCore::InspectorTimelineAgent::startFromConsole):
+        (WebCore::InspectorTimelineAgent::stopFromConsole):
+        * inspector/InspectorWorkerAgent.cpp:
+
</ins><span class="cx"> 2014-10-17  Carlos Garcia Campos  &lt;cgarcia@igalia.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [GLIB] Add API to GMainLoopSource to schedule sources after a delay in microseconds
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit26SourceWebCoreinspectorCommandLineAPIHostcpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/CommandLineAPIHost.cpp (174940 => 174941)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/CommandLineAPIHost.cpp        2014-10-21 10:18:13 UTC (rev 174940)
+++ releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/CommandLineAPIHost.cpp        2014-10-21 10:30:58 UTC (rev 174941)
</span><span class="lines">@@ -94,10 +94,15 @@
</span><span class="cx"> 
</span><span class="cx"> void CommandLineAPIHost::inspectImpl(PassRefPtr&lt;InspectorValue&gt; object, PassRefPtr&lt;InspectorValue&gt; hints)
</span><span class="cx"> {
</span><del>-    if (m_inspectorAgent) {
-        RefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt; remoteObject = BindingTraits&lt;Inspector::Protocol::Runtime::RemoteObject&gt;::runtimeCast(object);
-        m_inspectorAgent-&gt;inspect(remoteObject, hints-&gt;asObject());
-    }
</del><ins>+    if (!m_inspectorAgent)
+        return;
+
+    RefPtr&lt;InspectorObject&gt; hintsObject;
+    if (!hints-&gt;asObject(hintsObject))
+        return;
+
+    RefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt; remoteObject = BindingTraits&lt;Inspector::Protocol::Runtime::RemoteObject&gt;::runtimeCast(object);
+    m_inspectorAgent-&gt;inspect(remoteObject.release(), hintsObject.release());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void CommandLineAPIHost::getEventListenersImpl(Node* node, Vector&lt;EventListenerInfo&gt;&amp; listenersArray)
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit26SourceWebCoreinspectorInspectorCSSAgentcpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorCSSAgent.cpp (174940 => 174941)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorCSSAgent.cpp        2014-10-21 10:18:13 UTC (rev 174940)
+++ releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorCSSAgent.cpp        2014-10-21 10:30:58 UTC (rev 174941)
</span><span class="lines">@@ -89,7 +89,7 @@
</span><span class="cx">     for (size_t i = 0; i &lt; pseudoClassArray-&gt;length(); ++i) {
</span><span class="cx">         RefPtr&lt;InspectorValue&gt; pseudoClassValue = pseudoClassArray-&gt;get(i);
</span><span class="cx">         String pseudoClass;
</span><del>-        bool success = pseudoClassValue-&gt;asString(&amp;pseudoClass);
</del><ins>+        bool success = pseudoClassValue-&gt;asString(pseudoClass);
</ins><span class="cx">         if (!success)
</span><span class="cx">             continue;
</span><span class="cx">         if (pseudoClass == active)
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit26SourceWebCoreinspectorInspectorDOMAgentcpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorDOMAgent.cpp (174940 => 174941)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorDOMAgent.cpp        2014-10-21 10:18:13 UTC (rev 174940)
+++ releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorDOMAgent.cpp        2014-10-21 10:30:58 UTC (rev 174941)
</span><span class="lines">@@ -111,23 +111,19 @@
</span><span class="cx"> static const size_t maxTextSize = 10000;
</span><span class="cx"> static const UChar ellipsisUChar[] = { 0x2026, 0 };
</span><span class="cx"> 
</span><del>-static Color parseColor(const RefPtr&lt;InspectorObject&gt;* colorObject)
</del><ins>+static Color parseColor(const PassRefPtr&lt;InspectorObject&gt; colorObject)
</ins><span class="cx"> {
</span><del>-    if (!colorObject || !(*colorObject))
</del><ins>+    if (!colorObject)
</ins><span class="cx">         return Color::transparent;
</span><span class="cx"> 
</span><span class="cx">     int r;
</span><span class="cx">     int g;
</span><span class="cx">     int b;
</span><del>-    bool success = (*colorObject)-&gt;getInteger(&quot;r&quot;, &amp;r);
-    success |= (*colorObject)-&gt;getInteger(&quot;g&quot;, &amp;g);
-    success |= (*colorObject)-&gt;getInteger(&quot;b&quot;, &amp;b);
-    if (!success)
</del><ins>+    if (!colorObject-&gt;getInteger(&quot;r&quot;, r) || !colorObject-&gt;getInteger(&quot;g&quot;, g) || !colorObject-&gt;getInteger(&quot;b&quot;, b))
</ins><span class="cx">         return Color::transparent;
</span><span class="cx"> 
</span><span class="cx">     double a;
</span><del>-    success = (*colorObject)-&gt;getDouble(&quot;a&quot;, &amp;a);
-    if (!success)
</del><ins>+    if (!colorObject-&gt;getDouble(&quot;a&quot;, a))
</ins><span class="cx">         return Color(r, g, b);
</span><span class="cx"> 
</span><span class="cx">     // Clamp alpha to the [0..1] range.
</span><span class="lines">@@ -142,7 +138,7 @@
</span><span class="cx"> static Color parseConfigColor(const String&amp; fieldName, InspectorObject* configObject)
</span><span class="cx"> {
</span><span class="cx">     const RefPtr&lt;InspectorObject&gt; colorObject = configObject-&gt;getObject(fieldName);
</span><del>-    return parseColor(&amp;colorObject);
</del><ins>+    return parseColor(colorObject);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static bool parseQuad(const RefPtr&lt;InspectorArray&gt;&amp; quadArray, FloatQuad* quad)
</span><span class="lines">@@ -154,7 +150,7 @@
</span><span class="cx">     if (quadArray-&gt;length() != coordinatesInQuad)
</span><span class="cx">         return false;
</span><span class="cx">     for (size_t i = 0; i &lt; coordinatesInQuad; ++i) {
</span><del>-        if (!quadArray-&gt;get(i)-&gt;asDouble(coordinates + i))
</del><ins>+        if (!quadArray-&gt;get(i)-&gt;asDouble(*(coordinates + i)))
</ins><span class="cx">             return false;
</span><span class="cx">     }
</span><span class="cx">     quad-&gt;setP1(FloatPoint(coordinates[0], coordinates[1]));
</span><span class="lines">@@ -899,7 +895,7 @@
</span><span class="cx">                 return;
</span><span class="cx">             }
</span><span class="cx">             int nodeId = 0;
</span><del>-            if (!nodeValue-&gt;asInteger(&amp;nodeId)) {
</del><ins>+            if (!nodeValue-&gt;asInteger(nodeId)) {
</ins><span class="cx">                 *errorString = &quot;Invalid nodeIds item type. Expecting integer types.&quot;;
</span><span class="cx">                 return;
</span><span class="cx">             }
</span><span class="lines">@@ -1045,7 +1041,7 @@
</span><span class="cx"> 
</span><span class="cx">     auto highlightConfig = std::make_unique&lt;HighlightConfig&gt;();
</span><span class="cx">     bool showInfo = false; // Default: false (do not show a tooltip).
</span><del>-    highlightInspectorObject-&gt;getBoolean(&quot;showInfo&quot;, &amp;showInfo);
</del><ins>+    highlightInspectorObject-&gt;getBoolean(&quot;showInfo&quot;, showInfo);
</ins><span class="cx">     highlightConfig-&gt;showInfo = showInfo;
</span><span class="cx">     highlightConfig-&gt;content = parseConfigColor(&quot;contentColor&quot;, highlightInspectorObject);
</span><span class="cx">     highlightConfig-&gt;contentOutline = parseConfigColor(&quot;contentOutlineColor&quot;, highlightInspectorObject);
</span><span class="lines">@@ -1079,8 +1075,8 @@
</span><span class="cx"> 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)
</span><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);
+    highlightConfig-&gt;contentOutline = parseColor(*outlineColor);
</ins><span class="cx">     highlightConfig-&gt;usePageCoordinates = usePageCoordinates ? *usePageCoordinates : false;
</span><span class="cx">     m_overlay-&gt;highlightQuad(WTF::move(quad), *highlightConfig);
</span><span class="cx"> }
</span><span class="lines">@@ -1107,18 +1103,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*,
-    const String&amp; frameId,
-    const RefPtr&lt;InspectorObject&gt;* color,
-    const RefPtr&lt;InspectorObject&gt;* outlineColor)
</del><ins>+void InspectorDOMAgent::highlightFrame(ErrorString*, const String&amp; frameId, const RefPtr&lt;InspectorObject&gt;* color, const RefPtr&lt;InspectorObject&gt;* outlineColor)
</ins><span class="cx"> {
</span><span class="cx">     Frame* frame = m_pageAgent-&gt;frameForId(frameId);
</span><span class="cx">     if (frame &amp;&amp; frame-&gt;ownerElement()) {
</span><span class="cx">         auto highlightConfig = std::make_unique&lt;HighlightConfig&gt;();
</span><span class="cx">         highlightConfig-&gt;showInfo = true; // Always show tooltips for frames.
</span><del>-        highlightConfig-&gt;content = parseColor(color);
-        highlightConfig-&gt;contentOutline = parseColor(outlineColor);
</del><ins>+        highlightConfig-&gt;content = parseColor(*color);
+        highlightConfig-&gt;contentOutline = parseColor(*outlineColor);
</ins><span class="cx">         m_overlay-&gt;highlightNode(frame-&gt;ownerElement(), *highlightConfig);
</span><span class="cx">     }
</span><span class="cx"> }
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit26SourceWebCoreinspectorInspectorDOMStorageAgentcpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorDOMStorageAgent.cpp (174940 => 174941)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorDOMStorageAgent.cpp        2014-10-21 10:18:13 UTC (rev 174940)
+++ releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorDOMStorageAgent.cpp        2014-10-21 10:30:58 UTC (rev 174941)
</span><span class="lines">@@ -186,9 +186,9 @@
</span><span class="cx"> {
</span><span class="cx">     String securityOrigin;
</span><span class="cx">     bool isLocalStorage = false;
</span><del>-    bool success = storageId-&gt;getString(&quot;securityOrigin&quot;, &amp;securityOrigin);
</del><ins>+    bool success = storageId-&gt;getString(&quot;securityOrigin&quot;, securityOrigin);
</ins><span class="cx">     if (success)
</span><del>-        success = storageId-&gt;getBoolean(&quot;isLocalStorage&quot;, &amp;isLocalStorage);
</del><ins>+        success = storageId-&gt;getBoolean(&quot;isLocalStorage&quot;, isLocalStorage);
</ins><span class="cx">     if (!success) {
</span><span class="cx">         if (errorString)
</span><span class="cx">             *errorString = &quot;Invalid storageId format&quot;;
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit26SourceWebCoreinspectorInspectorIndexedDBAgentcpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp (174940 => 174941)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp        2014-10-21 10:18:13 UTC (rev 174940)
+++ releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp        2014-10-21 10:30:58 UTC (rev 174941)
</span><span class="lines">@@ -65,6 +65,7 @@
</span><span class="cx"> #include &lt;inspector/InjectedScript.h&gt;
</span><span class="cx"> #include &lt;inspector/InjectedScriptManager.h&gt;
</span><span class="cx"> #include &lt;inspector/InspectorValues.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="cx"> 
</span><span class="cx"> using Inspector::Protocol::Array;
</span><span class="lines">@@ -326,36 +327,36 @@
</span><span class="cx">     RefPtr&lt;IDBKey&gt; idbKey;
</span><span class="cx"> 
</span><span class="cx">     String type;
</span><del>-    if (!key-&gt;getString(&quot;type&quot;, &amp;type))
</del><ins>+    if (!key-&gt;getString(&quot;type&quot;, type))
</ins><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><del>-    DEPRECATED_DEFINE_STATIC_LOCAL(String, number, (ASCIILiteral(&quot;number&quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(String, string, (ASCIILiteral(&quot;string&quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(String, date, (ASCIILiteral(&quot;date&quot;)));
-    DEPRECATED_DEFINE_STATIC_LOCAL(String, array, (ASCIILiteral(&quot;array&quot;)));
</del><ins>+    NeverDestroyed&lt;const String&gt; numberType(ASCIILiteral(&quot;number&quot;));
+    NeverDestroyed&lt;const String&gt; stringType(ASCIILiteral(&quot;string&quot;));
+    NeverDestroyed&lt;const String&gt; dateType(ASCIILiteral(&quot;date&quot;));
+    NeverDestroyed&lt;const String&gt; arrayType(ASCIILiteral(&quot;array&quot;));
</ins><span class="cx"> 
</span><del>-    if (type == number) {
</del><ins>+    if (type == numberType) {
</ins><span class="cx">         double number;
</span><del>-        if (!key-&gt;getDouble(&quot;number&quot;, &amp;number))
</del><ins>+        if (!key-&gt;getDouble(&quot;number&quot;, number))
</ins><span class="cx">             return nullptr;
</span><span class="cx">         idbKey = IDBKey::createNumber(number);
</span><del>-    } else if (type == string) {
</del><ins>+    } else if (type == stringType) {
</ins><span class="cx">         String string;
</span><del>-        if (!key-&gt;getString(&quot;string&quot;, &amp;string))
</del><ins>+        if (!key-&gt;getString(&quot;string&quot;, string))
</ins><span class="cx">             return nullptr;
</span><span class="cx">         idbKey = IDBKey::createString(string);
</span><del>-    } else if (type == date) {
</del><ins>+    } else if (type == dateType) {
</ins><span class="cx">         double date;
</span><del>-        if (!key-&gt;getDouble(&quot;date&quot;, &amp;date))
</del><ins>+        if (!key-&gt;getDouble(&quot;date&quot;, date))
</ins><span class="cx">             return nullptr;
</span><span class="cx">         idbKey = IDBKey::createDate(date);
</span><del>-    } else if (type == array) {
</del><ins>+    } else if (type == arrayType) {
</ins><span class="cx">         IDBKey::KeyArray keyArray;
</span><span class="cx">         RefPtr&lt;InspectorArray&gt; array = key-&gt;getArray(&quot;array&quot;);
</span><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><del>-            if (!value-&gt;asObject(&amp;object))
</del><ins>+            if (!value-&gt;asObject(object))
</ins><span class="cx">                 return nullptr;
</span><span class="cx">             keyArray.append(idbKeyFromInspectorObject(object.get()));
</span><span class="cx">         }
</span><span class="lines">@@ -379,12 +380,12 @@
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="cx">     bool lowerOpen;
</span><del>-    if (!keyRange-&gt;getBoolean(&quot;lowerOpen&quot;, &amp;lowerOpen))
</del><ins>+    if (!keyRange-&gt;getBoolean(&quot;lowerOpen&quot;, lowerOpen))
</ins><span class="cx">         return nullptr;
</span><span class="cx">     IDBKeyRange::LowerBoundType lowerBoundType = lowerOpen ? IDBKeyRange::LowerBoundOpen : IDBKeyRange::LowerBoundClosed;
</span><span class="cx"> 
</span><span class="cx">     bool upperOpen;
</span><del>-    if (!keyRange-&gt;getBoolean(&quot;upperOpen&quot;, &amp;upperOpen))
</del><ins>+    if (!keyRange-&gt;getBoolean(&quot;upperOpen&quot;, upperOpen))
</ins><span class="cx">         return nullptr;
</span><span class="cx">     IDBKeyRange::UpperBoundType upperBoundType = upperOpen ? IDBKeyRange::UpperBoundOpen : IDBKeyRange::UpperBoundClosed;
</span><span class="cx"> 
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit26SourceWebCoreinspectorInspectorPageAgentcpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorPageAgent.cpp (174940 => 174941)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorPageAgent.cpp        2014-10-21 10:18:13 UTC (rev 174940)
+++ releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorPageAgent.cpp        2014-10-21 10:30:58 UTC (rev 174941)
</span><span class="lines">@@ -739,7 +739,7 @@
</span><span class="cx">     if (m_scriptsToEvaluateOnLoad) {
</span><span class="cx">         for (auto&amp; keyValuePair : *m_scriptsToEvaluateOnLoad) {
</span><span class="cx">             String scriptText;
</span><del>-            if (keyValuePair.value-&gt;asString(&amp;scriptText))
</del><ins>+            if (keyValuePair.value-&gt;asString(scriptText))
</ins><span class="cx">                 frame-&gt;script().executeScript(scriptText);
</span><span class="cx">         }
</span><span class="cx">     }
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit26SourceWebCoreinspectorInspectorReplayAgentcpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorReplayAgent.cpp (174940 => 174941)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorReplayAgent.cpp        2014-10-21 10:18:13 UTC (rev 174940)
+++ releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorReplayAgent.cpp        2014-10-21 10:30:58 UTC (rev 174941)
</span><span class="lines">@@ -340,12 +340,12 @@
</span><span class="cx"> void InspectorReplayAgent::replayToPosition(ErrorString* errorString, const RefPtr&lt;InspectorObject&gt;&amp; positionObject, bool fastReplay)
</span><span class="cx"> {
</span><span class="cx">     ReplayPosition position;
</span><del>-    if (!positionObject-&gt;getInteger(ASCIILiteral(&quot;segmentOffset&quot;), &amp;position.segmentOffset)) {
</del><ins>+    if (!positionObject-&gt;getInteger(ASCIILiteral(&quot;segmentOffset&quot;), position.segmentOffset)) {
</ins><span class="cx">         *errorString = ASCIILiteral(&quot;Couldn't decode ReplayPosition segment offset provided to ReplayAgent.replayToPosition.&quot;);
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (!positionObject-&gt;getInteger(ASCIILiteral(&quot;inputOffset&quot;), &amp;position.inputOffset)) {
</del><ins>+    if (!positionObject-&gt;getInteger(ASCIILiteral(&quot;inputOffset&quot;), position.inputOffset)) {
</ins><span class="cx">         *errorString = ASCIILiteral(&quot;Couldn't decode ReplayPosition input offset provided to ReplayAgent.replayToPosition.&quot;);
</span><span class="cx">         return;
</span><span class="cx">     }
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit26SourceWebCoreinspectorInspectorResourceAgentcpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorResourceAgent.cpp (174940 => 174941)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorResourceAgent.cpp        2014-10-21 10:18:13 UTC (rev 174940)
+++ releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorResourceAgent.cpp        2014-10-21 10:30:58 UTC (rev 174941)
</span><span class="lines">@@ -303,7 +303,7 @@
</span><span class="cx">         InspectorObject::const_iterator end = m_extraRequestHeaders-&gt;end();
</span><span class="cx">         for (InspectorObject::const_iterator it = m_extraRequestHeaders-&gt;begin(); it != end; ++it) {
</span><span class="cx">             String value;
</span><del>-            if (it-&gt;value-&gt;asString(&amp;value))
</del><ins>+            if (it-&gt;value-&gt;asString(value))
</ins><span class="cx">                 request.setHTTPHeaderField(it-&gt;key, value);
</span><span class="cx">         }
</span><span class="cx">     }
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit26SourceWebCoreinspectorInspectorStyleSheetcpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorStyleSheet.cpp (174940 => 174941)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorStyleSheet.cpp        2014-10-21 10:18:13 UTC (rev 174940)
+++ releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorStyleSheet.cpp        2014-10-21 10:30:58 UTC (rev 174941)
</span><span class="lines">@@ -572,8 +572,8 @@
</span><span class="cx">                 HashMap&lt;String, RefPtr&lt;Inspector::Protocol::CSS::CSSProperty&gt;&gt;::iterator activeIt = propertyNameToPreviousActiveProperty.find(canonicalPropertyName);
</span><span class="cx">                 if (activeIt != propertyNameToPreviousActiveProperty.end()) {
</span><span class="cx">                     if (propertyEntry.parsedOk) {
</span><del>-                        bool successPriority = activeIt-&gt;value-&gt;getString(Inspector::Protocol::CSS::CSSProperty::Priority, &amp;previousPriority);
-                        bool successStatus = activeIt-&gt;value-&gt;getString(Inspector::Protocol::CSS::CSSProperty::Status, &amp;previousStatus);
</del><ins>+                        bool successPriority = activeIt-&gt;value-&gt;getString(Inspector::Protocol::CSS::CSSProperty::Priority, previousPriority);
+                        bool successStatus = activeIt-&gt;value-&gt;getString(Inspector::Protocol::CSS::CSSProperty::Status, previousStatus);
</ins><span class="cx">                         if (successStatus &amp;&amp; previousStatus != &quot;inactive&quot;) {
</span><span class="cx">                             if (propertyEntry.important || !successPriority) // Priority not set == &quot;not important&quot;.
</span><span class="cx">                                 shouldInactivate = true;
</span><span class="lines">@@ -584,7 +584,7 @@
</span><span class="cx">                         }
</span><span class="cx">                     } else {
</span><span class="cx">                         bool previousParsedOk;
</span><del>-                        bool success = activeIt-&gt;value-&gt;getBoolean(Inspector::Protocol::CSS::CSSProperty::ParsedOk, &amp;previousParsedOk);
</del><ins>+                        bool success = activeIt-&gt;value-&gt;getBoolean(Inspector::Protocol::CSS::CSSProperty::ParsedOk, previousParsedOk);
</ins><span class="cx">                         if (success &amp;&amp; !previousParsedOk)
</span><span class="cx">                             shouldInactivate = true;
</span><span class="cx">                     }
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit26SourceWebCoreinspectorInspectorStyleSheeth"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorStyleSheet.h (174940 => 174941)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorStyleSheet.h        2014-10-21 10:18:13 UTC (rev 174940)
+++ releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorStyleSheet.h        2014-10-21 10:30:58 UTC (rev 174941)
</span><span class="lines">@@ -65,11 +65,11 @@
</span><span class="cx"> 
</span><span class="cx">     explicit InspectorCSSId(RefPtr&lt;Inspector::InspectorObject&gt; value)
</span><span class="cx">     {
</span><del>-        if (!value-&gt;getString(&quot;styleSheetId&quot;, &amp;m_styleSheetId))
</del><ins>+        if (!value-&gt;getString(&quot;styleSheetId&quot;, m_styleSheetId))
</ins><span class="cx">             return;
</span><del>-        
</del><ins>+
</ins><span class="cx">         RefPtr&lt;Inspector::InspectorValue&gt; ordinalValue = value-&gt;get(&quot;ordinal&quot;);
</span><del>-        if (!ordinalValue || !ordinalValue-&gt;asInteger(&amp;m_ordinal))
</del><ins>+        if (!ordinalValue || !ordinalValue-&gt;asInteger(m_ordinal))
</ins><span class="cx">             m_styleSheetId = &quot;&quot;;
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit26SourceWebCoreinspectorInspectorTimelineAgentcpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorTimelineAgent.cpp (174940 => 174941)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorTimelineAgent.cpp        2014-10-21 10:18:13 UTC (rev 174940)
+++ releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorTimelineAgent.cpp        2014-10-21 10:30:58 UTC (rev 174941)
</span><span class="lines">@@ -184,7 +184,7 @@
</span><span class="cx">     if (!title.isEmpty()) {
</span><span class="cx">         for (const TimelineRecordEntry&amp; record : m_pendingConsoleProfileRecords) {
</span><span class="cx">             String recordTitle;
</span><del>-            record.data-&gt;getString(ASCIILiteral(&quot;title&quot;), &amp;recordTitle);
</del><ins>+            record.data-&gt;getString(ASCIILiteral(&quot;title&quot;), recordTitle);
</ins><span class="cx">             if (recordTitle == title)
</span><span class="cx">                 return;
</span><span class="cx">         }
</span><span class="lines">@@ -206,7 +206,7 @@
</span><span class="cx">         const TimelineRecordEntry&amp; record = m_pendingConsoleProfileRecords[i];
</span><span class="cx"> 
</span><span class="cx">         String recordTitle;
</span><del>-        record.data-&gt;getString(ASCIILiteral(&quot;title&quot;), &amp;recordTitle);
</del><ins>+        record.data-&gt;getString(ASCIILiteral(&quot;title&quot;), recordTitle);
</ins><span class="cx"> 
</span><span class="cx">         if (title.isEmpty() || recordTitle == title) {
</span><span class="cx">             RefPtr&lt;JSC::Profile&gt; profile = stopProfiling(exec, title);
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit26SourceWebCoreinspectorInspectorWorkerAgentcpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorWorkerAgent.cpp (174940 => 174941)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorWorkerAgent.cpp        2014-10-21 10:18:13 UTC (rev 174940)
+++ releases/WebKitGTK/webkit-2.6/Source/WebCore/inspector/InspectorWorkerAgent.cpp        2014-10-21 10:30:58 UTC (rev 174941)
</span><span class="lines">@@ -82,14 +82,16 @@
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     // WorkerGlobalScopeProxy::PageInspector implementation
</span><del>-    virtual void dispatchMessageFromWorker(const String&amp; message) override
</del><ins>+    virtual void dispatchMessageFromWorker(const String&amp; messageString) override
</ins><span class="cx">     {
</span><del>-        RefPtr&lt;InspectorValue&gt; value = InspectorValue::parseJSON(message);
-        if (!value)
</del><ins>+        RefPtr&lt;InspectorValue&gt; parsedMessage;
+        if (!InspectorValue::parseJSON(messageString, parsedMessage))
</ins><span class="cx">             return;
</span><del>-        RefPtr&lt;InspectorObject&gt; messageObject = value-&gt;asObject();
-        if (!messageObject)
</del><ins>+
+        RefPtr&lt;InspectorObject&gt; messageObject;
+        if (!parsedMessage-&gt;asObject(messageObject))
</ins><span class="cx">             return;
</span><ins>+
</ins><span class="cx">         m_frontendDispatcher-&gt;dispatchMessageFromWorker(m_id, messageObject);
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>