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

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

<h3>Log Message</h3>
<pre>Web Inspector: pass parameters to inspector agents by reference where possible
https://bugs.webkit.org/show_bug.cgi?id=140002

Reviewed by Andreas Kling.

Pass parameters by-reference from inspector instrumentation entry
points to inspector agents. If the event doesn't make sense with null
arguments, perform null checks before calling agent methods.

No new tests, no behavior changed.

* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::didCreateNamedFlow):
(WebCore::InspectorCSSAgent::willRemoveNamedFlow):
(WebCore::InspectorCSSAgent::didChangeRegionOverset):
(WebCore::InspectorCSSAgent::didRegisterNamedFlowContentElement):
(WebCore::InspectorCSSAgent::didUnregisterNamedFlowContentElement):
(WebCore::InspectorCSSAgent::forcePseudoState):
* inspector/InspectorCSSAgent.h: Reorder methods to match instrumentation.
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::handleTouchEvent):
(WebCore::InspectorDOMAgent::didInsertDOMNode):
(WebCore::InspectorDOMAgent::didRemoveDOMNode):
(WebCore::InspectorDOMAgent::willModifyDOMAttr):
(WebCore::InspectorDOMAgent::didModifyDOMAttr):
(WebCore::InspectorDOMAgent::didRemoveDOMAttr):
(WebCore::InspectorDOMAgent::characterDataModified):
(WebCore::InspectorDOMAgent::didInvalidateStyleAttr):
(WebCore::InspectorDOMAgent::didPushShadowRoot):
(WebCore::InspectorDOMAgent::willPopShadowRoot):
* inspector/InspectorDOMAgent.h: Reorder methods to match instrumentation.
* inspector/InspectorDOMDebuggerAgent.cpp:
(WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
(WebCore::InspectorDOMDebuggerAgent::didInsertDOMNode):
(WebCore::InspectorDOMDebuggerAgent::didRemoveDOMNode):
(WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
(WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
(WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
* inspector/InspectorDOMDebuggerAgent.h:
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
(WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
(WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
(WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
(WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
(WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
(WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
(WebCore::InspectorInstrumentation::didRemoveDOMAttrImpl):
(WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
(WebCore::InspectorInstrumentation::didPushShadowRootImpl):
(WebCore::InspectorInstrumentation::willPopShadowRootImpl):
(WebCore::InspectorInstrumentation::didCreateNamedFlowImpl): Add null check.
(WebCore::InspectorInstrumentation::willRemoveNamedFlowImpl): Add null check.
(WebCore::InspectorInstrumentation::didChangeRegionOversetImpl):
(WebCore::InspectorInstrumentation::didRegisterNamedFlowContentElementImpl):
(WebCore::InspectorInstrumentation::didUnregisterNamedFlowContentElementImpl):
(WebCore::InspectorInstrumentation::handleTouchEventImpl):
(WebCore::InspectorInstrumentation::forcePseudoStateImpl):
(WebCore::InspectorInstrumentation::characterDataModifiedImpl):
(WebCore::InspectorInstrumentation::willEvaluateScriptImpl):
(WebCore::InspectorInstrumentation::didEvaluateScriptImpl):
(WebCore::InspectorInstrumentation::didInvalidateLayoutImpl):
(WebCore::InspectorInstrumentation::willLayoutImpl):
(WebCore::InspectorInstrumentation::willPaintImpl):
(WebCore::InspectorInstrumentation::willScrollLayerImpl):
(WebCore::InspectorInstrumentation::didScheduleStyleRecalculationImpl):
(WebCore::InspectorInstrumentation::applyEmulatedMediaImpl):
(WebCore::InspectorInstrumentation::willSendRequestImpl): Add null check.
(WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl): Add null checks.
(WebCore::InspectorInstrumentation::willReceiveResourceResponseImpl):  Add null check.
(WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
(WebCore::InspectorInstrumentation::didReceiveResourceResponseButCanceledImpl): Add null check.
(WebCore::InspectorInstrumentation::didFinishLoadingImpl): Add null check.
(WebCore::InspectorInstrumentation::didFailLoadingImpl): Add null check.
(WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
(WebCore::InspectorInstrumentation::loadEventFiredImpl): Add null check.
(WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
(WebCore::InspectorInstrumentation::didCommitLoadImpl): Add null checks.
(WebCore::InspectorInstrumentation::loaderDetachedFromFrameImpl):
(WebCore::InspectorInstrumentation::willDestroyCachedResourceImpl):
(WebCore::InspectorInstrumentation::startConsoleTimingImpl):
(WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
(WebCore::InspectorInstrumentation::consoleTimeStampImpl):
(WebCore::InspectorInstrumentation::didCreateWebSocketImpl): Add null check.
(WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl): Add null check.
(WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl): Add null check.
(WebCore::InspectorInstrumentation::didCloseWebSocketImpl): Add null check.
(WebCore::InspectorInstrumentation::renderLayerDestroyedImpl):
(WebCore::InspectorInstrumentation::pseudoElementDestroyedImpl):
(WebCore::InspectorInstrumentation::scriptsEnabledImpl): Deleted.
(WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClientImpl): Deleted.
(WebCore::InspectorInstrumentation::frameStartedLoadingImpl): Deleted.
(WebCore::InspectorInstrumentation::willWriteHTMLImpl): Deleted.
(WebCore::InspectorInstrumentation::startProfilingImpl): Deleted.
* inspector/InspectorLayerTreeAgent.cpp:
(WebCore::InspectorLayerTreeAgent::renderLayerDestroyed):
(WebCore::InspectorLayerTreeAgent::pseudoElementDestroyed):
* inspector/InspectorLayerTreeAgent.h:
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::frameDetached):
(WebCore::InspectorPageAgent::loaderDetachedFromFrame):
(WebCore::InspectorPageAgent::applyEmulatedMedia):
* inspector/InspectorPageAgent.h:
* inspector/InspectorReplayAgent.cpp:
(WebCore::InspectorReplayAgent::frameDetached):
* inspector/InspectorReplayAgent.h:
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::willSendRequest):
(WebCore::InspectorResourceAgent::didReceiveResponse):
(WebCore::InspectorResourceAgent::didFinishLoading):
(WebCore::InspectorResourceAgent::didFailLoading):
(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
(WebCore::InspectorResourceAgent::willDestroyCachedResource):
(WebCore::InspectorResourceAgent::didScheduleStyleRecalculation):
(WebCore::InspectorResourceAgent::mainFrameNavigated):
* inspector/InspectorResourceAgent.h: Reorder methods to match instrumentation.
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::didInvalidateLayout):
(WebCore::InspectorTimelineAgent::willLayout):
(WebCore::InspectorTimelineAgent::willPaint):
(WebCore::InspectorTimelineAgent::willScroll):
(WebCore::InspectorTimelineAgent::willEvaluateScript):
(WebCore::InspectorTimelineAgent::didEvaluateScript):
(WebCore::InspectorTimelineAgent::didTimeStamp):
(WebCore::InspectorTimelineAgent::time):
(WebCore::InspectorTimelineAgent::timeEnd):
(WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
(WebCore::InspectorTimelineAgent::didMarkLoadEvent):
* inspector/InspectorTimelineAgent.h: Reorder methods to match instrumentation.
* inspector/PageRuntimeAgent.cpp:
(WebCore::PageRuntimeAgent::didCreateMainWorldContext):
(WebCore::PageRuntimeAgent::didCreateIsolatedContext): Deleted. It has no callers.
* inspector/PageRuntimeAgent.h:
* replay/ReplayController.cpp:
(WebCore::ReplayController::frameDetached):
* replay/ReplayController.h:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorCSSAgentcpp">trunk/Source/WebCore/inspector/InspectorCSSAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorCSSAgenth">trunk/Source/WebCore/inspector/InspectorCSSAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDOMAgentcpp">trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDOMAgenth">trunk/Source/WebCore/inspector/InspectorDOMAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDOMDebuggerAgentcpp">trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDOMDebuggerAgenth">trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorInstrumentationcpp">trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorLayerTreeAgentcpp">trunk/Source/WebCore/inspector/InspectorLayerTreeAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorLayerTreeAgenth">trunk/Source/WebCore/inspector/InspectorLayerTreeAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorPageAgentcpp">trunk/Source/WebCore/inspector/InspectorPageAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorPageAgenth">trunk/Source/WebCore/inspector/InspectorPageAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorReplayAgentcpp">trunk/Source/WebCore/inspector/InspectorReplayAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorReplayAgenth">trunk/Source/WebCore/inspector/InspectorReplayAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorResourceAgentcpp">trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorResourceAgenth">trunk/Source/WebCore/inspector/InspectorResourceAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorTimelineAgentcpp">trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorTimelineAgenth">trunk/Source/WebCore/inspector/InspectorTimelineAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorPageRuntimeAgentcpp">trunk/Source/WebCore/inspector/PageRuntimeAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorPageRuntimeAgenth">trunk/Source/WebCore/inspector/PageRuntimeAgent.h</a></li>
<li><a href="#trunkSourceWebCorereplayReplayControllercpp">trunk/Source/WebCore/replay/ReplayController.cpp</a></li>
<li><a href="#trunkSourceWebCorereplayReplayControllerh">trunk/Source/WebCore/replay/ReplayController.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (177992 => 177993)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-01-06 21:38:13 UTC (rev 177992)
+++ trunk/Source/WebCore/ChangeLog        2015-01-06 21:45:08 UTC (rev 177993)
</span><span class="lines">@@ -1,3 +1,142 @@
</span><ins>+2015-01-06  Brian J. Burg  &lt;burg@cs.washington.edu&gt;
+
+        Web Inspector: pass parameters to inspector agents by reference where possible
+        https://bugs.webkit.org/show_bug.cgi?id=140002
+
+        Reviewed by Andreas Kling.
+
+        Pass parameters by-reference from inspector instrumentation entry
+        points to inspector agents. If the event doesn't make sense with null
+        arguments, perform null checks before calling agent methods.
+
+        No new tests, no behavior changed.
+
+        * inspector/InspectorCSSAgent.cpp:
+        (WebCore::InspectorCSSAgent::didCreateNamedFlow):
+        (WebCore::InspectorCSSAgent::willRemoveNamedFlow):
+        (WebCore::InspectorCSSAgent::didChangeRegionOverset):
+        (WebCore::InspectorCSSAgent::didRegisterNamedFlowContentElement):
+        (WebCore::InspectorCSSAgent::didUnregisterNamedFlowContentElement):
+        (WebCore::InspectorCSSAgent::forcePseudoState):
+        * inspector/InspectorCSSAgent.h: Reorder methods to match instrumentation.
+        * inspector/InspectorDOMAgent.cpp:
+        (WebCore::InspectorDOMAgent::handleTouchEvent):
+        (WebCore::InspectorDOMAgent::didInsertDOMNode):
+        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
+        (WebCore::InspectorDOMAgent::willModifyDOMAttr):
+        (WebCore::InspectorDOMAgent::didModifyDOMAttr):
+        (WebCore::InspectorDOMAgent::didRemoveDOMAttr):
+        (WebCore::InspectorDOMAgent::characterDataModified):
+        (WebCore::InspectorDOMAgent::didInvalidateStyleAttr):
+        (WebCore::InspectorDOMAgent::didPushShadowRoot):
+        (WebCore::InspectorDOMAgent::willPopShadowRoot):
+        * inspector/InspectorDOMAgent.h: Reorder methods to match instrumentation.
+        * inspector/InspectorDOMDebuggerAgent.cpp:
+        (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
+        (WebCore::InspectorDOMDebuggerAgent::didInsertDOMNode):
+        (WebCore::InspectorDOMDebuggerAgent::didRemoveDOMNode):
+        (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
+        (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
+        (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
+        * inspector/InspectorDOMDebuggerAgent.h:
+        * inspector/InspectorInstrumentation.cpp:
+        (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
+        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
+        (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
+        (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
+        (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
+        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
+        (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
+        (WebCore::InspectorInstrumentation::didRemoveDOMAttrImpl):
+        (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
+        (WebCore::InspectorInstrumentation::didPushShadowRootImpl):
+        (WebCore::InspectorInstrumentation::willPopShadowRootImpl):
+        (WebCore::InspectorInstrumentation::didCreateNamedFlowImpl): Add null check.
+        (WebCore::InspectorInstrumentation::willRemoveNamedFlowImpl): Add null check.
+        (WebCore::InspectorInstrumentation::didChangeRegionOversetImpl):
+        (WebCore::InspectorInstrumentation::didRegisterNamedFlowContentElementImpl):
+        (WebCore::InspectorInstrumentation::didUnregisterNamedFlowContentElementImpl):
+        (WebCore::InspectorInstrumentation::handleTouchEventImpl):
+        (WebCore::InspectorInstrumentation::forcePseudoStateImpl):
+        (WebCore::InspectorInstrumentation::characterDataModifiedImpl):
+        (WebCore::InspectorInstrumentation::willEvaluateScriptImpl):
+        (WebCore::InspectorInstrumentation::didEvaluateScriptImpl):
+        (WebCore::InspectorInstrumentation::didInvalidateLayoutImpl):
+        (WebCore::InspectorInstrumentation::willLayoutImpl):
+        (WebCore::InspectorInstrumentation::willPaintImpl):
+        (WebCore::InspectorInstrumentation::willScrollLayerImpl):
+        (WebCore::InspectorInstrumentation::didScheduleStyleRecalculationImpl):
+        (WebCore::InspectorInstrumentation::applyEmulatedMediaImpl):
+        (WebCore::InspectorInstrumentation::willSendRequestImpl): Add null check.
+        (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl): Add null checks.
+        (WebCore::InspectorInstrumentation::willReceiveResourceResponseImpl):  Add null check.
+        (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
+        (WebCore::InspectorInstrumentation::didReceiveResourceResponseButCanceledImpl): Add null check.
+        (WebCore::InspectorInstrumentation::didFinishLoadingImpl): Add null check.
+        (WebCore::InspectorInstrumentation::didFailLoadingImpl): Add null check.
+        (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
+        (WebCore::InspectorInstrumentation::loadEventFiredImpl): Add null check.
+        (WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
+        (WebCore::InspectorInstrumentation::didCommitLoadImpl): Add null checks.
+        (WebCore::InspectorInstrumentation::loaderDetachedFromFrameImpl):
+        (WebCore::InspectorInstrumentation::willDestroyCachedResourceImpl):
+        (WebCore::InspectorInstrumentation::startConsoleTimingImpl):
+        (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
+        (WebCore::InspectorInstrumentation::consoleTimeStampImpl):
+        (WebCore::InspectorInstrumentation::didCreateWebSocketImpl): Add null check.
+        (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl): Add null check.
+        (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl): Add null check.
+        (WebCore::InspectorInstrumentation::didCloseWebSocketImpl): Add null check.
+        (WebCore::InspectorInstrumentation::renderLayerDestroyedImpl):
+        (WebCore::InspectorInstrumentation::pseudoElementDestroyedImpl):
+        (WebCore::InspectorInstrumentation::scriptsEnabledImpl): Deleted.
+        (WebCore::InspectorInstrumentation::documentThreadableLoaderStartedLoadingForClientImpl): Deleted.
+        (WebCore::InspectorInstrumentation::frameStartedLoadingImpl): Deleted.
+        (WebCore::InspectorInstrumentation::willWriteHTMLImpl): Deleted.
+        (WebCore::InspectorInstrumentation::startProfilingImpl): Deleted.
+        * inspector/InspectorLayerTreeAgent.cpp:
+        (WebCore::InspectorLayerTreeAgent::renderLayerDestroyed):
+        (WebCore::InspectorLayerTreeAgent::pseudoElementDestroyed):
+        * inspector/InspectorLayerTreeAgent.h:
+        * inspector/InspectorPageAgent.cpp:
+        (WebCore::InspectorPageAgent::frameDetached):
+        (WebCore::InspectorPageAgent::loaderDetachedFromFrame):
+        (WebCore::InspectorPageAgent::applyEmulatedMedia):
+        * inspector/InspectorPageAgent.h:
+        * inspector/InspectorReplayAgent.cpp:
+        (WebCore::InspectorReplayAgent::frameDetached):
+        * inspector/InspectorReplayAgent.h:
+        * inspector/InspectorResourceAgent.cpp:
+        (WebCore::InspectorResourceAgent::willSendRequest):
+        (WebCore::InspectorResourceAgent::didReceiveResponse):
+        (WebCore::InspectorResourceAgent::didFinishLoading):
+        (WebCore::InspectorResourceAgent::didFailLoading):
+        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
+        (WebCore::InspectorResourceAgent::willDestroyCachedResource):
+        (WebCore::InspectorResourceAgent::didScheduleStyleRecalculation):
+        (WebCore::InspectorResourceAgent::mainFrameNavigated):
+        * inspector/InspectorResourceAgent.h: Reorder methods to match instrumentation.
+        * inspector/InspectorTimelineAgent.cpp:
+        (WebCore::InspectorTimelineAgent::didInvalidateLayout):
+        (WebCore::InspectorTimelineAgent::willLayout):
+        (WebCore::InspectorTimelineAgent::willPaint):
+        (WebCore::InspectorTimelineAgent::willScroll):
+        (WebCore::InspectorTimelineAgent::willEvaluateScript):
+        (WebCore::InspectorTimelineAgent::didEvaluateScript):
+        (WebCore::InspectorTimelineAgent::didTimeStamp):
+        (WebCore::InspectorTimelineAgent::time):
+        (WebCore::InspectorTimelineAgent::timeEnd):
+        (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
+        (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
+        * inspector/InspectorTimelineAgent.h: Reorder methods to match instrumentation.
+        * inspector/PageRuntimeAgent.cpp:
+        (WebCore::PageRuntimeAgent::didCreateMainWorldContext):
+        (WebCore::PageRuntimeAgent::didCreateIsolatedContext): Deleted. It has no callers.
+        * inspector/PageRuntimeAgent.h:
+        * replay/ReplayController.cpp:
+        (WebCore::ReplayController::frameDetached):
+        * replay/ReplayController.h:
+
</ins><span class="cx"> 2015-01-06  Anders Carlsson  &lt;andersca@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Remove an old workaround for an old unsupported plug-in
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorCSSAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorCSSAgent.cpp (177992 => 177993)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorCSSAgent.cpp        2015-01-06 21:38:13 UTC (rev 177992)
+++ trunk/Source/WebCore/inspector/InspectorCSSAgent.cpp        2015-01-06 21:45:08 UTC (rev 177993)
</span><span class="lines">@@ -500,37 +500,37 @@
</span><span class="cx">         m_frontendDispatcher-&gt;mediaQueryResultChanged();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorCSSAgent::didCreateNamedFlow(Document* document, WebKitNamedFlow* namedFlow)
</del><ins>+void InspectorCSSAgent::didCreateNamedFlow(Document&amp; document, WebKitNamedFlow&amp; namedFlow)
</ins><span class="cx"> {
</span><del>-    int documentNodeId = documentNodeWithRequestedFlowsId(document);
</del><ins>+    int documentNodeId = documentNodeWithRequestedFlowsId(&amp;document);
</ins><span class="cx">     if (!documentNodeId)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     ErrorString unused;
</span><del>-    m_frontendDispatcher-&gt;namedFlowCreated(buildObjectForNamedFlow(unused, namedFlow, documentNodeId));
</del><ins>+    m_frontendDispatcher-&gt;namedFlowCreated(buildObjectForNamedFlow(unused, &amp;namedFlow, documentNodeId));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorCSSAgent::willRemoveNamedFlow(Document* document, WebKitNamedFlow* namedFlow)
</del><ins>+void InspectorCSSAgent::willRemoveNamedFlow(Document&amp; document, WebKitNamedFlow&amp; namedFlow)
</ins><span class="cx"> {
</span><del>-    int documentNodeId = documentNodeWithRequestedFlowsId(document);
</del><ins>+    int documentNodeId = documentNodeWithRequestedFlowsId(&amp;document);
</ins><span class="cx">     if (!documentNodeId)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     if (m_changeRegionOversetTask)
</span><del>-        m_changeRegionOversetTask-&gt;unschedule(namedFlow);
</del><ins>+        m_changeRegionOversetTask-&gt;unschedule(&amp;namedFlow);
</ins><span class="cx"> 
</span><del>-    m_frontendDispatcher-&gt;namedFlowRemoved(documentNodeId, namedFlow-&gt;name().string());
</del><ins>+    m_frontendDispatcher-&gt;namedFlowRemoved(documentNodeId, namedFlow.name().string());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorCSSAgent::didChangeRegionOverset(Document* document, WebKitNamedFlow* namedFlow)
</del><ins>+void InspectorCSSAgent::didChangeRegionOverset(Document&amp; document, WebKitNamedFlow&amp; namedFlow)
</ins><span class="cx"> {
</span><del>-    int documentNodeId = documentNodeWithRequestedFlowsId(document);
</del><ins>+    int documentNodeId = documentNodeWithRequestedFlowsId(&amp;document);
</ins><span class="cx">     if (!documentNodeId)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     if (!m_changeRegionOversetTask)
</span><span class="cx">         m_changeRegionOversetTask = std::make_unique&lt;ChangeRegionOversetTask&gt;(this);
</span><del>-    m_changeRegionOversetTask-&gt;scheduleFor(namedFlow, documentNodeId);
</del><ins>+    m_changeRegionOversetTask-&gt;scheduleFor(&amp;namedFlow, documentNodeId);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorCSSAgent::regionOversetChanged(WebKitNamedFlow* namedFlow, int documentNodeId)
</span><span class="lines">@@ -544,39 +544,39 @@
</span><span class="cx">     m_frontendDispatcher-&gt;regionOversetChanged(buildObjectForNamedFlow(unused, namedFlow, documentNodeId));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorCSSAgent::didRegisterNamedFlowContentElement(Document* document, WebKitNamedFlow* namedFlow, Node* contentElement, Node* nextContentElement)
</del><ins>+void InspectorCSSAgent::didRegisterNamedFlowContentElement(Document&amp; document, WebKitNamedFlow&amp; namedFlow, Node&amp; contentElement, Node* nextContentElement)
</ins><span class="cx"> {
</span><del>-    int documentNodeId = documentNodeWithRequestedFlowsId(document);
</del><ins>+    int documentNodeId = documentNodeWithRequestedFlowsId(&amp;document);
</ins><span class="cx">     if (!documentNodeId)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     ErrorString unused;
</span><del>-    int contentElementNodeId = m_domAgent-&gt;pushNodeToFrontend(unused, documentNodeId, contentElement);
</del><ins>+    int contentElementNodeId = m_domAgent-&gt;pushNodeToFrontend(unused, documentNodeId, &amp;contentElement);
</ins><span class="cx">     int nextContentElementNodeId = nextContentElement ? m_domAgent-&gt;pushNodeToFrontend(unused, documentNodeId, nextContentElement) : 0;
</span><del>-    m_frontendDispatcher-&gt;registeredNamedFlowContentElement(documentNodeId, namedFlow-&gt;name().string(), contentElementNodeId, nextContentElementNodeId);
</del><ins>+    m_frontendDispatcher-&gt;registeredNamedFlowContentElement(documentNodeId, namedFlow.name().string(), contentElementNodeId, nextContentElementNodeId);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorCSSAgent::didUnregisterNamedFlowContentElement(Document* document, WebKitNamedFlow* namedFlow, Node* contentElement)
</del><ins>+void InspectorCSSAgent::didUnregisterNamedFlowContentElement(Document&amp; document, WebKitNamedFlow&amp; namedFlow, Node&amp; contentElement)
</ins><span class="cx"> {
</span><del>-    int documentNodeId = documentNodeWithRequestedFlowsId(document);
</del><ins>+    int documentNodeId = documentNodeWithRequestedFlowsId(&amp;document);
</ins><span class="cx">     if (!documentNodeId)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     ErrorString unused;
</span><del>-    int contentElementNodeId = m_domAgent-&gt;pushNodeToFrontend(unused, documentNodeId, contentElement);
</del><ins>+    int contentElementNodeId = m_domAgent-&gt;pushNodeToFrontend(unused, documentNodeId, &amp;contentElement);
</ins><span class="cx">     if (!contentElementNodeId) {
</span><span class="cx">         // We've already notified that the DOM node was removed from the DOM, so there's no need to send another event.
</span><span class="cx">         return;
</span><span class="cx">     }
</span><del>-    m_frontendDispatcher-&gt;unregisteredNamedFlowContentElement(documentNodeId, namedFlow-&gt;name().string(), contentElementNodeId);
</del><ins>+    m_frontendDispatcher-&gt;unregisteredNamedFlowContentElement(documentNodeId, namedFlow.name().string(), contentElementNodeId);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorCSSAgent::forcePseudoState(Element* element, CSSSelector::PseudoClassType pseudoClassType)
</del><ins>+bool InspectorCSSAgent::forcePseudoState(Element&amp; element, CSSSelector::PseudoClassType pseudoClassType)
</ins><span class="cx"> {
</span><span class="cx">     if (m_nodeIdToForcedPseudoState.isEmpty())
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    int nodeId = m_domAgent-&gt;boundNodeId(element);
</del><ins>+    int nodeId = m_domAgent-&gt;boundNodeId(&amp;element);
</ins><span class="cx">     if (!nodeId)
</span><span class="cx">         return false;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorCSSAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorCSSAgent.h (177992 => 177993)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorCSSAgent.h        2015-01-06 21:38:13 UTC (rev 177992)
+++ trunk/Source/WebCore/inspector/InspectorCSSAgent.h        2015-01-06 21:45:08 UTC (rev 177993)
</span><span class="lines">@@ -94,20 +94,22 @@
</span><span class="cx"> 
</span><span class="cx">     static CSSStyleRule* asCSSStyleRule(CSSRule&amp;);
</span><span class="cx"> 
</span><del>-    bool forcePseudoState(Element*, CSSSelector::PseudoClassType);
</del><span class="cx">     virtual void didCreateFrontendAndBackend(Inspector::InspectorFrontendChannel*, Inspector::InspectorBackendDispatcher*) override;
</span><span class="cx">     virtual void willDestroyFrontendAndBackend(Inspector::InspectorDisconnectReason) override;
</span><span class="cx">     virtual void discardAgent() override;
</span><span class="cx">     virtual void enable(ErrorString&amp;) override;
</span><span class="cx">     virtual void disable(ErrorString&amp;) override;
</span><ins>+    void regionOversetChanged(WebKitNamedFlow*, int documentNodeId);
</ins><span class="cx">     void reset();
</span><ins>+
+    // InspectorInstrumentation callbacks.
</ins><span class="cx">     void mediaQueryResultChanged();
</span><del>-    void didCreateNamedFlow(Document*, WebKitNamedFlow*);
-    void willRemoveNamedFlow(Document*, WebKitNamedFlow*);
-    void didChangeRegionOverset(Document*, WebKitNamedFlow*);
-    void regionOversetChanged(WebKitNamedFlow*, int documentNodeId);
-    void didRegisterNamedFlowContentElement(Document*, WebKitNamedFlow*, Node* contentElement, Node* nextContentElement = nullptr);
-    void didUnregisterNamedFlowContentElement(Document*, WebKitNamedFlow*, Node* contentElement);
</del><ins>+    void didCreateNamedFlow(Document&amp;, WebKitNamedFlow&amp;);
+    void willRemoveNamedFlow(Document&amp;, WebKitNamedFlow&amp;);
+    void didChangeRegionOverset(Document&amp;, WebKitNamedFlow&amp;);
+    void didRegisterNamedFlowContentElement(Document&amp;, WebKitNamedFlow&amp;, Node&amp; contentElement, Node* nextContentElement = nullptr);
+    void didUnregisterNamedFlowContentElement(Document&amp;, WebKitNamedFlow&amp;, Node&amp; contentElement);
+    bool forcePseudoState(Element&amp;, CSSSelector::PseudoClassType);
</ins><span class="cx"> 
</span><span class="cx">     virtual void getComputedStyleForNode(ErrorString&amp;, int nodeId, RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::CSS::CSSComputedStyleProperty&gt;&gt;&amp;) override;
</span><span class="cx">     virtual void getInlineStylesForNode(ErrorString&amp;, int nodeId, RefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt;&amp; inlineStyle, RefPtr&lt;Inspector::Protocol::CSS::CSSStyle&gt;&amp; attributes) override;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDOMAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp (177992 => 177993)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp        2015-01-06 21:38:13 UTC (rev 177992)
+++ trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp        2015-01-06 21:45:08 UTC (rev 177993)
</span><span class="lines">@@ -953,13 +953,13 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InspectorDOMAgent::handleTouchEvent(Node* node)
</del><ins>+bool InspectorDOMAgent::handleTouchEvent(Node&amp; node)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_searchingForNode)
</span><span class="cx">         return false;
</span><del>-    if (node &amp;&amp; m_inspectModeHighlightConfig) {
-        m_overlay-&gt;highlightNode(node, *m_inspectModeHighlightConfig);
-        inspect(node);
</del><ins>+    if (m_inspectModeHighlightConfig) {
+        m_overlay-&gt;highlightNode(&amp;node, *m_inspectModeHighlightConfig);
+        inspect(&amp;node);
</ins><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx">     return false;
</span><span class="lines">@@ -1760,15 +1760,15 @@
</span><span class="cx">     m_frontendDispatcher-&gt;childNodeInserted(parentId, prevId, value.release());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDOMAgent::didInsertDOMNode(Node* node)
</del><ins>+void InspectorDOMAgent::didInsertDOMNode(Node&amp; node)
</ins><span class="cx"> {
</span><del>-    if (isWhitespace(node))
</del><ins>+    if (isWhitespace(&amp;node))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     // We could be attaching existing subtree. Forget the bindings.
</span><del>-    unbind(node, &amp;m_documentNodeToIdMap);
</del><ins>+    unbind(&amp;node, &amp;m_documentNodeToIdMap);
</ins><span class="cx"> 
</span><del>-    ContainerNode* parent = node-&gt;parentNode();
</del><ins>+    ContainerNode* parent = node.parentNode();
</ins><span class="cx">     if (!parent)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="lines">@@ -1782,19 +1782,19 @@
</span><span class="cx">         m_frontendDispatcher-&gt;childNodeCountUpdated(parentId, innerChildNodeCount(parent));
</span><span class="cx">     } else {
</span><span class="cx">         // Children have been requested -&gt; return value of a new child.
</span><del>-        Node* prevSibling = innerPreviousSibling(node);
</del><ins>+        Node* prevSibling = innerPreviousSibling(&amp;node);
</ins><span class="cx">         int prevId = prevSibling ? m_documentNodeToIdMap.get(prevSibling) : 0;
</span><del>-        RefPtr&lt;Inspector::Protocol::DOM::Node&gt; value = buildObjectForNode(node, 0, &amp;m_documentNodeToIdMap);
</del><ins>+        RefPtr&lt;Inspector::Protocol::DOM::Node&gt; value = buildObjectForNode(&amp;node, 0, &amp;m_documentNodeToIdMap);
</ins><span class="cx">         m_frontendDispatcher-&gt;childNodeInserted(parentId, prevId, value.release());
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDOMAgent::didRemoveDOMNode(Node* node)
</del><ins>+void InspectorDOMAgent::didRemoveDOMNode(Node&amp; node)
</ins><span class="cx"> {
</span><del>-    if (isWhitespace(node))
</del><ins>+    if (isWhitespace(&amp;node))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    ContainerNode* parent = node-&gt;parentNode();
</del><ins>+    ContainerNode* parent = node.parentNode();
</ins><span class="cx"> 
</span><span class="cx">     // If parent is not mapped yet -&gt; ignore the event.
</span><span class="cx">     if (!m_documentNodeToIdMap.contains(parent))
</span><span class="lines">@@ -1807,42 +1807,42 @@
</span><span class="cx">         if (innerChildNodeCount(parent) == 1)
</span><span class="cx">             m_frontendDispatcher-&gt;childNodeCountUpdated(parentId, 0);
</span><span class="cx">     } else
</span><del>-        m_frontendDispatcher-&gt;childNodeRemoved(parentId, m_documentNodeToIdMap.get(node));
-    unbind(node, &amp;m_documentNodeToIdMap);
</del><ins>+        m_frontendDispatcher-&gt;childNodeRemoved(parentId, m_documentNodeToIdMap.get(&amp;node));
+    unbind(&amp;node, &amp;m_documentNodeToIdMap);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDOMAgent::willModifyDOMAttr(Element*, const AtomicString&amp; oldValue, const AtomicString&amp; newValue)
</del><ins>+void InspectorDOMAgent::willModifyDOMAttr(Element&amp;, const AtomicString&amp; oldValue, const AtomicString&amp; newValue)
</ins><span class="cx"> {
</span><span class="cx">     m_suppressAttributeModifiedEvent = (oldValue == newValue);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDOMAgent::didModifyDOMAttr(Element* element, const AtomicString&amp; name, const AtomicString&amp; value)
</del><ins>+void InspectorDOMAgent::didModifyDOMAttr(Element&amp; element, const AtomicString&amp; name, const AtomicString&amp; value)
</ins><span class="cx"> {
</span><span class="cx">     bool shouldSuppressEvent = m_suppressAttributeModifiedEvent;
</span><span class="cx">     m_suppressAttributeModifiedEvent = false;
</span><span class="cx">     if (shouldSuppressEvent)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    int id = boundNodeId(element);
</del><ins>+    int id = boundNodeId(&amp;element);
</ins><span class="cx">     // If node is not mapped yet -&gt; ignore the event.
</span><span class="cx">     if (!id)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     if (m_domListener)
</span><del>-        m_domListener-&gt;didModifyDOMAttr(element);
</del><ins>+        m_domListener-&gt;didModifyDOMAttr(&amp;element);
</ins><span class="cx"> 
</span><span class="cx">     m_frontendDispatcher-&gt;attributeModified(id, name, value);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDOMAgent::didRemoveDOMAttr(Element* element, const AtomicString&amp; name)
</del><ins>+void InspectorDOMAgent::didRemoveDOMAttr(Element&amp; element, const AtomicString&amp; name)
</ins><span class="cx"> {
</span><del>-    int id = boundNodeId(element);
</del><ins>+    int id = boundNodeId(&amp;element);
</ins><span class="cx">     // If node is not mapped yet -&gt; ignore the event.
</span><span class="cx">     if (!id)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     if (m_domListener)
</span><del>-        m_domListener-&gt;didModifyDOMAttr(element);
</del><ins>+        m_domListener-&gt;didModifyDOMAttr(&amp;element);
</ins><span class="cx"> 
</span><span class="cx">     m_frontendDispatcher-&gt;attributeRemoved(id, name);
</span><span class="cx"> }
</span><span class="lines">@@ -1864,40 +1864,40 @@
</span><span class="cx">     m_frontendDispatcher-&gt;inlineStyleInvalidated(nodeIds.release());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDOMAgent::characterDataModified(CharacterData* characterData)
</del><ins>+void InspectorDOMAgent::characterDataModified(CharacterData&amp; characterData)
</ins><span class="cx"> {
</span><del>-    int id = m_documentNodeToIdMap.get(characterData);
</del><ins>+    int id = m_documentNodeToIdMap.get(&amp;characterData);
</ins><span class="cx">     if (!id) {
</span><span class="cx">         // Push text node if it is being created.
</span><span class="cx">         didInsertDOMNode(characterData);
</span><span class="cx">         return;
</span><span class="cx">     }
</span><del>-    m_frontendDispatcher-&gt;characterDataModified(id, characterData-&gt;data());
</del><ins>+    m_frontendDispatcher-&gt;characterDataModified(id, characterData.data());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDOMAgent::didInvalidateStyleAttr(Node* node)
</del><ins>+void InspectorDOMAgent::didInvalidateStyleAttr(Node&amp; node)
</ins><span class="cx"> {
</span><del>-    int id = m_documentNodeToIdMap.get(node);
</del><ins>+    int id = m_documentNodeToIdMap.get(&amp;node);
</ins><span class="cx">     // If node is not mapped yet -&gt; ignore the event.
</span><span class="cx">     if (!id)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     if (!m_revalidateStyleAttrTask)
</span><span class="cx">         m_revalidateStyleAttrTask = std::make_unique&lt;RevalidateStyleAttributeTask&gt;(this);
</span><del>-    m_revalidateStyleAttrTask-&gt;scheduleFor(downcast&lt;Element&gt;(node));
</del><ins>+    m_revalidateStyleAttrTask-&gt;scheduleFor(downcast&lt;Element&gt;(&amp;node));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDOMAgent::didPushShadowRoot(Element* host, ShadowRoot* root)
</del><ins>+void InspectorDOMAgent::didPushShadowRoot(Element&amp; host, ShadowRoot&amp; root)
</ins><span class="cx"> {
</span><del>-    int hostId = m_documentNodeToIdMap.get(host);
</del><ins>+    int hostId = m_documentNodeToIdMap.get(&amp;host);
</ins><span class="cx">     if (hostId)
</span><del>-        m_frontendDispatcher-&gt;shadowRootPushed(hostId, buildObjectForNode(root, 0, &amp;m_documentNodeToIdMap));
</del><ins>+        m_frontendDispatcher-&gt;shadowRootPushed(hostId, buildObjectForNode(&amp;root, 0, &amp;m_documentNodeToIdMap));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDOMAgent::willPopShadowRoot(Element* host, ShadowRoot* root)
</del><ins>+void InspectorDOMAgent::willPopShadowRoot(Element&amp; host, ShadowRoot&amp; root)
</ins><span class="cx"> {
</span><del>-    int hostId = m_documentNodeToIdMap.get(host);
-    int rootId = m_documentNodeToIdMap.get(root);
</del><ins>+    int hostId = m_documentNodeToIdMap.get(&amp;host);
+    int rootId = m_documentNodeToIdMap.get(&amp;root);
</ins><span class="cx">     if (hostId &amp;&amp; rootId)
</span><span class="cx">         m_frontendDispatcher-&gt;shadowRootPopped(hostId, rootId);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDOMAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDOMAgent.h (177992 => 177993)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDOMAgent.h        2015-01-06 21:38:13 UTC (rev 177992)
+++ trunk/Source/WebCore/inspector/InspectorDOMAgent.h        2015-01-06 21:45:08 UTC (rev 177993)
</span><span class="lines">@@ -156,24 +156,27 @@
</span><span class="cx"> 
</span><span class="cx">     void getEventListeners(Node*, Vector&lt;EventListenerInfo&gt;&amp; listenersArray, bool includeAncestors);
</span><span class="cx"> 
</span><del>-    // Methods called from the InspectorInstrumentation.
</del><ins>+
+    // InspectorInstrumentation callbacks.
+    void didInsertDOMNode(Node&amp;);
+    void didRemoveDOMNode(Node&amp;);
+    void willModifyDOMAttr(Element&amp;, const AtomicString&amp; oldValue, const AtomicString&amp; newValue);
+    void didModifyDOMAttr(Element&amp;, const AtomicString&amp; name, const AtomicString&amp; value);
+    void didRemoveDOMAttr(Element&amp;, const AtomicString&amp; name);
+    void characterDataModified(CharacterData&amp;);
+    void didInvalidateStyleAttr(Node&amp;);
+    void didPushShadowRoot(Element&amp; host, ShadowRoot&amp;);
+    void willPopShadowRoot(Element&amp; host, ShadowRoot&amp;);
+    bool handleTouchEvent(Node&amp;);
+    void didCommitLoad(Document*);
+    void frameDocumentUpdated(Frame*);
+
+    // Callbacks that don't directly correspond to an instrumentation entry point.
</ins><span class="cx">     void setDocument(Document*);
</span><span class="cx">     void releaseDanglingNodes();
</span><del>-
</del><span class="cx">     void mainFrameDOMContentLoaded();
</span><del>-    void didCommitLoad(Document*);
</del><span class="cx"> 
</span><del>-    void didInsertDOMNode(Node*);
-    void didRemoveDOMNode(Node*);
-    void willModifyDOMAttr(Element*, const AtomicString&amp; oldValue, const AtomicString&amp; newValue);
-    void didModifyDOMAttr(Element*, const AtomicString&amp; name, const AtomicString&amp; value);
-    void didRemoveDOMAttr(Element*, const AtomicString&amp; name);
</del><span class="cx">     void styleAttributeInvalidated(const Vector&lt;Element*&gt;&amp; elements);
</span><del>-    void characterDataModified(CharacterData*);
-    void didInvalidateStyleAttr(Node*);
-    void didPushShadowRoot(Element* host, ShadowRoot*);
-    void willPopShadowRoot(Element* host, ShadowRoot*);
-    void frameDocumentUpdated(Frame*);
</del><span class="cx"> 
</span><span class="cx">     int pushNodeToFrontend(ErrorString&amp;, int documentNodeId, Node*);
</span><span class="cx">     Node* nodeForId(int nodeId);
</span><span class="lines">@@ -185,7 +188,6 @@
</span><span class="cx"> 
</span><span class="cx">     PassRefPtr&lt;Inspector::Protocol::Runtime::RemoteObject&gt; resolveNode(Node*, const String&amp; objectGroup);
</span><span class="cx">     bool handleMousePress();
</span><del>-    bool handleTouchEvent(Node*);
</del><span class="cx">     void mouseDidMoveOverElement(const HitTestResult&amp;, unsigned modifierFlags);
</span><span class="cx">     void inspect(Node*);
</span><span class="cx">     void focusNode();
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDOMDebuggerAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.cpp (177992 => 177993)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.cpp        2015-01-06 21:38:13 UTC (rev 177992)
+++ trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.cpp        2015-01-06 21:45:08 UTC (rev 177993)
</span><span class="lines">@@ -167,31 +167,31 @@
</span><span class="cx">     m_eventListenerBreakpoints.remove(eventName);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDOMDebuggerAgent::didInvalidateStyleAttr(Node* node)
</del><ins>+void InspectorDOMDebuggerAgent::didInvalidateStyleAttr(Node&amp; node)
</ins><span class="cx"> {
</span><del>-    if (hasBreakpoint(node, AttributeModified)) {
</del><ins>+    if (hasBreakpoint(&amp;node, AttributeModified)) {
</ins><span class="cx">         RefPtr&lt;InspectorObject&gt; eventData = InspectorObject::create();
</span><del>-        descriptionForDOMEvent(node, AttributeModified, false, eventData.get());
</del><ins>+        descriptionForDOMEvent(&amp;node, AttributeModified, false, eventData.get());
</ins><span class="cx">         m_debuggerAgent-&gt;breakProgram(InspectorDebuggerFrontendDispatcher::Reason::DOM, eventData.release());
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDOMDebuggerAgent::didInsertDOMNode(Node* node)
</del><ins>+void InspectorDOMDebuggerAgent::didInsertDOMNode(Node&amp; node)
</ins><span class="cx"> {
</span><span class="cx">     if (m_domBreakpoints.size()) {
</span><del>-        uint32_t mask = m_domBreakpoints.get(InspectorDOMAgent::innerParentNode(node));
</del><ins>+        uint32_t mask = m_domBreakpoints.get(InspectorDOMAgent::innerParentNode(&amp;node));
</ins><span class="cx">         uint32_t inheritableTypesMask = (mask | (mask &gt;&gt; domBreakpointDerivedTypeShift)) &amp; inheritableDOMBreakpointTypesMask;
</span><span class="cx">         if (inheritableTypesMask)
</span><del>-            updateSubtreeBreakpoints(node, inheritableTypesMask, true);
</del><ins>+            updateSubtreeBreakpoints(&amp;node, inheritableTypesMask, true);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDOMDebuggerAgent::didRemoveDOMNode(Node* node)
</del><ins>+void InspectorDOMDebuggerAgent::didRemoveDOMNode(Node&amp; node)
</ins><span class="cx"> {
</span><span class="cx">     if (m_domBreakpoints.size()) {
</span><span class="cx">         // Remove subtree breakpoints.
</span><del>-        m_domBreakpoints.remove(node);
-        Vector&lt;Node*&gt; stack(1, InspectorDOMAgent::innerFirstChild(node));
</del><ins>+        m_domBreakpoints.remove(&amp;node);
+        Vector&lt;Node*&gt; stack(1, InspectorDOMAgent::innerFirstChild(&amp;node));
</ins><span class="cx">         do {
</span><span class="cx">             Node* node = stack.last();
</span><span class="cx">             stack.removeLast();
</span><span class="lines">@@ -267,34 +267,34 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDOMDebuggerAgent::willInsertDOMNode(Node* parent)
</del><ins>+void InspectorDOMDebuggerAgent::willInsertDOMNode(Node&amp; parent)
</ins><span class="cx"> {
</span><del>-    if (hasBreakpoint(parent, SubtreeModified)) {
</del><ins>+    if (hasBreakpoint(&amp;parent, SubtreeModified)) {
</ins><span class="cx">         RefPtr&lt;InspectorObject&gt; eventData = InspectorObject::create();
</span><del>-        descriptionForDOMEvent(parent, SubtreeModified, true, eventData.get());
</del><ins>+        descriptionForDOMEvent(&amp;parent, SubtreeModified, true, eventData.get());
</ins><span class="cx">         m_debuggerAgent-&gt;breakProgram(InspectorDebuggerFrontendDispatcher::Reason::DOM, eventData.release());
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDOMDebuggerAgent::willRemoveDOMNode(Node* node)
</del><ins>+void InspectorDOMDebuggerAgent::willRemoveDOMNode(Node&amp; node)
</ins><span class="cx"> {
</span><del>-    Node* parentNode = InspectorDOMAgent::innerParentNode(node);
-    if (hasBreakpoint(node, NodeRemoved)) {
</del><ins>+    Node* parentNode = InspectorDOMAgent::innerParentNode(&amp;node);
+    if (hasBreakpoint(&amp;node, NodeRemoved)) {
</ins><span class="cx">         RefPtr&lt;InspectorObject&gt; eventData = InspectorObject::create();
</span><del>-        descriptionForDOMEvent(node, NodeRemoved, false, eventData.get());
</del><ins>+        descriptionForDOMEvent(&amp;node, NodeRemoved, false, eventData.get());
</ins><span class="cx">         m_debuggerAgent-&gt;breakProgram(InspectorDebuggerFrontendDispatcher::Reason::DOM, eventData.release());
</span><span class="cx">     } else if (parentNode &amp;&amp; hasBreakpoint(parentNode, SubtreeModified)) {
</span><span class="cx">         RefPtr&lt;InspectorObject&gt; eventData = InspectorObject::create();
</span><del>-        descriptionForDOMEvent(node, SubtreeModified, false, eventData.get());
</del><ins>+        descriptionForDOMEvent(&amp;node, SubtreeModified, false, eventData.get());
</ins><span class="cx">         m_debuggerAgent-&gt;breakProgram(InspectorDebuggerFrontendDispatcher::Reason::DOM, eventData.release());
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorDOMDebuggerAgent::willModifyDOMAttr(Element* element)
</del><ins>+void InspectorDOMDebuggerAgent::willModifyDOMAttr(Element&amp; element)
</ins><span class="cx"> {
</span><del>-    if (hasBreakpoint(element, AttributeModified)) {
</del><ins>+    if (hasBreakpoint(&amp;element, AttributeModified)) {
</ins><span class="cx">         RefPtr&lt;InspectorObject&gt; eventData = InspectorObject::create();
</span><del>-        descriptionForDOMEvent(element, AttributeModified, false, eventData.get());
</del><ins>+        descriptionForDOMEvent(&amp;element, AttributeModified, false, eventData.get());
</ins><span class="cx">         m_debuggerAgent-&gt;breakProgram(InspectorDebuggerFrontendDispatcher::Reason::DOM, eventData.release());
</span><span class="cx">     }
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDOMDebuggerAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.h (177992 => 177993)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.h        2015-01-06 21:38:13 UTC (rev 177992)
+++ trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.h        2015-01-06 21:45:08 UTC (rev 177993)
</span><span class="lines">@@ -70,13 +70,13 @@
</span><span class="cx">     virtual void setDOMBreakpoint(ErrorString&amp;, int nodeId, const String&amp; type) override;
</span><span class="cx">     virtual void removeDOMBreakpoint(ErrorString&amp;, int nodeId, const String&amp; type) override;
</span><span class="cx"> 
</span><del>-    // InspectorInstrumentation API
-    void willInsertDOMNode(Node* parent);
-    void didInvalidateStyleAttr(Node*);
-    void didInsertDOMNode(Node*);
-    void willRemoveDOMNode(Node*);
-    void didRemoveDOMNode(Node*);
-    void willModifyDOMAttr(Element*);
</del><ins>+    // InspectorInstrumentation callbacks.
+    void willInsertDOMNode(Node&amp; parent);
+    void didInvalidateStyleAttr(Node&amp;);
+    void didInsertDOMNode(Node&amp;);
+    void willRemoveDOMNode(Node&amp;);
+    void didRemoveDOMNode(Node&amp;);
+    void willModifyDOMAttr(Element&amp;);
</ins><span class="cx">     void willSendXMLHttpRequest(const String&amp; url);
</span><span class="cx">     void pauseOnNativeEventIfNeeded(bool isDOMEvent, const String&amp; eventName, bool synchronous);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorInstrumentationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp (177992 => 177993)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp        2015-01-06 21:38:13 UTC (rev 177992)
+++ trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp        2015-01-06 21:45:08 UTC (rev 177993)
</span><span class="lines">@@ -118,7 +118,7 @@
</span><span class="cx">     }
</span><span class="cx">     if (PageRuntimeAgent* pageRuntimeAgent = instrumentingAgents.pageRuntimeAgent()) {
</span><span class="cx">         if (&amp;world == &amp;mainThreadNormalWorld())
</span><del>-            pageRuntimeAgent-&gt;didCreateMainWorldContext(&amp;frame);
</del><ins>+            pageRuntimeAgent-&gt;didCreateMainWorldContext(frame);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -132,57 +132,57 @@
</span><span class="cx"> void InspectorInstrumentation::willInsertDOMNodeImpl(InstrumentingAgents&amp; instrumentingAgents, Node&amp; parent)
</span><span class="cx"> {
</span><span class="cx">     if (InspectorDOMDebuggerAgent* domDebuggerAgent = instrumentingAgents.inspectorDOMDebuggerAgent())
</span><del>-        domDebuggerAgent-&gt;willInsertDOMNode(&amp;parent);
</del><ins>+        domDebuggerAgent-&gt;willInsertDOMNode(parent);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::didInsertDOMNodeImpl(InstrumentingAgents&amp; instrumentingAgents, Node&amp; node)
</span><span class="cx"> {
</span><span class="cx">     if (InspectorDOMAgent* domAgent = instrumentingAgents.inspectorDOMAgent())
</span><del>-        domAgent-&gt;didInsertDOMNode(&amp;node);
</del><ins>+        domAgent-&gt;didInsertDOMNode(node);
</ins><span class="cx">     if (InspectorDOMDebuggerAgent* domDebuggerAgent = instrumentingAgents.inspectorDOMDebuggerAgent())
</span><del>-        domDebuggerAgent-&gt;didInsertDOMNode(&amp;node);
</del><ins>+        domDebuggerAgent-&gt;didInsertDOMNode(node);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::willRemoveDOMNodeImpl(InstrumentingAgents&amp; instrumentingAgents, Node&amp; node)
</span><span class="cx"> {
</span><span class="cx">     if (InspectorDOMDebuggerAgent* domDebuggerAgent = instrumentingAgents.inspectorDOMDebuggerAgent())
</span><del>-        domDebuggerAgent-&gt;willRemoveDOMNode(&amp;node);
</del><ins>+        domDebuggerAgent-&gt;willRemoveDOMNode(node);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::didRemoveDOMNodeImpl(InstrumentingAgents&amp; instrumentingAgents, Node&amp; node)
</span><span class="cx"> {
</span><span class="cx">     if (InspectorDOMDebuggerAgent* domDebuggerAgent = instrumentingAgents.inspectorDOMDebuggerAgent())
</span><del>-        domDebuggerAgent-&gt;didRemoveDOMNode(&amp;node);
</del><ins>+        domDebuggerAgent-&gt;didRemoveDOMNode(node);
</ins><span class="cx">     if (InspectorDOMAgent* domAgent = instrumentingAgents.inspectorDOMAgent())
</span><del>-        domAgent-&gt;didRemoveDOMNode(&amp;node);
</del><ins>+        domAgent-&gt;didRemoveDOMNode(node);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::willModifyDOMAttrImpl(InstrumentingAgents&amp; instrumentingAgents, Element&amp; element, const AtomicString&amp; oldValue, const AtomicString&amp; newValue)
</span><span class="cx"> {
</span><span class="cx">     if (InspectorDOMDebuggerAgent* domDebuggerAgent = instrumentingAgents.inspectorDOMDebuggerAgent())
</span><del>-        domDebuggerAgent-&gt;willModifyDOMAttr(&amp;element);
</del><ins>+        domDebuggerAgent-&gt;willModifyDOMAttr(element);
</ins><span class="cx">     if (InspectorDOMAgent* domAgent = instrumentingAgents.inspectorDOMAgent())
</span><del>-        domAgent-&gt;willModifyDOMAttr(&amp;element, oldValue, newValue);
</del><ins>+        domAgent-&gt;willModifyDOMAttr(element, oldValue, newValue);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::didModifyDOMAttrImpl(InstrumentingAgents&amp; instrumentingAgents, Element&amp; element, const AtomicString&amp; name, const AtomicString&amp; value)
</span><span class="cx"> {
</span><span class="cx">     if (InspectorDOMAgent* domAgent = instrumentingAgents.inspectorDOMAgent())
</span><del>-        domAgent-&gt;didModifyDOMAttr(&amp;element, name, value);
</del><ins>+        domAgent-&gt;didModifyDOMAttr(element, name, value);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::didRemoveDOMAttrImpl(InstrumentingAgents&amp; instrumentingAgents, Element&amp; element, const AtomicString&amp; name)
</span><span class="cx"> {
</span><span class="cx">     if (InspectorDOMAgent* domAgent = instrumentingAgents.inspectorDOMAgent())
</span><del>-        domAgent-&gt;didRemoveDOMAttr(&amp;element, name);
</del><ins>+        domAgent-&gt;didRemoveDOMAttr(element, name);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::didInvalidateStyleAttrImpl(InstrumentingAgents&amp; instrumentingAgents, Node&amp; node)
</span><span class="cx"> {
</span><span class="cx">     if (InspectorDOMAgent* domAgent = instrumentingAgents.inspectorDOMAgent())
</span><del>-        domAgent-&gt;didInvalidateStyleAttr(&amp;node);
</del><ins>+        domAgent-&gt;didInvalidateStyleAttr(node);
</ins><span class="cx">     if (InspectorDOMDebuggerAgent* domDebuggerAgent = instrumentingAgents.inspectorDOMDebuggerAgent())
</span><del>-        domDebuggerAgent-&gt;didInvalidateStyleAttr(&amp;node);
</del><ins>+        domDebuggerAgent-&gt;didInvalidateStyleAttr(node);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::frameWindowDiscardedImpl(InstrumentingAgents&amp; instrumentingAgents, DOMWindow* window)
</span><span class="lines">@@ -200,43 +200,49 @@
</span><span class="cx"> void InspectorInstrumentation::didPushShadowRootImpl(InstrumentingAgents&amp; instrumentingAgents, Element&amp; host, ShadowRoot&amp; root)
</span><span class="cx"> {
</span><span class="cx">     if (InspectorDOMAgent* domAgent = instrumentingAgents.inspectorDOMAgent())
</span><del>-        domAgent-&gt;didPushShadowRoot(&amp;host, &amp;root);
</del><ins>+        domAgent-&gt;didPushShadowRoot(host, root);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::willPopShadowRootImpl(InstrumentingAgents&amp; instrumentingAgents, Element&amp; host, ShadowRoot&amp; root)
</span><span class="cx"> {
</span><span class="cx">     if (InspectorDOMAgent* domAgent = instrumentingAgents.inspectorDOMAgent())
</span><del>-        domAgent-&gt;willPopShadowRoot(&amp;host, &amp;root);
</del><ins>+        domAgent-&gt;willPopShadowRoot(host, root);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::didCreateNamedFlowImpl(InstrumentingAgents&amp; instrumentingAgents, Document* document, WebKitNamedFlow&amp; namedFlow)
</span><span class="cx"> {
</span><ins>+    if (!document)
+        return;
+
</ins><span class="cx">     if (InspectorCSSAgent* cssAgent = instrumentingAgents.inspectorCSSAgent())
</span><del>-        cssAgent-&gt;didCreateNamedFlow(document, &amp;namedFlow);
</del><ins>+        cssAgent-&gt;didCreateNamedFlow(*document, namedFlow);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::willRemoveNamedFlowImpl(InstrumentingAgents&amp; instrumentingAgents, Document* document, WebKitNamedFlow&amp; namedFlow)
</span><span class="cx"> {
</span><ins>+    if (!document)
+        return;
+
</ins><span class="cx">     if (InspectorCSSAgent* cssAgent = instrumentingAgents.inspectorCSSAgent())
</span><del>-        cssAgent-&gt;willRemoveNamedFlow(document, &amp;namedFlow);
</del><ins>+        cssAgent-&gt;willRemoveNamedFlow(*document, namedFlow);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::didChangeRegionOversetImpl(InstrumentingAgents&amp; instrumentingAgents, Document&amp; document, WebKitNamedFlow&amp; namedFlow)
</span><span class="cx"> {
</span><span class="cx">     if (InspectorCSSAgent* cssAgent = instrumentingAgents.inspectorCSSAgent())
</span><del>-        cssAgent-&gt;didChangeRegionOverset(&amp;document, &amp;namedFlow);
</del><ins>+        cssAgent-&gt;didChangeRegionOverset(document, namedFlow);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::didRegisterNamedFlowContentElementImpl(InstrumentingAgents&amp; instrumentingAgents, Document&amp; document, WebKitNamedFlow&amp; namedFlow, Node&amp; contentElement, Node* nextContentElement)
</span><span class="cx"> {
</span><span class="cx">     if (InspectorCSSAgent* cssAgent = instrumentingAgents.inspectorCSSAgent())
</span><del>-        cssAgent-&gt;didRegisterNamedFlowContentElement(&amp;document, &amp;namedFlow, &amp;contentElement, nextContentElement);
</del><ins>+        cssAgent-&gt;didRegisterNamedFlowContentElement(document, namedFlow, contentElement, nextContentElement);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::didUnregisterNamedFlowContentElementImpl(InstrumentingAgents&amp; instrumentingAgents, Document&amp; document, WebKitNamedFlow&amp; namedFlow, Node&amp; contentElement)
</span><span class="cx"> {
</span><span class="cx">     if (InspectorCSSAgent* cssAgent = instrumentingAgents.inspectorCSSAgent())
</span><del>-        cssAgent-&gt;didUnregisterNamedFlowContentElement(&amp;document, &amp;namedFlow, &amp;contentElement);
</del><ins>+        cssAgent-&gt;didUnregisterNamedFlowContentElement(document, namedFlow, contentElement);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::mouseDidMoveOverElementImpl(InstrumentingAgents&amp; instrumentingAgents, const HitTestResult&amp; result, unsigned modifierFlags)
</span><span class="lines">@@ -254,7 +260,7 @@
</span><span class="cx"> bool InspectorInstrumentation::handleTouchEventImpl(InstrumentingAgents&amp; instrumentingAgents, Node&amp; node)
</span><span class="cx"> {
</span><span class="cx">     if (InspectorDOMAgent* domAgent = instrumentingAgents.inspectorDOMAgent())
</span><del>-        return domAgent-&gt;handleTouchEvent(&amp;node);
</del><ins>+        return domAgent-&gt;handleTouchEvent(node);
</ins><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -268,14 +274,14 @@
</span><span class="cx"> bool InspectorInstrumentation::forcePseudoStateImpl(InstrumentingAgents&amp; instrumentingAgents, Element&amp; element, CSSSelector::PseudoClassType pseudoState)
</span><span class="cx"> {
</span><span class="cx">     if (InspectorCSSAgent* cssAgent = instrumentingAgents.inspectorCSSAgent())
</span><del>-        return cssAgent-&gt;forcePseudoState(&amp;element, pseudoState);
</del><ins>+        return cssAgent-&gt;forcePseudoState(element, pseudoState);
</ins><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::characterDataModifiedImpl(InstrumentingAgents&amp; instrumentingAgents, CharacterData&amp; characterData)
</span><span class="cx"> {
</span><span class="cx">     if (InspectorDOMAgent* domAgent = instrumentingAgents.inspectorDOMAgent())
</span><del>-        domAgent-&gt;characterDataModified(&amp;characterData);
</del><ins>+        domAgent-&gt;characterDataModified(characterData);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::willSendXMLHttpRequestImpl(InstrumentingAgents&amp; instrumentingAgents, const String&amp; url)
</span><span class="lines">@@ -395,7 +401,7 @@
</span><span class="cx"> {
</span><span class="cx">     int timelineAgentId = 0;
</span><span class="cx">     if (InspectorTimelineAgent* timelineAgent = instrumentingAgents.inspectorTimelineAgent()) {
</span><del>-        timelineAgent-&gt;willEvaluateScript(url, lineNumber, &amp;frame);
</del><ins>+        timelineAgent-&gt;willEvaluateScript(url, lineNumber, frame);
</ins><span class="cx">         timelineAgentId = timelineAgent-&gt;id();
</span><span class="cx">     }
</span><span class="cx">     return InspectorInstrumentationCookie(instrumentingAgents, timelineAgentId);
</span><span class="lines">@@ -404,7 +410,7 @@
</span><span class="cx"> void InspectorInstrumentation::didEvaluateScriptImpl(const InspectorInstrumentationCookie&amp; cookie, Frame&amp; frame)
</span><span class="cx"> {
</span><span class="cx">     if (InspectorTimelineAgent* timelineAgent = retrieveTimelineAgent(cookie))
</span><del>-        timelineAgent-&gt;didEvaluateScript(&amp;frame);
</del><ins>+        timelineAgent-&gt;didEvaluateScript(frame);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::scriptsEnabledImpl(InstrumentingAgents&amp; instrumentingAgents, bool isEnabled)
</span><span class="lines">@@ -437,14 +443,14 @@
</span><span class="cx"> void InspectorInstrumentation::didInvalidateLayoutImpl(InstrumentingAgents&amp; instrumentingAgents, Frame&amp; frame)
</span><span class="cx"> {
</span><span class="cx">     if (InspectorTimelineAgent* timelineAgent = instrumentingAgents.inspectorTimelineAgent())
</span><del>-        timelineAgent-&gt;didInvalidateLayout(&amp;frame);
</del><ins>+        timelineAgent-&gt;didInvalidateLayout(frame);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> InspectorInstrumentationCookie InspectorInstrumentation::willLayoutImpl(InstrumentingAgents&amp; instrumentingAgents, Frame&amp; frame)
</span><span class="cx"> {
</span><span class="cx">     int timelineAgentId = 0;
</span><span class="cx">     if (InspectorTimelineAgent* timelineAgent = instrumentingAgents.inspectorTimelineAgent()) {
</span><del>-        timelineAgent-&gt;willLayout(&amp;frame);
</del><ins>+        timelineAgent-&gt;willLayout(frame);
</ins><span class="cx">         timelineAgentId = timelineAgent-&gt;id();
</span><span class="cx">     }
</span><span class="cx">     return InspectorInstrumentationCookie(instrumentingAgents, timelineAgentId);
</span><span class="lines">@@ -479,7 +485,7 @@
</span><span class="cx"> void InspectorInstrumentation::willPaintImpl(InstrumentingAgents&amp; instrumentingAgents, RenderObject* renderer)
</span><span class="cx"> {
</span><span class="cx">     if (InspectorTimelineAgent* timelineAgent = instrumentingAgents.inspectorTimelineAgent())
</span><del>-        timelineAgent-&gt;willPaint(&amp;renderer-&gt;frame());
</del><ins>+        timelineAgent-&gt;willPaint(renderer-&gt;frame());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::didPaintImpl(InstrumentingAgents&amp; instrumentingAgents, RenderObject* renderer, const LayoutRect&amp; rect)
</span><span class="lines">@@ -494,7 +500,7 @@
</span><span class="cx"> void InspectorInstrumentation::willScrollLayerImpl(InstrumentingAgents&amp; instrumentingAgents, Frame&amp; frame)
</span><span class="cx"> {
</span><span class="cx">     if (InspectorTimelineAgent* timelineAgent = instrumentingAgents.inspectorTimelineAgent())
</span><del>-        timelineAgent-&gt;willScroll(&amp;frame);
</del><ins>+        timelineAgent-&gt;willScroll(frame);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::didScrollLayerImpl(InstrumentingAgents&amp; instrumentingAgents)
</span><span class="lines">@@ -535,21 +541,24 @@
</span><span class="cx">     if (InspectorTimelineAgent* timelineAgent = instrumentingAgents.inspectorTimelineAgent())
</span><span class="cx">         timelineAgent-&gt;didScheduleStyleRecalculation(document.frame());
</span><span class="cx">     if (InspectorResourceAgent* resourceAgent = instrumentingAgents.inspectorResourceAgent())
</span><del>-        resourceAgent-&gt;didScheduleStyleRecalculation(&amp;document);
</del><ins>+        resourceAgent-&gt;didScheduleStyleRecalculation(document);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::applyEmulatedMediaImpl(InstrumentingAgents&amp; instrumentingAgents, String&amp; media)
</span><span class="cx"> {
</span><span class="cx">     if (InspectorPageAgent* pageAgent = instrumentingAgents.inspectorPageAgent())
</span><del>-        pageAgent-&gt;applyEmulatedMedia(&amp;media);
</del><ins>+        pageAgent-&gt;applyEmulatedMedia(media);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::willSendRequestImpl(InstrumentingAgents&amp; instrumentingAgents, unsigned long identifier, DocumentLoader* loader, ResourceRequest&amp; request, const ResourceResponse&amp; redirectResponse)
</span><span class="cx"> {
</span><ins>+    if (!loader)
+        return;
+
</ins><span class="cx">     if (InspectorTimelineAgent* timelineAgent = instrumentingAgents.inspectorTimelineAgent())
</span><span class="cx">         timelineAgent-&gt;willSendResourceRequest(identifier, request, loader-&gt;frame());
</span><span class="cx">     if (InspectorResourceAgent* resourceAgent = instrumentingAgents.inspectorResourceAgent())
</span><del>-        resourceAgent-&gt;willSendRequest(identifier, loader, request, redirectResponse);
</del><ins>+        resourceAgent-&gt;willSendRequest(identifier, *loader, request, redirectResponse);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::continueAfterPingLoaderImpl(InstrumentingAgents&amp; instrumentingAgents, unsigned long identifier, DocumentLoader* loader, ResourceRequest&amp; request, const ResourceResponse&amp; response)
</span><span class="lines">@@ -567,8 +576,12 @@
</span><span class="cx"> {
</span><span class="cx">     if (!instrumentingAgents.inspectorEnvironment().developerExtrasEnabled())
</span><span class="cx">         return;
</span><ins>+    
+    if (!loader || !cachedResource)
+        return;
+
</ins><span class="cx">     if (InspectorResourceAgent* resourceAgent = instrumentingAgents.inspectorResourceAgent())
</span><del>-        resourceAgent-&gt;didLoadResourceFromMemoryCache(loader, cachedResource);
</del><ins>+        resourceAgent-&gt;didLoadResourceFromMemoryCache(*loader, *cachedResource);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> InspectorInstrumentationCookie InspectorInstrumentation::willReceiveResourceDataImpl(InstrumentingAgents&amp; instrumentingAgents, Frame* frame, unsigned long identifier, int length)
</span><span class="lines">@@ -591,7 +604,7 @@
</span><span class="cx"> {
</span><span class="cx">     int timelineAgentId = 0;
</span><span class="cx">     InspectorTimelineAgent* timelineAgent = instrumentingAgents.inspectorTimelineAgent();
</span><del>-    if (timelineAgent) {
</del><ins>+    if (timelineAgent &amp;&amp; frame) {
</ins><span class="cx">         timelineAgent-&gt;willReceiveResourceResponse(identifier, response, frame);
</span><span class="cx">         timelineAgentId = timelineAgent-&gt;id();
</span><span class="cx">     }
</span><span class="lines">@@ -611,13 +624,16 @@
</span><span class="cx">     if (InspectorTimelineAgent* timelineAgent = retrieveTimelineAgent(cookie))
</span><span class="cx">         timelineAgent-&gt;didReceiveResourceResponse();
</span><span class="cx">     if (InspectorResourceAgent* resourceAgent = instrumentingAgents.inspectorResourceAgent())
</span><del>-        resourceAgent-&gt;didReceiveResponse(identifier, loader, response, resourceLoader);
</del><ins>+        resourceAgent-&gt;didReceiveResponse(identifier, *loader, response, resourceLoader);
</ins><span class="cx">     if (WebConsoleAgent* consoleAgent = instrumentingAgents.webConsoleAgent())
</span><span class="cx">         consoleAgent-&gt;didReceiveResponse(identifier, response); // This should come AFTER resource notification, front-end relies on this.
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::didReceiveResourceResponseButCanceledImpl(Frame* frame, DocumentLoader&amp; loader, unsigned long identifier, const ResourceResponse&amp; r)
</span><span class="cx"> {
</span><ins>+    if (!frame)
+        return;
+
</ins><span class="cx">     InspectorInstrumentationCookie cookie = InspectorInstrumentation::willReceiveResourceResponse(frame, identifier, r);
</span><span class="cx">     InspectorInstrumentation::didReceiveResourceResponse(cookie, identifier, &amp;loader, r, nullptr);
</span><span class="cx"> }
</span><span class="lines">@@ -645,18 +661,24 @@
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::didFinishLoadingImpl(InstrumentingAgents&amp; instrumentingAgents, unsigned long identifier, DocumentLoader* loader, double finishTime)
</span><span class="cx"> {
</span><ins>+    if (!loader)
+        return;
+
</ins><span class="cx">     if (InspectorTimelineAgent* timelineAgent = instrumentingAgents.inspectorTimelineAgent())
</span><span class="cx">         timelineAgent-&gt;didFinishLoadingResource(identifier, false, finishTime, loader-&gt;frame());
</span><span class="cx">     if (InspectorResourceAgent* resourceAgent = instrumentingAgents.inspectorResourceAgent())
</span><del>-        resourceAgent-&gt;didFinishLoading(identifier, loader, finishTime);
</del><ins>+        resourceAgent-&gt;didFinishLoading(identifier, *loader, finishTime);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::didFailLoadingImpl(InstrumentingAgents&amp; instrumentingAgents, unsigned long identifier, DocumentLoader* loader, const ResourceError&amp; error)
</span><span class="cx"> {
</span><ins>+    if (!loader)
+        return;
+
</ins><span class="cx">     if (InspectorTimelineAgent* timelineAgent = instrumentingAgents.inspectorTimelineAgent())
</span><span class="cx">         timelineAgent-&gt;didFinishLoadingResource(identifier, true, 0, loader-&gt;frame());
</span><span class="cx">     if (InspectorResourceAgent* resourceAgent = instrumentingAgents.inspectorResourceAgent())
</span><del>-        resourceAgent-&gt;didFailLoading(identifier, loader, error);
</del><ins>+        resourceAgent-&gt;didFailLoading(identifier, *loader, error);
</ins><span class="cx">     if (WebConsoleAgent* consoleAgent = instrumentingAgents.webConsoleAgent())
</span><span class="cx">         consoleAgent-&gt;didFailLoading(identifier, error); // This should come AFTER resource notification, front-end relies on this.
</span><span class="cx"> }
</span><span class="lines">@@ -726,7 +748,7 @@
</span><span class="cx"> void InspectorInstrumentation::domContentLoadedEventFiredImpl(InstrumentingAgents&amp; instrumentingAgents, Frame&amp; frame)
</span><span class="cx"> {
</span><span class="cx">     if (InspectorTimelineAgent* timelineAgent = instrumentingAgents.inspectorTimelineAgent())
</span><del>-        timelineAgent-&gt;didMarkDOMContentEvent(&amp;frame);
</del><ins>+        timelineAgent-&gt;didMarkDOMContentEvent(frame);
</ins><span class="cx"> 
</span><span class="cx">     if (!frame.isMainFrame())
</span><span class="cx">         return;
</span><span class="lines">@@ -740,8 +762,11 @@
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::loadEventFiredImpl(InstrumentingAgents&amp; instrumentingAgents, Frame* frame)
</span><span class="cx"> {
</span><ins>+    if (!frame)
+        return;
+
</ins><span class="cx">     if (InspectorTimelineAgent* timelineAgent = instrumentingAgents.inspectorTimelineAgent())
</span><del>-        timelineAgent-&gt;didMarkLoadEvent(frame);
</del><ins>+        timelineAgent-&gt;didMarkLoadEvent(*frame);
</ins><span class="cx"> 
</span><span class="cx">     if (!frame-&gt;isMainFrame())
</span><span class="cx">         return;
</span><span class="lines">@@ -753,13 +778,14 @@
</span><span class="cx"> void InspectorInstrumentation::frameDetachedFromParentImpl(InstrumentingAgents&amp; instrumentingAgents, Frame&amp; frame)
</span><span class="cx"> {
</span><span class="cx">     if (InspectorPageAgent* pageAgent = instrumentingAgents.inspectorPageAgent())
</span><del>-        pageAgent-&gt;frameDetached(&amp;frame);
</del><ins>+        pageAgent-&gt;frameDetached(frame);
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(WEB_REPLAY)
</span><del>-    if (frame.isMainFrame()) {
-        if (InspectorReplayAgent* replayAgent = instrumentingAgents.inspectorReplayAgent())
-            replayAgent-&gt;frameDetached(&amp;frame);
-    }
</del><ins>+    if (!frame.isMainFrame())
+        return;
+
+    if (InspectorReplayAgent* replayAgent = instrumentingAgents.inspectorReplayAgent())
+        replayAgent-&gt;frameDetached(frame);
</ins><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -768,12 +794,15 @@
</span><span class="cx">     if (!instrumentingAgents.inspectorEnvironment().developerExtrasEnabled())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><ins>+    if (!page || !loader || !loader-&gt;frame())
+        return;
+
</ins><span class="cx">     if (loader-&gt;frame()-&gt;isMainFrame()) {
</span><span class="cx">         if (WebConsoleAgent* consoleAgent = instrumentingAgents.webConsoleAgent())
</span><span class="cx">             consoleAgent-&gt;reset();
</span><span class="cx"> 
</span><span class="cx">         if (InspectorResourceAgent* resourceAgent = instrumentingAgents.inspectorResourceAgent())
</span><del>-            resourceAgent-&gt;mainFrameNavigated(loader);
</del><ins>+            resourceAgent-&gt;mainFrameNavigated(*loader);
</ins><span class="cx"> 
</span><span class="cx">         if (InspectorCSSAgent* cssAgent = instrumentingAgents.inspectorCSSAgent())
</span><span class="cx">             cssAgent-&gt;reset();
</span><span class="lines">@@ -813,7 +842,7 @@
</span><span class="cx"> void InspectorInstrumentation::loaderDetachedFromFrameImpl(InstrumentingAgents&amp; instrumentingAgents, DocumentLoader&amp; loader)
</span><span class="cx"> {
</span><span class="cx">     if (InspectorPageAgent* inspectorPageAgent = instrumentingAgents.inspectorPageAgent())
</span><del>-        inspectorPageAgent-&gt;loaderDetachedFromFrame(&amp;loader);
</del><ins>+        inspectorPageAgent-&gt;loaderDetachedFromFrame(loader);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::frameStartedLoadingImpl(InstrumentingAgents&amp; instrumentingAgents, Frame&amp; frame)
</span><span class="lines">@@ -860,7 +889,7 @@
</span><span class="cx"> 
</span><span class="cx">     for (auto* instrumentingAgent : *s_instrumentingAgentsSet) {
</span><span class="cx">         if (InspectorResourceAgent* inspectorResourceAgent = instrumentingAgent-&gt;inspectorResourceAgent())
</span><del>-            inspectorResourceAgent-&gt;willDestroyCachedResource(&amp;cachedResource);
</del><ins>+            inspectorResourceAgent-&gt;willDestroyCachedResource(cachedResource);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -929,7 +958,7 @@
</span><span class="cx"> void InspectorInstrumentation::startConsoleTimingImpl(InstrumentingAgents&amp; instrumentingAgents, Frame&amp; frame, const String&amp; title)
</span><span class="cx"> {
</span><span class="cx">     if (InspectorTimelineAgent* timelineAgent = instrumentingAgents.inspectorTimelineAgent())
</span><del>-        timelineAgent-&gt;time(&amp;frame, title);
</del><ins>+        timelineAgent-&gt;time(frame, title);
</ins><span class="cx">     if (WebConsoleAgent* consoleAgent = instrumentingAgents.webConsoleAgent())
</span><span class="cx">         consoleAgent-&gt;startTiming(title);
</span><span class="cx"> }
</span><span class="lines">@@ -939,7 +968,7 @@
</span><span class="cx">     if (WebConsoleAgent* consoleAgent = instrumentingAgents.webConsoleAgent())
</span><span class="cx">         consoleAgent-&gt;stopTiming(title, stack);
</span><span class="cx">     if (InspectorTimelineAgent* timelineAgent = instrumentingAgents.inspectorTimelineAgent())
</span><del>-        timelineAgent-&gt;timeEnd(&amp;frame, title);
</del><ins>+        timelineAgent-&gt;timeEnd(frame, title);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::consoleTimeStampImpl(InstrumentingAgents&amp; instrumentingAgents, Frame&amp; frame, PassRefPtr&lt;ScriptArguments&gt; arguments)
</span><span class="lines">@@ -947,7 +976,7 @@
</span><span class="cx">     if (InspectorTimelineAgent* timelineAgent = instrumentingAgents.inspectorTimelineAgent()) {
</span><span class="cx">         String message;
</span><span class="cx">         arguments-&gt;getFirstArgumentAsString(message);
</span><del>-        timelineAgent-&gt;didTimeStamp(&amp;frame, message);
</del><ins>+        timelineAgent-&gt;didTimeStamp(frame, message);
</ins><span class="cx">      }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1017,6 +1046,10 @@
</span><span class="cx"> {
</span><span class="cx">     if (!instrumentingAgents.inspectorEnvironment().developerExtrasEnabled())
</span><span class="cx">         return;
</span><ins>+
+    if (!document)
+        return;
+
</ins><span class="cx">     if (InspectorResourceAgent* resourceAgent = instrumentingAgents.inspectorResourceAgent())
</span><span class="cx">         resourceAgent-&gt;didCreateWebSocket(identifier, requestURL);
</span><span class="cx">     if (InspectorTimelineAgent* timelineAgent = instrumentingAgents.inspectorTimelineAgent())
</span><span class="lines">@@ -1025,6 +1058,9 @@
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl(InstrumentingAgents&amp; instrumentingAgents, unsigned long identifier, const ResourceRequest&amp; request, Document* document)
</span><span class="cx"> {
</span><ins>+    if (!document)
+        return;
+
</ins><span class="cx">     if (InspectorResourceAgent* resourceAgent = instrumentingAgents.inspectorResourceAgent())
</span><span class="cx">         resourceAgent-&gt;willSendWebSocketHandshakeRequest(identifier, request);
</span><span class="cx">     if (InspectorTimelineAgent* timelineAgent = instrumentingAgents.inspectorTimelineAgent())
</span><span class="lines">@@ -1033,6 +1069,9 @@
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl(InstrumentingAgents&amp; instrumentingAgents, unsigned long identifier, const ResourceResponse&amp; response, Document* document)
</span><span class="cx"> {
</span><ins>+    if (!document)
+        return;
+
</ins><span class="cx">     if (InspectorResourceAgent* resourceAgent = instrumentingAgents.inspectorResourceAgent())
</span><span class="cx">         resourceAgent-&gt;didReceiveWebSocketHandshakeResponse(identifier, response);
</span><span class="cx">     if (InspectorTimelineAgent* timelineAgent = instrumentingAgents.inspectorTimelineAgent())
</span><span class="lines">@@ -1041,6 +1080,9 @@
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::didCloseWebSocketImpl(InstrumentingAgents&amp; instrumentingAgents, unsigned long identifier, Document* document)
</span><span class="cx"> {
</span><ins>+    if (!document)
+        return;
+
</ins><span class="cx">     if (InspectorResourceAgent* resourceAgent = instrumentingAgents.inspectorResourceAgent())
</span><span class="cx">         resourceAgent-&gt;didCloseWebSocket(identifier);
</span><span class="cx">     if (InspectorTimelineAgent* timelineAgent = instrumentingAgents.inspectorTimelineAgent())
</span><span class="lines">@@ -1295,13 +1337,13 @@
</span><span class="cx"> void InspectorInstrumentation::renderLayerDestroyedImpl(InstrumentingAgents&amp; instrumentingAgents, const RenderLayer&amp; renderLayer)
</span><span class="cx"> {
</span><span class="cx">     if (InspectorLayerTreeAgent* layerTreeAgent = instrumentingAgents.inspectorLayerTreeAgent())
</span><del>-        layerTreeAgent-&gt;renderLayerDestroyed(&amp;renderLayer);
</del><ins>+        layerTreeAgent-&gt;renderLayerDestroyed(renderLayer);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorInstrumentation::pseudoElementDestroyedImpl(InstrumentingAgents&amp; instrumentingAgents, PseudoElement&amp; pseudoElement)
</span><span class="cx"> {
</span><span class="cx">     if (InspectorLayerTreeAgent* layerTreeAgent = instrumentingAgents.inspectorLayerTreeAgent())
</span><del>-        layerTreeAgent-&gt;pseudoElementDestroyed(&amp;pseudoElement);
</del><ins>+        layerTreeAgent-&gt;pseudoElementDestroyed(pseudoElement);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorLayerTreeAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorLayerTreeAgent.cpp (177992 => 177993)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorLayerTreeAgent.cpp        2015-01-06 21:38:13 UTC (rev 177992)
+++ trunk/Source/WebCore/inspector/InspectorLayerTreeAgent.cpp        2015-01-06 21:45:08 UTC (rev 177993)
</span><span class="lines">@@ -97,14 +97,14 @@
</span><span class="cx">     m_frontendDispatcher-&gt;layerTreeDidChange();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorLayerTreeAgent::renderLayerDestroyed(const RenderLayer* renderLayer)
</del><ins>+void InspectorLayerTreeAgent::renderLayerDestroyed(const RenderLayer&amp; renderLayer)
</ins><span class="cx"> {
</span><del>-    unbind(renderLayer);
</del><ins>+    unbind(&amp;renderLayer);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorLayerTreeAgent::pseudoElementDestroyed(PseudoElement* pseudoElement)
</del><ins>+void InspectorLayerTreeAgent::pseudoElementDestroyed(PseudoElement&amp; pseudoElement)
</ins><span class="cx"> {
</span><del>-    unbindPseudoElement(pseudoElement);
</del><ins>+    unbindPseudoElement(&amp;pseudoElement);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorLayerTreeAgent::layersForNode(ErrorString&amp; errorString, int nodeId, RefPtr&lt;Inspector::Protocol::Array&lt;Inspector::Protocol::LayerTree::Layer&gt;&gt;&amp; layers)
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorLayerTreeAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorLayerTreeAgent.h (177992 => 177993)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorLayerTreeAgent.h        2015-01-06 21:38:13 UTC (rev 177992)
+++ trunk/Source/WebCore/inspector/InspectorLayerTreeAgent.h        2015-01-06 21:45:08 UTC (rev 177993)
</span><span class="lines">@@ -56,9 +56,10 @@
</span><span class="cx">     virtual void willDestroyFrontendAndBackend(Inspector::InspectorDisconnectReason) override;
</span><span class="cx">     void reset();
</span><span class="cx"> 
</span><ins>+    // InspectorInstrumentation callbacks.
</ins><span class="cx">     void layerTreeDidChange();
</span><del>-    void renderLayerDestroyed(const RenderLayer*);
-    void pseudoElementDestroyed(PseudoElement*);
</del><ins>+    void renderLayerDestroyed(const RenderLayer&amp;);
+    void pseudoElementDestroyed(PseudoElement&amp;);
</ins><span class="cx"> 
</span><span class="cx">     // Called from the front-end.
</span><span class="cx">     virtual void enable(ErrorString&amp;) override;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorPageAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorPageAgent.cpp (177992 => 177993)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorPageAgent.cpp        2015-01-06 21:38:13 UTC (rev 177992)
+++ trunk/Source/WebCore/inspector/InspectorPageAgent.cpp        2015-01-06 21:45:08 UTC (rev 177993)
</span><span class="lines">@@ -730,9 +730,9 @@
</span><span class="cx">     m_frontendDispatcher-&gt;frameNavigated(buildObjectForFrame(loader-&gt;frame()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorPageAgent::frameDetached(Frame* frame)
</del><ins>+void InspectorPageAgent::frameDetached(Frame&amp; frame)
</ins><span class="cx"> {
</span><del>-    HashMap&lt;Frame*, String&gt;::iterator iterator = m_frameToIdentifier.find(frame);
</del><ins>+    HashMap&lt;Frame*, String&gt;::iterator iterator = m_frameToIdentifier.find(&amp;frame);
</ins><span class="cx">     if (iterator != m_frameToIdentifier.end()) {
</span><span class="cx">         m_frontendDispatcher-&gt;frameDetached(iterator-&gt;value);
</span><span class="cx">         m_identifierToFrame.remove(iterator-&gt;value);
</span><span class="lines">@@ -809,9 +809,9 @@
</span><span class="cx">     return documentLoader;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorPageAgent::loaderDetachedFromFrame(DocumentLoader* loader)
</del><ins>+void InspectorPageAgent::loaderDetachedFromFrame(DocumentLoader&amp; loader)
</ins><span class="cx"> {
</span><del>-    m_loaderToIdentifier.remove(loader);
</del><ins>+    m_loaderToIdentifier.remove(&amp;loader);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorPageAgent::frameStartedLoading(Frame&amp; frame)
</span><span class="lines">@@ -984,10 +984,10 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorPageAgent::applyEmulatedMedia(String* media)
</del><ins>+void InspectorPageAgent::applyEmulatedMedia(String&amp; media)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_emulatedMedia.isEmpty())
</span><del>-        *media = m_emulatedMedia;
</del><ins>+        media = m_emulatedMedia;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorPageAgent::getCompositingBordersVisible(ErrorString&amp;, bool* outParam)
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorPageAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorPageAgent.h (177992 => 177993)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorPageAgent.h        2015-01-06 21:38:13 UTC (rev 177992)
+++ trunk/Source/WebCore/inspector/InspectorPageAgent.h        2015-01-06 21:45:08 UTC (rev 177993)
</span><span class="lines">@@ -120,20 +120,20 @@
</span><span class="cx">     virtual void handleJavaScriptDialog(ErrorString&amp;, bool accept, const String* promptText) override;
</span><span class="cx">     virtual void archive(ErrorString&amp;, String* data) override;
</span><span class="cx"> 
</span><del>-    // InspectorInstrumentation API
</del><ins>+    // InspectorInstrumentation callbacks.
</ins><span class="cx">     void didClearWindowObjectInWorld(Frame*, DOMWrapperWorld&amp;);
</span><span class="cx">     void domContentEventFired();
</span><span class="cx">     void loadEventFired();
</span><span class="cx">     void frameNavigated(DocumentLoader*);
</span><del>-    void frameDetached(Frame*);
-    void loaderDetachedFromFrame(DocumentLoader*);
</del><ins>+    void frameDetached(Frame&amp;);
+    void loaderDetachedFromFrame(DocumentLoader&amp;);
</ins><span class="cx">     void frameStartedLoading(Frame&amp;);
</span><span class="cx">     void frameStoppedLoading(Frame&amp;);
</span><span class="cx">     void frameScheduledNavigation(Frame&amp;, double delay);
</span><span class="cx">     void frameClearedScheduledNavigation(Frame&amp;);
</span><span class="cx">     void willRunJavaScriptDialog(const String&amp; message);
</span><span class="cx">     void didRunJavaScriptDialog();
</span><del>-    void applyEmulatedMedia(String*);
</del><ins>+    void applyEmulatedMedia(String&amp;);
</ins><span class="cx">     void didPaint(RenderObject*, const LayoutRect&amp;);
</span><span class="cx">     void didLayout();
</span><span class="cx">     void didScroll();
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorReplayAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorReplayAgent.cpp (177992 => 177993)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorReplayAgent.cpp        2015-01-06 21:38:13 UTC (rev 177992)
+++ trunk/Source/WebCore/inspector/InspectorReplayAgent.cpp        2015-01-06 21:45:08 UTC (rev 177993)
</span><span class="lines">@@ -208,7 +208,7 @@
</span><span class="cx">         m_page.replayController().frameNavigated(loader);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorReplayAgent::frameDetached(Frame* frame)
</del><ins>+void InspectorReplayAgent::frameDetached(Frame&amp; frame)
</ins><span class="cx"> {
</span><span class="cx">     if (sessionState() != WebCore::SessionState::Inactive)
</span><span class="cx">         m_page.replayController().frameDetached(frame);
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorReplayAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorReplayAgent.h (177992 => 177993)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorReplayAgent.h        2015-01-06 21:38:13 UTC (rev 177992)
+++ trunk/Source/WebCore/inspector/InspectorReplayAgent.h        2015-01-06 21:45:08 UTC (rev 177993)
</span><span class="lines">@@ -67,9 +67,9 @@
</span><span class="cx">     virtual void didCreateFrontendAndBackend(Inspector::InspectorFrontendChannel*, Inspector::InspectorBackendDispatcher*) override;
</span><span class="cx">     virtual void willDestroyFrontendAndBackend(Inspector::InspectorDisconnectReason) override;
</span><span class="cx"> 
</span><del>-    // Callbacks from InspectorInstrumentation.
</del><ins>+    // InspectorInstrumentation callbacks.
</ins><span class="cx">     void frameNavigated(DocumentLoader*);
</span><del>-    void frameDetached(Frame*);
</del><ins>+    void frameDetached(Frame&amp;);
</ins><span class="cx">     void willDispatchEvent(const Event&amp;, Frame*);
</span><span class="cx"> 
</span><span class="cx">     // Notifications from ReplayController.
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorResourceAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp (177992 => 177993)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp        2015-01-06 21:38:13 UTC (rev 177992)
+++ trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp        2015-01-06 21:45:08 UTC (rev 177993)
</span><span class="lines">@@ -279,7 +279,7 @@
</span><span class="cx">     return m_instrumentingAgents-&gt;inspectorEnvironment().executionStopwatch()-&gt;elapsedTime();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorResourceAgent::willSendRequest(unsigned long identifier, DocumentLoader* loader, ResourceRequest&amp; request, const ResourceResponse&amp; redirectResponse)
</del><ins>+void InspectorResourceAgent::willSendRequest(unsigned long identifier, DocumentLoader&amp; loader, ResourceRequest&amp; request, const ResourceResponse&amp; redirectResponse)
</ins><span class="cx"> {
</span><span class="cx">     if (request.hiddenFromInspector()) {
</span><span class="cx">         m_hiddenRequestIdentifiers.add(identifier);
</span><span class="lines">@@ -287,16 +287,16 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     String requestId = IdentifiersFactory::requestId(identifier);
</span><del>-    m_resourcesData-&gt;resourceCreated(requestId, m_pageAgent-&gt;loaderId(loader));
</del><ins>+    m_resourcesData-&gt;resourceCreated(requestId, m_pageAgent-&gt;loaderId(&amp;loader));
</ins><span class="cx"> 
</span><del>-    CachedResource* cachedResource = loader ? InspectorPageAgent::cachedResource(loader-&gt;frame(), request.url()) : nullptr;
</del><ins>+    CachedResource* cachedResource = InspectorPageAgent::cachedResource(loader.frame(), request.url());
</ins><span class="cx">     InspectorPageAgent::ResourceType type = cachedResource ? InspectorPageAgent::cachedResourceType(*cachedResource) : m_resourcesData-&gt;resourceType(requestId);
</span><span class="cx">     if (type == InspectorPageAgent::OtherResource) {
</span><span class="cx">         if (m_loadingXHRSynchronously)
</span><span class="cx">             type = InspectorPageAgent::XHRResource;
</span><del>-        else if (equalIgnoringFragmentIdentifier(request.url(), loader-&gt;frameLoader()-&gt;icon().url()))
</del><ins>+        else if (equalIgnoringFragmentIdentifier(request.url(), loader.frameLoader()-&gt;icon().url()))
</ins><span class="cx">             type = InspectorPageAgent::ImageResource;
</span><del>-        else if (equalIgnoringFragmentIdentifier(request.url(), loader-&gt;url()) &amp;&amp; !loader-&gt;isCommitted())
</del><ins>+        else if (equalIgnoringFragmentIdentifier(request.url(), loader.url()) &amp;&amp; !loader.isCommitted())
</ins><span class="cx">             type = InspectorPageAgent::DocumentResource;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -322,8 +322,8 @@
</span><span class="cx"> 
</span><span class="cx">     Inspector::Protocol::Page::ResourceType resourceType = InspectorPageAgent::resourceTypeJson(type);
</span><span class="cx"> 
</span><del>-    RefPtr&lt;Inspector::Protocol::Network::Initiator&gt; initiatorObject = buildInitiatorObject(loader-&gt;frame() ? loader-&gt;frame()-&gt;document() : nullptr);
-    m_frontendDispatcher-&gt;requestWillBeSent(requestId, m_pageAgent-&gt;frameId(loader-&gt;frame()), m_pageAgent-&gt;loaderId(loader), loader-&gt;url().string(), buildObjectForResourceRequest(request), timestamp(), initiatorObject, buildObjectForResourceResponse(redirectResponse, loader), type != InspectorPageAgent::OtherResource ? &amp;resourceType : nullptr);
</del><ins>+    RefPtr&lt;Inspector::Protocol::Network::Initiator&gt; initiatorObject = buildInitiatorObject(loader.frame() ? loader.frame()-&gt;document() : nullptr);
+    m_frontendDispatcher-&gt;requestWillBeSent(requestId, m_pageAgent-&gt;frameId(loader.frame()), m_pageAgent-&gt;loaderId(&amp;loader), loader.url().string(), buildObjectForResourceRequest(request), timestamp(), initiatorObject, buildObjectForResourceResponse(redirectResponse, &amp;loader), type != InspectorPageAgent::OtherResource ? &amp;resourceType : nullptr);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorResourceAgent::markResourceAsCached(unsigned long identifier)
</span><span class="lines">@@ -334,13 +334,13 @@
</span><span class="cx">     m_frontendDispatcher-&gt;requestServedFromCache(IdentifiersFactory::requestId(identifier));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorResourceAgent::didReceiveResponse(unsigned long identifier, DocumentLoader* loader, const ResourceResponse&amp; response, ResourceLoader* resourceLoader)
</del><ins>+void InspectorResourceAgent::didReceiveResponse(unsigned long identifier, DocumentLoader&amp; loader, const ResourceResponse&amp; response, ResourceLoader* resourceLoader)
</ins><span class="cx"> {
</span><span class="cx">     if (m_hiddenRequestIdentifiers.contains(identifier))
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     String requestId = IdentifiersFactory::requestId(identifier);
</span><del>-    RefPtr&lt;Inspector::Protocol::Network::Response&gt; resourceResponse = buildObjectForResourceResponse(response, loader);
</del><ins>+    RefPtr&lt;Inspector::Protocol::Network::Response&gt; resourceResponse = buildObjectForResourceResponse(response, &amp;loader);
</ins><span class="cx"> 
</span><span class="cx">     bool isNotModified = response.httpStatusCode() == 304;
</span><span class="cx"> 
</span><span class="lines">@@ -348,7 +348,7 @@
</span><span class="cx">     if (resourceLoader &amp;&amp; resourceLoader-&gt;isSubresourceLoader() &amp;&amp; !isNotModified)
</span><span class="cx">         cachedResource = static_cast&lt;SubresourceLoader*&gt;(resourceLoader)-&gt;cachedResource();
</span><span class="cx">     if (!cachedResource)
</span><del>-        cachedResource = InspectorPageAgent::cachedResource(loader-&gt;frame(), response.url());
</del><ins>+        cachedResource = InspectorPageAgent::cachedResource(loader.frame(), response.url());
</ins><span class="cx"> 
</span><span class="cx">     if (cachedResource) {
</span><span class="cx">         // Use mime type from cached resource in case the one in response is empty.
</span><span class="lines">@@ -365,10 +365,10 @@
</span><span class="cx">     if (type != newType &amp;&amp; newType != InspectorPageAgent::XHRResource &amp;&amp; newType != InspectorPageAgent::OtherResource)
</span><span class="cx">         type = newType;
</span><span class="cx"> 
</span><del>-    m_resourcesData-&gt;responseReceived(requestId, m_pageAgent-&gt;frameId(loader-&gt;frame()), response);
</del><ins>+    m_resourcesData-&gt;responseReceived(requestId, m_pageAgent-&gt;frameId(loader.frame()), response);
</ins><span class="cx">     m_resourcesData-&gt;setResourceType(requestId, type);
</span><span class="cx"> 
</span><del>-    m_frontendDispatcher-&gt;responseReceived(requestId, m_pageAgent-&gt;frameId(loader-&gt;frame()), m_pageAgent-&gt;loaderId(loader), timestamp(), InspectorPageAgent::resourceTypeJson(type), resourceResponse);
</del><ins>+    m_frontendDispatcher-&gt;responseReceived(requestId, m_pageAgent-&gt;frameId(loader.frame()), m_pageAgent-&gt;loaderId(&amp;loader), timestamp(), InspectorPageAgent::resourceTypeJson(type), resourceResponse);
</ins><span class="cx"> 
</span><span class="cx">     // If we revalidated the resource and got Not modified, send content length following didReceiveResponse
</span><span class="cx">     // as there will be no calls to didReceiveData from the network stack.
</span><span class="lines">@@ -397,17 +397,14 @@
</span><span class="cx">     m_frontendDispatcher-&gt;dataReceived(requestId, timestamp(), dataLength, encodedDataLength);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorResourceAgent::didFinishLoading(unsigned long identifier, DocumentLoader* loader, double finishTime)
</del><ins>+void InspectorResourceAgent::didFinishLoading(unsigned long identifier, DocumentLoader&amp; loader, double finishTime)
</ins><span class="cx"> {
</span><span class="cx">     if (m_hiddenRequestIdentifiers.remove(identifier))
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     String requestId = IdentifiersFactory::requestId(identifier);
</span><del>-    if (m_resourcesData-&gt;resourceType(requestId) == InspectorPageAgent::DocumentResource) {
-        m_resourcesData-&gt;addResourceSharedBuffer(requestId,
-            loader-&gt;frameLoader()-&gt;documentLoader()-&gt;mainResourceData(),
-            loader-&gt;frame()-&gt;document()-&gt;inputEncoding());
-    }
</del><ins>+    if (m_resourcesData-&gt;resourceType(requestId) == InspectorPageAgent::DocumentResource)
+        m_resourcesData-&gt;addResourceSharedBuffer(requestId, loader.frameLoader()-&gt;documentLoader()-&gt;mainResourceData(), loader.frame()-&gt;document()-&gt;inputEncoding());
</ins><span class="cx"> 
</span><span class="cx">     m_resourcesData-&gt;maybeDecodeDataToContent(requestId);
</span><span class="cx"> 
</span><span class="lines">@@ -425,7 +422,7 @@
</span><span class="cx">     m_frontendDispatcher-&gt;loadingFinished(requestId, finishTime, !sourceMappingURL.isEmpty() ? &amp;sourceMappingURL : nullptr);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorResourceAgent::didFailLoading(unsigned long identifier, DocumentLoader* loader, const ResourceError&amp; error)
</del><ins>+void InspectorResourceAgent::didFailLoading(unsigned long identifier, DocumentLoader&amp; loader, const ResourceError&amp; error)
</ins><span class="cx"> {
</span><span class="cx">     if (m_hiddenRequestIdentifiers.remove(identifier))
</span><span class="cx">         return;
</span><span class="lines">@@ -433,7 +430,7 @@
</span><span class="cx">     String requestId = IdentifiersFactory::requestId(identifier);
</span><span class="cx"> 
</span><span class="cx">     if (m_resourcesData-&gt;resourceType(requestId) == InspectorPageAgent::DocumentResource) {
</span><del>-        Frame* frame = loader ? loader-&gt;frame() : nullptr;
</del><ins>+        Frame* frame = loader.frame();
</ins><span class="cx">         if (frame &amp;&amp; frame-&gt;loader().documentLoader() &amp;&amp; frame-&gt;document()) {
</span><span class="cx">             m_resourcesData-&gt;addResourceSharedBuffer(requestId,
</span><span class="cx">                 frame-&gt;loader().documentLoader()-&gt;mainResourceData(),
</span><span class="lines">@@ -445,22 +442,22 @@
</span><span class="cx">     m_frontendDispatcher-&gt;loadingFailed(requestId, timestamp(), error.localizedDescription(), canceled ? &amp;canceled : nullptr);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorResourceAgent::didLoadResourceFromMemoryCache(DocumentLoader* loader, CachedResource* resource)
</del><ins>+void InspectorResourceAgent::didLoadResourceFromMemoryCache(DocumentLoader&amp; loader, CachedResource&amp; resource)
</ins><span class="cx"> {
</span><del>-    String loaderId = m_pageAgent-&gt;loaderId(loader);
-    String frameId = m_pageAgent-&gt;frameId(loader-&gt;frame());
-    unsigned long identifier = loader-&gt;frame()-&gt;page()-&gt;progress().createUniqueIdentifier();
</del><ins>+    String loaderId = m_pageAgent-&gt;loaderId(&amp;loader);
+    String frameId = m_pageAgent-&gt;frameId(loader.frame());
+    unsigned long identifier = loader.frame()-&gt;page()-&gt;progress().createUniqueIdentifier();
</ins><span class="cx">     String requestId = IdentifiersFactory::requestId(identifier);
</span><span class="cx">     m_resourcesData-&gt;resourceCreated(requestId, loaderId);
</span><del>-    m_resourcesData-&gt;addCachedResource(requestId, resource);
-    if (resource-&gt;type() == CachedResource::RawResource) {
-        String rawRequestId = IdentifiersFactory::requestId(downcast&lt;CachedRawResource&gt;(*resource).identifier());
</del><ins>+    m_resourcesData-&gt;addCachedResource(requestId, &amp;resource);
+    if (resource.type() == CachedResource::RawResource) {
+        String rawRequestId = IdentifiersFactory::requestId(downcast&lt;CachedRawResource&gt;(resource).identifier());
</ins><span class="cx">         m_resourcesData-&gt;reuseXHRReplayData(requestId, rawRequestId);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    RefPtr&lt;Inspector::Protocol::Network::Initiator&gt; initiatorObject = buildInitiatorObject(loader-&gt;frame() ? loader-&gt;frame()-&gt;document() : nullptr);
</del><ins>+    RefPtr&lt;Inspector::Protocol::Network::Initiator&gt; initiatorObject = buildInitiatorObject(loader.frame() ? loader.frame()-&gt;document() : nullptr);
</ins><span class="cx"> 
</span><del>-    m_frontendDispatcher-&gt;requestServedFromMemoryCache(requestId, frameId, loaderId, loader-&gt;url().string(), timestamp(), initiatorObject, buildObjectForCachedResource(resource, loader));
</del><ins>+    m_frontendDispatcher-&gt;requestServedFromMemoryCache(requestId, frameId, loaderId, loader.url().string(), timestamp(), initiatorObject, buildObjectForCachedResource(&amp;resource, &amp;loader));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorResourceAgent::setInitialScriptContent(unsigned long identifier, const String&amp; sourceString)
</span><span class="lines">@@ -523,15 +520,15 @@
</span><span class="cx">     m_loadingXHRSynchronously = false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorResourceAgent::willDestroyCachedResource(CachedResource* cachedResource)
</del><ins>+void InspectorResourceAgent::willDestroyCachedResource(CachedResource&amp; cachedResource)
</ins><span class="cx"> {
</span><del>-    Vector&lt;String&gt; requestIds = m_resourcesData-&gt;removeCachedResource(cachedResource);
</del><ins>+    Vector&lt;String&gt; requestIds = m_resourcesData-&gt;removeCachedResource(&amp;cachedResource);
</ins><span class="cx">     if (!requestIds.size())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     String content;
</span><span class="cx">     bool base64Encoded;
</span><del>-    if (!InspectorPageAgent::cachedResourceContent(cachedResource, &amp;content, &amp;base64Encoded))
</del><ins>+    if (!InspectorPageAgent::cachedResourceContent(&amp;cachedResource, &amp;content, &amp;base64Encoded))
</ins><span class="cx">         return;
</span><span class="cx">     Vector&lt;String&gt;::iterator end = requestIds.end();
</span><span class="cx">     for (Vector&lt;String&gt;::iterator it = requestIds.begin(); it != end; ++it)
</span><span class="lines">@@ -549,10 +546,10 @@
</span><span class="cx">     m_styleRecalculationInitiator = nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorResourceAgent::didScheduleStyleRecalculation(Document* document)
</del><ins>+void InspectorResourceAgent::didScheduleStyleRecalculation(Document&amp; document)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_styleRecalculationInitiator)
</span><del>-        m_styleRecalculationInitiator = buildInitiatorObject(document);
</del><ins>+        m_styleRecalculationInitiator = buildInitiatorObject(&amp;document);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PassRefPtr&lt;Inspector::Protocol::Network::Initiator&gt; InspectorResourceAgent::buildInitiatorObject(Document* document)
</span><span class="lines">@@ -786,12 +783,12 @@
</span><span class="cx">     inspectorThreadableLoaderClient-&gt;setLoader(loader.release());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorResourceAgent::mainFrameNavigated(DocumentLoader* loader)
</del><ins>+void InspectorResourceAgent::mainFrameNavigated(DocumentLoader&amp; loader)
</ins><span class="cx"> {
</span><span class="cx">     if (m_cacheDisabled)
</span><span class="cx">         memoryCache().evictResources();
</span><span class="cx"> 
</span><del>-    m_resourcesData-&gt;clear(m_pageAgent-&gt;loaderId(loader));
</del><ins>+    m_resourcesData-&gt;clear(m_pageAgent-&gt;loaderId(&amp;loader));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorResourceAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorResourceAgent.h (177992 => 177993)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorResourceAgent.h        2015-01-06 21:38:13 UTC (rev 177992)
+++ trunk/Source/WebCore/inspector/InspectorResourceAgent.h        2015-01-06 21:45:08 UTC (rev 177993)
</span><span class="lines">@@ -84,17 +84,16 @@
</span><span class="cx">     virtual void didCreateFrontendAndBackend(Inspector::InspectorFrontendChannel*, Inspector::InspectorBackendDispatcher*) override;
</span><span class="cx">     virtual void willDestroyFrontendAndBackend(Inspector::InspectorDisconnectReason) override;
</span><span class="cx"> 
</span><del>-    void willSendRequest(unsigned long identifier, DocumentLoader*, ResourceRequest&amp;, const ResourceResponse&amp; redirectResponse);
</del><ins>+    // InspectorInstrumentation callbacks.
+    void willRecalculateStyle();
+    void didRecalculateStyle();
+    void willSendRequest(unsigned long identifier, DocumentLoader&amp;, ResourceRequest&amp;, const ResourceResponse&amp; redirectResponse);
</ins><span class="cx">     void markResourceAsCached(unsigned long identifier);
</span><del>-    void didReceiveResponse(unsigned long identifier, DocumentLoader* laoder, const ResourceResponse&amp;, ResourceLoader*);
</del><ins>+    void didReceiveResponse(unsigned long identifier, DocumentLoader&amp; loader, const ResourceResponse&amp;, ResourceLoader*);
</ins><span class="cx">     void didReceiveData(unsigned long identifier, const char* data, int dataLength, int encodedDataLength);
</span><del>-    void didFinishLoading(unsigned long identifier, DocumentLoader*, double finishTime);
-    void didFailLoading(unsigned long identifier, DocumentLoader*, const ResourceError&amp;);
-    void didLoadResourceFromMemoryCache(DocumentLoader*, CachedResource*);
-    void mainFrameNavigated(DocumentLoader*);
-    void setInitialScriptContent(unsigned long identifier, const String&amp; sourceString);
-    void didReceiveScriptResponse(unsigned long identifier);
-
</del><ins>+    void didFinishLoading(unsigned long identifier, DocumentLoader&amp;, double finishTime);
+    void didFailLoading(unsigned long identifier, DocumentLoader&amp;, const ResourceError&amp;);
+    void didLoadResourceFromMemoryCache(DocumentLoader&amp;, CachedResource&amp;);
</ins><span class="cx">     void documentThreadableLoaderStartedLoadingForClient(unsigned long identifier, ThreadableLoaderClient*);
</span><span class="cx">     void willLoadXHR(ThreadableLoaderClient*, const String&amp; method, const URL&amp;, bool async, PassRefPtr&lt;FormData&gt; body, const HTTPHeaderMap&amp; headers, bool includeCrendentials);
</span><span class="cx">     void didFailXHRLoading(ThreadableLoaderClient*);
</span><span class="lines">@@ -102,16 +101,8 @@
</span><span class="cx">     void didReceiveXHRResponse(unsigned long identifier);
</span><span class="cx">     void willLoadXHRSynchronously();
</span><span class="cx">     void didLoadXHRSynchronously();
</span><del>-
-    void willDestroyCachedResource(CachedResource*);
-
-    // FIXME: InspectorResourceAgent should now be aware of style recalculation.
-    void willRecalculateStyle();
-    void didRecalculateStyle();
-    void didScheduleStyleRecalculation(Document*);
-
-    PassRefPtr&lt;Inspector::Protocol::Network::Initiator&gt; buildInitiatorObject(Document*);
-
</del><ins>+    void didReceiveScriptResponse(unsigned long identifier);
+    void willDestroyCachedResource(CachedResource&amp;);
</ins><span class="cx"> #if ENABLE(WEB_SOCKETS)
</span><span class="cx">     void didCreateWebSocket(unsigned long identifier, const URL&amp; requestURL);
</span><span class="cx">     void willSendWebSocketHandshakeRequest(unsigned long identifier, const ResourceRequest&amp;);
</span><span class="lines">@@ -122,6 +113,13 @@
</span><span class="cx">     void didReceiveWebSocketFrameError(unsigned long identifier, const String&amp;);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+    void mainFrameNavigated(DocumentLoader&amp;);
+    void setInitialScriptContent(unsigned long identifier, const String&amp; sourceString);
+
+    void didScheduleStyleRecalculation(Document&amp;);
+
+    PassRefPtr&lt;Inspector::Protocol::Network::Initiator&gt; buildInitiatorObject(Document*);
+
</ins><span class="cx">     // Called from frontend.
</span><span class="cx">     virtual void enable(ErrorString&amp;) override;
</span><span class="cx">     virtual void disable(ErrorString&amp;) override;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorTimelineAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp (177992 => 177993)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp        2015-01-06 21:38:13 UTC (rev 177992)
+++ trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp        2015-01-06 21:45:08 UTC (rev 177993)
</span><span class="lines">@@ -44,6 +44,7 @@
</span><span class="cx"> #include &quot;InstrumentingAgents.h&quot;
</span><span class="cx"> #include &quot;IntRect.h&quot;
</span><span class="cx"> #include &quot;JSDOMWindow.h&quot;
</span><ins>+#include &quot;MainFrame.h&quot;
</ins><span class="cx"> #include &quot;PageScriptDebugServer.h&quot;
</span><span class="cx"> #include &quot;RenderElement.h&quot;
</span><span class="cx"> #include &quot;RenderView.h&quot;
</span><span class="lines">@@ -274,18 +275,18 @@
</span><span class="cx">     didCompleteCurrentRecord(TimelineRecordType::EventDispatch);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorTimelineAgent::didInvalidateLayout(Frame* frame)
</del><ins>+void InspectorTimelineAgent::didInvalidateLayout(Frame&amp; frame)
</ins><span class="cx"> {
</span><del>-    appendRecord(InspectorObject::create(), TimelineRecordType::InvalidateLayout, true, frame);
</del><ins>+    appendRecord(InspectorObject::create(), TimelineRecordType::InvalidateLayout, true, &amp;frame);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorTimelineAgent::willLayout(Frame* frame)
</del><ins>+void InspectorTimelineAgent::willLayout(Frame&amp; frame)
</ins><span class="cx"> {
</span><del>-    RenderObject* root = frame-&gt;view()-&gt;layoutRoot();
</del><ins>+    RenderObject* root = frame.view()-&gt;layoutRoot();
</ins><span class="cx">     bool partialLayout = !!root;
</span><span class="cx"> 
</span><span class="cx">     if (!partialLayout)
</span><del>-        root = frame-&gt;contentRenderer();
</del><ins>+        root = frame.contentRenderer();
</ins><span class="cx"> 
</span><span class="cx">     unsigned dirtyObjects = 0;
</span><span class="cx">     unsigned totalObjects = 0;
</span><span class="lines">@@ -294,7 +295,7 @@
</span><span class="cx">         if (o-&gt;needsLayout())
</span><span class="cx">             ++dirtyObjects;
</span><span class="cx">     }
</span><del>-    pushCurrentRecord(TimelineRecordFactory::createLayoutData(dirtyObjects, totalObjects, partialLayout), TimelineRecordType::Layout, true, frame);
</del><ins>+    pushCurrentRecord(TimelineRecordFactory::createLayoutData(dirtyObjects, totalObjects, partialLayout), TimelineRecordType::Layout, true, &amp;frame);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorTimelineAgent::didLayout(RenderObject* root)
</span><span class="lines">@@ -327,9 +328,9 @@
</span><span class="cx">     didCompleteCurrentRecord(TimelineRecordType::RecalculateStyles);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorTimelineAgent::willPaint(Frame* frame)
</del><ins>+void InspectorTimelineAgent::willPaint(Frame&amp; frame)
</ins><span class="cx"> {
</span><del>-    pushCurrentRecord(InspectorObject::create(), TimelineRecordType::Paint, true, frame);
</del><ins>+    pushCurrentRecord(InspectorObject::create(), TimelineRecordType::Paint, true, &amp;frame);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorTimelineAgent::didPaint(RenderObject* renderer, const LayoutRect&amp; clipRect)
</span><span class="lines">@@ -342,9 +343,9 @@
</span><span class="cx">     didCompleteCurrentRecord(TimelineRecordType::Paint);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorTimelineAgent::willScroll(Frame* frame)
</del><ins>+void InspectorTimelineAgent::willScroll(Frame&amp; frame)
</ins><span class="cx"> {
</span><del>-    pushCurrentRecord(InspectorObject::create(), TimelineRecordType::ScrollLayer, false, frame);
</del><ins>+    pushCurrentRecord(InspectorObject::create(), TimelineRecordType::ScrollLayer, false, &amp;frame);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorTimelineAgent::didScroll()
</span><span class="lines">@@ -406,19 +407,19 @@
</span><span class="cx">     didCompleteCurrentRecord(TimelineRecordType::XHRLoad);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorTimelineAgent::willEvaluateScript(const String&amp; url, int lineNumber, Frame* frame)
</del><ins>+void InspectorTimelineAgent::willEvaluateScript(const String&amp; url, int lineNumber, Frame&amp; frame)
</ins><span class="cx"> {
</span><del>-    pushCurrentRecord(TimelineRecordFactory::createEvaluateScriptData(url, lineNumber), TimelineRecordType::EvaluateScript, true, frame);
</del><ins>+    pushCurrentRecord(TimelineRecordFactory::createEvaluateScriptData(url, lineNumber), TimelineRecordType::EvaluateScript, true, &amp;frame);
</ins><span class="cx"> 
</span><del>-    if (frame &amp;&amp; !m_callStackDepth) {
</del><ins>+    if (!m_callStackDepth) {
</ins><span class="cx">         ++m_callStackDepth;
</span><del>-        startProfiling(frame, ASCIILiteral(&quot;Timeline EvaluateScript&quot;), m_instrumentingAgents-&gt;inspectorEnvironment().executionStopwatch());
</del><ins>+        startProfiling(&amp;frame, ASCIILiteral(&quot;Timeline EvaluateScript&quot;), m_instrumentingAgents-&gt;inspectorEnvironment().executionStopwatch());
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorTimelineAgent::didEvaluateScript(Frame* frame)
</del><ins>+void InspectorTimelineAgent::didEvaluateScript(Frame&amp; frame)
</ins><span class="cx"> {
</span><del>-    if (frame &amp;&amp; m_callStackDepth) {
</del><ins>+    if (m_callStackDepth) {
</ins><span class="cx">         --m_callStackDepth;
</span><span class="cx">         ASSERT(m_callStackDepth &gt;= 0);
</span><span class="cx"> 
</span><span class="lines">@@ -429,7 +430,7 @@
</span><span class="cx">             TimelineRecordEntry&amp; entry = m_recordStack.last();
</span><span class="cx">             ASSERT(entry.type == TimelineRecordType::EvaluateScript);
</span><span class="cx"> 
</span><del>-            RefPtr&lt;JSC::Profile&gt; profile = stopProfiling(frame, ASCIILiteral(&quot;Timeline EvaluateScript&quot;));
</del><ins>+            RefPtr&lt;JSC::Profile&gt; profile = stopProfiling(&amp;frame, ASCIILiteral(&quot;Timeline EvaluateScript&quot;));
</ins><span class="cx">             if (profile)
</span><span class="cx">                 TimelineRecordFactory::appendProfile(entry.data.get(), profile.release());
</span><span class="cx">         }
</span><span class="lines">@@ -476,31 +477,29 @@
</span><span class="cx">     appendRecord(TimelineRecordFactory::createResourceFinishData(IdentifiersFactory::requestId(identifier), didFail, finishTime * 1000), TimelineRecordType::ResourceFinish, false, frame);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorTimelineAgent::didTimeStamp(Frame* frame, const String&amp; message)
</del><ins>+void InspectorTimelineAgent::didTimeStamp(Frame&amp; frame, const String&amp; message)
</ins><span class="cx"> {
</span><del>-    appendRecord(TimelineRecordFactory::createTimeStampData(message), TimelineRecordType::TimeStamp, true, frame);
</del><ins>+    appendRecord(TimelineRecordFactory::createTimeStampData(message), TimelineRecordType::TimeStamp, true, &amp;frame);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorTimelineAgent::time(Frame* frame, const String&amp; message)
</del><ins>+void InspectorTimelineAgent::time(Frame&amp; frame, const String&amp; message)
</ins><span class="cx"> {
</span><del>-    appendRecord(TimelineRecordFactory::createTimeStampData(message), TimelineRecordType::Time, true, frame);
</del><ins>+    appendRecord(TimelineRecordFactory::createTimeStampData(message), TimelineRecordType::Time, true, &amp;frame);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorTimelineAgent::timeEnd(Frame* frame, const String&amp; message)
</del><ins>+void InspectorTimelineAgent::timeEnd(Frame&amp; frame, const String&amp; message)
</ins><span class="cx"> {
</span><del>-    appendRecord(TimelineRecordFactory::createTimeStampData(message), TimelineRecordType::TimeEnd, true, frame);
</del><ins>+    appendRecord(TimelineRecordFactory::createTimeStampData(message), TimelineRecordType::TimeEnd, true, &amp;frame);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorTimelineAgent::didMarkDOMContentEvent(Frame* frame)
</del><ins>+void InspectorTimelineAgent::didMarkDOMContentEvent(Frame&amp; frame)
</ins><span class="cx"> {
</span><del>-    bool isMainFrame = frame &amp;&amp; m_pageAgent &amp;&amp; (frame == m_pageAgent-&gt;mainFrame());
-    appendRecord(TimelineRecordFactory::createMarkData(isMainFrame), TimelineRecordType::MarkDOMContent, false, frame);
</del><ins>+    appendRecord(TimelineRecordFactory::createMarkData(frame.isMainFrame()), TimelineRecordType::MarkDOMContent, false, &amp;frame);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InspectorTimelineAgent::didMarkLoadEvent(Frame* frame)
</del><ins>+void InspectorTimelineAgent::didMarkLoadEvent(Frame&amp; frame)
</ins><span class="cx"> {
</span><del>-    bool isMainFrame = frame &amp;&amp; m_pageAgent &amp;&amp; (frame == m_pageAgent-&gt;mainFrame());
-    appendRecord(TimelineRecordFactory::createMarkData(isMainFrame), TimelineRecordType::MarkLoad, false, frame);
</del><ins>+    appendRecord(TimelineRecordFactory::createMarkData(frame.isMainFrame()), TimelineRecordType::MarkLoad, false, &amp;frame);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void InspectorTimelineAgent::didCommitLoad()
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorTimelineAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorTimelineAgent.h (177992 => 177993)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorTimelineAgent.h        2015-01-06 21:38:13 UTC (rev 177992)
+++ trunk/Source/WebCore/inspector/InspectorTimelineAgent.h        2015-01-06 21:45:08 UTC (rev 177993)
</span><span class="lines">@@ -142,62 +142,49 @@
</span><span class="cx">     void startFromConsole(JSC::ExecState*, const String &amp;title);
</span><span class="cx">     PassRefPtr&lt;JSC::Profile&gt; stopFromConsole(JSC::ExecState*, const String&amp; title);
</span><span class="cx"> 
</span><ins>+    // InspectorInstrumentation callbacks.
+    void didScheduleResourceRequest(const String&amp; url, Frame*);
+    void didInstallTimer(int timerId, int timeout, bool singleShot, Frame*);
+    void didRemoveTimer(int timerId, Frame*);
+    void willFireTimer(int timerId, Frame*);
+    void didFireTimer();
</ins><span class="cx">     void willCallFunction(const String&amp; scriptName, int scriptLine, Frame*);
</span><span class="cx">     void didCallFunction(Frame*);
</span><del>-
</del><ins>+    void willDispatchXHRReadyStateChangeEvent(const String&amp;, int, Frame*);
+    void didDispatchXHRReadyStateChangeEvent();
</ins><span class="cx">     void willDispatchEvent(const Event&amp;, Frame*);
</span><span class="cx">     void didDispatchEvent();
</span><del>-
-    void didInvalidateLayout(Frame*);
-    void willLayout(Frame*);
</del><ins>+    void willEvaluateScript(const String&amp;, int, Frame&amp;);
+    void didEvaluateScript(Frame&amp;);
+    void didInvalidateLayout(Frame&amp;);
+    void willLayout(Frame&amp;);
</ins><span class="cx">     void didLayout(RenderObject*);
</span><del>-
-    void didScheduleStyleRecalculation(Frame*);
</del><ins>+    void willScroll(Frame&amp;);
+    void didScroll();
+    void willDispatchXHRLoadEvent(const String&amp;, Frame*);
+    void didDispatchXHRLoadEvent();
+    void willPaint(Frame&amp;);
+    void didPaint(RenderObject*, const LayoutRect&amp;);
</ins><span class="cx">     void willRecalculateStyle(Frame*);
</span><span class="cx">     void didRecalculateStyle();
</span><del>-
-    void willPaint(Frame*);
-    void didPaint(RenderObject*, const LayoutRect&amp;);
-
-    void willScroll(Frame*);
-    void didScroll();
-
</del><ins>+    void didScheduleStyleRecalculation(Frame*);
</ins><span class="cx">     void willWriteHTML(unsigned startLine, Frame*);
</span><span class="cx">     void didWriteHTML(unsigned endLine);
</span><del>-
-    void didInstallTimer(int timerId, int timeout, bool singleShot, Frame*);
-    void didRemoveTimer(int timerId, Frame*);
-    void willFireTimer(int timerId, Frame*);
-    void didFireTimer();
-
-    void willDispatchXHRReadyStateChangeEvent(const String&amp;, int, Frame*);
-    void didDispatchXHRReadyStateChangeEvent();
-    void willDispatchXHRLoadEvent(const String&amp;, Frame*);
-    void didDispatchXHRLoadEvent();
-
-    void willEvaluateScript(const String&amp;, int, Frame*);
-    void didEvaluateScript(Frame*);
-
-    void didTimeStamp(Frame*, const String&amp;);
-    void didMarkDOMContentEvent(Frame*);
-    void didMarkLoadEvent(Frame*);
-
-    void time(Frame*, const String&amp;);
-    void timeEnd(Frame*, const String&amp;);
-
-    void didScheduleResourceRequest(const String&amp; url, Frame*);
</del><ins>+    void didTimeStamp(Frame&amp;, const String&amp;);
+    void didMarkDOMContentEvent(Frame&amp;);
+    void didMarkLoadEvent(Frame&amp;);
</ins><span class="cx">     void willSendResourceRequest(unsigned long, const ResourceRequest&amp;, Frame*);
</span><span class="cx">     void willReceiveResourceResponse(unsigned long, const ResourceResponse&amp;, Frame*);
</span><span class="cx">     void didReceiveResourceResponse();
</span><span class="cx">     void didFinishLoadingResource(unsigned long, bool didFail, double finishTime, Frame*);
</span><span class="cx">     void willReceiveResourceData(unsigned long identifier, Frame*, int length);
</span><span class="cx">     void didReceiveResourceData();
</span><del>-
</del><span class="cx">     void didRequestAnimationFrame(int callbackId, Frame*);
</span><span class="cx">     void didCancelAnimationFrame(int callbackId, Frame*);
</span><span class="cx">     void willFireAnimationFrame(int callbackId, Frame*);
</span><span class="cx">     void didFireAnimationFrame();
</span><del>-
</del><ins>+    void time(Frame&amp;, const String&amp;);
+    void timeEnd(Frame&amp;, const String&amp;);
</ins><span class="cx"> #if ENABLE(WEB_SOCKETS)
</span><span class="cx">     void didCreateWebSocket(unsigned long identifier, const URL&amp;, const String&amp; protocol, Frame*);
</span><span class="cx">     void willSendWebSocketHandshakeRequest(unsigned long identifier, Frame*);
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorPageRuntimeAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/PageRuntimeAgent.cpp (177992 => 177993)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/PageRuntimeAgent.cpp        2015-01-06 21:38:13 UTC (rev 177992)
+++ trunk/Source/WebCore/inspector/PageRuntimeAgent.cpp        2015-01-06 21:45:08 UTC (rev 177993)
</span><span class="lines">@@ -100,7 +100,7 @@
</span><span class="cx">     InspectorRuntimeAgent::disable(errorString);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void PageRuntimeAgent::didCreateMainWorldContext(Frame* frame)
</del><ins>+void PageRuntimeAgent::didCreateMainWorldContext(Frame&amp; frame)
</ins><span class="cx"> {
</span><span class="cx">     m_mainWorldContextCreated = true;
</span><span class="cx"> 
</span><span class="lines">@@ -108,21 +108,11 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     ASSERT(m_frontendDispatcher);
</span><del>-    String frameId = m_pageAgent-&gt;frameId(frame);
-    JSC::ExecState* scriptState = mainWorldExecState(frame);
</del><ins>+    String frameId = m_pageAgent-&gt;frameId(&amp;frame);
+    JSC::ExecState* scriptState = mainWorldExecState(&amp;frame);
</ins><span class="cx">     notifyContextCreated(frameId, scriptState, nullptr, true);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void PageRuntimeAgent::didCreateIsolatedContext(Frame* frame, JSC::ExecState* scriptState, SecurityOrigin* origin)
-{
-    if (!enabled())
-        return;
-
-    ASSERT(m_frontendDispatcher);
-    String frameId = m_pageAgent-&gt;frameId(frame);
-    notifyContextCreated(frameId, scriptState, origin, false);
-}
-
</del><span class="cx"> JSC::VM&amp; PageRuntimeAgent::globalVM()
</span><span class="cx"> {
</span><span class="cx">     return JSDOMWindowBase::commonVM();
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorPageRuntimeAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/PageRuntimeAgent.h (177992 => 177993)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/PageRuntimeAgent.h        2015-01-06 21:38:13 UTC (rev 177992)
+++ trunk/Source/WebCore/inspector/PageRuntimeAgent.h        2015-01-06 21:45:08 UTC (rev 177993)
</span><span class="lines">@@ -57,14 +57,14 @@
</span><span class="cx"> public:
</span><span class="cx">     PageRuntimeAgent(Inspector::InjectedScriptManager*, Page*, InspectorPageAgent*);
</span><span class="cx">     virtual ~PageRuntimeAgent() { }
</span><del>-    
</del><ins>+
</ins><span class="cx">     virtual void didCreateFrontendAndBackend(Inspector::InspectorFrontendChannel*, Inspector::InspectorBackendDispatcher*) override;
</span><span class="cx">     virtual void willDestroyFrontendAndBackend(Inspector::InspectorDisconnectReason) override;
</span><span class="cx">     virtual void enable(ErrorString&amp;) override;
</span><span class="cx">     virtual void disable(ErrorString&amp;) override;
</span><span class="cx"> 
</span><del>-    void didCreateMainWorldContext(Frame*);
-    void didCreateIsolatedContext(Frame*, JSC::ExecState*, SecurityOrigin*);
</del><ins>+    // InspectorInstrumentation callbacks.
+    void didCreateMainWorldContext(Frame&amp;);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     virtual JSC::VM&amp; globalVM() override;
</span></span></pre></div>
<a id="trunkSourceWebCorereplayReplayControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/replay/ReplayController.cpp (177992 => 177993)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/replay/ReplayController.cpp        2015-01-06 21:38:13 UTC (rev 177992)
+++ trunk/Source/WebCore/replay/ReplayController.cpp        2015-01-06 21:45:08 UTC (rev 177993)
</span><span class="lines">@@ -425,18 +425,17 @@
</span><span class="cx">     loader-&gt;frame()-&gt;script().globalObject(mainThreadNormalWorld())-&gt;setInputCursor(m_activeCursor.get());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ReplayController::frameDetached(Frame* frame)
</del><ins>+void ReplayController::frameDetached(Frame&amp; frame)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(m_sessionState != SessionState::Inactive);
</span><del>-    ASSERT(frame);
</del><span class="cx"> 
</span><del>-    if (!frame-&gt;document())
</del><ins>+    if (!frame.document())
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     // If the frame's cursor isn't capturing or replaying, we should do nothing.
</span><span class="cx">     // This is the case for the &quot;outbound&quot; frame when starting capture, or when
</span><span class="cx">     // we clear the input cursor to finish or prematurely unload a segment.
</span><del>-    if (frame-&gt;document()-&gt;inputCursor().isCapturing()) {
</del><ins>+    if (frame.document()-&gt;inputCursor().isCapturing()) {
</ins><span class="cx">         ASSERT(m_segmentState == SegmentState::Appending);
</span><span class="cx">         completeSegment();
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCorereplayReplayControllerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/replay/ReplayController.h (177992 => 177993)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/replay/ReplayController.h        2015-01-06 21:38:13 UTC (rev 177992)
+++ trunk/Source/WebCore/replay/ReplayController.h        2015-01-06 21:45:08 UTC (rev 177993)
</span><span class="lines">@@ -132,7 +132,7 @@
</span><span class="cx"> 
</span><span class="cx">     // InspectorReplayAgent notifications.
</span><span class="cx">     void frameNavigated(DocumentLoader*);
</span><del>-    void frameDetached(Frame*);
</del><ins>+    void frameDetached(Frame&amp;);
</ins><span class="cx">     void willDispatchEvent(const Event&amp;, Frame*);
</span><span class="cx"> 
</span><span class="cx">     Page&amp; page() const { return m_page; }
</span></span></pre>
</div>
</div>

</body>
</html>