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

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

<h3>Log Message</h3>
<pre>Web Inspector: Push InspectorAgent down into JSC, give JSC an InspectorController
https://bugs.webkit.org/show_bug.cgi?id=126763

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Introduce JSGlobalObjectInspectorController. This is the InspectorController
for a JSContext. It is created by the JSGlobalObject Remote Inspector Debuggable
when a remote frontend connects, and is destroyed when the remote frontend
disconnects of the JSGlobalObject is destroyed.

* inspector/JSGlobalObjectInspectorController.h: Added.
* inspector/JSGlobalObjectInspectorController.cpp: Added.
(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::~JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::connectFrontend):
(Inspector::JSGlobalObjectInspectorController::disconnectFrontend):
(Inspector::JSGlobalObjectInspectorController::dispatchMessageFromFrontend):
(Inspector::JSGlobalObjectInspectorController::functionCallHandler):
(Inspector::JSGlobalObjectInspectorController::evaluateHandler):
Create/destory agents, create/destroy dispatches, implement InspectorEnvironment.

* runtime/JSGlobalObjectDebuggable.h:
* runtime/JSGlobalObjectDebuggable.cpp:
(JSC::JSGlobalObjectDebuggable::~JSGlobalObjectDebuggable):
(JSC::JSGlobalObjectDebuggable::connect):
(JSC::JSGlobalObjectDebuggable::disconnect):
(JSC::JSGlobalObjectDebuggable::dispatchMessageFromRemoteFrontend):
Forward actions to the InspectorController object.

* inspector/agents/InspectorAgent.h: Renamed from Source/WebCore/inspector/InspectorAgent.h.
* inspector/agents/InspectorAgent.cpp: Renamed from Source/WebCore/inspector/InspectorAgent.cpp.
(Inspector::InspectorAgent::InspectorAgent):
(Inspector::InspectorAgent::~InspectorAgent):
(Inspector::InspectorAgent::didCreateFrontendAndBackend):
(Inspector::InspectorAgent::inspect):
(Inspector::InspectorAgent::evaluateForTestInFrontend):
Implement InspectorAgent in JavaScriptCore in namespace Inspector.

* JavaScriptCore.xcodeproj/project.pbxproj:
* CMakeLists.txt:
* ChangeLog:
* GNUmakefile.am:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.vcxproj/copy-files.cmd:
Add files and new inspector/agents subdirectory.

Source/WebCore:

No new tests, no observable change in functionality.

* CMakeLists.txt:
* ForwardingHeaders/inspector/InspectorAgent.h: Added.
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* inspector/InspectorAllInOne.cpp:
InspectorAgent moved to JavaScriptCore.

* inspector/PageConsoleAgent.cpp:
(WebCore::PageConsoleAgent::PageConsoleAgent):
(WebCore::PageConsoleAgent::~PageConsoleAgent):
* inspector/PageConsoleAgent.h:
(WebCore::PageConsoleAgent::create):
* inspector/InspectorApplicationCacheAgent.cpp:
* inspector/InspectorApplicationCacheAgent.h:
InspectorAgent was not used by these files, remove it.

* inspector/CommandLineAPIHost.cpp:
* inspector/CommandLineAPIHost.h:
(WebCore::CommandLineAPIHost::init):
* inspector/InspectorInstrumentation.cpp:
* inspector/InstrumentingAgents.h:
(WebCore::InstrumentingAgents::inspectorAgent):
(WebCore::InstrumentingAgents::setInspectorAgent):
Switch to Inspector::InspectorAgent where applicable.

* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorController.h:
Manually add InspectorAgent to the InstrumentingAgents. It is one
of the agents that is always available in InstrumentingAgents.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreCMakeListstxt">trunk/Source/JavaScriptCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreGNUmakefileam">trunk/Source/JavaScriptCore/GNUmakefile.am</a></li>
<li><a href="#trunkSourceJavaScriptCoreGNUmakefilelistam">trunk/Source/JavaScriptCore/GNUmakefile.list.am</a></li>
<li><a href="#trunkSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxproj">trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj</a></li>
<li><a href="#trunkSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxprojfilters">trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters</a></li>
<li><a href="#trunkSourceJavaScriptCoreJavaScriptCorevcxprojcopyfilescmd">trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/copy-files.cmd</a></li>
<li><a href="#trunkSourceJavaScriptCoreJavaScriptCorexcodeprojprojectpbxproj">trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSGlobalObjectDebuggablecpp">trunk/Source/JavaScriptCore/runtime/JSGlobalObjectDebuggable.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSGlobalObjectDebuggableh">trunk/Source/JavaScriptCore/runtime/JSGlobalObjectDebuggable.h</a></li>
<li><a href="#trunkSourceWebCoreCMakeListstxt">trunk/Source/WebCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreGNUmakefilelistam">trunk/Source/WebCore/GNUmakefile.list.am</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCorevcxproj">trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCorevcxprojfilters">trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCoreinspectorCommandLineAPIHostcpp">trunk/Source/WebCore/inspector/CommandLineAPIHost.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorCommandLineAPIHosth">trunk/Source/WebCore/inspector/CommandLineAPIHost.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorAllInOnecpp">trunk/Source/WebCore/inspector/InspectorAllInOne.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorApplicationCacheAgentcpp">trunk/Source/WebCore/inspector/InspectorApplicationCacheAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorApplicationCacheAgenth">trunk/Source/WebCore/inspector/InspectorApplicationCacheAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorControllercpp">trunk/Source/WebCore/inspector/InspectorController.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorControllerh">trunk/Source/WebCore/inspector/InspectorController.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorInstrumentationcpp">trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInstrumentingAgentsh">trunk/Source/WebCore/inspector/InstrumentingAgents.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorPageConsoleAgentcpp">trunk/Source/WebCore/inspector/PageConsoleAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorPageConsoleAgenth">trunk/Source/WebCore/inspector/PageConsoleAgent.h</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreinspectorJSGlobalObjectInspectorControllercpp">trunk/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorJSGlobalObjectInspectorControllerh">trunk/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.h</a></li>
<li>trunk/Source/JavaScriptCore/inspector/agents/</li>
<li><a href="#trunkSourceJavaScriptCoreinspectoragentsInspectorAgentcpp">trunk/Source/JavaScriptCore/inspector/agents/InspectorAgent.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectoragentsInspectorAgenth">trunk/Source/JavaScriptCore/inspector/agents/InspectorAgent.h</a></li>
<li>trunk/Source/WebCore/ForwardingHeaders/inspector/agents/</li>
<li><a href="#trunkSourceWebCoreForwardingHeadersinspectoragentsInspectorAgenth">trunk/Source/WebCore/ForwardingHeaders/inspector/agents/InspectorAgent.h</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreinspectorInspectorAgentcpp">trunk/Source/WebCore/inspector/InspectorAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorAgenth">trunk/Source/WebCore/inspector/InspectorAgent.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceJavaScriptCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/CMakeLists.txt (161732 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/CMakeLists.txt        2014-01-11 05:06:10 UTC (rev 161732)
+++ trunk/Source/JavaScriptCore/CMakeLists.txt        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -13,6 +13,7 @@
</span><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/heap&quot;
</span><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/debugger&quot;
</span><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/inspector&quot;
</span><ins>+    &quot;${JAVASCRIPTCORE_DIR}/inspector/agents&quot;
</ins><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/interpreter&quot;
</span><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/jit&quot;
</span><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/llint&quot;
</span><span class="lines">@@ -235,6 +236,7 @@
</span><span class="cx">     inspector/InjectedScriptModule.cpp
</span><span class="cx">     inspector/JSInjectedScriptHost.cpp
</span><span class="cx">     inspector/JSInjectedScriptHostPrototype.cpp
</span><ins>+    inspector/agents/InspectorAgent.cpp
</ins><span class="cx"> 
</span><span class="cx">     interpreter/AbstractPC.cpp
</span><span class="cx">     interpreter/CallFrame.cpp
</span><span class="lines">@@ -712,6 +714,7 @@
</span><span class="cx">     debugger
</span><span class="cx">     heap
</span><span class="cx">     inspector
</span><ins>+    inspector/agents
</ins><span class="cx">     interpreter
</span><span class="cx">     jit
</span><span class="cx">     llint
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (161732 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2014-01-11 05:06:10 UTC (rev 161732)
+++ trunk/Source/JavaScriptCore/ChangeLog        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -1,3 +1,53 @@
</span><ins>+2014-01-10  Joseph Pecoraro  &lt;pecoraro@apple.com&gt;
+
+        Web Inspector: Push InspectorAgent down into JSC, give JSC an InspectorController
+        https://bugs.webkit.org/show_bug.cgi?id=126763
+
+        Reviewed by Timothy Hatcher.
+
+        Introduce JSGlobalObjectInspectorController. This is the InspectorController
+        for a JSContext. It is created by the JSGlobalObject Remote Inspector Debuggable
+        when a remote frontend connects, and is destroyed when the remote frontend
+        disconnects of the JSGlobalObject is destroyed.
+
+        * inspector/JSGlobalObjectInspectorController.h: Added.
+        * inspector/JSGlobalObjectInspectorController.cpp: Added.
+        (Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
+        (Inspector::JSGlobalObjectInspectorController::~JSGlobalObjectInspectorController):
+        (Inspector::JSGlobalObjectInspectorController::connectFrontend):
+        (Inspector::JSGlobalObjectInspectorController::disconnectFrontend):
+        (Inspector::JSGlobalObjectInspectorController::dispatchMessageFromFrontend):
+        (Inspector::JSGlobalObjectInspectorController::functionCallHandler):
+        (Inspector::JSGlobalObjectInspectorController::evaluateHandler):
+        Create/destory agents, create/destroy dispatches, implement InspectorEnvironment.
+
+        * runtime/JSGlobalObjectDebuggable.h:
+        * runtime/JSGlobalObjectDebuggable.cpp:
+        (JSC::JSGlobalObjectDebuggable::~JSGlobalObjectDebuggable):
+        (JSC::JSGlobalObjectDebuggable::connect):
+        (JSC::JSGlobalObjectDebuggable::disconnect):
+        (JSC::JSGlobalObjectDebuggable::dispatchMessageFromRemoteFrontend):
+        Forward actions to the InspectorController object.
+
+        * inspector/agents/InspectorAgent.h: Renamed from Source/WebCore/inspector/InspectorAgent.h.
+        * inspector/agents/InspectorAgent.cpp: Renamed from Source/WebCore/inspector/InspectorAgent.cpp.
+        (Inspector::InspectorAgent::InspectorAgent):
+        (Inspector::InspectorAgent::~InspectorAgent):
+        (Inspector::InspectorAgent::didCreateFrontendAndBackend):
+        (Inspector::InspectorAgent::inspect):
+        (Inspector::InspectorAgent::evaluateForTestInFrontend):
+        Implement InspectorAgent in JavaScriptCore in namespace Inspector.
+
+        * JavaScriptCore.xcodeproj/project.pbxproj:
+        * CMakeLists.txt:
+        * ChangeLog:
+        * GNUmakefile.am:
+        * GNUmakefile.list.am:
+        * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
+        * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
+        * JavaScriptCore.vcxproj/copy-files.cmd:
+        Add files and new inspector/agents subdirectory.
+
</ins><span class="cx"> 2014-01-10  Commit Queue  &lt;commit-queue@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         Unreviewed, rolling out r161702.
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreGNUmakefileam"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/GNUmakefile.am (161732 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/GNUmakefile.am        2014-01-11 05:06:10 UTC (rev 161732)
+++ trunk/Source/JavaScriptCore/GNUmakefile.am        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -59,6 +59,7 @@
</span><span class="cx">         -I$(srcdir)/Source/JavaScriptCore/ftl \
</span><span class="cx">         -I$(srcdir)/Source/JavaScriptCore/heap \
</span><span class="cx">         -I$(srcdir)/Source/JavaScriptCore/inspector \
</span><ins>+        -I$(srcdir)/Source/JavaScriptCore/inspector/agents \
</ins><span class="cx">         -I$(srcdir)/Source/JavaScriptCore/interpreter \
</span><span class="cx">         -I$(srcdir)/Source/JavaScriptCore/jit \
</span><span class="cx">         -I$(srcdir)/Source/JavaScriptCore/llint \
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreGNUmakefilelistam"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/GNUmakefile.list.am (161732 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/GNUmakefile.list.am        2014-01-11 05:06:10 UTC (rev 161732)
+++ trunk/Source/JavaScriptCore/GNUmakefile.list.am        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -651,6 +651,8 @@
</span><span class="cx">         Source/JavaScriptCore/inspector/JSInjectedScriptHost.h \
</span><span class="cx">         Source/JavaScriptCore/inspector/JSInjectedScriptHostPrototype.cpp \
</span><span class="cx">         Source/JavaScriptCore/inspector/JSInjectedScriptHostPrototype.h \
</span><ins>+        Source/JavaScriptCore/inspector/agents/InspectorAgent.h \
+        Source/JavaScriptCore/inspector/agents/InspectorAgent.cpp \
</ins><span class="cx">         Source/JavaScriptCore/interpreter/AbstractPC.cpp \
</span><span class="cx">         Source/JavaScriptCore/interpreter/AbstractPC.h \
</span><span class="cx">         Source/JavaScriptCore/interpreter/CachedCall.h \
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj (161732 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj        2014-01-11 05:06:10 UTC (rev 161732)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -485,6 +485,7 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\inspector\InspectorValues.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\inspector\JSInjectedScriptHost.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\inspector\JSInjectedScriptHostPrototype.cpp&quot; /&gt;
</span><ins>+    &lt;ClCompile Include=&quot;..\inspector\agents\InspectorAgent.cpp&quot; /&gt;
</ins><span class="cx">     &lt;ClCompile Include=&quot;..\interpreter\AbstractPC.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\interpreter\CallFrame.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\interpreter\Interpreter.cpp&quot; /&gt;
</span><span class="lines">@@ -1054,6 +1055,7 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\InspectorValues.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\JSInjectedScriptHost.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\JSInjectedScriptHostPrototype.h&quot; /&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\inspector\agents\InspectorAgent.h&quot; /&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\interpreter\AbstractPC.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\interpreter\CachedCall.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\interpreter\CallFrame.h&quot; /&gt;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxprojfilters"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters (161732 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters        2014-01-11 05:06:10 UTC (rev 161732)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -294,6 +294,9 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\inspector\InspectorValues.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;inspector&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><ins>+    &lt;ClCompile Include=&quot;..\inspector\agents\InspectorAgent.cpp&quot;&gt;
+      &lt;Filter&gt;inspector&lt;/Filter&gt;
+    &lt;/ClCompile&gt;
</ins><span class="cx">     &lt;ClCompile Include=&quot;..\interpreter\AbstractPC.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;interpreter&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -1784,6 +1787,9 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\InspectorValues.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;inspector&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\inspector\agents\InspectorAgent.h&quot;&gt;
+      &lt;Filter&gt;inspector&lt;/Filter&gt;
+    &lt;/ClInclude&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\interpreter\AbstractPC.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;interpreter&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorevcxprojcopyfilescmd"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/copy-files.cmd (161732 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/copy-files.cmd        2014-01-11 05:06:10 UTC (rev 161732)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/copy-files.cmd        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -47,6 +47,7 @@
</span><span class="cx">     heap
</span><span class="cx">     debugger
</span><span class="cx">     inspector
</span><ins>+    inspector\agents
</ins><span class="cx">     interpreter
</span><span class="cx">     jit
</span><span class="cx">     llint
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj (161732 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj        2014-01-11 05:06:10 UTC (rev 161732)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -900,6 +900,8 @@
</span><span class="cx">                 A1712B4111C7B235007A5315 /* RegExpKey.h in Headers */ = {isa = PBXBuildFile; fileRef = A1712B4011C7B235007A5315 /* RegExpKey.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 A1A009C01831A22D00CF8711 /* MacroAssemblerARM64.h in Headers */ = {isa = PBXBuildFile; fileRef = 8640923C156EED3B00566CB2 /* MacroAssemblerARM64.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 A1A009C11831A26E00CF8711 /* ARM64Assembler.h in Headers */ = {isa = PBXBuildFile; fileRef = 8640923B156EED3B00566CB2 /* ARM64Assembler.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><ins>+                A51007C0187CC3C600B38879 /* JSGlobalObjectInspectorController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A51007BE187CC3C600B38879 /* JSGlobalObjectInspectorController.cpp */; };
+                A51007C1187CC3C600B38879 /* JSGlobalObjectInspectorController.h in Headers */ = {isa = PBXBuildFile; fileRef = A51007BF187CC3C600B38879 /* JSGlobalObjectInspectorController.h */; };
</ins><span class="cx">                 A513E5B7185B8BD3007E95AD /* InjectedScript.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A513E5B5185B8BD3007E95AD /* InjectedScript.cpp */; };
</span><span class="cx">                 A513E5B8185B8BD3007E95AD /* InjectedScript.h in Headers */ = {isa = PBXBuildFile; fileRef = A513E5B6185B8BD3007E95AD /* InjectedScript.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 A513E5BE185BFACC007E95AD /* InjectedScriptHost.h in Headers */ = {isa = PBXBuildFile; fileRef = A513E5B9185BFACC007E95AD /* InjectedScriptHost.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -955,6 +957,8 @@
</span><span class="cx">                 A5BA15ED182340B400A82E69 /* RemoteInspectorXPCConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = A5BA15E6182340B300A82E69 /* RemoteInspectorXPCConnection.h */; };
</span><span class="cx">                 A5BA15EE182340B400A82E69 /* RemoteInspectorXPCConnection.mm in Sources */ = {isa = PBXBuildFile; fileRef = A5BA15E7182340B300A82E69 /* RemoteInspectorXPCConnection.mm */; };
</span><span class="cx">                 A5BA15F0182345AF00A82E69 /* RemoteInspectorDebuggable.h in Headers */ = {isa = PBXBuildFile; fileRef = A5BA15EF182345AF00A82E69 /* RemoteInspectorDebuggable.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><ins>+                A5CEEE14187F3BAD00E55C99 /* InspectorAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A5CEEE12187F3BAD00E55C99 /* InspectorAgent.cpp */; };
+                A5CEEE15187F3BAD00E55C99 /* InspectorAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = A5CEEE13187F3BAD00E55C99 /* InspectorAgent.h */; settings = {ATTRIBUTES = (Private, ); }; };
</ins><span class="cx">                 A5D0A1BB1862301B00C7B496 /* InspectorEnvironment.h in Headers */ = {isa = PBXBuildFile; fileRef = A5D0A1BA1862301B00C7B496 /* InspectorEnvironment.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 A700873917CBE85300C3E643 /* MapConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A700873717CBE85300C3E643 /* MapConstructor.cpp */; };
</span><span class="cx">                 A700873A17CBE85300C3E643 /* MapConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = A700873817CBE85300C3E643 /* MapConstructor.h */; };
</span><span class="lines">@@ -2281,6 +2285,8 @@
</span><span class="cx">                 A1712B3A11C7B212007A5315 /* RegExpCache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RegExpCache.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A1712B3E11C7B228007A5315 /* RegExpCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegExpCache.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A1712B4011C7B235007A5315 /* RegExpKey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegExpKey.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                A51007BE187CC3C600B38879 /* JSGlobalObjectInspectorController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSGlobalObjectInspectorController.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A51007BF187CC3C600B38879 /* JSGlobalObjectInspectorController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSGlobalObjectInspectorController.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 A513E5B5185B8BD3007E95AD /* InjectedScript.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InjectedScript.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A513E5B6185B8BD3007E95AD /* InjectedScript.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InjectedScript.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A513E5B9185BFACC007E95AD /* InjectedScriptHost.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InjectedScriptHost.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -2339,6 +2345,8 @@
</span><span class="cx">                 A5BA15E6182340B300A82E69 /* RemoteInspectorXPCConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RemoteInspectorXPCConnection.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A5BA15E7182340B300A82E69 /* RemoteInspectorXPCConnection.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RemoteInspectorXPCConnection.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A5BA15EF182345AF00A82E69 /* RemoteInspectorDebuggable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RemoteInspectorDebuggable.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                A5CEEE12187F3BAD00E55C99 /* InspectorAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorAgent.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A5CEEE13187F3BAD00E55C99 /* InspectorAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorAgent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 A5D0A1BA1862301B00C7B496 /* InspectorEnvironment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorEnvironment.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A700873717CBE85300C3E643 /* MapConstructor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MapConstructor.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A700873817CBE85300C3E643 /* MapConstructor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MapConstructor.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -4317,6 +4325,15 @@
</span><span class="cx">                         path = bytecode;
</span><span class="cx">                         sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="cx">                 };
</span><ins>+                A513E5CC185FB992007E95AD /* agents */ = {
+                        isa = PBXGroup;
+                        children = (
+                                A5CEEE12187F3BAD00E55C99 /* InspectorAgent.cpp */,
+                                A5CEEE13187F3BAD00E55C99 /* InspectorAgent.h */,
+                        );
+                        path = agents;
+                        sourceTree = &quot;&lt;group&gt;&quot;;
+                };
</ins><span class="cx">                 A532438E185696CE002ED692 /* scripts */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><span class="lines">@@ -4348,6 +4365,7 @@
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><span class="cx">                                 A532438D185696CA002ED692 /* protocol */,
</span><ins>+                                A513E5CC185FB992007E95AD /* agents */,
</ins><span class="cx">                                 A5BA15E01823409D00A82E69 /* remote */,
</span><span class="cx">                                 A532438E185696CE002ED692 /* scripts */,
</span><span class="cx">                                 A513E5B5185B8BD3007E95AD /* InjectedScript.cpp */,
</span><span class="lines">@@ -4371,6 +4389,8 @@
</span><span class="cx">                                 A55D93AB18514F7900400DED /* InspectorTypeBuilder.h */,
</span><span class="cx">                                 A593CF801840377100BFCE27 /* InspectorValues.cpp */,
</span><span class="cx">                                 A593CF811840377100BFCE27 /* InspectorValues.h */,
</span><ins>+                                A51007BE187CC3C600B38879 /* JSGlobalObjectInspectorController.cpp */,
+                                A51007BF187CC3C600B38879 /* JSGlobalObjectInspectorController.h */,
</ins><span class="cx">                                 A513E5BA185BFACC007E95AD /* JSInjectedScriptHost.cpp */,
</span><span class="cx">                                 A513E5BB185BFACC007E95AD /* JSInjectedScriptHost.h */,
</span><span class="cx">                                 A513E5BC185BFACC007E95AD /* JSInjectedScriptHostPrototype.cpp */,
</span><span class="lines">@@ -4438,6 +4458,7 @@
</span><span class="cx">                                 A76140D0182982CB00750624 /* ArgumentsIteratorPrototype.h in Headers */,
</span><span class="cx">                                 86D3B2C410156BDE002865E7 /* ARMAssembler.h in Headers */,
</span><span class="cx">                                 86ADD1450FDDEA980006EEC2 /* ARMv7Assembler.h in Headers */,
</span><ins>+                                A5CEEE15187F3BAD00E55C99 /* InspectorAgent.h in Headers */,
</ins><span class="cx">                                 65C0285D1717966800351E35 /* ARMv7DOpcode.h in Headers */,
</span><span class="cx">                                 2A68295B1875F80500B6C3E2 /* CopyWriteBarrier.h in Headers */,
</span><span class="cx">                                 2A4EC90C1860D6C20094F782 /* WriteBarrierBuffer.h in Headers */,
</span><span class="lines">@@ -4953,6 +4974,7 @@
</span><span class="cx">                                 A78507D717CBC6FD0011F6E7 /* MapData.h in Headers */,
</span><span class="cx">                                 A700873E17CBE8D300C3E643 /* MapPrototype.h in Headers */,
</span><span class="cx">                                 C2B916C214DA014E00CBAC86 /* MarkedAllocator.h in Headers */,
</span><ins>+                                A51007C1187CC3C600B38879 /* JSGlobalObjectInspectorController.h in Headers */,
</ins><span class="cx">                                 142D6F0913539A2800B02E86 /* MarkedBlock.h in Headers */,
</span><span class="cx">                                 141448CB13A176EC00F5BA1A /* MarkedBlockSet.h in Headers */,
</span><span class="cx">                                 14D2F3DB139F4BE200491031 /* MarkedSpace.h in Headers */,
</span><span class="lines">@@ -5904,6 +5926,7 @@
</span><span class="cx">                                 A7E2EA6C0FB460CF00601F06 /* LiteralParser.cpp in Sources */,
</span><span class="cx">                                 FE20CE9D15F04A9500DF3430 /* LLIntCLoop.cpp in Sources */,
</span><span class="cx">                                 0F4680D214BBD16500BFE272 /* LLIntData.cpp in Sources */,
</span><ins>+                                A51007C0187CC3C600B38879 /* JSGlobalObjectInspectorController.cpp in Sources */,
</ins><span class="cx">                                 0F38B01117CF078000B144D3 /* LLIntEntrypoint.cpp in Sources */,
</span><span class="cx">                                 0F4680A814BA7FAB00BFE272 /* LLIntExceptions.cpp in Sources */,
</span><span class="cx">                                 0F4680A414BA7F8D00BFE272 /* LLIntSlowPaths.cpp in Sources */,
</span><span class="lines">@@ -5978,6 +6001,7 @@
</span><span class="cx">                                 1474C33C16AA2D9B0062F01D /* PrototypeMap.cpp in Sources */,
</span><span class="cx">                                 0F9332A314CA7DD70085F3C6 /* PutByIdStatus.cpp in Sources */,
</span><span class="cx">                                 0FF60AC316740F8800029779 /* ReduceWhitespace.cpp in Sources */,
</span><ins>+                                A5CEEE14187F3BAD00E55C99 /* InspectorAgent.cpp in Sources */,
</ins><span class="cx">                                 14280841107EC0930013E7B2 /* RegExp.cpp in Sources */,
</span><span class="cx">                                 A1712B3B11C7B212007A5315 /* RegExpCache.cpp in Sources */,
</span><span class="cx">                                 8642C510151C06A90046D4EF /* RegExpCachedResult.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorJSGlobalObjectInspectorControllercpp"></a>
<div class="addfile"><h4>Added: trunk/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp (0 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp                                (rev 0)
+++ trunk/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -0,0 +1,104 @@
</span><ins>+/*
+ * Copyright (C) 2014 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include &quot;config.h&quot;
+#include &quot;JSGlobalObjectInspectorController.h&quot;
+
+#if ENABLE(INSPECTOR)
+
+#include &quot;Completion.h&quot;
+#include &quot;InjectedScriptHost.h&quot;
+#include &quot;InjectedScriptManager.h&quot;
+#include &quot;InspectorAgent.h&quot;
+#include &quot;InspectorBackendDispatcher.h&quot;
+#include &quot;InspectorFrontendChannel.h&quot;
+#include &quot;JSGlobalObject.h&quot;
+
+using namespace JSC;
+
+namespace Inspector {
+
+JSGlobalObjectInspectorController::JSGlobalObjectInspectorController(JSGlobalObject&amp; globalObject)
+    : m_globalObject(globalObject)
+    , m_injectedScriptManager(std::make_unique&lt;InjectedScriptManager&gt;(*this, InjectedScriptHost::create()))
+    , m_inspectorFrontendChannel(nullptr)
+{
+    OwnPtr&lt;InspectorAgent&gt; inspectorAgent(InspectorAgent::create());
+    m_agents.append(inspectorAgent.release());
+
+    // FIXME: Create RuntimeAgent.
+    // FIXME: Create DebuggerAgent.
+    (void)m_globalObject; // Will be used by RuntimeAgent.
+}
+
+JSGlobalObjectInspectorController::~JSGlobalObjectInspectorController()
+{
+    m_agents.discardAgents();
+}
+
+void JSGlobalObjectInspectorController::connectFrontend(InspectorFrontendChannel* frontendChannel)
+{
+    ASSERT(!m_inspectorFrontendChannel);
+    ASSERT(!m_inspectorBackendDispatcher);
+
+    m_inspectorFrontendChannel = frontendChannel;
+    m_inspectorBackendDispatcher = InspectorBackendDispatcher::create(frontendChannel);
+
+    m_agents.didCreateFrontendAndBackend(frontendChannel, m_inspectorBackendDispatcher.get());
+}
+
+void JSGlobalObjectInspectorController::disconnectFrontend()
+{
+    if (!m_inspectorFrontendChannel)
+        return;
+
+    m_agents.willDestroyFrontendAndBackend();
+
+    m_inspectorBackendDispatcher-&gt;clearFrontend();
+    m_inspectorBackendDispatcher.clear();
+    m_inspectorFrontendChannel = nullptr;
+
+    m_injectedScriptManager-&gt;disconnect();
+}
+
+void JSGlobalObjectInspectorController::dispatchMessageFromFrontend(const String&amp; message)
+{
+    if (m_inspectorBackendDispatcher)
+        m_inspectorBackendDispatcher-&gt;dispatch(message);
+}
+
+InspectorFunctionCallHandler JSGlobalObjectInspectorController::functionCallHandler() const
+{
+    return JSC::call;
+}
+
+InspectorEvaluateHandler JSGlobalObjectInspectorController::evaluateHandler() const
+{
+    return JSC::evaluate;
+}
+
+} // namespace Inspector
+
+#endif // ENABLE(INSPECTOR)
</ins></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorJSGlobalObjectInspectorControllerh"></a>
<div class="addfile"><h4>Added: trunk/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.h (0 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.h                                (rev 0)
+++ trunk/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.h        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -0,0 +1,78 @@
</span><ins>+/*
+ * Copyright (C) 2014 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef JSGlobalObjectInspectorController_h
+#define JSGlobalObjectInspectorController_h
+
+#if ENABLE(INSPECTOR)
+
+#include &quot;InspectorAgentRegistry.h&quot;
+#include &quot;InspectorEnvironment.h&quot;
+#include &lt;wtf/Forward.h&gt;
+#include &lt;wtf/Noncopyable.h&gt;
+#include &lt;wtf/text/WTFString.h&gt;
+
+namespace JSC {
+class ExecState;
+class JSGlobalObject;
+}
+
+namespace Inspector {
+
+class InjectedScriptManager;
+class InspectorBackendDispatcher;
+class InspectorFrontendChannel;
+
+class JSGlobalObjectInspectorController FINAL : public InspectorEnvironment {
+    WTF_MAKE_NONCOPYABLE(JSGlobalObjectInspectorController);
+    WTF_MAKE_FAST_ALLOCATED;
+public:
+    JSGlobalObjectInspectorController(JSC::JSGlobalObject&amp;);
+    ~JSGlobalObjectInspectorController();
+
+    void connectFrontend(InspectorFrontendChannel*);
+    void disconnectFrontend();
+    void dispatchMessageFromFrontend(const String&amp;);
+
+    virtual bool developerExtrasEnabled() const OVERRIDE { return true; }
+    virtual bool canAccessInspectedScriptState(JSC::ExecState*) const OVERRIDE { return true; }
+    virtual InspectorFunctionCallHandler functionCallHandler() const OVERRIDE;
+    virtual InspectorEvaluateHandler evaluateHandler() const OVERRIDE;
+    virtual void willCallInjectedScriptFunction(JSC::ExecState*, const String&amp;, int) OVERRIDE { }
+    virtual void didCallInjectedScriptFunction() OVERRIDE { }
+
+private:
+    JSC::JSGlobalObject&amp; m_globalObject;
+    std::unique_ptr&lt;InjectedScriptManager&gt; m_injectedScriptManager;
+    InspectorAgentRegistry m_agents;
+    InspectorFrontendChannel* m_inspectorFrontendChannel;
+    RefPtr&lt;InspectorBackendDispatcher&gt; m_inspectorBackendDispatcher;
+};
+
+} // namespace Inspector
+
+#endif // ENABLE(INSPECTOR)
+
+#endif // !defined(JSGlobalObjectInspectorController_h)
</ins></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectoragentsInspectorAgentcppfromrev161731trunkSourceWebCoreinspectorInspectorAgentcpp"></a>
<div class="copfile"><h4>Copied: trunk/Source/JavaScriptCore/inspector/agents/InspectorAgent.cpp (from rev 161731, trunk/Source/WebCore/inspector/InspectorAgent.cpp) (0 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/agents/InspectorAgent.cpp                                (rev 0)
+++ trunk/Source/JavaScriptCore/inspector/agents/InspectorAgent.cpp        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -0,0 +1,110 @@
</span><ins>+/*
+ * Copyright (C) 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
+ * Copyright (C) 2008 Matt Lilek &lt;webkit@mattlilek.com&gt;
+ * Copyright (C) 2011 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1.  Redistributions of source code must retain the above copyright
+ *     notice, this list of conditions and the following disclaimer.
+ * 2.  Redistributions in binary form must reproduce the above copyright
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution.
+ * 3.  Neither the name of Apple Computer, Inc. (&quot;Apple&quot;) nor the names of
+ *     its contributors may be used to endorse or promote products derived
+ *     from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS &quot;AS IS&quot; AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include &quot;config.h&quot;
+#include &quot;InspectorAgent.h&quot;
+
+#if ENABLE(INSPECTOR)
+
+#include &quot;InspectorValues.h&quot;
+#include &quot;ScriptValue.h&quot;
+#include &lt;wtf/PassRefPtr.h&gt;
+#include &lt;wtf/RefPtr.h&gt;
+
+namespace Inspector {
+
+InspectorAgent::InspectorAgent()
+    : InspectorAgentBase(ASCIILiteral(&quot;Inspector&quot;))
+    , m_enabled(false)
+{
+}
+
+InspectorAgent::~InspectorAgent()
+{
+}
+
+void InspectorAgent::didCreateFrontendAndBackend(InspectorFrontendChannel* frontendChannel, InspectorBackendDispatcher* backendDispatcher)
+{
+    m_frontendDispatcher = std::make_unique&lt;InspectorInspectorFrontendDispatcher&gt;(frontendChannel);
+    m_backendDispatcher = InspectorInspectorBackendDispatcher::create(backendDispatcher, this);
+}
+
+void InspectorAgent::willDestroyFrontendAndBackend()
+{
+    m_frontendDispatcher = nullptr;
+    m_backendDispatcher.clear();
+
+    m_pendingEvaluateTestCommands.clear();
+
+    ErrorString error;
+    disable(&amp;error);
+}
+
+void InspectorAgent::enable(ErrorString*)
+{
+    m_enabled = true;
+
+    if (m_pendingInspectData.first)
+        inspect(m_pendingInspectData.first, m_pendingInspectData.second);
+
+    for (Vector&lt;std::pair&lt;long, String&gt;&gt;::iterator it = m_pendingEvaluateTestCommands.begin(); m_frontendDispatcher &amp;&amp; it != m_pendingEvaluateTestCommands.end(); ++it)
+        m_frontendDispatcher-&gt;evaluateForTestInFrontend(static_cast&lt;int&gt;((*it).first), (*it).second);
+    m_pendingEvaluateTestCommands.clear();
+}
+
+void InspectorAgent::disable(ErrorString*)
+{
+    m_enabled = false;
+}
+
+void InspectorAgent::inspect(PassRefPtr&lt;TypeBuilder::Runtime::RemoteObject&gt; objectToInspect, PassRefPtr&lt;InspectorObject&gt; hints)
+{
+    if (m_enabled &amp;&amp; m_frontendDispatcher) {
+        m_frontendDispatcher-&gt;inspect(objectToInspect, hints);
+        m_pendingInspectData.first = nullptr;
+        m_pendingInspectData.second = nullptr;
+        return;
+    }
+
+    m_pendingInspectData.first = objectToInspect;
+    m_pendingInspectData.second = hints;
+}
+
+void InspectorAgent::evaluateForTestInFrontend(long callId, const String&amp; script)
+{
+    if (m_enabled &amp;&amp; m_frontendDispatcher)
+        m_frontendDispatcher-&gt;evaluateForTestInFrontend(static_cast&lt;int&gt;(callId), script);
+    else
+        m_pendingEvaluateTestCommands.append(std::pair&lt;long, String&gt;(callId, script));
+}
+
+} // namespace Inspector
+
+#endif // ENABLE(INSPECTOR)
</ins></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectoragentsInspectorAgenthfromrev161731trunkSourceWebCoreinspectorInspectorAgenth"></a>
<div class="copfile"><h4>Copied: trunk/Source/JavaScriptCore/inspector/agents/InspectorAgent.h (from rev 161731, trunk/Source/WebCore/inspector/InspectorAgent.h) (0 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/agents/InspectorAgent.h                                (rev 0)
+++ trunk/Source/JavaScriptCore/inspector/agents/InspectorAgent.h        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -0,0 +1,74 @@
</span><ins>+/*
+ * Copyright (C) 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
+ * Copyright (C) 2011 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1.  Redistributions of source code must retain the above copyright
+ *     notice, this list of conditions and the following disclaimer.
+ * 2.  Redistributions in binary form must reproduce the above copyright
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution.
+ * 3.  Neither the name of Apple Computer, Inc. (&quot;Apple&quot;) nor the names of
+ *     its contributors may be used to endorse or promote products derived
+ *     from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS &quot;AS IS&quot; AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef InspectorAgent_h
+#define InspectorAgent_h
+
+#include &quot;InspectorJSBackendDispatchers.h&quot;
+#include &quot;InspectorJSFrontendDispatchers.h&quot;
+#include &quot;inspector/InspectorAgentBase.h&quot;
+#include &lt;wtf/Forward.h&gt;
+#include &lt;wtf/PassOwnPtr.h&gt;
+#include &lt;wtf/Vector.h&gt;
+
+namespace Inspector {
+
+class InspectorObject;
+class InstrumentingAgents;
+
+typedef String ErrorString;
+
+class JS_EXPORT_PRIVATE InspectorAgent FINAL : public InspectorAgentBase, public InspectorInspectorBackendDispatcherHandler {
+    WTF_MAKE_NONCOPYABLE(InspectorAgent);
+public:
+    static PassOwnPtr&lt;InspectorAgent&gt; create() { return adoptPtr(new InspectorAgent); }
+    virtual ~InspectorAgent();
+
+    virtual void didCreateFrontendAndBackend(InspectorFrontendChannel*, InspectorBackendDispatcher*) OVERRIDE;
+    virtual void willDestroyFrontendAndBackend() OVERRIDE;
+
+    virtual void enable(ErrorString*) OVERRIDE;
+    virtual void disable(ErrorString*) OVERRIDE;
+
+    void inspect(PassRefPtr&lt;TypeBuilder::Runtime::RemoteObject&gt; objectToInspect, PassRefPtr&lt;InspectorObject&gt; hints);
+    void evaluateForTestInFrontend(long testCallId, const String&amp; script);
+
+private:
+    InspectorAgent();
+
+    std::unique_ptr&lt;InspectorInspectorFrontendDispatcher&gt; m_frontendDispatcher;
+    RefPtr&lt;InspectorInspectorBackendDispatcher&gt; m_backendDispatcher;
+    Vector&lt;std::pair&lt;long, String&gt;&gt; m_pendingEvaluateTestCommands;
+    std::pair&lt;RefPtr&lt;TypeBuilder::Runtime::RemoteObject&gt;, RefPtr&lt;InspectorObject&gt;&gt; m_pendingInspectData;
+    bool m_enabled;
+};
+
+} // namespace Inspector
+
+#endif // !defined(InspectorAgent_h)
</ins></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSGlobalObjectDebuggablecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSGlobalObjectDebuggable.cpp (161732 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSGlobalObjectDebuggable.cpp        2014-01-11 05:06:10 UTC (rev 161732)
+++ trunk/Source/JavaScriptCore/runtime/JSGlobalObjectDebuggable.cpp        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(REMOTE_INSPECTOR)
</span><span class="cx"> 
</span><ins>+#include &quot;APIShims.h&quot;
</ins><span class="cx"> #include &quot;InspectorFrontendChannel.h&quot;
</span><span class="cx"> #include &quot;JSGlobalObject.h&quot;
</span><span class="cx"> #include &quot;RemoteInspector.h&quot;
</span><span class="lines">@@ -41,29 +42,40 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+JSGlobalObjectDebuggable::~JSGlobalObjectDebuggable()
+{
+    if (m_inspectorController)
+        disconnect();
+}
+
</ins><span class="cx"> String JSGlobalObjectDebuggable::name() const
</span><span class="cx"> {
</span><span class="cx">     String name = m_globalObject.name();
</span><span class="cx">     return name.isEmpty() ? ASCIILiteral(&quot;JSContext&quot;) : name;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void JSGlobalObjectDebuggable::connect(InspectorFrontendChannel*)
</del><ins>+void JSGlobalObjectDebuggable::connect(InspectorFrontendChannel* frontendChannel)
</ins><span class="cx"> {
</span><del>-    // FIXME: Implement.
-    // Create an InspectorController, InspectorFrontend, InspectorBackend, and Agents.
-    // &quot;InspectorController::connectFrontend&quot;.
</del><ins>+    APIEntryShim entryShim(&amp;m_globalObject.vm());
+
+    ASSERT(!m_inspectorController);
+    m_inspectorController = std::make_unique&lt;Inspector::JSGlobalObjectInspectorController&gt;(m_globalObject);
+    m_inspectorController-&gt;connectFrontend(frontendChannel);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void JSGlobalObjectDebuggable::disconnect()
</span><span class="cx"> {
</span><del>-    // FIXME: Implement.
-    // &quot;InspectorController::disconnectFrontend&quot;.
</del><ins>+    APIEntryShim entryShim(&amp;m_globalObject.vm());
+
+    m_inspectorController-&gt;disconnectFrontend();
+    m_inspectorController = nullptr;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void JSGlobalObjectDebuggable::dispatchMessageFromRemoteFrontend(const String&amp;)
</del><ins>+void JSGlobalObjectDebuggable::dispatchMessageFromRemoteFrontend(const String&amp; message)
</ins><span class="cx"> {
</span><del>-    // FIXME: Implement.
-    // &quot;InspectorController::dispatchMessageFromFrontend&quot;
</del><ins>+    APIEntryShim entryShim(&amp;m_globalObject.vm());
+
+    m_inspectorController-&gt;dispatchMessageFromFrontend(message);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace JSC
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSGlobalObjectDebuggableh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSGlobalObjectDebuggable.h (161732 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSGlobalObjectDebuggable.h        2014-01-11 05:06:10 UTC (rev 161732)
+++ trunk/Source/JavaScriptCore/runtime/JSGlobalObjectDebuggable.h        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(REMOTE_INSPECTOR)
</span><span class="cx"> 
</span><ins>+#include &quot;JSGlobalObjectInspectorController.h&quot;
</ins><span class="cx"> #include &quot;RemoteInspectorDebuggable.h&quot;
</span><span class="cx"> #include &lt;wtf/Noncopyable.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -39,7 +40,7 @@
</span><span class="cx">     WTF_MAKE_NONCOPYABLE(JSGlobalObjectDebuggable);
</span><span class="cx"> public:
</span><span class="cx">     JSGlobalObjectDebuggable(JSGlobalObject&amp;);
</span><del>-    ~JSGlobalObjectDebuggable() { }
</del><ins>+    ~JSGlobalObjectDebuggable();
</ins><span class="cx"> 
</span><span class="cx">     virtual Inspector::RemoteInspectorDebuggable::DebuggableType type() const OVERRIDE { return Inspector::RemoteInspectorDebuggable::JavaScript; }
</span><span class="cx"> 
</span><span class="lines">@@ -52,6 +53,7 @@
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     JSGlobalObject&amp; m_globalObject;
</span><ins>+    std::unique_ptr&lt;Inspector::JSGlobalObjectInspectorController&gt; m_inspectorController;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace JSC
</span></span></pre></div>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (161732 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2014-01-11 05:06:10 UTC (rev 161732)
+++ trunk/Source/WebCore/CMakeLists.txt        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -1585,7 +1585,6 @@
</span><span class="cx">     inspector/DOMPatchSupport.cpp
</span><span class="cx">     inspector/IdentifiersFactory.cpp
</span><span class="cx">     inspector/InjectedScriptCanvasModule.cpp
</span><del>-    inspector/InspectorAgent.cpp
</del><span class="cx">     inspector/InspectorApplicationCacheAgent.cpp
</span><span class="cx">     inspector/InspectorCSSAgent.cpp
</span><span class="cx">     inspector/InspectorCanvasAgent.cpp
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (161732 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-01-11 05:06:10 UTC (rev 161732)
+++ trunk/Source/WebCore/ChangeLog        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -1,3 +1,45 @@
</span><ins>+2014-01-10  Joseph Pecoraro  &lt;pecoraro@apple.com&gt;
+
+        Web Inspector: Push InspectorAgent down into JSC, give JSC an InspectorController
+        https://bugs.webkit.org/show_bug.cgi?id=126763
+
+        Reviewed by Timothy Hatcher.
+
+        No new tests, no observable change in functionality.
+
+        * CMakeLists.txt:
+        * ForwardingHeaders/inspector/agent/InspectorAgent.h: Added.
+        * GNUmakefile.list.am:
+        * WebCore.vcxproj/WebCore.vcxproj:
+        * WebCore.vcxproj/WebCore.vcxproj.filters:
+        * WebCore.xcodeproj/project.pbxproj:
+        * inspector/InspectorAllInOne.cpp:
+        InspectorAgent moved to JavaScriptCore. Include forwarding header.
+
+        * inspector/PageConsoleAgent.cpp:
+        (WebCore::PageConsoleAgent::PageConsoleAgent):
+        (WebCore::PageConsoleAgent::~PageConsoleAgent):
+        * inspector/PageConsoleAgent.h:
+        (WebCore::PageConsoleAgent::create):
+        * inspector/InspectorApplicationCacheAgent.cpp:
+        * inspector/InspectorApplicationCacheAgent.h:
+        InspectorAgent was not used by these files, remove it.
+
+        * inspector/CommandLineAPIHost.cpp:
+        * inspector/CommandLineAPIHost.h:
+        (WebCore::CommandLineAPIHost::init):
+        * inspector/InspectorInstrumentation.cpp:
+        * inspector/InstrumentingAgents.h:
+        (WebCore::InstrumentingAgents::inspectorAgent):
+        (WebCore::InstrumentingAgents::setInspectorAgent):
+        Switch to Inspector::InspectorAgent where applicable.
+
+        * inspector/InspectorController.cpp:
+        (WebCore::InspectorController::InspectorController):
+        * inspector/InspectorController.h:
+        Manually add InspectorAgent to the InstrumentingAgents. It is one
+        of the agents that is always available in InstrumentingAgents.
+
</ins><span class="cx"> 2014-01-10  Simon Fraser  &lt;simon.fraser@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">        Add TextAutoSizing.* for iOS, and fix DeviceOrientationController creation.
</span></span></pre></div>
<a id="trunkSourceWebCoreForwardingHeadersinspectoragentsInspectorAgenth"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/ForwardingHeaders/inspector/agents/InspectorAgent.h (0 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ForwardingHeaders/inspector/agents/InspectorAgent.h                                (rev 0)
+++ trunk/Source/WebCore/ForwardingHeaders/inspector/agents/InspectorAgent.h        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+#ifndef WebCore_FWD_InspectorAgent_h
+#define WebCore_FWD_InspectorAgent_h
+#include &lt;JavaScriptCore/InspectorAgent.h&gt;
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCoreGNUmakefilelistam"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/GNUmakefile.list.am (161732 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/GNUmakefile.list.am        2014-01-11 05:06:10 UTC (rev 161732)
+++ trunk/Source/WebCore/GNUmakefile.list.am        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -3791,8 +3791,6 @@
</span><span class="cx">         Source/WebCore/inspector/IdentifiersFactory.h \
</span><span class="cx">         Source/WebCore/inspector/InjectedScriptCanvasModule.cpp \
</span><span class="cx">         Source/WebCore/inspector/InjectedScriptCanvasModule.h \
</span><del>-        Source/WebCore/inspector/InspectorAgent.cpp \
-        Source/WebCore/inspector/InspectorAgent.h \
</del><span class="cx">         Source/WebCore/inspector/InspectorApplicationCacheAgent.cpp \
</span><span class="cx">         Source/WebCore/inspector/InspectorApplicationCacheAgent.h \
</span><span class="cx">         Source/WebCore/inspector/InspectorCanvasAgent.cpp \
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj (161732 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2014-01-11 05:06:10 UTC (rev 161732)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -17628,14 +17628,6 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\inspector\InspectorAgent.cpp&quot;&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\inspector\InspectorAllInOne.cpp&quot;&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -18592,6 +18584,7 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InjectedScriptHost.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InjectedScriptManager.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InjectedScriptModule.h&quot; /&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InspectorAgent.h&quot; /&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InspectorAgentBase.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InspectorAgentRegistry.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InspectorBackendDispatcher.h&quot; /&gt;
</span><span class="lines">@@ -20970,7 +20963,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\DOMPatchSupport.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\IdentifiersFactory.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\InjectedScriptCanvasModule.h&quot; /&gt;
</span><del>-    &lt;ClInclude Include=&quot;..\inspector\InspectorAgent.h&quot; /&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\InspectorApplicationCacheAgent.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\InspectorCanvasAgent.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\InspectorCanvasInstrumentation.h&quot; /&gt;
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxprojfilters"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters (161732 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2014-01-11 05:06:10 UTC (rev 161732)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -4818,9 +4818,6 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\inspector\InjectedScriptCanvasModule.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;inspector&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\inspector\InspectorAgent.cpp&quot;&gt;
-      &lt;Filter&gt;inspector&lt;/Filter&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\inspector\InspectorAllInOne.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;inspector&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -12272,6 +12269,9 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InjectedScriptModule.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;ForwardingHeaders\inspector&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InspectorAgent.h&quot;&gt;
+      &lt;Filter&gt;ForwardingHeaders\inspector&lt;/Filter&gt;
+    &lt;/ClInclude&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InspectorAgentBase.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;ForwardingHeaders\inspector&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><span class="lines">@@ -12437,9 +12437,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\InjectedScriptCanvasModule.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;inspector&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><del>-    &lt;ClInclude Include=&quot;..\inspector\InspectorAgent.h&quot;&gt;
-      &lt;Filter&gt;inspector&lt;/Filter&gt;
-    &lt;/ClInclude&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\InspectorApplicationCacheAgent.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;inspector&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (161732 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2014-01-11 05:06:10 UTC (rev 161732)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -1677,8 +1677,6 @@
</span><span class="cx">                 4E19592E0A39DACC00220FE5 /* MediaQueryExp.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E1959280A39DACC00220FE5 /* MediaQueryExp.h */; };
</span><span class="cx">                 4F1534DE11B532EC0021FD86 /* EditingBehavior.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F1534DD11B532EC0021FD86 /* EditingBehavior.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 4F1534E011B533020021FD86 /* EditingBehaviorTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F1534DF11B533020021FD86 /* EditingBehaviorTypes.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                4F2D205412EAE7B3005C2874 /* InspectorAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F2D205212EAE7B3005C2874 /* InspectorAgent.h */; settings = {ATTRIBUTES = (Private, ); }; };
-                4F2D205512EAE7B3005C2874 /* InspectorAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F2D205312EAE7B3005C2874 /* InspectorAgent.cpp */; };
</del><span class="cx">                 4F4F5FFB11CBD2E100A186BF /* InspectorWebFrontendDispatchers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F4F5FFA11CBD2D200A186BF /* InspectorWebFrontendDispatchers.cpp */; };
</span><span class="cx">                 4F6FDD641341DEDD001F8EE3 /* InspectorPageAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F6FDD621341DEDD001F8EE3 /* InspectorPageAgent.cpp */; };
</span><span class="cx">                 4F6FDD651341DEDD001F8EE3 /* InspectorPageAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F6FDD631341DEDD001F8EE3 /* InspectorPageAgent.h */; };
</span><span class="lines">@@ -8583,8 +8581,6 @@
</span><span class="cx">                 4E1959280A39DACC00220FE5 /* MediaQueryExp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MediaQueryExp.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 4F1534DD11B532EC0021FD86 /* EditingBehavior.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EditingBehavior.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 4F1534DF11B533020021FD86 /* EditingBehaviorTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EditingBehaviorTypes.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                4F2D205212EAE7B3005C2874 /* InspectorAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorAgent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
-                4F2D205312EAE7B3005C2874 /* InspectorAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorAgent.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 4F4F5FFA11CBD2D200A186BF /* InspectorWebFrontendDispatchers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorWebFrontendDispatchers.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 4F4F5FFC11CBD30100A186BF /* InspectorWebFrontendDispatchers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorWebFrontendDispatchers.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 4F6FDD621341DEDD001F8EE3 /* InspectorPageAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorPageAgent.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -10622,7 +10618,6 @@
</span><span class="cx">                 A502C5DD13049B3500FC7D53 /* WebSafeGCActivityCallbackIOS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebSafeGCActivityCallbackIOS.h; path = ios/WebSafeGCActivityCallbackIOS.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A516E8B4136E04DB0076C3C0 /* LocalizedDateCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LocalizedDateCache.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A516E8B5136E04DB0076C3C0 /* LocalizedDateCache.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = LocalizedDateCache.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                A518225317E28CF100A9BA1D /* Scripts */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Scripts; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 A518225417E2A0D400A9BA1D /* InspectorOverlayPage.css */ = {isa = PBXFileReference; lastKnownFileType = text.css; path = InspectorOverlayPage.css; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A518225517E2A0D400A9BA1D /* InspectorOverlayPage.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; path = InspectorOverlayPage.js; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A54A82EA15228CA300C72BA6 /* DOMNodePrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMNodePrivate.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -14837,7 +14832,6 @@
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><span class="cx">                                 A593CF7218402CE900BFCE27 /* protocol */,
</span><del>-                                A518225317E28CF100A9BA1D /* Scripts */,
</del><span class="cx">                                 A593CF7518402D4B00BFCE27 /* combine-javascript-resources.pl */,
</span><span class="cx">                                 A584FE311864D5AF00843B10 /* CommandLineAPIHost.cpp */,
</span><span class="cx">                                 A584FE321864D5AF00843B10 /* CommandLineAPIHost.h */,
</span><span class="lines">@@ -14859,8 +14853,6 @@
</span><span class="cx">                                 AA73183C159255B900A93E6E /* InjectedScriptCanvasModule.cpp */,
</span><span class="cx">                                 AA73183D159255B900A93E6E /* InjectedScriptCanvasModule.h */,
</span><span class="cx">                                 AA9030FE157E16A000276247 /* InjectedScriptCanvasModuleSource.js */,
</span><del>-                                4F2D205312EAE7B3005C2874 /* InspectorAgent.cpp */,
-                                4F2D205212EAE7B3005C2874 /* InspectorAgent.h */,
</del><span class="cx">                                 B885E8D211E06DD2009FFBF4 /* InspectorApplicationCacheAgent.cpp */,
</span><span class="cx">                                 B885E8D311E06DD2009FFBF4 /* InspectorApplicationCacheAgent.h */,
</span><span class="cx">                                 AAD766E8157E502F00E85423 /* InspectorCanvasAgent.cpp */,
</span><span class="lines">@@ -24035,7 +24027,6 @@
</span><span class="cx">                                 93309DF0099E64920056E581 /* InsertParagraphSeparatorCommand.h in Headers */,
</span><span class="cx">                                 078E093017D14D1C00420AA1 /* UserMediaRequest.h in Headers */,
</span><span class="cx">                                 93309DF2099E64920056E581 /* InsertTextCommand.h in Headers */,
</span><del>-                                4F2D205412EAE7B3005C2874 /* InspectorAgent.h in Headers */,
</del><span class="cx">                                 B885E8D511E06DD2009FFBF4 /* InspectorApplicationCacheAgent.h in Headers */,
</span><span class="cx">                                 4F707A9A11EF679400ACDA69 /* InspectorWebBackendDispatchers.h in Headers */,
</span><span class="cx">                                 AAD766EC157E502F00E85423 /* InspectorCanvasAgent.h in Headers */,
</span><span class="lines">@@ -27374,7 +27365,6 @@
</span><span class="cx">                                 93309DED099E64920056E581 /* InsertNodeBeforeCommand.cpp in Sources */,
</span><span class="cx">                                 93309DEF099E64920056E581 /* InsertParagraphSeparatorCommand.cpp in Sources */,
</span><span class="cx">                                 93309DF1099E64920056E581 /* InsertTextCommand.cpp in Sources */,
</span><del>-                                4F2D205512EAE7B3005C2874 /* InspectorAgent.cpp in Sources */,
</del><span class="cx">                                 B885E8D411E06DD2009FFBF4 /* InspectorApplicationCacheAgent.cpp in Sources */,
</span><span class="cx">                                 4F707A9911EF679400ACDA69 /* InspectorWebBackendDispatchers.cpp in Sources */,
</span><span class="cx">                                 E1F80B8A183172A2007885C3 /* JSCryptoKeyPairCustom.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorCommandLineAPIHostcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/CommandLineAPIHost.cpp (161732 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/CommandLineAPIHost.cpp        2014-01-11 05:06:10 UTC (rev 161732)
+++ trunk/Source/WebCore/inspector/CommandLineAPIHost.cpp        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -37,7 +37,6 @@
</span><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="cx"> #include &quot;FrameLoader.h&quot;
</span><span class="cx"> #include &quot;HTMLFrameOwnerElement.h&quot;
</span><del>-#include &quot;InspectorAgent.h&quot;
</del><span class="cx"> #include &quot;InspectorClient.h&quot;
</span><span class="cx"> #include &quot;InspectorConsoleAgent.h&quot;
</span><span class="cx"> #include &quot;InspectorDOMAgent.h&quot;
</span><span class="lines">@@ -49,6 +48,7 @@
</span><span class="cx"> #include &quot;markup.h&quot;
</span><span class="cx"> #include &lt;bindings/ScriptValue.h&gt;
</span><span class="cx"> #include &lt;inspector/InspectorValues.h&gt;
</span><ins>+#include &lt;inspector/agents/InspectorAgent.h&gt;
</ins><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorCommandLineAPIHosth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/CommandLineAPIHost.h (161732 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/CommandLineAPIHost.h        2014-01-11 05:06:10 UTC (rev 161732)
+++ trunk/Source/WebCore/inspector/CommandLineAPIHost.h        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -31,16 +31,17 @@
</span><span class="cx"> #define CommandLineAPIHost_h
</span><span class="cx"> 
</span><span class="cx"> #include &quot;ConsoleTypes.h&quot;
</span><del>-#include &quot;InspectorAgent.h&quot;
</del><span class="cx"> #include &quot;ScriptState.h&quot;
</span><span class="cx"> #include &lt;wtf/RefCounted.h&gt;
</span><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><ins>+#include &lt;wtf/text/WTFString.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace Deprecated {
</span><span class="cx"> class ScriptValue;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><ins>+class InspectorAgent;
</ins><span class="cx"> class InspectorObject;
</span><span class="cx"> class InspectorValue;
</span><span class="cx"> }
</span><span class="lines">@@ -48,7 +49,6 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> class Database;
</span><del>-class InspectorAgent;
</del><span class="cx"> class InspectorConsoleAgent;
</span><span class="cx"> class InspectorDOMAgent;
</span><span class="cx"> class InspectorDOMStorageAgent;
</span><span class="lines">@@ -63,7 +63,7 @@
</span><span class="cx">     static PassRefPtr&lt;CommandLineAPIHost&gt; create();
</span><span class="cx">     ~CommandLineAPIHost();
</span><span class="cx"> 
</span><del>-    void init(InspectorAgent* inspectorAgent
</del><ins>+    void init(Inspector::InspectorAgent* inspectorAgent
</ins><span class="cx">             , InspectorConsoleAgent* consoleAgent
</span><span class="cx">             , InspectorDOMAgent* domAgent
</span><span class="cx">             , InspectorDOMStorageAgent* domStorageAgent
</span><span class="lines">@@ -107,7 +107,7 @@
</span><span class="cx"> private:
</span><span class="cx">     CommandLineAPIHost();
</span><span class="cx"> 
</span><del>-    InspectorAgent* m_inspectorAgent;
</del><ins>+    Inspector::InspectorAgent* m_inspectorAgent;
</ins><span class="cx">     InspectorConsoleAgent* m_consoleAgent;
</span><span class="cx">     InspectorDOMAgent* m_domAgent;
</span><span class="cx">     InspectorDOMStorageAgent* m_domStorageAgent;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorAgentcpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/inspector/InspectorAgent.cpp (161732 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorAgent.cpp        2014-01-11 05:06:10 UTC (rev 161732)
+++ trunk/Source/WebCore/inspector/InspectorAgent.cpp        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -1,116 +0,0 @@
</span><del>-/*
- * Copyright (C) 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
- * Copyright (C) 2008 Matt Lilek &lt;webkit@mattlilek.com&gt;
- * Copyright (C) 2011 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1.  Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- * 2.  Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- * 3.  Neither the name of Apple Computer, Inc. (&quot;Apple&quot;) nor the names of
- *     its contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS &quot;AS IS&quot; AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include &quot;config.h&quot;
-
-#if ENABLE(INSPECTOR)
-
-#include &quot;InspectorAgent.h&quot;
-
-#include &quot;InstrumentingAgents.h&quot;
-#include &lt;bindings/ScriptValue.h&gt;
-#include &lt;inspector/InspectorJSFrontendDispatchers.h&gt;
-#include &lt;inspector/InspectorValues.h&gt;
-#include &lt;wtf/PassRefPtr.h&gt;
-#include &lt;wtf/RefPtr.h&gt;
-
-using namespace Inspector;
-
-namespace WebCore {
-
-InspectorAgent::InspectorAgent(InstrumentingAgents* instrumentingAgents)
-    : InspectorAgentBase(ASCIILiteral(&quot;Inspector&quot;), instrumentingAgents)
-    , m_enabled(false)
-{
-    m_instrumentingAgents-&gt;setInspectorAgent(this);
-}
-
-InspectorAgent::~InspectorAgent()
-{
-    m_instrumentingAgents-&gt;setInspectorAgent(0);
-}
-
-void InspectorAgent::didCreateFrontendAndBackend(Inspector::InspectorFrontendChannel* frontendChannel, InspectorBackendDispatcher* backendDispatcher)
-{
-    m_frontendDispatcher = std::make_unique&lt;InspectorInspectorFrontendDispatcher&gt;(frontendChannel);
-    m_backendDispatcher = InspectorInspectorBackendDispatcher::create(backendDispatcher, this);
-}
-
-void InspectorAgent::willDestroyFrontendAndBackend()
-{
-    m_frontendDispatcher = nullptr;
-    m_backendDispatcher.clear();
-
-    m_pendingEvaluateTestCommands.clear();
-
-    ErrorString error;
-    disable(&amp;error);
-}
-
-void InspectorAgent::enable(ErrorString*)
-{
-    m_enabled = true;
-
-    if (m_pendingInspectData.first)
-        inspect(m_pendingInspectData.first, m_pendingInspectData.second);
-
-    for (Vector&lt;std::pair&lt;long, String&gt;&gt;::iterator it = m_pendingEvaluateTestCommands.begin(); m_frontendDispatcher &amp;&amp; it != m_pendingEvaluateTestCommands.end(); ++it)
-        m_frontendDispatcher-&gt;evaluateForTestInFrontend(static_cast&lt;int&gt;((*it).first), (*it).second);
-    m_pendingEvaluateTestCommands.clear();
-}
-
-void InspectorAgent::disable(ErrorString*)
-{
-    m_enabled = false;
-}
-
-void InspectorAgent::evaluateForTestInFrontend(long callId, const String&amp; script)
-{
-    if (m_enabled &amp;&amp; m_frontendDispatcher)
-        m_frontendDispatcher-&gt;evaluateForTestInFrontend(static_cast&lt;int&gt;(callId), script);
-    else
-        m_pendingEvaluateTestCommands.append(std::pair&lt;long, String&gt;(callId, script));
-}
-
-void InspectorAgent::inspect(PassRefPtr&lt;Inspector::TypeBuilder::Runtime::RemoteObject&gt; objectToInspect, PassRefPtr&lt;InspectorObject&gt; hints)
-{
-    if (m_enabled &amp;&amp; m_frontendDispatcher) {
-        m_frontendDispatcher-&gt;inspect(objectToInspect, hints);
-        m_pendingInspectData.first = 0;
-        m_pendingInspectData.second = 0;
-        return;
-    }
-    m_pendingInspectData.first = objectToInspect;
-    m_pendingInspectData.second = hints;
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(INSPECTOR)
</del></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorAgenth"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/inspector/InspectorAgent.h (161732 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorAgent.h        2014-01-11 05:06:10 UTC (rev 161732)
+++ trunk/Source/WebCore/inspector/InspectorAgent.h        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -1,85 +0,0 @@
</span><del>-/*
- * Copyright (C) 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
- * Copyright (C) 2011 Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1.  Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- * 2.  Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- * 3.  Neither the name of Apple Computer, Inc. (&quot;Apple&quot;) nor the names of
- *     its contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS &quot;AS IS&quot; AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef InspectorAgent_h
-#define InspectorAgent_h
-
-#include &quot;InspectorWebAgentBase.h&quot;
-#include &lt;inspector/InspectorJSBackendDispatchers.h&gt;
-#include &lt;wtf/Forward.h&gt;
-#include &lt;wtf/HashMap.h&gt;
-#include &lt;wtf/PassOwnPtr.h&gt;
-#include &lt;wtf/Vector.h&gt;
-
-namespace Inspector {
-class InspectorObject;
-class InspectorInspectorFrontendDispatcher;
-}
-
-namespace WebCore {
-
-class InstrumentingAgents;
-
-typedef String ErrorString;
-
-class InspectorAgent : public InspectorAgentBase, public Inspector::InspectorInspectorBackendDispatcherHandler {
-    WTF_MAKE_NONCOPYABLE(InspectorAgent);
-public:
-    static PassOwnPtr&lt;InspectorAgent&gt; create(InstrumentingAgents* instrumentingAgents)
-    {
-        return adoptPtr(new InspectorAgent(instrumentingAgents));
-    }
-
-    virtual ~InspectorAgent();
-
-    // Inspector front-end API.
-    void enable(ErrorString*);
-    void disable(ErrorString*);
-
-    virtual void didCreateFrontendAndBackend(Inspector::InspectorFrontendChannel*, Inspector::InspectorBackendDispatcher*) OVERRIDE;
-    virtual void willDestroyFrontendAndBackend() OVERRIDE;
-
-    // Generic code called from custom implementations.
-    void evaluateForTestInFrontend(long testCallId, const String&amp; script);
-
-    void inspect(PassRefPtr&lt;Inspector::TypeBuilder::Runtime::RemoteObject&gt; objectToInspect, PassRefPtr&lt;Inspector::InspectorObject&gt; hints);
-
-private:
-    InspectorAgent(InstrumentingAgents*);
-
-    std::unique_ptr&lt;Inspector::InspectorInspectorFrontendDispatcher&gt; m_frontendDispatcher;
-    RefPtr&lt;Inspector::InspectorInspectorBackendDispatcher&gt; m_backendDispatcher;
-    Vector&lt;std::pair&lt;long, String&gt;&gt; m_pendingEvaluateTestCommands;
-    std::pair&lt;RefPtr&lt;Inspector::TypeBuilder::Runtime::RemoteObject&gt;, RefPtr&lt;Inspector::InspectorObject&gt;&gt; m_pendingInspectData;
-    bool m_enabled;
-};
-
-} // namespace WebCore
-
-#endif // !defined(InspectorAgent_h)
</del></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorAllInOnecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorAllInOne.cpp (161732 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorAllInOne.cpp        2014-01-11 05:06:10 UTC (rev 161732)
+++ trunk/Source/WebCore/inspector/InspectorAllInOne.cpp        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -33,7 +33,6 @@
</span><span class="cx"> #include &quot;DOMPatchSupport.cpp&quot;
</span><span class="cx"> #include &quot;IdentifiersFactory.cpp&quot;
</span><span class="cx"> #include &quot;InjectedScriptCanvasModule.cpp&quot;
</span><del>-#include &quot;InspectorAgent.cpp&quot;
</del><span class="cx"> #include &quot;InspectorApplicationCacheAgent.cpp&quot;
</span><span class="cx"> #include &quot;InspectorCSSAgent.cpp&quot;
</span><span class="cx"> #include &quot;InspectorCanvasAgent.cpp&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorApplicationCacheAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorApplicationCacheAgent.cpp (161732 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorApplicationCacheAgent.cpp        2014-01-11 05:06:10 UTC (rev 161732)
+++ trunk/Source/WebCore/inspector/InspectorApplicationCacheAgent.cpp        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -33,7 +33,6 @@
</span><span class="cx"> #include &quot;DocumentLoader.h&quot;
</span><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="cx"> #include &quot;FrameLoader.h&quot;
</span><del>-#include &quot;InspectorAgent.h&quot;
</del><span class="cx"> #include &quot;InspectorPageAgent.h&quot;
</span><span class="cx"> #include &quot;InspectorWebFrontendDispatchers.h&quot;
</span><span class="cx"> #include &quot;InstrumentingAgents.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorApplicationCacheAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorApplicationCacheAgent.h (161732 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorApplicationCacheAgent.h        2014-01-11 05:06:10 UTC (rev 161732)
+++ trunk/Source/WebCore/inspector/InspectorApplicationCacheAgent.h        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -43,7 +43,6 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> class Frame;
</span><del>-class InspectorAgent;
</del><span class="cx"> class InspectorPageAgent;
</span><span class="cx"> class InstrumentingAgents;
</span><span class="cx"> class Page;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorController.cpp (161732 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorController.cpp        2014-01-11 05:06:10 UTC (rev 161732)
+++ trunk/Source/WebCore/inspector/InspectorController.cpp        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -37,7 +37,6 @@
</span><span class="cx"> #include &quot;DOMWrapperWorld.h&quot;
</span><span class="cx"> #include &quot;GraphicsContext.h&quot;
</span><span class="cx"> #include &quot;IdentifiersFactory.h&quot;
</span><del>-#include &quot;InspectorAgent.h&quot;
</del><span class="cx"> #include &quot;InspectorApplicationCacheAgent.h&quot;
</span><span class="cx"> #include &quot;InspectorCSSAgent.h&quot;
</span><span class="cx"> #include &quot;InspectorCanvasAgent.h&quot;
</span><span class="lines">@@ -75,6 +74,7 @@
</span><span class="cx"> #include &quot;PageRuntimeAgent.h&quot;
</span><span class="cx"> #include &quot;Settings.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorBackendDispatcher.h&gt;
</span><ins>+#include &lt;inspector/agents/InspectorAgent.h&gt;
</ins><span class="cx"> #include &lt;runtime/JSLock.h&gt;
</span><span class="cx"> 
</span><span class="cx"> using namespace JSC;
</span><span class="lines">@@ -96,8 +96,9 @@
</span><span class="cx"> {
</span><span class="cx">     ASSERT_ARG(inspectorClient, inspectorClient);
</span><span class="cx"> 
</span><del>-    OwnPtr&lt;InspectorAgent&gt; inspectorAgentPtr(InspectorAgent::create(m_instrumentingAgents.get()));
</del><ins>+    OwnPtr&lt;InspectorAgent&gt; inspectorAgentPtr(InspectorAgent::create());
</ins><span class="cx">     m_inspectorAgent = inspectorAgentPtr.get();
</span><ins>+    m_instrumentingAgents-&gt;setInspectorAgent(m_inspectorAgent);
</ins><span class="cx">     m_agents.append(inspectorAgentPtr.release());
</span><span class="cx"> 
</span><span class="cx">     OwnPtr&lt;InspectorPageAgent&gt; pageAgentPtr(InspectorPageAgent::create(m_instrumentingAgents.get(), page, inspectorClient, m_overlay.get()));
</span><span class="lines">@@ -141,7 +142,7 @@
</span><span class="cx">     InspectorRuntimeAgent* runtimeAgent = runtimeAgentPtr.get();
</span><span class="cx">     m_agents.append(runtimeAgentPtr.release());
</span><span class="cx"> 
</span><del>-    OwnPtr&lt;InspectorConsoleAgent&gt; consoleAgentPtr(PageConsoleAgent::create(m_instrumentingAgents.get(), m_inspectorAgent, m_injectedScriptManager.get(), m_domAgent));
</del><ins>+    OwnPtr&lt;InspectorConsoleAgent&gt; consoleAgentPtr(PageConsoleAgent::create(m_instrumentingAgents.get(), m_injectedScriptManager.get(), m_domAgent));
</ins><span class="cx">     InspectorConsoleAgent* consoleAgent = consoleAgentPtr.get();
</span><span class="cx">     m_agents.append(consoleAgentPtr.release());
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorControllerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorController.h (161732 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorController.h        2014-01-11 05:06:10 UTC (rev 161732)
+++ trunk/Source/WebCore/inspector/InspectorController.h        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -43,6 +43,7 @@
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><ins>+class InspectorAgent;
</ins><span class="cx"> class InspectorObject;
</span><span class="cx"> class InspectorFrontendChannel;
</span><span class="cx"> class InspectorBackendDispatcher;
</span><span class="lines">@@ -53,7 +54,6 @@
</span><span class="cx"> class DOMWrapperWorld;
</span><span class="cx"> class Frame;
</span><span class="cx"> class GraphicsContext;
</span><del>-class InspectorAgent;
</del><span class="cx"> class InspectorApplicationCacheAgent;
</span><span class="cx"> class InspectorClient;
</span><span class="cx"> class InspectorDOMAgent;
</span><span class="lines">@@ -152,7 +152,7 @@
</span><span class="cx">     std::unique_ptr&lt;PageInjectedScriptManager&gt; m_injectedScriptManager;
</span><span class="cx">     OwnPtr&lt;InspectorOverlay&gt; m_overlay;
</span><span class="cx"> 
</span><del>-    InspectorAgent* m_inspectorAgent;
</del><ins>+    Inspector::InspectorAgent* m_inspectorAgent;
</ins><span class="cx">     InspectorDOMAgent* m_domAgent;
</span><span class="cx">     InspectorResourceAgent* m_resourceAgent;
</span><span class="cx">     InspectorPageAgent* m_pageAgent;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorInstrumentationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp (161732 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp        2014-01-11 05:06:10 UTC (rev 161732)
+++ trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -44,7 +44,6 @@
</span><span class="cx"> #include &quot;DocumentLoader.h&quot;
</span><span class="cx"> #include &quot;Event.h&quot;
</span><span class="cx"> #include &quot;EventDispatcher.h&quot;
</span><del>-#include &quot;InspectorAgent.h&quot;
</del><span class="cx"> #include &quot;InspectorApplicationCacheAgent.h&quot;
</span><span class="cx"> #include &quot;InspectorCSSAgent.h&quot;
</span><span class="cx"> #include &quot;InspectorCanvasAgent.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInstrumentingAgentsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InstrumentingAgents.h (161732 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InstrumentingAgents.h        2014-01-11 05:06:10 UTC (rev 161732)
+++ trunk/Source/WebCore/inspector/InstrumentingAgents.h        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -37,9 +37,12 @@
</span><span class="cx"> #include &lt;wtf/PassRefPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/RefCounted.h&gt;
</span><span class="cx"> 
</span><ins>+namespace Inspector {
+class InspectorAgent;
+}
+
</ins><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class InspectorAgent;
</del><span class="cx"> class InspectorApplicationCacheAgent;
</span><span class="cx"> class InspectorCSSAgent;
</span><span class="cx"> class InspectorCanvasAgent;
</span><span class="lines">@@ -75,8 +78,8 @@
</span><span class="cx"> 
</span><span class="cx">     Inspector::InspectorEnvironment&amp; inspectorEnvironment() const { return m_environment; }
</span><span class="cx"> 
</span><del>-    InspectorAgent* inspectorAgent() const { return m_inspectorAgent; }
-    void setInspectorAgent(InspectorAgent* agent) { m_inspectorAgent = agent; }
</del><ins>+    Inspector::InspectorAgent* inspectorAgent() const { return m_inspectorAgent; }
+    void setInspectorAgent(Inspector::InspectorAgent* agent) { m_inspectorAgent = agent; }
</ins><span class="cx"> 
</span><span class="cx">     InspectorPageAgent* inspectorPageAgent() const { return m_inspectorPageAgent; }
</span><span class="cx">     void setInspectorPageAgent(InspectorPageAgent* agent) { m_inspectorPageAgent = agent; }
</span><span class="lines">@@ -146,7 +149,7 @@
</span><span class="cx"> 
</span><span class="cx">     Inspector::InspectorEnvironment&amp; m_environment;
</span><span class="cx"> 
</span><del>-    InspectorAgent* m_inspectorAgent;
</del><ins>+    Inspector::InspectorAgent* m_inspectorAgent;
</ins><span class="cx">     InspectorPageAgent* m_inspectorPageAgent;
</span><span class="cx">     InspectorCSSAgent* m_inspectorCSSAgent;
</span><span class="cx"> #if USE(ACCELERATED_COMPOSITING)
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorPageConsoleAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/PageConsoleAgent.cpp (161732 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/PageConsoleAgent.cpp        2014-01-11 05:06:10 UTC (rev 161732)
+++ trunk/Source/WebCore/inspector/PageConsoleAgent.cpp        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -35,7 +35,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;CommandLineAPIHost.h&quot;
</span><span class="cx"> #include &quot;DOMWindow.h&quot;
</span><del>-#include &quot;InspectorAgent.h&quot;
</del><span class="cx"> #include &quot;InspectorDOMAgent.h&quot;
</span><span class="cx"> #include &quot;Node.h&quot;
</span><span class="cx"> #include &quot;PageInjectedScriptManager.h&quot;
</span><span class="lines">@@ -44,16 +43,14 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-PageConsoleAgent::PageConsoleAgent(InstrumentingAgents* instrumentingAgents, InspectorAgent* inspectorAgent, PageInjectedScriptManager* injectedScriptManager, InspectorDOMAgent* domAgent)
</del><ins>+PageConsoleAgent::PageConsoleAgent(InstrumentingAgents* instrumentingAgents, PageInjectedScriptManager* injectedScriptManager, InspectorDOMAgent* domAgent)
</ins><span class="cx">     : InspectorConsoleAgent(instrumentingAgents, injectedScriptManager)
</span><del>-    , m_inspectorAgent(inspectorAgent)
</del><span class="cx">     , m_inspectorDOMAgent(domAgent)
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PageConsoleAgent::~PageConsoleAgent()
</span><span class="cx"> {
</span><del>-    m_inspectorAgent = 0;
</del><span class="cx">     m_inspectorDOMAgent = 0;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorPageConsoleAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/PageConsoleAgent.h (161732 => 161733)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/PageConsoleAgent.h        2014-01-11 05:06:10 UTC (rev 161732)
+++ trunk/Source/WebCore/inspector/PageConsoleAgent.h        2014-01-11 05:18:34 UTC (rev 161733)
</span><span class="lines">@@ -38,26 +38,24 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class InspectorAgent;
</del><span class="cx"> class InspectorDOMAgent;
</span><span class="cx"> 
</span><span class="cx"> class PageConsoleAgent : public InspectorConsoleAgent {
</span><span class="cx">     WTF_MAKE_NONCOPYABLE(PageConsoleAgent);
</span><span class="cx"> public:
</span><del>-    static PassOwnPtr&lt;PageConsoleAgent&gt; create(InstrumentingAgents* instrumentingAgents, InspectorAgent* agent, PageInjectedScriptManager* injectedScriptManager, InspectorDOMAgent* domAgent)
</del><ins>+    static PassOwnPtr&lt;PageConsoleAgent&gt; create(InstrumentingAgents* instrumentingAgents, PageInjectedScriptManager* injectedScriptManager, InspectorDOMAgent* domAgent)
</ins><span class="cx">     {
</span><del>-        return adoptPtr(new PageConsoleAgent(instrumentingAgents, agent, injectedScriptManager, domAgent));
</del><ins>+        return adoptPtr(new PageConsoleAgent(instrumentingAgents, injectedScriptManager, domAgent));
</ins><span class="cx">     }
</span><span class="cx">     virtual ~PageConsoleAgent();
</span><span class="cx"> 
</span><span class="cx">     virtual bool isWorkerAgent() OVERRIDE { return false; }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    PageConsoleAgent(InstrumentingAgents*, InspectorAgent*, PageInjectedScriptManager*, InspectorDOMAgent*);
</del><ins>+    PageConsoleAgent(InstrumentingAgents*, PageInjectedScriptManager*, InspectorDOMAgent*);
</ins><span class="cx">     virtual void clearMessages(ErrorString*);
</span><span class="cx">     virtual void addInspectedNode(ErrorString*, int nodeId);
</span><span class="cx"> 
</span><del>-    InspectorAgent* m_inspectorAgent;
</del><span class="cx">     InspectorDOMAgent* m_inspectorDOMAgent;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>