<!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>[160557] trunk</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/160557">160557</a></dd>
<dt>Author</dt> <dd>joepeck@webkit.org</dd>
<dt>Date</dt> <dd>2013-12-13 13:07:13 -0800 (Fri, 13 Dec 2013)</dd>
</dl>

<h3>Log Message</h3>
<pre>Web Inspector: Add Inspector Code Generation to JavaScriptCore for Runtime Domain
https://bugs.webkit.org/show_bug.cgi?id=125595

Reviewed by Timothy Hatcher.

* GNUmakefile.am:

Source/JavaScriptCore:

  - Move CodeGeneration scripts from WebCore into JavaScriptCore/inspector/scripts
  - For ports that build WebKit frameworks separately, export the scripts as PrivateHeaders
  - Update CodeGeneratorInspector.py in a few ways:
    - output dynamic filenames, so JavaScriptCore generates InspectorJSFoo.* and WebCore generates InspectorWebFoo.*
    - take in more then one protocol JSON file. The first contains domains to generate, the others are dependencies
      that are generated elsewhere that we can depend on for Types.
  - Add DerivedSources build step to generate the Inspector Interfaces

* CMakeLists.txt:
* DerivedSources.make:
* GNUmakefile.am:
* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.vcxproj/copy-files.cmd:
* JavaScriptCore.xcodeproj/project.pbxproj:
Add scripts and code generation.

* inspector/protocol/Runtime.json: Renamed from Source/WebCore/inspector/protocol/Runtime.json.
Move protocol file into JavaScriptCore so its types will be generated in JavaScriptCore.

* inspector/scripts/CodeGeneratorInspector.py: Renamed from Source/WebCore/inspector/CodeGeneratorInspector.py.
Updates to the script as listed above.

* inspector/scripts/CodeGeneratorInspectorStrings.py: Renamed from Source/WebCore/inspector/CodeGeneratorInspectorStrings.py.
* inspector/scripts/generate-combined-inspector-json.py: Renamed from Source/WebCore/inspector/Scripts/generate-combined-inspector-json.py.
Moved from WebCore into JavaScriptCore for code generation.

Source/WebCore:

  - CodeGeneration changed to output Frontend and Backend dispatchers
    in namespace Inspector. So update all the agent's appropriately.
  - Update Derived Sources code generation to use the Scripts that had
    moved to JavaScriptCore. Some ports just use JSC/inspector/scripts
    directly, but others have to use the Scripts exported by JSC
    in JavaScriptCore's PrivateHeaders.
  - Add ForwardingHeaders for the files generated in JavaScriptCore.
  - Update the names of Inspector DerivedSources files, since they
    were renamed to InspectorWeb*.

No new tests, this only moves code around. There are no functional changes.

* CMakeLists.txt:
* DerivedSources.make:
* ForwardingHeaders/inspector/InspectorJSBackendDispatchers.h: Added.
* ForwardingHeaders/inspector/InspectorJSFrontendDispatchers.h: Added.
* ForwardingHeaders/inspector/InspectorJSTypeBuilders.h: Added.
* GNUmakefile.am:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.vcxproj/build-generated-files.sh:
* WebCore.xcodeproj/project.pbxproj:
Remove files, rename files, update code generation.

* make-generated-sources.sh:
Update this standalone developer script to fill in the new InspectorScripts variable.

* inspector/ConsoleMessage.h:
* inspector/InjectedScriptHost.cpp:
* inspector/InspectorAgent.cpp:
* inspector/InspectorAgent.h:
* inspector/InspectorApplicationCacheAgent.cpp:
* inspector/InspectorApplicationCacheAgent.h:
* inspector/InspectorCSSAgent.h:
* inspector/InspectorCanvasAgent.cpp:
* inspector/InspectorCanvasAgent.h:
* inspector/InspectorConsoleAgent.cpp:
* inspector/InspectorConsoleAgent.h:
* inspector/InspectorController.cpp:
* inspector/InspectorDOMAgent.cpp:
* inspector/InspectorDOMAgent.h:
* inspector/InspectorDOMDebuggerAgent.cpp:
* inspector/InspectorDOMDebuggerAgent.h:
* inspector/InspectorDOMStorageAgent.cpp:
* inspector/InspectorDOMStorageAgent.h:
* inspector/InspectorDatabaseAgent.cpp:
* inspector/InspectorDatabaseAgent.h:
* inspector/InspectorDatabaseResource.cpp:
* inspector/InspectorDatabaseResource.h:
* inspector/InspectorDebuggerAgent.cpp:
* inspector/InspectorDebuggerAgent.h:
* inspector/InspectorFrontendClientLocal.cpp:
* inspector/InspectorHeapProfilerAgent.h:
* inspector/InspectorIndexedDBAgent.cpp:
* inspector/InspectorIndexedDBAgent.h:
* inspector/InspectorInputAgent.h:
* inspector/InspectorLayerTreeAgent.cpp:
* inspector/InspectorLayerTreeAgent.h:
* inspector/InspectorMemoryAgent.cpp:
* inspector/InspectorMemoryAgent.h:
* inspector/InspectorPageAgent.cpp:
* inspector/InspectorPageAgent.h:
* inspector/InspectorProfilerAgent.cpp:
* inspector/InspectorProfilerAgent.h:
* inspector/InspectorResourceAgent.cpp:
* inspector/InspectorResourceAgent.h:
* inspector/InspectorRuntimeAgent.h:
* inspector/InspectorTimelineAgent.cpp:
* inspector/InspectorTimelineAgent.h:
* inspector/InspectorWorkerAgent.cpp:
* inspector/InspectorWorkerAgent.h:
* inspector/PageRuntimeAgent.h:
* inspector/ScriptCallFrame.cpp:
* inspector/WorkerInspectorController.cpp:
* inspector/WorkerRuntimeAgent.h:
Updates header names and class namespace changes.

Source/WebInspectorUI:

* Scripts/copy-user-interface-resources.sh:
Copy all the different backend commands files.

* Scripts/update-InspectorBackendCommands.rb:
Update with respect to new script location and new file names.

* WebInspectorUI.xcodeproj/project.pbxproj:
Remove Inputs and Outputs of build phase, which were wrong.
Now this build phase always runs, and not by accident.

* UserInterface/InspectorJSBackendCommands.js: Added.
* UserInterface/InspectorWebBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/InspectorBackendCommands.js.
* UserInterface/Legacy/6.0/InspectorWebBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/Legacy/6.0/InspectorBackendCommands.js.
* UserInterface/Legacy/7.0/InspectorWebBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/Legacy/7.0/InspectorBackendCommands.js.
* UserInterface/LoadInspectorBackendCommands.js:
* WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
* WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:

LayoutTests:

* http/tests/inspector-protocol/resources/InspectorTest.js:
(InspectorTest.importInspectorScripts):
Update for the new backend commands files.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkChangeLog">trunk/ChangeLog</a></li>
<li><a href="#trunkGNUmakefileam">trunk/GNUmakefile.am</a></li>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestshttptestsinspectorprotocolresourcesInspectorTestjs">trunk/LayoutTests/http/tests/inspector-protocol/resources/InspectorTest.js</a></li>
<li><a href="#trunkSourceJavaScriptCoreCMakeListstxt">trunk/Source/JavaScriptCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreDerivedSourcesmake">trunk/Source/JavaScriptCore/DerivedSources.make</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="#trunkSourceWebCoreCMakeListstxt">trunk/Source/WebCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreDerivedSourcesmake">trunk/Source/WebCore/DerivedSources.make</a></li>
<li><a href="#trunkSourceWebCoreGNUmakefileam">trunk/Source/WebCore/GNUmakefile.am</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="#trunkSourceWebCoreWebCorevcxprojbuildgeneratedfilessh">trunk/Source/WebCore/WebCore.vcxproj/build-generated-files.sh</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCoreinspectorConsoleMessageh">trunk/Source/WebCore/inspector/ConsoleMessage.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInjectedScriptHostcpp">trunk/Source/WebCore/inspector/InjectedScriptHost.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorAgentcpp">trunk/Source/WebCore/inspector/InspectorAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorAgenth">trunk/Source/WebCore/inspector/InspectorAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorApplicationCacheAgentcpp">trunk/Source/WebCore/inspector/InspectorApplicationCacheAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorApplicationCacheAgenth">trunk/Source/WebCore/inspector/InspectorApplicationCacheAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorCSSAgenth">trunk/Source/WebCore/inspector/InspectorCSSAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorCanvasAgentcpp">trunk/Source/WebCore/inspector/InspectorCanvasAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorCanvasAgenth">trunk/Source/WebCore/inspector/InspectorCanvasAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorConsoleAgentcpp">trunk/Source/WebCore/inspector/InspectorConsoleAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorConsoleAgenth">trunk/Source/WebCore/inspector/InspectorConsoleAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorControllercpp">trunk/Source/WebCore/inspector/InspectorController.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDOMAgentcpp">trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDOMAgenth">trunk/Source/WebCore/inspector/InspectorDOMAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDOMDebuggerAgentcpp">trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDOMDebuggerAgenth">trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDOMStorageAgentcpp">trunk/Source/WebCore/inspector/InspectorDOMStorageAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDOMStorageAgenth">trunk/Source/WebCore/inspector/InspectorDOMStorageAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDatabaseAgentcpp">trunk/Source/WebCore/inspector/InspectorDatabaseAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDatabaseAgenth">trunk/Source/WebCore/inspector/InspectorDatabaseAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDatabaseResourcecpp">trunk/Source/WebCore/inspector/InspectorDatabaseResource.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDatabaseResourceh">trunk/Source/WebCore/inspector/InspectorDatabaseResource.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDebuggerAgentcpp">trunk/Source/WebCore/inspector/InspectorDebuggerAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorDebuggerAgenth">trunk/Source/WebCore/inspector/InspectorDebuggerAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorFrontendClientLocalcpp">trunk/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorHeapProfilerAgenth">trunk/Source/WebCore/inspector/InspectorHeapProfilerAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorIndexedDBAgentcpp">trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorIndexedDBAgenth">trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorInputAgenth">trunk/Source/WebCore/inspector/InspectorInputAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorLayerTreeAgentcpp">trunk/Source/WebCore/inspector/InspectorLayerTreeAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorLayerTreeAgenth">trunk/Source/WebCore/inspector/InspectorLayerTreeAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorMemoryAgentcpp">trunk/Source/WebCore/inspector/InspectorMemoryAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorMemoryAgenth">trunk/Source/WebCore/inspector/InspectorMemoryAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorPageAgentcpp">trunk/Source/WebCore/inspector/InspectorPageAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorPageAgenth">trunk/Source/WebCore/inspector/InspectorPageAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorProfilerAgentcpp">trunk/Source/WebCore/inspector/InspectorProfilerAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorProfilerAgenth">trunk/Source/WebCore/inspector/InspectorProfilerAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorResourceAgentcpp">trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorResourceAgenth">trunk/Source/WebCore/inspector/InspectorResourceAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorRuntimeAgenth">trunk/Source/WebCore/inspector/InspectorRuntimeAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorTimelineAgentcpp">trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorTimelineAgenth">trunk/Source/WebCore/inspector/InspectorTimelineAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorWorkerAgentcpp">trunk/Source/WebCore/inspector/InspectorWorkerAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorWorkerAgenth">trunk/Source/WebCore/inspector/InspectorWorkerAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorPageRuntimeAgenth">trunk/Source/WebCore/inspector/PageRuntimeAgent.h</a></li>
<li><a href="#trunkSourceWebCoreinspectorScriptCallFramecpp">trunk/Source/WebCore/inspector/ScriptCallFrame.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorWorkerInspectorControllercpp">trunk/Source/WebCore/inspector/WorkerInspectorController.cpp</a></li>
<li><a href="#trunkSourceWebCoreinspectorWorkerRuntimeAgenth">trunk/Source/WebCore/inspector/WorkerRuntimeAgent.h</a></li>
<li><a href="#trunkSourceWebCoremakegeneratedsourcessh">trunk/Source/WebCore/make-generated-sources.sh</a></li>
<li><a href="#trunkSourceWebInspectorUIChangeLog">trunk/Source/WebInspectorUI/ChangeLog</a></li>
<li><a href="#trunkSourceWebInspectorUIScriptscopyuserinterfaceresourcessh">trunk/Source/WebInspectorUI/Scripts/copy-user-interface-resources.sh</a></li>
<li><a href="#trunkSourceWebInspectorUIScriptsupdateInspectorBackendCommandsrb">trunk/Source/WebInspectorUI/Scripts/update-InspectorBackendCommands.rb</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceLoadInspectorBackendCommandsjs">trunk/Source/WebInspectorUI/UserInterface/LoadInspectorBackendCommands.js</a></li>
<li><a href="#trunkSourceWebInspectorUIWebInspectorUIvcxprojWebInspectorUIvcxproj">trunk/Source/WebInspectorUI/WebInspectorUI.vcxproj/WebInspectorUI.vcxproj</a></li>
<li><a href="#trunkSourceWebInspectorUIWebInspectorUIvcxprojWebInspectorUIvcxprojfilters">trunk/Source/WebInspectorUI/WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters</a></li>
<li><a href="#trunkSourceWebInspectorUIWebInspectorUIxcodeprojprojectpbxproj">trunk/Source/WebInspectorUI/WebInspectorUI.xcodeproj/project.pbxproj</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li>trunk/Source/JavaScriptCore/inspector/protocol/</li>
<li><a href="#trunkSourceJavaScriptCoreinspectorprotocolRuntimejson">trunk/Source/JavaScriptCore/inspector/protocol/Runtime.json</a></li>
<li>trunk/Source/JavaScriptCore/inspector/scripts/</li>
<li><a href="#trunkSourceJavaScriptCoreinspectorscriptsCodeGeneratorInspectorpy">trunk/Source/JavaScriptCore/inspector/scripts/CodeGeneratorInspector.py</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorscriptsCodeGeneratorInspectorStringspy">trunk/Source/JavaScriptCore/inspector/scripts/CodeGeneratorInspectorStrings.py</a></li>
<li><a href="#trunkSourceJavaScriptCoreinspectorscriptsgeneratecombinedinspectorjsonpy">trunk/Source/JavaScriptCore/inspector/scripts/generate-combined-inspector-json.py</a></li>
<li><a href="#trunkSourceWebCoreForwardingHeadersinspectorInspectorJSBackendDispatchersh">trunk/Source/WebCore/ForwardingHeaders/inspector/InspectorJSBackendDispatchers.h</a></li>
<li><a href="#trunkSourceWebCoreForwardingHeadersinspectorInspectorJSFrontendDispatchersh">trunk/Source/WebCore/ForwardingHeaders/inspector/InspectorJSFrontendDispatchers.h</a></li>
<li><a href="#trunkSourceWebCoreForwardingHeadersinspectorInspectorJSTypeBuildersh">trunk/Source/WebCore/ForwardingHeaders/inspector/InspectorJSTypeBuilders.h</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceInspectorJSBackendCommandsjs">trunk/Source/WebInspectorUI/UserInterface/InspectorJSBackendCommands.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceInspectorWebBackendCommandsjs">trunk/Source/WebInspectorUI/UserInterface/InspectorWebBackendCommands.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceLegacy60InspectorWebBackendCommandsjs">trunk/Source/WebInspectorUI/UserInterface/Legacy/6.0/InspectorWebBackendCommands.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceLegacy70InspectorWebBackendCommandsjs">trunk/Source/WebInspectorUI/UserInterface/Legacy/7.0/InspectorWebBackendCommands.js</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreinspectorCodeGeneratorInspectorpy">trunk/Source/WebCore/inspector/CodeGeneratorInspector.py</a></li>
<li><a href="#trunkSourceWebCoreinspectorCodeGeneratorInspectorStringspy">trunk/Source/WebCore/inspector/CodeGeneratorInspectorStrings.py</a></li>
<li><a href="#trunkSourceWebCoreinspectorScriptsgeneratecombinedinspectorjsonpy">trunk/Source/WebCore/inspector/Scripts/generate-combined-inspector-json.py</a></li>
<li><a href="#trunkSourceWebCoreinspectorprotocolRuntimejson">trunk/Source/WebCore/inspector/protocol/Runtime.json</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceInspectorBackendCommandsjs">trunk/Source/WebInspectorUI/UserInterface/InspectorBackendCommands.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceLegacy60InspectorBackendCommandsjs">trunk/Source/WebInspectorUI/UserInterface/Legacy/6.0/InspectorBackendCommands.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceLegacy70InspectorBackendCommandsjs">trunk/Source/WebInspectorUI/UserInterface/Legacy/7.0/InspectorBackendCommands.js</a></li>
</ul>

<h3>Property Changed</h3>
<ul>
<li><a href="#trunkSourceWebCoreWebCorevcxprojbuildgeneratedfilessh">trunk/Source/WebCore/WebCore.vcxproj/build-generated-files.sh</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/ChangeLog (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/ChangeLog        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/ChangeLog        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -1,3 +1,12 @@
</span><ins>+2013-12-13  Joseph Pecoraro  &lt;pecoraro@apple.com&gt;
+
+        Web Inspector: Add Inspector Code Generation to JavaScriptCore for Runtime Domain
+        https://bugs.webkit.org/show_bug.cgi?id=125595
+
+        Reviewed by Timothy Hatcher.
+
+        * GNUmakefile.am:
+
</ins><span class="cx"> 2013-12-13  Zan Dobersek  &lt;zdobersek@igalia.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [GTK] Remove the -Wno-c++11-extensions compiler option for Clang builds
</span></span></pre></div>
<a id="trunkGNUmakefileam"></a>
<div class="modfile"><h4>Modified: trunk/GNUmakefile.am (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/GNUmakefile.am        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/GNUmakefile.am        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -41,6 +41,7 @@
</span><span class="cx"> GENSOURCES_PLATFORM := $(top_builddir)/DerivedSources/Platform
</span><span class="cx"> GENPROGRAMS := $(top_builddir)/Programs
</span><span class="cx"> GENSOURCES_INSPECTOR := $(GENPROGRAMS)/resources/inspector
</span><ins>+JavaScriptCore := $(srcdir)/Source/JavaScriptCore
</ins><span class="cx"> WebCore := $(srcdir)/Source/WebCore
</span><span class="cx"> WebInspectorUI := $(srcdir)/Source/WebInspectorUI
</span><span class="cx"> WebKit := $(srcdir)/Source/WebKit/gtk
</span></span></pre></div>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/LayoutTests/ChangeLog        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -1,3 +1,14 @@
</span><ins>+2013-12-13  Joseph Pecoraro  &lt;pecoraro@apple.com&gt;
+
+        Web Inspector: Add Inspector Code Generation to JavaScriptCore for Runtime Domain
+        https://bugs.webkit.org/show_bug.cgi?id=125595
+
+        Reviewed by Timothy Hatcher.
+
+        * http/tests/inspector-protocol/resources/InspectorTest.js:
+        (InspectorTest.importInspectorScripts):
+        Update for the new backend commands files.
+
</ins><span class="cx"> 2013-12-13  Thiago de Barros Lacerda  &lt;thiago.lacerda@openbossa.org&gt;
</span><span class="cx"> 
</span><span class="cx">         Adding RTCPeerConnectionErrorCallback
</span></span></pre></div>
<a id="trunkLayoutTestshttptestsinspectorprotocolresourcesInspectorTestjs"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/http/tests/inspector-protocol/resources/InspectorTest.js (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/http/tests/inspector-protocol/resources/InspectorTest.js        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/LayoutTests/http/tests/inspector-protocol/resources/InspectorTest.js        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -178,7 +178,8 @@
</span><span class="cx">         &quot;InspectorBackend&quot;,
</span><span class="cx">         &quot;InspectorFrontendAPI&quot;,
</span><span class="cx">         &quot;InspectorFrontendHostStub&quot;,
</span><del>-        &quot;InspectorBackendCommands&quot;,
</del><ins>+        &quot;InspectorJSBackendCommands&quot;,
+        &quot;InspectorWebBackendCommands&quot;,
</ins><span class="cx">         &quot;URLUtilities&quot;,
</span><span class="cx">         &quot;MessageDispatcher&quot;,
</span><span class="cx">         &quot;Setting&quot;,
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/CMakeLists.txt (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/CMakeLists.txt        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/JavaScriptCore/CMakeLists.txt        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -652,6 +652,43 @@
</span><span class="cx">     VERBATIM)
</span><span class="cx"> ADD_SOURCE_DEPENDENCIES(${CMAKE_CURRENT_SOURCE_DIR}/parser/Lexer.cpp ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/KeywordLookup.h)
</span><span class="cx"> 
</span><ins>+
+# Inspector Interfaces
+
+set(JavaScriptCore_INSPECTOR_SCRIPTS_DIR &quot;${JAVASCRIPTCORE_DIR}/inspector/scripts&quot;)
+
+set(JavaScriptCore_INSPECTOR_DOMAINS
+    inspector/protocol/Runtime.json
+)
+
+add_custom_command(
+    OUTPUT ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJS.json
+    MAIN_DEPENDENCY ${JavaScriptCore_INSPECTOR_SCRIPTS_DIR}/generate-combined-inspector-json.py
+    DEPENDS ${JavaScriptCore_INSPECTOR_DOMAINS}
+    COMMAND ${PYTHON_EXECUTABLE} ${JavaScriptCore_INSPECTOR_SCRIPTS_DIR}/generate-combined-inspector-json.py ${JAVASCRIPTCORE_DIR}/inspector/protocol &gt; ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJS.json
+    VERBATIM)
+
+# Inspector Backend Dispatchers, Frontend Dispatchers, Type Builders
+add_custom_command(
+    OUTPUT ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSBackendDispatchers.cpp ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSBackendDispatchers.h ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSFrontendDispatchers.cpp ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSFrontendDispatchers.h ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSTypeBuilders.cpp ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSTypeBuilders.h
+    MAIN_DEPENDENCY ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJS.json
+    DEPENDS ${JavaScriptCore_INSPECTOR_SCRIPTS_DIR}/CodeGeneratorInspector.py ${JavaScriptCore_INSPECTOR_SCRIPTS_DIR}/CodeGeneratorInspectorStrings.py
+    COMMAND ${PYTHON_EXECUTABLE} ${JavaScriptCore_INSPECTOR_SCRIPTS_DIR}/CodeGeneratorInspector.py ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJS.json --output_h_dir &quot;${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}&quot; --output_cpp_dir &quot;${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}&quot; --output_js_dir &quot;${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}&quot; --output_type JavaScript --write_always &amp;&amp; mkdir -p ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector &amp;&amp; cp ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSBackendDispatchers.h ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSFrontendDispatchers.h ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSTypeBuilders.h ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector
+    VERBATIM)
+
+list(APPEND JavaScriptCore_SOURCES
+    ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSBackendDispatchers.cpp
+    ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSFrontendDispatchers.cpp
+    ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSTypeBuilders.cpp
+)
+
+list(APPEND JavaScriptCore_HEADERS
+    ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSBackendDispatchers.h
+    ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSFrontendDispatchers.h
+    ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSTypeBuilders.h
+)
+
+
</ins><span class="cx"> if (WTF_CPU_ARM)
</span><span class="cx">     list(APPEND JavaScriptCore_SOURCES
</span><span class="cx">         assembler/ARMAssembler.cpp
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/JavaScriptCore/ChangeLog        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -1,3 +1,38 @@
</span><ins>+2013-12-13  Joseph Pecoraro  &lt;pecoraro@apple.com&gt;
+
+        Web Inspector: Add Inspector Code Generation to JavaScriptCore for Runtime Domain
+        https://bugs.webkit.org/show_bug.cgi?id=125595
+
+        Reviewed by Timothy Hatcher.
+
+          - Move CodeGeneration scripts from WebCore into JavaScriptCore/inspector/scripts
+          - For ports that build WebKit frameworks separately, export the scripts as PrivateHeaders
+          - Update CodeGeneratorInspector.py in a few ways:
+            - output dynamic filenames, so JavaScriptCore generates InspectorJSFoo.* and WebCore generates InspectorWebFoo.*
+            - take in more then one protocol JSON file. The first contains domains to generate, the others are dependencies
+              that are generated elsewhere that we can depend on for Types.
+          - Add DerivedSources build step to generate the Inspector Interfaces
+
+        * CMakeLists.txt:
+        * DerivedSources.make:
+        * GNUmakefile.am:
+        * GNUmakefile.list.am:
+        * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
+        * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
+        * JavaScriptCore.vcxproj/copy-files.cmd:
+        * JavaScriptCore.xcodeproj/project.pbxproj:
+        Add scripts and code generation.
+
+        * inspector/protocol/Runtime.json: Renamed from Source/WebCore/inspector/protocol/Runtime.json.
+        Move protocol file into JavaScriptCore so its types will be generated in JavaScriptCore.
+
+        * inspector/scripts/CodeGeneratorInspector.py: Renamed from Source/WebCore/inspector/CodeGeneratorInspector.py.
+        Updates to the script as listed above.
+
+        * inspector/scripts/CodeGeneratorInspectorStrings.py: Renamed from Source/WebCore/inspector/CodeGeneratorInspectorStrings.py.
+        * inspector/scripts/generate-combined-inspector-json.py: Renamed from Source/WebCore/inspector/Scripts/generate-combined-inspector-json.py.
+        Moved from WebCore into JavaScriptCore for code generation.
+
</ins><span class="cx"> 2013-12-13  Peter Szanka  &lt;h868064@stud.u-szeged.hu&gt;
</span><span class="cx"> 
</span><span class="cx">         Delete INTEL C compiler related code parts.
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreDerivedSourcesmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/DerivedSources.make (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/DerivedSources.make        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/JavaScriptCore/DerivedSources.make        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -5,13 +5,13 @@
</span><span class="cx"> # are met:
</span><span class="cx"> #
</span><span class="cx"> # 1.  Redistributions of source code must retain the above copyright
</span><del>-#     notice, this list of conditions and the following disclaimer. 
</del><ins>+#     notice, this list of conditions and the following disclaimer.
</ins><span class="cx"> # 2.  Redistributions in binary form must reproduce the above copyright
</span><span class="cx"> #     notice, this list of conditions and the following disclaimer in the
</span><del>-#     documentation and/or other materials provided with the distribution. 
</del><ins>+#     documentation and/or other materials provided with the distribution.
</ins><span class="cx"> # 3.  Neither the name of Apple Computer, Inc. (&quot;Apple&quot;) nor the names of
</span><span class="cx"> #     its contributors may be used to endorse or promote products derived
</span><del>-#     from this software without specific prior written permission. 
</del><ins>+#     from this software without specific prior written permission.
</ins><span class="cx"> #
</span><span class="cx"> # THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS &quot;AS IS&quot; AND ANY
</span><span class="cx"> # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
</span><span class="lines">@@ -79,3 +79,27 @@
</span><span class="cx"> 
</span><span class="cx"> udis86_itab.h: $(JavaScriptCore)/disassembler/udis86/itab.py $(JavaScriptCore)/disassembler/udis86/optable.xml
</span><span class="cx">         (PYTHONPATH=$(JavaScriptCore)/disassembler/udis86 python $(JavaScriptCore)/disassembler/udis86/itab.py $(JavaScriptCore)/disassembler/udis86/optable.xml || exit 1)
</span><ins>+
+
+# Inspector interfaces
+
+INSPECTOR_DOMAINS = \
+    $(JavaScriptCore)/inspector/protocol/Runtime.json \
+#
+
+INSPECTOR_GENERATOR_SCRIPTS = \
+        $(JavaScriptCore)/inspector/scripts/CodeGeneratorInspector.py \
+        $(JavaScriptCore)/inspector/scripts/CodeGeneratorInspectorStrings.py \
+#
+
+all : \
+    InspectorJS.json \
+    InspectorJSFrontendDispatchers.h \
+#
+
+InspectorJS.json : inspector/scripts/generate-combined-inspector-json.py $(INSPECTOR_DOMAINS)
+        python $(JavaScriptCore)/inspector/scripts/generate-combined-inspector-json.py $(JavaScriptCore)/inspector/protocol &gt; ./InspectorJS.json
+
+# Inspector Backend Dispatchers, Frontend Dispatchers, Type Builders
+InspectorJSFrontendDispatchers.h : InspectorJS.json $(INSPECTOR_GENERATOR_SCRIPTS)
+        python $(JavaScriptCore)/inspector/scripts/CodeGeneratorInspector.py ./InspectorJS.json --output_h_dir . --output_cpp_dir . --output_js_dir . --output_type JavaScript
</ins></span></pre></div>
<a id="trunkSourceJavaScriptCoreGNUmakefileam"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/GNUmakefile.am (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/GNUmakefile.am        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/JavaScriptCore/GNUmakefile.am        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -215,3 +215,27 @@
</span><span class="cx"> typelibs_DATA += JavaScriptCore-@WEBKITGTK_API_VERSION@.typelib
</span><span class="cx"> CLEANFILES += JavaScriptCore-@WEBKITGTK_API_VERSION@.gir JavaScriptCore-@WEBKITGTK_API_VERSION@.typelib
</span><span class="cx"> endif
</span><ins>+
+
+# Inspector Interfaces
+
+INSPECTOR_SCRIPTS_DIR := $(JavaScriptCore)/inspector/scripts
+
+INSPECTOR_DOMAINS := \
+    $(JavaScriptCore)/inspector/protocol/Runtime.json
+
+DerivedSources/JavaScriptCore/InspectorJS.json: $(INSPECTOR_SCRIPTS_DIR)/generate-combined-inspector-json.py $(INSPECTOR_DOMAINS)
+        $(AM_V_GEN)$(PYTHON) $(INSPECTOR_SCRIPTS_DIR)/generate-combined-inspector-json.py $(JavaScriptCore)/inspector/protocol &gt; $(GENSOURCES_JAVASCRIPTCORE)/InspectorJS.json
+
+# Inspector Backend Dispatchers, Frontend Dispatchers, Type Builders
+# Copy generated header files to DerivedSources/JavaScriptCore/inspector so that WebCore's ForwardingHeader style of #include &lt;inspector/Foo.h&gt; will work.
+DerivedSources/JavaScriptCore/InspectorJSBackendDispatchers.cpp: DerivedSources/JavaScriptCore/InspectorJS.json $(INSPECTOR_SCRIPTS_DIR)/CodeGeneratorInspector.py $(INSPECTOR_SCRIPTS_DIR)/CodeGeneratorInspectorStrings.py
+        $(AM_V_GEN)$(PYTHON) $(INSPECTOR_SCRIPTS_DIR)/CodeGeneratorInspector.py $&lt; --output_h_dir $(GENSOURCES_JAVASCRIPTCORE) --output_cpp_dir $(GENSOURCES_JAVASCRIPTCORE) --output_js_dir $(GENSOURCES_JAVASCRIPTCORE) --output_type JavaScript
+        mkdir -p DerivedSources/JavaScriptCore/inspector
+        cp DerivedSources/JavaScriptCore/InspectorJSTypeBuilders.h DerivedSources/JavaScriptCore/InspectorJSFrontendDispatchers.h DerivedSources/JavaScriptCore/InspectorJSBackendDispatchers.h DerivedSources/JavaScriptCore/inspector
+DerivedSources/JavaScriptCore/InspectorJSTypeBuilders.h: DerivedSources/JavaScriptCore/InspectorJSTypeBuilders.cpp
+DerivedSources/JavaScriptCore/InspectorJSTypeBuilders.cpp: DerivedSources/JavaScriptCore/InspectorJSFrontendDispatchers.h
+DerivedSources/JavaScriptCore/InspectorJSFrontendDispatchers.h: DerivedSources/JavaScriptCore/InspectorJSFrontendDispatchers.cpp
+DerivedSources/JavaScriptCore/InspectorJSFrontendDispatchers.cpp: DerivedSources/JavaScriptCore/InspectorJSBackendCommands.js
+DerivedSources/JavaScriptCore/InspectorJSBackendCommands.js: DerivedSources/JavaScriptCore/InspectorJSBackendDispatchers.h
+DerivedSources/JavaScriptCore/InspectorJSBackendDispatchers.h: DerivedSources/JavaScriptCore/InspectorJSBackendDispatchers.cpp
</ins></span></pre></div>
<a id="trunkSourceJavaScriptCoreGNUmakefilelistam"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/GNUmakefile.list.am (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/GNUmakefile.list.am        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/JavaScriptCore/GNUmakefile.list.am        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -1186,7 +1186,13 @@
</span><span class="cx">         Source/JavaScriptCore/yarr/YarrPattern.cpp \
</span><span class="cx">         Source/JavaScriptCore/yarr/YarrPattern.h \
</span><span class="cx">         Source/JavaScriptCore/yarr/YarrSyntaxChecker.cpp \
</span><del>-        Source/JavaScriptCore/yarr/YarrSyntaxChecker.h
</del><ins>+        Source/JavaScriptCore/yarr/YarrSyntaxChecker.h \
+        DerivedSources/JavaScriptCore/InspectorJSBackendDispatchers.cpp \
+        DerivedSources/JavaScriptCore/InspectorJSBackendDispatchers.h \
+        DerivedSources/JavaScriptCore/InspectorJSFrontendDispatchers.cpp \
+        DerivedSources/JavaScriptCore/InspectorJSFrontendDispatchers.h \
+        DerivedSources/JavaScriptCore/InspectorJSTypeBuilders.cpp \
+        DerivedSources/JavaScriptCore/InspectorJSTypeBuilders.h
</ins><span class="cx"> 
</span><span class="cx"> llint_nosources += \
</span><span class="cx">         Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm \
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -692,6 +692,9 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\yarr\YarrJIT.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\yarr\YarrPattern.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\yarr\YarrSyntaxChecker.cpp&quot; /&gt;
</span><ins>+    &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorJSBackendDispatchers.cpp&quot; /&gt;
+    &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorJSFrontendDispatchers.cpp&quot; /&gt;
+    &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorJSTypeBuilders.cpp&quot; /&gt;
</ins><span class="cx">   &lt;/ItemGroup&gt;
</span><span class="cx">   &lt;ItemGroup&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\ArrayConstructor.lut.h&quot; /&gt;
</span><span class="lines">@@ -701,6 +704,9 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\DatePrototype.lut.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\ErrorPrototype.lut.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\HeaderDetection.h&quot; /&gt;
</span><ins>+    &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorJSBackendDispatchers.h&quot; /&gt;
+    &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorJSFrontendDispatchers.h&quot; /&gt;
+    &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorJSTypeBuilders.h&quot; /&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSDataViewPrototype.lut.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSGlobalObject.lut.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSONObject.lut.h&quot; /&gt;
</span><span class="lines">@@ -1368,4 +1374,4 @@
</span><span class="cx">   &lt;ImportGroup Label=&quot;ExtensionTargets&quot;&gt;
</span><span class="cx">     &lt;Import Project=&quot;$(VCTargetsPath)\BuildCustomizations\masm.targets&quot; /&gt;
</span><span class="cx">   &lt;/ImportGroup&gt;
</span><del>-&lt;/Project&gt;
</del><span class="cx">\ No newline at end of file
</span><ins>+&lt;/Project&gt;
</ins></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxprojfilters"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -1296,6 +1296,15 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\runtime\ArrayBufferNeuteringWatchpoint.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;runtime&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><ins>+    &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorJSBackendDispatchers.cpp&quot;&gt;
+      &lt;Filter&gt;Derived Sources&lt;/Filter&gt;
+    &lt;/ClCompile&gt;
+    &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorJSFrontendDispatchers.cpp&quot;&gt;
+      &lt;Filter&gt;Derived Sources&lt;/Filter&gt;
+    &lt;/ClCompile&gt;
+    &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorJSTypeBuilders.cpp&quot;&gt;
+      &lt;Filter&gt;Derived Sources&lt;/Filter&gt;
+    &lt;/ClCompile&gt;
</ins><span class="cx">   &lt;/ItemGroup&gt;
</span><span class="cx">   &lt;ItemGroup&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\API\APICallbackFunction.h&quot;&gt;
</span><span class="lines">@@ -2448,6 +2457,15 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\HeaderDetection.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;Derived Sources&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><ins>+    &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorJSBackendDispatchers.h&quot;&gt;
+      &lt;Filter&gt;Derived Sources&lt;/Filter&gt;
+    &lt;/ClInclude&gt;
+    &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorJSFrontendDispatchers.h&quot;&gt;
+      &lt;Filter&gt;Derived Sources&lt;/Filter&gt;
+    &lt;/ClInclude&gt;
+    &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorJSTypeBuilders.h&quot;&gt;
+      &lt;Filter&gt;Derived Sources&lt;/Filter&gt;
+    &lt;/ClInclude&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSGlobalObject.lut.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;Derived Sources&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><span class="lines">@@ -3239,4 +3257,4 @@
</span><span class="cx">       &lt;Filter&gt;jit&lt;/Filter&gt;
</span><span class="cx">     &lt;/MASM&gt;
</span><span class="cx">   &lt;/ItemGroup&gt;
</span><del>-&lt;/Project&gt;
</del><span class="cx">\ No newline at end of file
</span><ins>+&lt;/Project&gt;
</ins></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorevcxprojcopyfilescmd"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/copy-files.cmd (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/copy-files.cmd        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/copy-files.cmd        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -3,6 +3,7 @@
</span><span class="cx"> set PublicHeadersDirectory=%CONFIGURATIONBUILDDIR%\include\JavaScriptCore
</span><span class="cx"> set PrivateHeadersDirectory=%CONFIGURATIONBUILDDIR%\include\private\JavaScriptCore
</span><span class="cx"> set ResourcesDirectory=%CONFIGURATIONBUILDDIR%\bin%PlatformArchitecture%\JavaScriptCore.resources
</span><ins>+set DerivedSourcesDirectory=%CONFIGURATIONBUILDDIR%\obj%PlatformArchitecture%\JavaScriptCore\DerivedSources
</ins><span class="cx"> 
</span><span class="cx"> if &quot;%1&quot; EQU &quot;clean&quot; goto :clean
</span><span class="cx"> if &quot;%1&quot; EQU &quot;rebuild&quot; call :clean
</span><span class="lines">@@ -57,6 +58,19 @@
</span><span class="cx">     xcopy /y /d ..\%%d\*.h &quot;%PrivateHeadersDirectory%&quot; &gt;NUL
</span><span class="cx"> )
</span><span class="cx"> 
</span><ins>+echo Copying Inspector scripts as if they were private headers...
+for %%d in (
+    inspector\scripts
+) do (
+    xcopy /y /d ..\%%d\*.py &quot;%PrivateHeadersDirectory%&quot; &gt;NUL
+)
+
+echo Copying Inspector generated files as if they were private headers...
+xcopy /y &quot;%DerivedSourcesDirectory%\InspectorJS.json&quot; &quot;%PrivateHeadersDirectory%&quot; &gt;NUL
+xcopy /y &quot;%DerivedSourcesDirectory%\InspectorJSTypeBuilders.h&quot; &quot;%PrivateHeadersDirectory%&quot; &gt;NUL
+xcopy /y &quot;%DerivedSourcesDirectory%\InspectorJSBackendDispatchers.h&quot; &quot;%PrivateHeadersDirectory%&quot; &gt;NUL
+xcopy /y &quot;%DerivedSourcesDirectory%\InspectorJSFrontendDispatchers.h&quot; &quot;%PrivateHeadersDirectory%&quot; &gt;NUL
+
</ins><span class="cx"> echo Copying resources...
</span><span class="cx"> mkdir &quot;%ResourcesDirectory%&quot; 2&gt;NUL
</span><span class="cx"> xcopy /y /d JavaScriptCore.resources\* &quot;%ResourcesDirectory%&quot; &gt;NUL
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -543,7 +543,6 @@
</span><span class="cx">                 0FFB921C16D02F110055A5DB /* DFGOSRExitCompilationInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 65987F2C167FE84B003C2F8D /* DFGOSRExitCompilationInfo.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 0FFB921D16D02F300055A5DB /* DFGSlowPathGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F1E3A501537C2CB000F9456 /* DFGSlowPathGenerator.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 0FFB921E16D02F470055A5DB /* DFGVariadicFunction.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F85A31E16AB76AE0077571E /* DFGVariadicFunction.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                0FFB921F16D033050055A5DB /* (null) in Headers */ = {isa = PBXBuildFile; settings = {ATTRIBUTES = (Private, ); }; };
</del><span class="cx">                 0FFB922016D033B70055A5DB /* NodeConstructors.h in Headers */ = {isa = PBXBuildFile; fileRef = 930DAD030FB1EB1A0082D205 /* NodeConstructors.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 0FFC99D1184EC8AD009C10AB /* ConstantMode.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FFC99D0184EC8AD009C10AB /* ConstantMode.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 0FFC99D4184EE318009C10AB /* ArrayBufferNeuteringWatchpoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0FFC99D2184EE318009C10AB /* ArrayBufferNeuteringWatchpoint.cpp */; };
</span><span class="lines">@@ -895,6 +894,16 @@
</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>+                A532438718568335002ED692 /* InspectorJSBackendDispatchers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A532438118568317002ED692 /* InspectorJSBackendDispatchers.cpp */; };
+                A532438818568335002ED692 /* InspectorJSBackendDispatchers.h in Headers */ = {isa = PBXBuildFile; fileRef = A532438218568317002ED692 /* InspectorJSBackendDispatchers.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                A532438918568335002ED692 /* InspectorJSFrontendDispatchers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A532438318568317002ED692 /* InspectorJSFrontendDispatchers.cpp */; };
+                A532438A18568335002ED692 /* InspectorJSFrontendDispatchers.h in Headers */ = {isa = PBXBuildFile; fileRef = A532438418568317002ED692 /* InspectorJSFrontendDispatchers.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                A532438B18568335002ED692 /* InspectorJSTypeBuilders.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A532438518568317002ED692 /* InspectorJSTypeBuilders.cpp */; };
+                A532438C18568335002ED692 /* InspectorJSTypeBuilders.h in Headers */ = {isa = PBXBuildFile; fileRef = A532438618568317002ED692 /* InspectorJSTypeBuilders.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                A532439218569709002ED692 /* CodeGeneratorInspector.py in Headers */ = {isa = PBXBuildFile; fileRef = A532438F185696E6002ED692 /* CodeGeneratorInspector.py */; settings = {ATTRIBUTES = (Private, ); }; };
+                A532439318569709002ED692 /* CodeGeneratorInspectorStrings.py in Headers */ = {isa = PBXBuildFile; fileRef = A5324390185696E6002ED692 /* CodeGeneratorInspectorStrings.py */; settings = {ATTRIBUTES = (Private, ); }; };
+                A532439418569709002ED692 /* generate-combined-inspector-json.py in Headers */ = {isa = PBXBuildFile; fileRef = A5324391185696E6002ED692 /* generate-combined-inspector-json.py */; settings = {ATTRIBUTES = (Private, ); }; };
+                A53243981856A489002ED692 /* InspectorJS.json in Headers */ = {isa = PBXBuildFile; fileRef = A53243951856A475002ED692 /* InspectorJS.json */; settings = {ATTRIBUTES = (Private, ); }; };
</ins><span class="cx">                 A54CF2F5184EAB2400237F19 /* ScriptValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A54CF2F2184EAB2400237F19 /* ScriptValue.cpp */; };
</span><span class="cx">                 A54CF2F6184EAB2400237F19 /* ScriptValue.h in Headers */ = {isa = PBXBuildFile; fileRef = A54CF2F3184EAB2400237F19 /* ScriptValue.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 A54CF2F9184EAEDA00237F19 /* ScriptObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A54CF2F7184EAEDA00237F19 /* ScriptObject.cpp */; };
</span><span class="lines">@@ -2241,6 +2250,18 @@
</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>+                A532438118568317002ED692 /* InspectorJSBackendDispatchers.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorJSBackendDispatchers.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A532438218568317002ED692 /* InspectorJSBackendDispatchers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = InspectorJSBackendDispatchers.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A532438318568317002ED692 /* InspectorJSFrontendDispatchers.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorJSFrontendDispatchers.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A532438418568317002ED692 /* InspectorJSFrontendDispatchers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = InspectorJSFrontendDispatchers.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A532438518568317002ED692 /* InspectorJSTypeBuilders.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorJSTypeBuilders.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A532438618568317002ED692 /* InspectorJSTypeBuilders.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = InspectorJSTypeBuilders.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A532438D185696CA002ED692 /* protocol */ = {isa = PBXFileReference; lastKnownFileType = folder; name = protocol; path = inspector/protocol; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A532438F185696E6002ED692 /* CodeGeneratorInspector.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; name = CodeGeneratorInspector.py; path = inspector/scripts/CodeGeneratorInspector.py; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A5324390185696E6002ED692 /* CodeGeneratorInspectorStrings.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; name = CodeGeneratorInspectorStrings.py; path = inspector/scripts/CodeGeneratorInspectorStrings.py; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A5324391185696E6002ED692 /* generate-combined-inspector-json.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; name = &quot;generate-combined-inspector-json.py&quot;; path = &quot;inspector/scripts/generate-combined-inspector-json.py&quot;; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A53243951856A475002ED692 /* InspectorJS.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = InspectorJS.json; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A53243961856A475002ED692 /* InspectorJSBackendCommands.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = InspectorJSBackendCommands.js; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 A54CF2F2184EAB2400237F19 /* ScriptValue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptValue.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A54CF2F3184EAB2400237F19 /* ScriptValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptValue.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A54CF2F7184EAEDA00237F19 /* ScriptObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptObject.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -3314,6 +3335,14 @@
</span><span class="cx">                         children = (
</span><span class="cx">                                 BC18C5230E16FC8A00B34460 /* ArrayPrototype.lut.h */,
</span><span class="cx">                                 BCD203E70E1718F4002C7E82 /* DatePrototype.lut.h */,
</span><ins>+                                A53243951856A475002ED692 /* InspectorJS.json */,
+                                A53243961856A475002ED692 /* InspectorJSBackendCommands.js */,
+                                A532438118568317002ED692 /* InspectorJSBackendDispatchers.cpp */,
+                                A532438218568317002ED692 /* InspectorJSBackendDispatchers.h */,
+                                A532438318568317002ED692 /* InspectorJSFrontendDispatchers.cpp */,
+                                A532438418568317002ED692 /* InspectorJSFrontendDispatchers.h */,
+                                A532438518568317002ED692 /* InspectorJSTypeBuilders.cpp */,
+                                A532438618568317002ED692 /* InspectorJSTypeBuilders.h */,
</ins><span class="cx">                                 BC87CDB810712ACA000614CF /* JSONObject.lut.h */,
</span><span class="cx">                                 7C184E2417BFFA36007CB63A /* JSPromiseConstructor.lut.h */,
</span><span class="cx">                                 7C184E2517BFFA36007CB63A /* JSPromisePrototype.lut.h */,
</span><span class="lines">@@ -4230,6 +4259,16 @@
</span><span class="cx">                         path = bytecode;
</span><span class="cx">                         sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="cx">                 };
</span><ins>+                A532438E185696CE002ED692 /* scripts */ = {
+                        isa = PBXGroup;
+                        children = (
+                                A532438F185696E6002ED692 /* CodeGeneratorInspector.py */,
+                                A5324390185696E6002ED692 /* CodeGeneratorInspectorStrings.py */,
+                                A5324391185696E6002ED692 /* generate-combined-inspector-json.py */,
+                        );
+                        name = scripts;
+                        sourceTree = &quot;&lt;group&gt;&quot;;
+                };
</ins><span class="cx">                 A54CF2EA184EA73900237F19 /* bindings */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><span class="lines">@@ -4246,7 +4285,9 @@
</span><span class="cx">                 A5BA15DF1823409200A82E69 /* inspector */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><ins>+                                A532438D185696CA002ED692 /* protocol */,
</ins><span class="cx">                                 A5BA15E01823409D00A82E69 /* remote */,
</span><ins>+                                A532438E185696CE002ED692 /* scripts */,
</ins><span class="cx">                                 A593CF7E1840362C00BFCE27 /* InspectorAgentBase.h */,
</span><span class="cx">                                 A593CF84184038CA00BFCE27 /* InspectorAgentRegistry.cpp */,
</span><span class="cx">                                 A593CF85184038CA00BFCE27 /* InspectorAgentRegistry.h */,
</span><span class="lines">@@ -4306,12 +4347,12 @@
</span><span class="cx">                         isa = PBXHeadersBuildPhase;
</span><span class="cx">                         buildActionMask = 2147483647;
</span><span class="cx">                         files = (
</span><del>-                                0FFB921F16D033050055A5DB /* (null) in Headers */,
</del><span class="cx">                                 0FFA549816B8835300B3A982 /* A64DOpcode.h in Headers */,
</span><span class="cx">                                 860161E30F3A83C100F84710 /* AbstractMacroAssembler.h in Headers */,
</span><span class="cx">                                 0F55F0F514D1063C00AC7649 /* AbstractPC.h in Headers */,
</span><span class="cx">                                 2A48D1911772365B00C65A5F /* APICallbackFunction.h in Headers */,
</span><span class="cx">                                 BC18C3E50E16F5CD00B34460 /* APICast.h in Headers */,
</span><ins>+                                A532438C18568335002ED692 /* InspectorJSTypeBuilders.h in Headers */,
</ins><span class="cx">                                 865F408810E7D56300947361 /* APIShims.h in Headers */,
</span><span class="cx">                                 BCF605140E203EF800B9A64D /* ArgList.h in Headers */,
</span><span class="cx">                                 BC257DE80E1F51C50016B6C9 /* Arguments.h in Headers */,
</span><span class="lines">@@ -4320,12 +4361,16 @@
</span><span class="cx">                                 86D3B2C410156BDE002865E7 /* ARMAssembler.h in Headers */,
</span><span class="cx">                                 86ADD1450FDDEA980006EEC2 /* ARMv7Assembler.h in Headers */,
</span><span class="cx">                                 65C0285D1717966800351E35 /* ARMv7DOpcode.h in Headers */,
</span><ins>+                                A532439218569709002ED692 /* CodeGeneratorInspector.py in Headers */,
+                                A532439318569709002ED692 /* CodeGeneratorInspectorStrings.py in Headers */,
+                                A532439418569709002ED692 /* generate-combined-inspector-json.py in Headers */,
</ins><span class="cx">                                 FE5932A8183C5A2600A1ECCC /* VMEntryScope.h in Headers */,
</span><span class="cx">                                 0F24E54F17EE274900ABB217 /* TempRegisterSet.h in Headers */,
</span><span class="cx">                                 A7BFF3C0179868940002F462 /* DFGFiltrationResult.h in Headers */,
</span><span class="cx">                                 C2FCAE1117A9C24E0034C735 /* BytecodeBasicBlock.h in Headers */,
</span><span class="cx">                                 C2FCAE1317A9C24E0034C735 /* BytecodeLivenessAnalysis.h in Headers */,
</span><span class="cx">                                 0F8335B81639C1EA001443B5 /* ArrayAllocationProfile.h in Headers */,
</span><ins>+                                A53243981856A489002ED692 /* InspectorJS.json in Headers */,
</ins><span class="cx">                                 FEA08620182B7A0400F6D851 /* Breakpoint.h in Headers */,
</span><span class="cx">                                 A7A8AF3517ADB5F3005AB174 /* ArrayBuffer.h in Headers */,
</span><span class="cx">                                 FEA08621182B7A0400F6D851 /* DebuggerPrimitives.h in Headers */,
</span><span class="lines">@@ -4812,6 +4857,7 @@
</span><span class="cx">                                 86D3B2C610156BDE002865E7 /* MacroAssemblerARM.h in Headers */,
</span><span class="cx">                                 86ADD1460FDDEA980006EEC2 /* MacroAssemblerARMv7.h in Headers */,
</span><span class="cx">                                 863B23E00FC6118900703AA4 /* MacroAssemblerCodeRef.h in Headers */,
</span><ins>+                                A532438A18568335002ED692 /* InspectorJSFrontendDispatchers.h in Headers */,
</ins><span class="cx">                                 86C568E111A213EE0007F7F0 /* MacroAssemblerMIPS.h in Headers */,
</span><span class="cx">                                 86AE64A9135E5E1C00963012 /* MacroAssemblerSH4.h in Headers */,
</span><span class="cx">                                 860161E40F3A83C100F84710 /* MacroAssemblerX86.h in Headers */,
</span><span class="lines">@@ -4892,6 +4938,7 @@
</span><span class="cx">                                 0FF7168C15A3B235008F5DAA /* PropertyOffset.h in Headers */,
</span><span class="cx">                                 BC18C4550E16F5CD00B34460 /* PropertySlot.h in Headers */,
</span><span class="cx">                                 0FB7F39C15ED8E4600F167B2 /* PropertyStorage.h in Headers */,
</span><ins>+                                A532438818568335002ED692 /* InspectorJSBackendDispatchers.h in Headers */,
</ins><span class="cx">                                 BC18C4560E16F5CD00B34460 /* Protect.h in Headers */,
</span><span class="cx">                                 1474C33B16AA2D950062F01D /* PrototypeMap.h in Headers */,
</span><span class="cx">                                 0F9332A414CA7DD90085F3C6 /* PutByIdStatus.h in Headers */,
</span><span class="lines">@@ -5605,6 +5652,7 @@
</span><span class="cx">                                 0FEA0A1E1708B00700BB722C /* FTLAbstractHeapRepository.cpp in Sources */,
</span><span class="cx">                                 0FEA0A09170513DB00BB722C /* FTLCapabilities.cpp in Sources */,
</span><span class="cx">                                 0FEA0A271709623B00BB722C /* FTLCommonValues.cpp in Sources */,
</span><ins>+                                A532438918568335002ED692 /* InspectorJSFrontendDispatchers.cpp in Sources */,
</ins><span class="cx">                                 0FEA0A0B170513DB00BB722C /* FTLCompile.cpp in Sources */,
</span><span class="cx">                                 0F235BD317178E1C00690C7F /* FTLExitArgument.cpp in Sources */,
</span><span class="cx">                                 0F235BD517178E1C00690C7F /* FTLExitArgumentForOperand.cpp in Sources */,
</span><span class="lines">@@ -5734,6 +5782,7 @@
</span><span class="cx">                                 146AAB380B66A94400E55F16 /* JSStringRefCF.cpp in Sources */,
</span><span class="cx">                                 0F919D0C157EE09F004A4E7D /* JSSymbolTableObject.cpp in Sources */,
</span><span class="cx">                                 0F2B66FA17B6B5AB00A7AE3F /* JSTypedArrayConstructors.cpp in Sources */,
</span><ins>+                                A532438B18568335002ED692 /* InspectorJSTypeBuilders.cpp in Sources */,
</ins><span class="cx">                                 0F2B66FC17B6B5AB00A7AE3F /* JSTypedArrayPrototypes.cpp in Sources */,
</span><span class="cx">                                 0F2B66FE17B6B5AB00A7AE3F /* JSTypedArrays.cpp in Sources */,
</span><span class="cx">                                 86E3C61A167BABEE006D760A /* JSValue.mm in Sources */,
</span><span class="lines">@@ -5767,6 +5816,7 @@
</span><span class="cx">                                 0FEB3ECF16237F6C00AB67AD /* MacroAssembler.cpp in Sources */,
</span><span class="cx">                                 86C568E011A213EE0007F7F0 /* MacroAssemblerARM.cpp in Sources */,
</span><span class="cx">                                 A729009C17976C6000317298 /* MacroAssemblerARMv7.cpp in Sources */,
</span><ins>+                                A532438718568335002ED692 /* InspectorJSBackendDispatchers.cpp in Sources */,
</ins><span class="cx">                                 A7A4AE0817973B26005612B1 /* MacroAssemblerX86Common.cpp in Sources */,
</span><span class="cx">                                 A700873917CBE85300C3E643 /* MapConstructor.cpp in Sources */,
</span><span class="cx">                                 A78507D617CBC6FD0011F6E7 /* MapData.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorprotocolRuntimejsonfromrev160556trunkSourceWebCoreinspectorprotocolRuntimejson"></a>
<div class="copfile"><h4>Copied: trunk/Source/JavaScriptCore/inspector/protocol/Runtime.json (from rev 160556, trunk/Source/WebCore/inspector/protocol/Runtime.json) (0 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/protocol/Runtime.json                                (rev 0)
+++ trunk/Source/JavaScriptCore/inspector/protocol/Runtime.json        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -0,0 +1,210 @@
</span><ins>+{
+    &quot;domain&quot;: &quot;Runtime&quot;,
+    &quot;description&quot;: &quot;Runtime domain exposes JavaScript runtime by means of remote evaluation and mirror objects. Evaluation results are returned as mirror object that expose object type, string representation and unique identifier that can be used for further object reference. Original objects are maintained in memory unless they are either explicitly released or are released along with the other objects in their object group.&quot;,
+    &quot;types&quot;: [
+        {
+            &quot;id&quot;: &quot;RemoteObjectId&quot;,
+            &quot;type&quot;: &quot;string&quot;,
+            &quot;description&quot;: &quot;Unique object identifier.&quot;
+        },
+        {
+            &quot;id&quot;: &quot;RemoteObject&quot;,
+            &quot;type&quot;: &quot;object&quot;,
+            &quot;description&quot;: &quot;Mirror object referencing original JavaScript object.&quot;,
+            &quot;properties&quot;: [
+                { &quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;enum&quot;: [&quot;object&quot;, &quot;function&quot;, &quot;undefined&quot;, &quot;string&quot;, &quot;number&quot;, &quot;boolean&quot;], &quot;description&quot;: &quot;Object type.&quot; },
+                { &quot;name&quot;: &quot;subtype&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true, &quot;enum&quot;: [&quot;array&quot;, &quot;null&quot;, &quot;node&quot;, &quot;regexp&quot;, &quot;date&quot;], &quot;description&quot;: &quot;Object subtype hint. Specified for &lt;code&gt;object&lt;/code&gt; type values only.&quot; },
+                { &quot;name&quot;: &quot;className&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Object class (constructor) name. Specified for &lt;code&gt;object&lt;/code&gt; type values only.&quot; },
+                { &quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;any&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Remote object value (in case of primitive values or JSON values if it was requested).&quot; },
+                { &quot;name&quot;: &quot;description&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;String representation of the object.&quot; },
+                { &quot;name&quot;: &quot;objectId&quot;, &quot;$ref&quot;: &quot;RemoteObjectId&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Unique object identifier (for non-primitive values).&quot; },
+                { &quot;name&quot;: &quot;preview&quot;, &quot;$ref&quot;: &quot;ObjectPreview&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Preview containsing abbreviated property values.&quot; }
+            ]
+        },
+        {
+            &quot;id&quot;: &quot;ObjectPreview&quot;,
+            &quot;type&quot;: &quot;object&quot;,
+            &quot;description&quot;: &quot;Object containing abbreviated remote object value.&quot;,
+            &quot;properties&quot;: [
+                { &quot;name&quot;: &quot;lossless&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;description&quot;: &quot;Determines whether preview is lossless (contains all information of the original object).&quot; },
+                { &quot;name&quot;: &quot;overflow&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;description&quot;: &quot;True iff some of the properties of the original did not fit.&quot; },
+                { &quot;name&quot;: &quot;properties&quot;, &quot;type&quot;: &quot;array&quot;, &quot;items&quot;: { &quot;$ref&quot;: &quot;PropertyPreview&quot; }, &quot;description&quot;: &quot;List of the properties.&quot; }
+            ]
+        },
+        {
+            &quot;id&quot;: &quot;PropertyPreview&quot;,
+            &quot;type&quot;: &quot;object&quot;,
+            &quot;properties&quot;: [
+                { &quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;Property name.&quot; },
+                { &quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;enum&quot;: [&quot;object&quot;, &quot;function&quot;, &quot;undefined&quot;, &quot;string&quot;, &quot;number&quot;, &quot;boolean&quot;], &quot;description&quot;: &quot;Object type.&quot; },
+                { &quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;User-friendly property value string.&quot; },
+                { &quot;name&quot;: &quot;valuePreview&quot;, &quot;$ref&quot;: &quot;ObjectPreview&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Nested value preview.&quot; },
+                { &quot;name&quot;: &quot;subtype&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true, &quot;enum&quot;: [&quot;array&quot;, &quot;null&quot;, &quot;node&quot;, &quot;regexp&quot;, &quot;date&quot;], &quot;description&quot;: &quot;Object subtype hint. Specified for &lt;code&gt;object&lt;/code&gt; type values only.&quot; }
+            ]
+        },
+        {
+            &quot;id&quot;: &quot;PropertyDescriptor&quot;,
+            &quot;type&quot;: &quot;object&quot;,
+            &quot;description&quot;: &quot;Object property descriptor.&quot;,
+            &quot;properties&quot;: [
+                { &quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;Property name.&quot; },
+                { &quot;name&quot;: &quot;value&quot;, &quot;$ref&quot;: &quot;RemoteObject&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;The value associated with the property.&quot; },
+                { &quot;name&quot;: &quot;writable&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;True if the value associated with the property may be changed (data descriptors only).&quot; },
+                { &quot;name&quot;: &quot;get&quot;, &quot;$ref&quot;: &quot;RemoteObject&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;A function which serves as a getter for the property, or &lt;code&gt;undefined&lt;/code&gt; if there is no getter (accessor descriptors only).&quot; },
+                { &quot;name&quot;: &quot;set&quot;, &quot;$ref&quot;: &quot;RemoteObject&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;A function which serves as a setter for the property, or &lt;code&gt;undefined&lt;/code&gt; if there is no setter (accessor descriptors only).&quot; },
+                { &quot;name&quot;: &quot;configurable&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;description&quot;: &quot;True if the type of this property descriptor may be changed and if the property may be deleted from the corresponding object.&quot; },
+                { &quot;name&quot;: &quot;enumerable&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;description&quot;: &quot;True if this property shows up during enumeration of the properties on the corresponding object.&quot; },
+                { &quot;name&quot;: &quot;wasThrown&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;True if the result was thrown during the evaluation.&quot; },
+                { &quot;name&quot;: &quot;isOwn&quot;, &quot;optional&quot;: true, &quot;type&quot;: &quot;boolean&quot;, &quot;description&quot;: &quot;True if the property is owned for the object.&quot; }
+            ]
+        },
+        {
+            &quot;id&quot;: &quot;InternalPropertyDescriptor&quot;,
+            &quot;type&quot;: &quot;object&quot;,
+            &quot;description&quot;: &quot;Object internal property descriptor. This property isn't normally visible in JavaScript code.&quot;,
+            &quot;properties&quot;: [
+                { &quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;Conventional property name.&quot; },
+                { &quot;name&quot;: &quot;value&quot;, &quot;$ref&quot;: &quot;RemoteObject&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;The value associated with the property.&quot; }
+            ]
+        },
+        {
+            &quot;id&quot;: &quot;CallArgument&quot;,
+            &quot;type&quot;: &quot;object&quot;,
+            &quot;description&quot;: &quot;Represents function call argument. Either remote object id &lt;code&gt;objectId&lt;/code&gt; or primitive &lt;code&gt;value&lt;/code&gt; or neither of (for undefined) them should be specified.&quot;,
+            &quot;properties&quot;: [
+                { &quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;any&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Primitive value.&quot; },
+                { &quot;name&quot;: &quot;objectId&quot;, &quot;$ref&quot;: &quot;RemoteObjectId&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Remote object handle.&quot; }
+            ]
+        },
+        {
+            &quot;id&quot;: &quot;ExecutionContextId&quot;,
+            &quot;type&quot;: &quot;integer&quot;,
+            &quot;description&quot;: &quot;Id of an execution context.&quot;
+        },
+        {
+            &quot;id&quot;: &quot;RuntimeFrameId&quot;,
+            &quot;type&quot;: &quot;string&quot;,
+            &quot;description&quot;: &quot;Unique frame identifier. FIXME: This duplicates Network.FrameId.&quot;
+        },
+        {
+            &quot;id&quot;: &quot;ExecutionContextDescription&quot;,
+            &quot;type&quot;: &quot;object&quot;,
+            &quot;description&quot;: &quot;Description of an isolated world.&quot;,
+            &quot;properties&quot;: [
+                { &quot;name&quot;: &quot;id&quot;, &quot;$ref&quot;: &quot;ExecutionContextId&quot;, &quot;description&quot;: &quot;Unique id of the execution context. It can be used to specify in which execution context script evaluation should be performed.&quot; },
+                { &quot;name&quot;: &quot;isPageContext&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;description&quot;: &quot;True if this is a context where inpspected web page scripts run. False if it is a content script isolated context.&quot; },
+                { &quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;Human readable name describing given context.&quot;},
+                { &quot;name&quot;: &quot;frameId&quot;, &quot;$ref&quot;: &quot;RuntimeFrameId&quot;, &quot;description&quot;: &quot;Id of the owning frame.&quot; }
+            ]
+        },
+        {
+            &quot;id&quot;: &quot;SyntaxErrorType&quot;,
+            &quot;type&quot;: &quot;string&quot;,
+            &quot;enum&quot;: [&quot;none&quot;, &quot;irrecoverable&quot;, &quot;unterminated-literal&quot;, &quot;recoverable&quot;],
+            &quot;description&quot;: &quot;Syntax error type: \&quot;none\&quot; for no error, \&quot;irrecoverable\&quot; for unrecoverable errors, \&quot;unterminated-literal\&quot; for when there is an unterminated literal, \&quot;recoverable\&quot; for when the expression is unfinished but valid so far.&quot;
+        },
+        {
+            &quot;id&quot;: &quot;ErrorRange&quot;,
+            &quot;type&quot;: &quot;object&quot;,
+            &quot;description&quot;: &quot;Range of an error in source code.&quot;,
+            &quot;properties&quot;: [
+                { &quot;name&quot;: &quot;startOffset&quot;, &quot;type&quot;: &quot;integer&quot;, &quot;description&quot;: &quot;Start offset of range (inclusive).&quot; },
+                { &quot;name&quot;: &quot;endOffset&quot;, &quot;type&quot;: &quot;integer&quot;, &quot;description&quot;: &quot;End offset of range (exclusive).&quot; }
+            ]
+        }
+    ],
+    &quot;commands&quot;: [
+        {
+            &quot;name&quot;: &quot;parse&quot;,
+            &quot;parameters&quot;: [
+                { &quot;name&quot;: &quot;source&quot;, &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;Source code to parse.&quot; }
+            ],
+            &quot;returns&quot;: [
+                { &quot;name&quot;: &quot;result&quot;, &quot;$ref&quot;: &quot;SyntaxErrorType&quot;, &quot;description&quot;: &quot;Parse result.&quot; },
+                { &quot;name&quot;: &quot;message&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Parse error message.&quot; },
+                { &quot;name&quot;: &quot;range&quot;, &quot;$ref&quot;: &quot;ErrorRange&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Range in the source where the error occurred.&quot; }
+            ],
+            &quot;description&quot;: &quot;Parses JavaScript source code for errors.&quot;
+        },
+        {
+            &quot;name&quot;: &quot;evaluate&quot;,
+            &quot;parameters&quot;: [
+                { &quot;name&quot;: &quot;expression&quot;, &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;Expression to evaluate.&quot; },
+                { &quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Symbolic group name that can be used to release multiple objects.&quot; },
+                { &quot;name&quot;: &quot;includeCommandLineAPI&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Determines whether Command Line API should be available during the evaluation.&quot; },
+                { &quot;name&quot;: &quot;doNotPauseOnExceptionsAndMuteConsole&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Specifies whether evaluation should stop on exceptions and mute console. Overrides setPauseOnException state.&quot; },
+                { &quot;name&quot;: &quot;contextId&quot;, &quot;$ref&quot;: &quot;Runtime.ExecutionContextId&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Specifies in which isolated context to perform evaluation. Each content script lives in an isolated context and this parameter may be used to specify one of those contexts. If the parameter is omitted or 0 the evaluation will be performed in the context of the inspected page.&quot; },
+                { &quot;name&quot;: &quot;returnByValue&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Whether the result is expected to be a JSON object that should be sent by value.&quot; },
+                { &quot;name&quot;: &quot;generatePreview&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true,  &quot;description&quot;: &quot;Whether preview should be generated for the result.&quot; }
+            ],
+            &quot;returns&quot;: [
+                { &quot;name&quot;: &quot;result&quot;, &quot;$ref&quot;: &quot;RemoteObject&quot;, &quot;description&quot;: &quot;Evaluation result.&quot; },
+                { &quot;name&quot;: &quot;wasThrown&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;True if the result was thrown during the evaluation.&quot; }
+            ],
+            &quot;description&quot;: &quot;Evaluates expression on global object.&quot;
+        },
+        {
+            &quot;name&quot;: &quot;callFunctionOn&quot;,
+            &quot;parameters&quot;: [
+                { &quot;name&quot;: &quot;objectId&quot;, &quot;$ref&quot;: &quot;RemoteObjectId&quot;, &quot;description&quot;: &quot;Identifier of the object to call function on.&quot; },
+                { &quot;name&quot;: &quot;functionDeclaration&quot;, &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;Declaration of the function to call.&quot; },
+                { &quot;name&quot;: &quot;arguments&quot;, &quot;type&quot;: &quot;array&quot;, &quot;items&quot;: { &quot;$ref&quot;: &quot;CallArgument&quot;, &quot;description&quot;: &quot;Call argument.&quot; }, &quot;optional&quot;: true, &quot;description&quot;: &quot;Call arguments. All call arguments must belong to the same JavaScript world as the target object.&quot; },
+                { &quot;name&quot;: &quot;doNotPauseOnExceptionsAndMuteConsole&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Specifies whether function call should stop on exceptions and mute console. Overrides setPauseOnException state.&quot; },
+                { &quot;name&quot;: &quot;returnByValue&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Whether the result is expected to be a JSON object which should be sent by value.&quot; },
+                { &quot;name&quot;: &quot;generatePreview&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true,  &quot;description&quot;: &quot;Whether preview should be generated for the result.&quot; }
+            ],
+            &quot;returns&quot;: [
+                { &quot;name&quot;: &quot;result&quot;, &quot;$ref&quot;: &quot;RemoteObject&quot;, &quot;description&quot;: &quot;Call result.&quot; },
+                { &quot;name&quot;: &quot;wasThrown&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;True if the result was thrown during the evaluation.&quot; }
+            ],
+            &quot;description&quot;: &quot;Calls function with given declaration on the given object. Object group of the result is inherited from the target object.&quot;
+        },
+        {
+            &quot;name&quot;: &quot;getProperties&quot;,
+            &quot;parameters&quot;: [
+                { &quot;name&quot;: &quot;objectId&quot;, &quot;$ref&quot;: &quot;RemoteObjectId&quot;, &quot;description&quot;: &quot;Identifier of the object to return properties for.&quot; },
+                { &quot;name&quot;: &quot;ownProperties&quot;, &quot;optional&quot;: true, &quot;type&quot;: &quot;boolean&quot;, &quot;description&quot;: &quot;If true, returns properties belonging only to the element itself, not to its prototype chain.&quot; }
+            ],
+            &quot;returns&quot;: [
+                { &quot;name&quot;: &quot;result&quot;, &quot;type&quot;: &quot;array&quot;, &quot;items&quot;: { &quot;$ref&quot;: &quot;PropertyDescriptor&quot;}, &quot;description&quot;: &quot;Object properties.&quot; },
+                { &quot;name&quot;: &quot;internalProperties&quot;, &quot;optional&quot;: true, &quot;type&quot;: &quot;array&quot;, &quot;items&quot;: { &quot;$ref&quot;: &quot;InternalPropertyDescriptor&quot;}, &quot;description&quot;: &quot;Internal object properties.&quot; }
+            ],
+            &quot;description&quot;: &quot;Returns properties of a given object. Object group of the result is inherited from the target object.&quot;
+        },
+        {
+            &quot;name&quot;: &quot;releaseObject&quot;,
+            &quot;parameters&quot;: [
+                { &quot;name&quot;: &quot;objectId&quot;, &quot;$ref&quot;: &quot;RemoteObjectId&quot;, &quot;description&quot;: &quot;Identifier of the object to release.&quot; }
+            ],
+            &quot;description&quot;: &quot;Releases remote object with given id.&quot;
+        },
+        {
+            &quot;name&quot;: &quot;releaseObjectGroup&quot;,
+            &quot;parameters&quot;: [
+                { &quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;Symbolic object group name.&quot; }
+            ],
+            &quot;description&quot;: &quot;Releases all remote objects that belong to a given group.&quot;
+        },
+        {
+            &quot;name&quot;: &quot;run&quot;,
+            &quot;description&quot;: &quot;Tells inspected instance(worker or page) that it can run in case it was started paused.&quot;
+        },
+        {
+            &quot;name&quot;: &quot;enable&quot;,
+            &quot;description&quot;: &quot;Enables reporting of execution contexts creation by means of &lt;code&gt;executionContextCreated&lt;/code&gt; event. When the reporting gets enabled the event will be sent immediately for each existing execution context.&quot;
+        },
+        {
+            &quot;name&quot;: &quot;disable&quot;,
+            &quot;description&quot;: &quot;Disables reporting of execution contexts creation.&quot;
+        }
+    ],
+    &quot;events&quot;: [
+        {
+            &quot;name&quot;: &quot;executionContextCreated&quot;,
+            &quot;parameters&quot;: [
+                { &quot;name&quot;: &quot;context&quot;, &quot;$ref&quot;: &quot;ExecutionContextDescription&quot;, &quot;description&quot;: &quot;A newly created execution contex.&quot; }
+            ],
+            &quot;description&quot;: &quot;Issued when new execution context is created.&quot;
+        }
+    ]
+}
</ins></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorscriptsCodeGeneratorInspectorpyfromrev160556trunkSourceWebCoreinspectorCodeGeneratorInspectorpy"></a>
<div class="copfile"><h4>Copied: trunk/Source/JavaScriptCore/inspector/scripts/CodeGeneratorInspector.py (from rev 160556, trunk/Source/WebCore/inspector/CodeGeneratorInspector.py) (0 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/CodeGeneratorInspector.py                                (rev 0)
+++ trunk/Source/JavaScriptCore/inspector/scripts/CodeGeneratorInspector.py        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -0,0 +1,2510 @@
</span><ins>+#!/usr/bin/env python
+# Copyright (c) 2011 Google Inc. All rights reserved.
+# Copyright (c) 2012 Intel Corporation. All rights reserved.
+# Copyright (c) 2013 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:
+#
+#     * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#     * 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.
+#     * Neither the name of Google Inc. 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 THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT
+# OWNER 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.
+
+import os.path
+import sys
+import string
+import optparse
+import re
+try:
+    import json
+except ImportError:
+    import simplejson as json
+
+import CodeGeneratorInspectorStrings
+
+
+DOMAIN_DEFINE_NAME_MAP = {
+    &quot;Database&quot;: &quot;SQL_DATABASE&quot;,
+    &quot;Debugger&quot;: &quot;JAVASCRIPT_DEBUGGER&quot;,
+    &quot;DOMDebugger&quot;: &quot;JAVASCRIPT_DEBUGGER&quot;,
+    &quot;IndexedDB&quot;: &quot;INDEXED_DATABASE&quot;,
+    &quot;Profiler&quot;: &quot;JAVASCRIPT_DEBUGGER&quot;,
+}
+
+
+# Manually-filled map of type name replacements.
+TYPE_NAME_FIX_MAP = {
+    &quot;RGBA&quot;: &quot;Rgba&quot;,  # RGBA is reported to be conflicting with a define name in Windows CE.
+    &quot;&quot;: &quot;Empty&quot;,
+}
+
+
+TYPES_WITH_RUNTIME_CAST_SET = frozenset([&quot;Runtime.RemoteObject&quot;, &quot;Runtime.PropertyDescriptor&quot;, &quot;Runtime.InternalPropertyDescriptor&quot;,
+                                         &quot;Debugger.FunctionDetails&quot;, &quot;Debugger.CallFrame&quot;,
+                                         &quot;Canvas.TraceLog&quot;, &quot;Canvas.ResourceInfo&quot;, &quot;Canvas.ResourceState&quot;,
+                                         # This should be a temporary hack. TimelineEvent should be created via generated C++ API.
+                                         &quot;Timeline.TimelineEvent&quot;])
+
+TYPES_WITH_OPEN_FIELD_LIST_SET = frozenset([&quot;Timeline.TimelineEvent&quot;,
+                                            # InspectorStyleSheet not only creates this property but wants to read it and modify it.
+                                            &quot;CSS.CSSProperty&quot;,
+                                            # InspectorResourceAgent needs to update mime-type.
+                                            &quot;Network.Response&quot;])
+
+EXACTLY_INT_SUPPORTED = False
+
+INSPECTOR_TYPES_GENERATOR_CONFIG_MAP = {
+    &quot;JavaScript&quot;: {
+        &quot;prefix&quot;: &quot;JS&quot;,
+        &quot;typebuilder_dependency&quot;: &quot;&quot;,
+        &quot;export_macro&quot;: &quot;JS_EXPORT_PRIVATE&quot;,
+    },
+    &quot;Web&quot;: {
+        &quot;prefix&quot;: &quot;Web&quot;,
+        &quot;typebuilder_dependency&quot;: &quot;#include &lt;inspector/InspectorJSTypeBuilders.h&gt;&quot;,
+        &quot;export_macro&quot;: &quot;&quot;,
+    },
+}
+
+cmdline_parser = optparse.OptionParser(usage=&quot;usage: %prog [options] &lt;Inspector.json&gt;&quot;)
+cmdline_parser.add_option(&quot;--output_h_dir&quot;)
+cmdline_parser.add_option(&quot;--output_cpp_dir&quot;)
+cmdline_parser.add_option(&quot;--output_js_dir&quot;)
+cmdline_parser.add_option(&quot;--output_type&quot;)  # JavaScript, Web
+cmdline_parser.add_option(&quot;--write_always&quot;, action=&quot;store_true&quot;)
+cmdline_parser.add_option(&quot;--no_verification&quot;, action=&quot;store_true&quot;)
+
+try:
+    arg_options, arg_values = cmdline_parser.parse_args()
+    if (len(arg_values) &lt; 1):
+        raise Exception(&quot;At least one plain argument expected&quot;)
+
+    input_json_filename = arg_values[0]
+    dependency_json_filenames = arg_values[1:]
+
+    output_header_dirname = arg_options.output_h_dir
+    output_cpp_dirname = arg_options.output_cpp_dir
+    output_js_dirname = arg_options.output_js_dir
+    output_type = arg_options.output_type
+
+    write_always = arg_options.write_always
+    verification = not arg_options.no_verification
+    if not output_header_dirname:
+        raise Exception(&quot;Output .h directory must be specified&quot;)
+    if not output_cpp_dirname:
+        raise Exception(&quot;Output .cpp directory must be specified&quot;)
+    if not output_js_dirname:
+        raise Exception(&quot;Output .js directory must be specified&quot;)
+    if output_type not in INSPECTOR_TYPES_GENERATOR_CONFIG_MAP.keys():
+        raise Exception(&quot;Unknown output type. Allowed types are: %s&quot; % INSPECTOR_TYPES_GENERATOR_CONFIG_MAP.keys())
+except Exception:
+    # Work with python 2 and 3 http://docs.python.org/py3k/howto/pyporting.html
+    exc = sys.exc_info()[1]
+    sys.stderr.write(&quot;Failed to parse command-line arguments: %s\n\n&quot; % exc)
+    sys.stderr.write(&quot;Usage: &lt;script&gt; Inspector.json --output_h_dir &lt;output_header_dir&gt; --output_cpp_dir &lt;output_cpp_dir&gt; --output_js_dir &lt;output_js_dir&gt; [--write_always] [--no_verification]\n&quot;)
+    exit(1)
+
+
+def dash_to_camelcase(word):
+    return ''.join(x.capitalize() or '-' for x in word.split('-'))
+
+
+def fix_camel_case(name):
+    refined = re.sub(r'-(\w)', lambda pat: pat.group(1).upper(), name)
+    refined = to_title_case(refined)
+    return re.sub(r'(?i)HTML|XML|WML|API|GC|XHR|DOM|CSS', lambda pat: pat.group(0).upper(), refined)
+
+
+def to_title_case(name):
+    return name[:1].upper() + name[1:]
+
+
+class Capitalizer:
+    @staticmethod
+    def lower_camel_case_to_upper(str):
+        if len(str) &gt; 0 and str[0].islower():
+            str = str[0].upper() + str[1:]
+        return str
+
+    @staticmethod
+    def upper_camel_case_to_lower(str):
+        pos = 0
+        while pos &lt; len(str) and str[pos].isupper():
+            pos += 1
+        if pos == 0:
+            return str
+        if pos == 1:
+            return str[0].lower() + str[1:]
+        if pos &lt; len(str):
+            pos -= 1
+        possible_abbreviation = str[0:pos]
+        if possible_abbreviation not in Capitalizer.ABBREVIATION:
+            raise Exception(&quot;Unknown abbreviation %s&quot; % possible_abbreviation)
+        str = possible_abbreviation.lower() + str[pos:]
+        return str
+
+    @staticmethod
+    def camel_case_to_capitalized_with_underscores(str):
+        if len(str) == 0:
+            return str
+        output = Capitalizer.split_camel_case_(str)
+        return &quot;_&quot;.join(output).upper()
+
+    @staticmethod
+    def split_camel_case_(str):
+        output = []
+        pos_being = 0
+        pos = 1
+        has_oneletter = False
+        while pos &lt; len(str):
+            if str[pos].isupper():
+                output.append(str[pos_being:pos].upper())
+                if pos - pos_being == 1:
+                    has_oneletter = True
+                pos_being = pos
+            pos += 1
+        output.append(str[pos_being:])
+        if has_oneletter:
+            array_pos = 0
+            while array_pos &lt; len(output) - 1:
+                if len(output[array_pos]) == 1:
+                    array_pos_end = array_pos + 1
+                    while array_pos_end &lt; len(output) and len(output[array_pos_end]) == 1:
+                        array_pos_end += 1
+                    if array_pos_end - array_pos &gt; 1:
+                        possible_abbreviation = &quot;&quot;.join(output[array_pos:array_pos_end])
+                        if possible_abbreviation.upper() in Capitalizer.ABBREVIATION:
+                            output[array_pos:array_pos_end] = [possible_abbreviation]
+                        else:
+                            array_pos = array_pos_end - 1
+                array_pos += 1
+        return output
+
+    ABBREVIATION = frozenset([&quot;XHR&quot;, &quot;DOM&quot;, &quot;CSS&quot;])
+
+VALIDATOR_IFDEF_NAME = &quot;!ASSERT_DISABLED&quot;
+
+
+class DomainNameFixes:
+    @classmethod
+    def get_fixed_data(cls, domain_name):
+        field_name_res = Capitalizer.upper_camel_case_to_lower(domain_name) + &quot;Agent&quot;
+
+        class Res(object):
+            skip_js_bind = domain_name in cls.skip_js_bind_domains
+
+            @staticmethod
+            def get_guard():
+                if domain_name in DOMAIN_DEFINE_NAME_MAP:
+                    define_name = DOMAIN_DEFINE_NAME_MAP[domain_name]
+
+                    class Guard:
+                        @staticmethod
+                        def generate_open(output):
+                            output.append(&quot;#if ENABLE(%s)\n&quot; % define_name)
+
+                        @staticmethod
+                        def generate_close(output):
+                            output.append(&quot;#endif // ENABLE(%s)\n&quot; % define_name)
+
+                    return Guard
+
+        return Res
+
+    skip_js_bind_domains = set([&quot;DOMDebugger&quot;])
+
+
+class RawTypes(object):
+    @staticmethod
+    def get(json_type):
+        if json_type == &quot;boolean&quot;:
+            return RawTypes.Bool
+        elif json_type == &quot;string&quot;:
+            return RawTypes.String
+        elif json_type == &quot;array&quot;:
+            return RawTypes.Array
+        elif json_type == &quot;object&quot;:
+            return RawTypes.Object
+        elif json_type == &quot;integer&quot;:
+            return RawTypes.Int
+        elif json_type == &quot;number&quot;:
+            return RawTypes.Number
+        elif json_type == &quot;any&quot;:
+            return RawTypes.Any
+        else:
+            raise Exception(&quot;Unknown type: %s&quot; % json_type)
+
+    # For output parameter all values are passed by pointer except RefPtr-based types.
+    class OutputPassModel:
+        class ByPointer:
+            @staticmethod
+            def get_argument_prefix():
+                return &quot;&amp;&quot;
+
+            @staticmethod
+            def get_parameter_type_suffix():
+                return &quot;*&quot;
+
+        class ByReference:
+            @staticmethod
+            def get_argument_prefix():
+                return &quot;&quot;
+
+            @staticmethod
+            def get_parameter_type_suffix():
+                return &quot;&amp;&quot;
+
+    class BaseType(object):
+        need_internal_runtime_cast_ = False
+
+        @classmethod
+        def request_raw_internal_runtime_cast(cls):
+            if not cls.need_internal_runtime_cast_:
+                cls.need_internal_runtime_cast_ = True
+
+        @classmethod
+        def get_raw_validator_call_text(cls):
+            return &quot;RuntimeCastHelper::assertType&lt;Inspector::InspectorValue::Type%s&gt;&quot; % cls.get_validate_method_params().template_type
+
+    class String(BaseType):
+        @staticmethod
+        def get_getter_name():
+            return &quot;String&quot;
+
+        get_setter_name = get_getter_name
+
+        @staticmethod
+        def get_c_initializer():
+            return &quot;\&quot;\&quot;&quot;
+
+        @staticmethod
+        def get_js_bind_type():
+            return &quot;string&quot;
+
+        @staticmethod
+        def get_validate_method_params():
+            class ValidateMethodParams:
+                template_type = &quot;String&quot;
+            return ValidateMethodParams
+
+        @staticmethod
+        def get_output_pass_model():
+            return RawTypes.OutputPassModel.ByPointer
+
+        @staticmethod
+        def is_heavy_value():
+            return True
+
+        @staticmethod
+        def get_array_item_raw_c_type_text():
+            return &quot;String&quot;
+
+        @staticmethod
+        def get_raw_type_model():
+            return TypeModel.String
+
+    class Int(BaseType):
+        @staticmethod
+        def get_getter_name():
+            return &quot;Int&quot;
+
+        @staticmethod
+        def get_setter_name():
+            return &quot;Number&quot;
+
+        @staticmethod
+        def get_c_initializer():
+            return &quot;0&quot;
+
+        @staticmethod
+        def get_js_bind_type():
+            return &quot;number&quot;
+
+        @classmethod
+        def get_raw_validator_call_text(cls):
+            return &quot;RuntimeCastHelper::assertInt&quot;
+
+        @staticmethod
+        def get_output_pass_model():
+            return RawTypes.OutputPassModel.ByPointer
+
+        @staticmethod
+        def is_heavy_value():
+            return False
+
+        @staticmethod
+        def get_array_item_raw_c_type_text():
+            return &quot;int&quot;
+
+        @staticmethod
+        def get_raw_type_model():
+            return TypeModel.Int
+
+    class Number(BaseType):
+        @staticmethod
+        def get_getter_name():
+            return &quot;Double&quot;
+
+        @staticmethod
+        def get_setter_name():
+            return &quot;Number&quot;
+
+        @staticmethod
+        def get_c_initializer():
+            return &quot;0&quot;
+
+        @staticmethod
+        def get_js_bind_type():
+            return &quot;number&quot;
+
+        @staticmethod
+        def get_validate_method_params():
+            class ValidateMethodParams:
+                template_type = &quot;Number&quot;
+            return ValidateMethodParams
+
+        @staticmethod
+        def get_output_pass_model():
+            return RawTypes.OutputPassModel.ByPointer
+
+        @staticmethod
+        def is_heavy_value():
+            return False
+
+        @staticmethod
+        def get_array_item_raw_c_type_text():
+            return &quot;double&quot;
+
+        @staticmethod
+        def get_raw_type_model():
+            return TypeModel.Number
+
+    class Bool(BaseType):
+        @staticmethod
+        def get_getter_name():
+            return &quot;Boolean&quot;
+
+        get_setter_name = get_getter_name
+
+        @staticmethod
+        def get_c_initializer():
+            return &quot;false&quot;
+
+        @staticmethod
+        def get_js_bind_type():
+            return &quot;boolean&quot;
+
+        @staticmethod
+        def get_validate_method_params():
+            class ValidateMethodParams:
+                template_type = &quot;Boolean&quot;
+            return ValidateMethodParams
+
+        @staticmethod
+        def get_output_pass_model():
+            return RawTypes.OutputPassModel.ByPointer
+
+        @staticmethod
+        def is_heavy_value():
+            return False
+
+        @staticmethod
+        def get_array_item_raw_c_type_text():
+            return &quot;bool&quot;
+
+        @staticmethod
+        def get_raw_type_model():
+            return TypeModel.Bool
+
+    class Object(BaseType):
+        @staticmethod
+        def get_getter_name():
+            return &quot;Object&quot;
+
+        @staticmethod
+        def get_setter_name():
+            return &quot;Value&quot;
+
+        @staticmethod
+        def get_c_initializer():
+            return &quot;InspectorObject::create()&quot;
+
+        @staticmethod
+        def get_js_bind_type():
+            return &quot;object&quot;
+
+        @staticmethod
+        def get_output_argument_prefix():
+            return &quot;&quot;
+
+        @staticmethod
+        def get_validate_method_params():
+            class ValidateMethodParams:
+                template_type = &quot;Object&quot;
+            return ValidateMethodParams
+
+        @staticmethod
+        def get_output_pass_model():
+            return RawTypes.OutputPassModel.ByReference
+
+        @staticmethod
+        def is_heavy_value():
+            return True
+
+        @staticmethod
+        def get_array_item_raw_c_type_text():
+            return &quot;Inspector::InspectorObject&quot;
+
+        @staticmethod
+        def get_raw_type_model():
+            return TypeModel.Object
+
+    class Any(BaseType):
+        @staticmethod
+        def get_getter_name():
+            return &quot;Value&quot;
+
+        get_setter_name = get_getter_name
+
+        @staticmethod
+        def get_c_initializer():
+            raise Exception(&quot;Unsupported&quot;)
+
+        @staticmethod
+        def get_js_bind_type():
+            raise Exception(&quot;Unsupported&quot;)
+
+        @staticmethod
+        def get_raw_validator_call_text():
+            return &quot;RuntimeCastHelper::assertAny&quot;
+
+        @staticmethod
+        def get_output_pass_model():
+            return RawTypes.OutputPassModel.ByReference
+
+        @staticmethod
+        def is_heavy_value():
+            return True
+
+        @staticmethod
+        def get_array_item_raw_c_type_text():
+            return &quot;Inspector::InspectorValue&quot;
+
+        @staticmethod
+        def get_raw_type_model():
+            return TypeModel.Any
+
+    class Array(BaseType):
+        @staticmethod
+        def get_getter_name():
+            return &quot;Array&quot;
+
+        @staticmethod
+        def get_setter_name():
+            return &quot;Value&quot;
+
+        @staticmethod
+        def get_c_initializer():
+            return &quot;InspectorArray::create()&quot;
+
+        @staticmethod
+        def get_js_bind_type():
+            return &quot;object&quot;
+
+        @staticmethod
+        def get_output_argument_prefix():
+            return &quot;&quot;
+
+        @staticmethod
+        def get_validate_method_params():
+            class ValidateMethodParams:
+                template_type = &quot;Array&quot;
+            return ValidateMethodParams
+
+        @staticmethod
+        def get_output_pass_model():
+            return RawTypes.OutputPassModel.ByReference
+
+        @staticmethod
+        def is_heavy_value():
+            return True
+
+        @staticmethod
+        def get_array_item_raw_c_type_text():
+            return &quot;Inspector::InspectorArray&quot;
+
+        @staticmethod
+        def get_raw_type_model():
+            return TypeModel.Array
+
+
+def replace_right_shift(input_str):
+    return input_str.replace(&quot;&gt;&gt;&quot;, &quot;&gt; &gt;&quot;)
+
+
+class CommandReturnPassModel:
+    class ByReference:
+        def __init__(self, var_type, set_condition):
+            self.var_type = var_type
+            self.set_condition = set_condition
+
+        def get_return_var_type(self):
+            return self.var_type
+
+        @staticmethod
+        def get_output_argument_prefix():
+            return &quot;&quot;
+
+        @staticmethod
+        def get_output_to_raw_expression():
+            return &quot;%s&quot;
+
+        def get_output_parameter_type(self):
+            return self.var_type + &quot;&amp;&quot;
+
+        def get_set_return_condition(self):
+            return self.set_condition
+
+    class ByPointer:
+        def __init__(self, var_type):
+            self.var_type = var_type
+
+        def get_return_var_type(self):
+            return self.var_type
+
+        @staticmethod
+        def get_output_argument_prefix():
+            return &quot;&amp;&quot;
+
+        @staticmethod
+        def get_output_to_raw_expression():
+            return &quot;%s&quot;
+
+        def get_output_parameter_type(self):
+            return self.var_type + &quot;*&quot;
+
+        @staticmethod
+        def get_set_return_condition():
+            return None
+
+    class OptOutput:
+        def __init__(self, var_type):
+            self.var_type = var_type
+
+        def get_return_var_type(self):
+            return &quot;Inspector::TypeBuilder::OptOutput&lt;%s&gt;&quot; % self.var_type
+
+        @staticmethod
+        def get_output_argument_prefix():
+            return &quot;&amp;&quot;
+
+        @staticmethod
+        def get_output_to_raw_expression():
+            return &quot;%s.getValue()&quot;
+
+        def get_output_parameter_type(self):
+            return &quot;Inspector::TypeBuilder::OptOutput&lt;%s&gt;*&quot; % self.var_type
+
+        @staticmethod
+        def get_set_return_condition():
+            return &quot;%s.isAssigned()&quot;
+
+
+class TypeModel:
+    class RefPtrBased(object):
+        def __init__(self, class_name):
+            self.class_name = class_name
+            self.optional = False
+
+        def get_optional(self):
+            result = TypeModel.RefPtrBased(self.class_name)
+            result.optional = True
+            return result
+
+        def get_command_return_pass_model(self):
+            if self.optional:
+                set_condition = &quot;%s&quot;
+            else:
+                set_condition = None
+            return CommandReturnPassModel.ByReference(replace_right_shift(&quot;RefPtr&lt;%s&gt;&quot; % self.class_name), set_condition)
+
+        def get_input_param_type_text(self):
+            return replace_right_shift(&quot;PassRefPtr&lt;%s&gt;&quot; % self.class_name)
+
+        @staticmethod
+        def get_event_setter_expression_pattern():
+            return &quot;%s&quot;
+
+    class Enum(object):
+        def __init__(self, base_type_name):
+            self.type_name = base_type_name + &quot;::Enum&quot;
+
+        def get_optional(base_self):
+            class EnumOptional:
+                @classmethod
+                def get_optional(cls):
+                    return cls
+
+                @staticmethod
+                def get_command_return_pass_model():
+                    return CommandReturnPassModel.OptOutput(base_self.type_name)
+
+                @staticmethod
+                def get_input_param_type_text():
+                    return base_self.type_name + &quot;*&quot;
+
+                @staticmethod
+                def get_event_setter_expression_pattern():
+                    raise Exception(&quot;TODO&quot;)
+            return EnumOptional
+
+        def get_command_return_pass_model(self):
+            return CommandReturnPassModel.ByPointer(self.type_name)
+
+        def get_input_param_type_text(self):
+            return self.type_name
+
+        @staticmethod
+        def get_event_setter_expression_pattern():
+            return &quot;%s&quot;
+
+    class ValueType(object):
+        def __init__(self, type_name, is_heavy):
+            self.type_name = type_name
+            self.is_heavy = is_heavy
+
+        def get_optional(self):
+            return self.ValueOptional(self)
+
+        def get_command_return_pass_model(self):
+            return CommandReturnPassModel.ByPointer(self.type_name)
+
+        def get_input_param_type_text(self):
+            if self.is_heavy:
+                return &quot;const %s&amp;&quot; % self.type_name
+            else:
+                return self.type_name
+
+        def get_opt_output_type_(self):
+            return self.type_name
+
+        @staticmethod
+        def get_event_setter_expression_pattern():
+            return &quot;%s&quot;
+
+        class ValueOptional:
+            def __init__(self, base):
+                self.base = base
+
+            def get_optional(self):
+                return self
+
+            def get_command_return_pass_model(self):
+                return CommandReturnPassModel.OptOutput(self.base.get_opt_output_type_())
+
+            def get_input_param_type_text(self):
+                return &quot;const %s* const&quot; % self.base.type_name
+
+            @staticmethod
+            def get_event_setter_expression_pattern():
+                return &quot;*%s&quot;
+
+    class ExactlyInt(ValueType):
+        def __init__(self):
+            TypeModel.ValueType.__init__(self, &quot;int&quot;, False)
+
+        def get_input_param_type_text(self):
+            return &quot;Inspector::TypeBuilder::ExactlyInt&quot;
+
+        def get_opt_output_type_(self):
+            return &quot;Inspector::TypeBuilder::ExactlyInt&quot;
+
+    @classmethod
+    def init_class(cls):
+        cls.Bool = cls.ValueType(&quot;bool&quot;, False)
+        if EXACTLY_INT_SUPPORTED:
+            cls.Int = cls.ExactlyInt()
+        else:
+            cls.Int = cls.ValueType(&quot;int&quot;, False)
+        cls.Number = cls.ValueType(&quot;double&quot;, False)
+        cls.String = cls.ValueType(&quot;String&quot;, True,)
+        cls.Object = cls.RefPtrBased(&quot;Inspector::InspectorObject&quot;)
+        cls.Array = cls.RefPtrBased(&quot;Inspector::InspectorArray&quot;)
+        cls.Any = cls.RefPtrBased(&quot;Inspector::InspectorValue&quot;)
+
+TypeModel.init_class()
+
+
+# Collection of InspectorObject class methods that are likely to be overloaded in generated class.
+# We must explicitly import all overloaded methods or they won't be available to user.
+INSPECTOR_OBJECT_SETTER_NAMES = frozenset([&quot;setValue&quot;, &quot;setBoolean&quot;, &quot;setNumber&quot;, &quot;setString&quot;, &quot;setValue&quot;, &quot;setObject&quot;, &quot;setArray&quot;])
+
+
+def fix_type_name(json_name):
+    if json_name in TYPE_NAME_FIX_MAP:
+        fixed = TYPE_NAME_FIX_MAP[json_name]
+
+        class Result(object):
+            class_name = fixed
+
+            @staticmethod
+            def output_comment(writer):
+                writer.newline(&quot;// Type originally was named '%s'.\n&quot; % json_name)
+    else:
+
+        class Result(object):
+            class_name = json_name
+
+            @staticmethod
+            def output_comment(writer):
+                pass
+
+    return Result
+
+
+class Writer:
+    def __init__(self, output, indent):
+        self.output = output
+        self.indent = indent
+
+    def newline(self, str):
+        if (self.indent):
+            self.output.append(self.indent)
+        self.output.append(str)
+
+    def append(self, str):
+        self.output.append(str)
+
+    def newline_multiline(self, str):
+        parts = str.split('\n')
+        self.newline(parts[0])
+        for p in parts[1:]:
+            self.output.append('\n')
+            if p:
+                self.newline(p)
+
+    def append_multiline(self, str):
+        parts = str.split('\n')
+        self.append(parts[0])
+        for p in parts[1:]:
+            self.output.append('\n')
+            if p:
+                self.newline(p)
+
+    def get_indent(self):
+        return self.indent
+
+    def get_indented(self, additional_indent):
+        return Writer(self.output, self.indent + additional_indent)
+
+    def insert_writer(self, additional_indent):
+        new_output = []
+        self.output.append(new_output)
+        return Writer(new_output, self.indent + additional_indent)
+
+
+class EnumConstants:
+    map_ = {}
+    constants_ = []
+
+    @classmethod
+    def add_constant(cls, value):
+        if value in cls.map_:
+            return cls.map_[value]
+        else:
+            pos = len(cls.map_)
+            cls.map_[value] = pos
+            cls.constants_.append(value)
+            return pos
+
+    @classmethod
+    def get_enum_constant_code(cls):
+        output = []
+        for item in cls.constants_:
+            output.append(&quot;    \&quot;&quot; + item + &quot;\&quot;&quot;)
+        return &quot;,\n&quot;.join(output) + &quot;\n&quot;
+
+
+# Typebuilder code is generated in several passes: first typedefs, then other classes.
+# Manual pass management is needed because we cannot have forward declarations for typedefs.
+class TypeBuilderPass:
+    TYPEDEF = &quot;typedef&quot;
+    MAIN = &quot;main&quot;
+
+
+class TypeBindings:
+    @staticmethod
+    def create_named_type_declaration(json_typable, context_domain_name, type_data):
+        json_type = type_data.get_json_type()
+
+        class Helper:
+            is_ad_hoc = False
+            full_name_prefix_for_use = &quot;Inspector::TypeBuilder::&quot; + context_domain_name + &quot;::&quot;
+            full_name_prefix_for_impl = &quot;Inspector::TypeBuilder::&quot; + context_domain_name + &quot;::&quot;
+
+            @staticmethod
+            def write_doc(writer):
+                if &quot;description&quot; in json_type:
+                    writer.newline(&quot;/* &quot;)
+                    writer.append(json_type[&quot;description&quot;])
+                    writer.append(&quot; */\n&quot;)
+
+            @staticmethod
+            def add_to_forward_listener(forward_listener):
+                forward_listener.add_type_data(type_data)
+
+
+        fixed_type_name = fix_type_name(json_type[&quot;id&quot;])
+        return TypeBindings.create_type_declaration_(json_typable, context_domain_name, fixed_type_name, Helper)
+
+    @staticmethod
+    def create_ad_hoc_type_declaration(json_typable, context_domain_name, ad_hoc_type_context):
+        class Helper:
+            is_ad_hoc = True
+            full_name_prefix_for_use = ad_hoc_type_context.container_relative_name_prefix
+            full_name_prefix_for_impl = ad_hoc_type_context.container_full_name_prefix
+
+            @staticmethod
+            def write_doc(writer):
+                pass
+
+            @staticmethod
+            def add_to_forward_listener(forward_listener):
+                pass
+        fixed_type_name = ad_hoc_type_context.get_type_name_fix()
+        return TypeBindings.create_type_declaration_(json_typable, context_domain_name, fixed_type_name, Helper)
+
+    @staticmethod
+    def create_type_declaration_(json_typable, context_domain_name, fixed_type_name, helper):
+        if json_typable[&quot;type&quot;] == &quot;string&quot;:
+            if &quot;enum&quot; in json_typable:
+
+                class EnumBinding:
+                    need_user_runtime_cast_ = False
+                    need_internal_runtime_cast_ = False
+
+                    @classmethod
+                    def resolve_inner(cls, resolve_context):
+                        pass
+
+                    @classmethod
+                    def request_user_runtime_cast(cls, request):
+                        if request:
+                            cls.need_user_runtime_cast_ = True
+                            request.acknowledge()
+
+                    @classmethod
+                    def request_internal_runtime_cast(cls):
+                        cls.need_internal_runtime_cast_ = True
+
+                    @classmethod
+                    def get_code_generator(enum_binding_cls):
+                        #FIXME: generate ad-hoc enums too once we figure out how to better implement them in C++.
+                        comment_out = helper.is_ad_hoc
+
+                        class CodeGenerator:
+                            @staticmethod
+                            def generate_type_builder(writer, generate_context):
+                                enum = json_typable[&quot;enum&quot;]
+                                helper.write_doc(writer)
+                                enum_name = fixed_type_name.class_name
+                                fixed_type_name.output_comment(writer)
+                                writer.newline(&quot;struct &quot;)
+                                writer.append(enum_name)
+                                writer.append(&quot; {\n&quot;)
+                                writer.newline(&quot;    enum Enum {\n&quot;)
+                                for enum_item in enum:
+                                    enum_pos = EnumConstants.add_constant(enum_item)
+
+                                    item_c_name = fix_camel_case(enum_item)
+                                    if item_c_name in TYPE_NAME_FIX_MAP:
+                                        item_c_name = TYPE_NAME_FIX_MAP[item_c_name]
+                                    writer.newline(&quot;        &quot;)
+                                    writer.append(item_c_name)
+                                    writer.append(&quot; = &quot;)
+                                    writer.append(&quot;%s&quot; % enum_pos)
+                                    writer.append(&quot;,\n&quot;)
+                                writer.newline(&quot;    };\n&quot;)
+                                if enum_binding_cls.need_user_runtime_cast_:
+                                    raise Exception(&quot;Not yet implemented&quot;)
+
+                                if enum_binding_cls.need_internal_runtime_cast_:
+                                    writer.append(&quot;#if %s\n&quot; % VALIDATOR_IFDEF_NAME)
+                                    writer.newline(&quot;    static void assertCorrectValue(Inspector::InspectorValue* value);\n&quot;)
+                                    writer.append(&quot;#endif  // %s\n&quot; % VALIDATOR_IFDEF_NAME)
+
+                                    validator_writer = generate_context.validator_writer
+
+                                    domain_fixes = DomainNameFixes.get_fixed_data(context_domain_name)
+                                    domain_guard = domain_fixes.get_guard()
+                                    if domain_guard:
+                                        domain_guard.generate_open(validator_writer)
+
+                                    validator_writer.newline(&quot;void %s%s::assertCorrectValue(Inspector::InspectorValue* value)\n&quot; % (helper.full_name_prefix_for_impl, enum_name))
+                                    validator_writer.newline(&quot;{\n&quot;)
+                                    validator_writer.newline(&quot;    WTF::String s;\n&quot;)
+                                    validator_writer.newline(&quot;    bool cast_res = value-&gt;asString(&amp;s);\n&quot;)
+                                    validator_writer.newline(&quot;    ASSERT(cast_res);\n&quot;)
+                                    if len(enum) &gt; 0:
+                                        condition_list = []
+                                        for enum_item in enum:
+                                            enum_pos = EnumConstants.add_constant(enum_item)
+                                            condition_list.append(&quot;s == \&quot;%s\&quot;&quot; % enum_item)
+                                        validator_writer.newline(&quot;    ASSERT(%s);\n&quot; % &quot; || &quot;.join(condition_list))
+                                    validator_writer.newline(&quot;}\n&quot;)
+
+                                    if domain_guard:
+                                        domain_guard.generate_close(validator_writer)
+
+                                    validator_writer.newline(&quot;\n\n&quot;)
+
+                                writer.newline(&quot;}; // struct &quot;)
+                                writer.append(enum_name)
+                                writer.append(&quot;\n&quot;)
+
+                            @staticmethod
+                            def register_use(forward_listener):
+                                pass
+
+                            @staticmethod
+                            def get_generate_pass_id():
+                                return TypeBuilderPass.MAIN
+
+                        return CodeGenerator
+
+                    @classmethod
+                    def get_validator_call_text(cls):
+                        return helper.full_name_prefix_for_use + fixed_type_name.class_name + &quot;::assertCorrectValue&quot;
+
+                    @classmethod
+                    def get_array_item_c_type_text(cls):
+                        return helper.full_name_prefix_for_use + fixed_type_name.class_name + &quot;::Enum&quot;
+
+                    @staticmethod
+                    def get_setter_value_expression_pattern():
+                        return &quot;Inspector::TypeBuilder::getEnumConstantValue(%s)&quot;
+
+                    @staticmethod
+                    def reduce_to_raw_type():
+                        return RawTypes.String
+
+                    @staticmethod
+                    def get_type_model():
+                        return TypeModel.Enum(helper.full_name_prefix_for_use + fixed_type_name.class_name)
+
+                return EnumBinding
+            else:
+                if helper.is_ad_hoc:
+
+                    class PlainString:
+                        @classmethod
+                        def resolve_inner(cls, resolve_context):
+                            pass
+
+                        @staticmethod
+                        def request_user_runtime_cast(request):
+                            raise Exception(&quot;Unsupported&quot;)
+
+                        @staticmethod
+                        def request_internal_runtime_cast():
+                            pass
+
+                        @staticmethod
+                        def get_code_generator():
+                            return None
+
+                        @classmethod
+                        def get_validator_call_text(cls):
+                            return RawTypes.String.get_raw_validator_call_text()
+
+                        @staticmethod
+                        def reduce_to_raw_type():
+                            return RawTypes.String
+
+                        @staticmethod
+                        def get_type_model():
+                            return TypeModel.String
+
+                        @staticmethod
+                        def get_setter_value_expression_pattern():
+                            return None
+
+                        @classmethod
+                        def get_array_item_c_type_text(cls):
+                            return cls.reduce_to_raw_type().get_array_item_raw_c_type_text()
+
+                    return PlainString
+
+                else:
+
+                    class TypedefString:
+                        @classmethod
+                        def resolve_inner(cls, resolve_context):
+                            pass
+
+                        @staticmethod
+                        def request_user_runtime_cast(request):
+                            raise Exception(&quot;Unsupported&quot;)
+
+                        @staticmethod
+                        def request_internal_runtime_cast():
+                            RawTypes.String.request_raw_internal_runtime_cast()
+
+                        @staticmethod
+                        def get_code_generator():
+                            class CodeGenerator:
+                                @staticmethod
+                                def generate_type_builder(writer, generate_context):
+                                    helper.write_doc(writer)
+                                    fixed_type_name.output_comment(writer)
+                                    writer.newline(&quot;typedef String &quot;)
+                                    writer.append(fixed_type_name.class_name)
+                                    writer.append(&quot;;\n\n&quot;)
+
+                                @staticmethod
+                                def register_use(forward_listener):
+                                    pass
+
+                                @staticmethod
+                                def get_generate_pass_id():
+                                    return TypeBuilderPass.TYPEDEF
+
+                            return CodeGenerator
+
+                        @classmethod
+                        def get_validator_call_text(cls):
+                            return RawTypes.String.get_raw_validator_call_text()
+
+                        @staticmethod
+                        def reduce_to_raw_type():
+                            return RawTypes.String
+
+                        @staticmethod
+                        def get_type_model():
+                            return TypeModel.ValueType(&quot;%s%s&quot; % (helper.full_name_prefix_for_use, fixed_type_name.class_name), True)
+
+                        @staticmethod
+                        def get_setter_value_expression_pattern():
+                            return None
+
+                        @classmethod
+                        def get_array_item_c_type_text(cls):
+                            return &quot;const %s%s&amp;&quot; % (helper.full_name_prefix_for_use, fixed_type_name.class_name)
+
+                    return TypedefString
+
+        elif json_typable[&quot;type&quot;] == &quot;object&quot;:
+            if &quot;properties&quot; in json_typable:
+
+                class ClassBinding:
+                    resolve_data_ = None
+                    need_user_runtime_cast_ = False
+                    need_internal_runtime_cast_ = False
+
+                    @classmethod
+                    def resolve_inner(cls, resolve_context):
+                        if cls.resolve_data_:
+                            return
+
+                        properties = json_typable[&quot;properties&quot;]
+                        main = []
+                        optional = []
+
+                        ad_hoc_type_list = []
+
+                        for prop in properties:
+                            prop_name = prop[&quot;name&quot;]
+                            ad_hoc_type_context = cls.AdHocTypeContextImpl(prop_name, fixed_type_name.class_name, resolve_context, ad_hoc_type_list, helper.full_name_prefix_for_impl)
+                            binding = resolve_param_type(prop, context_domain_name, ad_hoc_type_context)
+
+                            code_generator = binding.get_code_generator()
+                            if code_generator:
+                                code_generator.register_use(resolve_context.forward_listener)
+
+                            class PropertyData:
+                                param_type_binding = binding
+                                p = prop
+
+                            if prop.get(&quot;optional&quot;):
+                                optional.append(PropertyData)
+                            else:
+                                main.append(PropertyData)
+
+                        class ResolveData:
+                            main_properties = main
+                            optional_properties = optional
+                            ad_hoc_types = ad_hoc_type_list
+
+                        cls.resolve_data_ = ResolveData
+
+                        for ad_hoc in ad_hoc_type_list:
+                            ad_hoc.resolve_inner(resolve_context)
+
+                    @classmethod
+                    def request_user_runtime_cast(cls, request):
+                        if not request:
+                            return
+                        cls.need_user_runtime_cast_ = True
+                        request.acknowledge()
+                        cls.request_internal_runtime_cast()
+
+                    @classmethod
+                    def request_internal_runtime_cast(cls):
+                        if cls.need_internal_runtime_cast_:
+                            return
+                        cls.need_internal_runtime_cast_ = True
+                        for p in cls.resolve_data_.main_properties:
+                            p.param_type_binding.request_internal_runtime_cast()
+                        for p in cls.resolve_data_.optional_properties:
+                            p.param_type_binding.request_internal_runtime_cast()
+
+                    @classmethod
+                    def get_code_generator(class_binding_cls):
+                        class CodeGenerator:
+                            @classmethod
+                            def generate_type_builder(cls, writer, generate_context):
+                                resolve_data = class_binding_cls.resolve_data_
+                                helper.write_doc(writer)
+                                class_name = fixed_type_name.class_name
+
+                                is_open_type = (context_domain_name + &quot;.&quot; + class_name) in TYPES_WITH_OPEN_FIELD_LIST_SET
+
+                                fixed_type_name.output_comment(writer)
+                                writer.newline(&quot;class &quot;)
+                                writer.append(class_name)
+                                writer.append(&quot; : public &quot;)
+                                if is_open_type:
+                                    writer.append(&quot;Inspector::InspectorObject&quot;)
+                                else:
+                                    writer.append(&quot;Inspector::InspectorObjectBase&quot;)
+                                writer.append(&quot; {\n&quot;)
+                                writer.newline(&quot;public:\n&quot;)
+                                ad_hoc_type_writer = writer.insert_writer(&quot;    &quot;)
+
+                                for ad_hoc_type in resolve_data.ad_hoc_types:
+                                    code_generator = ad_hoc_type.get_code_generator()
+                                    if code_generator:
+                                        code_generator.generate_type_builder(ad_hoc_type_writer, generate_context)
+
+                                writer.newline_multiline(
+&quot;&quot;&quot;    enum {
+        NoFieldsSet = 0,
+&quot;&quot;&quot;)
+
+                                state_enum_items = []
+                                if len(resolve_data.main_properties) &gt; 0:
+                                    pos = 0
+                                    for prop_data in resolve_data.main_properties:
+                                        item_name = Capitalizer.lower_camel_case_to_upper(prop_data.p[&quot;name&quot;]) + &quot;Set&quot;
+                                        state_enum_items.append(item_name)
+                                        writer.newline(&quot;        %s = 1 &lt;&lt; %s,\n&quot; % (item_name, pos))
+                                        pos += 1
+                                    all_fields_set_value = &quot;(&quot; + (&quot; | &quot;.join(state_enum_items)) + &quot;)&quot;
+                                else:
+                                    all_fields_set_value = &quot;0&quot;
+
+                                writer.newline_multiline(CodeGeneratorInspectorStrings.class_binding_builder_part_1
+                                                         % (all_fields_set_value, class_name, class_name))
+
+                                pos = 0
+                                for prop_data in resolve_data.main_properties:
+                                    prop_name = prop_data.p[&quot;name&quot;]
+
+                                    param_type_binding = prop_data.param_type_binding
+                                    param_raw_type = param_type_binding.reduce_to_raw_type()
+
+                                    writer.newline_multiline(CodeGeneratorInspectorStrings.class_binding_builder_part_2
+                                        % (state_enum_items[pos],
+                                           Capitalizer.lower_camel_case_to_upper(prop_name),
+                                           param_type_binding.get_type_model().get_input_param_type_text(),
+                                           state_enum_items[pos], prop_name,
+                                           param_raw_type.get_setter_name(), prop_name,
+                                           format_setter_value_expression(param_type_binding, &quot;value&quot;),
+                                           state_enum_items[pos]))
+
+                                    pos += 1
+
+                                writer.newline_multiline(CodeGeneratorInspectorStrings.class_binding_builder_part_3
+                                                         % (class_name, class_name, class_name, class_name, class_name))
+
+                                writer.newline(&quot;    /*\n&quot;)
+                                writer.newline(&quot;     * Synthetic constructor:\n&quot;)
+                                writer.newline(&quot;     * RefPtr&lt;%s&gt; result = %s::create()&quot; % (class_name, class_name))
+                                for prop_data in resolve_data.main_properties:
+                                    writer.append_multiline(&quot;\n     *     .set%s(...)&quot; % Capitalizer.lower_camel_case_to_upper(prop_data.p[&quot;name&quot;]))
+                                writer.append_multiline(&quot;;\n     */\n&quot;)
+
+                                writer.newline_multiline(CodeGeneratorInspectorStrings.class_binding_builder_part_4)
+
+                                writer.newline(&quot;    typedef Inspector::TypeBuilder::StructItemTraits ItemTraits;\n&quot;)
+
+                                for prop_data in resolve_data.optional_properties:
+                                    prop_name = prop_data.p[&quot;name&quot;]
+                                    param_type_binding = prop_data.param_type_binding
+                                    setter_name = &quot;set%s&quot; % Capitalizer.lower_camel_case_to_upper(prop_name)
+
+                                    writer.append_multiline(&quot;\n    void %s&quot; % setter_name)
+                                    writer.append(&quot;(%s value)\n&quot; % param_type_binding.get_type_model().get_input_param_type_text())
+                                    writer.newline(&quot;    {\n&quot;)
+                                    writer.newline(&quot;        this-&gt;set%s(ASCIILiteral(\&quot;%s\&quot;), %s);\n&quot;
+                                        % (param_type_binding.reduce_to_raw_type().get_setter_name(), prop_data.p[&quot;name&quot;],
+                                           format_setter_value_expression(param_type_binding, &quot;value&quot;)))
+                                    writer.newline(&quot;    }\n&quot;)
+
+
+                                    if setter_name in INSPECTOR_OBJECT_SETTER_NAMES:
+                                        writer.newline(&quot;    using Inspector::InspectorObjectBase::%s;\n\n&quot; % setter_name)
+
+                                if class_binding_cls.need_user_runtime_cast_:
+                                    writer.newline(&quot;    static PassRefPtr&lt;%s&gt; runtimeCast(PassRefPtr&lt;Inspector::InspectorValue&gt; value)\n&quot; % class_name)
+                                    writer.newline(&quot;    {\n&quot;)
+                                    writer.newline(&quot;        RefPtr&lt;Inspector::InspectorObject&gt; object;\n&quot;)
+                                    writer.newline(&quot;        bool castRes = value-&gt;asObject(&amp;object);\n&quot;)
+                                    writer.newline(&quot;        ASSERT_UNUSED(castRes, castRes);\n&quot;)
+                                    writer.append(&quot;#if %s\n&quot; % VALIDATOR_IFDEF_NAME)
+                                    writer.newline(&quot;        assertCorrectValue(object.get());\n&quot;)
+                                    writer.append(&quot;#endif  // %s\n&quot; % VALIDATOR_IFDEF_NAME)
+                                    writer.newline(&quot;        COMPILE_ASSERT(sizeof(%s) == sizeof(Inspector::InspectorObjectBase), type_cast_problem);\n&quot; % class_name)
+                                    writer.newline(&quot;        return static_cast&lt;%s*&gt;(static_cast&lt;Inspector::InspectorObjectBase*&gt;(object.get()));\n&quot; % class_name)
+                                    writer.newline(&quot;    }\n&quot;)
+                                    writer.append(&quot;\n&quot;)
+
+                                if class_binding_cls.need_internal_runtime_cast_:
+                                    writer.append(&quot;#if %s\n&quot; % VALIDATOR_IFDEF_NAME)
+                                    writer.newline(&quot;    static %s void assertCorrectValue(Inspector::InspectorValue* value);\n&quot; % INSPECTOR_TYPES_GENERATOR_CONFIG_MAP[output_type][&quot;export_macro&quot;])
+                                    writer.append(&quot;#endif  // %s\n&quot; % VALIDATOR_IFDEF_NAME)
+
+                                    closed_field_set = (context_domain_name + &quot;.&quot; + class_name) not in TYPES_WITH_OPEN_FIELD_LIST_SET
+
+                                    validator_writer = generate_context.validator_writer
+
+                                    domain_fixes = DomainNameFixes.get_fixed_data(context_domain_name)
+                                    domain_guard = domain_fixes.get_guard()
+                                    if domain_guard:
+                                        domain_guard.generate_open(validator_writer)
+
+                                    validator_writer.newline(&quot;void %s%s::assertCorrectValue(Inspector::InspectorValue* value)\n&quot; % (helper.full_name_prefix_for_impl, class_name))
+                                    validator_writer.newline(&quot;{\n&quot;)
+                                    validator_writer.newline(&quot;    RefPtr&lt;InspectorObject&gt; object;\n&quot;)
+                                    validator_writer.newline(&quot;    bool castRes = value-&gt;asObject(&amp;object);\n&quot;)
+                                    validator_writer.newline(&quot;    ASSERT_UNUSED(castRes, castRes);\n&quot;)
+                                    for prop_data in resolve_data.main_properties:
+                                        validator_writer.newline(&quot;    {\n&quot;)
+                                        it_name = &quot;%sPos&quot; % prop_data.p[&quot;name&quot;]
+                                        validator_writer.newline(&quot;        InspectorObject::iterator %s;\n&quot; % it_name)
+                                        validator_writer.newline(&quot;        %s = object-&gt;find(\&quot;%s\&quot;);\n&quot; % (it_name, prop_data.p[&quot;name&quot;]))
+                                        validator_writer.newline(&quot;        ASSERT(%s != object-&gt;end());\n&quot; % it_name)
+                                        validator_writer.newline(&quot;        %s(%s-&gt;value.get());\n&quot; % (prop_data.param_type_binding.get_validator_call_text(), it_name))
+                                        validator_writer.newline(&quot;    }\n&quot;)
+
+                                    if closed_field_set:
+                                        validator_writer.newline(&quot;    int foundPropertiesCount = %s;\n&quot; % len(resolve_data.main_properties))
+
+                                    for prop_data in resolve_data.optional_properties:
+                                        validator_writer.newline(&quot;    {\n&quot;)
+                                        it_name = &quot;%sPos&quot; % prop_data.p[&quot;name&quot;]
+                                        validator_writer.newline(&quot;        InspectorObject::iterator %s;\n&quot; % it_name)
+                                        validator_writer.newline(&quot;        %s = object-&gt;find(\&quot;%s\&quot;);\n&quot; % (it_name, prop_data.p[&quot;name&quot;]))
+                                        validator_writer.newline(&quot;        if (%s != object-&gt;end()) {\n&quot; % it_name)
+                                        validator_writer.newline(&quot;            %s(%s-&gt;value.get());\n&quot; % (prop_data.param_type_binding.get_validator_call_text(), it_name))
+                                        if closed_field_set:
+                                            validator_writer.newline(&quot;            ++foundPropertiesCount;\n&quot;)
+                                        validator_writer.newline(&quot;        }\n&quot;)
+                                        validator_writer.newline(&quot;    }\n&quot;)
+
+                                    if closed_field_set:
+                                        validator_writer.newline(&quot;    if (foundPropertiesCount != object-&gt;size())\n&quot;)
+                                        validator_writer.newline(&quot;        FATAL(\&quot;Unexpected properties in object: %s\\n\&quot;, object-&gt;toJSONString().ascii().data());\n&quot;)
+                                    validator_writer.newline(&quot;}\n&quot;)
+
+                                    if domain_guard:
+                                        domain_guard.generate_close(validator_writer)
+
+                                    validator_writer.newline(&quot;\n\n&quot;)
+
+                                if is_open_type:
+                                    cpp_writer = generate_context.cpp_writer
+                                    writer.append(&quot;\n&quot;)
+                                    writer.newline(&quot;    // Property names for type generated as open.\n&quot;)
+                                    for prop_data in resolve_data.main_properties + resolve_data.optional_properties:
+                                        prop_name = prop_data.p[&quot;name&quot;]
+                                        prop_field_name = Capitalizer.lower_camel_case_to_upper(prop_name)
+                                        writer.newline(&quot;    static const char* %s;\n&quot; % (prop_field_name))
+                                        cpp_writer.newline(&quot;const char* %s%s::%s = \&quot;%s\&quot;;\n&quot; % (helper.full_name_prefix_for_impl, class_name, prop_field_name, prop_name))
+
+
+                                writer.newline(&quot;};\n\n&quot;)
+
+                            @staticmethod
+                            def generate_forward_declaration(writer):
+                                class_name = fixed_type_name.class_name
+                                writer.newline(&quot;class &quot;)
+                                writer.append(class_name)
+                                writer.append(&quot;;\n&quot;)
+
+                            @staticmethod
+                            def register_use(forward_listener):
+                                helper.add_to_forward_listener(forward_listener)
+
+                            @staticmethod
+                            def get_generate_pass_id():
+                                return TypeBuilderPass.MAIN
+
+                        return CodeGenerator
+
+                    @staticmethod
+                    def get_validator_call_text():
+                        return helper.full_name_prefix_for_use + fixed_type_name.class_name + &quot;::assertCorrectValue&quot;
+
+                    @classmethod
+                    def get_array_item_c_type_text(cls):
+                        return helper.full_name_prefix_for_use + fixed_type_name.class_name
+
+                    @staticmethod
+                    def get_setter_value_expression_pattern():
+                        return None
+
+                    @staticmethod
+                    def reduce_to_raw_type():
+                        return RawTypes.Object
+
+                    @staticmethod
+                    def get_type_model():
+                        return TypeModel.RefPtrBased(helper.full_name_prefix_for_use + fixed_type_name.class_name)
+
+                    class AdHocTypeContextImpl:
+                        def __init__(self, property_name, class_name, resolve_context, ad_hoc_type_list, parent_full_name_prefix):
+                            self.property_name = property_name
+                            self.class_name = class_name
+                            self.resolve_context = resolve_context
+                            self.ad_hoc_type_list = ad_hoc_type_list
+                            self.container_full_name_prefix = parent_full_name_prefix + class_name + &quot;::&quot;
+                            self.container_relative_name_prefix = &quot;&quot;
+
+                        def get_type_name_fix(self):
+                            class NameFix:
+                                class_name = Capitalizer.lower_camel_case_to_upper(self.property_name)
+
+                                @staticmethod
+                                def output_comment(writer):
+                                    writer.newline(&quot;// Named after property name '%s' while generating %s.\n&quot; % (self.property_name, self.class_name))
+
+                            return NameFix
+
+                        def add_type(self, binding):
+                            self.ad_hoc_type_list.append(binding)
+
+                return ClassBinding
+            else:
+
+                class PlainObjectBinding:
+                    @classmethod
+                    def resolve_inner(cls, resolve_context):
+                        pass
+
+                    @staticmethod
+                    def request_user_runtime_cast(request):
+                        pass
+
+                    @staticmethod
+                    def request_internal_runtime_cast():
+                        RawTypes.Object.request_raw_internal_runtime_cast()
+
+                    @staticmethod
+                    def get_code_generator():
+                        pass
+
+                    @staticmethod
+                    def get_validator_call_text():
+                        return &quot;RuntimeCastHelper::assertType&lt;InspectorValue::TypeObject&gt;&quot;
+
+                    @classmethod
+                    def get_array_item_c_type_text(cls):
+                        return cls.reduce_to_raw_type().get_array_item_raw_c_type_text()
+
+                    @staticmethod
+                    def get_setter_value_expression_pattern():
+                        return None
+
+                    @staticmethod
+                    def reduce_to_raw_type():
+                        return RawTypes.Object
+
+                    @staticmethod
+                    def get_type_model():
+                        return TypeModel.Object
+
+                return PlainObjectBinding
+        elif json_typable[&quot;type&quot;] == &quot;array&quot;:
+            if &quot;items&quot; in json_typable:
+
+                ad_hoc_types = []
+
+                class AdHocTypeContext:
+                    container_full_name_prefix = &quot;&lt;not yet defined&gt;&quot;
+                    container_relative_name_prefix = &quot;&quot;
+
+                    @staticmethod
+                    def get_type_name_fix():
+                        return fixed_type_name
+
+                    @staticmethod
+                    def add_type(binding):
+                        ad_hoc_types.append(binding)
+
+                item_binding = resolve_param_type(json_typable[&quot;items&quot;], context_domain_name, AdHocTypeContext)
+
+                class ArrayBinding:
+                    resolve_data_ = None
+                    need_internal_runtime_cast_ = False
+
+                    @classmethod
+                    def resolve_inner(cls, resolve_context):
+                        if cls.resolve_data_:
+                            return
+
+                        class ResolveData:
+                            item_type_binding = item_binding
+                            ad_hoc_type_list = ad_hoc_types
+
+                        cls.resolve_data_ = ResolveData
+
+                        for t in ad_hoc_types:
+                            t.resolve_inner(resolve_context)
+
+                    @classmethod
+                    def request_user_runtime_cast(cls, request):
+                        raise Exception(&quot;Not implemented yet&quot;)
+
+                    @classmethod
+                    def request_internal_runtime_cast(cls):
+                        if cls.need_internal_runtime_cast_:
+                            return
+                        cls.need_internal_runtime_cast_ = True
+                        cls.resolve_data_.item_type_binding.request_internal_runtime_cast()
+
+                    @classmethod
+                    def get_code_generator(array_binding_cls):
+
+                        class CodeGenerator:
+                            @staticmethod
+                            def generate_type_builder(writer, generate_context):
+                                ad_hoc_type_writer = writer
+
+                                resolve_data = array_binding_cls.resolve_data_
+
+                                for ad_hoc_type in resolve_data.ad_hoc_type_list:
+                                    code_generator = ad_hoc_type.get_code_generator()
+                                    if code_generator:
+                                        code_generator.generate_type_builder(ad_hoc_type_writer, generate_context)
+
+                            @staticmethod
+                            def generate_forward_declaration(writer):
+                                pass
+
+                            @staticmethod
+                            def register_use(forward_listener):
+                                item_code_generator = item_binding.get_code_generator()
+                                if item_code_generator:
+                                    item_code_generator.register_use(forward_listener)
+
+                            @staticmethod
+                            def get_generate_pass_id():
+                                return TypeBuilderPass.MAIN
+
+                        return CodeGenerator
+
+                    @classmethod
+                    def get_validator_call_text(cls):
+                        return cls.get_array_item_c_type_text() + &quot;::assertCorrectValue&quot;
+
+                    @classmethod
+                    def get_array_item_c_type_text(cls):
+                        return replace_right_shift(&quot;Inspector::TypeBuilder::Array&lt;%s&gt;&quot; % cls.resolve_data_.item_type_binding.get_array_item_c_type_text())
+
+                    @staticmethod
+                    def get_setter_value_expression_pattern():
+                        return None
+
+                    @staticmethod
+                    def reduce_to_raw_type():
+                        return RawTypes.Array
+
+                    @classmethod
+                    def get_type_model(cls):
+                        return TypeModel.RefPtrBased(cls.get_array_item_c_type_text())
+
+                return ArrayBinding
+            else:
+                # Fall-through to raw type.
+                pass
+
+        raw_type = RawTypes.get(json_typable[&quot;type&quot;])
+
+        return RawTypeBinding(raw_type)
+
+
+class RawTypeBinding:
+    def __init__(self, raw_type):
+        self.raw_type_ = raw_type
+
+    def resolve_inner(self, resolve_context):
+        pass
+
+    def request_user_runtime_cast(self, request):
+        raise Exception(&quot;Unsupported&quot;)
+
+    def request_internal_runtime_cast(self):
+        self.raw_type_.request_raw_internal_runtime_cast()
+
+    def get_code_generator(self):
+        return None
+
+    def get_validator_call_text(self):
+        return self.raw_type_.get_raw_validator_call_text()
+
+    def get_array_item_c_type_text(self):
+        return self.raw_type_.get_array_item_raw_c_type_text()
+
+    def get_setter_value_expression_pattern(self):
+        return None
+
+    def reduce_to_raw_type(self):
+        return self.raw_type_
+
+    def get_type_model(self):
+        return self.raw_type_.get_raw_type_model()
+
+
+class TypeData(object):
+    def __init__(self, json_type, json_domain, domain_data):
+        self.json_type_ = json_type
+        self.json_domain_ = json_domain
+        self.domain_data_ = domain_data
+
+        if &quot;type&quot; not in json_type:
+            raise Exception(&quot;Unknown type&quot;)
+
+        json_type_name = json_type[&quot;type&quot;]
+        self.raw_type_ = RawTypes.get(json_type_name)
+        self.binding_being_resolved_ = False
+        self.binding_ = None
+
+    def get_raw_type(self):
+        return self.raw_type_
+
+    def get_binding(self):
+        if not self.binding_:
+            if self.binding_being_resolved_:
+                raise Exception(&quot;Type %s is already being resolved&quot; % self.json_type_[&quot;type&quot;])
+            # Resolve only lazily, because resolving one named type may require resolving some other named type.
+            self.binding_being_resolved_ = True
+            try:
+                self.binding_ = TypeBindings.create_named_type_declaration(self.json_type_, self.json_domain_[&quot;domain&quot;], self)
+            finally:
+                self.binding_being_resolved_ = False
+
+        return self.binding_
+
+    def get_json_type(self):
+        return self.json_type_
+
+    def get_name(self):
+        return self.json_type_[&quot;id&quot;]
+
+    def get_domain_name(self):
+        return self.json_domain_[&quot;domain&quot;]
+
+
+class DomainData:
+    def __init__(self, json_domain):
+        self.json_domain = json_domain
+        self.types_ = []
+
+    def add_type(self, type_data):
+        self.types_.append(type_data)
+
+    def name(self):
+        return self.json_domain[&quot;domain&quot;]
+
+    def types(self):
+        return self.types_
+
+
+class TypeMap:
+    def __init__(self, api, dependency_api):
+        self.map_ = {}
+        self.domains_ = []
+        self.domains_to_generate_ = []
+        for json_domain in api[&quot;domains&quot;]:
+            self.add_domain(json_domain, True)
+        for json_domain in dependency_api[&quot;domains&quot;]:
+            self.add_domain(json_domain, False)
+
+    def add_domain(self, json_domain, should_generate):
+        domain_name = json_domain[&quot;domain&quot;]
+
+        domain_map = {}
+        self.map_[domain_name] = domain_map
+
+        domain_data = DomainData(json_domain)
+        self.domains_.append(domain_data)
+
+        if should_generate:
+            # FIXME: The order of types should not matter. The generated code should work regardless of the order of types.
+            if domain_name == &quot;Page&quot;:
+                self.domains_to_generate_.insert(0, domain_data)
+            else:
+                self.domains_to_generate_.append(domain_data)
+
+        if &quot;types&quot; in json_domain:
+            for json_type in json_domain[&quot;types&quot;]:
+                type_name = json_type[&quot;id&quot;]
+                type_data = TypeData(json_type, json_domain, domain_data)
+                domain_map[type_name] = type_data
+                domain_data.add_type(type_data)
+
+    def domains(self):
+        return self.domains_
+
+    def domains_to_generate(self):
+        return self.domains_to_generate_
+
+    def get(self, domain_name, type_name):
+        return self.map_[domain_name][type_name]
+
+
+def resolve_param_type(json_parameter, scope_domain_name, ad_hoc_type_context):
+    if &quot;$ref&quot; in json_parameter:
+        json_ref = json_parameter[&quot;$ref&quot;]
+        type_data = get_ref_data(json_ref, scope_domain_name)
+        return type_data.get_binding()
+    elif &quot;type&quot; in json_parameter:
+        result = TypeBindings.create_ad_hoc_type_declaration(json_parameter, scope_domain_name, ad_hoc_type_context)
+        ad_hoc_type_context.add_type(result)
+        return result
+    else:
+        raise Exception(&quot;Unknown type&quot;)
+
+
+def resolve_param_raw_type(json_parameter, scope_domain_name):
+    if &quot;$ref&quot; in json_parameter:
+        json_ref = json_parameter[&quot;$ref&quot;]
+        type_data = get_ref_data(json_ref, scope_domain_name)
+        return type_data.get_raw_type()
+    elif &quot;type&quot; in json_parameter:
+        json_type = json_parameter[&quot;type&quot;]
+        return RawTypes.get(json_type)
+    else:
+        raise Exception(&quot;Unknown type&quot;)
+
+
+def get_ref_data(json_ref, scope_domain_name):
+    dot_pos = json_ref.find(&quot;.&quot;)
+    if dot_pos == -1:
+        domain_name = scope_domain_name
+        type_name = json_ref
+    else:
+        domain_name = json_ref[:dot_pos]
+        type_name = json_ref[dot_pos + 1:]
+
+    return type_map.get(domain_name, type_name)
+
+
+input_file = open(input_json_filename, &quot;r&quot;)
+json_string = input_file.read()
+json_api = json.loads(json_string)
+input_file.close()
+if not &quot;domains&quot; in json_api:
+    json_api = {&quot;domains&quot;: [json_api]}
+
+dependency_api = {&quot;domains&quot;: []}
+for dependency_json_filename in dependency_json_filenames:
+    dependency_input_file = open(dependency_json_filename, &quot;r&quot;)
+    dependency_json_string = dependency_input_file.read()
+    dependency_json_api = json.loads(dependency_json_string)
+    dependency_input_file.close()
+    if not &quot;domains&quot; in dependency_json_api:
+        dependency_json_api = {&quot;domains&quot;: [dependency_json_api]}
+    dependency_api[&quot;domains&quot;] += dependency_json_api[&quot;domains&quot;]
+
+
+class Templates:
+    def get_this_script_path_(absolute_path):
+        absolute_path = os.path.abspath(absolute_path)
+        components = []
+
+        def fill_recursive(path_part, depth):
+            if depth &lt;= 0 or path_part == '/':
+                return
+            fill_recursive(os.path.dirname(path_part), depth - 1)
+            components.append(os.path.basename(path_part))
+
+        # Typical path is /Source/WebCore/inspector/CodeGeneratorInspector.py
+        # Let's take 4 components from the real path then.
+        fill_recursive(absolute_path, 4)
+
+        return &quot;/&quot;.join(components)
+
+    file_header_ = (&quot;// File is generated by %s\n\n&quot; % get_this_script_path_(sys.argv[0]) +
+&quot;&quot;&quot;// Copyright (c) 2013 Apple Inc. All Rights Reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+&quot;&quot;&quot;)
+
+    frontend_domain_class = string.Template(CodeGeneratorInspectorStrings.frontend_domain_class)
+    backend_dispatcher_constructor = string.Template(CodeGeneratorInspectorStrings.backend_dispatcher_constructor)
+    backend_dispatcher_dispatch_method = string.Template(CodeGeneratorInspectorStrings.backend_dispatcher_dispatch_method)
+    backend_dispatcher_dispatch_method_simple = string.Template(CodeGeneratorInspectorStrings.backend_dispatcher_dispatch_method_simple)
+    backend_method = string.Template(CodeGeneratorInspectorStrings.backend_method)
+    frontend_method = string.Template(CodeGeneratorInspectorStrings.frontend_method)
+    callback_method = string.Template(CodeGeneratorInspectorStrings.callback_method)
+    frontend_h = string.Template(file_header_ + CodeGeneratorInspectorStrings.frontend_h)
+    backend_h = string.Template(file_header_ + CodeGeneratorInspectorStrings.backend_h)
+    backend_cpp = string.Template(file_header_ + CodeGeneratorInspectorStrings.backend_cpp)
+    frontend_cpp = string.Template(file_header_ + CodeGeneratorInspectorStrings.frontend_cpp)
+    typebuilder_h = string.Template(file_header_ + CodeGeneratorInspectorStrings.typebuilder_h)
+    typebuilder_cpp = string.Template(file_header_ + CodeGeneratorInspectorStrings.typebuilder_cpp)
+    backend_js = string.Template(file_header_ + CodeGeneratorInspectorStrings.backend_js)
+    param_container_access_code = CodeGeneratorInspectorStrings.param_container_access_code
+
+
+
+
+
+type_map = TypeMap(json_api, dependency_api)
+
+
+class NeedRuntimeCastRequest:
+    def __init__(self):
+        self.ack_ = None
+
+    def acknowledge(self):
+        self.ack_ = True
+
+    def is_acknowledged(self):
+        return self.ack_
+
+
+def resolve_all_types():
+    runtime_cast_generate_requests = {}
+    for type_name in TYPES_WITH_RUNTIME_CAST_SET:
+        runtime_cast_generate_requests[type_name] = NeedRuntimeCastRequest()
+
+    class ForwardListener:
+        type_data_set = set()
+        already_declared_set = set()
+
+        @classmethod
+        def add_type_data(cls, type_data):
+            if type_data not in cls.already_declared_set:
+                cls.type_data_set.add(type_data)
+
+    class ResolveContext:
+        forward_listener = ForwardListener
+
+    for domain_data in type_map.domains():
+        for type_data in domain_data.types():
+            binding = type_data.get_binding()
+            binding.resolve_inner(ResolveContext)
+            # Do not generate forwards for this type any longer.
+            ForwardListener.already_declared_set.add(type_data)
+
+    for domain_data in type_map.domains():
+        for type_data in domain_data.types():
+            full_type_name = &quot;%s.%s&quot; % (type_data.get_domain_name(), type_data.get_name())
+            request = runtime_cast_generate_requests.pop(full_type_name, None)
+            binding = type_data.get_binding()
+            if request:
+                binding.request_user_runtime_cast(request)
+
+            if request and not request.is_acknowledged():
+                raise Exception(&quot;Failed to generate runtimeCast in &quot; + full_type_name)
+
+    # FIXME: This assumes all the domains are processed at once. Change this verification
+    # to only verify runtime casts for the domains being generated.
+    # if verification:
+    #     for full_type_name in runtime_cast_generate_requests:
+    #         raise Exception(&quot;Failed to generate runtimeCast. Type &quot; + full_type_name + &quot; not found&quot;)
+
+    return ForwardListener
+
+
+global_forward_listener = resolve_all_types()
+
+
+def get_annotated_type_text(raw_type, annotated_type):
+    if annotated_type != raw_type:
+        return &quot;/*%s*/ %s&quot; % (annotated_type, raw_type)
+    else:
+        return raw_type
+
+
+def format_setter_value_expression(param_type_binding, value_ref):
+    pattern = param_type_binding.get_setter_value_expression_pattern()
+    if pattern:
+        return pattern % value_ref
+    else:
+        return value_ref
+
+
+class Generator:
+    frontend_domain_class_lines = []
+
+    backend_method_implementation_list = []
+    frontend_method_list = []
+    backend_js_domain_initializer_list = []
+
+    backend_handler_interface_list = []
+    backend_dispatcher_interface_list = []
+    type_builder_fragments = []
+    type_builder_forwards = []
+    validator_impl_list = []
+    type_builder_impl_list = []
+
+
+    @staticmethod
+    def go():
+        Generator.process_types(type_map)
+
+        first_cycle_guardable_list_list = [
+            Generator.backend_method_implementation_list,
+            Generator.backend_handler_interface_list,
+            Generator.backend_dispatcher_interface_list]
+
+        for json_domain in json_api[&quot;domains&quot;]:
+            domain_name = json_domain[&quot;domain&quot;]
+            domain_name_lower = domain_name.lower()
+
+            domain_fixes = DomainNameFixes.get_fixed_data(domain_name)
+
+            domain_guard = domain_fixes.get_guard()
+
+            if domain_guard:
+                for l in first_cycle_guardable_list_list:
+                    domain_guard.generate_open(l)
+
+            frontend_method_declaration_lines = []
+
+            Generator.backend_js_domain_initializer_list.append(&quot;// %s.\n&quot; % domain_name)
+
+            if not domain_fixes.skip_js_bind:
+                Generator.backend_js_domain_initializer_list.append(&quot;InspectorBackend.register%sDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, \&quot;%s\&quot;);\n&quot; % (domain_name, domain_name))
+
+            if &quot;types&quot; in json_domain:
+                for json_type in json_domain[&quot;types&quot;]:
+                    if &quot;type&quot; in json_type and json_type[&quot;type&quot;] == &quot;string&quot; and &quot;enum&quot; in json_type:
+                        enum_name = &quot;%s.%s&quot; % (domain_name, json_type[&quot;id&quot;])
+                        Generator.process_enum(json_type, enum_name)
+                    elif json_type[&quot;type&quot;] == &quot;object&quot;:
+                        if &quot;properties&quot; in json_type:
+                            for json_property in json_type[&quot;properties&quot;]:
+                                if &quot;type&quot; in json_property and json_property[&quot;type&quot;] == &quot;string&quot; and &quot;enum&quot; in json_property:
+                                    enum_name = &quot;%s.%s%s&quot; % (domain_name, json_type[&quot;id&quot;], to_title_case(json_property[&quot;name&quot;]))
+                                    Generator.process_enum(json_property, enum_name)
+
+            if &quot;events&quot; in json_domain:
+                if domain_guard:
+                    domain_guard.generate_open(Generator.frontend_method_list)
+                    domain_guard.generate_open(Generator.frontend_domain_class_lines)
+
+                for json_event in json_domain[&quot;events&quot;]:
+                    Generator.process_event(json_event, domain_name, frontend_method_declaration_lines)
+
+                Generator.frontend_domain_class_lines.append(Templates.frontend_domain_class.substitute(None,
+                    exportMacro=INSPECTOR_TYPES_GENERATOR_CONFIG_MAP[output_type][&quot;export_macro&quot;],
+                    domainClassName=&quot;Inspector%sFrontendDispatcher&quot; % domain_name,
+                    frontendDomainMethodDeclarations=&quot;&quot;.join(flatten_list(frontend_method_declaration_lines))))
+
+                if domain_guard:
+                    domain_guard.generate_close(Generator.frontend_method_list)
+                    domain_guard.generate_close(Generator.frontend_domain_class_lines)
+
+            dispatcher_name = &quot;Inspector&quot; + Capitalizer.lower_camel_case_to_upper(domain_name) + &quot;BackendDispatcher&quot;
+            agent_interface_name = dispatcher_name + &quot;Handler&quot;
+
+            Generator.backend_dispatcher_interface_list.append(&quot;class %s %s FINAL : public Inspector::InspectorSupplementalBackendDispatcher {\n&quot; % (INSPECTOR_TYPES_GENERATOR_CONFIG_MAP[output_type][&quot;export_macro&quot;], dispatcher_name))
+            Generator.backend_dispatcher_interface_list.append(&quot;public:\n&quot;)
+            Generator.backend_dispatcher_interface_list.append(&quot;    static PassRefPtr&lt;%s&gt; create(Inspector::InspectorBackendDispatcher*, %s*);\n&quot; % (dispatcher_name, agent_interface_name))
+            Generator.backend_dispatcher_interface_list.append(&quot;    virtual void dispatch(long callId, const String&amp; method, PassRefPtr&lt;Inspector::InspectorObject&gt; message) OVERRIDE;\n&quot;)
+            Generator.backend_dispatcher_interface_list.append(&quot;private:\n&quot;)
+
+            Generator.backend_handler_interface_list.append(&quot;class %s %s {\n&quot; % (INSPECTOR_TYPES_GENERATOR_CONFIG_MAP[output_type][&quot;export_macro&quot;], agent_interface_name))
+            Generator.backend_handler_interface_list.append(&quot;public:\n&quot;)
+
+            backend_method_count = len(Generator.backend_method_implementation_list)
+
+            dispatcher_if_chain = []
+            dispatcher_commands_list = []
+            if &quot;commands&quot; in json_domain:
+                for json_command in json_domain[&quot;commands&quot;]:
+                    Generator.process_command(json_command, domain_name, agent_interface_name, dispatcher_name, dispatcher_if_chain, dispatcher_commands_list)
+
+            Generator.backend_handler_interface_list.append(&quot;protected:\n&quot;)
+            Generator.backend_handler_interface_list.append(&quot;    virtual ~%s() { }\n&quot; % agent_interface_name)
+            Generator.backend_handler_interface_list.append(&quot;};\n\n&quot;)
+
+            Generator.backend_dispatcher_interface_list.append(&quot;private:\n&quot;)
+            Generator.backend_dispatcher_interface_list.append(&quot;    %s(Inspector::InspectorBackendDispatcher*, %s*);\n&quot; % (dispatcher_name, agent_interface_name))
+            Generator.backend_dispatcher_interface_list.append(&quot;    %s* m_agent;\n&quot; % agent_interface_name)
+            Generator.backend_dispatcher_interface_list.append(&quot;};\n\n&quot;)
+
+            Generator.backend_method_implementation_list.insert(backend_method_count, Templates.backend_dispatcher_constructor.substitute(None,
+                domainName=domain_name,
+                dispatcherName=dispatcher_name,
+                agentName=agent_interface_name))
+
+            if &quot;commands&quot; in json_domain and len(json_domain[&quot;commands&quot;]) &lt;= 5:
+                Generator.backend_method_implementation_list.insert(backend_method_count + 1, Templates.backend_dispatcher_dispatch_method_simple.substitute(None,
+                    domainName=domain_name,
+                    dispatcherName=dispatcher_name,
+                    ifChain=&quot;\n&quot;.join(dispatcher_if_chain)))
+            else:
+                Generator.backend_method_implementation_list.insert(backend_method_count + 1, Templates.backend_dispatcher_dispatch_method.substitute(None,
+                    domainName=domain_name,
+                    dispatcherName=dispatcher_name,
+                    dispatcherCommands=&quot;\n&quot;.join(dispatcher_commands_list)))
+
+            if domain_guard:
+                for l in reversed(first_cycle_guardable_list_list):
+                    domain_guard.generate_close(l)
+            Generator.backend_js_domain_initializer_list.append(&quot;\n&quot;)
+
+    @staticmethod
+    def process_enum(json_enum, enum_name):
+        enum_members = []
+        for member in json_enum[&quot;enum&quot;]:
+            enum_members.append(&quot;%s: \&quot;%s\&quot;&quot; % (fix_camel_case(member), member))
+
+        Generator.backend_js_domain_initializer_list.append(&quot;InspectorBackend.registerEnum(\&quot;%s\&quot;, {%s});\n&quot; % (
+            enum_name, &quot;, &quot;.join(enum_members)))
+
+    @staticmethod
+    def process_event(json_event, domain_name, frontend_method_declaration_lines):
+        event_name = json_event[&quot;name&quot;]
+
+        ad_hoc_type_output = []
+        frontend_method_declaration_lines.append(ad_hoc_type_output)
+        ad_hoc_type_writer = Writer(ad_hoc_type_output, &quot;        &quot;)
+
+        decl_parameter_list = []
+
+        json_parameters = json_event.get(&quot;parameters&quot;)
+        Generator.generate_send_method(json_parameters, event_name, domain_name, ad_hoc_type_writer,
+                                       decl_parameter_list,
+                                       Generator.EventMethodStructTemplate,
+                                       Generator.frontend_method_list, Templates.frontend_method, {&quot;eventName&quot;: event_name})
+
+        backend_js_event_param_list = []
+        if json_parameters:
+            for parameter in json_parameters:
+                parameter_name = parameter[&quot;name&quot;]
+                backend_js_event_param_list.append(&quot;\&quot;%s\&quot;&quot; % parameter_name)
+
+        frontend_method_declaration_lines.append(
+            &quot;    void %s(%s);\n&quot; % (event_name, &quot;, &quot;.join(decl_parameter_list)))
+
+        Generator.backend_js_domain_initializer_list.append(&quot;InspectorBackend.registerEvent(\&quot;%s.%s\&quot;, [%s]);\n&quot; % (
+            domain_name, event_name, &quot;, &quot;.join(backend_js_event_param_list)))
+
+    class EventMethodStructTemplate:
+        @staticmethod
+        def append_prolog(line_list):
+            line_list.append(&quot;    RefPtr&lt;InspectorObject&gt; paramsObject = InspectorObject::create();\n&quot;)
+
+        @staticmethod
+        def append_epilog(line_list):
+            line_list.append(&quot;    jsonMessage-&gt;setObject(ASCIILiteral(\&quot;params\&quot;), paramsObject);\n&quot;)
+
+        container_name = &quot;paramsObject&quot;
+
+    @staticmethod
+    def process_command(json_command, domain_name, agent_interface_name, dispatcher_name, dispatcher_if_chain, dispatcher_commands_list):
+        json_command_name = json_command[&quot;name&quot;]
+
+        ad_hoc_type_output = []
+        Generator.backend_handler_interface_list.append(ad_hoc_type_output)
+        ad_hoc_type_writer = Writer(ad_hoc_type_output, &quot;    &quot;)
+
+        Generator.backend_dispatcher_interface_list.append(&quot;    void %s(long callId, const Inspector::InspectorObject&amp; message);\n&quot; % json_command_name)
+
+        Generator.backend_handler_interface_list.append(&quot;    virtual void %s(ErrorString*&quot; % json_command_name)
+
+        if not dispatcher_if_chain:
+            dispatcher_if_chain.append(&quot;    if (method == \&quot;%s\&quot;)&quot; % json_command_name)
+        else:
+            dispatcher_if_chain.append(&quot;    else if (method == \&quot;%s\&quot;)&quot; % json_command_name)
+        dispatcher_if_chain.append(&quot;        %s(callId, *message.get());&quot; % json_command_name)
+        dispatcher_commands_list.append(&quot;            { \&quot;%s\&quot;,  &amp;%s::%s },&quot; % (json_command_name, dispatcher_name, json_command_name))
+
+        method_in_params_handling = []
+        method_dispatch_handling = []
+        method_out_params_handling = []
+        method_ending_handling = []
+        method_request_message_param_name = &quot;&quot;
+        agent_call_param_list = []
+        js_parameters_text = &quot;&quot;
+        if &quot;parameters&quot; in json_command:
+            json_params = json_command[&quot;parameters&quot;]
+            method_request_message_param_name = &quot; message&quot;
+            method_in_params_handling.append(&quot;    RefPtr&lt;InspectorArray&gt; protocolErrors = InspectorArray::create();\n&quot;)
+            method_in_params_handling.append(&quot;    RefPtr&lt;InspectorObject&gt; paramsContainer = message.getObject(ASCIILiteral(\&quot;params\&quot;));\n&quot;)
+            method_in_params_handling.append(&quot;    InspectorObject* paramsContainerPtr = paramsContainer.get();\n&quot;)
+            method_in_params_handling.append(&quot;    InspectorArray* protocolErrorsPtr = protocolErrors.get();\n&quot;)
+            js_param_list = []
+
+            for json_parameter in json_params:
+                json_param_name = json_parameter[&quot;name&quot;]
+                param_raw_type = resolve_param_raw_type(json_parameter, domain_name)
+
+                getter_name = param_raw_type.get_getter_name()
+
+                optional = json_parameter.get(&quot;optional&quot;)
+
+                non_optional_type_model = param_raw_type.get_raw_type_model()
+                if optional:
+                    type_model = non_optional_type_model.get_optional()
+                else:
+                    type_model = non_optional_type_model
+
+                if optional:
+                    code = (&quot;    bool %s_valueFound = false;\n&quot;
+                            &quot;    %s in_%s = InspectorBackendDispatcher::get%s(paramsContainerPtr, ASCIILiteral(\&quot;%s\&quot;), &amp;%s_valueFound, protocolErrorsPtr);\n&quot; %
+                           (json_param_name, non_optional_type_model.get_command_return_pass_model().get_return_var_type(), json_param_name, getter_name, json_param_name, json_param_name))
+                    param = &quot;, %s_valueFound ? &amp;in_%s : nullptr&quot; % (json_param_name, json_param_name)
+                    # FIXME: pass optional refptr-values as PassRefPtr
+                    formal_param_type_pattern = &quot;const %s*&quot;
+                else:
+                    code = (&quot;    %s in_%s = InspectorBackendDispatcher::get%s(paramsContainerPtr, ASCIILiteral(\&quot;%s\&quot;), nullptr, protocolErrorsPtr);\n&quot; %
+                            (non_optional_type_model.get_command_return_pass_model().get_return_var_type(), json_param_name, getter_name, json_param_name))
+                    param = &quot;, in_%s&quot; % json_param_name
+                    # FIXME: pass not-optional refptr-values as NonNullPassRefPtr
+                    if param_raw_type.is_heavy_value():
+                        formal_param_type_pattern = &quot;const %s&amp;&quot;
+                    else:
+                        formal_param_type_pattern = &quot;%s&quot;
+
+                method_in_params_handling.append(code)
+                agent_call_param_list.append(param)
+                Generator.backend_handler_interface_list.append(&quot;, %s in_%s&quot; % (formal_param_type_pattern % non_optional_type_model.get_command_return_pass_model().get_return_var_type(), json_param_name))
+
+                js_bind_type = param_raw_type.get_js_bind_type()
+                js_param_text = &quot;{\&quot;name\&quot;: \&quot;%s\&quot;, \&quot;type\&quot;: \&quot;%s\&quot;, \&quot;optional\&quot;: %s}&quot; % (
+                    json_param_name,
+                    js_bind_type,
+                    (&quot;true&quot; if (&quot;optional&quot; in json_parameter and json_parameter[&quot;optional&quot;]) else &quot;false&quot;))
+
+                js_param_list.append(js_param_text)
+
+            method_in_params_handling.append(&quot;    if (protocolErrors-&gt;length()) {\n&quot;)
+            method_in_params_handling.append(&quot;        String errorMessage = String::format(\&quot;Some arguments of method '%%s' can't be processed\&quot;, \&quot;%s.%s\&quot;);\n&quot; % (domain_name, json_command_name))
+            method_in_params_handling.append(&quot;        m_backendDispatcher-&gt;reportProtocolError(&amp;callId, InspectorBackendDispatcher::InvalidParams, errorMessage, protocolErrors.release());\n&quot;)
+            method_in_params_handling.append(&quot;        return;\n&quot;)
+            method_in_params_handling.append(&quot;    }\n&quot;)
+            method_in_params_handling.append(&quot;\n&quot;)
+
+            js_parameters_text = &quot;, &quot;.join(js_param_list)
+
+        method_dispatch_handling.append(&quot;    ErrorString error;\n&quot;)
+        method_dispatch_handling.append(&quot;    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();\n&quot;)
+
+        if json_command.get(&quot;async&quot;) == True:
+            callback_name = Capitalizer.lower_camel_case_to_upper(json_command_name) + &quot;Callback&quot;
+
+            callback_output = []
+            callback_writer = Writer(callback_output, ad_hoc_type_writer.get_indent())
+
+            decl_parameter_list = []
+            Generator.generate_send_method(json_command.get(&quot;returns&quot;), json_command_name, domain_name, ad_hoc_type_writer,
+                                           decl_parameter_list,
+                                           Generator.CallbackMethodStructTemplate,
+                                           Generator.backend_method_implementation_list, Templates.callback_method,
+                                           {&quot;callbackName&quot;: callback_name, &quot;handlerName&quot;: agent_interface_name})
+
+            callback_writer.newline(&quot;class &quot; + callback_name + &quot; : public Inspector::InspectorBackendDispatcher::CallbackBase {\n&quot;)
+            callback_writer.newline(&quot;public:\n&quot;)
+            callback_writer.newline(&quot;    &quot; + callback_name + &quot;(PassRefPtr&lt;Inspector::InspectorBackendDispatcher&gt;, int id);\n&quot;)
+            callback_writer.newline(&quot;    void sendSuccess(&quot; + &quot;, &quot;.join(decl_parameter_list) + &quot;);\n&quot;)
+            callback_writer.newline(&quot;};\n&quot;)
+
+            ad_hoc_type_output.append(callback_output)
+
+            method_dispatch_handling.append(&quot;    RefPtr&lt;%s::%s&gt; callback = adoptRef(new %s::%s(m_backendDispatcher,callId));\n&quot; % (agent_interface_name, callback_name, agent_interface_name, callback_name))
+            method_ending_handling.append(&quot;    if (error.length()) {\n&quot;)
+            method_ending_handling.append(&quot;        callback-&gt;disable();\n&quot;)
+            method_ending_handling.append(&quot;        m_backendDispatcher-&gt;reportProtocolError(&amp;callId, Inspector::InspectorBackendDispatcher::ServerError, error);\n&quot;)
+            method_ending_handling.append(&quot;        return;\n&quot;)
+            method_ending_handling.append(&quot;    }&quot;)
+
+            agent_call_param_list.append(&quot;, callback&quot;)
+            Generator.backend_handler_interface_list.append(&quot;, PassRefPtr&lt;%s&gt; callback&quot; % callback_name)
+        elif &quot;returns&quot; in json_command:
+            has_multiple_returns = len(json_command[&quot;returns&quot;]) &gt; 1
+            if has_multiple_returns:
+                method_out_params_handling.append(&quot;    if (!error.length()) {\n&quot;)
+            else:
+                method_out_params_handling.append(&quot;    if (!error.length())\n&quot;)
+
+            for json_return in json_command[&quot;returns&quot;]:
+
+                json_return_name = json_return[&quot;name&quot;]
+
+                optional = bool(json_return.get(&quot;optional&quot;))
+
+                return_type_binding = Generator.resolve_type_and_generate_ad_hoc(json_return, json_command_name, domain_name, ad_hoc_type_writer, agent_interface_name + &quot;::&quot;)
+
+                raw_type = return_type_binding.reduce_to_raw_type()
+                setter_type = raw_type.get_setter_name()
+                initializer = raw_type.get_c_initializer()
+
+                type_model = return_type_binding.get_type_model()
+                if optional:
+                    type_model = type_model.get_optional()
+
+                code = &quot;    %s out_%s;\n&quot; % (type_model.get_command_return_pass_model().get_return_var_type(), json_return_name)
+                param = &quot;, %sout_%s&quot; % (type_model.get_command_return_pass_model().get_output_argument_prefix(), json_return_name)
+                var_name = &quot;out_%s&quot; % json_return_name
+                setter_argument = type_model.get_command_return_pass_model().get_output_to_raw_expression() % var_name
+                if return_type_binding.get_setter_value_expression_pattern():
+                    setter_argument = return_type_binding.get_setter_value_expression_pattern() % setter_argument
+
+                cook = &quot;        result-&gt;set%s(ASCIILiteral(\&quot;%s\&quot;), %s);\n&quot; % (setter_type, json_return_name, setter_argument)
+
+                set_condition_pattern = type_model.get_command_return_pass_model().get_set_return_condition()
+                if set_condition_pattern:
+                    cook = (&quot;        if (%s)\n    &quot; % (set_condition_pattern % var_name)) + cook
+                annotated_type = type_model.get_command_return_pass_model().get_output_parameter_type()
+
+                param_name = &quot;out_%s&quot; % json_return_name
+                if optional:
+                    param_name = &quot;opt_&quot; + param_name
+
+                Generator.backend_handler_interface_list.append(&quot;, %s %s&quot; % (annotated_type, param_name))
+                method_out_params_handling.append(cook)
+                method_dispatch_handling.append(code)
+
+                agent_call_param_list.append(param)
+
+            if has_multiple_returns:
+                method_out_params_handling.append(&quot;    }\n&quot;)
+            method_out_params_handling.append(&quot;\n&quot;)
+
+        method_dispatch_handling.append(&quot;    m_agent-&gt;%s(&amp;error%s);\n&quot; % (json_command_name, &quot;&quot;.join(agent_call_param_list)))
+        method_dispatch_handling.append(&quot;\n&quot;)
+
+        if not method_ending_handling:
+            method_ending_handling.append(&quot;    m_backendDispatcher-&gt;sendResponse(callId, result.release(), error);&quot;)
+
+        backend_js_reply_param_list = []
+        if &quot;returns&quot; in json_command:
+            for json_return in json_command[&quot;returns&quot;]:
+                json_return_name = json_return[&quot;name&quot;]
+                backend_js_reply_param_list.append(&quot;\&quot;%s\&quot;&quot; % json_return_name)
+
+        js_reply_list = &quot;[%s]&quot; % &quot;, &quot;.join(backend_js_reply_param_list)
+
+        Generator.backend_method_implementation_list.append(Templates.backend_method.substitute(None,
+            dispatcherName=dispatcher_name,
+            methodName=json_command_name,
+            requestMessageObject=method_request_message_param_name,
+            methodInParametersHandling=&quot;&quot;.join(method_in_params_handling),
+            methodDispatchHandling=&quot;&quot;.join(method_dispatch_handling),
+            methodOutParametersHandling=&quot;&quot;.join(method_out_params_handling),
+            methodEndingHandling=&quot;&quot;.join(method_ending_handling)))
+
+        Generator.backend_js_domain_initializer_list.append(&quot;InspectorBackend.registerCommand(\&quot;%s.%s\&quot;, [%s], %s);\n&quot; % (domain_name, json_command_name, js_parameters_text, js_reply_list))
+        Generator.backend_handler_interface_list.append(&quot;) = 0;\n&quot;)
+
+    class CallbackMethodStructTemplate:
+        @staticmethod
+        def append_prolog(line_list):
+            pass
+
+        @staticmethod
+        def append_epilog(line_list):
+            pass
+
+        container_name = &quot;jsonMessage&quot;
+
+    # Generates common code for event sending and callback response data sending.
+    @staticmethod
+    def generate_send_method(parameters, event_name, domain_name, ad_hoc_type_writer, decl_parameter_list,
+                             method_struct_template,
+                             generator_method_list, method_template, template_params):
+        method_line_list = []
+        if parameters:
+            method_struct_template.append_prolog(method_line_list)
+            for json_parameter in parameters:
+                parameter_name = json_parameter[&quot;name&quot;]
+
+                param_type_binding = Generator.resolve_type_and_generate_ad_hoc(json_parameter, event_name, domain_name, ad_hoc_type_writer, &quot;&quot;)
+
+                raw_type = param_type_binding.reduce_to_raw_type()
+                raw_type_binding = RawTypeBinding(raw_type)
+
+                optional = bool(json_parameter.get(&quot;optional&quot;))
+
+                setter_type = raw_type.get_setter_name()
+
+                type_model = param_type_binding.get_type_model()
+                raw_type_model = raw_type_binding.get_type_model()
+                if optional:
+                    type_model = type_model.get_optional()
+                    raw_type_model = raw_type_model.get_optional()
+
+                annotated_type = type_model.get_input_param_type_text()
+                mode_type_binding = param_type_binding
+
+                decl_parameter_list.append(&quot;%s %s&quot; % (annotated_type, parameter_name))
+
+                setter_argument = raw_type_model.get_event_setter_expression_pattern() % parameter_name
+                if mode_type_binding.get_setter_value_expression_pattern():
+                    setter_argument = mode_type_binding.get_setter_value_expression_pattern() % setter_argument
+
+                setter_code = &quot;    %s-&gt;set%s(ASCIILiteral(\&quot;%s\&quot;), %s);\n&quot; % (method_struct_template.container_name, setter_type, parameter_name, setter_argument)
+                if optional:
+                    setter_code = (&quot;    if (%s)\n    &quot; % parameter_name) + setter_code
+                method_line_list.append(setter_code)
+
+            method_struct_template.append_epilog(method_line_list)
+
+        generator_method_list.append(method_template.substitute(None,
+            domainName=domain_name,
+            parameters=&quot;, &quot;.join(decl_parameter_list),
+            code=&quot;&quot;.join(method_line_list), **template_params))
+
+    @staticmethod
+    def resolve_type_and_generate_ad_hoc(json_param, method_name, domain_name, ad_hoc_type_writer, container_relative_name_prefix_param):
+        param_name = json_param[&quot;name&quot;]
+        ad_hoc_type_list = []
+
+        class AdHocTypeContext:
+            container_full_name_prefix = &quot;&lt;not yet defined&gt;&quot;
+            container_relative_name_prefix = container_relative_name_prefix_param
+
+            @staticmethod
+            def get_type_name_fix():
+                class NameFix:
+                    class_name = Capitalizer.lower_camel_case_to_upper(param_name)
+
+                    @staticmethod
+                    def output_comment(writer):
+                        writer.newline(&quot;// Named after parameter '%s' while generating command/event %s.\n&quot; % (param_name, method_name))
+
+                return NameFix
+
+            @staticmethod
+            def add_type(binding):
+                ad_hoc_type_list.append(binding)
+
+        type_binding = resolve_param_type(json_param, domain_name, AdHocTypeContext)
+
+        class InterfaceForwardListener:
+            @staticmethod
+            def add_type_data(type_data):
+                pass
+
+        class InterfaceResolveContext:
+            forward_listener = InterfaceForwardListener
+
+        for type in ad_hoc_type_list:
+            type.resolve_inner(InterfaceResolveContext)
+
+        class InterfaceGenerateContext:
+            validator_writer = &quot;not supported in InterfaceGenerateContext&quot;
+            cpp_writer = validator_writer
+
+        for type in ad_hoc_type_list:
+            generator = type.get_code_generator()
+            if generator:
+                generator.generate_type_builder(ad_hoc_type_writer, InterfaceGenerateContext)
+
+        return type_binding
+
+    @staticmethod
+    def process_types(type_map):
+        output = Generator.type_builder_fragments
+
+        class GenerateContext:
+            validator_writer = Writer(Generator.validator_impl_list, &quot;&quot;)
+            cpp_writer = Writer(Generator.type_builder_impl_list, &quot;&quot;)
+
+        def generate_all_domains_code(out, type_data_callback):
+            writer = Writer(out, &quot;&quot;)
+            for domain_data in type_map.domains_to_generate():
+                domain_fixes = DomainNameFixes.get_fixed_data(domain_data.name())
+                domain_guard = domain_fixes.get_guard()
+
+                namespace_declared = []
+
+                def namespace_lazy_generator():
+                    if not namespace_declared:
+                        if domain_guard:
+                            domain_guard.generate_open(out)
+                        writer.newline(&quot;namespace &quot;)
+                        writer.append(domain_data.name())
+                        writer.append(&quot; {\n&quot;)
+                        # What is a better way to change value from outer scope?
+                        namespace_declared.append(True)
+                    return writer
+
+                for type_data in domain_data.types():
+                    type_data_callback(type_data, namespace_lazy_generator)
+
+                if namespace_declared:
+                    writer.append(&quot;} // &quot;)
+                    writer.append(domain_data.name())
+                    writer.append(&quot;\n\n&quot;)
+
+                    if domain_guard:
+                        domain_guard.generate_close(out)
+
+        def create_type_builder_caller(generate_pass_id):
+            def call_type_builder(type_data, writer_getter):
+                code_generator = type_data.get_binding().get_code_generator()
+                if code_generator and generate_pass_id == code_generator.get_generate_pass_id():
+                    writer = writer_getter()
+
+                    code_generator.generate_type_builder(writer, GenerateContext)
+            return call_type_builder
+
+        generate_all_domains_code(output, create_type_builder_caller(TypeBuilderPass.MAIN))
+
+        Generator.type_builder_forwards.append(&quot;// Forward declarations.\n&quot;)
+
+        def generate_forward_callback(type_data, writer_getter):
+            if type_data in global_forward_listener.type_data_set:
+                binding = type_data.get_binding()
+                binding.get_code_generator().generate_forward_declaration(writer_getter())
+        generate_all_domains_code(Generator.type_builder_forwards, generate_forward_callback)
+
+        Generator.type_builder_forwards.append(&quot;// End of forward declarations.\n\n&quot;)
+
+        Generator.type_builder_forwards.append(&quot;// Typedefs.\n&quot;)
+
+        generate_all_domains_code(Generator.type_builder_forwards, create_type_builder_caller(TypeBuilderPass.TYPEDEF))
+
+        Generator.type_builder_forwards.append(&quot;// End of typedefs.\n\n&quot;)
+
+
+def flatten_list(input):
+    res = []
+
+    def fill_recursive(l):
+        for item in l:
+            if isinstance(item, list):
+                fill_recursive(item)
+            else:
+                res.append(item)
+    fill_recursive(input)
+    return res
+
+
+# A writer that only updates file if it actually changed to better support incremental build.
+class SmartOutput:
+    def __init__(self, file_name):
+        self.file_name_ = file_name
+        self.output_ = &quot;&quot;
+
+    def write(self, text):
+        self.output_ += text
+
+    def close(self):
+        text_changed = True
+        self.output_ = self.output_.rstrip() + &quot;\n&quot;
+
+        try:
+            read_file = open(self.file_name_, &quot;r&quot;)
+            old_text = read_file.read()
+            read_file.close()
+            text_changed = old_text != self.output_
+        except:
+            # Ignore, just overwrite by default
+            pass
+
+        if text_changed or write_always:
+            out_file = open(self.file_name_, &quot;w&quot;)
+            out_file.write(self.output_)
+            out_file.close()
+
+
+Generator.go()
+
+output_file_name_prefix = INSPECTOR_TYPES_GENERATOR_CONFIG_MAP[output_type][&quot;prefix&quot;]
+
+backend_h_file = SmartOutput(output_header_dirname + (&quot;/Inspector%sBackendDispatchers.h&quot; % output_file_name_prefix))
+backend_cpp_file = SmartOutput(output_cpp_dirname + (&quot;/Inspector%sBackendDispatchers.cpp&quot; % output_file_name_prefix))
+
+frontend_h_file = SmartOutput(output_header_dirname + (&quot;/Inspector%sFrontendDispatchers.h&quot; % output_file_name_prefix))
+frontend_cpp_file = SmartOutput(output_cpp_dirname + (&quot;/Inspector%sFrontendDispatchers.cpp&quot; % output_file_name_prefix))
+
+typebuilder_h_file = SmartOutput(output_header_dirname + (&quot;/Inspector%sTypeBuilders.h&quot; % output_file_name_prefix))
+typebuilder_cpp_file = SmartOutput(output_cpp_dirname + (&quot;/Inspector%sTypeBuilders.cpp&quot; % output_file_name_prefix))
+
+backend_js_file = SmartOutput(output_js_dirname + (&quot;/Inspector%sBackendCommands.js&quot; % output_file_name_prefix))
+
+
+backend_h_file.write(Templates.backend_h.substitute(None,
+    outputFileNamePrefix=output_file_name_prefix,
+    handlerInterfaces=&quot;&quot;.join(flatten_list(Generator.backend_handler_interface_list)),
+    dispatcherInterfaces=&quot;&quot;.join(flatten_list(Generator.backend_dispatcher_interface_list))))
+
+backend_cpp_file.write(Templates.backend_cpp.substitute(None,
+    outputFileNamePrefix=output_file_name_prefix,
+    methods=&quot;\n&quot;.join(Generator.backend_method_implementation_list)))
+
+frontend_h_file.write(Templates.frontend_h.substitute(None,
+    outputFileNamePrefix=output_file_name_prefix,
+    domainClassList=&quot;&quot;.join(Generator.frontend_domain_class_lines)))
+
+frontend_cpp_file.write(Templates.frontend_cpp.substitute(None,
+    outputFileNamePrefix=output_file_name_prefix,
+    methods=&quot;\n&quot;.join(Generator.frontend_method_list)))
+
+typebuilder_h_file.write(Templates.typebuilder_h.substitute(None,
+    outputFileNamePrefix=output_file_name_prefix,
+    typeBuilderDependencies=INSPECTOR_TYPES_GENERATOR_CONFIG_MAP[output_type][&quot;typebuilder_dependency&quot;],
+    typeBuilders=&quot;&quot;.join(flatten_list(Generator.type_builder_fragments)),
+    forwards=&quot;&quot;.join(Generator.type_builder_forwards),
+    validatorIfdefName=VALIDATOR_IFDEF_NAME))
+
+typebuilder_cpp_file.write(Templates.typebuilder_cpp.substitute(None,
+    outputFileNamePrefix=output_file_name_prefix,
+    enumConstantValues=EnumConstants.get_enum_constant_code(),
+    implCode=&quot;&quot;.join(flatten_list(Generator.type_builder_impl_list)),
+    validatorCode=&quot;&quot;.join(flatten_list(Generator.validator_impl_list)),
+    validatorIfdefName=VALIDATOR_IFDEF_NAME))
+
+backend_js_file.write(Templates.backend_js.substitute(None,
+    domainInitializers=&quot;&quot;.join(Generator.backend_js_domain_initializer_list)))
+
+backend_h_file.close()
+backend_cpp_file.close()
+
+frontend_h_file.close()
+frontend_cpp_file.close()
+
+typebuilder_h_file.close()
+typebuilder_cpp_file.close()
+
+backend_js_file.close()
</ins></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorscriptsCodeGeneratorInspectorStringspyfromrev160556trunkSourceWebCoreinspectorCodeGeneratorInspectorStringspy"></a>
<div class="copfile"><h4>Copied: trunk/Source/JavaScriptCore/inspector/scripts/CodeGeneratorInspectorStrings.py (from rev 160556, trunk/Source/WebCore/inspector/CodeGeneratorInspectorStrings.py) (0 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/CodeGeneratorInspectorStrings.py                                (rev 0)
+++ trunk/Source/JavaScriptCore/inspector/scripts/CodeGeneratorInspectorStrings.py        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -0,0 +1,340 @@
</span><ins>+# Copyright (c) 2013 Google Inc. All rights reserved.
+# Copyright (c) 2013 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:
+#
+#     * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#     * 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.
+#     * Neither the name of Google Inc. 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 THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT
+# OWNER 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.
+
+# This file contains string resources for CodeGeneratorInspector.
+# Its syntax is a Python syntax subset, suitable for manual parsing.
+
+frontend_domain_class = (
+&quot;&quot;&quot;class ${exportMacro} ${domainClassName} {
+public:
+    ${domainClassName}(InspectorFrontendChannel* inspectorFrontendChannel) : m_inspectorFrontendChannel(inspectorFrontendChannel) { }
+${frontendDomainMethodDeclarations}private:
+    InspectorFrontendChannel* m_inspectorFrontendChannel;
+};
+
+&quot;&quot;&quot;)
+
+backend_dispatcher_constructor = (
+&quot;&quot;&quot;PassRefPtr&lt;${dispatcherName}&gt; ${dispatcherName}::create(InspectorBackendDispatcher* backendDispatcher, ${agentName}* agent)
+{
+    return adoptRef(new ${dispatcherName}(backendDispatcher, agent));
+}
+
+${dispatcherName}::${dispatcherName}(InspectorBackendDispatcher* backendDispatcher, ${agentName}* agent)
+    : InspectorSupplementalBackendDispatcher(backendDispatcher)
+    , m_agent(agent)
+{
+    m_backendDispatcher-&gt;registerDispatcherForDomain(ASCIILiteral(&quot;${domainName}&quot;), this);
+}
+&quot;&quot;&quot;)
+
+backend_dispatcher_dispatch_method_simple = (
+&quot;&quot;&quot;void ${dispatcherName}::dispatch(long callId, const String&amp; method, PassRefPtr&lt;InspectorObject&gt; message)
+{
+    Ref&lt;${dispatcherName}&gt; protect(*this);
+
+${ifChain}
+    else
+        m_backendDispatcher-&gt;reportProtocolError(&amp;callId, InspectorBackendDispatcher::MethodNotFound, String(&quot;'&quot;) + &quot;${domainName}&quot; + '.' + method + &quot;' was not found&quot;);
+}
+&quot;&quot;&quot;)
+
+backend_dispatcher_dispatch_method = (
+&quot;&quot;&quot;void ${dispatcherName}::dispatch(long callId, const String&amp; method, PassRefPtr&lt;InspectorObject&gt; message)
+{
+    Ref&lt;${dispatcherName}&gt; protect(*this);
+
+    typedef void (${dispatcherName}::*CallHandler)(long callId, const Inspector::InspectorObject&amp; message);
+    typedef HashMap&lt;String, CallHandler&gt; DispatchMap;
+    DEFINE_STATIC_LOCAL(DispatchMap, dispatchMap, ());
+    if (dispatchMap.isEmpty()) {
+        static const struct MethodTable {
+            const char* name;
+            CallHandler handler;
+        } commands[] = {
+${dispatcherCommands}
+        };
+        size_t length = WTF_ARRAY_LENGTH(commands);
+        for (size_t i = 0; i &lt; length; ++i)
+            dispatchMap.add(commands[i].name, commands[i].handler);
+    }
+
+    HashMap&lt;String, CallHandler&gt;::iterator it = dispatchMap.find(method);
+    if (it == dispatchMap.end()) {
+        m_backendDispatcher-&gt;reportProtocolError(&amp;callId, InspectorBackendDispatcher::MethodNotFound, String(&quot;'&quot;) + &quot;${domainName}&quot; + '.' + method + &quot;' was not found&quot;);
+        return;
+    }
+
+    ((*this).*it-&gt;value)(callId, *message.get());
+}
+&quot;&quot;&quot;)
+
+backend_method = (
+&quot;&quot;&quot;void ${dispatcherName}::${methodName}(long callId, const InspectorObject&amp;${requestMessageObject})
+{
+${methodInParametersHandling}${methodDispatchHandling}${methodOutParametersHandling}${methodEndingHandling}
+}
+&quot;&quot;&quot;)
+
+frontend_method = (&quot;&quot;&quot;void Inspector${domainName}FrontendDispatcher::$eventName(${parameters})
+{
+    RefPtr&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
+    jsonMessage-&gt;setString(ASCIILiteral(&quot;method&quot;), ASCIILiteral(&quot;${domainName}.${eventName}&quot;));
+$code
+    m_inspectorFrontendChannel-&gt;sendMessageToFrontend(jsonMessage-&gt;toJSONString());
+}
+&quot;&quot;&quot;)
+
+callback_method = (
+&quot;&quot;&quot;${handlerName}::${callbackName}::${callbackName}(PassRefPtr&lt;InspectorBackendDispatcher&gt; backendDispatcher, int id) : Inspector::InspectorBackendDispatcher::CallbackBase(backendDispatcher, id) { }
+
+void ${handlerName}::${callbackName}::sendSuccess(${parameters})
+{
+    RefPtr&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
+${code}    sendIfActive(jsonMessage, ErrorString());
+}
+&quot;&quot;&quot;)
+
+frontend_h = (
+&quot;&quot;&quot;#ifndef Inspector${outputFileNamePrefix}FrontendDispatchers_h
+#define Inspector${outputFileNamePrefix}FrontendDispatchers_h
+
+#include &quot;Inspector${outputFileNamePrefix}TypeBuilders.h&quot;
+#include &lt;inspector/InspectorFrontendChannel.h&gt;
+#include &lt;inspector/InspectorValues.h&gt;
+#include &lt;wtf/PassRefPtr.h&gt;
+#include &lt;wtf/text/WTFString.h&gt;
+
+namespace Inspector {
+
+#if ENABLE(INSPECTOR)
+
+$domainClassList
+
+#endif // ENABLE(INSPECTOR)
+
+} // namespace Inspector
+
+#endif // !defined(Inspector${outputFileNamePrefix}FrontendDispatchers_h)
+&quot;&quot;&quot;)
+
+backend_h = (
+&quot;&quot;&quot;#ifndef Inspector${outputFileNamePrefix}BackendDispatchers_h
+#define Inspector${outputFileNamePrefix}BackendDispatchers_h
+
+#include &quot;Inspector${outputFileNamePrefix}TypeBuilders.h&quot;
+#include &lt;inspector/InspectorBackendDispatcher.h&gt;
+#include &lt;wtf/PassRefPtr.h&gt;
+#include &lt;wtf/text/WTFString.h&gt;
+
+namespace Inspector {
+
+typedef String ErrorString;
+
+$handlerInterfaces
+
+$dispatcherInterfaces
+} // namespace Inspector
+
+#endif // !defined(Inspector${outputFileNamePrefix}BackendDispatchers_h)
+&quot;&quot;&quot;)
+
+backend_cpp = (
+&quot;&quot;&quot;
+#include &quot;config.h&quot;
+#include &quot;Inspector${outputFileNamePrefix}BackendDispatchers.h&quot;
+
+#if ENABLE(INSPECTOR)
+
+#include &lt;inspector/InspectorFrontendChannel.h&gt;
+#include &lt;inspector/InspectorValues.h&gt;
+#include &lt;wtf/text/CString.h&gt;
+#include &lt;wtf/text/WTFString.h&gt;
+
+namespace Inspector {
+
+$methods
+} // namespace Inspector
+
+#endif // ENABLE(INSPECTOR)
+&quot;&quot;&quot;)
+
+frontend_cpp = (
+&quot;&quot;&quot;
+
+#include &quot;config.h&quot;
+#include &quot;Inspector${outputFileNamePrefix}FrontendDispatchers.h&quot;
+
+#if ENABLE(INSPECTOR)
+
+#include &lt;wtf/text/CString.h&gt;
+#include &lt;wtf/text/WTFString.h&gt;
+
+namespace Inspector {
+
+$methods
+
+} // namespace Inspector
+
+#endif // ENABLE(INSPECTOR)
+&quot;&quot;&quot;)
+
+typebuilder_h = (
+&quot;&quot;&quot;
+#ifndef Inspector${outputFileNamePrefix}TypeBuilders_h
+#define Inspector${outputFileNamePrefix}TypeBuilders_h
+
+#if ENABLE(INSPECTOR)
+
+#include &lt;inspector/InspectorTypeBuilder.h&gt;
+${typeBuilderDependencies}
+#include &lt;wtf/Assertions.h&gt;
+#include &lt;wtf/PassRefPtr.h&gt;
+
+namespace Inspector {
+
+namespace TypeBuilder {
+
+${forwards}
+
+String getEnumConstantValue(int code);
+
+${typeBuilders}
+} // namespace TypeBuilder
+
+} // namespace Inspector
+
+#endif // ENABLE(INSPECTOR)
+
+#endif // !defined(Inspector${outputFileNamePrefix}TypeBuilders_h)
+
+&quot;&quot;&quot;)
+
+typebuilder_cpp = (
+&quot;&quot;&quot;
+
+#include &quot;config.h&quot;
+#include &quot;Inspector${outputFileNamePrefix}TypeBuilders.h&quot;
+
+#if ENABLE(INSPECTOR)
+
+#include &lt;wtf/text/CString.h&gt;
+
+namespace Inspector {
+
+namespace TypeBuilder {
+
+const char* const enum_constant_values[] = {
+$enumConstantValues};
+
+String getEnumConstantValue(int code) {
+    return enum_constant_values[code];
+}
+
+} // namespace TypeBuilder
+
+$implCode
+
+#if $validatorIfdefName
+
+$validatorCode
+
+#endif // $validatorIfdefName
+
+} // namespace Inspector
+
+#endif // ENABLE(INSPECTOR)
+&quot;&quot;&quot;)
+
+backend_js = (
+&quot;&quot;&quot;
+
+$domainInitializers
+&quot;&quot;&quot;)
+
+param_container_access_code = &quot;&quot;&quot;
+    RefPtr&lt;InspectorObject&gt; paramsContainer = message.getObject(&quot;params&quot;);
+    InspectorObject* paramsContainerPtr = paramsContainer.get();
+    InspectorArray* protocolErrorsPtr = protocolErrors.get();
+&quot;&quot;&quot;
+
+class_binding_builder_part_1 = (
+&quot;&quot;&quot;        AllFieldsSet = %s
+    };
+
+    template&lt;int STATE&gt;
+    class Builder {
+    private:
+        RefPtr&lt;Inspector::InspectorObject&gt; m_result;
+
+        template&lt;int STEP&gt; Builder&lt;STATE | STEP&gt;&amp; castState()
+        {
+            return *reinterpret_cast&lt;Builder&lt;STATE | STEP&gt;*&gt;(this);
+        }
+
+        Builder(PassRefPtr&lt;/*%s*/Inspector::InspectorObject&gt; ptr)
+        {
+            COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
+            m_result = ptr;
+        }
+        friend class %s;
+    public:
+&quot;&quot;&quot;)
+
+class_binding_builder_part_2 = (&quot;&quot;&quot;
+        Builder&lt;STATE | %s&gt;&amp; set%s(%s value)
+        {
+            COMPILE_ASSERT(!(STATE &amp; %s), property_%s_already_set);
+            m_result-&gt;set%s(&quot;%s&quot;, %s);
+            return castState&lt;%s&gt;();
+        }
+&quot;&quot;&quot;)
+
+class_binding_builder_part_3 = (&quot;&quot;&quot;
+        operator RefPtr&lt;%s&gt;&amp; ()
+        {
+            COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready);
+            COMPILE_ASSERT(sizeof(%s) == sizeof(Inspector::InspectorObject), cannot_cast);
+            return *reinterpret_cast&lt;RefPtr&lt;%s&gt;*&gt;(&amp;m_result);
+        }
+
+        PassRefPtr&lt;%s&gt; release()
+        {
+            return RefPtr&lt;%s&gt;(*this).release();
+        }
+    };
+
+&quot;&quot;&quot;)
+
+class_binding_builder_part_4 = (
+&quot;&quot;&quot;    static Builder&lt;NoFieldsSet&gt; create()
+    {
+        return Builder&lt;NoFieldsSet&gt;(Inspector::InspectorObject::create());
+    }
+&quot;&quot;&quot;)
</ins></span></pre></div>
<a id="trunkSourceJavaScriptCoreinspectorscriptsgeneratecombinedinspectorjsonpyfromrev160556trunkSourceWebCoreinspectorScriptsgeneratecombinedinspectorjsonpy"></a>
<div class="copfile"><h4>Copied: trunk/Source/JavaScriptCore/inspector/scripts/generate-combined-inspector-json.py (from rev 160556, trunk/Source/WebCore/inspector/Scripts/generate-combined-inspector-json.py) (0 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/inspector/scripts/generate-combined-inspector-json.py                                (rev 0)
+++ trunk/Source/JavaScriptCore/inspector/scripts/generate-combined-inspector-json.py        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -0,0 +1,68 @@
</span><ins>+#!/usr/bin/python
+
+# Copyright (C) 2013 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. AND ITS CONTRIBUTORS ``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 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.
+
+import glob
+import json
+import os
+import sys
+
+if len(sys.argv) &lt; 2:
+    print &quot;usage: %s [json files or directory of json files ...]&quot; % os.path.basename(sys.argv[0])
+    sys.exit(1)
+
+files = []
+for arg in sys.argv[1:]:
+    if not os.access(arg, os.F_OK):
+        raise Exception(&quot;File \&quot;%s\&quot; not found&quot; % arg)
+    elif os.path.isdir(arg):
+        files.extend(glob.glob(os.path.join(arg, &quot;*.json&quot;)))
+    else:
+        files.append(arg)
+files.sort()
+
+# To keep as close to the original JSON formatting as possible, just
+# dump each JSON input file unmodified into an array of &quot;domains&quot;.
+# Validate each file is valid JSON and that there is a &quot;domain&quot; key.
+
+first = True
+print &quot;{\&quot;domains\&quot;:[&quot;
+for file in files:
+    if first:
+        first = False
+    else:
+        print &quot;,&quot;
+
+    string = open(file).read()
+
+    try:
+        dictionary = json.loads(string)
+        if not &quot;domain&quot; in dictionary:
+            raise Exception(&quot;File \&quot;%s\&quot; does not contains a \&quot;domain\&quot; key.&quot; % file)
+    except ValueError:
+        sys.stderr.write(&quot;File \&quot;%s\&quot; does not contain valid JSON:\n&quot; % file)
+        raise
+
+    print string.rstrip()
+print &quot;]}&quot;
</ins></span></pre></div>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/CMakeLists.txt        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -112,6 +112,7 @@
</span><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/runtime&quot;
</span><span class="cx">     &quot;${JAVASCRIPTCORE_DIR}/yarr&quot;
</span><span class="cx">     &quot;${WTF_DIR}&quot;
</span><ins>+    &quot;${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}&quot;
</ins><span class="cx">     &quot;${DERIVED_SOURCES_WEBCORE_DIR}&quot;
</span><span class="cx">     &quot;${CMAKE_SOURCE_DIR}/Source&quot;
</span><span class="cx">     &quot;${CMAKE_BINARY_DIR}&quot;
</span><span class="lines">@@ -750,6 +751,8 @@
</span><span class="cx">     ${WebCore_SVG_IDL_FILES}
</span><span class="cx"> )
</span><span class="cx"> 
</span><ins>+set(WebCore_INSPECTOR_SCRIPTS_DIR &quot;${JAVASCRIPTCORE_DIR}/inspector/scripts&quot;)
+
</ins><span class="cx"> set(WebCore_INSPECTOR_DOMAINS
</span><span class="cx">     inspector/protocol/ApplicationCache.json
</span><span class="cx">     inspector/protocol/CSS.json
</span><span class="lines">@@ -770,7 +773,6 @@
</span><span class="cx">     inspector/protocol/Network.json
</span><span class="cx">     inspector/protocol/Page.json
</span><span class="cx">     inspector/protocol/Profiler.json
</span><del>-    inspector/protocol/Runtime.json
</del><span class="cx">     inspector/protocol/Timeline.json
</span><span class="cx">     inspector/protocol/Worker.json
</span><span class="cx"> )
</span><span class="lines">@@ -3038,24 +3040,29 @@
</span><span class="cx">     VERBATIM)
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-# Generate Inspector.json
</del><ins>+# Generate InspectorWeb.json
</ins><span class="cx"> add_custom_command(
</span><del>-    OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/Inspector.json
-    MAIN_DEPENDENCY ${WEBCORE_DIR}/inspector/Scripts/generate-combined-inspector-json.py
</del><ins>+    OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorWeb.json
+    MAIN_DEPENDENCY ${WebCore_INSPECTOR_SCRIPTS_DIR}/generate-combined-inspector-json.py
</ins><span class="cx">     DEPENDS ${WebCore_INSPECTOR_DOMAINS}
</span><del>-    COMMAND ${PYTHON_EXECUTABLE} ${WEBCORE_DIR}/inspector/Scripts/generate-combined-inspector-json.py ${WEBCORE_DIR}/inspector/protocol &gt; ${DERIVED_SOURCES_WEBCORE_DIR}/Inspector.json
</del><ins>+    COMMAND ${PYTHON_EXECUTABLE} ${WebCore_INSPECTOR_SCRIPTS_DIR}/generate-combined-inspector-json.py ${WEBCORE_DIR}/inspector/protocol &gt; ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorWeb.json
</ins><span class="cx">     VERBATIM)
</span><span class="cx"> 
</span><span class="cx"> # All Web Inspector generated files are created with this one call to CodeGeneratorInspector.pm
</span><span class="cx"> add_custom_command(
</span><del>-    OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorBackendDispatchers.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorBackendDispatchers.h ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorFrontend.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorFrontend.h ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorWebTypeBuilders.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorWebTypeBuilders.h
-    MAIN_DEPENDENCY ${DERIVED_SOURCES_WEBCORE_DIR}/Inspector.json
-    DEPENDS ${WEBCORE_DIR}/inspector/CodeGeneratorInspector.py ${WEBCORE_DIR}/inspector/CodeGeneratorInspectorStrings.py
-    COMMAND ${PYTHON_EXECUTABLE} ${WEBCORE_DIR}/inspector/CodeGeneratorInspector.py ${DERIVED_SOURCES_WEBCORE_DIR}/Inspector.json --output_h_dir &quot;${DERIVED_SOURCES_WEBCORE_DIR}&quot; --output_cpp_dir &quot;${DERIVED_SOURCES_WEBCORE_DIR}&quot; --output_js_dir &quot;${DERIVED_SOURCES_WEBCORE_DIR}&quot; --write_always
</del><ins>+    OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorWebBackendDispatchers.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorWebBackendDispatchers.h ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorWebFrontendDispatchers.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorWebFrontendDispatchers.h ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorWebTypeBuilders.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorWebTypeBuilders.h
+    MAIN_DEPENDENCY ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorWeb.json
+    DEPENDS ${WebCore_INSPECTOR_SCRIPTS_DIR}/CodeGeneratorInspector.py ${WebCore_INSPECTOR_SCRIPTS_DIR}/CodeGeneratorInspectorStrings.py ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJS.json ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJSTypeBuilders.h
+    COMMAND ${PYTHON_EXECUTABLE} ${WebCore_INSPECTOR_SCRIPTS_DIR}/CodeGeneratorInspector.py ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorWeb.json ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJS.json --output_h_dir &quot;${DERIVED_SOURCES_WEBCORE_DIR}&quot; --output_cpp_dir &quot;${DERIVED_SOURCES_WEBCORE_DIR}&quot; --output_js_dir &quot;${DERIVED_SOURCES_WEBCORE_DIR}&quot; --output_type Web --write_always
</ins><span class="cx">     VERBATIM)
</span><del>-list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorBackendDispatchers.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorFrontend.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorWebTypeBuilders.cpp)
</del><span class="cx"> 
</span><ins>+list(APPEND WebCore_SOURCES
+    ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorWebBackendDispatchers.cpp
+    ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorWebFrontendDispatchers.cpp
+    ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorWebTypeBuilders.cpp
+)
</ins><span class="cx"> 
</span><ins>+
</ins><span class="cx"> # Generate InspectorOverlayPage.h
</span><span class="cx"> add_custom_command(
</span><span class="cx">     OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorOverlayPage.h ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorOverlayPage.combined.html
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/ChangeLog        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -1,3 +1,88 @@
</span><ins>+2013-12-13  Joseph Pecoraro  &lt;pecoraro@apple.com&gt;
+
+        Web Inspector: Add Inspector Code Generation to JavaScriptCore for Runtime Domain
+        https://bugs.webkit.org/show_bug.cgi?id=125595
+
+        Reviewed by Timothy Hatcher.
+
+          - CodeGeneration changed to output Frontend and Backend dispatchers
+            in namespace Inspector. So update all the agent's appropriately.
+          - Update Derived Sources code generation to use the Scripts that had
+            moved to JavaScriptCore. Some ports just use JSC/inspector/scripts
+            directly, but others have to use the Scripts exported by JSC
+            in JavaScriptCore's PrivateHeaders.
+          - Add ForwardingHeaders for the files generated in JavaScriptCore.
+          - Update the names of Inspector DerivedSources files, since they
+            were renamed to InspectorWeb*.
+
+        No new tests, this only moves code around. There are no functional changes.
+
+        * CMakeLists.txt:
+        * DerivedSources.make:
+        * ForwardingHeaders/inspector/InspectorJSBackendDispatchers.h: Added.
+        * ForwardingHeaders/inspector/InspectorJSFrontendDispatchers.h: Added.
+        * ForwardingHeaders/inspector/InspectorJSTypeBuilders.h: Added.
+        * GNUmakefile.am:
+        * GNUmakefile.list.am:
+        * WebCore.vcxproj/WebCore.vcxproj:
+        * WebCore.vcxproj/WebCore.vcxproj.filters:
+        * WebCore.vcxproj/build-generated-files.sh:
+        * WebCore.xcodeproj/project.pbxproj:
+        Remove files, rename files, update code generation.
+
+        * make-generated-sources.sh:
+        Update this standalone developer script to fill in the new InspectorScripts variable.
+
+        * inspector/ConsoleMessage.h:
+        * inspector/InjectedScriptHost.cpp:
+        * inspector/InspectorAgent.cpp:
+        * inspector/InspectorAgent.h:
+        * inspector/InspectorApplicationCacheAgent.cpp:
+        * inspector/InspectorApplicationCacheAgent.h:
+        * inspector/InspectorCSSAgent.h:
+        * inspector/InspectorCanvasAgent.cpp:
+        * inspector/InspectorCanvasAgent.h:
+        * inspector/InspectorConsoleAgent.cpp:
+        * inspector/InspectorConsoleAgent.h:
+        * inspector/InspectorController.cpp:
+        * inspector/InspectorDOMAgent.cpp:
+        * inspector/InspectorDOMAgent.h:
+        * inspector/InspectorDOMDebuggerAgent.cpp:
+        * inspector/InspectorDOMDebuggerAgent.h:
+        * inspector/InspectorDOMStorageAgent.cpp:
+        * inspector/InspectorDOMStorageAgent.h:
+        * inspector/InspectorDatabaseAgent.cpp:
+        * inspector/InspectorDatabaseAgent.h:
+        * inspector/InspectorDatabaseResource.cpp:
+        * inspector/InspectorDatabaseResource.h:
+        * inspector/InspectorDebuggerAgent.cpp:
+        * inspector/InspectorDebuggerAgent.h:
+        * inspector/InspectorFrontendClientLocal.cpp:
+        * inspector/InspectorHeapProfilerAgent.h:
+        * inspector/InspectorIndexedDBAgent.cpp:
+        * inspector/InspectorIndexedDBAgent.h:
+        * inspector/InspectorInputAgent.h:
+        * inspector/InspectorLayerTreeAgent.cpp:
+        * inspector/InspectorLayerTreeAgent.h:
+        * inspector/InspectorMemoryAgent.cpp:
+        * inspector/InspectorMemoryAgent.h:
+        * inspector/InspectorPageAgent.cpp:
+        * inspector/InspectorPageAgent.h:
+        * inspector/InspectorProfilerAgent.cpp:
+        * inspector/InspectorProfilerAgent.h:
+        * inspector/InspectorResourceAgent.cpp:
+        * inspector/InspectorResourceAgent.h:
+        * inspector/InspectorRuntimeAgent.h:
+        * inspector/InspectorTimelineAgent.cpp:
+        * inspector/InspectorTimelineAgent.h:
+        * inspector/InspectorWorkerAgent.cpp:
+        * inspector/InspectorWorkerAgent.h:
+        * inspector/PageRuntimeAgent.h:
+        * inspector/ScriptCallFrame.cpp:
+        * inspector/WorkerInspectorController.cpp:
+        * inspector/WorkerRuntimeAgent.h:
+        Updates header names and class namespace changes.
+
</ins><span class="cx"> 2013-12-13  Thiago de Barros Lacerda  &lt;thiago.lacerda@openbossa.org&gt;
</span><span class="cx"> 
</span><span class="cx">         Adding RTCPeerConnectionErrorCallback
</span></span></pre></div>
<a id="trunkSourceWebCoreDerivedSourcesmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/DerivedSources.make (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/DerivedSources.make        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/DerivedSources.make        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -661,31 +661,6 @@
</span><span class="cx">     InternalSettingsGenerated.idl
</span><span class="cx"> #
</span><span class="cx"> 
</span><del>-INSPECTOR_DOMAINS = \
-    $(WebCore)/inspector/protocol/ApplicationCache.json \
-    $(WebCore)/inspector/protocol/CSS.json \
-    $(WebCore)/inspector/protocol/Canvas.json \
-    $(WebCore)/inspector/protocol/Console.json \
-    $(WebCore)/inspector/protocol/DOM.json \
-    $(WebCore)/inspector/protocol/DOMDebugger.json \
-    $(WebCore)/inspector/protocol/DOMStorage.json \
-    $(WebCore)/inspector/protocol/Database.json \
-    $(WebCore)/inspector/protocol/Debugger.json \
-    $(WebCore)/inspector/protocol/FileSystem.json \
-    $(WebCore)/inspector/protocol/HeapProfiler.json \
-    $(WebCore)/inspector/protocol/IndexedDB.json \
-    $(WebCore)/inspector/protocol/Input.json \
-    $(WebCore)/inspector/protocol/InspectorDomain.json \
-    $(WebCore)/inspector/protocol/LayerTree.json \
-    $(WebCore)/inspector/protocol/Memory.json \
-    $(WebCore)/inspector/protocol/Network.json \
-    $(WebCore)/inspector/protocol/Page.json \
-    $(WebCore)/inspector/protocol/Profiler.json \
-    $(WebCore)/inspector/protocol/Runtime.json \
-    $(WebCore)/inspector/protocol/Timeline.json \
-    $(WebCore)/inspector/protocol/Worker.json
-#
-
</del><span class="cx"> .PHONY : all
</span><span class="cx"> 
</span><span class="cx"> DOM_CLASSES=$(basename $(notdir $(BINDING_IDLS)))
</span><span class="lines">@@ -1093,18 +1068,45 @@
</span><span class="cx"> 
</span><span class="cx"> # Inspector interfaces generator
</span><span class="cx"> 
</span><del>-all : Inspector.json
</del><ins>+INSPECTOR_DOMAINS = \
+    $(WebCore)/inspector/protocol/ApplicationCache.json \
+    $(WebCore)/inspector/protocol/CSS.json \
+    $(WebCore)/inspector/protocol/Canvas.json \
+    $(WebCore)/inspector/protocol/Console.json \
+    $(WebCore)/inspector/protocol/DOM.json \
+    $(WebCore)/inspector/protocol/DOMDebugger.json \
+    $(WebCore)/inspector/protocol/DOMStorage.json \
+    $(WebCore)/inspector/protocol/Database.json \
+    $(WebCore)/inspector/protocol/Debugger.json \
+    $(WebCore)/inspector/protocol/FileSystem.json \
+    $(WebCore)/inspector/protocol/HeapProfiler.json \
+    $(WebCore)/inspector/protocol/IndexedDB.json \
+    $(WebCore)/inspector/protocol/Input.json \
+    $(WebCore)/inspector/protocol/InspectorDomain.json \
+    $(WebCore)/inspector/protocol/LayerTree.json \
+    $(WebCore)/inspector/protocol/Memory.json \
+    $(WebCore)/inspector/protocol/Network.json \
+    $(WebCore)/inspector/protocol/Page.json \
+    $(WebCore)/inspector/protocol/Profiler.json \
+    $(WebCore)/inspector/protocol/Timeline.json \
+    $(WebCore)/inspector/protocol/Worker.json \
+#
</ins><span class="cx"> 
</span><del>-Inspector.json : inspector/Scripts/generate-combined-inspector-json.py $(INSPECTOR_DOMAINS)
-        python $(WebCore)/inspector/Scripts/generate-combined-inspector-json.py &quot;$(WebCore)/inspector/protocol&quot; &gt; ./Inspector.json
</del><ins>+INSPECTOR_GENERATOR_SCRIPTS = \
+        $(InspectorScripts)/CodeGeneratorInspector.py \
+        $(InspectorScripts)/CodeGeneratorInspectorStrings.py \
+#
</ins><span class="cx"> 
</span><del>-all : InspectorFrontend.h
</del><ins>+all : InspectorWeb.json
</ins><span class="cx"> 
</span><del>-INSPECTOR_GENERATOR_SCRIPTS = inspector/CodeGeneratorInspector.py inspector/CodeGeneratorInspectorStrings.py
</del><ins>+InspectorWeb.json : $(InspectorScripts)/generate-combined-inspector-json.py $(INSPECTOR_DOMAINS)
+        python $(InspectorScripts)/generate-combined-inspector-json.py $(WebCore)/inspector/protocol &gt; ./InspectorWeb.json
</ins><span class="cx"> 
</span><del>-InspectorFrontend.h : Inspector.json $(INSPECTOR_GENERATOR_SCRIPTS)
-        python $(WebCore)/inspector/CodeGeneratorInspector.py ./Inspector.json --output_h_dir . --output_cpp_dir . --output_js_dir .
</del><ins>+all : InspectorWebFrontendDispatchers.h
</ins><span class="cx"> 
</span><ins>+InspectorWebFrontendDispatchers.h : InspectorWeb.json $(InspectorScripts)/InspectorJS.json $(INSPECTOR_GENERATOR_SCRIPTS)
+        python $(InspectorScripts)/CodeGeneratorInspector.py ./InspectorWeb.json $(InspectorScripts)/InspectorJS.json --output_h_dir . --output_cpp_dir . --output_js_dir . --output_type Web
+
</ins><span class="cx"> all : InspectorOverlayPage.h
</span><span class="cx"> 
</span><span class="cx"> InspectorOverlayPage.h : InspectorOverlayPage.html InspectorOverlayPage.css InspectorOverlayPage.js
</span></span></pre></div>
<a id="trunkSourceWebCoreForwardingHeadersinspectorInspectorJSBackendDispatchersh"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/ForwardingHeaders/inspector/InspectorJSBackendDispatchers.h (0 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ForwardingHeaders/inspector/InspectorJSBackendDispatchers.h                                (rev 0)
+++ trunk/Source/WebCore/ForwardingHeaders/inspector/InspectorJSBackendDispatchers.h        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+#ifndef WebCore_FWD_InspectorJSBackendDispatchers_h
+#define WebCore_FWD_InspectorJSBackendDispatchers_h
+#include &lt;JavaScriptCore/InspectorJSBackendDispatchers.h&gt;
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCoreForwardingHeadersinspectorInspectorJSFrontendDispatchersh"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/ForwardingHeaders/inspector/InspectorJSFrontendDispatchers.h (0 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ForwardingHeaders/inspector/InspectorJSFrontendDispatchers.h                                (rev 0)
+++ trunk/Source/WebCore/ForwardingHeaders/inspector/InspectorJSFrontendDispatchers.h        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+#ifndef WebCore_FWD_InspectorJSFrontendDispatchers_h
+#define WebCore_FWD_InspectorJSFrontendDispatchers_h
+#include &lt;JavaScriptCore/InspectorJSFrontendDispatchers.h&gt;
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCoreForwardingHeadersinspectorInspectorJSTypeBuildersh"></a>
<div class="addfile"><h4>Added: trunk/Source/WebCore/ForwardingHeaders/inspector/InspectorJSTypeBuilders.h (0 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ForwardingHeaders/inspector/InspectorJSTypeBuilders.h                                (rev 0)
+++ trunk/Source/WebCore/ForwardingHeaders/inspector/InspectorJSTypeBuilders.h        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+#ifndef WebCore_FWD_InspectorJSTypeBuilders_h
+#define WebCore_FWD_InspectorJSTypeBuilders_h
+#include &lt;JavaScriptCore/InspectorJSTypeBuilders.h&gt;
+#endif
</ins></span></pre></div>
<a id="trunkSourceWebCoreGNUmakefileam"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/GNUmakefile.am (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/GNUmakefile.am        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/GNUmakefile.am        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -333,6 +333,8 @@
</span><span class="cx">   DerivedSources/WebCore/InternalSettingsGenerated.idl
</span><span class="cx"> 
</span><span class="cx"> 
</span><ins>+INSPECTOR_SCRIPTS_DIR := $(JavaScriptCore)/inspector/scripts
+
</ins><span class="cx"> INSPECTOR_DOMAINS := \
</span><span class="cx">     $(WebCore)/inspector/protocol/ApplicationCache.json \
</span><span class="cx">     $(WebCore)/inspector/protocol/CSS.json \
</span><span class="lines">@@ -353,22 +355,21 @@
</span><span class="cx">     $(WebCore)/inspector/protocol/Network.json \
</span><span class="cx">     $(WebCore)/inspector/protocol/Page.json \
</span><span class="cx">     $(WebCore)/inspector/protocol/Profiler.json \
</span><del>-    $(WebCore)/inspector/protocol/Runtime.json \
</del><span class="cx">     $(WebCore)/inspector/protocol/Timeline.json \
</span><span class="cx">     $(WebCore)/inspector/protocol/Worker.json
</span><span class="cx"> 
</span><del>-DerivedSources/WebCore/Inspector.json: $(WebCore)/inspector/Scripts/generate-combined-inspector-json.py $(INSPECTOR_DOMAINS)
-        $(AM_V_GEN)$(PYTHON) $(WebCore)/inspector/Scripts/generate-combined-inspector-json.py $(WebCore)/inspector/protocol &gt; $(GENSOURCES_WEBCORE)/Inspector.json
</del><ins>+DerivedSources/WebCore/InspectorWeb.json: $(INSPECTOR_SCRIPTS_DIR)/generate-combined-inspector-json.py $(INSPECTOR_DOMAINS)
+        $(AM_V_GEN)$(PYTHON) $(INSPECTOR_SCRIPTS_DIR)/generate-combined-inspector-json.py $(WebCore)/inspector/protocol &gt; $(GENSOURCES_WEBCORE)/InspectorWeb.json
</ins><span class="cx"> 
</span><span class="cx"> # All Web Inspector generated files are created with this one call to CodeGeneratorInspector.py
</span><del>-DerivedSources/WebCore/InspectorBackendDispatchers.cpp: DerivedSources/WebCore/Inspector.json $(WebCore)/inspector/CodeGeneratorInspector.py $(WebCore)/inspector/CodeGeneratorInspectorStrings.py
-        $(AM_V_GEN)$(PYTHON) $(WebCore)/inspector/CodeGeneratorInspector.py $&lt; --output_h_dir $(GENSOURCES_WEBCORE) --output_cpp_dir $(GENSOURCES_WEBCORE) --output_js_dir $(GENSOURCES_WEBCORE)
</del><ins>+DerivedSources/WebCore/InspectorWebBackendDispatchers.cpp: $(GENSOURCES_WEBCORE)/InspectorWeb.json $(GENSOURCES_JAVASCRIPTCORE)/InspectorJS.json $(INSPECTOR_SCRIPTS_DIR)/CodeGeneratorInspector.py $(INSPECTOR_SCRIPTS_DIR)/CodeGeneratorInspectorStrings.py $(GENSOURCES_JAVASCRIPTCORE)/InspectorJSTypeBuilders.h
+        $(AM_V_GEN)$(PYTHON) $(INSPECTOR_SCRIPTS_DIR)/CodeGeneratorInspector.py $(GENSOURCES_WEBCORE)/InspectorWeb.json $(GENSOURCES_JAVASCRIPTCORE)/InspectorJS.json --output_h_dir $(GENSOURCES_WEBCORE) --output_cpp_dir $(GENSOURCES_WEBCORE) --output_js_dir $(GENSOURCES_WEBCORE) --output_type Web
</ins><span class="cx"> DerivedSources/WebCore/InspectorWebTypeBuilders.h: DerivedSources/WebCore/InspectorWebTypeBuilders.cpp
</span><del>-DerivedSources/WebCore/InspectorWebTypeBuilders.cpp: DerivedSources/WebCore/InspectorFrontend.h
-DerivedSources/WebCore/InspectorFrontend.h: DerivedSources/WebCore/InspectorFrontend.cpp
-DerivedSources/WebCore/InspectorFrontend.cpp: DerivedSources/WebCore/InspectorBackendCommands.js
-DerivedSources/WebCore/InspectorBackendCommands.js: DerivedSources/WebCore/InspectorBackendDispatchers.h
-DerivedSources/WebCore/InspectorBackendDispatchers.h: DerivedSources/WebCore/InspectorBackendDispatchers.cpp
</del><ins>+DerivedSources/WebCore/InspectorWebTypeBuilders.cpp: DerivedSources/WebCore/InspectorWebFrontendDispatchers.h
+DerivedSources/WebCore/InspectorWebFrontendDispatchers.h: DerivedSources/WebCore/InspectorWebFrontendDispatchers.cpp
+DerivedSources/WebCore/InspectorWebFrontendDispatchers.cpp: DerivedSources/WebCore/InspectorWebBackendCommands.js
+DerivedSources/WebCore/InspectorWebBackendCommands.js: DerivedSources/WebCore/InspectorWebBackendDispatchers.h
+DerivedSources/WebCore/InspectorWebBackendDispatchers.h: DerivedSources/WebCore/InspectorWebBackendDispatchers.cpp
</ins><span class="cx"> 
</span><span class="cx"> DerivedSources/WebCore/InspectorOverlayPage.h: $(WebCore)/inspector/InspectorOverlayPage.html $(WebCore)/inspector/InspectorOverlayPage.css $(WebCore)/inspector/InspectorOverlayPage.js
</span><span class="cx">         $(AM_V_GEN)$(PYTHON) $(WebCore)/inspector/Scripts/inline-and-minify-stylesheets-and-scripts.py $(WebCore)/inspector/InspectorOverlayPage.html $(GENSOURCES_WEBCORE)/InspectorOverlayPage.combined.html
</span></span></pre></div>
<a id="trunkSourceWebCoreGNUmakefilelistam"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/GNUmakefile.list.am (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/GNUmakefile.list.am        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/GNUmakefile.list.am        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -21,11 +21,11 @@
</span><span class="cx">         DerivedSources/WebCore/HTMLNames.h \
</span><span class="cx">         DerivedSources/WebCore/InjectedScriptCanvasModuleSource.h \
</span><span class="cx">         DerivedSources/WebCore/InjectedScriptSource.h \
</span><del>-        DerivedSources/WebCore/InspectorBackendDispatchers.cpp \
-        DerivedSources/WebCore/InspectorBackendDispatchers.h \
-        DerivedSources/WebCore/InspectorFrontend.cpp \
-        DerivedSources/WebCore/InspectorFrontend.h \
</del><span class="cx">         DerivedSources/WebCore/InspectorOverlayPage.h \
</span><ins>+        DerivedSources/WebCore/InspectorWebBackendDispatchers.cpp \
+        DerivedSources/WebCore/InspectorWebBackendDispatchers.h \
+        DerivedSources/WebCore/InspectorWebFrontendDispatchers.cpp \
+        DerivedSources/WebCore/InspectorWebFrontendDispatchers.h \
</ins><span class="cx">         DerivedSources/WebCore/InspectorWebTypeBuilders.cpp \
</span><span class="cx">         DerivedSources/WebCore/InspectorWebTypeBuilders.h \
</span><span class="cx">         DerivedSources/WebCore/JSAbstractWorker.cpp \
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -746,8 +746,8 @@
</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><span class="cx">     &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\HTMLNames.cpp&quot; /&gt;
</span><del>-    &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorBackendDispatchers.cpp&quot; /&gt;
-    &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorFrontend.cpp&quot; /&gt;
</del><ins>+    &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorWebBackendDispatchers.cpp&quot; /&gt;
+    &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorWebFrontendDispatchers.cpp&quot; /&gt;
</ins><span class="cx">     &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorWebTypeBuilders.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\WebCore\DerivedSources\JSAbstractWorker.cpp&quot;&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -18081,9 +18081,9 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\HTMLNames.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InjectedScriptCanvasModuleSource.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InjectedScriptSource.h&quot; /&gt;
</span><del>-    &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorBackendDispatchers.h&quot; /&gt;
-    &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorFrontend.h&quot; /&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorOverlayPage.h&quot; /&gt;
</span><ins>+    &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorWebBackendDispatchers.h&quot; /&gt;
+    &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorWebFrontendDispatchers.h&quot; /&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorWebTypeBuilders.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\WebCore\DerivedSources\JSAbstractWorker.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSAttr.h&quot; /&gt;
</span><span class="lines">@@ -18566,6 +18566,9 @@
</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="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InspectorFrontendChannel.h&quot; /&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InspectorJSBackendDispatchers.h&quot; /&gt;
+    &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InspectorJSFrontendDispatchers.h&quot; /&gt;
+    &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InspectorJSTypeBuilders.h&quot; /&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InspectorTypeBuilder.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InspectorValues.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\masm\X86Assembler.h&quot; /&gt;
</span><span class="lines">@@ -21052,4 +21055,4 @@
</span><span class="cx">   &lt;ImportGroup Label=&quot;ExtensionTargets&quot;&gt;
</span><span class="cx">     &lt;Import Project=&quot;$(VCTargetsPath)\BuildCustomizations\masm.targets&quot; /&gt;
</span><span class="cx">   &lt;/ImportGroup&gt;
</span><del>-&lt;/Project&gt;
</del><span class="cx">\ No newline at end of file
</span><ins>+&lt;/Project&gt;
</ins></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCorevcxprojfilters"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -5272,10 +5272,10 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\HTMLNames.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorBackendDispatchers.cpp&quot;&gt;
</del><ins>+    &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorWebBackendDispatchers.cpp&quot;&gt;
</ins><span class="cx">       &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorFrontend.cpp&quot;&gt;
</del><ins>+    &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorWebFrontendDispatchers.cpp&quot;&gt;
</ins><span class="cx">       &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorWebTypeBuilders.cpp&quot;&gt;
</span><span class="lines">@@ -12248,6 +12248,15 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InspectorFrontendChannel.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\InspectorJSBackendDispatchers.h&quot;&gt;
+      &lt;Filter&gt;ForwardingHeaders\inspector&lt;/Filter&gt;
+    &lt;/ClInclude&gt;
+    &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InspectorJSFrontendDispatchers.h&quot;&gt;
+      &lt;Filter&gt;ForwardingHeaders\inspector&lt;/Filter&gt;
+    &lt;/ClInclude&gt;
+    &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InspectorJSTypeBuilders.h&quot;&gt;
+      &lt;Filter&gt;ForwardingHeaders\inspector&lt;/Filter&gt;
+    &lt;/ClInclude&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InspectorTypeBuilder.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">@@ -13069,13 +13078,13 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InjectedScriptSource.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><del>-    &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorBackendDispatchers.h&quot;&gt;
</del><ins>+    &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorOverlayPage.h&quot;&gt;
</ins><span class="cx">       &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><del>-    &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorFrontend.h&quot;&gt;
</del><ins>+    &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorWebBackendDispatchers.h&quot;&gt;
</ins><span class="cx">       &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><del>-    &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorOverlayPage.h&quot;&gt;
</del><ins>+    &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorWebFrontendDispatchers.h&quot;&gt;
</ins><span class="cx">       &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\InspectorWebTypeBuilders.h&quot;&gt;
</span><span class="lines">@@ -15188,4 +15197,4 @@
</span><span class="cx">       &lt;Filter&gt;platform\win&lt;/Filter&gt;
</span><span class="cx">     &lt;/MASM&gt;
</span><span class="cx">   &lt;/ItemGroup&gt;
</span><del>-&lt;/Project&gt;
</del><span class="cx">\ No newline at end of file
</span><ins>+&lt;/Project&gt;
</ins></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojbuildgeneratedfilessh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/build-generated-files.sh (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/build-generated-files.sh        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/WebCore.vcxproj/build-generated-files.sh        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -60,4 +60,6 @@
</span><span class="cx"> 
</span><span class="cx"> export WebCore=&quot;${XSRCROOT}&quot;
</span><span class="cx"> export FEATURE_DEFINES=`$SDKROOT/tools/scripts/feature-defines.sh $SDKROOT $3`
</span><ins>+export InspectorScripts=&quot;$XDSTROOT/include/private/JavaScriptCore&quot;
+
</ins><span class="cx"> make -f &quot;$WebCore/DerivedSources.make&quot; -j ${NUMCPUS} || exit 1
</span><span class="cx">Property changes on: trunk/Source/WebCore/WebCore.vcxproj/build-generated-files.sh
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnexecutable"></a>
<div class="addfile"><h4>Added: svn:executable</h4></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -1608,11 +1608,11 @@
</span><span class="cx">                 4F1534E011B533020021FD86 /* EditingBehaviorTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F1534DF11B533020021FD86 /* EditingBehaviorTypes.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 4F2D205412EAE7B3005C2874 /* InspectorAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F2D205212EAE7B3005C2874 /* InspectorAgent.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 4F2D205512EAE7B3005C2874 /* InspectorAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F2D205312EAE7B3005C2874 /* InspectorAgent.cpp */; };
</span><del>-                4F4F5FFB11CBD2E100A186BF /* InspectorFrontend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F4F5FFA11CBD2D200A186BF /* InspectorFrontend.cpp */; };
</del><ins>+                4F4F5FFB11CBD2E100A186BF /* InspectorWebFrontendDispatchers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F4F5FFA11CBD2D200A186BF /* InspectorWebFrontendDispatchers.cpp */; };
</ins><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><del>-                4F707A9911EF679400ACDA69 /* InspectorBackendDispatchers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F707A9711EF679400ACDA69 /* InspectorBackendDispatchers.cpp */; };
-                4F707A9A11EF679400ACDA69 /* InspectorBackendDispatchers.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F707A9811EF679400ACDA69 /* InspectorBackendDispatchers.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><ins>+                4F707A9911EF679400ACDA69 /* InspectorWebBackendDispatchers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F707A9711EF679400ACDA69 /* InspectorWebBackendDispatchers.cpp */; };
+                4F707A9A11EF679400ACDA69 /* InspectorWebBackendDispatchers.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F707A9811EF679400ACDA69 /* InspectorWebBackendDispatchers.h */; settings = {ATTRIBUTES = (Private, ); }; };
</ins><span class="cx">                 4FB390AD15EF61F3007AD51F /* GeneratedImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FB390AC15EF61F3007AD51F /* GeneratedImage.cpp */; };
</span><span class="cx">                 4FFC022B1643B710004E1638 /* NodeRareData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FAB48661643A67E00F70C07 /* NodeRareData.cpp */; };
</span><span class="cx">                 4FFC022D1643B726004E1638 /* ElementRareData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FAB48641643A66D00F70C07 /* ElementRareData.cpp */; };
</span><span class="lines">@@ -1896,7 +1896,7 @@
</span><span class="cx">                 550A0BC9085F6039007353D6 /* QualifiedName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 550A0BC7085F6039007353D6 /* QualifiedName.cpp */; };
</span><span class="cx">                 550A0BCA085F6039007353D6 /* QualifiedName.h in Headers */ = {isa = PBXBuildFile; fileRef = 550A0BC8085F6039007353D6 /* QualifiedName.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 573D134714CE39FF0057ABCA /* InspectorWebTypeBuilders.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 573D134514CE39FF0057ABCA /* InspectorWebTypeBuilders.cpp */; };
</span><del>-                578DA20E1520EB8C006141C1 /* InspectorFrontend.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F4F5FFC11CBD30100A186BF /* InspectorFrontend.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><ins>+                578DA20E1520EB8C006141C1 /* InspectorWebFrontendDispatchers.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F4F5FFC11CBD30100A186BF /* InspectorWebFrontendDispatchers.h */; settings = {ATTRIBUTES = (Private, ); }; };
</ins><span class="cx">                 578DA20F1520EBA3006141C1 /* InspectorWebTypeBuilders.h in Headers */ = {isa = PBXBuildFile; fileRef = 573D134614CE39FF0057ABCA /* InspectorWebTypeBuilders.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 57B791A314C6A62900F202D1 /* ContentDistributor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 57B7919F14C6A62900F202D1 /* ContentDistributor.cpp */; };
</span><span class="cx">                 57B791A414C6A62900F202D1 /* ContentDistributor.h in Headers */ = {isa = PBXBuildFile; fileRef = 57B791A014C6A62900F202D1 /* ContentDistributor.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -8353,12 +8353,12 @@
</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><span class="cx">                 4F2D205212EAE7B3005C2874 /* InspectorAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorAgent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 4F2D205312EAE7B3005C2874 /* InspectorAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorAgent.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                4F4F5FFA11CBD2D200A186BF /* InspectorFrontend.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorFrontend.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
-                4F4F5FFC11CBD30100A186BF /* InspectorFrontend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorFrontend.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><ins>+                4F4F5FFA11CBD2D200A186BF /* InspectorWebFrontendDispatchers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorWebFrontendDispatchers.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                4F4F5FFC11CBD30100A186BF /* InspectorWebFrontendDispatchers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorWebFrontendDispatchers.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><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="cx">                 4F6FDD631341DEDD001F8EE3 /* InspectorPageAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorPageAgent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                4F707A9711EF679400ACDA69 /* InspectorBackendDispatchers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorBackendDispatchers.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
-                4F707A9811EF679400ACDA69 /* InspectorBackendDispatchers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorBackendDispatchers.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><ins>+                4F707A9711EF679400ACDA69 /* InspectorWebBackendDispatchers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorWebBackendDispatchers.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                4F707A9811EF679400ACDA69 /* InspectorWebBackendDispatchers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorWebBackendDispatchers.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 4FAB48641643A66D00F70C07 /* ElementRareData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ElementRareData.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 4FAB48661643A67E00F70C07 /* NodeRareData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NodeRareData.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 4FB390AC15EF61F3007AD51F /* GeneratedImage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeneratedImage.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -10355,8 +10355,6 @@
</span><span class="cx">                 A5732B08136A161D005C8D7C /* DateComponents.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DateComponents.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A5732B09136A161D005C8D7C /* DateComponents.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DateComponents.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A593CF7218402CE900BFCE27 /* protocol */ = {isa = PBXFileReference; lastKnownFileType = folder; path = protocol; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                A593CF7318402D4B00BFCE27 /* CodeGeneratorInspector.py */ = {isa = PBXFileReference; lastKnownFileType = text.script.python; path = CodeGeneratorInspector.py; sourceTree = &quot;&lt;group&gt;&quot;; };
-                A593CF7418402D4B00BFCE27 /* CodeGeneratorInspectorStrings.py */ = {isa = PBXFileReference; lastKnownFileType = text.script.python; path = CodeGeneratorInspectorStrings.py; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 A593CF7518402D4B00BFCE27 /* combine-javascript-resources.pl */ = {isa = PBXFileReference; lastKnownFileType = text.script.perl; path = &quot;combine-javascript-resources.pl&quot;; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A593CF8A1840535200BFCE27 /* InspectorWebAgentBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorWebAgentBase.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A5A2AF091829734300DE1729 /* PageDebuggable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PageDebuggable.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -14458,10 +14456,10 @@
</span><span class="cx">                         children = (
</span><span class="cx">                                 AA912750157E35A500454E54 /* InjectedScriptCanvasModuleSource.h */,
</span><span class="cx">                                 7A563E5412DE32B000F4536D /* InjectedScriptSource.h */,
</span><del>-                                4F707A9711EF679400ACDA69 /* InspectorBackendDispatchers.cpp */,
-                                4F707A9811EF679400ACDA69 /* InspectorBackendDispatchers.h */,
-                                4F4F5FFA11CBD2D200A186BF /* InspectorFrontend.cpp */,
-                                4F4F5FFC11CBD30100A186BF /* InspectorFrontend.h */,
</del><ins>+                                4F707A9711EF679400ACDA69 /* InspectorWebBackendDispatchers.cpp */,
+                                4F707A9811EF679400ACDA69 /* InspectorWebBackendDispatchers.h */,
+                                4F4F5FFA11CBD2D200A186BF /* InspectorWebFrontendDispatchers.cpp */,
+                                4F4F5FFC11CBD30100A186BF /* InspectorWebFrontendDispatchers.h */,
</ins><span class="cx">                                 573D134514CE39FF0057ABCA /* InspectorWebTypeBuilders.cpp */,
</span><span class="cx">                                 573D134614CE39FF0057ABCA /* InspectorWebTypeBuilders.h */,
</span><span class="cx">                                 7A0E76D810BF059800A0276E /* JSInjectedScriptHost.cpp */,
</span><span class="lines">@@ -14483,8 +14481,6 @@
</span><span class="cx">                         children = (
</span><span class="cx">                                 A593CF7218402CE900BFCE27 /* protocol */,
</span><span class="cx">                                 A518225317E28CF100A9BA1D /* Scripts */,
</span><del>-                                A593CF7318402D4B00BFCE27 /* CodeGeneratorInspector.py */,
-                                A593CF7418402D4B00BFCE27 /* CodeGeneratorInspectorStrings.py */,
</del><span class="cx">                                 A593CF7518402D4B00BFCE27 /* combine-javascript-resources.pl */,
</span><span class="cx">                                 F35AE5AB14925F5B004D5776 /* BindingVisitors.h */,
</span><span class="cx">                                 2DF2E9D4166E39740035BEF2 /* ConsoleAPITypes.h */,
</span><span class="lines">@@ -23408,7 +23404,7 @@
</span><span class="cx">                                 93309DF2099E64920056E581 /* InsertTextCommand.h in Headers */,
</span><span class="cx">                                 4F2D205412EAE7B3005C2874 /* InspectorAgent.h in Headers */,
</span><span class="cx">                                 B885E8D511E06DD2009FFBF4 /* InspectorApplicationCacheAgent.h in Headers */,
</span><del>-                                4F707A9A11EF679400ACDA69 /* InspectorBackendDispatchers.h in Headers */,
</del><ins>+                                4F707A9A11EF679400ACDA69 /* InspectorWebBackendDispatchers.h in Headers */,
</ins><span class="cx">                                 AAD766EC157E502F00E85423 /* InspectorCanvasAgent.h in Headers */,
</span><span class="cx">                                 AAD766ED157E502F00E85423 /* InspectorCanvasInstrumentation.h in Headers */,
</span><span class="cx">                                 1C81B95C0E97330800266E07 /* InspectorClient.h in Headers */,
</span><span class="lines">@@ -23427,7 +23423,7 @@
</span><span class="cx">                                 F3D4C47912E07663003DA150 /* InspectorDOMDebuggerAgent.h in Headers */,
</span><span class="cx">                                 7A74ECBB101839A600BF939E /* InspectorDOMStorageAgent.h in Headers */,
</span><span class="cx">                                 0705853417FDE6D9005F2BCB /* JSMediaTrackConstraints.h in Headers */,
</span><del>-                                578DA20E1520EB8C006141C1 /* InspectorFrontend.h in Headers */,
</del><ins>+                                578DA20E1520EB8C006141C1 /* InspectorWebFrontendDispatchers.h in Headers */,
</ins><span class="cx">                                 227777601345DEA9008EA455 /* InspectorForwarding.h in Headers */,
</span><span class="cx">                                 F344C7141125B82C00F26EEE /* InspectorFrontendClient.h in Headers */,
</span><span class="cx">                                 F344C75311294D9D00F26EEE /* InspectorFrontendClientLocal.h in Headers */,
</span><span class="lines">@@ -25674,7 +25670,7 @@
</span><span class="cx">                         );
</span><span class="cx">                         runOnlyForDeploymentPostprocessing = 0;
</span><span class="cx">                         shellPath = /bin/sh;
</span><del>-                        shellScript = &quot;mkdir -p \&quot;${BUILT_PRODUCTS_DIR}/DerivedSources/WebCore\&quot;\ncd \&quot;${BUILT_PRODUCTS_DIR}/DerivedSources/WebCore\&quot;\n\n/bin/ln -sfh \&quot;${SRCROOT}\&quot; WebCore\nexport WebCore=\&quot;WebCore\&quot;\n\nif [ ! $CC ]; then\n    export CC=\&quot;`xcrun -find clang`\&quot;\nfi\n\nif [ ! $GPERF ]; then\n    export GPERF=\&quot;`xcrun -find gperf`\&quot;\nfi\n\nif [ \&quot;${ACTION}\&quot; = \&quot;build\&quot; -o \&quot;${ACTION}\&quot; = \&quot;install\&quot; -o \&quot;${ACTION}\&quot; = \&quot;installhdrs\&quot; ]; then\n    make  --no-builtin-rules -f \&quot;WebCore/DerivedSources.make\&quot; -j `/usr/sbin/sysctl -n hw.activecpu` SDKROOT=\&quot;${SDKROOT}\&quot;\nfi\n&quot;;
</del><ins>+                        shellScript = &quot;mkdir -p \&quot;${BUILT_PRODUCTS_DIR}/DerivedSources/WebCore\&quot;\ncd \&quot;${BUILT_PRODUCTS_DIR}/DerivedSources/WebCore\&quot;\n\n/bin/ln -sfh \&quot;${SRCROOT}\&quot; WebCore\nexport WebCore=\&quot;WebCore\&quot;\nexport InspectorScripts=\&quot;${JAVASCRIPTCORE_PRIVATE_HEADERS_DIR}\&quot;\n\nif [ ! $CC ]; then\n    export CC=\&quot;`xcrun -find clang`\&quot;\nfi\n\nif [ ! $GPERF ]; then\n    export GPERF=\&quot;`xcrun -find gperf`\&quot;\nfi\n\nif [ \&quot;${ACTION}\&quot; = \&quot;build\&quot; -o \&quot;${ACTION}\&quot; = \&quot;install\&quot; -o \&quot;${ACTION}\&quot; = \&quot;installhdrs\&quot; ]; then\n    make  --no-builtin-rules -f \&quot;WebCore/DerivedSources.make\&quot; -j `/usr/sbin/sysctl -n hw.activecpu` SDKROOT=\&quot;${SDKROOT}\&quot;\nfi\n&quot;;
</ins><span class="cx">                 };
</span><span class="cx"> /* End PBXShellScriptBuildPhase section */
</span><span class="cx"> 
</span><span class="lines">@@ -26670,7 +26666,7 @@
</span><span class="cx">                                 93309DF1099E64920056E581 /* InsertTextCommand.cpp in Sources */,
</span><span class="cx">                                 4F2D205512EAE7B3005C2874 /* InspectorAgent.cpp in Sources */,
</span><span class="cx">                                 B885E8D411E06DD2009FFBF4 /* InspectorApplicationCacheAgent.cpp in Sources */,
</span><del>-                                4F707A9911EF679400ACDA69 /* InspectorBackendDispatchers.cpp in Sources */,
</del><ins>+                                4F707A9911EF679400ACDA69 /* InspectorWebBackendDispatchers.cpp in Sources */,
</ins><span class="cx">                                 E1F80B8A183172A2007885C3 /* JSCryptoKeyPairCustom.cpp in Sources */,
</span><span class="cx">                                 AAD766EB157E502F00E85423 /* InspectorCanvasAgent.cpp in Sources */,
</span><span class="cx">                                 7A1F2B52126C61B20006A7E6 /* InspectorClient.cpp in Sources */,
</span><span class="lines">@@ -26685,7 +26681,7 @@
</span><span class="cx">                                 7A24587B1021EAF4000A00AA /* InspectorDOMAgent.cpp in Sources */,
</span><span class="cx">                                 F3D4C47812E07663003DA150 /* InspectorDOMDebuggerAgent.cpp in Sources */,
</span><span class="cx">                                 7A74ECBA101839A600BF939E /* InspectorDOMStorageAgent.cpp in Sources */,
</span><del>-                                4F4F5FFB11CBD2E100A186BF /* InspectorFrontend.cpp in Sources */,
</del><ins>+                                4F4F5FFB11CBD2E100A186BF /* InspectorWebFrontendDispatchers.cpp in Sources */,
</ins><span class="cx">                                 F344C75811294FF600F26EEE /* InspectorFrontendClientLocal.cpp in Sources */,
</span><span class="cx">                                 7A0E770E10C00A8800A0276E /* InspectorFrontendHost.cpp in Sources */,
</span><span class="cx">                                 5112935F3D54B4B52FAF973F /* InspectorHeapProfilerAgent.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorCodeGeneratorInspectorpy"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/inspector/CodeGeneratorInspector.py (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/CodeGeneratorInspector.py        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/CodeGeneratorInspector.py        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -1,2458 +0,0 @@
</span><del>-#!/usr/bin/env python
-# Copyright (c) 2011 Google Inc. All rights reserved.
-# Copyright (c) 2012 Intel Corporation. All rights reserved.
-# Copyright (c) 2013 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:
-#
-#     * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#     * 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.
-#     * Neither the name of Google Inc. 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 THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT
-# OWNER 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.
-
-import os.path
-import sys
-import string
-import optparse
-import re
-try:
-    import json
-except ImportError:
-    import simplejson as json
-
-import CodeGeneratorInspectorStrings
-
-
-DOMAIN_DEFINE_NAME_MAP = {
-    &quot;Database&quot;: &quot;SQL_DATABASE&quot;,
-    &quot;Debugger&quot;: &quot;JAVASCRIPT_DEBUGGER&quot;,
-    &quot;DOMDebugger&quot;: &quot;JAVASCRIPT_DEBUGGER&quot;,
-    &quot;IndexedDB&quot;: &quot;INDEXED_DATABASE&quot;,
-    &quot;Profiler&quot;: &quot;JAVASCRIPT_DEBUGGER&quot;,
-}
-
-
-# Manually-filled map of type name replacements.
-TYPE_NAME_FIX_MAP = {
-    &quot;RGBA&quot;: &quot;Rgba&quot;,  # RGBA is reported to be conflicting with a define name in Windows CE.
-    &quot;&quot;: &quot;Empty&quot;,
-}
-
-
-TYPES_WITH_RUNTIME_CAST_SET = frozenset([&quot;Runtime.RemoteObject&quot;, &quot;Runtime.PropertyDescriptor&quot;, &quot;Runtime.InternalPropertyDescriptor&quot;,
-                                         &quot;Debugger.FunctionDetails&quot;, &quot;Debugger.CallFrame&quot;,
-                                         &quot;Canvas.TraceLog&quot;, &quot;Canvas.ResourceInfo&quot;, &quot;Canvas.ResourceState&quot;,
-                                         # This should be a temporary hack. TimelineEvent should be created via generated C++ API.
-                                         &quot;Timeline.TimelineEvent&quot;])
-
-TYPES_WITH_OPEN_FIELD_LIST_SET = frozenset([&quot;Timeline.TimelineEvent&quot;,
-                                            # InspectorStyleSheet not only creates this property but wants to read it and modify it.
-                                            &quot;CSS.CSSProperty&quot;,
-                                            # InspectorResourceAgent needs to update mime-type.
-                                            &quot;Network.Response&quot;])
-
-EXACTLY_INT_SUPPORTED = False
-
-cmdline_parser = optparse.OptionParser(usage=&quot;usage: %prog [options] &lt;Inspector.json&gt;&quot;)
-cmdline_parser.add_option(&quot;--output_h_dir&quot;)
-cmdline_parser.add_option(&quot;--output_cpp_dir&quot;)
-cmdline_parser.add_option(&quot;--output_js_dir&quot;)
-cmdline_parser.add_option(&quot;--write_always&quot;, action=&quot;store_true&quot;)
-cmdline_parser.add_option(&quot;--no_verification&quot;, action=&quot;store_true&quot;)
-
-try:
-    arg_options, arg_values = cmdline_parser.parse_args()
-    if (len(arg_values) != 1):
-        raise Exception(&quot;Exactly one plain argument expected (found %s)&quot; % len(arg_values))
-    input_json_filename = arg_values[0]
-    output_header_dirname = arg_options.output_h_dir
-    output_cpp_dirname = arg_options.output_cpp_dir
-    output_js_dirname = arg_options.output_js_dir
-    write_always = arg_options.write_always
-    verification = not arg_options.no_verification
-    if not output_header_dirname:
-        raise Exception(&quot;Output .h directory must be specified&quot;)
-    if not output_cpp_dirname:
-        raise Exception(&quot;Output .cpp directory must be specified&quot;)
-    if not output_js_dirname:
-        raise Exception(&quot;Output .js directory must be specified&quot;)
-except Exception:
-    # Work with python 2 and 3 http://docs.python.org/py3k/howto/pyporting.html
-    exc = sys.exc_info()[1]
-    sys.stderr.write(&quot;Failed to parse command-line arguments: %s\n\n&quot; % exc)
-    sys.stderr.write(&quot;Usage: &lt;script&gt; Inspector.json --output_h_dir &lt;output_header_dir&gt; --output_cpp_dir &lt;output_cpp_dir&gt; --output_js_dir &lt;output_js_dir&gt; [--write_always] [--no_verification]\n&quot;)
-    exit(1)
-
-
-def dash_to_camelcase(word):
-    return ''.join(x.capitalize() or '-' for x in word.split('-'))
-
-
-def fix_camel_case(name):
-    refined = re.sub(r'-(\w)', lambda pat: pat.group(1).upper(), name)
-    refined = to_title_case(refined)
-    return re.sub(r'(?i)HTML|XML|WML|API|GC|XHR|DOM|CSS', lambda pat: pat.group(0).upper(), refined)
-
-
-def to_title_case(name):
-    return name[:1].upper() + name[1:]
-
-
-class Capitalizer:
-    @staticmethod
-    def lower_camel_case_to_upper(str):
-        if len(str) &gt; 0 and str[0].islower():
-            str = str[0].upper() + str[1:]
-        return str
-
-    @staticmethod
-    def upper_camel_case_to_lower(str):
-        pos = 0
-        while pos &lt; len(str) and str[pos].isupper():
-            pos += 1
-        if pos == 0:
-            return str
-        if pos == 1:
-            return str[0].lower() + str[1:]
-        if pos &lt; len(str):
-            pos -= 1
-        possible_abbreviation = str[0:pos]
-        if possible_abbreviation not in Capitalizer.ABBREVIATION:
-            raise Exception(&quot;Unknown abbreviation %s&quot; % possible_abbreviation)
-        str = possible_abbreviation.lower() + str[pos:]
-        return str
-
-    @staticmethod
-    def camel_case_to_capitalized_with_underscores(str):
-        if len(str) == 0:
-            return str
-        output = Capitalizer.split_camel_case_(str)
-        return &quot;_&quot;.join(output).upper()
-
-    @staticmethod
-    def split_camel_case_(str):
-        output = []
-        pos_being = 0
-        pos = 1
-        has_oneletter = False
-        while pos &lt; len(str):
-            if str[pos].isupper():
-                output.append(str[pos_being:pos].upper())
-                if pos - pos_being == 1:
-                    has_oneletter = True
-                pos_being = pos
-            pos += 1
-        output.append(str[pos_being:])
-        if has_oneletter:
-            array_pos = 0
-            while array_pos &lt; len(output) - 1:
-                if len(output[array_pos]) == 1:
-                    array_pos_end = array_pos + 1
-                    while array_pos_end &lt; len(output) and len(output[array_pos_end]) == 1:
-                        array_pos_end += 1
-                    if array_pos_end - array_pos &gt; 1:
-                        possible_abbreviation = &quot;&quot;.join(output[array_pos:array_pos_end])
-                        if possible_abbreviation.upper() in Capitalizer.ABBREVIATION:
-                            output[array_pos:array_pos_end] = [possible_abbreviation]
-                        else:
-                            array_pos = array_pos_end - 1
-                array_pos += 1
-        return output
-
-    ABBREVIATION = frozenset([&quot;XHR&quot;, &quot;DOM&quot;, &quot;CSS&quot;])
-
-VALIDATOR_IFDEF_NAME = &quot;!ASSERT_DISABLED&quot;
-
-
-class DomainNameFixes:
-    @classmethod
-    def get_fixed_data(cls, domain_name):
-        field_name_res = Capitalizer.upper_camel_case_to_lower(domain_name) + &quot;Agent&quot;
-
-        class Res(object):
-            skip_js_bind = domain_name in cls.skip_js_bind_domains
-
-            @staticmethod
-            def get_guard():
-                if domain_name in DOMAIN_DEFINE_NAME_MAP:
-                    define_name = DOMAIN_DEFINE_NAME_MAP[domain_name]
-
-                    class Guard:
-                        @staticmethod
-                        def generate_open(output):
-                            output.append(&quot;#if ENABLE(%s)\n&quot; % define_name)
-
-                        @staticmethod
-                        def generate_close(output):
-                            output.append(&quot;#endif // ENABLE(%s)\n&quot; % define_name)
-
-                    return Guard
-
-        return Res
-
-    skip_js_bind_domains = set([&quot;DOMDebugger&quot;])
-
-
-class RawTypes(object):
-    @staticmethod
-    def get(json_type):
-        if json_type == &quot;boolean&quot;:
-            return RawTypes.Bool
-        elif json_type == &quot;string&quot;:
-            return RawTypes.String
-        elif json_type == &quot;array&quot;:
-            return RawTypes.Array
-        elif json_type == &quot;object&quot;:
-            return RawTypes.Object
-        elif json_type == &quot;integer&quot;:
-            return RawTypes.Int
-        elif json_type == &quot;number&quot;:
-            return RawTypes.Number
-        elif json_type == &quot;any&quot;:
-            return RawTypes.Any
-        else:
-            raise Exception(&quot;Unknown type: %s&quot; % json_type)
-
-    # For output parameter all values are passed by pointer except RefPtr-based types.
-    class OutputPassModel:
-        class ByPointer:
-            @staticmethod
-            def get_argument_prefix():
-                return &quot;&amp;&quot;
-
-            @staticmethod
-            def get_parameter_type_suffix():
-                return &quot;*&quot;
-
-        class ByReference:
-            @staticmethod
-            def get_argument_prefix():
-                return &quot;&quot;
-
-            @staticmethod
-            def get_parameter_type_suffix():
-                return &quot;&amp;&quot;
-
-    class BaseType(object):
-        need_internal_runtime_cast_ = False
-
-        @classmethod
-        def request_raw_internal_runtime_cast(cls):
-            if not cls.need_internal_runtime_cast_:
-                cls.need_internal_runtime_cast_ = True
-
-        @classmethod
-        def get_raw_validator_call_text(cls):
-            return &quot;RuntimeCastHelper::assertType&lt;Inspector::InspectorValue::Type%s&gt;&quot; % cls.get_validate_method_params().template_type
-
-    class String(BaseType):
-        @staticmethod
-        def get_getter_name():
-            return &quot;String&quot;
-
-        get_setter_name = get_getter_name
-
-        @staticmethod
-        def get_c_initializer():
-            return &quot;\&quot;\&quot;&quot;
-
-        @staticmethod
-        def get_js_bind_type():
-            return &quot;string&quot;
-
-        @staticmethod
-        def get_validate_method_params():
-            class ValidateMethodParams:
-                template_type = &quot;String&quot;
-            return ValidateMethodParams
-
-        @staticmethod
-        def get_output_pass_model():
-            return RawTypes.OutputPassModel.ByPointer
-
-        @staticmethod
-        def is_heavy_value():
-            return True
-
-        @staticmethod
-        def get_array_item_raw_c_type_text():
-            return &quot;String&quot;
-
-        @staticmethod
-        def get_raw_type_model():
-            return TypeModel.String
-
-    class Int(BaseType):
-        @staticmethod
-        def get_getter_name():
-            return &quot;Int&quot;
-
-        @staticmethod
-        def get_setter_name():
-            return &quot;Number&quot;
-
-        @staticmethod
-        def get_c_initializer():
-            return &quot;0&quot;
-
-        @staticmethod
-        def get_js_bind_type():
-            return &quot;number&quot;
-
-        @classmethod
-        def get_raw_validator_call_text(cls):
-            return &quot;RuntimeCastHelper::assertInt&quot;
-
-        @staticmethod
-        def get_output_pass_model():
-            return RawTypes.OutputPassModel.ByPointer
-
-        @staticmethod
-        def is_heavy_value():
-            return False
-
-        @staticmethod
-        def get_array_item_raw_c_type_text():
-            return &quot;int&quot;
-
-        @staticmethod
-        def get_raw_type_model():
-            return TypeModel.Int
-
-    class Number(BaseType):
-        @staticmethod
-        def get_getter_name():
-            return &quot;Double&quot;
-
-        @staticmethod
-        def get_setter_name():
-            return &quot;Number&quot;
-
-        @staticmethod
-        def get_c_initializer():
-            return &quot;0&quot;
-
-        @staticmethod
-        def get_js_bind_type():
-            return &quot;number&quot;
-
-        @staticmethod
-        def get_validate_method_params():
-            class ValidateMethodParams:
-                template_type = &quot;Number&quot;
-            return ValidateMethodParams
-
-        @staticmethod
-        def get_output_pass_model():
-            return RawTypes.OutputPassModel.ByPointer
-
-        @staticmethod
-        def is_heavy_value():
-            return False
-
-        @staticmethod
-        def get_array_item_raw_c_type_text():
-            return &quot;double&quot;
-
-        @staticmethod
-        def get_raw_type_model():
-            return TypeModel.Number
-
-    class Bool(BaseType):
-        @staticmethod
-        def get_getter_name():
-            return &quot;Boolean&quot;
-
-        get_setter_name = get_getter_name
-
-        @staticmethod
-        def get_c_initializer():
-            return &quot;false&quot;
-
-        @staticmethod
-        def get_js_bind_type():
-            return &quot;boolean&quot;
-
-        @staticmethod
-        def get_validate_method_params():
-            class ValidateMethodParams:
-                template_type = &quot;Boolean&quot;
-            return ValidateMethodParams
-
-        @staticmethod
-        def get_output_pass_model():
-            return RawTypes.OutputPassModel.ByPointer
-
-        @staticmethod
-        def is_heavy_value():
-            return False
-
-        @staticmethod
-        def get_array_item_raw_c_type_text():
-            return &quot;bool&quot;
-
-        @staticmethod
-        def get_raw_type_model():
-            return TypeModel.Bool
-
-    class Object(BaseType):
-        @staticmethod
-        def get_getter_name():
-            return &quot;Object&quot;
-
-        @staticmethod
-        def get_setter_name():
-            return &quot;Value&quot;
-
-        @staticmethod
-        def get_c_initializer():
-            return &quot;InspectorObject::create()&quot;
-
-        @staticmethod
-        def get_js_bind_type():
-            return &quot;object&quot;
-
-        @staticmethod
-        def get_output_argument_prefix():
-            return &quot;&quot;
-
-        @staticmethod
-        def get_validate_method_params():
-            class ValidateMethodParams:
-                template_type = &quot;Object&quot;
-            return ValidateMethodParams
-
-        @staticmethod
-        def get_output_pass_model():
-            return RawTypes.OutputPassModel.ByReference
-
-        @staticmethod
-        def is_heavy_value():
-            return True
-
-        @staticmethod
-        def get_array_item_raw_c_type_text():
-            return &quot;Inspector::InspectorObject&quot;
-
-        @staticmethod
-        def get_raw_type_model():
-            return TypeModel.Object
-
-    class Any(BaseType):
-        @staticmethod
-        def get_getter_name():
-            return &quot;Value&quot;
-
-        get_setter_name = get_getter_name
-
-        @staticmethod
-        def get_c_initializer():
-            raise Exception(&quot;Unsupported&quot;)
-
-        @staticmethod
-        def get_js_bind_type():
-            raise Exception(&quot;Unsupported&quot;)
-
-        @staticmethod
-        def get_raw_validator_call_text():
-            return &quot;RuntimeCastHelper::assertAny&quot;
-
-        @staticmethod
-        def get_output_pass_model():
-            return RawTypes.OutputPassModel.ByReference
-
-        @staticmethod
-        def is_heavy_value():
-            return True
-
-        @staticmethod
-        def get_array_item_raw_c_type_text():
-            return &quot;Inspector::InspectorValue&quot;
-
-        @staticmethod
-        def get_raw_type_model():
-            return TypeModel.Any
-
-    class Array(BaseType):
-        @staticmethod
-        def get_getter_name():
-            return &quot;Array&quot;
-
-        @staticmethod
-        def get_setter_name():
-            return &quot;Value&quot;
-
-        @staticmethod
-        def get_c_initializer():
-            return &quot;InspectorArray::create()&quot;
-
-        @staticmethod
-        def get_js_bind_type():
-            return &quot;object&quot;
-
-        @staticmethod
-        def get_output_argument_prefix():
-            return &quot;&quot;
-
-        @staticmethod
-        def get_validate_method_params():
-            class ValidateMethodParams:
-                template_type = &quot;Array&quot;
-            return ValidateMethodParams
-
-        @staticmethod
-        def get_output_pass_model():
-            return RawTypes.OutputPassModel.ByReference
-
-        @staticmethod
-        def is_heavy_value():
-            return True
-
-        @staticmethod
-        def get_array_item_raw_c_type_text():
-            return &quot;Inspector::InspectorArray&quot;
-
-        @staticmethod
-        def get_raw_type_model():
-            return TypeModel.Array
-
-
-def replace_right_shift(input_str):
-    return input_str.replace(&quot;&gt;&gt;&quot;, &quot;&gt; &gt;&quot;)
-
-
-class CommandReturnPassModel:
-    class ByReference:
-        def __init__(self, var_type, set_condition):
-            self.var_type = var_type
-            self.set_condition = set_condition
-
-        def get_return_var_type(self):
-            return self.var_type
-
-        @staticmethod
-        def get_output_argument_prefix():
-            return &quot;&quot;
-
-        @staticmethod
-        def get_output_to_raw_expression():
-            return &quot;%s&quot;
-
-        def get_output_parameter_type(self):
-            return self.var_type + &quot;&amp;&quot;
-
-        def get_set_return_condition(self):
-            return self.set_condition
-
-    class ByPointer:
-        def __init__(self, var_type):
-            self.var_type = var_type
-
-        def get_return_var_type(self):
-            return self.var_type
-
-        @staticmethod
-        def get_output_argument_prefix():
-            return &quot;&amp;&quot;
-
-        @staticmethod
-        def get_output_to_raw_expression():
-            return &quot;%s&quot;
-
-        def get_output_parameter_type(self):
-            return self.var_type + &quot;*&quot;
-
-        @staticmethod
-        def get_set_return_condition():
-            return None
-
-    class OptOutput:
-        def __init__(self, var_type):
-            self.var_type = var_type
-
-        def get_return_var_type(self):
-            return &quot;Inspector::TypeBuilder::OptOutput&lt;%s&gt;&quot; % self.var_type
-
-        @staticmethod
-        def get_output_argument_prefix():
-            return &quot;&amp;&quot;
-
-        @staticmethod
-        def get_output_to_raw_expression():
-            return &quot;%s.getValue()&quot;
-
-        def get_output_parameter_type(self):
-            return &quot;Inspector::TypeBuilder::OptOutput&lt;%s&gt;*&quot; % self.var_type
-
-        @staticmethod
-        def get_set_return_condition():
-            return &quot;%s.isAssigned()&quot;
-
-
-class TypeModel:
-    class RefPtrBased(object):
-        def __init__(self, class_name):
-            self.class_name = class_name
-            self.optional = False
-
-        def get_optional(self):
-            result = TypeModel.RefPtrBased(self.class_name)
-            result.optional = True
-            return result
-
-        def get_command_return_pass_model(self):
-            if self.optional:
-                set_condition = &quot;%s&quot;
-            else:
-                set_condition = None
-            return CommandReturnPassModel.ByReference(replace_right_shift(&quot;RefPtr&lt;%s&gt;&quot; % self.class_name), set_condition)
-
-        def get_input_param_type_text(self):
-            return replace_right_shift(&quot;PassRefPtr&lt;%s&gt;&quot; % self.class_name)
-
-        @staticmethod
-        def get_event_setter_expression_pattern():
-            return &quot;%s&quot;
-
-    class Enum(object):
-        def __init__(self, base_type_name):
-            self.type_name = base_type_name + &quot;::Enum&quot;
-
-        def get_optional(base_self):
-            class EnumOptional:
-                @classmethod
-                def get_optional(cls):
-                    return cls
-
-                @staticmethod
-                def get_command_return_pass_model():
-                    return CommandReturnPassModel.OptOutput(base_self.type_name)
-
-                @staticmethod
-                def get_input_param_type_text():
-                    return base_self.type_name + &quot;*&quot;
-
-                @staticmethod
-                def get_event_setter_expression_pattern():
-                    raise Exception(&quot;TODO&quot;)
-            return EnumOptional
-
-        def get_command_return_pass_model(self):
-            return CommandReturnPassModel.ByPointer(self.type_name)
-
-        def get_input_param_type_text(self):
-            return self.type_name
-
-        @staticmethod
-        def get_event_setter_expression_pattern():
-            return &quot;%s&quot;
-
-    class ValueType(object):
-        def __init__(self, type_name, is_heavy):
-            self.type_name = type_name
-            self.is_heavy = is_heavy
-
-        def get_optional(self):
-            return self.ValueOptional(self)
-
-        def get_command_return_pass_model(self):
-            return CommandReturnPassModel.ByPointer(self.type_name)
-
-        def get_input_param_type_text(self):
-            if self.is_heavy:
-                return &quot;const %s&amp;&quot; % self.type_name
-            else:
-                return self.type_name
-
-        def get_opt_output_type_(self):
-            return self.type_name
-
-        @staticmethod
-        def get_event_setter_expression_pattern():
-            return &quot;%s&quot;
-
-        class ValueOptional:
-            def __init__(self, base):
-                self.base = base
-
-            def get_optional(self):
-                return self
-
-            def get_command_return_pass_model(self):
-                return CommandReturnPassModel.OptOutput(self.base.get_opt_output_type_())
-
-            def get_input_param_type_text(self):
-                return &quot;const %s* const&quot; % self.base.type_name
-
-            @staticmethod
-            def get_event_setter_expression_pattern():
-                return &quot;*%s&quot;
-
-    class ExactlyInt(ValueType):
-        def __init__(self):
-            TypeModel.ValueType.__init__(self, &quot;int&quot;, False)
-
-        def get_input_param_type_text(self):
-            return &quot;Inspector::TypeBuilder::ExactlyInt&quot;
-
-        def get_opt_output_type_(self):
-            return &quot;Inspector::TypeBuilder::ExactlyInt&quot;
-
-    @classmethod
-    def init_class(cls):
-        cls.Bool = cls.ValueType(&quot;bool&quot;, False)
-        if EXACTLY_INT_SUPPORTED:
-            cls.Int = cls.ExactlyInt()
-        else:
-            cls.Int = cls.ValueType(&quot;int&quot;, False)
-        cls.Number = cls.ValueType(&quot;double&quot;, False)
-        cls.String = cls.ValueType(&quot;String&quot;, True,)
-        cls.Object = cls.RefPtrBased(&quot;Inspector::InspectorObject&quot;)
-        cls.Array = cls.RefPtrBased(&quot;Inspector::InspectorArray&quot;)
-        cls.Any = cls.RefPtrBased(&quot;Inspector::InspectorValue&quot;)
-
-TypeModel.init_class()
-
-
-# Collection of InspectorObject class methods that are likely to be overloaded in generated class.
-# We must explicitly import all overloaded methods or they won't be available to user.
-INSPECTOR_OBJECT_SETTER_NAMES = frozenset([&quot;setValue&quot;, &quot;setBoolean&quot;, &quot;setNumber&quot;, &quot;setString&quot;, &quot;setValue&quot;, &quot;setObject&quot;, &quot;setArray&quot;])
-
-
-def fix_type_name(json_name):
-    if json_name in TYPE_NAME_FIX_MAP:
-        fixed = TYPE_NAME_FIX_MAP[json_name]
-
-        class Result(object):
-            class_name = fixed
-
-            @staticmethod
-            def output_comment(writer):
-                writer.newline(&quot;// Type originally was named '%s'.\n&quot; % json_name)
-    else:
-
-        class Result(object):
-            class_name = json_name
-
-            @staticmethod
-            def output_comment(writer):
-                pass
-
-    return Result
-
-
-class Writer:
-    def __init__(self, output, indent):
-        self.output = output
-        self.indent = indent
-
-    def newline(self, str):
-        if (self.indent):
-            self.output.append(self.indent)
-        self.output.append(str)
-
-    def append(self, str):
-        self.output.append(str)
-
-    def newline_multiline(self, str):
-        parts = str.split('\n')
-        self.newline(parts[0])
-        for p in parts[1:]:
-            self.output.append('\n')
-            if p:
-                self.newline(p)
-
-    def append_multiline(self, str):
-        parts = str.split('\n')
-        self.append(parts[0])
-        for p in parts[1:]:
-            self.output.append('\n')
-            if p:
-                self.newline(p)
-
-    def get_indent(self):
-        return self.indent
-
-    def get_indented(self, additional_indent):
-        return Writer(self.output, self.indent + additional_indent)
-
-    def insert_writer(self, additional_indent):
-        new_output = []
-        self.output.append(new_output)
-        return Writer(new_output, self.indent + additional_indent)
-
-
-class EnumConstants:
-    map_ = {}
-    constants_ = []
-
-    @classmethod
-    def add_constant(cls, value):
-        if value in cls.map_:
-            return cls.map_[value]
-        else:
-            pos = len(cls.map_)
-            cls.map_[value] = pos
-            cls.constants_.append(value)
-            return pos
-
-    @classmethod
-    def get_enum_constant_code(cls):
-        output = []
-        for item in cls.constants_:
-            output.append(&quot;    \&quot;&quot; + item + &quot;\&quot;&quot;)
-        return &quot;,\n&quot;.join(output) + &quot;\n&quot;
-
-
-# Typebuilder code is generated in several passes: first typedefs, then other classes.
-# Manual pass management is needed because we cannot have forward declarations for typedefs.
-class TypeBuilderPass:
-    TYPEDEF = &quot;typedef&quot;
-    MAIN = &quot;main&quot;
-
-
-class TypeBindings:
-    @staticmethod
-    def create_named_type_declaration(json_typable, context_domain_name, type_data):
-        json_type = type_data.get_json_type()
-
-        class Helper:
-            is_ad_hoc = False
-            full_name_prefix_for_use = &quot;Inspector::TypeBuilder::&quot; + context_domain_name + &quot;::&quot;
-            full_name_prefix_for_impl = &quot;Inspector::TypeBuilder::&quot; + context_domain_name + &quot;::&quot;
-
-            @staticmethod
-            def write_doc(writer):
-                if &quot;description&quot; in json_type:
-                    writer.newline(&quot;/* &quot;)
-                    writer.append(json_type[&quot;description&quot;])
-                    writer.append(&quot; */\n&quot;)
-
-            @staticmethod
-            def add_to_forward_listener(forward_listener):
-                forward_listener.add_type_data(type_data)
-
-
-        fixed_type_name = fix_type_name(json_type[&quot;id&quot;])
-        return TypeBindings.create_type_declaration_(json_typable, context_domain_name, fixed_type_name, Helper)
-
-    @staticmethod
-    def create_ad_hoc_type_declaration(json_typable, context_domain_name, ad_hoc_type_context):
-        class Helper:
-            is_ad_hoc = True
-            full_name_prefix_for_use = ad_hoc_type_context.container_relative_name_prefix
-            full_name_prefix_for_impl = ad_hoc_type_context.container_full_name_prefix
-
-            @staticmethod
-            def write_doc(writer):
-                pass
-
-            @staticmethod
-            def add_to_forward_listener(forward_listener):
-                pass
-        fixed_type_name = ad_hoc_type_context.get_type_name_fix()
-        return TypeBindings.create_type_declaration_(json_typable, context_domain_name, fixed_type_name, Helper)
-
-    @staticmethod
-    def create_type_declaration_(json_typable, context_domain_name, fixed_type_name, helper):
-        if json_typable[&quot;type&quot;] == &quot;string&quot;:
-            if &quot;enum&quot; in json_typable:
-
-                class EnumBinding:
-                    need_user_runtime_cast_ = False
-                    need_internal_runtime_cast_ = False
-
-                    @classmethod
-                    def resolve_inner(cls, resolve_context):
-                        pass
-
-                    @classmethod
-                    def request_user_runtime_cast(cls, request):
-                        if request:
-                            cls.need_user_runtime_cast_ = True
-                            request.acknowledge()
-
-                    @classmethod
-                    def request_internal_runtime_cast(cls):
-                        cls.need_internal_runtime_cast_ = True
-
-                    @classmethod
-                    def get_code_generator(enum_binding_cls):
-                        #FIXME: generate ad-hoc enums too once we figure out how to better implement them in C++.
-                        comment_out = helper.is_ad_hoc
-
-                        class CodeGenerator:
-                            @staticmethod
-                            def generate_type_builder(writer, generate_context):
-                                enum = json_typable[&quot;enum&quot;]
-                                helper.write_doc(writer)
-                                enum_name = fixed_type_name.class_name
-                                fixed_type_name.output_comment(writer)
-                                writer.newline(&quot;struct &quot;)
-                                writer.append(enum_name)
-                                writer.append(&quot; {\n&quot;)
-                                writer.newline(&quot;    enum Enum {\n&quot;)
-                                for enum_item in enum:
-                                    enum_pos = EnumConstants.add_constant(enum_item)
-
-                                    item_c_name = fix_camel_case(enum_item)
-                                    if item_c_name in TYPE_NAME_FIX_MAP:
-                                        item_c_name = TYPE_NAME_FIX_MAP[item_c_name]
-                                    writer.newline(&quot;        &quot;)
-                                    writer.append(item_c_name)
-                                    writer.append(&quot; = &quot;)
-                                    writer.append(&quot;%s&quot; % enum_pos)
-                                    writer.append(&quot;,\n&quot;)
-                                writer.newline(&quot;    };\n&quot;)
-                                if enum_binding_cls.need_user_runtime_cast_:
-                                    raise Exception(&quot;Not yet implemented&quot;)
-
-                                if enum_binding_cls.need_internal_runtime_cast_:
-                                    writer.append(&quot;#if %s\n&quot; % VALIDATOR_IFDEF_NAME)
-                                    writer.newline(&quot;    static void assertCorrectValue(Inspector::InspectorValue* value);\n&quot;)
-                                    writer.append(&quot;#endif  // %s\n&quot; % VALIDATOR_IFDEF_NAME)
-
-                                    validator_writer = generate_context.validator_writer
-
-                                    domain_fixes = DomainNameFixes.get_fixed_data(context_domain_name)
-                                    domain_guard = domain_fixes.get_guard()
-                                    if domain_guard:
-                                        domain_guard.generate_open(validator_writer)
-
-                                    validator_writer.newline(&quot;void %s%s::assertCorrectValue(Inspector::InspectorValue* value)\n&quot; % (helper.full_name_prefix_for_impl, enum_name))
-                                    validator_writer.newline(&quot;{\n&quot;)
-                                    validator_writer.newline(&quot;    WTF::String s;\n&quot;)
-                                    validator_writer.newline(&quot;    bool cast_res = value-&gt;asString(&amp;s);\n&quot;)
-                                    validator_writer.newline(&quot;    ASSERT(cast_res);\n&quot;)
-                                    if len(enum) &gt; 0:
-                                        condition_list = []
-                                        for enum_item in enum:
-                                            enum_pos = EnumConstants.add_constant(enum_item)
-                                            condition_list.append(&quot;s == \&quot;%s\&quot;&quot; % enum_item)
-                                        validator_writer.newline(&quot;    ASSERT(%s);\n&quot; % &quot; || &quot;.join(condition_list))
-                                    validator_writer.newline(&quot;}\n&quot;)
-
-                                    if domain_guard:
-                                        domain_guard.generate_close(validator_writer)
-
-                                    validator_writer.newline(&quot;\n\n&quot;)
-
-                                writer.newline(&quot;}; // struct &quot;)
-                                writer.append(enum_name)
-                                writer.append(&quot;\n&quot;)
-
-                            @staticmethod
-                            def register_use(forward_listener):
-                                pass
-
-                            @staticmethod
-                            def get_generate_pass_id():
-                                return TypeBuilderPass.MAIN
-
-                        return CodeGenerator
-
-                    @classmethod
-                    def get_validator_call_text(cls):
-                        return helper.full_name_prefix_for_use + fixed_type_name.class_name + &quot;::assertCorrectValue&quot;
-
-                    @classmethod
-                    def get_array_item_c_type_text(cls):
-                        return helper.full_name_prefix_for_use + fixed_type_name.class_name + &quot;::Enum&quot;
-
-                    @staticmethod
-                    def get_setter_value_expression_pattern():
-                        return &quot;Inspector::TypeBuilder::getEnumConstantValue(%s)&quot;
-
-                    @staticmethod
-                    def reduce_to_raw_type():
-                        return RawTypes.String
-
-                    @staticmethod
-                    def get_type_model():
-                        return TypeModel.Enum(helper.full_name_prefix_for_use + fixed_type_name.class_name)
-
-                return EnumBinding
-            else:
-                if helper.is_ad_hoc:
-
-                    class PlainString:
-                        @classmethod
-                        def resolve_inner(cls, resolve_context):
-                            pass
-
-                        @staticmethod
-                        def request_user_runtime_cast(request):
-                            raise Exception(&quot;Unsupported&quot;)
-
-                        @staticmethod
-                        def request_internal_runtime_cast():
-                            pass
-
-                        @staticmethod
-                        def get_code_generator():
-                            return None
-
-                        @classmethod
-                        def get_validator_call_text(cls):
-                            return RawTypes.String.get_raw_validator_call_text()
-
-                        @staticmethod
-                        def reduce_to_raw_type():
-                            return RawTypes.String
-
-                        @staticmethod
-                        def get_type_model():
-                            return TypeModel.String
-
-                        @staticmethod
-                        def get_setter_value_expression_pattern():
-                            return None
-
-                        @classmethod
-                        def get_array_item_c_type_text(cls):
-                            return cls.reduce_to_raw_type().get_array_item_raw_c_type_text()
-
-                    return PlainString
-
-                else:
-
-                    class TypedefString:
-                        @classmethod
-                        def resolve_inner(cls, resolve_context):
-                            pass
-
-                        @staticmethod
-                        def request_user_runtime_cast(request):
-                            raise Exception(&quot;Unsupported&quot;)
-
-                        @staticmethod
-                        def request_internal_runtime_cast():
-                            RawTypes.String.request_raw_internal_runtime_cast()
-
-                        @staticmethod
-                        def get_code_generator():
-                            class CodeGenerator:
-                                @staticmethod
-                                def generate_type_builder(writer, generate_context):
-                                    helper.write_doc(writer)
-                                    fixed_type_name.output_comment(writer)
-                                    writer.newline(&quot;typedef String &quot;)
-                                    writer.append(fixed_type_name.class_name)
-                                    writer.append(&quot;;\n\n&quot;)
-
-                                @staticmethod
-                                def register_use(forward_listener):
-                                    pass
-
-                                @staticmethod
-                                def get_generate_pass_id():
-                                    return TypeBuilderPass.TYPEDEF
-
-                            return CodeGenerator
-
-                        @classmethod
-                        def get_validator_call_text(cls):
-                            return RawTypes.String.get_raw_validator_call_text()
-
-                        @staticmethod
-                        def reduce_to_raw_type():
-                            return RawTypes.String
-
-                        @staticmethod
-                        def get_type_model():
-                            return TypeModel.ValueType(&quot;%s%s&quot; % (helper.full_name_prefix_for_use, fixed_type_name.class_name), True)
-
-                        @staticmethod
-                        def get_setter_value_expression_pattern():
-                            return None
-
-                        @classmethod
-                        def get_array_item_c_type_text(cls):
-                            return &quot;const %s%s&amp;&quot; % (helper.full_name_prefix_for_use, fixed_type_name.class_name)
-
-                    return TypedefString
-
-        elif json_typable[&quot;type&quot;] == &quot;object&quot;:
-            if &quot;properties&quot; in json_typable:
-
-                class ClassBinding:
-                    resolve_data_ = None
-                    need_user_runtime_cast_ = False
-                    need_internal_runtime_cast_ = False
-
-                    @classmethod
-                    def resolve_inner(cls, resolve_context):
-                        if cls.resolve_data_:
-                            return
-
-                        properties = json_typable[&quot;properties&quot;]
-                        main = []
-                        optional = []
-
-                        ad_hoc_type_list = []
-
-                        for prop in properties:
-                            prop_name = prop[&quot;name&quot;]
-                            ad_hoc_type_context = cls.AdHocTypeContextImpl(prop_name, fixed_type_name.class_name, resolve_context, ad_hoc_type_list, helper.full_name_prefix_for_impl)
-                            binding = resolve_param_type(prop, context_domain_name, ad_hoc_type_context)
-
-                            code_generator = binding.get_code_generator()
-                            if code_generator:
-                                code_generator.register_use(resolve_context.forward_listener)
-
-                            class PropertyData:
-                                param_type_binding = binding
-                                p = prop
-
-                            if prop.get(&quot;optional&quot;):
-                                optional.append(PropertyData)
-                            else:
-                                main.append(PropertyData)
-
-                        class ResolveData:
-                            main_properties = main
-                            optional_properties = optional
-                            ad_hoc_types = ad_hoc_type_list
-
-                        cls.resolve_data_ = ResolveData
-
-                        for ad_hoc in ad_hoc_type_list:
-                            ad_hoc.resolve_inner(resolve_context)
-
-                    @classmethod
-                    def request_user_runtime_cast(cls, request):
-                        if not request:
-                            return
-                        cls.need_user_runtime_cast_ = True
-                        request.acknowledge()
-                        cls.request_internal_runtime_cast()
-
-                    @classmethod
-                    def request_internal_runtime_cast(cls):
-                        if cls.need_internal_runtime_cast_:
-                            return
-                        cls.need_internal_runtime_cast_ = True
-                        for p in cls.resolve_data_.main_properties:
-                            p.param_type_binding.request_internal_runtime_cast()
-                        for p in cls.resolve_data_.optional_properties:
-                            p.param_type_binding.request_internal_runtime_cast()
-
-                    @classmethod
-                    def get_code_generator(class_binding_cls):
-                        class CodeGenerator:
-                            @classmethod
-                            def generate_type_builder(cls, writer, generate_context):
-                                resolve_data = class_binding_cls.resolve_data_
-                                helper.write_doc(writer)
-                                class_name = fixed_type_name.class_name
-
-                                is_open_type = (context_domain_name + &quot;.&quot; + class_name) in TYPES_WITH_OPEN_FIELD_LIST_SET
-
-                                fixed_type_name.output_comment(writer)
-                                writer.newline(&quot;class &quot;)
-                                writer.append(class_name)
-                                writer.append(&quot; : public &quot;)
-                                if is_open_type:
-                                    writer.append(&quot;Inspector::InspectorObject&quot;)
-                                else:
-                                    writer.append(&quot;Inspector::InspectorObjectBase&quot;)
-                                writer.append(&quot; {\n&quot;)
-                                writer.newline(&quot;public:\n&quot;)
-                                ad_hoc_type_writer = writer.insert_writer(&quot;    &quot;)
-
-                                for ad_hoc_type in resolve_data.ad_hoc_types:
-                                    code_generator = ad_hoc_type.get_code_generator()
-                                    if code_generator:
-                                        code_generator.generate_type_builder(ad_hoc_type_writer, generate_context)
-
-                                writer.newline_multiline(
-&quot;&quot;&quot;    enum {
-        NoFieldsSet = 0,
-&quot;&quot;&quot;)
-
-                                state_enum_items = []
-                                if len(resolve_data.main_properties) &gt; 0:
-                                    pos = 0
-                                    for prop_data in resolve_data.main_properties:
-                                        item_name = Capitalizer.lower_camel_case_to_upper(prop_data.p[&quot;name&quot;]) + &quot;Set&quot;
-                                        state_enum_items.append(item_name)
-                                        writer.newline(&quot;        %s = 1 &lt;&lt; %s,\n&quot; % (item_name, pos))
-                                        pos += 1
-                                    all_fields_set_value = &quot;(&quot; + (&quot; | &quot;.join(state_enum_items)) + &quot;)&quot;
-                                else:
-                                    all_fields_set_value = &quot;0&quot;
-
-                                writer.newline_multiline(CodeGeneratorInspectorStrings.class_binding_builder_part_1
-                                                         % (all_fields_set_value, class_name, class_name))
-
-                                pos = 0
-                                for prop_data in resolve_data.main_properties:
-                                    prop_name = prop_data.p[&quot;name&quot;]
-
-                                    param_type_binding = prop_data.param_type_binding
-                                    param_raw_type = param_type_binding.reduce_to_raw_type()
-
-                                    writer.newline_multiline(CodeGeneratorInspectorStrings.class_binding_builder_part_2
-                                        % (state_enum_items[pos],
-                                           Capitalizer.lower_camel_case_to_upper(prop_name),
-                                           param_type_binding.get_type_model().get_input_param_type_text(),
-                                           state_enum_items[pos], prop_name,
-                                           param_raw_type.get_setter_name(), prop_name,
-                                           format_setter_value_expression(param_type_binding, &quot;value&quot;),
-                                           state_enum_items[pos]))
-
-                                    pos += 1
-
-                                writer.newline_multiline(CodeGeneratorInspectorStrings.class_binding_builder_part_3
-                                                         % (class_name, class_name, class_name, class_name, class_name))
-
-                                writer.newline(&quot;    /*\n&quot;)
-                                writer.newline(&quot;     * Synthetic constructor:\n&quot;)
-                                writer.newline(&quot;     * RefPtr&lt;%s&gt; result = %s::create()&quot; % (class_name, class_name))
-                                for prop_data in resolve_data.main_properties:
-                                    writer.append_multiline(&quot;\n     *     .set%s(...)&quot; % Capitalizer.lower_camel_case_to_upper(prop_data.p[&quot;name&quot;]))
-                                writer.append_multiline(&quot;;\n     */\n&quot;)
-
-                                writer.newline_multiline(CodeGeneratorInspectorStrings.class_binding_builder_part_4)
-
-                                writer.newline(&quot;    typedef Inspector::TypeBuilder::StructItemTraits ItemTraits;\n&quot;)
-
-                                for prop_data in resolve_data.optional_properties:
-                                    prop_name = prop_data.p[&quot;name&quot;]
-                                    param_type_binding = prop_data.param_type_binding
-                                    setter_name = &quot;set%s&quot; % Capitalizer.lower_camel_case_to_upper(prop_name)
-
-                                    writer.append_multiline(&quot;\n    void %s&quot; % setter_name)
-                                    writer.append(&quot;(%s value)\n&quot; % param_type_binding.get_type_model().get_input_param_type_text())
-                                    writer.newline(&quot;    {\n&quot;)
-                                    writer.newline(&quot;        this-&gt;set%s(ASCIILiteral(\&quot;%s\&quot;), %s);\n&quot;
-                                        % (param_type_binding.reduce_to_raw_type().get_setter_name(), prop_data.p[&quot;name&quot;],
-                                           format_setter_value_expression(param_type_binding, &quot;value&quot;)))
-                                    writer.newline(&quot;    }\n&quot;)
-
-
-                                    if setter_name in INSPECTOR_OBJECT_SETTER_NAMES:
-                                        writer.newline(&quot;    using Inspector::InspectorObjectBase::%s;\n\n&quot; % setter_name)
-
-                                if class_binding_cls.need_user_runtime_cast_:
-                                    writer.newline(&quot;    static PassRefPtr&lt;%s&gt; runtimeCast(PassRefPtr&lt;Inspector::InspectorValue&gt; value)\n&quot; % class_name)
-                                    writer.newline(&quot;    {\n&quot;)
-                                    writer.newline(&quot;        RefPtr&lt;Inspector::InspectorObject&gt; object;\n&quot;)
-                                    writer.newline(&quot;        bool castRes = value-&gt;asObject(&amp;object);\n&quot;)
-                                    writer.newline(&quot;        ASSERT_UNUSED(castRes, castRes);\n&quot;)
-                                    writer.append(&quot;#if %s\n&quot; % VALIDATOR_IFDEF_NAME)
-                                    writer.newline(&quot;        assertCorrectValue(object.get());\n&quot;)
-                                    writer.append(&quot;#endif  // %s\n&quot; % VALIDATOR_IFDEF_NAME)
-                                    writer.newline(&quot;        COMPILE_ASSERT(sizeof(%s) == sizeof(Inspector::InspectorObjectBase), type_cast_problem);\n&quot; % class_name)
-                                    writer.newline(&quot;        return static_cast&lt;%s*&gt;(static_cast&lt;Inspector::InspectorObjectBase*&gt;(object.get()));\n&quot; % class_name)
-                                    writer.newline(&quot;    }\n&quot;)
-                                    writer.append(&quot;\n&quot;)
-
-                                if class_binding_cls.need_internal_runtime_cast_:
-                                    writer.append(&quot;#if %s\n&quot; % VALIDATOR_IFDEF_NAME)
-                                    writer.newline(&quot;    static void assertCorrectValue(Inspector::InspectorValue* value);\n&quot;)
-                                    writer.append(&quot;#endif  // %s\n&quot; % VALIDATOR_IFDEF_NAME)
-
-                                    closed_field_set = (context_domain_name + &quot;.&quot; + class_name) not in TYPES_WITH_OPEN_FIELD_LIST_SET
-
-                                    validator_writer = generate_context.validator_writer
-
-                                    domain_fixes = DomainNameFixes.get_fixed_data(context_domain_name)
-                                    domain_guard = domain_fixes.get_guard()
-                                    if domain_guard:
-                                        domain_guard.generate_open(validator_writer)
-
-                                    validator_writer.newline(&quot;void %s%s::assertCorrectValue(Inspector::InspectorValue* value)\n&quot; % (helper.full_name_prefix_for_impl, class_name))
-                                    validator_writer.newline(&quot;{\n&quot;)
-                                    validator_writer.newline(&quot;    RefPtr&lt;InspectorObject&gt; object;\n&quot;)
-                                    validator_writer.newline(&quot;    bool castRes = value-&gt;asObject(&amp;object);\n&quot;)
-                                    validator_writer.newline(&quot;    ASSERT_UNUSED(castRes, castRes);\n&quot;)
-                                    for prop_data in resolve_data.main_properties:
-                                        validator_writer.newline(&quot;    {\n&quot;)
-                                        it_name = &quot;%sPos&quot; % prop_data.p[&quot;name&quot;]
-                                        validator_writer.newline(&quot;        InspectorObject::iterator %s;\n&quot; % it_name)
-                                        validator_writer.newline(&quot;        %s = object-&gt;find(\&quot;%s\&quot;);\n&quot; % (it_name, prop_data.p[&quot;name&quot;]))
-                                        validator_writer.newline(&quot;        ASSERT(%s != object-&gt;end());\n&quot; % it_name)
-                                        validator_writer.newline(&quot;        %s(%s-&gt;value.get());\n&quot; % (prop_data.param_type_binding.get_validator_call_text(), it_name))
-                                        validator_writer.newline(&quot;    }\n&quot;)
-
-                                    if closed_field_set:
-                                        validator_writer.newline(&quot;    int foundPropertiesCount = %s;\n&quot; % len(resolve_data.main_properties))
-
-                                    for prop_data in resolve_data.optional_properties:
-                                        validator_writer.newline(&quot;    {\n&quot;)
-                                        it_name = &quot;%sPos&quot; % prop_data.p[&quot;name&quot;]
-                                        validator_writer.newline(&quot;        InspectorObject::iterator %s;\n&quot; % it_name)
-                                        validator_writer.newline(&quot;        %s = object-&gt;find(\&quot;%s\&quot;);\n&quot; % (it_name, prop_data.p[&quot;name&quot;]))
-                                        validator_writer.newline(&quot;        if (%s != object-&gt;end()) {\n&quot; % it_name)
-                                        validator_writer.newline(&quot;            %s(%s-&gt;value.get());\n&quot; % (prop_data.param_type_binding.get_validator_call_text(), it_name))
-                                        if closed_field_set:
-                                            validator_writer.newline(&quot;            ++foundPropertiesCount;\n&quot;)
-                                        validator_writer.newline(&quot;        }\n&quot;)
-                                        validator_writer.newline(&quot;    }\n&quot;)
-
-                                    if closed_field_set:
-                                        validator_writer.newline(&quot;    if (foundPropertiesCount != object-&gt;size()) {\n&quot;)
-                                        validator_writer.newline(&quot;      FATAL(\&quot;Unexpected properties in object: %s\\n\&quot;, object-&gt;toJSONString().ascii().data());\n&quot;)
-                                        validator_writer.newline(&quot;    }\n&quot;)
-                                    validator_writer.newline(&quot;}\n&quot;)
-
-                                    if domain_guard:
-                                        domain_guard.generate_close(validator_writer)
-
-                                    validator_writer.newline(&quot;\n\n&quot;)
-
-                                if is_open_type:
-                                    cpp_writer = generate_context.cpp_writer
-                                    writer.append(&quot;\n&quot;)
-                                    writer.newline(&quot;    // Property names for type generated as open.\n&quot;)
-                                    for prop_data in resolve_data.main_properties + resolve_data.optional_properties:
-                                        prop_name = prop_data.p[&quot;name&quot;]
-                                        prop_field_name = Capitalizer.lower_camel_case_to_upper(prop_name)
-                                        writer.newline(&quot;    static const char* %s;\n&quot; % (prop_field_name))
-                                        cpp_writer.newline(&quot;const char* %s%s::%s = \&quot;%s\&quot;;\n&quot; % (helper.full_name_prefix_for_impl, class_name, prop_field_name, prop_name))
-
-
-                                writer.newline(&quot;};\n\n&quot;)
-
-                            @staticmethod
-                            def generate_forward_declaration(writer):
-                                class_name = fixed_type_name.class_name
-                                writer.newline(&quot;class &quot;)
-                                writer.append(class_name)
-                                writer.append(&quot;;\n&quot;)
-
-                            @staticmethod
-                            def register_use(forward_listener):
-                                helper.add_to_forward_listener(forward_listener)
-
-                            @staticmethod
-                            def get_generate_pass_id():
-                                return TypeBuilderPass.MAIN
-
-                        return CodeGenerator
-
-                    @staticmethod
-                    def get_validator_call_text():
-                        return helper.full_name_prefix_for_use + fixed_type_name.class_name + &quot;::assertCorrectValue&quot;
-
-                    @classmethod
-                    def get_array_item_c_type_text(cls):
-                        return helper.full_name_prefix_for_use + fixed_type_name.class_name
-
-                    @staticmethod
-                    def get_setter_value_expression_pattern():
-                        return None
-
-                    @staticmethod
-                    def reduce_to_raw_type():
-                        return RawTypes.Object
-
-                    @staticmethod
-                    def get_type_model():
-                        return TypeModel.RefPtrBased(helper.full_name_prefix_for_use + fixed_type_name.class_name)
-
-                    class AdHocTypeContextImpl:
-                        def __init__(self, property_name, class_name, resolve_context, ad_hoc_type_list, parent_full_name_prefix):
-                            self.property_name = property_name
-                            self.class_name = class_name
-                            self.resolve_context = resolve_context
-                            self.ad_hoc_type_list = ad_hoc_type_list
-                            self.container_full_name_prefix = parent_full_name_prefix + class_name + &quot;::&quot;
-                            self.container_relative_name_prefix = &quot;&quot;
-
-                        def get_type_name_fix(self):
-                            class NameFix:
-                                class_name = Capitalizer.lower_camel_case_to_upper(self.property_name)
-
-                                @staticmethod
-                                def output_comment(writer):
-                                    writer.newline(&quot;// Named after property name '%s' while generating %s.\n&quot; % (self.property_name, self.class_name))
-
-                            return NameFix
-
-                        def add_type(self, binding):
-                            self.ad_hoc_type_list.append(binding)
-
-                return ClassBinding
-            else:
-
-                class PlainObjectBinding:
-                    @classmethod
-                    def resolve_inner(cls, resolve_context):
-                        pass
-
-                    @staticmethod
-                    def request_user_runtime_cast(request):
-                        pass
-
-                    @staticmethod
-                    def request_internal_runtime_cast():
-                        RawTypes.Object.request_raw_internal_runtime_cast()
-
-                    @staticmethod
-                    def get_code_generator():
-                        pass
-
-                    @staticmethod
-                    def get_validator_call_text():
-                        return &quot;RuntimeCastHelper::assertType&lt;InspectorValue::TypeObject&gt;&quot;
-
-                    @classmethod
-                    def get_array_item_c_type_text(cls):
-                        return cls.reduce_to_raw_type().get_array_item_raw_c_type_text()
-
-                    @staticmethod
-                    def get_setter_value_expression_pattern():
-                        return None
-
-                    @staticmethod
-                    def reduce_to_raw_type():
-                        return RawTypes.Object
-
-                    @staticmethod
-                    def get_type_model():
-                        return TypeModel.Object
-
-                return PlainObjectBinding
-        elif json_typable[&quot;type&quot;] == &quot;array&quot;:
-            if &quot;items&quot; in json_typable:
-
-                ad_hoc_types = []
-
-                class AdHocTypeContext:
-                    container_full_name_prefix = &quot;&lt;not yet defined&gt;&quot;
-                    container_relative_name_prefix = &quot;&quot;
-
-                    @staticmethod
-                    def get_type_name_fix():
-                        return fixed_type_name
-
-                    @staticmethod
-                    def add_type(binding):
-                        ad_hoc_types.append(binding)
-
-                item_binding = resolve_param_type(json_typable[&quot;items&quot;], context_domain_name, AdHocTypeContext)
-
-                class ArrayBinding:
-                    resolve_data_ = None
-                    need_internal_runtime_cast_ = False
-
-                    @classmethod
-                    def resolve_inner(cls, resolve_context):
-                        if cls.resolve_data_:
-                            return
-
-                        class ResolveData:
-                            item_type_binding = item_binding
-                            ad_hoc_type_list = ad_hoc_types
-
-                        cls.resolve_data_ = ResolveData
-
-                        for t in ad_hoc_types:
-                            t.resolve_inner(resolve_context)
-
-                    @classmethod
-                    def request_user_runtime_cast(cls, request):
-                        raise Exception(&quot;Not implemented yet&quot;)
-
-                    @classmethod
-                    def request_internal_runtime_cast(cls):
-                        if cls.need_internal_runtime_cast_:
-                            return
-                        cls.need_internal_runtime_cast_ = True
-                        cls.resolve_data_.item_type_binding.request_internal_runtime_cast()
-
-                    @classmethod
-                    def get_code_generator(array_binding_cls):
-
-                        class CodeGenerator:
-                            @staticmethod
-                            def generate_type_builder(writer, generate_context):
-                                ad_hoc_type_writer = writer
-
-                                resolve_data = array_binding_cls.resolve_data_
-
-                                for ad_hoc_type in resolve_data.ad_hoc_type_list:
-                                    code_generator = ad_hoc_type.get_code_generator()
-                                    if code_generator:
-                                        code_generator.generate_type_builder(ad_hoc_type_writer, generate_context)
-
-                            @staticmethod
-                            def generate_forward_declaration(writer):
-                                pass
-
-                            @staticmethod
-                            def register_use(forward_listener):
-                                item_code_generator = item_binding.get_code_generator()
-                                if item_code_generator:
-                                    item_code_generator.register_use(forward_listener)
-
-                            @staticmethod
-                            def get_generate_pass_id():
-                                return TypeBuilderPass.MAIN
-
-                        return CodeGenerator
-
-                    @classmethod
-                    def get_validator_call_text(cls):
-                        return cls.get_array_item_c_type_text() + &quot;::assertCorrectValue&quot;
-
-                    @classmethod
-                    def get_array_item_c_type_text(cls):
-                        return replace_right_shift(&quot;Inspector::TypeBuilder::Array&lt;%s&gt;&quot; % cls.resolve_data_.item_type_binding.get_array_item_c_type_text())
-
-                    @staticmethod
-                    def get_setter_value_expression_pattern():
-                        return None
-
-                    @staticmethod
-                    def reduce_to_raw_type():
-                        return RawTypes.Array
-
-                    @classmethod
-                    def get_type_model(cls):
-                        return TypeModel.RefPtrBased(cls.get_array_item_c_type_text())
-
-                return ArrayBinding
-            else:
-                # Fall-through to raw type.
-                pass
-
-        raw_type = RawTypes.get(json_typable[&quot;type&quot;])
-
-        return RawTypeBinding(raw_type)
-
-
-class RawTypeBinding:
-    def __init__(self, raw_type):
-        self.raw_type_ = raw_type
-
-    def resolve_inner(self, resolve_context):
-        pass
-
-    def request_user_runtime_cast(self, request):
-        raise Exception(&quot;Unsupported&quot;)
-
-    def request_internal_runtime_cast(self):
-        self.raw_type_.request_raw_internal_runtime_cast()
-
-    def get_code_generator(self):
-        return None
-
-    def get_validator_call_text(self):
-        return self.raw_type_.get_raw_validator_call_text()
-
-    def get_array_item_c_type_text(self):
-        return self.raw_type_.get_array_item_raw_c_type_text()
-
-    def get_setter_value_expression_pattern(self):
-        return None
-
-    def reduce_to_raw_type(self):
-        return self.raw_type_
-
-    def get_type_model(self):
-        return self.raw_type_.get_raw_type_model()
-
-
-class TypeData(object):
-    def __init__(self, json_type, json_domain, domain_data):
-        self.json_type_ = json_type
-        self.json_domain_ = json_domain
-        self.domain_data_ = domain_data
-
-        if &quot;type&quot; not in json_type:
-            raise Exception(&quot;Unknown type&quot;)
-
-        json_type_name = json_type[&quot;type&quot;]
-        raw_type = RawTypes.get(json_type_name)
-        self.raw_type_ = raw_type
-        self.binding_being_resolved_ = False
-        self.binding_ = None
-
-    def get_raw_type(self):
-        return self.raw_type_
-
-    def get_binding(self):
-        if not self.binding_:
-            if self.binding_being_resolved_:
-                raise Error(&quot;Type %s is already being resolved&quot; % self.json_type_[&quot;type&quot;])
-            # Resolve only lazily, because resolving one named type may require resolving some other named type.
-            self.binding_being_resolved_ = True
-            try:
-                self.binding_ = TypeBindings.create_named_type_declaration(self.json_type_, self.json_domain_[&quot;domain&quot;], self)
-            finally:
-                self.binding_being_resolved_ = False
-
-        return self.binding_
-
-    def get_json_type(self):
-        return self.json_type_
-
-    def get_name(self):
-        return self.json_type_[&quot;id&quot;]
-
-    def get_domain_name(self):
-        return self.json_domain_[&quot;domain&quot;]
-
-
-class DomainData:
-    def __init__(self, json_domain):
-        self.json_domain = json_domain
-        self.types_ = []
-
-    def add_type(self, type_data):
-        self.types_.append(type_data)
-
-    def name(self):
-        return self.json_domain[&quot;domain&quot;]
-
-    def types(self):
-        return self.types_
-
-
-class TypeMap:
-    def __init__(self, api):
-        self.map_ = {}
-        self.domains_ = []
-        for json_domain in api[&quot;domains&quot;]:
-            domain_name = json_domain[&quot;domain&quot;]
-
-            domain_map = {}
-            self.map_[domain_name] = domain_map
-
-            domain_data = DomainData(json_domain)
-
-            # FIXME: The order of types should not matter. The generated code should work regardless of the order of types.
-            if domain_name == &quot;Page&quot;:
-                self.domains_.insert(0, domain_data)
-            else:
-                self.domains_.append(domain_data)
-
-            if &quot;types&quot; in json_domain:
-                for json_type in json_domain[&quot;types&quot;]:
-                    type_name = json_type[&quot;id&quot;]
-                    type_data = TypeData(json_type, json_domain, domain_data)
-                    domain_map[type_name] = type_data
-                    domain_data.add_type(type_data)
-
-    def domains(self):
-        return self.domains_
-
-    def get(self, domain_name, type_name):
-        return self.map_[domain_name][type_name]
-
-
-def resolve_param_type(json_parameter, scope_domain_name, ad_hoc_type_context):
-    if &quot;$ref&quot; in json_parameter:
-        json_ref = json_parameter[&quot;$ref&quot;]
-        type_data = get_ref_data(json_ref, scope_domain_name)
-        return type_data.get_binding()
-    elif &quot;type&quot; in json_parameter:
-        result = TypeBindings.create_ad_hoc_type_declaration(json_parameter, scope_domain_name, ad_hoc_type_context)
-        ad_hoc_type_context.add_type(result)
-        return result
-    else:
-        raise Exception(&quot;Unknown type&quot;)
-
-def resolve_param_raw_type(json_parameter, scope_domain_name):
-    if &quot;$ref&quot; in json_parameter:
-        json_ref = json_parameter[&quot;$ref&quot;]
-        type_data = get_ref_data(json_ref, scope_domain_name)
-        return type_data.get_raw_type()
-    elif &quot;type&quot; in json_parameter:
-        json_type = json_parameter[&quot;type&quot;]
-        return RawTypes.get(json_type)
-    else:
-        raise Exception(&quot;Unknown type&quot;)
-
-
-def get_ref_data(json_ref, scope_domain_name):
-    dot_pos = json_ref.find(&quot;.&quot;)
-    if dot_pos == -1:
-        domain_name = scope_domain_name
-        type_name = json_ref
-    else:
-        domain_name = json_ref[:dot_pos]
-        type_name = json_ref[dot_pos + 1:]
-
-    return type_map.get(domain_name, type_name)
-
-
-input_file = open(input_json_filename, &quot;r&quot;)
-json_string = input_file.read()
-json_api = json.loads(json_string)
-
-# Allow this script to work when the input is a single domain.
-if not &quot;domains&quot; in json_api:
-    json_api = {&quot;domains&quot;: [json_api]}
-
-
-class Templates:
-    def get_this_script_path_(absolute_path):
-        absolute_path = os.path.abspath(absolute_path)
-        components = []
-
-        def fill_recursive(path_part, depth):
-            if depth &lt;= 0 or path_part == '/':
-                return
-            fill_recursive(os.path.dirname(path_part), depth - 1)
-            components.append(os.path.basename(path_part))
-
-        # Typical path is /Source/WebCore/inspector/CodeGeneratorInspector.py
-        # Let's take 4 components from the real path then.
-        fill_recursive(absolute_path, 4)
-
-        return &quot;/&quot;.join(components)
-
-    file_header_ = (&quot;// File is generated by %s\n\n&quot; % get_this_script_path_(sys.argv[0]) +
-&quot;&quot;&quot;// Copyright (c) 2013 Apple Inc. All Rights Reserved.
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-&quot;&quot;&quot;)
-
-    frontend_domain_class = string.Template(CodeGeneratorInspectorStrings.frontend_domain_class)
-    backend_dispatcher_constructor = string.Template(CodeGeneratorInspectorStrings.backend_dispatcher_constructor)
-    backend_dispatcher_dispatch_method = string.Template(CodeGeneratorInspectorStrings.backend_dispatcher_dispatch_method)
-    backend_dispatcher_dispatch_method_simple = string.Template(CodeGeneratorInspectorStrings.backend_dispatcher_dispatch_method_simple)
-    backend_method = string.Template(CodeGeneratorInspectorStrings.backend_method)
-    frontend_method = string.Template(CodeGeneratorInspectorStrings.frontend_method)
-    callback_method = string.Template(CodeGeneratorInspectorStrings.callback_method)
-    frontend_h = string.Template(file_header_ + CodeGeneratorInspectorStrings.frontend_h)
-    backend_h = string.Template(file_header_ + CodeGeneratorInspectorStrings.backend_h)
-    backend_cpp = string.Template(file_header_ + CodeGeneratorInspectorStrings.backend_cpp)
-    frontend_cpp = string.Template(file_header_ + CodeGeneratorInspectorStrings.frontend_cpp)
-    typebuilder_h = string.Template(file_header_ + CodeGeneratorInspectorStrings.typebuilder_h)
-    typebuilder_cpp = string.Template(file_header_ + CodeGeneratorInspectorStrings.typebuilder_cpp)
-    backend_js = string.Template(file_header_ + CodeGeneratorInspectorStrings.backend_js)
-    param_container_access_code = CodeGeneratorInspectorStrings.param_container_access_code
-
-
-
-
-
-type_map = TypeMap(json_api)
-
-
-class NeedRuntimeCastRequest:
-    def __init__(self):
-        self.ack_ = None
-
-    def acknowledge(self):
-        self.ack_ = True
-
-    def is_acknowledged(self):
-        return self.ack_
-
-
-def resolve_all_types():
-    runtime_cast_generate_requests = {}
-    for type_name in TYPES_WITH_RUNTIME_CAST_SET:
-        runtime_cast_generate_requests[type_name] = NeedRuntimeCastRequest()
-
-    class ForwardListener:
-        type_data_set = set()
-        already_declared_set = set()
-
-        @classmethod
-        def add_type_data(cls, type_data):
-            if type_data not in cls.already_declared_set:
-                cls.type_data_set.add(type_data)
-
-    class ResolveContext:
-        forward_listener = ForwardListener
-
-    for domain_data in type_map.domains():
-        for type_data in domain_data.types():
-            # Do not generate forwards for this type any longer.
-            ForwardListener.already_declared_set.add(type_data)
-
-            binding = type_data.get_binding()
-            binding.resolve_inner(ResolveContext)
-
-    for domain_data in type_map.domains():
-        for type_data in domain_data.types():
-            full_type_name = &quot;%s.%s&quot; % (type_data.get_domain_name(), type_data.get_name())
-            request = runtime_cast_generate_requests.pop(full_type_name, None)
-            binding = type_data.get_binding()
-            if request:
-                binding.request_user_runtime_cast(request)
-
-            if request and not request.is_acknowledged():
-                raise Exception(&quot;Failed to generate runtimeCast in &quot; + full_type_name)
-
-    if verification:
-        for full_type_name in runtime_cast_generate_requests:
-            raise Exception(&quot;Failed to generate runtimeCast. Type &quot; + full_type_name + &quot; not found&quot;)
-
-    return ForwardListener
-
-
-global_forward_listener = resolve_all_types()
-
-
-def get_annotated_type_text(raw_type, annotated_type):
-    if annotated_type != raw_type:
-        return &quot;/*%s*/ %s&quot; % (annotated_type, raw_type)
-    else:
-        return raw_type
-
-
-def format_setter_value_expression(param_type_binding, value_ref):
-    pattern = param_type_binding.get_setter_value_expression_pattern()
-    if pattern:
-        return pattern % value_ref
-    else:
-        return value_ref
-
-class Generator:
-    frontend_domain_class_lines = []
-
-    backend_method_implementation_list = []
-    frontend_method_list = []
-    backend_js_domain_initializer_list = []
-
-    backend_handler_interface_list = []
-    backend_dispatcher_interface_list = []
-    type_builder_fragments = []
-    type_builder_forwards = []
-    validator_impl_list = []
-    type_builder_impl_list = []
-
-
-    @staticmethod
-    def go():
-        Generator.process_types(type_map)
-
-        first_cycle_guardable_list_list = [
-            Generator.backend_method_implementation_list,
-            Generator.backend_handler_interface_list,
-            Generator.backend_dispatcher_interface_list]
-
-        for json_domain in json_api[&quot;domains&quot;]:
-            domain_name = json_domain[&quot;domain&quot;]
-            domain_name_lower = domain_name.lower()
-
-            domain_fixes = DomainNameFixes.get_fixed_data(domain_name)
-
-            domain_guard = domain_fixes.get_guard()
-
-            if domain_guard:
-                for l in first_cycle_guardable_list_list:
-                    domain_guard.generate_open(l)
-
-            frontend_method_declaration_lines = []
-
-            Generator.backend_js_domain_initializer_list.append(&quot;// %s.\n&quot; % domain_name)
-
-            if not domain_fixes.skip_js_bind:
-                Generator.backend_js_domain_initializer_list.append(&quot;InspectorBackend.register%sDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, \&quot;%s\&quot;);\n&quot; % (domain_name, domain_name))
-
-            if &quot;types&quot; in json_domain:
-                for json_type in json_domain[&quot;types&quot;]:
-                    if &quot;type&quot; in json_type and json_type[&quot;type&quot;] == &quot;string&quot; and &quot;enum&quot; in json_type:
-                        enum_name = &quot;%s.%s&quot; % (domain_name, json_type[&quot;id&quot;])
-                        Generator.process_enum(json_type, enum_name)
-                    elif json_type[&quot;type&quot;] == &quot;object&quot;:
-                        if &quot;properties&quot; in json_type:
-                            for json_property in json_type[&quot;properties&quot;]:
-                                if &quot;type&quot; in json_property and json_property[&quot;type&quot;] == &quot;string&quot; and &quot;enum&quot; in json_property:
-                                    enum_name = &quot;%s.%s%s&quot; % (domain_name, json_type[&quot;id&quot;], to_title_case(json_property[&quot;name&quot;]))
-                                    Generator.process_enum(json_property, enum_name)
-
-            if &quot;events&quot; in json_domain:
-                if domain_guard:
-                    domain_guard.generate_open(Generator.frontend_method_list)
-                    domain_guard.generate_open(Generator.frontend_domain_class_lines)
-
-                for json_event in json_domain[&quot;events&quot;]:
-                    Generator.process_event(json_event, domain_name, frontend_method_declaration_lines)
-
-                Generator.frontend_domain_class_lines.append(Templates.frontend_domain_class.substitute(None,
-                    domainClassName=&quot;Inspector%sFrontendDispatcher&quot; % domain_name,
-                    frontendDomainMethodDeclarations=&quot;&quot;.join(flatten_list(frontend_method_declaration_lines))))
-
-                if domain_guard:
-                    domain_guard.generate_close(Generator.frontend_method_list)
-                    domain_guard.generate_close(Generator.frontend_domain_class_lines)
-
-            dispatcher_name = &quot;Inspector&quot; + Capitalizer.lower_camel_case_to_upper(domain_name) + &quot;BackendDispatcher&quot;
-            agent_interface_name = dispatcher_name + &quot;Handler&quot;
-
-            Generator.backend_dispatcher_interface_list.append(&quot;class %s FINAL : public Inspector::InspectorSupplementalBackendDispatcher {\n&quot; % dispatcher_name)
-            Generator.backend_dispatcher_interface_list.append(&quot;public:\n&quot;)
-            Generator.backend_dispatcher_interface_list.append(&quot;    static PassRefPtr&lt;%s&gt; create(Inspector::InspectorBackendDispatcher*, %s*);\n&quot; % (dispatcher_name, agent_interface_name))
-            Generator.backend_dispatcher_interface_list.append(&quot;    virtual void dispatch(long callId, const String&amp; method, PassRefPtr&lt;Inspector::InspectorObject&gt; message) OVERRIDE;\n&quot;)
-            Generator.backend_dispatcher_interface_list.append(&quot;private:\n&quot;)
-
-            Generator.backend_handler_interface_list.append(&quot;class %s {\n&quot; % agent_interface_name)
-            Generator.backend_handler_interface_list.append(&quot;public:\n&quot;)
-
-            backend_method_count = len(Generator.backend_method_implementation_list)
-
-            dispatcher_if_chain = []
-            dispatcher_commands_list = []
-            if &quot;commands&quot; in json_domain:
-                for json_command in json_domain[&quot;commands&quot;]:
-                    Generator.process_command(json_command, domain_name, agent_interface_name, dispatcher_name, dispatcher_if_chain, dispatcher_commands_list)
-
-            Generator.backend_handler_interface_list.append(&quot;protected:\n&quot;)
-            Generator.backend_handler_interface_list.append(&quot;    virtual ~%s() { }\n&quot; % agent_interface_name)
-            Generator.backend_handler_interface_list.append(&quot;};\n\n&quot;)
-
-            Generator.backend_dispatcher_interface_list.append(&quot;private:\n&quot;)
-            Generator.backend_dispatcher_interface_list.append(&quot;    %s(Inspector::InspectorBackendDispatcher*, %s*);\n&quot; % (dispatcher_name, agent_interface_name))
-            Generator.backend_dispatcher_interface_list.append(&quot;    %s* m_agent;\n&quot; % agent_interface_name)
-            Generator.backend_dispatcher_interface_list.append(&quot;};\n\n&quot;)
-
-            Generator.backend_method_implementation_list.insert(backend_method_count, Templates.backend_dispatcher_constructor.substitute(None,
-                domainName=domain_name,
-                dispatcherName=dispatcher_name,
-                agentName=agent_interface_name))
-
-            if &quot;commands&quot; in json_domain and len(json_domain[&quot;commands&quot;]) &lt;= 5:
-                Generator.backend_method_implementation_list.insert(backend_method_count + 1, Templates.backend_dispatcher_dispatch_method_simple.substitute(None,
-                    domainName=domain_name,
-                    dispatcherName=dispatcher_name,
-                    ifChain=&quot;\n&quot;.join(dispatcher_if_chain)))
-            else:
-                Generator.backend_method_implementation_list.insert(backend_method_count + 1, Templates.backend_dispatcher_dispatch_method.substitute(None,
-                    domainName=domain_name,
-                    dispatcherName=dispatcher_name,
-                    dispatcherCommands=&quot;\n&quot;.join(dispatcher_commands_list)))
-
-            if domain_guard:
-                for l in reversed(first_cycle_guardable_list_list):
-                    domain_guard.generate_close(l)
-            Generator.backend_js_domain_initializer_list.append(&quot;\n&quot;)
-
-    @staticmethod
-    def process_enum(json_enum, enum_name):
-        enum_members = []
-        for member in json_enum[&quot;enum&quot;]:
-            enum_members.append(&quot;%s: \&quot;%s\&quot;&quot; % (fix_camel_case(member), member))
-
-        Generator.backend_js_domain_initializer_list.append(&quot;InspectorBackend.registerEnum(\&quot;%s\&quot;, {%s});\n&quot; % (
-            enum_name, &quot;, &quot;.join(enum_members)))
-
-    @staticmethod
-    def process_event(json_event, domain_name, frontend_method_declaration_lines):
-        event_name = json_event[&quot;name&quot;]
-
-        ad_hoc_type_output = []
-        frontend_method_declaration_lines.append(ad_hoc_type_output)
-        ad_hoc_type_writer = Writer(ad_hoc_type_output, &quot;        &quot;)
-
-        decl_parameter_list = []
-
-        json_parameters = json_event.get(&quot;parameters&quot;)
-        Generator.generate_send_method(json_parameters, event_name, domain_name, ad_hoc_type_writer,
-                                       decl_parameter_list,
-                                       Generator.EventMethodStructTemplate,
-                                       Generator.frontend_method_list, Templates.frontend_method, {&quot;eventName&quot;: event_name})
-
-        backend_js_event_param_list = []
-        if json_parameters:
-            for parameter in json_parameters:
-                parameter_name = parameter[&quot;name&quot;]
-                backend_js_event_param_list.append(&quot;\&quot;%s\&quot;&quot; % parameter_name)
-
-        frontend_method_declaration_lines.append(
-            &quot;    void %s(%s);\n&quot; % (event_name, &quot;, &quot;.join(decl_parameter_list)))
-
-        Generator.backend_js_domain_initializer_list.append(&quot;InspectorBackend.registerEvent(\&quot;%s.%s\&quot;, [%s]);\n&quot; % (
-            domain_name, event_name, &quot;, &quot;.join(backend_js_event_param_list)))
-
-    class EventMethodStructTemplate:
-        @staticmethod
-        def append_prolog(line_list):
-            line_list.append(&quot;    RefPtr&lt;InspectorObject&gt; paramsObject = InspectorObject::create();\n&quot;)
-
-        @staticmethod
-        def append_epilog(line_list):
-            line_list.append(&quot;    jsonMessage-&gt;setObject(ASCIILiteral(\&quot;params\&quot;), paramsObject);\n&quot;)
-
-        container_name = &quot;paramsObject&quot;
-
-    @staticmethod
-    def process_command(json_command, domain_name, agent_interface_name, dispatcher_name, dispatcher_if_chain, dispatcher_commands_list):
-        json_command_name = json_command[&quot;name&quot;]
-
-        ad_hoc_type_output = []
-        Generator.backend_handler_interface_list.append(ad_hoc_type_output)
-        ad_hoc_type_writer = Writer(ad_hoc_type_output, &quot;    &quot;)
-
-        Generator.backend_dispatcher_interface_list.append(&quot;    void %s(long callId, const Inspector::InspectorObject&amp; message);\n&quot; % json_command_name)
-
-        Generator.backend_handler_interface_list.append(&quot;    virtual void %s(ErrorString*&quot; % json_command_name)
-
-        if not dispatcher_if_chain:
-            dispatcher_if_chain.append(&quot;    if (method == \&quot;%s\&quot;)&quot; % json_command_name)
-        else:
-            dispatcher_if_chain.append(&quot;    else if (method == \&quot;%s\&quot;)&quot; % json_command_name)
-        dispatcher_if_chain.append(&quot;        %s(callId, *message.get());&quot; % json_command_name)
-        dispatcher_commands_list.append(&quot;            { \&quot;%s\&quot;,  &amp;%s::%s },&quot; % (json_command_name, dispatcher_name, json_command_name))
-
-        method_in_params_handling = []
-        method_dispatch_handling = []
-        method_out_params_handling = []
-        method_ending_handling = []
-        method_request_message_param_name = &quot;&quot;
-        agent_call_param_list = []
-        js_parameters_text = &quot;&quot;
-        if &quot;parameters&quot; in json_command:
-            json_params = json_command[&quot;parameters&quot;]
-            method_request_message_param_name = &quot; message&quot;
-            method_in_params_handling.append(&quot;    RefPtr&lt;InspectorArray&gt; protocolErrors = InspectorArray::create();\n&quot;)
-            method_in_params_handling.append(&quot;    RefPtr&lt;InspectorObject&gt; paramsContainer = message.getObject(ASCIILiteral(\&quot;params\&quot;));\n&quot;)
-            method_in_params_handling.append(&quot;    InspectorObject* paramsContainerPtr = paramsContainer.get();\n&quot;)
-            method_in_params_handling.append(&quot;    InspectorArray* protocolErrorsPtr = protocolErrors.get();\n&quot;)
-            js_param_list = []
-
-            for json_parameter in json_params:
-                json_param_name = json_parameter[&quot;name&quot;]
-                param_raw_type = resolve_param_raw_type(json_parameter, domain_name)
-
-                getter_name = param_raw_type.get_getter_name()
-
-                optional = json_parameter.get(&quot;optional&quot;)
-
-                non_optional_type_model = param_raw_type.get_raw_type_model()
-                if optional:
-                    type_model = non_optional_type_model.get_optional()
-                else:
-                    type_model = non_optional_type_model
-
-                if optional:
-                    code = (&quot;    bool %s_valueFound = false;\n&quot;
-                            &quot;    %s in_%s = InspectorBackendDispatcher::get%s(paramsContainerPtr, ASCIILiteral(\&quot;%s\&quot;), &amp;%s_valueFound, protocolErrorsPtr);\n&quot; %
-                           (json_param_name, non_optional_type_model.get_command_return_pass_model().get_return_var_type(), json_param_name, getter_name, json_param_name, json_param_name))
-                    param = &quot;, %s_valueFound ? &amp;in_%s : nullptr&quot; % (json_param_name, json_param_name)
-                    # FIXME: pass optional refptr-values as PassRefPtr
-                    formal_param_type_pattern = &quot;const %s*&quot;
-                else:
-                    code = (&quot;    %s in_%s = InspectorBackendDispatcher::get%s(paramsContainerPtr, ASCIILiteral(\&quot;%s\&quot;), nullptr, protocolErrorsPtr);\n&quot; %
-                            (non_optional_type_model.get_command_return_pass_model().get_return_var_type(), json_param_name, getter_name, json_param_name))
-                    param = &quot;, in_%s&quot; % json_param_name
-                    # FIXME: pass not-optional refptr-values as NonNullPassRefPtr
-                    if param_raw_type.is_heavy_value():
-                        formal_param_type_pattern = &quot;const %s&amp;&quot;
-                    else:
-                        formal_param_type_pattern = &quot;%s&quot;
-
-                method_in_params_handling.append(code)
-                agent_call_param_list.append(param)
-                Generator.backend_handler_interface_list.append(&quot;, %s in_%s&quot; % (formal_param_type_pattern % non_optional_type_model.get_command_return_pass_model().get_return_var_type(), json_param_name))
-
-                js_bind_type = param_raw_type.get_js_bind_type()
-                js_param_text = &quot;{\&quot;name\&quot;: \&quot;%s\&quot;, \&quot;type\&quot;: \&quot;%s\&quot;, \&quot;optional\&quot;: %s}&quot; % (
-                    json_param_name,
-                    js_bind_type,
-                    (&quot;true&quot; if (&quot;optional&quot; in json_parameter and json_parameter[&quot;optional&quot;]) else &quot;false&quot;))
-
-                js_param_list.append(js_param_text)
-
-            method_in_params_handling.append(&quot;    if (protocolErrors-&gt;length()) {\n&quot;)
-            method_in_params_handling.append(&quot;        String errorMessage = String::format(\&quot;Some arguments of method '%%s' can't be processed\&quot;, \&quot;%s.%s\&quot;);\n&quot; % (domain_name, json_command_name))
-            method_in_params_handling.append(&quot;        m_backendDispatcher-&gt;reportProtocolError(&amp;callId, InspectorBackendDispatcher::InvalidParams, errorMessage, protocolErrors.release());\n&quot;)
-            method_in_params_handling.append(&quot;        return;\n&quot;)
-            method_in_params_handling.append(&quot;    }\n&quot;)
-            method_in_params_handling.append(&quot;\n&quot;)
-
-            js_parameters_text = &quot;, &quot;.join(js_param_list)
-
-        method_dispatch_handling.append(&quot;    ErrorString error;\n&quot;)
-        method_dispatch_handling.append(&quot;    RefPtr&lt;InspectorObject&gt; result = InspectorObject::create();\n&quot;)
-
-        if json_command.get(&quot;async&quot;) == True:
-            callback_name = Capitalizer.lower_camel_case_to_upper(json_command_name) + &quot;Callback&quot;
-
-            callback_output = []
-            callback_writer = Writer(callback_output, ad_hoc_type_writer.get_indent())
-
-            decl_parameter_list = []
-            Generator.generate_send_method(json_command.get(&quot;returns&quot;), json_command_name, domain_name, ad_hoc_type_writer,
-                                           decl_parameter_list,
-                                           Generator.CallbackMethodStructTemplate,
-                                           Generator.backend_method_implementation_list, Templates.callback_method,
-                                           {&quot;callbackName&quot;: callback_name, &quot;handlerName&quot;: agent_interface_name})
-
-            callback_writer.newline(&quot;class &quot; + callback_name + &quot; : public Inspector::InspectorBackendDispatcher::CallbackBase {\n&quot;)
-            callback_writer.newline(&quot;public:\n&quot;)
-            callback_writer.newline(&quot;    &quot; + callback_name + &quot;(PassRefPtr&lt;Inspector::InspectorBackendDispatcher&gt;, int id);\n&quot;)
-            callback_writer.newline(&quot;    void sendSuccess(&quot; + &quot;, &quot;.join(decl_parameter_list) + &quot;);\n&quot;)
-            callback_writer.newline(&quot;};\n&quot;)
-
-            ad_hoc_type_output.append(callback_output)
-
-            method_dispatch_handling.append(&quot;    RefPtr&lt;%s::%s&gt; callback = adoptRef(new %s::%s(m_backendDispatcher,callId));\n&quot; % (agent_interface_name, callback_name, agent_interface_name, callback_name))
-            method_ending_handling.append(&quot;    if (error.length()) {\n&quot;)
-            method_ending_handling.append(&quot;        callback-&gt;disable();\n&quot;)
-            method_ending_handling.append(&quot;        m_backendDispatcher-&gt;reportProtocolError(&amp;callId, Inspector::InspectorBackendDispatcher::ServerError, error);\n&quot;)
-            method_ending_handling.append(&quot;        return;\n&quot;)
-            method_ending_handling.append(&quot;    }&quot;)
-
-            agent_call_param_list.append(&quot;, callback&quot;)
-            Generator.backend_handler_interface_list.append(&quot;, PassRefPtr&lt;%s&gt; callback&quot; % callback_name)
-        elif &quot;returns&quot; in json_command:
-            has_multiple_returns = len(json_command[&quot;returns&quot;]) &gt; 1
-            if has_multiple_returns:
-                method_out_params_handling.append(&quot;    if (!error.length()) {\n&quot;)
-            else:
-                method_out_params_handling.append(&quot;    if (!error.length())\n&quot;)
-
-            for json_return in json_command[&quot;returns&quot;]:
-
-                json_return_name = json_return[&quot;name&quot;]
-
-                optional = bool(json_return.get(&quot;optional&quot;))
-
-                return_type_binding = Generator.resolve_type_and_generate_ad_hoc(json_return, json_command_name, domain_name, ad_hoc_type_writer, agent_interface_name + &quot;::&quot;)
-
-                raw_type = return_type_binding.reduce_to_raw_type()
-                setter_type = raw_type.get_setter_name()
-                initializer = raw_type.get_c_initializer()
-
-                type_model = return_type_binding.get_type_model()
-                if optional:
-                    type_model = type_model.get_optional()
-
-                code = &quot;    %s out_%s;\n&quot; % (type_model.get_command_return_pass_model().get_return_var_type(), json_return_name)
-                param = &quot;, %sout_%s&quot; % (type_model.get_command_return_pass_model().get_output_argument_prefix(), json_return_name)
-                var_name = &quot;out_%s&quot; % json_return_name
-                setter_argument = type_model.get_command_return_pass_model().get_output_to_raw_expression() % var_name
-                if return_type_binding.get_setter_value_expression_pattern():
-                    setter_argument = return_type_binding.get_setter_value_expression_pattern() % setter_argument
-
-                cook = &quot;        result-&gt;set%s(ASCIILiteral(\&quot;%s\&quot;), %s);\n&quot; % (setter_type, json_return_name, setter_argument)
-
-                set_condition_pattern = type_model.get_command_return_pass_model().get_set_return_condition()
-                if set_condition_pattern:
-                    cook = (&quot;        if (%s)\n    &quot; % (set_condition_pattern % var_name)) + cook
-                annotated_type = type_model.get_command_return_pass_model().get_output_parameter_type()
-
-                param_name = &quot;out_%s&quot; % json_return_name
-                if optional:
-                    param_name = &quot;opt_&quot; + param_name
-
-                Generator.backend_handler_interface_list.append(&quot;, %s %s&quot; % (annotated_type, param_name))
-                method_out_params_handling.append(cook)
-                method_dispatch_handling.append(code)
-
-                agent_call_param_list.append(param)
-
-            if has_multiple_returns:
-                method_out_params_handling.append(&quot;    }\n&quot;)
-            method_out_params_handling.append(&quot;\n&quot;)
-
-        method_dispatch_handling.append(&quot;    m_agent-&gt;%s(&amp;error%s);\n&quot; % (json_command_name, &quot;&quot;.join(agent_call_param_list)))
-        method_dispatch_handling.append(&quot;\n&quot;)
-
-        if not method_ending_handling:
-            method_ending_handling.append(&quot;    m_backendDispatcher-&gt;sendResponse(callId, result.release(), error);&quot;)
-
-        backend_js_reply_param_list = []
-        if &quot;returns&quot; in json_command:
-            for json_return in json_command[&quot;returns&quot;]:
-                json_return_name = json_return[&quot;name&quot;]
-                backend_js_reply_param_list.append(&quot;\&quot;%s\&quot;&quot; % json_return_name)
-
-        js_reply_list = &quot;[%s]&quot; % &quot;, &quot;.join(backend_js_reply_param_list)
-
-        Generator.backend_method_implementation_list.append(Templates.backend_method.substitute(None,
-            dispatcherName=dispatcher_name,
-            methodName=json_command_name,
-            requestMessageObject=method_request_message_param_name,
-            methodInParametersHandling=&quot;&quot;.join(method_in_params_handling),
-            methodDispatchHandling=&quot;&quot;.join(method_dispatch_handling),
-            methodOutParametersHandling=&quot;&quot;.join(method_out_params_handling),
-            methodEndingHandling=&quot;&quot;.join(method_ending_handling)))
-
-        Generator.backend_js_domain_initializer_list.append(&quot;InspectorBackend.registerCommand(\&quot;%s.%s\&quot;, [%s], %s);\n&quot; % (domain_name, json_command_name, js_parameters_text, js_reply_list))
-        Generator.backend_handler_interface_list.append(&quot;) = 0;\n&quot;)
-
-    class CallbackMethodStructTemplate:
-        @staticmethod
-        def append_prolog(line_list):
-            pass
-
-        @staticmethod
-        def append_epilog(line_list):
-            pass
-
-        container_name = &quot;jsonMessage&quot;
-
-    # Generates common code for event sending and callback response data sending.
-    @staticmethod
-    def generate_send_method(parameters, event_name, domain_name, ad_hoc_type_writer, decl_parameter_list,
-                             method_struct_template,
-                             generator_method_list, method_template, template_params):
-        method_line_list = []
-        if parameters:
-            method_struct_template.append_prolog(method_line_list)
-            for json_parameter in parameters:
-                parameter_name = json_parameter[&quot;name&quot;]
-
-                param_type_binding = Generator.resolve_type_and_generate_ad_hoc(json_parameter, event_name, domain_name, ad_hoc_type_writer, &quot;&quot;)
-
-                raw_type = param_type_binding.reduce_to_raw_type()
-                raw_type_binding = RawTypeBinding(raw_type)
-
-                optional = bool(json_parameter.get(&quot;optional&quot;))
-
-                setter_type = raw_type.get_setter_name()
-
-                type_model = param_type_binding.get_type_model()
-                raw_type_model = raw_type_binding.get_type_model()
-                if optional:
-                    type_model = type_model.get_optional()
-                    raw_type_model = raw_type_model.get_optional()
-
-                annotated_type = type_model.get_input_param_type_text()
-                mode_type_binding = param_type_binding
-
-                decl_parameter_list.append(&quot;%s %s&quot; % (annotated_type, parameter_name))
-
-                setter_argument = raw_type_model.get_event_setter_expression_pattern() % parameter_name
-                if mode_type_binding.get_setter_value_expression_pattern():
-                    setter_argument = mode_type_binding.get_setter_value_expression_pattern() % setter_argument
-
-                setter_code = &quot;    %s-&gt;set%s(ASCIILiteral(\&quot;%s\&quot;), %s);\n&quot; % (method_struct_template.container_name, setter_type, parameter_name, setter_argument)
-                if optional:
-                    setter_code = (&quot;    if (%s)\n    &quot; % parameter_name) + setter_code
-                method_line_list.append(setter_code)
-
-            method_struct_template.append_epilog(method_line_list)
-
-        generator_method_list.append(method_template.substitute(None,
-            domainName=domain_name,
-            parameters=&quot;, &quot;.join(decl_parameter_list),
-            code=&quot;&quot;.join(method_line_list), **template_params))
-
-    @staticmethod
-    def resolve_type_and_generate_ad_hoc(json_param, method_name, domain_name, ad_hoc_type_writer, container_relative_name_prefix_param):
-        param_name = json_param[&quot;name&quot;]
-        ad_hoc_type_list = []
-
-        class AdHocTypeContext:
-            container_full_name_prefix = &quot;&lt;not yet defined&gt;&quot;
-            container_relative_name_prefix = container_relative_name_prefix_param
-
-            @staticmethod
-            def get_type_name_fix():
-                class NameFix:
-                    class_name = Capitalizer.lower_camel_case_to_upper(param_name)
-
-                    @staticmethod
-                    def output_comment(writer):
-                        writer.newline(&quot;// Named after parameter '%s' while generating command/event %s.\n&quot; % (param_name, method_name))
-
-                return NameFix
-
-            @staticmethod
-            def add_type(binding):
-                ad_hoc_type_list.append(binding)
-
-        type_binding = resolve_param_type(json_param, domain_name, AdHocTypeContext)
-
-        class InterfaceForwardListener:
-            @staticmethod
-            def add_type_data(type_data):
-                pass
-
-        class InterfaceResolveContext:
-            forward_listener = InterfaceForwardListener
-
-        for type in ad_hoc_type_list:
-            type.resolve_inner(InterfaceResolveContext)
-
-        class InterfaceGenerateContext:
-            validator_writer = &quot;not supported in InterfaceGenerateContext&quot;
-            cpp_writer = validator_writer
-
-        for type in ad_hoc_type_list:
-            generator = type.get_code_generator()
-            if generator:
-                generator.generate_type_builder(ad_hoc_type_writer, InterfaceGenerateContext)
-
-        return type_binding
-
-    @staticmethod
-    def process_types(type_map):
-        output = Generator.type_builder_fragments
-
-        class GenerateContext:
-            validator_writer = Writer(Generator.validator_impl_list, &quot;&quot;)
-            cpp_writer = Writer(Generator.type_builder_impl_list, &quot;&quot;)
-
-        def generate_all_domains_code(out, type_data_callback):
-            writer = Writer(out, &quot;&quot;)
-            for domain_data in type_map.domains():
-                domain_fixes = DomainNameFixes.get_fixed_data(domain_data.name())
-                domain_guard = domain_fixes.get_guard()
-
-                namespace_declared = []
-
-                def namespace_lazy_generator():
-                    if not namespace_declared:
-                        if domain_guard:
-                            domain_guard.generate_open(out)
-                        writer.newline(&quot;namespace &quot;)
-                        writer.append(domain_data.name())
-                        writer.append(&quot; {\n&quot;)
-                        # What is a better way to change value from outer scope?
-                        namespace_declared.append(True)
-                    return writer
-
-                for type_data in domain_data.types():
-                    type_data_callback(type_data, namespace_lazy_generator)
-
-                if namespace_declared:
-                    writer.append(&quot;} // &quot;)
-                    writer.append(domain_data.name())
-                    writer.append(&quot;\n\n&quot;)
-
-                    if domain_guard:
-                        domain_guard.generate_close(out)
-
-        def create_type_builder_caller(generate_pass_id):
-            def call_type_builder(type_data, writer_getter):
-                code_generator = type_data.get_binding().get_code_generator()
-                if code_generator and generate_pass_id == code_generator.get_generate_pass_id():
-                    writer = writer_getter()
-
-                    code_generator.generate_type_builder(writer, GenerateContext)
-            return call_type_builder
-
-        generate_all_domains_code(output, create_type_builder_caller(TypeBuilderPass.MAIN))
-
-        Generator.type_builder_forwards.append(&quot;// Forward declarations.\n&quot;)
-
-        def generate_forward_callback(type_data, writer_getter):
-            if type_data in global_forward_listener.type_data_set:
-                binding = type_data.get_binding()
-                binding.get_code_generator().generate_forward_declaration(writer_getter())
-        generate_all_domains_code(Generator.type_builder_forwards, generate_forward_callback)
-
-        Generator.type_builder_forwards.append(&quot;// End of forward declarations.\n\n&quot;)
-
-        Generator.type_builder_forwards.append(&quot;// Typedefs.\n&quot;)
-
-        generate_all_domains_code(Generator.type_builder_forwards, create_type_builder_caller(TypeBuilderPass.TYPEDEF))
-
-        Generator.type_builder_forwards.append(&quot;// End of typedefs.\n\n&quot;)
-
-
-def flatten_list(input):
-    res = []
-
-    def fill_recursive(l):
-        for item in l:
-            if isinstance(item, list):
-                fill_recursive(item)
-            else:
-                res.append(item)
-    fill_recursive(input)
-    return res
-
-
-# A writer that only updates file if it actually changed to better support incremental build.
-class SmartOutput:
-    def __init__(self, file_name):
-        self.file_name_ = file_name
-        self.output_ = &quot;&quot;
-
-    def write(self, text):
-        self.output_ += text
-
-    def close(self):
-        text_changed = True
-        self.output_ = self.output_.rstrip() + &quot;\n&quot;
-
-        try:
-            read_file = open(self.file_name_, &quot;r&quot;)
-            old_text = read_file.read()
-            read_file.close()
-            text_changed = old_text != self.output_
-        except:
-            # Ignore, just overwrite by default
-            pass
-
-        if text_changed or write_always:
-            out_file = open(self.file_name_, &quot;w&quot;)
-            out_file.write(self.output_)
-            out_file.close()
-
-
-Generator.go()
-
-backend_h_file = SmartOutput(output_header_dirname + &quot;/InspectorBackendDispatchers.h&quot;)
-backend_cpp_file = SmartOutput(output_cpp_dirname + &quot;/InspectorBackendDispatchers.cpp&quot;)
-
-frontend_h_file = SmartOutput(output_header_dirname + &quot;/InspectorFrontend.h&quot;)
-frontend_cpp_file = SmartOutput(output_cpp_dirname + &quot;/InspectorFrontend.cpp&quot;)
-
-typebuilder_h_file = SmartOutput(output_header_dirname + &quot;/InspectorWebTypeBuilders.h&quot;)
-typebuilder_cpp_file = SmartOutput(output_cpp_dirname + &quot;/InspectorWebTypeBuilders.cpp&quot;)
-
-backend_js_file = SmartOutput(output_js_dirname + &quot;/InspectorBackendCommands.js&quot;)
-
-
-backend_h_file.write(Templates.backend_h.substitute(None,
-    handlerInterfaces=&quot;&quot;.join(flatten_list(Generator.backend_handler_interface_list)),
-    dispatcherInterfaces=&quot;&quot;.join(flatten_list(Generator.backend_dispatcher_interface_list))))
-
-backend_cpp_file.write(Templates.backend_cpp.substitute(None,
-    methods=&quot;\n&quot;.join(Generator.backend_method_implementation_list)))
-
-frontend_h_file.write(Templates.frontend_h.substitute(None,
-    domainClassList=&quot;&quot;.join(Generator.frontend_domain_class_lines)))
-
-frontend_cpp_file.write(Templates.frontend_cpp.substitute(None,
-    methods=&quot;\n&quot;.join(Generator.frontend_method_list)))
-
-typebuilder_h_file.write(Templates.typebuilder_h.substitute(None,
-    typeBuilders=&quot;&quot;.join(flatten_list(Generator.type_builder_fragments)),
-    forwards=&quot;&quot;.join(Generator.type_builder_forwards),
-    validatorIfdefName=VALIDATOR_IFDEF_NAME))
-
-typebuilder_cpp_file.write(Templates.typebuilder_cpp.substitute(None,
-    enumConstantValues=EnumConstants.get_enum_constant_code(),
-    implCode=&quot;&quot;.join(flatten_list(Generator.type_builder_impl_list)),
-    validatorCode=&quot;&quot;.join(flatten_list(Generator.validator_impl_list)),
-    validatorIfdefName=VALIDATOR_IFDEF_NAME))
-
-backend_js_file.write(Templates.backend_js.substitute(None,
-    domainInitializers=&quot;&quot;.join(Generator.backend_js_domain_initializer_list)))
-
-backend_h_file.close()
-backend_cpp_file.close()
-
-frontend_h_file.close()
-frontend_cpp_file.close()
-
-typebuilder_h_file.close()
-typebuilder_cpp_file.close()
-
-backend_js_file.close()
</del></span></pre></div>
<a id="trunkSourceWebCoreinspectorCodeGeneratorInspectorStringspy"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/inspector/CodeGeneratorInspectorStrings.py (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/CodeGeneratorInspectorStrings.py        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/CodeGeneratorInspectorStrings.py        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -1,348 +0,0 @@
</span><del>-# Copyright (c) 2013 Google Inc. All rights reserved.
-# Copyright (c) 2013 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:
-#
-#     * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#     * 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.
-#     * Neither the name of Google Inc. 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 THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT
-# OWNER 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.
-
-# This file contains string resources for CodeGeneratorInspector.
-# Its syntax is a Python syntax subset, suitable for manual parsing.
-
-frontend_domain_class = (
-&quot;&quot;&quot;class $domainClassName {
-public:
-    $domainClassName(InspectorFrontendChannel* inspectorFrontendChannel) : m_inspectorFrontendChannel(inspectorFrontendChannel) { }
-${frontendDomainMethodDeclarations}private:
-    InspectorFrontendChannel* m_inspectorFrontendChannel;
-};
-
-&quot;&quot;&quot;)
-
-backend_dispatcher_constructor = (
-&quot;&quot;&quot;PassRefPtr&lt;${dispatcherName}&gt; ${dispatcherName}::create(InspectorBackendDispatcher* backendDispatcher, ${agentName}* agent)
-{
-    return adoptRef(new ${dispatcherName}(backendDispatcher, agent));
-}
-
-${dispatcherName}::${dispatcherName}(InspectorBackendDispatcher* backendDispatcher, ${agentName}* agent)
-    : InspectorSupplementalBackendDispatcher(backendDispatcher)
-    , m_agent(agent)
-{
-    m_backendDispatcher-&gt;registerDispatcherForDomain(ASCIILiteral(&quot;${domainName}&quot;), this);
-}
-&quot;&quot;&quot;)
-
-backend_dispatcher_dispatch_method_simple = (
-&quot;&quot;&quot;void ${dispatcherName}::dispatch(long callId, const String&amp; method, PassRefPtr&lt;InspectorObject&gt; message)
-{
-    Ref&lt;${dispatcherName}&gt; protect(*this);
-
-${ifChain}
-    else
-        m_backendDispatcher-&gt;reportProtocolError(&amp;callId, InspectorBackendDispatcher::MethodNotFound, String(&quot;'&quot;) + &quot;${domainName}&quot; + '.' + method + &quot;' was not found&quot;);
-}
-&quot;&quot;&quot;)
-
-backend_dispatcher_dispatch_method = (
-&quot;&quot;&quot;void ${dispatcherName}::dispatch(long callId, const String&amp; method, PassRefPtr&lt;InspectorObject&gt; message)
-{
-    Ref&lt;${dispatcherName}&gt; protect(*this);
-
-    typedef void (${dispatcherName}::*CallHandler)(long callId, const Inspector::InspectorObject&amp; message);
-    typedef HashMap&lt;String, CallHandler&gt; DispatchMap;
-    DEFINE_STATIC_LOCAL(DispatchMap, dispatchMap, ());
-    if (dispatchMap.isEmpty()) {
-        static const struct MethodTable {
-            const char* name;
-            CallHandler handler;
-        } commands[] = {
-${dispatcherCommands}
-        };
-        size_t length = WTF_ARRAY_LENGTH(commands);
-        for (size_t i = 0; i &lt; length; ++i)
-            dispatchMap.add(commands[i].name, commands[i].handler);
-    }
-
-    HashMap&lt;String, CallHandler&gt;::iterator it = dispatchMap.find(method);
-    if (it == dispatchMap.end()) {
-        m_backendDispatcher-&gt;reportProtocolError(&amp;callId, InspectorBackendDispatcher::MethodNotFound, String(&quot;'&quot;) + &quot;${domainName}&quot; + '.' + method + &quot;' was not found&quot;);
-        return;
-    }
-
-    ((*this).*it-&gt;value)(callId, *message.get());
-}
-&quot;&quot;&quot;)
-
-backend_method = (
-&quot;&quot;&quot;void ${dispatcherName}::${methodName}(long callId, const InspectorObject&amp;${requestMessageObject})
-{
-${methodInParametersHandling}${methodDispatchHandling}${methodOutParametersHandling}${methodEndingHandling}
-}
-&quot;&quot;&quot;)
-
-frontend_method = (&quot;&quot;&quot;void Inspector${domainName}FrontendDispatcher::$eventName(${parameters})
-{
-    RefPtr&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
-    jsonMessage-&gt;setString(ASCIILiteral(&quot;method&quot;), ASCIILiteral(&quot;${domainName}.${eventName}&quot;));
-$code
-    m_inspectorFrontendChannel-&gt;sendMessageToFrontend(jsonMessage-&gt;toJSONString());
-}
-&quot;&quot;&quot;)
-
-callback_method = (
-&quot;&quot;&quot;${handlerName}::${callbackName}::${callbackName}(PassRefPtr&lt;InspectorBackendDispatcher&gt; backendDispatcher, int id) : Inspector::InspectorBackendDispatcher::CallbackBase(backendDispatcher, id) { }
-
-void ${handlerName}::${callbackName}::sendSuccess(${parameters})
-{
-    RefPtr&lt;InspectorObject&gt; jsonMessage = InspectorObject::create();
-${code}    sendIfActive(jsonMessage, ErrorString());
-}
-&quot;&quot;&quot;)
-
-frontend_h = (
-&quot;&quot;&quot;#ifndef InspectorFrontend_h
-#define InspectorFrontend_h
-
-#include &quot;InspectorWebTypeBuilders.h&quot;
-#include &quot;InspectorForwarding.h&quot;
-#include &lt;inspector/InspectorValues.h&gt;
-#include &lt;wtf/PassRefPtr.h&gt;
-#include &lt;wtf/text/WTFString.h&gt;
-
-namespace WebCore {
-
-#if ENABLE(INSPECTOR)
-
-$domainClassList
-
-#endif // ENABLE(INSPECTOR)
-
-} // namespace WebCore
-
-#endif // !defined(InspectorFrontend_h)
-&quot;&quot;&quot;)
-
-backend_h = (
-&quot;&quot;&quot;#ifndef InspectorBackendDispatchers_h
-#define InspectorBackendDispatchers_h
-
-#include &quot;InspectorWebTypeBuilders.h&quot;
-#include &lt;inspector/InspectorBackendDispatcher.h&gt;
-#include &lt;wtf/PassRefPtr.h&gt;
-#include &lt;wtf/text/WTFString.h&gt;
-
-namespace WebCore {
-
-typedef String ErrorString;
-
-$handlerInterfaces
-
-$dispatcherInterfaces
-} // namespace WebCore
-
-#endif // !defined(InspectorBackendDispatchers_h)
-&quot;&quot;&quot;)
-
-backend_cpp = (
-&quot;&quot;&quot;
-#include &quot;config.h&quot;
-
-#if ENABLE(INSPECTOR)
-
-#include &quot;InspectorBackendDispatchers.h&quot;
-
-#include &quot;InspectorAgent.h&quot;
-#include &quot;InspectorForwarding.h&quot;
-#include &lt;inspector/InspectorValues.h&gt;
-#include &lt;wtf/text/CString.h&gt;
-#include &lt;wtf/text/WTFString.h&gt;
-
-using namespace Inspector;
-
-namespace WebCore {
-
-$methods
-} // namespace WebCore
-
-#endif // ENABLE(INSPECTOR)
-&quot;&quot;&quot;)
-
-frontend_cpp = (
-&quot;&quot;&quot;
-
-#include &quot;config.h&quot;
-
-#if ENABLE(INSPECTOR)
-
-#include &quot;InspectorFrontend.h&quot;
-
-#include &lt;wtf/text/CString.h&gt;
-#include &lt;wtf/text/WTFString.h&gt;
-
-using namespace Inspector;
-
-namespace WebCore {
-
-$methods
-
-} // namespace WebCore
-
-#endif // ENABLE(INSPECTOR)
-&quot;&quot;&quot;)
-
-typebuilder_h = (
-&quot;&quot;&quot;
-// FIXME: TYPE.
-#ifndef InspectorWebTypeBuilders_h
-#define InspectorWebTypeBuilders_h
-
-#if ENABLE(INSPECTOR)
-
-#include &lt;inspector/InspectorTypeBuilder.h&gt;
-#include &lt;wtf/Assertions.h&gt;
-#include &lt;wtf/PassRefPtr.h&gt;
-
-namespace Inspector {
-
-namespace TypeBuilder {
-
-${forwards}
-
-String getEnumConstantValue(int code);
-
-${typeBuilders}
-} // namespace TypeBuilder
-
-} // namespace Inspector
-
-#endif // ENABLE(INSPECTOR)
-
-#endif // !defined(InspectorWebTypeBuilders_h)
-
-&quot;&quot;&quot;)
-
-typebuilder_cpp = (
-&quot;&quot;&quot;
-
-#include &quot;config.h&quot;
-#if ENABLE(INSPECTOR)
-
-#include &quot;InspectorWebTypeBuilders.h&quot;
-#include &lt;wtf/text/CString.h&gt;
-
-using namespace Inspector;
-
-namespace Inspector {
-
-namespace TypeBuilder {
-
-const char* const enum_constant_values[] = {
-$enumConstantValues};
-
-String getEnumConstantValue(int code) {
-    return enum_constant_values[code];
-}
-
-} // namespace TypeBuilder
-
-$implCode
-
-#if $validatorIfdefName
-
-$validatorCode
-
-#endif // $validatorIfdefName
-
-} // namespace Inspector
-
-#endif // ENABLE(INSPECTOR)
-&quot;&quot;&quot;)
-
-backend_js = (
-&quot;&quot;&quot;
-
-$domainInitializers
-&quot;&quot;&quot;)
-
-param_container_access_code = &quot;&quot;&quot;
-    RefPtr&lt;InspectorObject&gt; paramsContainer = message.getObject(&quot;params&quot;);
-    InspectorObject* paramsContainerPtr = paramsContainer.get();
-    InspectorArray* protocolErrorsPtr = protocolErrors.get();
-&quot;&quot;&quot;
-
-class_binding_builder_part_1 = (
-&quot;&quot;&quot;        AllFieldsSet = %s
-    };
-
-    template&lt;int STATE&gt;
-    class Builder {
-    private:
-        RefPtr&lt;Inspector::InspectorObject&gt; m_result;
-
-        template&lt;int STEP&gt; Builder&lt;STATE | STEP&gt;&amp; castState()
-        {
-            return *reinterpret_cast&lt;Builder&lt;STATE | STEP&gt;*&gt;(this);
-        }
-
-        Builder(PassRefPtr&lt;/*%s*/Inspector::InspectorObject&gt; ptr)
-        {
-            COMPILE_ASSERT(STATE == NoFieldsSet, builder_created_in_non_init_state);
-            m_result = ptr;
-        }
-        friend class %s;
-    public:
-&quot;&quot;&quot;)
-
-class_binding_builder_part_2 = (&quot;&quot;&quot;
-        Builder&lt;STATE | %s&gt;&amp; set%s(%s value)
-        {
-            COMPILE_ASSERT(!(STATE &amp; %s), property_%s_already_set);
-            m_result-&gt;set%s(&quot;%s&quot;, %s);
-            return castState&lt;%s&gt;();
-        }
-&quot;&quot;&quot;)
-
-class_binding_builder_part_3 = (&quot;&quot;&quot;
-        operator RefPtr&lt;%s&gt;&amp; ()
-        {
-            COMPILE_ASSERT(STATE == AllFieldsSet, result_is_not_ready);
-            COMPILE_ASSERT(sizeof(%s) == sizeof(Inspector::InspectorObject), cannot_cast);
-            return *reinterpret_cast&lt;RefPtr&lt;%s&gt;*&gt;(&amp;m_result);
-        }
-
-        PassRefPtr&lt;%s&gt; release()
-        {
-            return RefPtr&lt;%s&gt;(*this).release();
-        }
-    };
-
-&quot;&quot;&quot;)
-
-class_binding_builder_part_4 = (
-&quot;&quot;&quot;    static Builder&lt;NoFieldsSet&gt; create()
-    {
-        return Builder&lt;NoFieldsSet&gt;(Inspector::InspectorObject::create());
-    }
-&quot;&quot;&quot;)
</del></span></pre></div>
<a id="trunkSourceWebCoreinspectorConsoleMessageh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/ConsoleMessage.h (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/ConsoleMessage.h        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/ConsoleMessage.h        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;ConsoleAPITypes.h&quot;
</span><span class="cx"> #include &quot;ConsoleTypes.h&quot;
</span><del>-#include &quot;InspectorFrontend.h&quot;
</del><ins>+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;ScriptState.h&quot;
</span><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="lines">@@ -59,8 +59,8 @@
</span><span class="cx">     ConsoleMessage(bool canGenerateCallStack, MessageSource, MessageType, MessageLevel, const String&amp; message, PassRefPtr&lt;ScriptArguments&gt;, JSC::ExecState*, unsigned long requestIdentifier = 0);
</span><span class="cx">     ~ConsoleMessage();
</span><span class="cx"> 
</span><del>-    void addToFrontend(InspectorConsoleFrontendDispatcher*, InjectedScriptManager*, bool generatePreview);
-    void updateRepeatCountInConsole(InspectorConsoleFrontendDispatcher*);
</del><ins>+    void addToFrontend(Inspector::InspectorConsoleFrontendDispatcher*, InjectedScriptManager*, bool generatePreview);
+    void updateRepeatCountInConsole(Inspector::InspectorConsoleFrontendDispatcher*);
</ins><span class="cx">     void incrementCount() { ++m_repeatCount; }
</span><span class="cx">     bool isEqual(ConsoleMessage* msg) const;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInjectedScriptHostcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InjectedScriptHost.cpp (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InjectedScriptHost.cpp        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InjectedScriptHost.cpp        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx"> #include &quot;InspectorDOMStorageAgent.h&quot;
</span><span class="cx"> #include &quot;InspectorDatabaseAgent.h&quot;
</span><span class="cx"> #include &quot;InspectorDebuggerAgent.h&quot;
</span><del>-#include &quot;InspectorFrontend.h&quot;
</del><ins>+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;Pasteboard.h&quot;
</span><span class="cx"> #include &quot;Storage.h&quot;
</span><span class="cx"> #include &quot;markup.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorAgent.cpp (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorAgent.cpp        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorAgent.cpp        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -40,8 +40,8 @@
</span><span class="cx"> #include &quot;InjectedScriptHost.h&quot;
</span><span class="cx"> #include &quot;InjectedScriptManager.h&quot;
</span><span class="cx"> #include &quot;InspectorController.h&quot;
</span><del>-#include &quot;InspectorFrontend.h&quot;
</del><span class="cx"> #include &quot;InspectorInstrumentation.h&quot;
</span><ins>+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;InstrumentingAgents.h&quot;
</span><span class="cx"> #include &quot;MainFrame.h&quot;
</span><span class="cx"> #include &quot;Page.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorAgent.h (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorAgent.h        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorAgent.h        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -30,8 +30,8 @@
</span><span class="cx"> #ifndef InspectorAgent_h
</span><span class="cx"> #define InspectorAgent_h
</span><span class="cx"> 
</span><del>-#include &quot;InspectorBackendDispatchers.h&quot;
</del><span class="cx"> #include &quot;InspectorWebAgentBase.h&quot;
</span><ins>+#include &quot;InspectorWebBackendDispatchers.h&quot;
</ins><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/PassOwnPtr.h&gt;
</span><span class="lines">@@ -39,6 +39,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> class InspectorObject;
</span><ins>+class InspectorInspectorFrontendDispatcher;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -47,13 +48,12 @@
</span><span class="cx"> class DocumentLoader;
</span><span class="cx"> class Frame;
</span><span class="cx"> class InjectedScriptManager;
</span><del>-class InspectorInspectorFrontendDispatcher;
</del><span class="cx"> class InstrumentingAgents;
</span><span class="cx"> class Page;
</span><span class="cx"> 
</span><span class="cx"> typedef String ErrorString;
</span><span class="cx"> 
</span><del>-class InspectorAgent : public InspectorAgentBase, public InspectorInspectorBackendDispatcherHandler {
</del><ins>+class InspectorAgent : public InspectorAgentBase, public Inspector::InspectorInspectorBackendDispatcherHandler {
</ins><span class="cx">     WTF_MAKE_NONCOPYABLE(InspectorAgent);
</span><span class="cx"> public:
</span><span class="cx">     static PassOwnPtr&lt;InspectorAgent&gt; create(Page* page, InjectedScriptManager* injectedScriptManager, InstrumentingAgents* instrumentingAgents)
</span><span class="lines">@@ -90,8 +90,8 @@
</span><span class="cx">     InspectorAgent(Page*, InjectedScriptManager*, InstrumentingAgents*);
</span><span class="cx"> 
</span><span class="cx">     Page* m_inspectedPage;
</span><del>-    std::unique_ptr&lt;InspectorInspectorFrontendDispatcher&gt; m_frontendDispatcher;
-    RefPtr&lt;InspectorInspectorBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    std::unique_ptr&lt;Inspector::InspectorInspectorFrontendDispatcher&gt; m_frontendDispatcher;
+    RefPtr&lt;Inspector::InspectorInspectorBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx">     InjectedScriptManager* m_injectedScriptManager;
</span><span class="cx"> 
</span><span class="cx">     Vector&lt;pair&lt;long, String&gt;&gt; m_pendingEvaluateTestCommands;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorApplicationCacheAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorApplicationCacheAgent.cpp (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorApplicationCacheAgent.cpp        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorApplicationCacheAgent.cpp        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -34,8 +34,8 @@
</span><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="cx"> #include &quot;FrameLoader.h&quot;
</span><span class="cx"> #include &quot;InspectorAgent.h&quot;
</span><del>-#include &quot;InspectorFrontend.h&quot;
</del><span class="cx"> #include &quot;InspectorPageAgent.h&quot;
</span><ins>+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;InstrumentingAgents.h&quot;
</span><span class="cx"> #include &quot;NetworkStateNotifier.h&quot;
</span><span class="cx"> #include &quot;Page.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorApplicationCacheAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorApplicationCacheAgent.h (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorApplicationCacheAgent.h        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorApplicationCacheAgent.h        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -28,13 +28,14 @@
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx"> 
</span><span class="cx"> #include &quot;ApplicationCacheHost.h&quot;
</span><del>-#include &quot;InspectorBackendDispatchers.h&quot;
-#include &quot;InspectorFrontend.h&quot;
</del><span class="cx"> #include &quot;InspectorWebAgentBase.h&quot;
</span><ins>+#include &quot;InspectorWebBackendDispatchers.h&quot;
+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &lt;wtf/Noncopyable.h&gt;
</span><span class="cx"> #include &lt;wtf/PassOwnPtr.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><ins>+class InspectorApplicationCacheFrontendDispatcher;
</ins><span class="cx"> class InspectorObject;
</span><span class="cx"> class InspectorValue;
</span><span class="cx"> }
</span><span class="lines">@@ -43,7 +44,6 @@
</span><span class="cx"> 
</span><span class="cx"> class Frame;
</span><span class="cx"> class InspectorAgent;
</span><del>-class InspectorApplicationCacheFrontendDispatcher;
</del><span class="cx"> class InspectorPageAgent;
</span><span class="cx"> class InstrumentingAgents;
</span><span class="cx"> class Page;
</span><span class="lines">@@ -51,7 +51,7 @@
</span><span class="cx"> 
</span><span class="cx"> typedef String ErrorString;
</span><span class="cx"> 
</span><del>-class InspectorApplicationCacheAgent : public InspectorAgentBase, public InspectorApplicationCacheBackendDispatcherHandler {
</del><ins>+class InspectorApplicationCacheAgent : public InspectorAgentBase, public Inspector::InspectorApplicationCacheBackendDispatcherHandler {
</ins><span class="cx">     WTF_MAKE_NONCOPYABLE(InspectorApplicationCacheAgent); WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><span class="cx">     static PassOwnPtr&lt;InspectorApplicationCacheAgent&gt; create(InstrumentingAgents* instrumentingAgents, InspectorPageAgent* pageAgent)
</span><span class="lines">@@ -80,8 +80,8 @@
</span><span class="cx">     DocumentLoader* assertFrameWithDocumentLoader(ErrorString*, String frameId);
</span><span class="cx"> 
</span><span class="cx">     InspectorPageAgent* m_pageAgent;
</span><del>-    std::unique_ptr&lt;InspectorApplicationCacheFrontendDispatcher&gt; m_frontendDispatcher;
-    RefPtr&lt;InspectorApplicationCacheBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    std::unique_ptr&lt;Inspector::InspectorApplicationCacheFrontendDispatcher&gt; m_frontendDispatcher;
+    RefPtr&lt;Inspector::InspectorApplicationCacheBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorCSSAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorCSSAgent.h (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorCSSAgent.h        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorCSSAgent.h        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -27,10 +27,10 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;CSSSelector.h&quot;
</span><span class="cx"> #include &quot;ContentSecurityPolicy.h&quot;
</span><del>-#include &quot;InspectorBackendDispatchers.h&quot;
</del><span class="cx"> #include &quot;InspectorDOMAgent.h&quot;
</span><span class="cx"> #include &quot;InspectorStyleSheet.h&quot;
</span><span class="cx"> #include &quot;InspectorWebAgentBase.h&quot;
</span><ins>+#include &quot;InspectorWebBackendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;SecurityContext.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorValues.h&gt;
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="lines">@@ -39,6 +39,10 @@
</span><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><ins>+namespace Inspector {
+class InspectorCSSFrontendDispatcher;
+}
+
</ins><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> class CSSRule;
</span><span class="lines">@@ -50,7 +54,6 @@
</span><span class="cx"> class DocumentStyleSheetCollection;
</span><span class="cx"> class Element;
</span><span class="cx"> class InspectorCSSOMWrappers;
</span><del>-class InspectorCSSFrontendDispatcher;
</del><span class="cx"> class InstrumentingAgents;
</span><span class="cx"> class NameNodeMap;
</span><span class="cx"> class Node;
</span><span class="lines">@@ -66,7 +69,7 @@
</span><span class="cx"> class InspectorCSSAgent
</span><span class="cx">     : public InspectorAgentBase
</span><span class="cx">     , public InspectorDOMAgent::DOMListener
</span><del>-    , public InspectorCSSBackendDispatcherHandler
</del><ins>+    , public Inspector::InspectorCSSBackendDispatcherHandler
</ins><span class="cx">     , public InspectorStyleSheet::Listener {
</span><span class="cx">     WTF_MAKE_NONCOPYABLE(InspectorCSSAgent);
</span><span class="cx"> public:
</span><span class="lines">@@ -183,8 +186,8 @@
</span><span class="cx"> 
</span><span class="cx">     void resetPseudoStates();
</span><span class="cx"> 
</span><del>-    std::unique_ptr&lt;InspectorCSSFrontendDispatcher&gt; m_frontendDispatcher;
-    RefPtr&lt;InspectorCSSBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    std::unique_ptr&lt;Inspector::InspectorCSSFrontendDispatcher&gt; m_frontendDispatcher;
+    RefPtr&lt;Inspector::InspectorCSSBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx">     InspectorDOMAgent* m_domAgent;
</span><span class="cx"> 
</span><span class="cx">     IdToInspectorStyleSheet m_idToInspectorStyleSheet;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorCanvasAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorCanvasAgent.cpp (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorCanvasAgent.cpp        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorCanvasAgent.cpp        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -41,8 +41,8 @@
</span><span class="cx"> #include &quot;InjectedScript.h&quot;
</span><span class="cx"> #include &quot;InjectedScriptCanvasModule.h&quot;
</span><span class="cx"> #include &quot;InjectedScriptManager.h&quot;
</span><del>-#include &quot;InspectorFrontend.h&quot;
</del><span class="cx"> #include &quot;InspectorPageAgent.h&quot;
</span><ins>+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;InstrumentingAgents.h&quot;
</span><span class="cx"> #include &quot;MainFrame.h&quot;
</span><span class="cx"> #include &quot;NodeList.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorCanvasAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorCanvasAgent.h (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorCanvasAgent.h        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorCanvasAgent.h        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -33,9 +33,9 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx"> 
</span><del>-#include &quot;InspectorBackendDispatchers.h&quot;
-#include &quot;InspectorFrontend.h&quot;
</del><span class="cx"> #include &quot;InspectorWebAgentBase.h&quot;
</span><ins>+#include &quot;InspectorWebBackendDispatchers.h&quot;
+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;InspectorWebTypeBuilders.h&quot;
</span><span class="cx"> #include &quot;ScriptState.h&quot;
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="lines">@@ -57,7 +57,7 @@
</span><span class="cx"> 
</span><span class="cx"> typedef String ErrorString;
</span><span class="cx"> 
</span><del>-class InspectorCanvasAgent : public InspectorAgentBase, public InspectorCanvasBackendDispatcherHandler {
</del><ins>+class InspectorCanvasAgent : public InspectorAgentBase, public Inspector::InspectorCanvasBackendDispatcherHandler {
</ins><span class="cx"> public:
</span><span class="cx">     static PassOwnPtr&lt;InspectorCanvasAgent&gt; create(InstrumentingAgents* instrumentingAgents, InspectorPageAgent* pageAgent, InjectedScriptManager* injectedScriptManager)
</span><span class="cx">     {
</span><span class="lines">@@ -104,8 +104,8 @@
</span><span class="cx"> 
</span><span class="cx">     InspectorPageAgent* m_pageAgent;
</span><span class="cx">     InjectedScriptManager* m_injectedScriptManager;
</span><del>-    std::unique_ptr&lt;InspectorCanvasFrontendDispatcher&gt; m_frontendDispatcher;
-    RefPtr&lt;InspectorCanvasBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    std::unique_ptr&lt;Inspector::InspectorCanvasFrontendDispatcher&gt; m_frontendDispatcher;
+    RefPtr&lt;Inspector::InspectorCanvasBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx">     bool m_enabled;
</span><span class="cx">     // Contains all frames with canvases, value is true only for frames that have an uninstrumented canvas.
</span><span class="cx">     typedef HashMap&lt;Frame*, bool&gt; FramesWithUninstrumentedCanvases;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorConsoleAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorConsoleAgent.cpp (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorConsoleAgent.cpp        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorConsoleAgent.cpp        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx"> #include &quot;DOMWindow.h&quot;
</span><span class="cx"> #include &quot;InjectedScriptHost.h&quot;
</span><span class="cx"> #include &quot;InjectedScriptManager.h&quot;
</span><del>-#include &quot;InspectorFrontend.h&quot;
</del><ins>+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;InstrumentingAgents.h&quot;
</span><span class="cx"> #include &quot;ResourceError.h&quot;
</span><span class="cx"> #include &quot;ResourceResponse.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorConsoleAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorConsoleAgent.h (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorConsoleAgent.h        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorConsoleAgent.h        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -29,15 +29,15 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;ConsoleAPITypes.h&quot;
</span><span class="cx"> #include &quot;ConsoleTypes.h&quot;
</span><del>-#include &quot;InspectorBackendDispatchers.h&quot;
-#include &quot;InspectorFrontend.h&quot;
</del><span class="cx"> #include &quot;InspectorWebAgentBase.h&quot;
</span><ins>+#include &quot;InspectorWebBackendDispatchers.h&quot;
+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;ScriptState.h&quot;
</span><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/Noncopyable.h&gt;
</span><ins>+#include &lt;wtf/Vector.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/StringHash.h&gt;
</span><del>-#include &lt;wtf/Vector.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -53,7 +53,7 @@
</span><span class="cx"> 
</span><span class="cx"> typedef String ErrorString;
</span><span class="cx"> 
</span><del>-class InspectorConsoleAgent : public InspectorAgentBase, public InspectorConsoleBackendDispatcherHandler {
</del><ins>+class InspectorConsoleAgent : public InspectorAgentBase, public Inspector::InspectorConsoleBackendDispatcherHandler {
</ins><span class="cx">     WTF_MAKE_NONCOPYABLE(InspectorConsoleAgent);
</span><span class="cx"> public:
</span><span class="cx">     InspectorConsoleAgent(InstrumentingAgents*, InjectedScriptManager*);
</span><span class="lines">@@ -101,8 +101,8 @@
</span><span class="cx">     virtual bool developerExtrasEnabled() = 0;
</span><span class="cx"> 
</span><span class="cx">     InjectedScriptManager* m_injectedScriptManager;
</span><del>-    std::unique_ptr&lt;InspectorConsoleFrontendDispatcher&gt; m_frontendDispatcher;
-    RefPtr&lt;InspectorConsoleBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    std::unique_ptr&lt;Inspector::InspectorConsoleFrontendDispatcher&gt; m_frontendDispatcher;
+    RefPtr&lt;Inspector::InspectorConsoleBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx">     ConsoleMessage* m_previousMessage;
</span><span class="cx">     Vector&lt;OwnPtr&lt;ConsoleMessage&gt;&gt; m_consoleMessages;
</span><span class="cx">     int m_expiredConsoleMessageCount;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorController.cpp (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorController.cpp        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorController.cpp        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -41,7 +41,6 @@
</span><span class="cx"> #include &quot;InjectedScriptManager.h&quot;
</span><span class="cx"> #include &quot;InspectorAgent.h&quot;
</span><span class="cx"> #include &quot;InspectorApplicationCacheAgent.h&quot;
</span><del>-#include &quot;InspectorBackendDispatchers.h&quot;
</del><span class="cx"> #include &quot;InspectorCSSAgent.h&quot;
</span><span class="cx"> #include &quot;InspectorCanvasAgent.h&quot;
</span><span class="cx"> #include &quot;InspectorClient.h&quot;
</span><span class="lines">@@ -50,7 +49,6 @@
</span><span class="cx"> #include &quot;InspectorDOMStorageAgent.h&quot;
</span><span class="cx"> #include &quot;InspectorDatabaseAgent.h&quot;
</span><span class="cx"> #include &quot;InspectorDebuggerAgent.h&quot;
</span><del>-#include &quot;InspectorFrontend.h&quot;
</del><span class="cx"> #include &quot;InspectorFrontendClient.h&quot;
</span><span class="cx"> #include &quot;InspectorHeapProfilerAgent.h&quot;
</span><span class="cx"> #include &quot;InspectorIndexedDBAgent.h&quot;
</span><span class="lines">@@ -63,13 +61,15 @@
</span><span class="cx"> #include &quot;InspectorProfilerAgent.h&quot;
</span><span class="cx"> #include &quot;InspectorResourceAgent.h&quot;
</span><span class="cx"> #include &quot;InspectorTimelineAgent.h&quot;
</span><ins>+#include &quot;InspectorWebBackendDispatchers.h&quot;
+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;InspectorWorkerAgent.h&quot;
</span><span class="cx"> #include &quot;InstrumentingAgents.h&quot;
</span><span class="cx"> #include &quot;MainFrame.h&quot;
</span><ins>+#include &quot;Page.h&quot;
</ins><span class="cx"> #include &quot;PageConsoleAgent.h&quot;
</span><span class="cx"> #include &quot;PageDebuggerAgent.h&quot;
</span><span class="cx"> #include &quot;PageRuntimeAgent.h&quot;
</span><del>-#include &quot;Page.h&quot;
</del><span class="cx"> #include &quot;Settings.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorBackendDispatcher.h&gt;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDOMAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -69,11 +69,11 @@
</span><span class="cx"> #include &quot;IdentifiersFactory.h&quot;
</span><span class="cx"> #include &quot;InjectedScriptManager.h&quot;
</span><span class="cx"> #include &quot;InspectorClient.h&quot;
</span><del>-#include &quot;InspectorFrontend.h&quot;
</del><span class="cx"> #include &quot;InspectorHistory.h&quot;
</span><span class="cx"> #include &quot;InspectorNodeFinder.h&quot;
</span><span class="cx"> #include &quot;InspectorOverlay.h&quot;
</span><span class="cx"> #include &quot;InspectorPageAgent.h&quot;
</span><ins>+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;InstrumentingAgents.h&quot;
</span><span class="cx"> #include &quot;IntRect.h&quot;
</span><span class="cx"> #include &quot;JSEventListener.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDOMAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDOMAgent.h (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDOMAgent.h        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorDOMAgent.h        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -33,10 +33,10 @@
</span><span class="cx"> #include &quot;EventTarget.h&quot;
</span><span class="cx"> #include &quot;InjectedScript.h&quot;
</span><span class="cx"> #include &quot;InjectedScriptManager.h&quot;
</span><del>-#include &quot;InspectorBackendDispatchers.h&quot;
-#include &quot;InspectorFrontend.h&quot;
</del><span class="cx"> #include &quot;InspectorOverlay.h&quot;
</span><span class="cx"> #include &quot;InspectorWebAgentBase.h&quot;
</span><ins>+#include &quot;InspectorWebBackendDispatchers.h&quot;
+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;RenderLayer.h&quot;
</span><span class="cx"> #include &quot;Timer.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorValues.h&gt;
</span><span class="lines">@@ -93,7 +93,7 @@
</span><span class="cx">     const EventListenerVector eventListenerVector;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-class InspectorDOMAgent : public InspectorAgentBase, public InspectorDOMBackendDispatcherHandler {
</del><ins>+class InspectorDOMAgent : public InspectorAgentBase, public Inspector::InspectorDOMBackendDispatcherHandler {
</ins><span class="cx">     WTF_MAKE_NONCOPYABLE(InspectorDOMAgent);
</span><span class="cx"> public:
</span><span class="cx">     struct DOMListener {
</span><span class="lines">@@ -247,8 +247,8 @@
</span><span class="cx">     InjectedScriptManager* m_injectedScriptManager;
</span><span class="cx">     InspectorOverlay* m_overlay;
</span><span class="cx">     InspectorClient* m_client;
</span><del>-    std::unique_ptr&lt;InspectorDOMFrontendDispatcher&gt; m_frontendDispatcher;
-    RefPtr&lt;InspectorDOMBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    std::unique_ptr&lt;Inspector::InspectorDOMFrontendDispatcher&gt; m_frontendDispatcher;
+    RefPtr&lt;Inspector::InspectorDOMBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx">     DOMListener* m_domListener;
</span><span class="cx">     NodeToIdMap m_documentNodeToIdMap;
</span><span class="cx">     typedef HashMap&lt;RefPtr&lt;Node&gt;, BackendNodeId&gt; NodeToBackendIdMap;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDOMDebuggerAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.cpp (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.cpp        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.cpp        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -38,8 +38,8 @@
</span><span class="cx"> #include &quot;InspectorAgent.h&quot;
</span><span class="cx"> #include &quot;InspectorDOMAgent.h&quot;
</span><span class="cx"> #include &quot;InspectorDebuggerAgent.h&quot;
</span><del>-#include &quot;InspectorFrontend.h&quot;
</del><span class="cx"> #include &quot;InspectorInstrumentation.h&quot;
</span><ins>+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;InstrumentingAgents.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorValues.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDOMDebuggerAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.h (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.h        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorDOMDebuggerAgent.h        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -33,9 +33,9 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(JAVASCRIPT_DEBUGGER) &amp;&amp; ENABLE(INSPECTOR)
</span><span class="cx"> 
</span><del>-#include &quot;InspectorBackendDispatchers.h&quot;
</del><span class="cx"> #include &quot;InspectorDebuggerAgent.h&quot;
</span><span class="cx"> #include &quot;InspectorWebAgentBase.h&quot;
</span><ins>+#include &quot;InspectorWebBackendDispatchers.h&quot;
</ins><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/PassOwnPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/RefCounted.h&gt;
</span><span class="lines">@@ -56,7 +56,7 @@
</span><span class="cx"> 
</span><span class="cx"> typedef String ErrorString;
</span><span class="cx"> 
</span><del>-class InspectorDOMDebuggerAgent : public InspectorAgentBase, public InspectorDebuggerAgent::Listener, public InspectorDOMDebuggerBackendDispatcherHandler {
</del><ins>+class InspectorDOMDebuggerAgent : public InspectorAgentBase, public InspectorDebuggerAgent::Listener, public Inspector::InspectorDOMDebuggerBackendDispatcherHandler {
</ins><span class="cx">     WTF_MAKE_NONCOPYABLE(InspectorDOMDebuggerAgent);
</span><span class="cx"> public:
</span><span class="cx">     static PassOwnPtr&lt;InspectorDOMDebuggerAgent&gt; create(InstrumentingAgents*, InspectorDOMAgent*, InspectorDebuggerAgent*, InspectorAgent*);
</span><span class="lines">@@ -108,7 +108,7 @@
</span><span class="cx"> 
</span><span class="cx">     InspectorDOMAgent* m_domAgent;
</span><span class="cx">     InspectorDebuggerAgent* m_debuggerAgent;
</span><del>-    RefPtr&lt;InspectorDOMDebuggerBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    RefPtr&lt;Inspector::InspectorDOMDebuggerBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx">     HashMap&lt;Node*, uint32_t&gt; m_domBreakpoints;
</span><span class="cx">     HashSet&lt;String&gt; m_eventListenerBreakpoints;
</span><span class="cx">     HashSet&lt;String&gt; m_xhrBreakpoints;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDOMStorageAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDOMStorageAgent.cpp (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDOMStorageAgent.cpp        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorDOMStorageAgent.cpp        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -33,14 +33,14 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InspectorDOMStorageAgent.h&quot;
</span><span class="cx"> 
</span><ins>+#include &quot;DOMWindow.h&quot;
</ins><span class="cx"> #include &quot;Database.h&quot;
</span><del>-#include &quot;DOMWindow.h&quot;
</del><span class="cx"> #include &quot;Document.h&quot;
</span><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><span class="cx"> #include &quot;ExceptionCodeDescription.h&quot;
</span><span class="cx"> #include &quot;Frame.h&quot;
</span><del>-#include &quot;InspectorFrontend.h&quot;
</del><span class="cx"> #include &quot;InspectorPageAgent.h&quot;
</span><ins>+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;InstrumentingAgents.h&quot;
</span><span class="cx"> #include &quot;Page.h&quot;
</span><span class="cx"> #include &quot;PageGroup.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDOMStorageAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDOMStorageAgent.h (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDOMStorageAgent.h        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorDOMStorageAgent.h        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -29,8 +29,8 @@
</span><span class="cx"> #ifndef InspectorDOMStorageAgent_h
</span><span class="cx"> #define InspectorDOMStorageAgent_h
</span><span class="cx"> 
</span><del>-#include &quot;InspectorBackendDispatchers.h&quot;
</del><span class="cx"> #include &quot;InspectorWebAgentBase.h&quot;
</span><ins>+#include &quot;InspectorWebBackendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;StorageArea.h&quot;
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/PassOwnPtr.h&gt;
</span><span class="lines">@@ -38,12 +38,12 @@
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> class InspectorArray;
</span><ins>+class InspectorDOMStorageFrontendDispatcher;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> class Frame;
</span><del>-class InspectorDOMStorageFrontendDispatcher;
</del><span class="cx"> class InspectorPageAgent;
</span><span class="cx"> class InstrumentingAgents;
</span><span class="cx"> class Page;
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx"> 
</span><span class="cx"> typedef String ErrorString;
</span><span class="cx"> 
</span><del>-class InspectorDOMStorageAgent : public InspectorAgentBase, public InspectorDOMStorageBackendDispatcherHandler {
</del><ins>+class InspectorDOMStorageAgent : public InspectorAgentBase, public Inspector::InspectorDOMStorageBackendDispatcherHandler {
</ins><span class="cx"> public:
</span><span class="cx">     static PassOwnPtr&lt;InspectorDOMStorageAgent&gt; create(InstrumentingAgents* instrumentingAgents, InspectorPageAgent* pageAgent)
</span><span class="cx">     {
</span><span class="lines">@@ -84,8 +84,8 @@
</span><span class="cx">     PassRefPtr&lt;StorageArea&gt; findStorageArea(ErrorString*, const RefPtr&lt;Inspector::InspectorObject&gt;&amp;, Frame*&amp;);
</span><span class="cx"> 
</span><span class="cx">     InspectorPageAgent* m_pageAgent;
</span><del>-    std::unique_ptr&lt;InspectorDOMStorageFrontendDispatcher&gt; m_frontendDispatcher;
-    RefPtr&lt;InspectorDOMStorageBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    std::unique_ptr&lt;Inspector::InspectorDOMStorageFrontendDispatcher&gt; m_frontendDispatcher;
+    RefPtr&lt;Inspector::InspectorDOMStorageBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx">     bool m_enabled;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDatabaseAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDatabaseAgent.cpp (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDatabaseAgent.cpp        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorDatabaseAgent.cpp        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><span class="cx"> #include &quot;ExceptionCodePlaceholder.h&quot;
</span><span class="cx"> #include &quot;InspectorDatabaseResource.h&quot;
</span><del>-#include &quot;InspectorFrontend.h&quot;
</del><ins>+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;InstrumentingAgents.h&quot;
</span><span class="cx"> #include &quot;SQLError.h&quot;
</span><span class="cx"> #include &quot;SQLResultSet.h&quot;
</span><span class="lines">@@ -51,7 +51,7 @@
</span><span class="cx"> #include &lt;inspector/InspectorValues.h&gt;
</span><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="cx"> 
</span><del>-typedef WebCore::InspectorDatabaseBackendDispatcherHandler::ExecuteSQLCallback ExecuteSQLCallback;
</del><ins>+typedef Inspector::InspectorDatabaseBackendDispatcherHandler::ExecuteSQLCallback ExecuteSQLCallback;
</ins><span class="cx"> 
</span><span class="cx"> using namespace Inspector;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDatabaseAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDatabaseAgent.h (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDatabaseAgent.h        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorDatabaseAgent.h        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -31,9 +31,9 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR) &amp;&amp; ENABLE(SQL_DATABASE)
</span><span class="cx"> 
</span><del>-#include &quot;InspectorBackendDispatchers.h&quot;
-#include &quot;InspectorFrontend.h&quot;
</del><span class="cx"> #include &quot;InspectorWebAgentBase.h&quot;
</span><ins>+#include &quot;InspectorWebBackendDispatchers.h&quot;
+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/PassOwnPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="lines">@@ -50,7 +50,7 @@
</span><span class="cx"> 
</span><span class="cx"> typedef String ErrorString;
</span><span class="cx"> 
</span><del>-class InspectorDatabaseAgent : public InspectorAgentBase, public InspectorDatabaseBackendDispatcherHandler {
</del><ins>+class InspectorDatabaseAgent : public InspectorAgentBase, public Inspector::InspectorDatabaseBackendDispatcherHandler {
</ins><span class="cx"> public:
</span><span class="cx">     static PassOwnPtr&lt;InspectorDatabaseAgent&gt; create(InstrumentingAgents* instrumentingAgents)
</span><span class="cx">     {
</span><span class="lines">@@ -79,8 +79,8 @@
</span><span class="cx">     Database* databaseForId(const String&amp; databaseId);
</span><span class="cx">     InspectorDatabaseResource* findByFileName(const String&amp; fileName);
</span><span class="cx"> 
</span><del>-    std::unique_ptr&lt;InspectorDatabaseFrontendDispatcher&gt; m_frontendDispatcher;
-    RefPtr&lt;InspectorDatabaseBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    std::unique_ptr&lt;Inspector::InspectorDatabaseFrontendDispatcher&gt; m_frontendDispatcher;
+    RefPtr&lt;Inspector::InspectorDatabaseBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx">     typedef HashMap&lt;String, RefPtr&lt;InspectorDatabaseResource&gt;&gt; DatabaseResourcesMap;
</span><span class="cx">     DatabaseResourcesMap m_resources;
</span><span class="cx">     bool m_enabled;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDatabaseResourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDatabaseResource.cpp (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDatabaseResource.cpp        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorDatabaseResource.cpp        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx"> #include &quot;InspectorDatabaseResource.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;Database.h&quot;
</span><del>-#include &quot;InspectorFrontend.h&quot;
</del><ins>+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &lt;inspector/InspectorValues.h&gt;
</span><span class="cx"> 
</span><span class="cx"> using namespace Inspector;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDatabaseResourceh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDatabaseResource.h (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDatabaseResource.h        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorDatabaseResource.h        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx"> #define InspectorDatabaseResource_h
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(SQL_DATABASE) &amp;&amp; ENABLE(INSPECTOR)
</span><del>-#include &quot;InspectorFrontend.h&quot;
</del><ins>+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &lt;wtf/PassRefPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/RefCounted.h&gt;
</span><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx"> public:
</span><span class="cx">     static PassRefPtr&lt;InspectorDatabaseResource&gt; create(PassRefPtr&lt;Database&gt; database, const String&amp; domain, const String&amp; name, const String&amp; version);
</span><span class="cx"> 
</span><del>-    void bind(InspectorDatabaseFrontendDispatcher*);
</del><ins>+    void bind(Inspector::InspectorDatabaseFrontendDispatcher*);
</ins><span class="cx">     Database* database() { return m_database.get(); }
</span><span class="cx">     void setDatabase(PassRefPtr&lt;Database&gt; database) { m_database = database; }
</span><span class="cx">     String id() const { return m_id; }
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDebuggerAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDebuggerAgent.cpp (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDebuggerAgent.cpp        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorDebuggerAgent.cpp        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -36,8 +36,8 @@
</span><span class="cx"> #include &quot;ContentSearchUtils.h&quot;
</span><span class="cx"> #include &quot;InjectedScript.h&quot;
</span><span class="cx"> #include &quot;InjectedScriptManager.h&quot;
</span><del>-#include &quot;InspectorFrontend.h&quot;
</del><span class="cx"> #include &quot;InspectorPageAgent.h&quot;
</span><ins>+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;InstrumentingAgents.h&quot;
</span><span class="cx"> #include &quot;RegularExpression.h&quot;
</span><span class="cx"> #include &quot;ScriptDebugServer.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorDebuggerAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorDebuggerAgent.h (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorDebuggerAgent.h        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorDebuggerAgent.h        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -36,9 +36,9 @@
</span><span class="cx"> #include &quot;ConsoleAPITypes.h&quot;
</span><span class="cx"> #include &quot;ConsoleTypes.h&quot;
</span><span class="cx"> #include &quot;InjectedScript.h&quot;
</span><del>-#include &quot;InspectorBackendDispatchers.h&quot;
-#include &quot;InspectorFrontend.h&quot;
</del><span class="cx"> #include &quot;InspectorWebAgentBase.h&quot;
</span><ins>+#include &quot;InspectorWebBackendDispatchers.h&quot;
+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;ScriptBreakpoint.h&quot;
</span><span class="cx"> #include &quot;ScriptDebugListener.h&quot;
</span><span class="cx"> #include &quot;ScriptState.h&quot;
</span><span class="lines">@@ -68,7 +68,7 @@
</span><span class="cx"> 
</span><span class="cx"> typedef String ErrorString;
</span><span class="cx"> 
</span><del>-class InspectorDebuggerAgent : public InspectorAgentBase, public ScriptDebugListener, public InspectorDebuggerBackendDispatcherHandler {
</del><ins>+class InspectorDebuggerAgent : public InspectorAgentBase, public ScriptDebugListener, public Inspector::InspectorDebuggerBackendDispatcherHandler {
</ins><span class="cx">     WTF_MAKE_NONCOPYABLE(InspectorDebuggerAgent); WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><span class="cx">     static const char* backtraceObjectGroup;
</span><span class="lines">@@ -120,9 +120,9 @@
</span><span class="cx">     void runScript(ErrorString*, const Inspector::TypeBuilder::Debugger::ScriptId&amp;, const int* executionContextId, const String* objectGroup, const bool* doNotPauseOnExceptionsAndMuteConsole, RefPtr&lt;Inspector::TypeBuilder::Runtime::RemoteObject&gt;&amp; result, Inspector::TypeBuilder::OptOutput&lt;bool&gt;* wasThrown);
</span><span class="cx">     virtual void setOverlayMessage(ErrorString*, const String*);
</span><span class="cx"> 
</span><del>-    void schedulePauseOnNextStatement(InspectorDebuggerFrontendDispatcher::Reason::Enum breakReason, PassRefPtr&lt;Inspector::InspectorObject&gt; data);
</del><ins>+    void schedulePauseOnNextStatement(Inspector::InspectorDebuggerFrontendDispatcher::Reason::Enum breakReason, PassRefPtr&lt;Inspector::InspectorObject&gt; data);
</ins><span class="cx">     void cancelPauseOnNextStatement();
</span><del>-    void breakProgram(InspectorDebuggerFrontendDispatcher::Reason::Enum breakReason, PassRefPtr&lt;Inspector::InspectorObject&gt; data);
</del><ins>+    void breakProgram(Inspector::InspectorDebuggerFrontendDispatcher::Reason::Enum breakReason, PassRefPtr&lt;Inspector::InspectorObject&gt; data);
</ins><span class="cx">     virtual void scriptExecutionBlockedByCSP(const String&amp; directiveText);
</span><span class="cx"> 
</span><span class="cx">     class Listener {
</span><span class="lines">@@ -175,15 +175,15 @@
</span><span class="cx">     typedef HashMap&lt;String, RefPtr&lt;Inspector::InspectorObject&gt;&gt; BreakpointIdentifierToBreakpointMap;
</span><span class="cx"> 
</span><span class="cx">     InjectedScriptManager* m_injectedScriptManager;
</span><del>-    std::unique_ptr&lt;InspectorDebuggerFrontendDispatcher&gt; m_frontendDispatcher;
-    RefPtr&lt;InspectorDebuggerBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    std::unique_ptr&lt;Inspector::InspectorDebuggerFrontendDispatcher&gt; m_frontendDispatcher;
+    RefPtr&lt;Inspector::InspectorDebuggerBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx">     JSC::ExecState* m_pausedScriptState;
</span><span class="cx">     Deprecated::ScriptValue m_currentCallStack;
</span><span class="cx">     ScriptsMap m_scripts;
</span><span class="cx">     BreakpointIdentifierToDebugServerBreakpointIDsMap m_breakpointIdentifierToDebugServerBreakpointIDs;
</span><span class="cx">     BreakpointIdentifierToBreakpointMap m_javaScriptBreakpoints;
</span><span class="cx">     BreakpointID m_continueToLocationBreakpointID;
</span><del>-    InspectorDebuggerFrontendDispatcher::Reason::Enum m_breakReason;
</del><ins>+    Inspector::InspectorDebuggerFrontendDispatcher::Reason::Enum m_breakReason;
</ins><span class="cx">     RefPtr&lt;Inspector::InspectorObject&gt; m_breakAuxData;
</span><span class="cx">     bool m_enabled;
</span><span class="cx">     bool m_javaScriptPauseScheduled;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorFrontendClientLocalcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -41,10 +41,10 @@
</span><span class="cx"> #include &quot;FrameLoadRequest.h&quot;
</span><span class="cx"> #include &quot;FrameLoader.h&quot;
</span><span class="cx"> #include &quot;FrameView.h&quot;
</span><del>-#include &quot;InspectorBackendDispatchers.h&quot;
</del><span class="cx"> #include &quot;InspectorController.h&quot;
</span><span class="cx"> #include &quot;InspectorFrontendHost.h&quot;
</span><span class="cx"> #include &quot;InspectorPageAgent.h&quot;
</span><ins>+#include &quot;InspectorWebBackendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;MainFrame.h&quot;
</span><span class="cx"> #include &quot;Page.h&quot;
</span><span class="cx"> #include &quot;ScriptController.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorHeapProfilerAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorHeapProfilerAgent.h (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorHeapProfilerAgent.h        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorHeapProfilerAgent.h        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -33,9 +33,9 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(JAVASCRIPT_DEBUGGER) &amp;&amp; ENABLE(INSPECTOR)
</span><span class="cx"> 
</span><del>-#include &quot;InspectorBackendDispatchers.h&quot;
-#include &quot;InspectorFrontend.h&quot;
</del><span class="cx"> #include &quot;InspectorWebAgentBase.h&quot;
</span><ins>+#include &quot;InspectorWebBackendDispatchers.h&quot;
+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/Noncopyable.h&gt;
</span><span class="lines">@@ -50,7 +50,7 @@
</span><span class="cx"> 
</span><span class="cx"> typedef String ErrorString;
</span><span class="cx"> 
</span><del>-class InspectorHeapProfilerAgent : public InspectorAgentBase, public InspectorHeapProfilerBackendDispatcherHandler {
</del><ins>+class InspectorHeapProfilerAgent : public InspectorAgentBase, public Inspector::InspectorHeapProfilerBackendDispatcherHandler {
</ins><span class="cx">     WTF_MAKE_NONCOPYABLE(InspectorHeapProfilerAgent); WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><span class="cx">     static PassOwnPtr&lt;InspectorHeapProfilerAgent&gt; create(InstrumentingAgents*, InjectedScriptManager*);
</span><span class="lines">@@ -84,8 +84,8 @@
</span><span class="cx">     PassRefPtr&lt;Inspector::TypeBuilder::HeapProfiler::ProfileHeader&gt; createSnapshotHeader(const ScriptHeapSnapshot&amp;);
</span><span class="cx"> 
</span><span class="cx">     InjectedScriptManager* m_injectedScriptManager;
</span><del>-    std::unique_ptr&lt;InspectorHeapProfilerFrontendDispatcher&gt; m_frontendDispatcher;
-    RefPtr&lt;InspectorHeapProfilerBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    std::unique_ptr&lt;Inspector::InspectorHeapProfilerFrontendDispatcher&gt; m_frontendDispatcher;
+    RefPtr&lt;Inspector::InspectorHeapProfilerBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx">     unsigned m_nextUserInitiatedHeapSnapshotNumber;
</span><span class="cx">     IdToHeapSnapshotMap m_snapshots;
</span><span class="cx">     bool m_profileHeadersRequested;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorIndexedDBAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -59,8 +59,8 @@
</span><span class="cx"> #include &quot;IDBRequest.h&quot;
</span><span class="cx"> #include &quot;IDBTransaction.h&quot;
</span><span class="cx"> #include &quot;InjectedScript.h&quot;
</span><del>-#include &quot;InspectorFrontend.h&quot;
</del><span class="cx"> #include &quot;InspectorPageAgent.h&quot;
</span><ins>+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;InstrumentingAgents.h&quot;
</span><span class="cx"> #include &quot;SecurityOrigin.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorValues.h&gt;
</span><span class="lines">@@ -76,10 +76,10 @@
</span><span class="cx"> using Inspector::TypeBuilder::IndexedDB::ObjectStoreIndex;
</span><span class="cx"> 
</span><span class="cx"> typedef Inspector::InspectorBackendDispatcher::CallbackBase RequestCallback;
</span><del>-typedef WebCore::InspectorIndexedDBBackendDispatcherHandler::RequestDatabaseNamesCallback RequestDatabaseNamesCallback;
-typedef WebCore::InspectorIndexedDBBackendDispatcherHandler::RequestDatabaseCallback RequestDatabaseCallback;
-typedef WebCore::InspectorIndexedDBBackendDispatcherHandler::RequestDataCallback RequestDataCallback;
-typedef WebCore::InspectorIndexedDBBackendDispatcherHandler::ClearObjectStoreCallback ClearObjectStoreCallback;
</del><ins>+typedef Inspector::InspectorIndexedDBBackendDispatcherHandler::RequestDatabaseNamesCallback RequestDatabaseNamesCallback;
+typedef Inspector::InspectorIndexedDBBackendDispatcherHandler::RequestDatabaseCallback RequestDatabaseCallback;
+typedef Inspector::InspectorIndexedDBBackendDispatcherHandler::RequestDataCallback RequestDataCallback;
+typedef Inspector::InspectorIndexedDBBackendDispatcherHandler::ClearObjectStoreCallback ClearObjectStoreCallback;
</ins><span class="cx"> 
</span><span class="cx"> using namespace Inspector;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorIndexedDBAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.h (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.h        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.h        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -33,8 +33,8 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR) &amp;&amp; ENABLE(INDEXED_DATABASE)
</span><span class="cx"> 
</span><del>-#include &quot;InspectorBackendDispatchers.h&quot;
</del><span class="cx"> #include &quot;InspectorWebAgentBase.h&quot;
</span><ins>+#include &quot;InspectorWebBackendDispatchers.h&quot;
</ins><span class="cx"> #include &lt;wtf/PassOwnPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -45,7 +45,7 @@
</span><span class="cx"> 
</span><span class="cx"> typedef String ErrorString;
</span><span class="cx"> 
</span><del>-class InspectorIndexedDBAgent : public InspectorAgentBase, public InspectorIndexedDBBackendDispatcherHandler {
</del><ins>+class InspectorIndexedDBAgent : public InspectorAgentBase, public Inspector::InspectorIndexedDBBackendDispatcherHandler {
</ins><span class="cx"> public:
</span><span class="cx">     static PassOwnPtr&lt;InspectorIndexedDBAgent&gt; create(InstrumentingAgents* instrumentingAgents, InjectedScriptManager* injectedScriptManager, InspectorPageAgent* pageAgent)
</span><span class="cx">     {
</span><span class="lines">@@ -69,7 +69,7 @@
</span><span class="cx"> 
</span><span class="cx">     InjectedScriptManager* m_injectedScriptManager;
</span><span class="cx">     InspectorPageAgent* m_pageAgent;
</span><del>-    RefPtr&lt;InspectorIndexedDBBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    RefPtr&lt;Inspector::InspectorIndexedDBBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorInputAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorInputAgent.h (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorInputAgent.h        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorInputAgent.h        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -33,8 +33,8 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx"> 
</span><del>-#include &quot;InspectorBackendDispatchers.h&quot;
</del><span class="cx"> #include &quot;InspectorWebAgentBase.h&quot;
</span><ins>+#include &quot;InspectorWebBackendDispatchers.h&quot;
</ins><span class="cx"> #include &lt;wtf/Noncopyable.h&gt;
</span><span class="cx"> #include &lt;wtf/PassOwnPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="lines">@@ -44,7 +44,7 @@
</span><span class="cx"> 
</span><span class="cx"> typedef String ErrorString;
</span><span class="cx"> 
</span><del>-class InspectorInputAgent : public InspectorAgentBase, public InspectorInputBackendDispatcherHandler {
</del><ins>+class InspectorInputAgent : public InspectorAgentBase, public Inspector::InspectorInputBackendDispatcherHandler {
</ins><span class="cx">     WTF_MAKE_NONCOPYABLE(InspectorInputAgent);
</span><span class="cx"> public:
</span><span class="cx">     static PassOwnPtr&lt;InspectorInputAgent&gt; create(InstrumentingAgents* instrumentingAgents, Page* page)
</span><span class="lines">@@ -65,7 +65,7 @@
</span><span class="cx">     InspectorInputAgent(InstrumentingAgents*, Page*);
</span><span class="cx"> 
</span><span class="cx">     Page* m_page;
</span><del>-    RefPtr&lt;InspectorInputBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    RefPtr&lt;Inspector::InspectorInputBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #endif // ENABLE(INSPECTOR)
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorLayerTreeAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorLayerTreeAgent.cpp (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorLayerTreeAgent.cpp        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorLayerTreeAgent.cpp        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;IdentifiersFactory.h&quot;
</span><span class="cx"> #include &quot;InspectorDOMAgent.h&quot;
</span><del>-#include &quot;InspectorFrontend.h&quot;
</del><ins>+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;InstrumentingAgents.h&quot;
</span><span class="cx"> #include &quot;IntRect.h&quot;
</span><span class="cx"> #include &quot;PseudoElement.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorLayerTreeAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorLayerTreeAgent.h (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorLayerTreeAgent.h        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorLayerTreeAgent.h        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -31,9 +31,9 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx"> 
</span><del>-#include &quot;InspectorBackendDispatchers.h&quot;
-#include &quot;InspectorFrontend.h&quot;
</del><span class="cx"> #include &quot;InspectorWebAgentBase.h&quot;
</span><ins>+#include &quot;InspectorWebBackendDispatchers.h&quot;
+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;InspectorWebTypeBuilders.h&quot;
</span><span class="cx"> #include &quot;RenderLayer.h&quot;
</span><span class="cx"> #include &lt;wtf/PassOwnPtr.h&gt;
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx"> 
</span><span class="cx"> typedef String ErrorString;
</span><span class="cx"> 
</span><del>-class InspectorLayerTreeAgent : public InspectorAgentBase, public InspectorLayerTreeBackendDispatcherHandler {
</del><ins>+class InspectorLayerTreeAgent : public InspectorAgentBase, public Inspector::InspectorLayerTreeBackendDispatcherHandler {
</ins><span class="cx"> public:
</span><span class="cx">     static PassOwnPtr&lt;InspectorLayerTreeAgent&gt; create(InstrumentingAgents* instrumentingAgents)
</span><span class="cx">     {
</span><span class="lines">@@ -87,8 +87,8 @@
</span><span class="cx">     String bindPseudoElement(PseudoElement*);
</span><span class="cx">     void unbindPseudoElement(PseudoElement*);
</span><span class="cx"> 
</span><del>-    std::unique_ptr&lt;InspectorLayerTreeFrontendDispatcher&gt; m_frontendDispatcher;
-    RefPtr&lt;InspectorLayerTreeBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    std::unique_ptr&lt;Inspector::InspectorLayerTreeFrontendDispatcher&gt; m_frontendDispatcher;
+    RefPtr&lt;Inspector::InspectorLayerTreeBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx"> 
</span><span class="cx">     HashMap&lt;const RenderLayer*, String&gt; m_documentLayerToIdMap;
</span><span class="cx">     HashMap&lt;String, const RenderLayer*&gt; m_idToLayer;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorMemoryAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorMemoryAgent.cpp (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorMemoryAgent.cpp        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorMemoryAgent.cpp        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -40,7 +40,7 @@
</span><span class="cx"> #include &quot;EventListenerMap.h&quot;
</span><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="cx"> #include &quot;InspectorDOMStorageAgent.h&quot;
</span><del>-#include &quot;InspectorFrontend.h&quot;
</del><ins>+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;InstrumentingAgents.h&quot;
</span><span class="cx"> #include &quot;MemoryCache.h&quot;
</span><span class="cx"> #include &quot;Node.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorMemoryAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorMemoryAgent.h (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorMemoryAgent.h        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorMemoryAgent.h        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -33,8 +33,8 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx"> 
</span><del>-#include &quot;InspectorBackendDispatchers.h&quot;
</del><span class="cx"> #include &quot;InspectorWebAgentBase.h&quot;
</span><ins>+#include &quot;InspectorWebBackendDispatchers.h&quot;
</ins><span class="cx"> #include &lt;wtf/PassOwnPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -45,7 +45,7 @@
</span><span class="cx"> 
</span><span class="cx"> typedef String ErrorString;
</span><span class="cx"> 
</span><del>-class InspectorMemoryAgent : public InspectorAgentBase, public InspectorMemoryBackendDispatcherHandler {
</del><ins>+class InspectorMemoryAgent : public InspectorAgentBase, public Inspector::InspectorMemoryBackendDispatcherHandler {
</ins><span class="cx">     WTF_MAKE_NONCOPYABLE(InspectorMemoryAgent);
</span><span class="cx"> public:
</span><span class="cx">     static PassOwnPtr&lt;InspectorMemoryAgent&gt; create(InstrumentingAgents* instrumentingAgents);
</span><span class="lines">@@ -59,7 +59,7 @@
</span><span class="cx"> private:
</span><span class="cx">     InspectorMemoryAgent(InstrumentingAgents*);
</span><span class="cx"> 
</span><del>-    RefPtr&lt;InspectorMemoryBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    RefPtr&lt;Inspector::InspectorMemoryBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorPageAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorPageAgent.cpp (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorPageAgent.cpp        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorPageAgent.cpp        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -63,9 +63,9 @@
</span><span class="cx"> #include &quot;InspectorAgent.h&quot;
</span><span class="cx"> #include &quot;InspectorClient.h&quot;
</span><span class="cx"> #include &quot;InspectorDOMAgent.h&quot;
</span><del>-#include &quot;InspectorFrontend.h&quot;
</del><span class="cx"> #include &quot;InspectorInstrumentation.h&quot;
</span><span class="cx"> #include &quot;InspectorOverlay.h&quot;
</span><ins>+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;InstrumentingAgents.h&quot;
</span><span class="cx"> #include &quot;MainFrame.h&quot;
</span><span class="cx"> #include &quot;MemoryCache.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorPageAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorPageAgent.h (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorPageAgent.h        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorPageAgent.h        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -35,9 +35,9 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;DeviceOrientationData.h&quot;
</span><span class="cx"> #include &quot;GeolocationPosition.h&quot;
</span><del>-#include &quot;InspectorBackendDispatchers.h&quot;
-#include &quot;InspectorFrontend.h&quot;
</del><span class="cx"> #include &quot;InspectorWebAgentBase.h&quot;
</span><ins>+#include &quot;InspectorWebBackendDispatchers.h&quot;
+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;IntSize.h&quot;
</span><span class="cx"> #include &quot;LayoutRect.h&quot;
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="lines">@@ -71,7 +71,7 @@
</span><span class="cx"> 
</span><span class="cx"> typedef String ErrorString;
</span><span class="cx"> 
</span><del>-class InspectorPageAgent : public InspectorAgentBase, public InspectorPageBackendDispatcherHandler {
</del><ins>+class InspectorPageAgent : public InspectorAgentBase, public Inspector::InspectorPageBackendDispatcherHandler {
</ins><span class="cx">     WTF_MAKE_NONCOPYABLE(InspectorPageAgent);
</span><span class="cx"> public:
</span><span class="cx">     enum ResourceType {
</span><span class="lines">@@ -121,7 +121,7 @@
</span><span class="cx">     virtual void setShowFPSCounter(ErrorString*, bool show);
</span><span class="cx">     virtual void canContinuouslyPaint(ErrorString*, bool*);
</span><span class="cx">     virtual void setContinuousPaintingEnabled(ErrorString*, bool enabled);
</span><del>-    virtual void getScriptExecutionStatus(ErrorString*, InspectorPageBackendDispatcherHandler::Result::Enum*);
</del><ins>+    virtual void getScriptExecutionStatus(ErrorString*, Inspector::InspectorPageBackendDispatcherHandler::Result::Enum*);
</ins><span class="cx">     virtual void setScriptExecutionDisabled(ErrorString*, bool);
</span><span class="cx">     virtual void setGeolocationOverride(ErrorString*, const double*, const double*, const double*);
</span><span class="cx">     virtual void clearGeolocationOverride(ErrorString*);
</span><span class="lines">@@ -200,8 +200,8 @@
</span><span class="cx">     InspectorAgent* m_inspectorAgent;
</span><span class="cx">     InjectedScriptManager* m_injectedScriptManager;
</span><span class="cx">     InspectorClient* m_client;
</span><del>-    std::unique_ptr&lt;InspectorPageFrontendDispatcher&gt; m_frontendDispatcher;
-    RefPtr&lt;InspectorPageBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    std::unique_ptr&lt;Inspector::InspectorPageFrontendDispatcher&gt; m_frontendDispatcher;
+    RefPtr&lt;Inspector::InspectorPageBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx">     InspectorOverlay* m_overlay;
</span><span class="cx">     long m_lastScriptIdentifier;
</span><span class="cx">     String m_pendingScriptToEvaluateOnLoadOnce;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorProfilerAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorProfilerAgent.cpp (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorProfilerAgent.cpp        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorProfilerAgent.cpp        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx"> #include &quot;InjectedScript.h&quot;
</span><span class="cx"> #include &quot;InjectedScriptHost.h&quot;
</span><span class="cx"> #include &quot;InspectorConsoleAgent.h&quot;
</span><del>-#include &quot;InspectorFrontend.h&quot;
</del><ins>+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;InstrumentingAgents.h&quot;
</span><span class="cx"> #include &quot;URL.h&quot;
</span><span class="cx"> #include &quot;Page.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorProfilerAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorProfilerAgent.h (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorProfilerAgent.h        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorProfilerAgent.h        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -32,9 +32,9 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(JAVASCRIPT_DEBUGGER) &amp;&amp; ENABLE(INSPECTOR)
</span><span class="cx"> 
</span><del>-#include &quot;InspectorBackendDispatchers.h&quot;
-#include &quot;InspectorFrontend.h&quot;
</del><span class="cx"> #include &quot;InspectorWebAgentBase.h&quot;
</span><ins>+#include &quot;InspectorWebBackendDispatchers.h&quot;
+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/Noncopyable.h&gt;
</span><span class="lines">@@ -58,7 +58,7 @@
</span><span class="cx"> 
</span><span class="cx"> typedef String ErrorString;
</span><span class="cx"> 
</span><del>-class InspectorProfilerAgent : public InspectorAgentBase, public InspectorProfilerBackendDispatcherHandler {
</del><ins>+class InspectorProfilerAgent : public InspectorAgentBase, public Inspector::InspectorProfilerBackendDispatcherHandler {
</ins><span class="cx">     WTF_MAKE_NONCOPYABLE(InspectorProfilerAgent); WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><span class="cx">     static PassOwnPtr&lt;InspectorProfilerAgent&gt; create(InstrumentingAgents*, InspectorConsoleAgent*, Page*, InjectedScriptManager*);
</span><span class="lines">@@ -118,8 +118,8 @@
</span><span class="cx"> 
</span><span class="cx">     InspectorConsoleAgent* m_consoleAgent;
</span><span class="cx">     InjectedScriptManager* m_injectedScriptManager;
</span><del>-    std::unique_ptr&lt;InspectorProfilerFrontendDispatcher&gt; m_frontendDispatcher;
-    RefPtr&lt;InspectorProfilerBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    std::unique_ptr&lt;Inspector::InspectorProfilerFrontendDispatcher&gt; m_frontendDispatcher;
+    RefPtr&lt;Inspector::InspectorProfilerBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx">     bool m_enabled;
</span><span class="cx">     bool m_profileHeadersRequested;
</span><span class="cx">     bool m_recordingCPUProfile;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorResourceAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -46,10 +46,9 @@
</span><span class="cx"> #include &quot;IconController.h&quot;
</span><span class="cx"> #include &quot;IdentifiersFactory.h&quot;
</span><span class="cx"> #include &quot;InspectorClient.h&quot;
</span><del>-#include &quot;InspectorFrontend.h&quot;
</del><span class="cx"> #include &quot;InspectorPageAgent.h&quot;
</span><ins>+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;InstrumentingAgents.h&quot;
</span><del>-#include &quot;URL.h&quot;
</del><span class="cx"> #include &quot;MemoryCache.h&quot;
</span><span class="cx"> #include &quot;NetworkResourcesData.h&quot;
</span><span class="cx"> #include &quot;Page.h&quot;
</span><span class="lines">@@ -64,6 +63,7 @@
</span><span class="cx"> #include &quot;ScriptableDocumentParser.h&quot;
</span><span class="cx"> #include &quot;Settings.h&quot;
</span><span class="cx"> #include &quot;SubresourceLoader.h&quot;
</span><ins>+#include &quot;URL.h&quot;
</ins><span class="cx"> #include &quot;WebSocketFrame.h&quot;
</span><span class="cx"> #include &quot;XMLHttpRequest.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorValues.h&gt;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorResourceAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorResourceAgent.h (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorResourceAgent.h        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorResourceAgent.h        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -31,9 +31,9 @@
</span><span class="cx"> #ifndef InspectorResourceAgent_h
</span><span class="cx"> #define InspectorResourceAgent_h
</span><span class="cx"> 
</span><del>-#include &quot;InspectorBackendDispatchers.h&quot;
-#include &quot;InspectorFrontend.h&quot;
</del><span class="cx"> #include &quot;InspectorWebAgentBase.h&quot;
</span><ins>+#include &quot;InspectorWebBackendDispatchers.h&quot;
+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &lt;wtf/PassOwnPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/RefCounted.h&gt;
</span><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="lines">@@ -75,7 +75,7 @@
</span><span class="cx"> 
</span><span class="cx"> typedef String ErrorString;
</span><span class="cx"> 
</span><del>-class InspectorResourceAgent : public InspectorAgentBase, public InspectorNetworkBackendDispatcherHandler {
</del><ins>+class InspectorResourceAgent : public InspectorAgentBase, public Inspector::InspectorNetworkBackendDispatcherHandler {
</ins><span class="cx"> public:
</span><span class="cx">     static PassOwnPtr&lt;InspectorResourceAgent&gt; create(InstrumentingAgents* instrumentingAgents, InspectorPageAgent* pageAgent, InspectorClient* client)
</span><span class="cx">     {
</span><span class="lines">@@ -152,8 +152,8 @@
</span><span class="cx"> 
</span><span class="cx">     InspectorPageAgent* m_pageAgent;
</span><span class="cx">     InspectorClient* m_client;
</span><del>-    std::unique_ptr&lt;InspectorNetworkFrontendDispatcher&gt; m_frontendDispatcher;
-    RefPtr&lt;InspectorNetworkBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    std::unique_ptr&lt;Inspector::InspectorNetworkFrontendDispatcher&gt; m_frontendDispatcher;
+    RefPtr&lt;Inspector::InspectorNetworkBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx">     String m_userAgentOverride;
</span><span class="cx">     OwnPtr&lt;NetworkResourcesData&gt; m_resourcesData;
</span><span class="cx">     bool m_enabled;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorRuntimeAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorRuntimeAgent.h (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorRuntimeAgent.h        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorRuntimeAgent.h        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -33,9 +33,11 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx"> 
</span><del>-#include &quot;InspectorBackendDispatchers.h&quot;
</del><span class="cx"> #include &quot;InspectorWebAgentBase.h&quot;
</span><ins>+#include &quot;InspectorWebBackendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;ScriptState.h&quot;
</span><ins>+#include &lt;inspector/InspectorJSBackendDispatchers.h&gt;
+#include &lt;inspector/InspectorJSFrontendDispatchers.h&gt;
</ins><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><span class="cx"> #include &lt;wtf/Noncopyable.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -55,7 +57,7 @@
</span><span class="cx"> 
</span><span class="cx"> typedef String ErrorString;
</span><span class="cx"> 
</span><del>-class InspectorRuntimeAgent : public InspectorAgentBase, public InspectorRuntimeBackendDispatcherHandler {
</del><ins>+class InspectorRuntimeAgent : public InspectorAgentBase, public Inspector::InspectorRuntimeBackendDispatcherHandler {
</ins><span class="cx">     WTF_MAKE_NONCOPYABLE(InspectorRuntimeAgent);
</span><span class="cx"> public:
</span><span class="cx">     virtual ~InspectorRuntimeAgent();
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorTimelineAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorTimelineAgent.cpp        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -40,10 +40,10 @@
</span><span class="cx"> #include &quot;IdentifiersFactory.h&quot;
</span><span class="cx"> #include &quot;InspectorClient.h&quot;
</span><span class="cx"> #include &quot;InspectorCounters.h&quot;
</span><del>-#include &quot;InspectorFrontend.h&quot;
</del><span class="cx"> #include &quot;InspectorInstrumentation.h&quot;
</span><span class="cx"> #include &quot;InspectorMemoryAgent.h&quot;
</span><span class="cx"> #include &quot;InspectorPageAgent.h&quot;
</span><ins>+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;InstrumentingAgents.h&quot;
</span><span class="cx"> #include &quot;IntRect.h&quot;
</span><span class="cx"> #include &quot;JSDOMWindow.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorTimelineAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorTimelineAgent.h (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorTimelineAgent.h        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorTimelineAgent.h        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -33,9 +33,9 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx"> 
</span><del>-#include &quot;InspectorBackendDispatchers.h&quot;
-#include &quot;InspectorFrontend.h&quot;
</del><span class="cx"> #include &quot;InspectorWebAgentBase.h&quot;
</span><ins>+#include &quot;InspectorWebBackendDispatchers.h&quot;
+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;LayoutRect.h&quot;
</span><span class="cx"> #include &lt;inspector/InspectorValues.h&gt;
</span><span class="cx"> #include &lt;wtf/PassOwnPtr.h&gt;
</span><span class="lines">@@ -123,7 +123,7 @@
</span><span class="cx"> 
</span><span class="cx"> class InspectorTimelineAgent
</span><span class="cx">     : public InspectorAgentBase
</span><del>-    , public InspectorTimelineBackendDispatcherHandler {
</del><ins>+    , public Inspector::InspectorTimelineBackendDispatcherHandler {
</ins><span class="cx">     WTF_MAKE_NONCOPYABLE(InspectorTimelineAgent);
</span><span class="cx"> public:
</span><span class="cx">     enum InspectorType { PageInspector, WorkerInspector };
</span><span class="lines">@@ -259,8 +259,8 @@
</span><span class="cx">     InspectorMemoryAgent* m_memoryAgent;
</span><span class="cx">     TimelineTimeConverter m_timeConverter;
</span><span class="cx"> 
</span><del>-    std::unique_ptr&lt;InspectorTimelineFrontendDispatcher&gt; m_frontendDispatcher;
-    RefPtr&lt;InspectorTimelineBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    std::unique_ptr&lt;Inspector::InspectorTimelineFrontendDispatcher&gt; m_frontendDispatcher;
+    RefPtr&lt;Inspector::InspectorTimelineBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx">     double m_timestampOffset;
</span><span class="cx"> 
</span><span class="cx">     Vector&lt;TimelineRecordEntry&gt; m_recordStack;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorWorkerAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorWorkerAgent.cpp (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorWorkerAgent.cpp        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorWorkerAgent.cpp        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx"> #include &quot;InspectorWorkerAgent.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InspectorForwarding.h&quot;
</span><del>-#include &quot;InspectorFrontend.h&quot;
</del><ins>+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;InstrumentingAgents.h&quot;
</span><span class="cx"> #include &quot;URL.h&quot;
</span><span class="cx"> #include &quot;WorkerGlobalScopeProxy.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorWorkerAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorWorkerAgent.h (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorWorkerAgent.h        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/InspectorWorkerAgent.h        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -31,24 +31,24 @@
</span><span class="cx"> #ifndef InspectorWorkerAgent_h
</span><span class="cx"> #define InspectorWorkerAgent_h
</span><span class="cx"> 
</span><del>-#include &quot;InspectorBackendDispatchers.h&quot;
</del><span class="cx"> #include &quot;InspectorWebAgentBase.h&quot;
</span><ins>+#include &quot;InspectorWebBackendDispatchers.h&quot;
</ins><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> class InspectorObject;
</span><ins>+class InspectorWorkerFrontendDispatcher;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><del>-class InspectorWorkerFrontendDispatcher;
</del><span class="cx"> class InstrumentingAgents;
</span><span class="cx"> class URL;
</span><span class="cx"> class WorkerGlobalScopeProxy;
</span><span class="cx"> 
</span><span class="cx"> typedef String ErrorString;
</span><span class="cx"> 
</span><del>-class InspectorWorkerAgent : public InspectorAgentBase, public InspectorWorkerBackendDispatcherHandler {
</del><ins>+class InspectorWorkerAgent : public InspectorAgentBase, public Inspector::InspectorWorkerBackendDispatcherHandler {
</ins><span class="cx"> public:
</span><span class="cx">     static PassOwnPtr&lt;InspectorWorkerAgent&gt; create(InstrumentingAgents*);
</span><span class="cx">     ~InspectorWorkerAgent();
</span><span class="lines">@@ -76,8 +76,8 @@
</span><span class="cx">     void createWorkerFrontendChannel(WorkerGlobalScopeProxy*, const String&amp; url);
</span><span class="cx">     void destroyWorkerFrontendChannels();
</span><span class="cx"> 
</span><del>-    std::unique_ptr&lt;InspectorWorkerFrontendDispatcher&gt; m_frontendDispatcher;
-    RefPtr&lt;InspectorWorkerBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    std::unique_ptr&lt;Inspector::InspectorWorkerFrontendDispatcher&gt; m_frontendDispatcher;
+    RefPtr&lt;Inspector::InspectorWorkerBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx">     bool m_enabled;
</span><span class="cx">     bool m_shouldPauseDedicatedWorkerOnStart;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorPageRuntimeAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/PageRuntimeAgent.h (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/PageRuntimeAgent.h        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/PageRuntimeAgent.h        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -33,8 +33,8 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx"> 
</span><del>-#include &quot;InspectorFrontend.h&quot;
</del><span class="cx"> #include &quot;InspectorRuntimeAgent.h&quot;
</span><ins>+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;ScriptState.h&quot;
</span><span class="cx"> #include &lt;wtf/PassOwnPtr.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -70,8 +70,8 @@
</span><span class="cx"> 
</span><span class="cx">     Page* m_inspectedPage;
</span><span class="cx">     InspectorPageAgent* m_pageAgent;
</span><del>-    std::unique_ptr&lt;InspectorRuntimeFrontendDispatcher&gt; m_frontendDispatcher;
-    RefPtr&lt;InspectorRuntimeBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    std::unique_ptr&lt;Inspector::InspectorRuntimeFrontendDispatcher&gt; m_frontendDispatcher;
+    RefPtr&lt;Inspector::InspectorRuntimeBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx">     bool m_mainWorldContextCreated;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorScriptCallFramecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/ScriptCallFrame.cpp (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/ScriptCallFrame.cpp        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/ScriptCallFrame.cpp        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -31,7 +31,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;ScriptCallFrame.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;InspectorFrontend.h&quot;
</del><ins>+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &lt;inspector/InspectorValues.h&gt;
</span><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorScriptsgeneratecombinedinspectorjsonpy"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/inspector/Scripts/generate-combined-inspector-json.py (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/Scripts/generate-combined-inspector-json.py        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/Scripts/generate-combined-inspector-json.py        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -1,68 +0,0 @@
</span><del>-#!/usr/bin/python
-
-# Copyright (C) 2013 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. AND ITS CONTRIBUTORS ``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 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.
-
-import glob
-import json
-import os
-import sys
-
-if len(sys.argv) &lt; 2:
-    print &quot;usage: %s [json files or directory of json files ...]&quot; % os.path.basename(sys.argv[0])
-    sys.exit(1)
-
-files = []
-for arg in sys.argv[1:]:
-    if not os.access(arg, os.F_OK):
-        raise Exception(&quot;File \&quot;%s\&quot; not found&quot; % arg)
-    elif os.path.isdir(arg):
-        files.extend(glob.glob(os.path.join(arg, &quot;*.json&quot;)))
-    else:
-        files.append(arg)
-files.sort()
-
-# To keep as close to the original JSON formatting as possible, just
-# dump each JSON input file unmodified into an array of &quot;domains&quot;.
-# Validate each file is valid JSON and that there is a &quot;domain&quot; key.
-
-first = True
-print &quot;{\&quot;domains\&quot;:[&quot;
-for file in files:
-    if first:
-        first = False
-    else:
-        print &quot;,&quot;
-
-    string = open(file).read()
-
-    try:
-        dictionary = json.loads(string)
-        if not &quot;domain&quot; in dictionary:
-            raise Exception(&quot;File \&quot;%s\&quot; does not contains a \&quot;domain\&quot; key.&quot; % file)
-    except ValueError:
-        sys.stderr.write(&quot;File \&quot;%s\&quot; does not contain valid JSON:\n&quot; % file)
-        raise
-
-    print string.rstrip()
-print &quot;]}&quot;
</del></span></pre></div>
<a id="trunkSourceWebCoreinspectorWorkerInspectorControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/WorkerInspectorController.cpp (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/WorkerInspectorController.cpp        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/WorkerInspectorController.cpp        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -36,14 +36,14 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InjectedScriptHost.h&quot;
</span><span class="cx"> #include &quot;InjectedScriptManager.h&quot;
</span><del>-#include &quot;InspectorBackendDispatchers.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;InspectorForwarding.h&quot;
</span><del>-#include &quot;InspectorFrontend.h&quot;
</del><span class="cx"> #include &quot;InspectorHeapProfilerAgent.h&quot;
</span><span class="cx"> #include &quot;InspectorProfilerAgent.h&quot;
</span><span class="cx"> #include &quot;InspectorTimelineAgent.h&quot;
</span><ins>+#include &quot;InspectorWebBackendDispatchers.h&quot;
+#include &quot;InspectorWebFrontendDispatchers.h&quot;
</ins><span class="cx"> #include &quot;InstrumentingAgents.h&quot;
</span><span class="cx"> #include &quot;WorkerConsoleAgent.h&quot;
</span><span class="cx"> #include &quot;WorkerDebuggerAgent.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorWorkerRuntimeAgenth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/WorkerRuntimeAgent.h (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/WorkerRuntimeAgent.h        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/WorkerRuntimeAgent.h        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -64,7 +64,7 @@
</span><span class="cx">     virtual void muteConsole();
</span><span class="cx">     virtual void unmuteConsole();
</span><span class="cx">     WorkerGlobalScope* m_workerGlobalScope;
</span><del>-    RefPtr&lt;InspectorRuntimeBackendDispatcher&gt; m_backendDispatcher;
</del><ins>+    RefPtr&lt;Inspector::InspectorRuntimeBackendDispatcher&gt; m_backendDispatcher;
</ins><span class="cx">     bool m_paused;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorprotocolRuntimejson"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/inspector/protocol/Runtime.json (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/protocol/Runtime.json        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/inspector/protocol/Runtime.json        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -1,210 +0,0 @@
</span><del>-{
-    &quot;domain&quot;: &quot;Runtime&quot;,
-    &quot;description&quot;: &quot;Runtime domain exposes JavaScript runtime by means of remote evaluation and mirror objects. Evaluation results are returned as mirror object that expose object type, string representation and unique identifier that can be used for further object reference. Original objects are maintained in memory unless they are either explicitly released or are released along with the other objects in their object group.&quot;,
-    &quot;types&quot;: [
-        {
-            &quot;id&quot;: &quot;RemoteObjectId&quot;,
-            &quot;type&quot;: &quot;string&quot;,
-            &quot;description&quot;: &quot;Unique object identifier.&quot;
-        },
-        {
-            &quot;id&quot;: &quot;RemoteObject&quot;,
-            &quot;type&quot;: &quot;object&quot;,
-            &quot;description&quot;: &quot;Mirror object referencing original JavaScript object.&quot;,
-            &quot;properties&quot;: [
-                { &quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;enum&quot;: [&quot;object&quot;, &quot;function&quot;, &quot;undefined&quot;, &quot;string&quot;, &quot;number&quot;, &quot;boolean&quot;], &quot;description&quot;: &quot;Object type.&quot; },
-                { &quot;name&quot;: &quot;subtype&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true, &quot;enum&quot;: [&quot;array&quot;, &quot;null&quot;, &quot;node&quot;, &quot;regexp&quot;, &quot;date&quot;], &quot;description&quot;: &quot;Object subtype hint. Specified for &lt;code&gt;object&lt;/code&gt; type values only.&quot; },
-                { &quot;name&quot;: &quot;className&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Object class (constructor) name. Specified for &lt;code&gt;object&lt;/code&gt; type values only.&quot; },
-                { &quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;any&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Remote object value (in case of primitive values or JSON values if it was requested).&quot; },
-                { &quot;name&quot;: &quot;description&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;String representation of the object.&quot; },
-                { &quot;name&quot;: &quot;objectId&quot;, &quot;$ref&quot;: &quot;RemoteObjectId&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Unique object identifier (for non-primitive values).&quot; },
-                { &quot;name&quot;: &quot;preview&quot;, &quot;$ref&quot;: &quot;ObjectPreview&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Preview containsing abbreviated property values.&quot; }
-            ]
-        },
-        {
-            &quot;id&quot;: &quot;ObjectPreview&quot;,
-            &quot;type&quot;: &quot;object&quot;,
-            &quot;description&quot;: &quot;Object containing abbreviated remote object value.&quot;,
-            &quot;properties&quot;: [
-                { &quot;name&quot;: &quot;lossless&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;description&quot;: &quot;Determines whether preview is lossless (contains all information of the original object).&quot; },
-                { &quot;name&quot;: &quot;overflow&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;description&quot;: &quot;True iff some of the properties of the original did not fit.&quot; },
-                { &quot;name&quot;: &quot;properties&quot;, &quot;type&quot;: &quot;array&quot;, &quot;items&quot;: { &quot;$ref&quot;: &quot;PropertyPreview&quot; }, &quot;description&quot;: &quot;List of the properties.&quot; }
-            ]
-        },
-        {
-            &quot;id&quot;: &quot;PropertyPreview&quot;,
-            &quot;type&quot;: &quot;object&quot;,
-            &quot;properties&quot;: [
-                { &quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;Property name.&quot; },
-                { &quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;enum&quot;: [&quot;object&quot;, &quot;function&quot;, &quot;undefined&quot;, &quot;string&quot;, &quot;number&quot;, &quot;boolean&quot;], &quot;description&quot;: &quot;Object type.&quot; },
-                { &quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;User-friendly property value string.&quot; },
-                { &quot;name&quot;: &quot;valuePreview&quot;, &quot;$ref&quot;: &quot;ObjectPreview&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Nested value preview.&quot; },
-                { &quot;name&quot;: &quot;subtype&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true, &quot;enum&quot;: [&quot;array&quot;, &quot;null&quot;, &quot;node&quot;, &quot;regexp&quot;, &quot;date&quot;], &quot;description&quot;: &quot;Object subtype hint. Specified for &lt;code&gt;object&lt;/code&gt; type values only.&quot; }
-            ]
-        },
-        {
-            &quot;id&quot;: &quot;PropertyDescriptor&quot;,
-            &quot;type&quot;: &quot;object&quot;,
-            &quot;description&quot;: &quot;Object property descriptor.&quot;,
-            &quot;properties&quot;: [
-                { &quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;Property name.&quot; },
-                { &quot;name&quot;: &quot;value&quot;, &quot;$ref&quot;: &quot;RemoteObject&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;The value associated with the property.&quot; },
-                { &quot;name&quot;: &quot;writable&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;True if the value associated with the property may be changed (data descriptors only).&quot; },
-                { &quot;name&quot;: &quot;get&quot;, &quot;$ref&quot;: &quot;RemoteObject&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;A function which serves as a getter for the property, or &lt;code&gt;undefined&lt;/code&gt; if there is no getter (accessor descriptors only).&quot; },
-                { &quot;name&quot;: &quot;set&quot;, &quot;$ref&quot;: &quot;RemoteObject&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;A function which serves as a setter for the property, or &lt;code&gt;undefined&lt;/code&gt; if there is no setter (accessor descriptors only).&quot; },
-                { &quot;name&quot;: &quot;configurable&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;description&quot;: &quot;True if the type of this property descriptor may be changed and if the property may be deleted from the corresponding object.&quot; },
-                { &quot;name&quot;: &quot;enumerable&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;description&quot;: &quot;True if this property shows up during enumeration of the properties on the corresponding object.&quot; },
-                { &quot;name&quot;: &quot;wasThrown&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;True if the result was thrown during the evaluation.&quot; },
-                { &quot;name&quot;: &quot;isOwn&quot;, &quot;optional&quot;: true, &quot;type&quot;: &quot;boolean&quot;, &quot;description&quot;: &quot;True if the property is owned for the object.&quot; }
-            ]
-        },
-        {
-            &quot;id&quot;: &quot;InternalPropertyDescriptor&quot;,
-            &quot;type&quot;: &quot;object&quot;,
-            &quot;description&quot;: &quot;Object internal property descriptor. This property isn't normally visible in JavaScript code.&quot;,
-            &quot;properties&quot;: [
-                { &quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;Conventional property name.&quot; },
-                { &quot;name&quot;: &quot;value&quot;, &quot;$ref&quot;: &quot;RemoteObject&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;The value associated with the property.&quot; }
-            ]
-        },
-        {
-            &quot;id&quot;: &quot;CallArgument&quot;,
-            &quot;type&quot;: &quot;object&quot;,
-            &quot;description&quot;: &quot;Represents function call argument. Either remote object id &lt;code&gt;objectId&lt;/code&gt; or primitive &lt;code&gt;value&lt;/code&gt; or neither of (for undefined) them should be specified.&quot;,
-            &quot;properties&quot;: [
-                { &quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;any&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Primitive value.&quot; },
-                { &quot;name&quot;: &quot;objectId&quot;, &quot;$ref&quot;: &quot;RemoteObjectId&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Remote object handle.&quot; }
-            ]
-        },
-        {
-            &quot;id&quot;: &quot;ExecutionContextId&quot;,
-            &quot;type&quot;: &quot;integer&quot;,
-            &quot;description&quot;: &quot;Id of an execution context.&quot;
-        },
-        {
-            &quot;id&quot;: &quot;RuntimeFrameId&quot;,
-            &quot;type&quot;: &quot;string&quot;,
-            &quot;description&quot;: &quot;Unique frame identifier. FIXME: This duplicates Network.FrameId.&quot;
-        },
-        {
-            &quot;id&quot;: &quot;ExecutionContextDescription&quot;,
-            &quot;type&quot;: &quot;object&quot;,
-            &quot;description&quot;: &quot;Description of an isolated world.&quot;,
-            &quot;properties&quot;: [
-                { &quot;name&quot;: &quot;id&quot;, &quot;$ref&quot;: &quot;ExecutionContextId&quot;, &quot;description&quot;: &quot;Unique id of the execution context. It can be used to specify in which execution context script evaluation should be performed.&quot; },
-                { &quot;name&quot;: &quot;isPageContext&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;description&quot;: &quot;True if this is a context where inpspected web page scripts run. False if it is a content script isolated context.&quot; },
-                { &quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;Human readable name describing given context.&quot;},
-                { &quot;name&quot;: &quot;frameId&quot;, &quot;$ref&quot;: &quot;RuntimeFrameId&quot;, &quot;description&quot;: &quot;Id of the owning frame.&quot; }
-            ]
-        },
-        {
-            &quot;id&quot;: &quot;SyntaxErrorType&quot;,
-            &quot;type&quot;: &quot;string&quot;,
-            &quot;enum&quot;: [&quot;none&quot;, &quot;irrecoverable&quot;, &quot;unterminated-literal&quot;, &quot;recoverable&quot;],
-            &quot;description&quot;: &quot;Syntax error type: \&quot;none\&quot; for no error, \&quot;irrecoverable\&quot; for unrecoverable errors, \&quot;unterminated-literal\&quot; for when there is an unterminated literal, \&quot;recoverable\&quot; for when the expression is unfinished but valid so far.&quot;
-        },
-        {
-            &quot;id&quot;: &quot;ErrorRange&quot;,
-            &quot;type&quot;: &quot;object&quot;,
-            &quot;description&quot;: &quot;Range of an error in source code.&quot;,
-            &quot;properties&quot;: [
-                { &quot;name&quot;: &quot;startOffset&quot;, &quot;type&quot;: &quot;integer&quot;, &quot;description&quot;: &quot;Start offset of range (inclusive).&quot; },
-                { &quot;name&quot;: &quot;endOffset&quot;, &quot;type&quot;: &quot;integer&quot;, &quot;description&quot;: &quot;End offset of range (exclusive).&quot; }
-            ]
-        }
-    ],
-    &quot;commands&quot;: [
-        {
-            &quot;name&quot;: &quot;parse&quot;,
-            &quot;parameters&quot;: [
-                { &quot;name&quot;: &quot;source&quot;, &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;Source code to parse.&quot; }
-            ],
-            &quot;returns&quot;: [
-                { &quot;name&quot;: &quot;result&quot;, &quot;$ref&quot;: &quot;SyntaxErrorType&quot;, &quot;description&quot;: &quot;Parse result.&quot; },
-                { &quot;name&quot;: &quot;message&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Parse error message.&quot; },
-                { &quot;name&quot;: &quot;range&quot;, &quot;$ref&quot;: &quot;ErrorRange&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Range in the source where the error occurred.&quot; }
-            ],
-            &quot;description&quot;: &quot;Parses JavaScript source code for errors.&quot;
-        },
-        {
-            &quot;name&quot;: &quot;evaluate&quot;,
-            &quot;parameters&quot;: [
-                { &quot;name&quot;: &quot;expression&quot;, &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;Expression to evaluate.&quot; },
-                { &quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Symbolic group name that can be used to release multiple objects.&quot; },
-                { &quot;name&quot;: &quot;includeCommandLineAPI&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Determines whether Command Line API should be available during the evaluation.&quot; },
-                { &quot;name&quot;: &quot;doNotPauseOnExceptionsAndMuteConsole&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Specifies whether evaluation should stop on exceptions and mute console. Overrides setPauseOnException state.&quot; },
-                { &quot;name&quot;: &quot;contextId&quot;, &quot;$ref&quot;: &quot;Runtime.ExecutionContextId&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Specifies in which isolated context to perform evaluation. Each content script lives in an isolated context and this parameter may be used to specify one of those contexts. If the parameter is omitted or 0 the evaluation will be performed in the context of the inspected page.&quot; },
-                { &quot;name&quot;: &quot;returnByValue&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Whether the result is expected to be a JSON object that should be sent by value.&quot; },
-                { &quot;name&quot;: &quot;generatePreview&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true,  &quot;description&quot;: &quot;Whether preview should be generated for the result.&quot; }
-            ],
-            &quot;returns&quot;: [
-                { &quot;name&quot;: &quot;result&quot;, &quot;$ref&quot;: &quot;RemoteObject&quot;, &quot;description&quot;: &quot;Evaluation result.&quot; },
-                { &quot;name&quot;: &quot;wasThrown&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;True if the result was thrown during the evaluation.&quot; }
-            ],
-            &quot;description&quot;: &quot;Evaluates expression on global object.&quot;
-        },
-        {
-            &quot;name&quot;: &quot;callFunctionOn&quot;,
-            &quot;parameters&quot;: [
-                { &quot;name&quot;: &quot;objectId&quot;, &quot;$ref&quot;: &quot;RemoteObjectId&quot;, &quot;description&quot;: &quot;Identifier of the object to call function on.&quot; },
-                { &quot;name&quot;: &quot;functionDeclaration&quot;, &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;Declaration of the function to call.&quot; },
-                { &quot;name&quot;: &quot;arguments&quot;, &quot;type&quot;: &quot;array&quot;, &quot;items&quot;: { &quot;$ref&quot;: &quot;CallArgument&quot;, &quot;description&quot;: &quot;Call argument.&quot; }, &quot;optional&quot;: true, &quot;description&quot;: &quot;Call arguments. All call arguments must belong to the same JavaScript world as the target object.&quot; },
-                { &quot;name&quot;: &quot;doNotPauseOnExceptionsAndMuteConsole&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Specifies whether function call should stop on exceptions and mute console. Overrides setPauseOnException state.&quot; },
-                { &quot;name&quot;: &quot;returnByValue&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Whether the result is expected to be a JSON object which should be sent by value.&quot; },
-                { &quot;name&quot;: &quot;generatePreview&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true,  &quot;description&quot;: &quot;Whether preview should be generated for the result.&quot; }
-            ],
-            &quot;returns&quot;: [
-                { &quot;name&quot;: &quot;result&quot;, &quot;$ref&quot;: &quot;RemoteObject&quot;, &quot;description&quot;: &quot;Call result.&quot; },
-                { &quot;name&quot;: &quot;wasThrown&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;True if the result was thrown during the evaluation.&quot; }
-            ],
-            &quot;description&quot;: &quot;Calls function with given declaration on the given object. Object group of the result is inherited from the target object.&quot;
-        },
-        {
-            &quot;name&quot;: &quot;getProperties&quot;,
-            &quot;parameters&quot;: [
-                { &quot;name&quot;: &quot;objectId&quot;, &quot;$ref&quot;: &quot;RemoteObjectId&quot;, &quot;description&quot;: &quot;Identifier of the object to return properties for.&quot; },
-                { &quot;name&quot;: &quot;ownProperties&quot;, &quot;optional&quot;: true, &quot;type&quot;: &quot;boolean&quot;, &quot;description&quot;: &quot;If true, returns properties belonging only to the element itself, not to its prototype chain.&quot; }
-            ],
-            &quot;returns&quot;: [
-                { &quot;name&quot;: &quot;result&quot;, &quot;type&quot;: &quot;array&quot;, &quot;items&quot;: { &quot;$ref&quot;: &quot;PropertyDescriptor&quot;}, &quot;description&quot;: &quot;Object properties.&quot; },
-                { &quot;name&quot;: &quot;internalProperties&quot;, &quot;optional&quot;: true, &quot;type&quot;: &quot;array&quot;, &quot;items&quot;: { &quot;$ref&quot;: &quot;InternalPropertyDescriptor&quot;}, &quot;description&quot;: &quot;Internal object properties.&quot; }
-            ],
-            &quot;description&quot;: &quot;Returns properties of a given object. Object group of the result is inherited from the target object.&quot;
-        },
-        {
-            &quot;name&quot;: &quot;releaseObject&quot;,
-            &quot;parameters&quot;: [
-                { &quot;name&quot;: &quot;objectId&quot;, &quot;$ref&quot;: &quot;RemoteObjectId&quot;, &quot;description&quot;: &quot;Identifier of the object to release.&quot; }
-            ],
-            &quot;description&quot;: &quot;Releases remote object with given id.&quot;
-        },
-        {
-            &quot;name&quot;: &quot;releaseObjectGroup&quot;,
-            &quot;parameters&quot;: [
-                { &quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;description&quot;: &quot;Symbolic object group name.&quot; }
-            ],
-            &quot;description&quot;: &quot;Releases all remote objects that belong to a given group.&quot;
-        },
-        {
-            &quot;name&quot;: &quot;run&quot;,
-            &quot;description&quot;: &quot;Tells inspected instance(worker or page) that it can run in case it was started paused.&quot;
-        },
-        {
-            &quot;name&quot;: &quot;enable&quot;,
-            &quot;description&quot;: &quot;Enables reporting of execution contexts creation by means of &lt;code&gt;executionContextCreated&lt;/code&gt; event. When the reporting gets enabled the event will be sent immediately for each existing execution context.&quot;
-        },
-        {
-            &quot;name&quot;: &quot;disable&quot;,
-            &quot;description&quot;: &quot;Disables reporting of execution contexts creation.&quot;
-        }
-    ],
-    &quot;events&quot;: [
-        {
-            &quot;name&quot;: &quot;executionContextCreated&quot;,
-            &quot;parameters&quot;: [
-                { &quot;name&quot;: &quot;context&quot;, &quot;$ref&quot;: &quot;ExecutionContextDescription&quot;, &quot;description&quot;: &quot;A newly created execution contex.&quot; }
-            ],
-            &quot;description&quot;: &quot;Issued when new execution context is created.&quot;
-        }
-    ]
-}
</del></span></pre></div>
<a id="trunkSourceWebCoremakegeneratedsourcessh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/make-generated-sources.sh (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/make-generated-sources.sh        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebCore/make-generated-sources.sh        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -2,6 +2,7 @@
</span><span class="cx"> export SOURCE_ROOT=$PWD
</span><span class="cx"> export SRCROOT=$PWD
</span><span class="cx"> export WebCore=$PWD
</span><ins>+export InspectorScripts=$PWD/../JavaScriptCore/inspector/scripts
</ins><span class="cx"> 
</span><span class="cx"> mkdir -p DerivedSources/WebCore &amp;&amp;
</span><span class="cx"> make -C DerivedSources/WebCore -f ../../DerivedSources.make $@
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/ChangeLog (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/ChangeLog        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebInspectorUI/ChangeLog        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -1,3 +1,28 @@
</span><ins>+2013-12-13  Joseph Pecoraro  &lt;pecoraro@apple.com&gt;
+
+        Web Inspector: Add Inspector Code Generation to JavaScriptCore for Runtime Domain
+        https://bugs.webkit.org/show_bug.cgi?id=125595
+
+        Reviewed by Timothy Hatcher.
+
+        * Scripts/copy-user-interface-resources.sh:
+        Copy all the different backend commands files.
+
+        * Scripts/update-InspectorBackendCommands.rb:
+        Update with respect to new script location and new file names.
+
+        * WebInspectorUI.xcodeproj/project.pbxproj:
+        Remove Inputs and Outputs of build phase, which were wrong.
+        Now this build phase always runs, and not by accident.
+
+        * UserInterface/InspectorJSBackendCommands.js: Added.
+        * UserInterface/InspectorWebBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/InspectorBackendCommands.js.
+        * UserInterface/Legacy/6.0/InspectorWebBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/Legacy/6.0/InspectorBackendCommands.js.
+        * UserInterface/Legacy/7.0/InspectorWebBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/Legacy/7.0/InspectorBackendCommands.js.
+        * UserInterface/LoadInspectorBackendCommands.js:
+        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
+        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
+
</ins><span class="cx"> 2013-12-13  Antoine Quint  &lt;graouts@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Web Inspector: provide an abstraction for CodeMirror's TextMarker
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIScriptscopyuserinterfaceresourcessh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/Scripts/copy-user-interface-resources.sh (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/Scripts/copy-user-interface-resources.sh        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebInspectorUI/Scripts/copy-user-interface-resources.sh        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -70,8 +70,9 @@
</span><span class="cx">     ditto &quot;${DERIVED_SOURCES_DIR}/Main.html&quot; &quot;${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Main.html&quot;
</span><span class="cx">     ditto &quot;${SRCROOT}/UserInterface/Images&quot; &quot;${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Images&quot;
</span><span class="cx"> 
</span><del>-    # Copy over files that are dynamically loaded. The default InspectorBackendCommands.js and the Legacy directory.
-    ditto &quot;${SRCROOT}/UserInterface/InspectorBackendCommands.js&quot; &quot;${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/InspectorBackendCommands.js&quot;
</del><ins>+    # Copy over files that are dynamically loaded. The default Inspector*BackendCommands.js and the Legacy directory.
+    ditto &quot;${SRCROOT}/UserInterface/InspectorJSBackendCommands.js&quot; &quot;${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/InspectorJSBackendCommands.js&quot;
+    ditto &quot;${SRCROOT}/UserInterface/InspectorWebBackendCommands.js&quot; &quot;${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/InspectorWebBackendCommands.js&quot;
</ins><span class="cx">     ditto &quot;${SRCROOT}/UserInterface/Legacy&quot; &quot;${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Legacy&quot;
</span><span class="cx"> else
</span><span class="cx">     # Keep the files separate for engineering builds.
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIScriptsupdateInspectorBackendCommandsrb"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/Scripts/update-InspectorBackendCommands.rb (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/Scripts/update-InspectorBackendCommands.rb        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebInspectorUI/Scripts/update-InspectorBackendCommands.rb        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -10,30 +10,38 @@
</span><span class="cx"> end
</span><span class="cx"> 
</span><span class="cx"> WEB_INSPECTOR_PATH = File.expand_path File.join(File.dirname(__FILE__), &quot;..&quot;)
</span><ins>+JAVASCRIPTCORE_PATH = File.expand_path File.join(File.dirname(__FILE__), &quot;..&quot;, &quot;..&quot;, &quot;JavaScriptCore&quot;)
</ins><span class="cx"> WEBCORE_PATH = File.expand_path File.join(File.dirname(__FILE__), &quot;..&quot;, &quot;..&quot;, &quot;WebCore&quot;)
</span><del>-WEBCORE_INSPECTOR_PROTOCOLS_PATH = File.join WEBCORE_PATH, &quot;inspector&quot;, &quot;protocol&quot;
</del><span class="cx"> 
</span><del>-$code_generator_path = File.join WEBCORE_PATH, &quot;inspector&quot;, &quot;CodeGeneratorInspector.py&quot;
-$inspector_json_generator_path = File.join WEBCORE_PATH, &quot;inspector&quot;, &quot;Scripts&quot;, &quot;generate-combined-inspector-json.py&quot;
-$inspector_json_path = Tempfile.new(&quot;generated-Inspector.json&quot;).path
</del><ins>+JAVASCRIPT_INSPECTOR_PROTOCOLS_PATH = File.join JAVASCRIPTCORE_PATH, &quot;inspector&quot;, &quot;protocol&quot;
+WEB_INSPECTOR_PROTOCOLS_PATH = File.join WEBCORE_PATH, &quot;inspector&quot;, &quot;protocol&quot;
+
+$code_generator_path = File.join JAVASCRIPTCORE_PATH, &quot;inspector&quot;, &quot;scripts&quot;, &quot;CodeGeneratorInspector.py&quot;
+$inspector_json_generator_path = File.join JAVASCRIPTCORE_PATH, &quot;inspector&quot;, &quot;scripts&quot;, &quot;generate-combined-inspector-json.py&quot;
+$inspector_js_json_path = Tempfile.new(&quot;generated-InspectorJS.json&quot;).path
+$inspector_web_json_path = Tempfile.new(&quot;generated-InspectorWeb.json&quot;).path
</ins><span class="cx"> $versions_directory_path = File.join WEB_INSPECTOR_PATH, &quot;Versions&quot;
</span><span class="cx"> $web_inspector_user_interface_path = File.join WEB_INSPECTOR_PATH, &quot;UserInterface&quot;
</span><del>-$backend_commands_filename = &quot;InspectorBackendCommands.js&quot;
</del><span class="cx"> 
</span><span class="cx"> class Task
</span><del>-  def initialize(input_json_path, output_directory_path, verification)
</del><ins>+  def initialize(input_json_path, dependency_json_path, type, output_directory_path, verification)
+    @type = type
</ins><span class="cx">     @input_json_path = input_json_path
</span><ins>+    @dependency_json_path = dependency_json_path
</ins><span class="cx">     @output_directory_path = output_directory_path
</span><span class="cx">     @verification = verification
</span><span class="cx">   end
</span><span class="cx"> 
</span><span class="cx">   def run
</span><ins>+    output_filename_prefix = {&quot;JavaScript&quot; =&gt; &quot;JS&quot;, &quot;Web&quot; =&gt; &quot;Web&quot;}[@type]
+    output_filename = &quot;Inspector#{output_filename_prefix}BackendCommands.js&quot;
</ins><span class="cx">     display_input = File.basename @input_json_path
</span><del>-    display_output = File.join @output_directory_path.gsub(/^.*?\/UserInterface/, &quot;UserInterface&quot;), $backend_commands_filename
</del><ins>+    display_output = File.join @output_directory_path.gsub(/^.*?\/UserInterface/, &quot;UserInterface&quot;), output_filename
</ins><span class="cx">     puts &quot;#{display_input} -&gt; #{display_output}&quot;
</span><span class="cx"> 
</span><span class="cx">     Dir.mktmpdir do |tmpdir|
</span><del>-      cmd = &quot;#{$code_generator_path} '#{@input_json_path}' --output_h_dir '#{tmpdir}' --output_cpp_dir '#{tmpdir}' --output_js_dir '#{tmpdir}' --write_always&quot;
</del><ins>+      dependency = @dependency_json_path ? &quot;'#{@dependency_json_path}'&quot; : &quot;&quot;
+      cmd = &quot;#{$code_generator_path} '#{@input_json_path}' #{dependency} --output_h_dir '#{tmpdir}' --output_cpp_dir '#{tmpdir}' --output_js_dir '#{tmpdir}' --write_always --output_type '#{@type}'&quot;
</ins><span class="cx">       cmd += &quot; --no_verification&quot; if !@verification
</span><span class="cx">       %x{ #{cmd} }
</span><span class="cx">       if $?.exitstatus != 0
</span><span class="lines">@@ -41,7 +49,7 @@
</span><span class="cx">         exit 1
</span><span class="cx">       end
</span><span class="cx"> 
</span><del>-      generated_path = File.join tmpdir, $backend_commands_filename
</del><ins>+      generated_path = File.join tmpdir, output_filename
</ins><span class="cx">       if !File.exists?(generated_path)
</span><span class="cx">         puts &quot;ERROR: Generated file does not exist at expected path.&quot;
</span><span class="cx">         exit 1
</span><span class="lines">@@ -54,27 +62,35 @@
</span><span class="cx"> end
</span><span class="cx"> 
</span><span class="cx"> def generate_combined_inspector_json
</span><del>-  output = %x{ #{$inspector_json_generator_path} &quot;#{WEBCORE_INSPECTOR_PROTOCOLS_PATH}&quot; &gt; &quot;#{$inspector_json_path}&quot; }
</del><ins>+  # InspectorJS.json
+  output = %x{ #{$inspector_json_generator_path} &quot;#{JAVASCRIPT_INSPECTOR_PROTOCOLS_PATH}&quot; &gt; &quot;#{$inspector_js_json_path}&quot; }
</ins><span class="cx">   if $?.exitstatus != 0
</span><del>-    puts &quot;ERROR: Could not generate combined Inspector.json file&quot;
</del><ins>+    puts &quot;ERROR: Could not generate combined InspectorJS.json file&quot;
</ins><span class="cx">     exit 1
</span><span class="cx">   end
</span><del>-  puts output
-  # File.open($inspector_json_path, 'w') { |file| file.write(output) }
</del><ins>+
+  # InspectorWeb.json
+  output = %x{ #{$inspector_json_generator_path} &quot;#{WEB_INSPECTOR_PROTOCOLS_PATH}&quot; &gt; &quot;#{$inspector_web_json_path}&quot; }
+  if $?.exitstatus != 0
+    puts &quot;ERROR: Could not generate combined InspectorWeb.json file&quot;
+    exit 1
+  end
</ins><span class="cx"> end
</span><span class="cx"> 
</span><span class="cx"> def all_tasks
</span><span class="cx">   tasks = []
</span><span class="cx"> 
</span><ins>+  # ToT Inspector json files.
</ins><span class="cx">   generate_combined_inspector_json
</span><del>-  tasks &lt;&lt; Task.new($inspector_json_path, $web_inspector_user_interface_path, true)
</del><ins>+  tasks &lt;&lt; Task.new($inspector_js_json_path, nil, &quot;JavaScript&quot;, $web_inspector_user_interface_path, true)
+  tasks &lt;&lt; Task.new($inspector_web_json_path, $inspector_js_json_path, &quot;Web&quot;, $web_inspector_user_interface_path, true)
</ins><span class="cx"> 
</span><span class="cx">   had_error = false
</span><span class="cx">   Dir.glob(File.join($versions_directory_path, &quot;*.json&quot;)).each do |version_path|
</span><span class="cx">     match = File.basename(version_path).match(/^Inspector(.*?)\-([^-]+?)\.json$/)
</span><span class="cx">     if match
</span><span class="cx">       output_path = File.join $web_inspector_user_interface_path, &quot;Legacy&quot;, match[2]
</span><del>-      tasks &lt;&lt; Task.new(version_path, output_path, false)
</del><ins>+      tasks &lt;&lt; Task.new(version_path, nil, &quot;Web&quot;, output_path, false)
</ins><span class="cx">     else
</span><span class="cx">       puts &quot;ERROR: Version file (#{version_path}) did not match the template Inspector&lt;ANYTHING&gt;-&lt;VERSION&gt;.js&quot;
</span><span class="cx">       had_error = true
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceInspectorBackendCommandsjs"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebInspectorUI/UserInterface/InspectorBackendCommands.js (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/InspectorBackendCommands.js        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebInspectorUI/UserInterface/InspectorBackendCommands.js        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -1,409 +0,0 @@
</span><del>-// File is generated by Source/WebCore/inspector/CodeGeneratorInspector.py
-
-// Copyright (c) 2013 Apple Inc. All Rights Reserved.
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-
-// ApplicationCache.
-InspectorBackend.registerApplicationCacheDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;ApplicationCache&quot;);
-InspectorBackend.registerEvent(&quot;ApplicationCache.applicationCacheStatusUpdated&quot;, [&quot;frameId&quot;, &quot;manifestURL&quot;, &quot;status&quot;]);
-InspectorBackend.registerEvent(&quot;ApplicationCache.networkStateUpdated&quot;, [&quot;isNowOnline&quot;]);
-InspectorBackend.registerCommand(&quot;ApplicationCache.getFramesWithManifests&quot;, [], [&quot;frameIds&quot;]);
-InspectorBackend.registerCommand(&quot;ApplicationCache.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;ApplicationCache.getManifestForFrame&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;manifestURL&quot;]);
-InspectorBackend.registerCommand(&quot;ApplicationCache.getApplicationCacheForFrame&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;applicationCache&quot;]);
-
-// Canvas.
-InspectorBackend.registerCanvasDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Canvas&quot;);
-InspectorBackend.registerEvent(&quot;Canvas.contextCreated&quot;, [&quot;frameId&quot;]);
-InspectorBackend.registerEvent(&quot;Canvas.traceLogsRemoved&quot;, [&quot;frameId&quot;, &quot;traceLogId&quot;]);
-InspectorBackend.registerCommand(&quot;Canvas.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Canvas.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Canvas.dropTraceLog&quot;, [{&quot;name&quot;: &quot;traceLogId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Canvas.hasUninstrumentedCanvases&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Canvas.captureFrame&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;traceLogId&quot;]);
-InspectorBackend.registerCommand(&quot;Canvas.startCapturing&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;traceLogId&quot;]);
-InspectorBackend.registerCommand(&quot;Canvas.stopCapturing&quot;, [{&quot;name&quot;: &quot;traceLogId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Canvas.getTraceLog&quot;, [{&quot;name&quot;: &quot;traceLogId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;startOffset&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;maxLength&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}], [&quot;traceLog&quot;]);
-InspectorBackend.registerCommand(&quot;Canvas.replayTraceLog&quot;, [{&quot;name&quot;: &quot;traceLogId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;stepNo&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;resourceState&quot;]);
-InspectorBackend.registerCommand(&quot;Canvas.getResourceInfo&quot;, [{&quot;name&quot;: &quot;resourceId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;resourceInfo&quot;]);
-InspectorBackend.registerCommand(&quot;Canvas.getResourceState&quot;, [{&quot;name&quot;: &quot;traceLogId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;resourceId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;resourceState&quot;]);
-
-// Console.
-InspectorBackend.registerConsoleDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Console&quot;);
-InspectorBackend.registerEnum(&quot;Console.ConsoleMessageSource&quot;, {XML: &quot;xml&quot;, Javascript: &quot;javascript&quot;, Network: &quot;network&quot;, ConsoleAPI: &quot;console-api&quot;, Storage: &quot;storage&quot;, Appcache: &quot;appcache&quot;, Rendering: &quot;rendering&quot;, CSS: &quot;css&quot;, Security: &quot;security&quot;, Other: &quot;other&quot;});
-InspectorBackend.registerEnum(&quot;Console.ConsoleMessageLevel&quot;, {Log: &quot;log&quot;, Warning: &quot;warning&quot;, Error: &quot;error&quot;, Debug: &quot;debug&quot;});
-InspectorBackend.registerEnum(&quot;Console.ConsoleMessageType&quot;, {Log: &quot;log&quot;, Dir: &quot;dir&quot;, DirXML: &quot;dirxml&quot;, Table: &quot;table&quot;, Trace: &quot;trace&quot;, Clear: &quot;clear&quot;, StartGroup: &quot;startGroup&quot;, StartGroupCollapsed: &quot;startGroupCollapsed&quot;, EndGroup: &quot;endGroup&quot;, Assert: &quot;assert&quot;, Timing: &quot;timing&quot;, Profile: &quot;profile&quot;, ProfileEnd: &quot;profileEnd&quot;});
-InspectorBackend.registerEvent(&quot;Console.messageAdded&quot;, [&quot;message&quot;]);
-InspectorBackend.registerEvent(&quot;Console.messageRepeatCountUpdated&quot;, [&quot;count&quot;]);
-InspectorBackend.registerEvent(&quot;Console.messagesCleared&quot;, []);
-InspectorBackend.registerCommand(&quot;Console.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Console.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Console.clearMessages&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Console.setMonitoringXHREnabled&quot;, [{&quot;name&quot;: &quot;enabled&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Console.addInspectedNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Console.addInspectedHeapObject&quot;, [{&quot;name&quot;: &quot;heapObjectId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
-
-// CSS.
-InspectorBackend.registerCSSDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;CSS&quot;);
-InspectorBackend.registerEnum(&quot;CSS.StyleSheetOrigin&quot;, {User: &quot;user&quot;, UserAgent: &quot;user-agent&quot;, Inspector: &quot;inspector&quot;, Regular: &quot;regular&quot;});
-InspectorBackend.registerEnum(&quot;CSS.CSSPropertyStatus&quot;, {Active: &quot;active&quot;, Inactive: &quot;inactive&quot;, Disabled: &quot;disabled&quot;, Style: &quot;style&quot;});
-InspectorBackend.registerEnum(&quot;CSS.CSSMediaSource&quot;, {MediaRule: &quot;mediaRule&quot;, ImportRule: &quot;importRule&quot;, LinkedSheet: &quot;linkedSheet&quot;, InlineSheet: &quot;inlineSheet&quot;});
-InspectorBackend.registerEnum(&quot;CSS.RegionRegionOverset&quot;, {Overset: &quot;overset&quot;, Fit: &quot;fit&quot;, Empty: &quot;empty&quot;});
-InspectorBackend.registerEvent(&quot;CSS.mediaQueryResultChanged&quot;, []);
-InspectorBackend.registerEvent(&quot;CSS.styleSheetChanged&quot;, [&quot;styleSheetId&quot;]);
-InspectorBackend.registerEvent(&quot;CSS.namedFlowCreated&quot;, [&quot;namedFlow&quot;]);
-InspectorBackend.registerEvent(&quot;CSS.namedFlowRemoved&quot;, [&quot;documentNodeId&quot;, &quot;flowName&quot;]);
-InspectorBackend.registerEvent(&quot;CSS.regionLayoutUpdated&quot;, [&quot;namedFlow&quot;]);
-InspectorBackend.registerEvent(&quot;CSS.regionOversetChanged&quot;, [&quot;namedFlow&quot;]);
-InspectorBackend.registerEvent(&quot;CSS.registeredNamedFlowContentElement&quot;, [&quot;documentNodeId&quot;, &quot;flowName&quot;, &quot;contentNodeId&quot;, &quot;nextContentNodeId&quot;]);
-InspectorBackend.registerEvent(&quot;CSS.unregisteredNamedFlowContentElement&quot;, [&quot;documentNodeId&quot;, &quot;flowName&quot;, &quot;contentNodeId&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;CSS.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;CSS.getMatchedStylesForNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;includePseudo&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;includeInherited&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;matchedCSSRules&quot;, &quot;pseudoElements&quot;, &quot;inherited&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.getInlineStylesForNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;inlineStyle&quot;, &quot;attributesStyle&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.getComputedStyleForNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;computedStyle&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.getAllStyleSheets&quot;, [], [&quot;headers&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.getStyleSheet&quot;, [{&quot;name&quot;: &quot;styleSheetId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;styleSheet&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.getStyleSheetText&quot;, [{&quot;name&quot;: &quot;styleSheetId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;text&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.setStyleSheetText&quot;, [{&quot;name&quot;: &quot;styleSheetId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;text&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;CSS.setStyleText&quot;, [{&quot;name&quot;: &quot;styleId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;text&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;style&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.setPropertyText&quot;, [{&quot;name&quot;: &quot;styleId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;propertyIndex&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;text&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;overwrite&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], [&quot;style&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.toggleProperty&quot;, [{&quot;name&quot;: &quot;styleId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;propertyIndex&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;disable&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], [&quot;style&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.setRuleSelector&quot;, [{&quot;name&quot;: &quot;ruleId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;selector&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;rule&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.addRule&quot;, [{&quot;name&quot;: &quot;contextNodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;selector&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;rule&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.getSupportedCSSProperties&quot;, [], [&quot;cssProperties&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.forcePseudoState&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;forcedPseudoClasses&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;CSS.startSelectorProfiler&quot;, [], []);
-InspectorBackend.registerCommand(&quot;CSS.stopSelectorProfiler&quot;, [], [&quot;profile&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.getNamedFlowCollection&quot;, [{&quot;name&quot;: &quot;documentNodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;namedFlows&quot;]);
-
-// Database.
-InspectorBackend.registerDatabaseDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Database&quot;);
-InspectorBackend.registerEvent(&quot;Database.addDatabase&quot;, [&quot;database&quot;]);
-InspectorBackend.registerCommand(&quot;Database.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Database.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Database.getDatabaseTableNames&quot;, [{&quot;name&quot;: &quot;databaseId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;tableNames&quot;]);
-InspectorBackend.registerCommand(&quot;Database.executeSQL&quot;, [{&quot;name&quot;: &quot;databaseId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;query&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;columnNames&quot;, &quot;values&quot;, &quot;sqlError&quot;]);
-
-// Debugger.
-InspectorBackend.registerDebuggerDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Debugger&quot;);
-InspectorBackend.registerEnum(&quot;Debugger.BreakpointActionType&quot;, {Log: &quot;log&quot;, Evaluate: &quot;evaluate&quot;, Sound: &quot;sound&quot;});
-InspectorBackend.registerEnum(&quot;Debugger.ScopeType&quot;, {Global: &quot;global&quot;, Local: &quot;local&quot;, With: &quot;with&quot;, Closure: &quot;closure&quot;, Catch: &quot;catch&quot;});
-InspectorBackend.registerEvent(&quot;Debugger.globalObjectCleared&quot;, []);
-InspectorBackend.registerEvent(&quot;Debugger.scriptParsed&quot;, [&quot;scriptId&quot;, &quot;url&quot;, &quot;startLine&quot;, &quot;startColumn&quot;, &quot;endLine&quot;, &quot;endColumn&quot;, &quot;isContentScript&quot;, &quot;sourceMapURL&quot;, &quot;hasSourceURL&quot;]);
-InspectorBackend.registerEvent(&quot;Debugger.scriptFailedToParse&quot;, [&quot;url&quot;, &quot;scriptSource&quot;, &quot;startLine&quot;, &quot;errorLine&quot;, &quot;errorMessage&quot;]);
-InspectorBackend.registerEvent(&quot;Debugger.breakpointResolved&quot;, [&quot;breakpointId&quot;, &quot;location&quot;]);
-InspectorBackend.registerEvent(&quot;Debugger.paused&quot;, [&quot;callFrames&quot;, &quot;reason&quot;, &quot;data&quot;]);
-InspectorBackend.registerEvent(&quot;Debugger.resumed&quot;, []);
-InspectorBackend.registerCommand(&quot;Debugger.causesRecompilation&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.supportsSeparateScriptCompilationAndExecution&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Debugger.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Debugger.setBreakpointsActive&quot;, [{&quot;name&quot;: &quot;active&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Debugger.setBreakpointByUrl&quot;, [{&quot;name&quot;: &quot;lineNumber&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;urlRegex&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;columnNumber&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;options&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}], [&quot;breakpointId&quot;, &quot;locations&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.setBreakpoint&quot;, [{&quot;name&quot;: &quot;location&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;options&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}], [&quot;breakpointId&quot;, &quot;actualLocation&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.removeBreakpoint&quot;, [{&quot;name&quot;: &quot;breakpointId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Debugger.continueToLocation&quot;, [{&quot;name&quot;: &quot;location&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Debugger.stepOver&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Debugger.stepInto&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Debugger.stepOut&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Debugger.pause&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Debugger.resume&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Debugger.searchInContent&quot;, [{&quot;name&quot;: &quot;scriptId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;query&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;caseSensitive&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;isRegex&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.canSetScriptSource&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.setScriptSource&quot;, [{&quot;name&quot;: &quot;scriptId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;scriptSource&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;preview&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;callFrames&quot;, &quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.getScriptSource&quot;, [{&quot;name&quot;: &quot;scriptId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;scriptSource&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.getFunctionDetails&quot;, [{&quot;name&quot;: &quot;functionId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;details&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.setPauseOnExceptions&quot;, [{&quot;name&quot;: &quot;state&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Debugger.evaluateOnCallFrame&quot;, [{&quot;name&quot;: &quot;callFrameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;expression&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;includeCommandLineAPI&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;doNotPauseOnExceptionsAndMuteConsole&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;returnByValue&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;generatePreview&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;, &quot;wasThrown&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.compileScript&quot;, [{&quot;name&quot;: &quot;expression&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;sourceURL&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;scriptId&quot;, &quot;syntaxErrorMessage&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.runScript&quot;, [{&quot;name&quot;: &quot;scriptId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;contextId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;doNotPauseOnExceptionsAndMuteConsole&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;, &quot;wasThrown&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.setOverlayMessage&quot;, [{&quot;name&quot;: &quot;message&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], []);
-
-// DOM.
-InspectorBackend.registerDOMDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;DOM&quot;);
-InspectorBackend.registerEvent(&quot;DOM.documentUpdated&quot;, []);
-InspectorBackend.registerEvent(&quot;DOM.setChildNodes&quot;, [&quot;parentId&quot;, &quot;nodes&quot;]);
-InspectorBackend.registerEvent(&quot;DOM.attributeModified&quot;, [&quot;nodeId&quot;, &quot;name&quot;, &quot;value&quot;]);
-InspectorBackend.registerEvent(&quot;DOM.attributeRemoved&quot;, [&quot;nodeId&quot;, &quot;name&quot;]);
-InspectorBackend.registerEvent(&quot;DOM.inlineStyleInvalidated&quot;, [&quot;nodeIds&quot;]);
-InspectorBackend.registerEvent(&quot;DOM.characterDataModified&quot;, [&quot;nodeId&quot;, &quot;characterData&quot;]);
-InspectorBackend.registerEvent(&quot;DOM.childNodeCountUpdated&quot;, [&quot;nodeId&quot;, &quot;childNodeCount&quot;]);
-InspectorBackend.registerEvent(&quot;DOM.childNodeInserted&quot;, [&quot;parentNodeId&quot;, &quot;previousNodeId&quot;, &quot;node&quot;]);
-InspectorBackend.registerEvent(&quot;DOM.childNodeRemoved&quot;, [&quot;parentNodeId&quot;, &quot;nodeId&quot;]);
-InspectorBackend.registerEvent(&quot;DOM.shadowRootPushed&quot;, [&quot;hostId&quot;, &quot;root&quot;]);
-InspectorBackend.registerEvent(&quot;DOM.shadowRootPopped&quot;, [&quot;hostId&quot;, &quot;rootId&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.getDocument&quot;, [], [&quot;root&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.requestChildNodes&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;depth&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;DOM.querySelector&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;selector&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;nodeId&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.querySelectorAll&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;selector&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;nodeIds&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.setNodeName&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;nodeId&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.setNodeValue&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOM.removeNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOM.setAttributeValue&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOM.setAttributesAsText&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;text&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;DOM.removeAttribute&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOM.getEventListenersForNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;listeners&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.getOuterHTML&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;outerHTML&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.setOuterHTML&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;outerHTML&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOM.performSearch&quot;, [{&quot;name&quot;: &quot;query&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;nodeIds&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}], [&quot;searchId&quot;, &quot;resultCount&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.getSearchResults&quot;, [{&quot;name&quot;: &quot;searchId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;fromIndex&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;toIndex&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;nodeIds&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.discardSearchResults&quot;, [{&quot;name&quot;: &quot;searchId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOM.requestNode&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;nodeId&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.setInspectModeEnabled&quot;, [{&quot;name&quot;: &quot;enabled&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;highlightConfig&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;DOM.highlightRect&quot;, [{&quot;name&quot;: &quot;x&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;y&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;width&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;height&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;color&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;outlineColor&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;usePageCoordinates&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;DOM.highlightQuad&quot;, [{&quot;name&quot;: &quot;quad&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;color&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;outlineColor&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;usePageCoordinates&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;DOM.highlightNode&quot;, [{&quot;name&quot;: &quot;highlightConfig&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;DOM.hideHighlight&quot;, [], []);
-InspectorBackend.registerCommand(&quot;DOM.highlightFrame&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;contentColor&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;contentOutlineColor&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;DOM.pushNodeByPathToFrontend&quot;, [{&quot;name&quot;: &quot;path&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;nodeId&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.pushNodeByBackendIdToFrontend&quot;, [{&quot;name&quot;: &quot;backendNodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;nodeId&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.releaseBackendNodeIds&quot;, [{&quot;name&quot;: &quot;nodeGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOM.resolveNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;object&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.getAttributes&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;attributes&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.moveTo&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;targetNodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;insertBeforeNodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}], [&quot;nodeId&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.undo&quot;, [], []);
-InspectorBackend.registerCommand(&quot;DOM.redo&quot;, [], []);
-InspectorBackend.registerCommand(&quot;DOM.markUndoableState&quot;, [], []);
-InspectorBackend.registerCommand(&quot;DOM.focus&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOM.setFileInputFiles&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;files&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}], []);
-
-// DOMDebugger.
-InspectorBackend.registerEnum(&quot;DOMDebugger.DOMBreakpointType&quot;, {SubtreeModified: &quot;subtree-modified&quot;, AttributeModified: &quot;attribute-modified&quot;, NodeRemoved: &quot;node-removed&quot;});
-InspectorBackend.registerCommand(&quot;DOMDebugger.setDOMBreakpoint&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOMDebugger.removeDOMBreakpoint&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOMDebugger.setEventListenerBreakpoint&quot;, [{&quot;name&quot;: &quot;eventName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOMDebugger.removeEventListenerBreakpoint&quot;, [{&quot;name&quot;: &quot;eventName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOMDebugger.setInstrumentationBreakpoint&quot;, [{&quot;name&quot;: &quot;eventName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOMDebugger.removeInstrumentationBreakpoint&quot;, [{&quot;name&quot;: &quot;eventName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOMDebugger.setXHRBreakpoint&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOMDebugger.removeXHRBreakpoint&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-
-// DOMStorage.
-InspectorBackend.registerDOMStorageDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;DOMStorage&quot;);
-InspectorBackend.registerEvent(&quot;DOMStorage.domStorageItemsCleared&quot;, [&quot;storageId&quot;]);
-InspectorBackend.registerEvent(&quot;DOMStorage.domStorageItemRemoved&quot;, [&quot;storageId&quot;, &quot;key&quot;]);
-InspectorBackend.registerEvent(&quot;DOMStorage.domStorageItemAdded&quot;, [&quot;storageId&quot;, &quot;key&quot;, &quot;newValue&quot;]);
-InspectorBackend.registerEvent(&quot;DOMStorage.domStorageItemUpdated&quot;, [&quot;storageId&quot;, &quot;key&quot;, &quot;oldValue&quot;, &quot;newValue&quot;]);
-InspectorBackend.registerCommand(&quot;DOMStorage.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;DOMStorage.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;DOMStorage.getDOMStorageItems&quot;, [{&quot;name&quot;: &quot;storageId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}], [&quot;entries&quot;]);
-InspectorBackend.registerCommand(&quot;DOMStorage.setDOMStorageItem&quot;, [{&quot;name&quot;: &quot;storageId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;key&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOMStorage.removeDOMStorageItem&quot;, [{&quot;name&quot;: &quot;storageId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;key&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-
-// FileSystem.
-InspectorBackend.registerFileSystemDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;FileSystem&quot;);
-InspectorBackend.registerCommand(&quot;FileSystem.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;FileSystem.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;FileSystem.requestFileSystemRoot&quot;, [{&quot;name&quot;: &quot;origin&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;errorCode&quot;, &quot;root&quot;]);
-InspectorBackend.registerCommand(&quot;FileSystem.requestDirectoryContent&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;errorCode&quot;, &quot;entries&quot;]);
-InspectorBackend.registerCommand(&quot;FileSystem.requestMetadata&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;errorCode&quot;, &quot;metadata&quot;]);
-InspectorBackend.registerCommand(&quot;FileSystem.requestFileContent&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;readAsText&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;start&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;end&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;charset&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;errorCode&quot;, &quot;content&quot;, &quot;charset&quot;]);
-InspectorBackend.registerCommand(&quot;FileSystem.deleteEntry&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;errorCode&quot;]);
-
-// HeapProfiler.
-InspectorBackend.registerHeapProfilerDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;HeapProfiler&quot;);
-InspectorBackend.registerEvent(&quot;HeapProfiler.addProfileHeader&quot;, [&quot;header&quot;]);
-InspectorBackend.registerEvent(&quot;HeapProfiler.addHeapSnapshotChunk&quot;, [&quot;uid&quot;, &quot;chunk&quot;]);
-InspectorBackend.registerEvent(&quot;HeapProfiler.finishHeapSnapshot&quot;, [&quot;uid&quot;]);
-InspectorBackend.registerEvent(&quot;HeapProfiler.resetProfiles&quot;, []);
-InspectorBackend.registerEvent(&quot;HeapProfiler.reportHeapSnapshotProgress&quot;, [&quot;done&quot;, &quot;total&quot;]);
-InspectorBackend.registerCommand(&quot;HeapProfiler.hasHeapProfiler&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;HeapProfiler.getProfileHeaders&quot;, [], [&quot;headers&quot;]);
-InspectorBackend.registerCommand(&quot;HeapProfiler.getHeapSnapshot&quot;, [{&quot;name&quot;: &quot;uid&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;HeapProfiler.removeProfile&quot;, [{&quot;name&quot;: &quot;uid&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;HeapProfiler.clearProfiles&quot;, [], []);
-InspectorBackend.registerCommand(&quot;HeapProfiler.takeHeapSnapshot&quot;, [{&quot;name&quot;: &quot;reportProgress&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;HeapProfiler.collectGarbage&quot;, [], []);
-InspectorBackend.registerCommand(&quot;HeapProfiler.getObjectByHeapObjectId&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;HeapProfiler.getHeapObjectId&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;heapSnapshotObjectId&quot;]);
-
-// IndexedDB.
-InspectorBackend.registerIndexedDBDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;IndexedDB&quot;);
-InspectorBackend.registerEnum(&quot;IndexedDB.KeyType&quot;, {Number: &quot;number&quot;, String: &quot;string&quot;, Date: &quot;date&quot;, Array: &quot;array&quot;});
-InspectorBackend.registerEnum(&quot;IndexedDB.KeyPathType&quot;, {Null: &quot;null&quot;, String: &quot;string&quot;, Array: &quot;array&quot;});
-InspectorBackend.registerCommand(&quot;IndexedDB.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;IndexedDB.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;IndexedDB.requestDatabaseNames&quot;, [{&quot;name&quot;: &quot;securityOrigin&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;databaseNames&quot;]);
-InspectorBackend.registerCommand(&quot;IndexedDB.requestDatabase&quot;, [{&quot;name&quot;: &quot;securityOrigin&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;databaseName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;databaseWithObjectStores&quot;]);
-InspectorBackend.registerCommand(&quot;IndexedDB.requestData&quot;, [{&quot;name&quot;: &quot;securityOrigin&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;databaseName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectStoreName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;indexName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;skipCount&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;pageSize&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;keyRange&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}], [&quot;objectStoreDataEntries&quot;, &quot;hasMore&quot;]);
-InspectorBackend.registerCommand(&quot;IndexedDB.clearObjectStore&quot;, [{&quot;name&quot;: &quot;securityOrigin&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;databaseName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectStoreName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-
-// Input.
-InspectorBackend.registerInputDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Input&quot;);
-InspectorBackend.registerCommand(&quot;Input.dispatchKeyEvent&quot;, [{&quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;modifiers&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;timestamp&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;text&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;unmodifiedText&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;keyIdentifier&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;windowsVirtualKeyCode&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;nativeVirtualKeyCode&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;macCharCode&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;autoRepeat&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;isKeypad&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;isSystemKey&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;Input.dispatchMouseEvent&quot;, [{&quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;x&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;y&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;modifiers&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;timestamp&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;button&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;clickCount&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}], []);
-
-// Inspector.
-InspectorBackend.registerInspectorDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Inspector&quot;);
-InspectorBackend.registerEvent(&quot;Inspector.evaluateForTestInFrontend&quot;, [&quot;testCallId&quot;, &quot;script&quot;]);
-InspectorBackend.registerEvent(&quot;Inspector.inspect&quot;, [&quot;object&quot;, &quot;hints&quot;]);
-InspectorBackend.registerEvent(&quot;Inspector.detached&quot;, [&quot;reason&quot;]);
-InspectorBackend.registerEvent(&quot;Inspector.targetCrashed&quot;, []);
-InspectorBackend.registerCommand(&quot;Inspector.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Inspector.disable&quot;, [], []);
-
-// LayerTree.
-InspectorBackend.registerLayerTreeDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;LayerTree&quot;);
-InspectorBackend.registerEvent(&quot;LayerTree.layerTreeDidChange&quot;, []);
-InspectorBackend.registerCommand(&quot;LayerTree.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;LayerTree.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;LayerTree.layersForNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;layers&quot;]);
-InspectorBackend.registerCommand(&quot;LayerTree.reasonsForCompositingLayer&quot;, [{&quot;name&quot;: &quot;layerId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;compositingReasons&quot;]);
-
-// Memory.
-InspectorBackend.registerMemoryDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Memory&quot;);
-InspectorBackend.registerCommand(&quot;Memory.getDOMCounters&quot;, [], [&quot;documents&quot;, &quot;nodes&quot;, &quot;jsEventListeners&quot;]);
-
-// Network.
-InspectorBackend.registerNetworkDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Network&quot;);
-InspectorBackend.registerEnum(&quot;Network.InitiatorType&quot;, {Parser: &quot;parser&quot;, Script: &quot;script&quot;, Other: &quot;other&quot;});
-InspectorBackend.registerEvent(&quot;Network.requestWillBeSent&quot;, [&quot;requestId&quot;, &quot;frameId&quot;, &quot;loaderId&quot;, &quot;documentURL&quot;, &quot;request&quot;, &quot;timestamp&quot;, &quot;initiator&quot;, &quot;redirectResponse&quot;, &quot;type&quot;]);
-InspectorBackend.registerEvent(&quot;Network.requestServedFromCache&quot;, [&quot;requestId&quot;]);
-InspectorBackend.registerEvent(&quot;Network.responseReceived&quot;, [&quot;requestId&quot;, &quot;frameId&quot;, &quot;loaderId&quot;, &quot;timestamp&quot;, &quot;type&quot;, &quot;response&quot;]);
-InspectorBackend.registerEvent(&quot;Network.dataReceived&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;dataLength&quot;, &quot;encodedDataLength&quot;]);
-InspectorBackend.registerEvent(&quot;Network.loadingFinished&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;sourceMapURL&quot;]);
-InspectorBackend.registerEvent(&quot;Network.loadingFailed&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;errorText&quot;, &quot;canceled&quot;]);
-InspectorBackend.registerEvent(&quot;Network.requestServedFromMemoryCache&quot;, [&quot;requestId&quot;, &quot;frameId&quot;, &quot;loaderId&quot;, &quot;documentURL&quot;, &quot;timestamp&quot;, &quot;initiator&quot;, &quot;resource&quot;]);
-InspectorBackend.registerEvent(&quot;Network.webSocketWillSendHandshakeRequest&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;request&quot;]);
-InspectorBackend.registerEvent(&quot;Network.webSocketHandshakeResponseReceived&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;response&quot;]);
-InspectorBackend.registerEvent(&quot;Network.webSocketCreated&quot;, [&quot;requestId&quot;, &quot;url&quot;]);
-InspectorBackend.registerEvent(&quot;Network.webSocketClosed&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;]);
-InspectorBackend.registerEvent(&quot;Network.webSocketFrameReceived&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;response&quot;]);
-InspectorBackend.registerEvent(&quot;Network.webSocketFrameError&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;errorMessage&quot;]);
-InspectorBackend.registerEvent(&quot;Network.webSocketFrameSent&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;response&quot;]);
-InspectorBackend.registerCommand(&quot;Network.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Network.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Network.setUserAgentOverride&quot;, [{&quot;name&quot;: &quot;userAgent&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Network.setExtraHTTPHeaders&quot;, [{&quot;name&quot;: &quot;headers&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Network.getResponseBody&quot;, [{&quot;name&quot;: &quot;requestId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;body&quot;, &quot;base64Encoded&quot;]);
-InspectorBackend.registerCommand(&quot;Network.replayXHR&quot;, [{&quot;name&quot;: &quot;requestId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Network.canClearBrowserCache&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Network.clearBrowserCache&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Network.canClearBrowserCookies&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Network.clearBrowserCookies&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Network.setCacheDisabled&quot;, [{&quot;name&quot;: &quot;cacheDisabled&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
-
-// Page.
-InspectorBackend.registerPageDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Page&quot;);
-InspectorBackend.registerEnum(&quot;Page.ResourceType&quot;, {Document: &quot;Document&quot;, Stylesheet: &quot;Stylesheet&quot;, Image: &quot;Image&quot;, Font: &quot;Font&quot;, Script: &quot;Script&quot;, XHR: &quot;XHR&quot;, WebSocket: &quot;WebSocket&quot;, Other: &quot;Other&quot;});
-InspectorBackend.registerEnum(&quot;Page.CoordinateSystem&quot;, {Viewport: &quot;Viewport&quot;, Page: &quot;Page&quot;});
-InspectorBackend.registerEvent(&quot;Page.domContentEventFired&quot;, [&quot;timestamp&quot;]);
-InspectorBackend.registerEvent(&quot;Page.loadEventFired&quot;, [&quot;timestamp&quot;]);
-InspectorBackend.registerEvent(&quot;Page.frameNavigated&quot;, [&quot;frame&quot;]);
-InspectorBackend.registerEvent(&quot;Page.frameDetached&quot;, [&quot;frameId&quot;]);
-InspectorBackend.registerEvent(&quot;Page.frameStartedLoading&quot;, [&quot;frameId&quot;]);
-InspectorBackend.registerEvent(&quot;Page.frameStoppedLoading&quot;, [&quot;frameId&quot;]);
-InspectorBackend.registerEvent(&quot;Page.frameScheduledNavigation&quot;, [&quot;frameId&quot;, &quot;delay&quot;]);
-InspectorBackend.registerEvent(&quot;Page.frameClearedScheduledNavigation&quot;, [&quot;frameId&quot;]);
-InspectorBackend.registerEvent(&quot;Page.javascriptDialogOpening&quot;, [&quot;message&quot;]);
-InspectorBackend.registerEvent(&quot;Page.javascriptDialogClosed&quot;, []);
-InspectorBackend.registerEvent(&quot;Page.scriptsEnabled&quot;, [&quot;isEnabled&quot;]);
-InspectorBackend.registerCommand(&quot;Page.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Page.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Page.addScriptToEvaluateOnLoad&quot;, [{&quot;name&quot;: &quot;scriptSource&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;identifier&quot;]);
-InspectorBackend.registerCommand(&quot;Page.removeScriptToEvaluateOnLoad&quot;, [{&quot;name&quot;: &quot;identifier&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.reload&quot;, [{&quot;name&quot;: &quot;ignoreCache&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;scriptToEvaluateOnLoad&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;scriptPreprocessor&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;Page.navigate&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.getCookies&quot;, [], [&quot;cookies&quot;]);
-InspectorBackend.registerCommand(&quot;Page.deleteCookie&quot;, [{&quot;name&quot;: &quot;cookieName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.getResourceTree&quot;, [], [&quot;frameTree&quot;]);
-InspectorBackend.registerCommand(&quot;Page.getResourceContent&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;content&quot;, &quot;base64Encoded&quot;]);
-InspectorBackend.registerCommand(&quot;Page.searchInResource&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;query&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;caseSensitive&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;isRegex&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Page.searchInResources&quot;, [{&quot;name&quot;: &quot;text&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;caseSensitive&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;isRegex&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Page.setDocumentContent&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;html&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.canOverrideDeviceMetrics&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Page.setDeviceMetricsOverride&quot;, [{&quot;name&quot;: &quot;width&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;height&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;fontScaleFactor&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;fitWindow&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.setShowPaintRects&quot;, [{&quot;name&quot;: &quot;result&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.canShowDebugBorders&quot;, [], [&quot;show&quot;]);
-InspectorBackend.registerCommand(&quot;Page.setShowDebugBorders&quot;, [{&quot;name&quot;: &quot;show&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.canShowFPSCounter&quot;, [], [&quot;show&quot;]);
-InspectorBackend.registerCommand(&quot;Page.setShowFPSCounter&quot;, [{&quot;name&quot;: &quot;show&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.canContinuouslyPaint&quot;, [], [&quot;value&quot;]);
-InspectorBackend.registerCommand(&quot;Page.setContinuousPaintingEnabled&quot;, [{&quot;name&quot;: &quot;enabled&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.getScriptExecutionStatus&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Page.setScriptExecutionDisabled&quot;, [{&quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.setGeolocationOverride&quot;, [{&quot;name&quot;: &quot;latitude&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;longitude&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;accuracy&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;Page.clearGeolocationOverride&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Page.canOverrideGeolocation&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Page.setDeviceOrientationOverride&quot;, [{&quot;name&quot;: &quot;alpha&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;beta&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;gamma&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.clearDeviceOrientationOverride&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Page.canOverrideDeviceOrientation&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Page.setTouchEmulationEnabled&quot;, [{&quot;name&quot;: &quot;enabled&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.setEmulatedMedia&quot;, [{&quot;name&quot;: &quot;media&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.getCompositingBordersVisible&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Page.setCompositingBordersVisible&quot;, [{&quot;name&quot;: &quot;visible&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.snapshotNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;dataURL&quot;]);
-InspectorBackend.registerCommand(&quot;Page.snapshotRect&quot;, [{&quot;name&quot;: &quot;x&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;y&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;width&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;height&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;coordinateSystem&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;dataURL&quot;]);
-InspectorBackend.registerCommand(&quot;Page.handleJavaScriptDialog&quot;, [{&quot;name&quot;: &quot;accept&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;promptText&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;Page.archive&quot;, [], [&quot;data&quot;]);
-
-// Profiler.
-InspectorBackend.registerProfilerDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Profiler&quot;);
-InspectorBackend.registerEnum(&quot;Profiler.ProfileHeaderTypeId&quot;, {CPU: &quot;CPU&quot;, CSS: &quot;CSS&quot;, HEAP: &quot;HEAP&quot;});
-InspectorBackend.registerEvent(&quot;Profiler.addProfileHeader&quot;, [&quot;header&quot;]);
-InspectorBackend.registerEvent(&quot;Profiler.addHeapSnapshotChunk&quot;, [&quot;uid&quot;, &quot;chunk&quot;]);
-InspectorBackend.registerEvent(&quot;Profiler.finishHeapSnapshot&quot;, [&quot;uid&quot;]);
-InspectorBackend.registerEvent(&quot;Profiler.setRecordingProfile&quot;, [&quot;isProfiling&quot;]);
-InspectorBackend.registerEvent(&quot;Profiler.resetProfiles&quot;, []);
-InspectorBackend.registerEvent(&quot;Profiler.reportHeapSnapshotProgress&quot;, [&quot;done&quot;, &quot;total&quot;]);
-InspectorBackend.registerCommand(&quot;Profiler.causesRecompilation&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Profiler.isSampling&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Profiler.hasHeapProfiler&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Profiler.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Profiler.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Profiler.start&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Profiler.stop&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Profiler.getProfileHeaders&quot;, [], [&quot;headers&quot;]);
-InspectorBackend.registerCommand(&quot;Profiler.getCPUProfile&quot;, [{&quot;name&quot;: &quot;uid&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;profile&quot;]);
-InspectorBackend.registerCommand(&quot;Profiler.getHeapSnapshot&quot;, [{&quot;name&quot;: &quot;uid&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Profiler.removeProfile&quot;, [{&quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;uid&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Profiler.clearProfiles&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Profiler.takeHeapSnapshot&quot;, [{&quot;name&quot;: &quot;reportProgress&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;Profiler.collectGarbage&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Profiler.getObjectByHeapObjectId&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Profiler.getHeapObjectId&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;heapSnapshotObjectId&quot;]);
-
-// Runtime.
-InspectorBackend.registerRuntimeDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Runtime&quot;);
-InspectorBackend.registerEnum(&quot;Runtime.RemoteObjectType&quot;, {Object: &quot;object&quot;, Function: &quot;function&quot;, Undefined: &quot;undefined&quot;, String: &quot;string&quot;, Number: &quot;number&quot;, Boolean: &quot;boolean&quot;});
-InspectorBackend.registerEnum(&quot;Runtime.RemoteObjectSubtype&quot;, {Array: &quot;array&quot;, Null: &quot;null&quot;, Node: &quot;node&quot;, Regexp: &quot;regexp&quot;, Date: &quot;date&quot;});
-InspectorBackend.registerEnum(&quot;Runtime.PropertyPreviewType&quot;, {Object: &quot;object&quot;, Function: &quot;function&quot;, Undefined: &quot;undefined&quot;, String: &quot;string&quot;, Number: &quot;number&quot;, Boolean: &quot;boolean&quot;});
-InspectorBackend.registerEnum(&quot;Runtime.PropertyPreviewSubtype&quot;, {Array: &quot;array&quot;, Null: &quot;null&quot;, Node: &quot;node&quot;, Regexp: &quot;regexp&quot;, Date: &quot;date&quot;});
-InspectorBackend.registerEnum(&quot;Runtime.SyntaxErrorType&quot;, {None: &quot;none&quot;, Irrecoverable: &quot;irrecoverable&quot;, UnterminatedLiteral: &quot;unterminated-literal&quot;, Recoverable: &quot;recoverable&quot;});
-InspectorBackend.registerEvent(&quot;Runtime.executionContextCreated&quot;, [&quot;context&quot;]);
-InspectorBackend.registerCommand(&quot;Runtime.parse&quot;, [{&quot;name&quot;: &quot;source&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;result&quot;, &quot;message&quot;, &quot;range&quot;]);
-InspectorBackend.registerCommand(&quot;Runtime.evaluate&quot;, [{&quot;name&quot;: &quot;expression&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;includeCommandLineAPI&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;doNotPauseOnExceptionsAndMuteConsole&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;contextId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;returnByValue&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;generatePreview&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;, &quot;wasThrown&quot;]);
-InspectorBackend.registerCommand(&quot;Runtime.callFunctionOn&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;functionDeclaration&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;arguments&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;doNotPauseOnExceptionsAndMuteConsole&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;returnByValue&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;generatePreview&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;, &quot;wasThrown&quot;]);
-InspectorBackend.registerCommand(&quot;Runtime.getProperties&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;ownProperties&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;, &quot;internalProperties&quot;]);
-InspectorBackend.registerCommand(&quot;Runtime.releaseObject&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Runtime.releaseObjectGroup&quot;, [{&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Runtime.run&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Runtime.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Runtime.disable&quot;, [], []);
-
-// Timeline.
-InspectorBackend.registerTimelineDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Timeline&quot;);
-InspectorBackend.registerEnum(&quot;Timeline.EventType&quot;, {EventDispatch: &quot;EventDispatch&quot;, BeginFrame: &quot;BeginFrame&quot;, ScheduleStyleRecalculation: &quot;ScheduleStyleRecalculation&quot;, RecalculateStyles: &quot;RecalculateStyles&quot;, InvalidateLayout: &quot;InvalidateLayout&quot;, Layout: &quot;Layout&quot;, Paint: &quot;Paint&quot;, ScrollLayer: &quot;ScrollLayer&quot;, ResizeImage: &quot;ResizeImage&quot;, CompositeLayers: &quot;CompositeLayers&quot;, ParseHTML: &quot;ParseHTML&quot;, TimerInstall: &quot;TimerInstall&quot;, TimerRemove: &quot;TimerRemove&quot;, TimerFire: &quot;TimerFire&quot;, EvaluateScript: &quot;EvaluateScript&quot;, MarkLoad: &quot;MarkLoad&quot;, MarkDOMContent: &quot;MarkDOMContent&quot;, TimeStamp: &quot;TimeStamp&quot;, Time: &quot;Time&quot;, TimeEnd: &quot;TimeEnd&quot;, ScheduleResourceRequest: &quot;ScheduleResourceRequest&quot;, ResourceSendRequest: &quot;ResourceSendRequest&quot;, ResourceReceiveResponse: &quot;ResourceReceiveResponse&quot;, ResourceReceivedData: &quot;ResourceReceivedData&quot;, ResourceFinish: &quot;ResourceFinish&quot;, XHRReadyStateChange: &quot;XHRReadyStateChange&quot;, XHRLoad: &quot;XHRLoad&quot;, FunctionCall: &quot;FunctionCall&quot;, GCEvent: &quot;GCEvent&quot;, RequestAnimationFrame: &quot;RequestAnimationFrame&quot;, CancelAnimationFrame: &quot;CancelAnimationFrame&quot;, FireAnimationFrame: &quot;FireAnimationFrame&quot;, WebSocketCreate: &quot;WebSocketCreate&quot;, WebSocketSendHandshakeRequest: &quot;WebSocketSendHandshakeRequest&quot;, WebSocketReceiveHandshakeResponse: &quot;WebSocketReceiveHandshakeResponse&quot;, WebSocketDestroy: &quot;WebSocketDestroy&quot;});
-InspectorBackend.registerEvent(&quot;Timeline.eventRecorded&quot;, [&quot;record&quot;]);
-InspectorBackend.registerCommand(&quot;Timeline.start&quot;, [{&quot;name&quot;: &quot;maxCallStackDepth&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;includeDomCounters&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;Timeline.stop&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Timeline.supportsFrameInstrumentation&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Timeline.canMonitorMainThread&quot;, [], [&quot;result&quot;]);
-
-// Worker.
-InspectorBackend.registerWorkerDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Worker&quot;);
-InspectorBackend.registerEvent(&quot;Worker.workerCreated&quot;, [&quot;workerId&quot;, &quot;url&quot;, &quot;inspectorConnected&quot;]);
-InspectorBackend.registerEvent(&quot;Worker.workerTerminated&quot;, [&quot;workerId&quot;]);
-InspectorBackend.registerEvent(&quot;Worker.dispatchMessageFromWorker&quot;, [&quot;workerId&quot;, &quot;message&quot;]);
-InspectorBackend.registerEvent(&quot;Worker.disconnectedFromWorker&quot;, []);
-InspectorBackend.registerCommand(&quot;Worker.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Worker.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Worker.sendMessageToWorker&quot;, [{&quot;name&quot;: &quot;workerId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;message&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Worker.canInspectWorkers&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Worker.connectToWorker&quot;, [{&quot;name&quot;: &quot;workerId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Worker.disconnectFromWorker&quot;, [{&quot;name&quot;: &quot;workerId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Worker.setAutoconnectToWorkers&quot;, [{&quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
</del></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceInspectorJSBackendCommandsjs"></a>
<div class="addfile"><h4>Added: trunk/Source/WebInspectorUI/UserInterface/InspectorJSBackendCommands.js (0 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/InspectorJSBackendCommands.js                                (rev 0)
+++ trunk/Source/WebInspectorUI/UserInterface/InspectorJSBackendCommands.js        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -0,0 +1,25 @@
</span><ins>+// File is generated by JavaScriptCore/inspector/scripts/CodeGeneratorInspector.py
+
+// Copyright (c) 2013 Apple Inc. All Rights Reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+
+// Runtime.
+InspectorBackend.registerRuntimeDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Runtime&quot;);
+InspectorBackend.registerEnum(&quot;Runtime.RemoteObjectType&quot;, {Object: &quot;object&quot;, Function: &quot;function&quot;, Undefined: &quot;undefined&quot;, String: &quot;string&quot;, Number: &quot;number&quot;, Boolean: &quot;boolean&quot;});
+InspectorBackend.registerEnum(&quot;Runtime.RemoteObjectSubtype&quot;, {Array: &quot;array&quot;, Null: &quot;null&quot;, Node: &quot;node&quot;, Regexp: &quot;regexp&quot;, Date: &quot;date&quot;});
+InspectorBackend.registerEnum(&quot;Runtime.PropertyPreviewType&quot;, {Object: &quot;object&quot;, Function: &quot;function&quot;, Undefined: &quot;undefined&quot;, String: &quot;string&quot;, Number: &quot;number&quot;, Boolean: &quot;boolean&quot;});
+InspectorBackend.registerEnum(&quot;Runtime.PropertyPreviewSubtype&quot;, {Array: &quot;array&quot;, Null: &quot;null&quot;, Node: &quot;node&quot;, Regexp: &quot;regexp&quot;, Date: &quot;date&quot;});
+InspectorBackend.registerEnum(&quot;Runtime.SyntaxErrorType&quot;, {None: &quot;none&quot;, Irrecoverable: &quot;irrecoverable&quot;, UnterminatedLiteral: &quot;unterminated-literal&quot;, Recoverable: &quot;recoverable&quot;});
+InspectorBackend.registerEvent(&quot;Runtime.executionContextCreated&quot;, [&quot;context&quot;]);
+InspectorBackend.registerCommand(&quot;Runtime.parse&quot;, [{&quot;name&quot;: &quot;source&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;result&quot;, &quot;message&quot;, &quot;range&quot;]);
+InspectorBackend.registerCommand(&quot;Runtime.evaluate&quot;, [{&quot;name&quot;: &quot;expression&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;includeCommandLineAPI&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;doNotPauseOnExceptionsAndMuteConsole&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;contextId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;returnByValue&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;generatePreview&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;, &quot;wasThrown&quot;]);
+InspectorBackend.registerCommand(&quot;Runtime.callFunctionOn&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;functionDeclaration&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;arguments&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;doNotPauseOnExceptionsAndMuteConsole&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;returnByValue&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;generatePreview&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;, &quot;wasThrown&quot;]);
+InspectorBackend.registerCommand(&quot;Runtime.getProperties&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;ownProperties&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;, &quot;internalProperties&quot;]);
+InspectorBackend.registerCommand(&quot;Runtime.releaseObject&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Runtime.releaseObjectGroup&quot;, [{&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Runtime.run&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Runtime.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Runtime.disable&quot;, [], []);
</ins></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceInspectorWebBackendCommandsjsfromrev160556trunkSourceWebInspectorUIUserInterfaceInspectorBackendCommandsjs"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebInspectorUI/UserInterface/InspectorWebBackendCommands.js (from rev 160556, trunk/Source/WebInspectorUI/UserInterface/InspectorBackendCommands.js) (0 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/InspectorWebBackendCommands.js                                (rev 0)
+++ trunk/Source/WebInspectorUI/UserInterface/InspectorWebBackendCommands.js        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -0,0 +1,391 @@
</span><ins>+// File is generated by JavaScriptCore/inspector/scripts/CodeGeneratorInspector.py
+
+// Copyright (c) 2013 Apple Inc. All Rights Reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+
+// ApplicationCache.
+InspectorBackend.registerApplicationCacheDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;ApplicationCache&quot;);
+InspectorBackend.registerEvent(&quot;ApplicationCache.applicationCacheStatusUpdated&quot;, [&quot;frameId&quot;, &quot;manifestURL&quot;, &quot;status&quot;]);
+InspectorBackend.registerEvent(&quot;ApplicationCache.networkStateUpdated&quot;, [&quot;isNowOnline&quot;]);
+InspectorBackend.registerCommand(&quot;ApplicationCache.getFramesWithManifests&quot;, [], [&quot;frameIds&quot;]);
+InspectorBackend.registerCommand(&quot;ApplicationCache.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;ApplicationCache.getManifestForFrame&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;manifestURL&quot;]);
+InspectorBackend.registerCommand(&quot;ApplicationCache.getApplicationCacheForFrame&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;applicationCache&quot;]);
+
+// CSS.
+InspectorBackend.registerCSSDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;CSS&quot;);
+InspectorBackend.registerEnum(&quot;CSS.StyleSheetOrigin&quot;, {User: &quot;user&quot;, UserAgent: &quot;user-agent&quot;, Inspector: &quot;inspector&quot;, Regular: &quot;regular&quot;});
+InspectorBackend.registerEnum(&quot;CSS.CSSPropertyStatus&quot;, {Active: &quot;active&quot;, Inactive: &quot;inactive&quot;, Disabled: &quot;disabled&quot;, Style: &quot;style&quot;});
+InspectorBackend.registerEnum(&quot;CSS.CSSMediaSource&quot;, {MediaRule: &quot;mediaRule&quot;, ImportRule: &quot;importRule&quot;, LinkedSheet: &quot;linkedSheet&quot;, InlineSheet: &quot;inlineSheet&quot;});
+InspectorBackend.registerEnum(&quot;CSS.RegionRegionOverset&quot;, {Overset: &quot;overset&quot;, Fit: &quot;fit&quot;, Empty: &quot;empty&quot;});
+InspectorBackend.registerEvent(&quot;CSS.mediaQueryResultChanged&quot;, []);
+InspectorBackend.registerEvent(&quot;CSS.styleSheetChanged&quot;, [&quot;styleSheetId&quot;]);
+InspectorBackend.registerEvent(&quot;CSS.namedFlowCreated&quot;, [&quot;namedFlow&quot;]);
+InspectorBackend.registerEvent(&quot;CSS.namedFlowRemoved&quot;, [&quot;documentNodeId&quot;, &quot;flowName&quot;]);
+InspectorBackend.registerEvent(&quot;CSS.regionLayoutUpdated&quot;, [&quot;namedFlow&quot;]);
+InspectorBackend.registerEvent(&quot;CSS.regionOversetChanged&quot;, [&quot;namedFlow&quot;]);
+InspectorBackend.registerEvent(&quot;CSS.registeredNamedFlowContentElement&quot;, [&quot;documentNodeId&quot;, &quot;flowName&quot;, &quot;contentNodeId&quot;, &quot;nextContentNodeId&quot;]);
+InspectorBackend.registerEvent(&quot;CSS.unregisteredNamedFlowContentElement&quot;, [&quot;documentNodeId&quot;, &quot;flowName&quot;, &quot;contentNodeId&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;CSS.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;CSS.getMatchedStylesForNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;includePseudo&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;includeInherited&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;matchedCSSRules&quot;, &quot;pseudoElements&quot;, &quot;inherited&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.getInlineStylesForNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;inlineStyle&quot;, &quot;attributesStyle&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.getComputedStyleForNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;computedStyle&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.getAllStyleSheets&quot;, [], [&quot;headers&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.getStyleSheet&quot;, [{&quot;name&quot;: &quot;styleSheetId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;styleSheet&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.getStyleSheetText&quot;, [{&quot;name&quot;: &quot;styleSheetId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;text&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.setStyleSheetText&quot;, [{&quot;name&quot;: &quot;styleSheetId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;text&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;CSS.setStyleText&quot;, [{&quot;name&quot;: &quot;styleId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;text&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;style&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.setPropertyText&quot;, [{&quot;name&quot;: &quot;styleId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;propertyIndex&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;text&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;overwrite&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], [&quot;style&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.toggleProperty&quot;, [{&quot;name&quot;: &quot;styleId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;propertyIndex&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;disable&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], [&quot;style&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.setRuleSelector&quot;, [{&quot;name&quot;: &quot;ruleId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;selector&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;rule&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.addRule&quot;, [{&quot;name&quot;: &quot;contextNodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;selector&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;rule&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.getSupportedCSSProperties&quot;, [], [&quot;cssProperties&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.forcePseudoState&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;forcedPseudoClasses&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;CSS.startSelectorProfiler&quot;, [], []);
+InspectorBackend.registerCommand(&quot;CSS.stopSelectorProfiler&quot;, [], [&quot;profile&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.getNamedFlowCollection&quot;, [{&quot;name&quot;: &quot;documentNodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;namedFlows&quot;]);
+
+// Canvas.
+InspectorBackend.registerCanvasDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Canvas&quot;);
+InspectorBackend.registerEvent(&quot;Canvas.contextCreated&quot;, [&quot;frameId&quot;]);
+InspectorBackend.registerEvent(&quot;Canvas.traceLogsRemoved&quot;, [&quot;frameId&quot;, &quot;traceLogId&quot;]);
+InspectorBackend.registerCommand(&quot;Canvas.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Canvas.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Canvas.dropTraceLog&quot;, [{&quot;name&quot;: &quot;traceLogId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Canvas.hasUninstrumentedCanvases&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Canvas.captureFrame&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;traceLogId&quot;]);
+InspectorBackend.registerCommand(&quot;Canvas.startCapturing&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;traceLogId&quot;]);
+InspectorBackend.registerCommand(&quot;Canvas.stopCapturing&quot;, [{&quot;name&quot;: &quot;traceLogId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Canvas.getTraceLog&quot;, [{&quot;name&quot;: &quot;traceLogId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;startOffset&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;maxLength&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}], [&quot;traceLog&quot;]);
+InspectorBackend.registerCommand(&quot;Canvas.replayTraceLog&quot;, [{&quot;name&quot;: &quot;traceLogId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;stepNo&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;resourceState&quot;]);
+InspectorBackend.registerCommand(&quot;Canvas.getResourceInfo&quot;, [{&quot;name&quot;: &quot;resourceId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;resourceInfo&quot;]);
+InspectorBackend.registerCommand(&quot;Canvas.getResourceState&quot;, [{&quot;name&quot;: &quot;traceLogId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;resourceId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;resourceState&quot;]);
+
+// Console.
+InspectorBackend.registerConsoleDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Console&quot;);
+InspectorBackend.registerEnum(&quot;Console.ConsoleMessageSource&quot;, {XML: &quot;xml&quot;, Javascript: &quot;javascript&quot;, Network: &quot;network&quot;, ConsoleAPI: &quot;console-api&quot;, Storage: &quot;storage&quot;, Appcache: &quot;appcache&quot;, Rendering: &quot;rendering&quot;, CSS: &quot;css&quot;, Security: &quot;security&quot;, Other: &quot;other&quot;});
+InspectorBackend.registerEnum(&quot;Console.ConsoleMessageLevel&quot;, {Log: &quot;log&quot;, Warning: &quot;warning&quot;, Error: &quot;error&quot;, Debug: &quot;debug&quot;});
+InspectorBackend.registerEnum(&quot;Console.ConsoleMessageType&quot;, {Log: &quot;log&quot;, Dir: &quot;dir&quot;, DirXML: &quot;dirxml&quot;, Table: &quot;table&quot;, Trace: &quot;trace&quot;, Clear: &quot;clear&quot;, StartGroup: &quot;startGroup&quot;, StartGroupCollapsed: &quot;startGroupCollapsed&quot;, EndGroup: &quot;endGroup&quot;, Assert: &quot;assert&quot;, Timing: &quot;timing&quot;, Profile: &quot;profile&quot;, ProfileEnd: &quot;profileEnd&quot;});
+InspectorBackend.registerEvent(&quot;Console.messageAdded&quot;, [&quot;message&quot;]);
+InspectorBackend.registerEvent(&quot;Console.messageRepeatCountUpdated&quot;, [&quot;count&quot;]);
+InspectorBackend.registerEvent(&quot;Console.messagesCleared&quot;, []);
+InspectorBackend.registerCommand(&quot;Console.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Console.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Console.clearMessages&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Console.setMonitoringXHREnabled&quot;, [{&quot;name&quot;: &quot;enabled&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Console.addInspectedNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Console.addInspectedHeapObject&quot;, [{&quot;name&quot;: &quot;heapObjectId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
+
+// DOM.
+InspectorBackend.registerDOMDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;DOM&quot;);
+InspectorBackend.registerEvent(&quot;DOM.documentUpdated&quot;, []);
+InspectorBackend.registerEvent(&quot;DOM.setChildNodes&quot;, [&quot;parentId&quot;, &quot;nodes&quot;]);
+InspectorBackend.registerEvent(&quot;DOM.attributeModified&quot;, [&quot;nodeId&quot;, &quot;name&quot;, &quot;value&quot;]);
+InspectorBackend.registerEvent(&quot;DOM.attributeRemoved&quot;, [&quot;nodeId&quot;, &quot;name&quot;]);
+InspectorBackend.registerEvent(&quot;DOM.inlineStyleInvalidated&quot;, [&quot;nodeIds&quot;]);
+InspectorBackend.registerEvent(&quot;DOM.characterDataModified&quot;, [&quot;nodeId&quot;, &quot;characterData&quot;]);
+InspectorBackend.registerEvent(&quot;DOM.childNodeCountUpdated&quot;, [&quot;nodeId&quot;, &quot;childNodeCount&quot;]);
+InspectorBackend.registerEvent(&quot;DOM.childNodeInserted&quot;, [&quot;parentNodeId&quot;, &quot;previousNodeId&quot;, &quot;node&quot;]);
+InspectorBackend.registerEvent(&quot;DOM.childNodeRemoved&quot;, [&quot;parentNodeId&quot;, &quot;nodeId&quot;]);
+InspectorBackend.registerEvent(&quot;DOM.shadowRootPushed&quot;, [&quot;hostId&quot;, &quot;root&quot;]);
+InspectorBackend.registerEvent(&quot;DOM.shadowRootPopped&quot;, [&quot;hostId&quot;, &quot;rootId&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.getDocument&quot;, [], [&quot;root&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.requestChildNodes&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;depth&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;DOM.querySelector&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;selector&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;nodeId&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.querySelectorAll&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;selector&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;nodeIds&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.setNodeName&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;nodeId&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.setNodeValue&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOM.removeNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOM.setAttributeValue&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOM.setAttributesAsText&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;text&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;DOM.removeAttribute&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOM.getEventListenersForNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;listeners&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.getOuterHTML&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;outerHTML&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.setOuterHTML&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;outerHTML&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOM.performSearch&quot;, [{&quot;name&quot;: &quot;query&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;nodeIds&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}], [&quot;searchId&quot;, &quot;resultCount&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.getSearchResults&quot;, [{&quot;name&quot;: &quot;searchId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;fromIndex&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;toIndex&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;nodeIds&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.discardSearchResults&quot;, [{&quot;name&quot;: &quot;searchId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOM.requestNode&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;nodeId&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.setInspectModeEnabled&quot;, [{&quot;name&quot;: &quot;enabled&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;highlightConfig&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;DOM.highlightRect&quot;, [{&quot;name&quot;: &quot;x&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;y&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;width&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;height&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;color&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;outlineColor&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;usePageCoordinates&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;DOM.highlightQuad&quot;, [{&quot;name&quot;: &quot;quad&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;color&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;outlineColor&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;usePageCoordinates&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;DOM.highlightNode&quot;, [{&quot;name&quot;: &quot;highlightConfig&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;DOM.hideHighlight&quot;, [], []);
+InspectorBackend.registerCommand(&quot;DOM.highlightFrame&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;contentColor&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;contentOutlineColor&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;DOM.pushNodeByPathToFrontend&quot;, [{&quot;name&quot;: &quot;path&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;nodeId&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.pushNodeByBackendIdToFrontend&quot;, [{&quot;name&quot;: &quot;backendNodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;nodeId&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.releaseBackendNodeIds&quot;, [{&quot;name&quot;: &quot;nodeGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOM.resolveNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;object&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.getAttributes&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;attributes&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.moveTo&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;targetNodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;insertBeforeNodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}], [&quot;nodeId&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.undo&quot;, [], []);
+InspectorBackend.registerCommand(&quot;DOM.redo&quot;, [], []);
+InspectorBackend.registerCommand(&quot;DOM.markUndoableState&quot;, [], []);
+InspectorBackend.registerCommand(&quot;DOM.focus&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOM.setFileInputFiles&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;files&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}], []);
+
+// DOMDebugger.
+InspectorBackend.registerEnum(&quot;DOMDebugger.DOMBreakpointType&quot;, {SubtreeModified: &quot;subtree-modified&quot;, AttributeModified: &quot;attribute-modified&quot;, NodeRemoved: &quot;node-removed&quot;});
+InspectorBackend.registerCommand(&quot;DOMDebugger.setDOMBreakpoint&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOMDebugger.removeDOMBreakpoint&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOMDebugger.setEventListenerBreakpoint&quot;, [{&quot;name&quot;: &quot;eventName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOMDebugger.removeEventListenerBreakpoint&quot;, [{&quot;name&quot;: &quot;eventName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOMDebugger.setInstrumentationBreakpoint&quot;, [{&quot;name&quot;: &quot;eventName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOMDebugger.removeInstrumentationBreakpoint&quot;, [{&quot;name&quot;: &quot;eventName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOMDebugger.setXHRBreakpoint&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOMDebugger.removeXHRBreakpoint&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+
+// DOMStorage.
+InspectorBackend.registerDOMStorageDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;DOMStorage&quot;);
+InspectorBackend.registerEvent(&quot;DOMStorage.domStorageItemsCleared&quot;, [&quot;storageId&quot;]);
+InspectorBackend.registerEvent(&quot;DOMStorage.domStorageItemRemoved&quot;, [&quot;storageId&quot;, &quot;key&quot;]);
+InspectorBackend.registerEvent(&quot;DOMStorage.domStorageItemAdded&quot;, [&quot;storageId&quot;, &quot;key&quot;, &quot;newValue&quot;]);
+InspectorBackend.registerEvent(&quot;DOMStorage.domStorageItemUpdated&quot;, [&quot;storageId&quot;, &quot;key&quot;, &quot;oldValue&quot;, &quot;newValue&quot;]);
+InspectorBackend.registerCommand(&quot;DOMStorage.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;DOMStorage.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;DOMStorage.getDOMStorageItems&quot;, [{&quot;name&quot;: &quot;storageId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}], [&quot;entries&quot;]);
+InspectorBackend.registerCommand(&quot;DOMStorage.setDOMStorageItem&quot;, [{&quot;name&quot;: &quot;storageId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;key&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOMStorage.removeDOMStorageItem&quot;, [{&quot;name&quot;: &quot;storageId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;key&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+
+// Database.
+InspectorBackend.registerDatabaseDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Database&quot;);
+InspectorBackend.registerEvent(&quot;Database.addDatabase&quot;, [&quot;database&quot;]);
+InspectorBackend.registerCommand(&quot;Database.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Database.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Database.getDatabaseTableNames&quot;, [{&quot;name&quot;: &quot;databaseId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;tableNames&quot;]);
+InspectorBackend.registerCommand(&quot;Database.executeSQL&quot;, [{&quot;name&quot;: &quot;databaseId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;query&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;columnNames&quot;, &quot;values&quot;, &quot;sqlError&quot;]);
+
+// Debugger.
+InspectorBackend.registerDebuggerDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Debugger&quot;);
+InspectorBackend.registerEnum(&quot;Debugger.BreakpointActionType&quot;, {Log: &quot;log&quot;, Evaluate: &quot;evaluate&quot;, Sound: &quot;sound&quot;});
+InspectorBackend.registerEnum(&quot;Debugger.ScopeType&quot;, {Global: &quot;global&quot;, Local: &quot;local&quot;, With: &quot;with&quot;, Closure: &quot;closure&quot;, Catch: &quot;catch&quot;});
+InspectorBackend.registerEvent(&quot;Debugger.globalObjectCleared&quot;, []);
+InspectorBackend.registerEvent(&quot;Debugger.scriptParsed&quot;, [&quot;scriptId&quot;, &quot;url&quot;, &quot;startLine&quot;, &quot;startColumn&quot;, &quot;endLine&quot;, &quot;endColumn&quot;, &quot;isContentScript&quot;, &quot;sourceMapURL&quot;, &quot;hasSourceURL&quot;]);
+InspectorBackend.registerEvent(&quot;Debugger.scriptFailedToParse&quot;, [&quot;url&quot;, &quot;scriptSource&quot;, &quot;startLine&quot;, &quot;errorLine&quot;, &quot;errorMessage&quot;]);
+InspectorBackend.registerEvent(&quot;Debugger.breakpointResolved&quot;, [&quot;breakpointId&quot;, &quot;location&quot;]);
+InspectorBackend.registerEvent(&quot;Debugger.paused&quot;, [&quot;callFrames&quot;, &quot;reason&quot;, &quot;data&quot;]);
+InspectorBackend.registerEvent(&quot;Debugger.resumed&quot;, []);
+InspectorBackend.registerCommand(&quot;Debugger.causesRecompilation&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.supportsSeparateScriptCompilationAndExecution&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Debugger.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Debugger.setBreakpointsActive&quot;, [{&quot;name&quot;: &quot;active&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Debugger.setBreakpointByUrl&quot;, [{&quot;name&quot;: &quot;lineNumber&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;urlRegex&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;columnNumber&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;options&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}], [&quot;breakpointId&quot;, &quot;locations&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.setBreakpoint&quot;, [{&quot;name&quot;: &quot;location&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;options&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}], [&quot;breakpointId&quot;, &quot;actualLocation&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.removeBreakpoint&quot;, [{&quot;name&quot;: &quot;breakpointId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Debugger.continueToLocation&quot;, [{&quot;name&quot;: &quot;location&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Debugger.stepOver&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Debugger.stepInto&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Debugger.stepOut&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Debugger.pause&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Debugger.resume&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Debugger.searchInContent&quot;, [{&quot;name&quot;: &quot;scriptId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;query&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;caseSensitive&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;isRegex&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.canSetScriptSource&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.setScriptSource&quot;, [{&quot;name&quot;: &quot;scriptId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;scriptSource&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;preview&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;callFrames&quot;, &quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.getScriptSource&quot;, [{&quot;name&quot;: &quot;scriptId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;scriptSource&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.getFunctionDetails&quot;, [{&quot;name&quot;: &quot;functionId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;details&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.setPauseOnExceptions&quot;, [{&quot;name&quot;: &quot;state&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Debugger.evaluateOnCallFrame&quot;, [{&quot;name&quot;: &quot;callFrameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;expression&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;includeCommandLineAPI&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;doNotPauseOnExceptionsAndMuteConsole&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;returnByValue&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;generatePreview&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;, &quot;wasThrown&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.compileScript&quot;, [{&quot;name&quot;: &quot;expression&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;sourceURL&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;scriptId&quot;, &quot;syntaxErrorMessage&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.runScript&quot;, [{&quot;name&quot;: &quot;scriptId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;contextId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;doNotPauseOnExceptionsAndMuteConsole&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;, &quot;wasThrown&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.setOverlayMessage&quot;, [{&quot;name&quot;: &quot;message&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], []);
+
+// FileSystem.
+InspectorBackend.registerFileSystemDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;FileSystem&quot;);
+InspectorBackend.registerCommand(&quot;FileSystem.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;FileSystem.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;FileSystem.requestFileSystemRoot&quot;, [{&quot;name&quot;: &quot;origin&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;errorCode&quot;, &quot;root&quot;]);
+InspectorBackend.registerCommand(&quot;FileSystem.requestDirectoryContent&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;errorCode&quot;, &quot;entries&quot;]);
+InspectorBackend.registerCommand(&quot;FileSystem.requestMetadata&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;errorCode&quot;, &quot;metadata&quot;]);
+InspectorBackend.registerCommand(&quot;FileSystem.requestFileContent&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;readAsText&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;start&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;end&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;charset&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;errorCode&quot;, &quot;content&quot;, &quot;charset&quot;]);
+InspectorBackend.registerCommand(&quot;FileSystem.deleteEntry&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;errorCode&quot;]);
+
+// HeapProfiler.
+InspectorBackend.registerHeapProfilerDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;HeapProfiler&quot;);
+InspectorBackend.registerEvent(&quot;HeapProfiler.addProfileHeader&quot;, [&quot;header&quot;]);
+InspectorBackend.registerEvent(&quot;HeapProfiler.addHeapSnapshotChunk&quot;, [&quot;uid&quot;, &quot;chunk&quot;]);
+InspectorBackend.registerEvent(&quot;HeapProfiler.finishHeapSnapshot&quot;, [&quot;uid&quot;]);
+InspectorBackend.registerEvent(&quot;HeapProfiler.resetProfiles&quot;, []);
+InspectorBackend.registerEvent(&quot;HeapProfiler.reportHeapSnapshotProgress&quot;, [&quot;done&quot;, &quot;total&quot;]);
+InspectorBackend.registerCommand(&quot;HeapProfiler.hasHeapProfiler&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;HeapProfiler.getProfileHeaders&quot;, [], [&quot;headers&quot;]);
+InspectorBackend.registerCommand(&quot;HeapProfiler.getHeapSnapshot&quot;, [{&quot;name&quot;: &quot;uid&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;HeapProfiler.removeProfile&quot;, [{&quot;name&quot;: &quot;uid&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;HeapProfiler.clearProfiles&quot;, [], []);
+InspectorBackend.registerCommand(&quot;HeapProfiler.takeHeapSnapshot&quot;, [{&quot;name&quot;: &quot;reportProgress&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;HeapProfiler.collectGarbage&quot;, [], []);
+InspectorBackend.registerCommand(&quot;HeapProfiler.getObjectByHeapObjectId&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;HeapProfiler.getHeapObjectId&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;heapSnapshotObjectId&quot;]);
+
+// IndexedDB.
+InspectorBackend.registerIndexedDBDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;IndexedDB&quot;);
+InspectorBackend.registerEnum(&quot;IndexedDB.KeyType&quot;, {Number: &quot;number&quot;, String: &quot;string&quot;, Date: &quot;date&quot;, Array: &quot;array&quot;});
+InspectorBackend.registerEnum(&quot;IndexedDB.KeyPathType&quot;, {Null: &quot;null&quot;, String: &quot;string&quot;, Array: &quot;array&quot;});
+InspectorBackend.registerCommand(&quot;IndexedDB.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;IndexedDB.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;IndexedDB.requestDatabaseNames&quot;, [{&quot;name&quot;: &quot;securityOrigin&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;databaseNames&quot;]);
+InspectorBackend.registerCommand(&quot;IndexedDB.requestDatabase&quot;, [{&quot;name&quot;: &quot;securityOrigin&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;databaseName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;databaseWithObjectStores&quot;]);
+InspectorBackend.registerCommand(&quot;IndexedDB.requestData&quot;, [{&quot;name&quot;: &quot;securityOrigin&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;databaseName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectStoreName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;indexName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;skipCount&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;pageSize&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;keyRange&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}], [&quot;objectStoreDataEntries&quot;, &quot;hasMore&quot;]);
+InspectorBackend.registerCommand(&quot;IndexedDB.clearObjectStore&quot;, [{&quot;name&quot;: &quot;securityOrigin&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;databaseName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectStoreName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+
+// Input.
+InspectorBackend.registerInputDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Input&quot;);
+InspectorBackend.registerCommand(&quot;Input.dispatchKeyEvent&quot;, [{&quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;modifiers&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;timestamp&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;text&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;unmodifiedText&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;keyIdentifier&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;windowsVirtualKeyCode&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;nativeVirtualKeyCode&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;macCharCode&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;autoRepeat&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;isKeypad&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;isSystemKey&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;Input.dispatchMouseEvent&quot;, [{&quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;x&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;y&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;modifiers&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;timestamp&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;button&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;clickCount&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}], []);
+
+// Inspector.
+InspectorBackend.registerInspectorDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Inspector&quot;);
+InspectorBackend.registerEvent(&quot;Inspector.evaluateForTestInFrontend&quot;, [&quot;testCallId&quot;, &quot;script&quot;]);
+InspectorBackend.registerEvent(&quot;Inspector.inspect&quot;, [&quot;object&quot;, &quot;hints&quot;]);
+InspectorBackend.registerEvent(&quot;Inspector.detached&quot;, [&quot;reason&quot;]);
+InspectorBackend.registerEvent(&quot;Inspector.targetCrashed&quot;, []);
+InspectorBackend.registerCommand(&quot;Inspector.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Inspector.disable&quot;, [], []);
+
+// LayerTree.
+InspectorBackend.registerLayerTreeDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;LayerTree&quot;);
+InspectorBackend.registerEvent(&quot;LayerTree.layerTreeDidChange&quot;, []);
+InspectorBackend.registerCommand(&quot;LayerTree.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;LayerTree.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;LayerTree.layersForNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;layers&quot;]);
+InspectorBackend.registerCommand(&quot;LayerTree.reasonsForCompositingLayer&quot;, [{&quot;name&quot;: &quot;layerId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;compositingReasons&quot;]);
+
+// Memory.
+InspectorBackend.registerMemoryDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Memory&quot;);
+InspectorBackend.registerCommand(&quot;Memory.getDOMCounters&quot;, [], [&quot;documents&quot;, &quot;nodes&quot;, &quot;jsEventListeners&quot;]);
+
+// Network.
+InspectorBackend.registerNetworkDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Network&quot;);
+InspectorBackend.registerEnum(&quot;Network.InitiatorType&quot;, {Parser: &quot;parser&quot;, Script: &quot;script&quot;, Other: &quot;other&quot;});
+InspectorBackend.registerEvent(&quot;Network.requestWillBeSent&quot;, [&quot;requestId&quot;, &quot;frameId&quot;, &quot;loaderId&quot;, &quot;documentURL&quot;, &quot;request&quot;, &quot;timestamp&quot;, &quot;initiator&quot;, &quot;redirectResponse&quot;, &quot;type&quot;]);
+InspectorBackend.registerEvent(&quot;Network.requestServedFromCache&quot;, [&quot;requestId&quot;]);
+InspectorBackend.registerEvent(&quot;Network.responseReceived&quot;, [&quot;requestId&quot;, &quot;frameId&quot;, &quot;loaderId&quot;, &quot;timestamp&quot;, &quot;type&quot;, &quot;response&quot;]);
+InspectorBackend.registerEvent(&quot;Network.dataReceived&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;dataLength&quot;, &quot;encodedDataLength&quot;]);
+InspectorBackend.registerEvent(&quot;Network.loadingFinished&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;sourceMapURL&quot;]);
+InspectorBackend.registerEvent(&quot;Network.loadingFailed&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;errorText&quot;, &quot;canceled&quot;]);
+InspectorBackend.registerEvent(&quot;Network.requestServedFromMemoryCache&quot;, [&quot;requestId&quot;, &quot;frameId&quot;, &quot;loaderId&quot;, &quot;documentURL&quot;, &quot;timestamp&quot;, &quot;initiator&quot;, &quot;resource&quot;]);
+InspectorBackend.registerEvent(&quot;Network.webSocketWillSendHandshakeRequest&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;request&quot;]);
+InspectorBackend.registerEvent(&quot;Network.webSocketHandshakeResponseReceived&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;response&quot;]);
+InspectorBackend.registerEvent(&quot;Network.webSocketCreated&quot;, [&quot;requestId&quot;, &quot;url&quot;]);
+InspectorBackend.registerEvent(&quot;Network.webSocketClosed&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;]);
+InspectorBackend.registerEvent(&quot;Network.webSocketFrameReceived&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;response&quot;]);
+InspectorBackend.registerEvent(&quot;Network.webSocketFrameError&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;errorMessage&quot;]);
+InspectorBackend.registerEvent(&quot;Network.webSocketFrameSent&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;response&quot;]);
+InspectorBackend.registerCommand(&quot;Network.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Network.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Network.setUserAgentOverride&quot;, [{&quot;name&quot;: &quot;userAgent&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Network.setExtraHTTPHeaders&quot;, [{&quot;name&quot;: &quot;headers&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Network.getResponseBody&quot;, [{&quot;name&quot;: &quot;requestId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;body&quot;, &quot;base64Encoded&quot;]);
+InspectorBackend.registerCommand(&quot;Network.replayXHR&quot;, [{&quot;name&quot;: &quot;requestId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Network.canClearBrowserCache&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Network.clearBrowserCache&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Network.canClearBrowserCookies&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Network.clearBrowserCookies&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Network.setCacheDisabled&quot;, [{&quot;name&quot;: &quot;cacheDisabled&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
+
+// Page.
+InspectorBackend.registerPageDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Page&quot;);
+InspectorBackend.registerEnum(&quot;Page.ResourceType&quot;, {Document: &quot;Document&quot;, Stylesheet: &quot;Stylesheet&quot;, Image: &quot;Image&quot;, Font: &quot;Font&quot;, Script: &quot;Script&quot;, XHR: &quot;XHR&quot;, WebSocket: &quot;WebSocket&quot;, Other: &quot;Other&quot;});
+InspectorBackend.registerEnum(&quot;Page.CoordinateSystem&quot;, {Viewport: &quot;Viewport&quot;, Page: &quot;Page&quot;});
+InspectorBackend.registerEvent(&quot;Page.domContentEventFired&quot;, [&quot;timestamp&quot;]);
+InspectorBackend.registerEvent(&quot;Page.loadEventFired&quot;, [&quot;timestamp&quot;]);
+InspectorBackend.registerEvent(&quot;Page.frameNavigated&quot;, [&quot;frame&quot;]);
+InspectorBackend.registerEvent(&quot;Page.frameDetached&quot;, [&quot;frameId&quot;]);
+InspectorBackend.registerEvent(&quot;Page.frameStartedLoading&quot;, [&quot;frameId&quot;]);
+InspectorBackend.registerEvent(&quot;Page.frameStoppedLoading&quot;, [&quot;frameId&quot;]);
+InspectorBackend.registerEvent(&quot;Page.frameScheduledNavigation&quot;, [&quot;frameId&quot;, &quot;delay&quot;]);
+InspectorBackend.registerEvent(&quot;Page.frameClearedScheduledNavigation&quot;, [&quot;frameId&quot;]);
+InspectorBackend.registerEvent(&quot;Page.javascriptDialogOpening&quot;, [&quot;message&quot;]);
+InspectorBackend.registerEvent(&quot;Page.javascriptDialogClosed&quot;, []);
+InspectorBackend.registerEvent(&quot;Page.scriptsEnabled&quot;, [&quot;isEnabled&quot;]);
+InspectorBackend.registerCommand(&quot;Page.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Page.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Page.addScriptToEvaluateOnLoad&quot;, [{&quot;name&quot;: &quot;scriptSource&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;identifier&quot;]);
+InspectorBackend.registerCommand(&quot;Page.removeScriptToEvaluateOnLoad&quot;, [{&quot;name&quot;: &quot;identifier&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.reload&quot;, [{&quot;name&quot;: &quot;ignoreCache&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;scriptToEvaluateOnLoad&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;scriptPreprocessor&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;Page.navigate&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.getCookies&quot;, [], [&quot;cookies&quot;]);
+InspectorBackend.registerCommand(&quot;Page.deleteCookie&quot;, [{&quot;name&quot;: &quot;cookieName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.getResourceTree&quot;, [], [&quot;frameTree&quot;]);
+InspectorBackend.registerCommand(&quot;Page.getResourceContent&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;content&quot;, &quot;base64Encoded&quot;]);
+InspectorBackend.registerCommand(&quot;Page.searchInResource&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;query&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;caseSensitive&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;isRegex&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Page.searchInResources&quot;, [{&quot;name&quot;: &quot;text&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;caseSensitive&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;isRegex&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Page.setDocumentContent&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;html&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.canOverrideDeviceMetrics&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Page.setDeviceMetricsOverride&quot;, [{&quot;name&quot;: &quot;width&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;height&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;fontScaleFactor&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;fitWindow&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.setShowPaintRects&quot;, [{&quot;name&quot;: &quot;result&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.canShowDebugBorders&quot;, [], [&quot;show&quot;]);
+InspectorBackend.registerCommand(&quot;Page.setShowDebugBorders&quot;, [{&quot;name&quot;: &quot;show&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.canShowFPSCounter&quot;, [], [&quot;show&quot;]);
+InspectorBackend.registerCommand(&quot;Page.setShowFPSCounter&quot;, [{&quot;name&quot;: &quot;show&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.canContinuouslyPaint&quot;, [], [&quot;value&quot;]);
+InspectorBackend.registerCommand(&quot;Page.setContinuousPaintingEnabled&quot;, [{&quot;name&quot;: &quot;enabled&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.getScriptExecutionStatus&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Page.setScriptExecutionDisabled&quot;, [{&quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.setGeolocationOverride&quot;, [{&quot;name&quot;: &quot;latitude&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;longitude&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;accuracy&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;Page.clearGeolocationOverride&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Page.canOverrideGeolocation&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Page.setDeviceOrientationOverride&quot;, [{&quot;name&quot;: &quot;alpha&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;beta&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;gamma&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.clearDeviceOrientationOverride&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Page.canOverrideDeviceOrientation&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Page.setTouchEmulationEnabled&quot;, [{&quot;name&quot;: &quot;enabled&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.setEmulatedMedia&quot;, [{&quot;name&quot;: &quot;media&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.getCompositingBordersVisible&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Page.setCompositingBordersVisible&quot;, [{&quot;name&quot;: &quot;visible&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.snapshotNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;dataURL&quot;]);
+InspectorBackend.registerCommand(&quot;Page.snapshotRect&quot;, [{&quot;name&quot;: &quot;x&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;y&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;width&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;height&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;coordinateSystem&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;dataURL&quot;]);
+InspectorBackend.registerCommand(&quot;Page.handleJavaScriptDialog&quot;, [{&quot;name&quot;: &quot;accept&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;promptText&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;Page.archive&quot;, [], [&quot;data&quot;]);
+
+// Profiler.
+InspectorBackend.registerProfilerDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Profiler&quot;);
+InspectorBackend.registerEnum(&quot;Profiler.ProfileHeaderTypeId&quot;, {CPU: &quot;CPU&quot;, CSS: &quot;CSS&quot;, HEAP: &quot;HEAP&quot;});
+InspectorBackend.registerEvent(&quot;Profiler.addProfileHeader&quot;, [&quot;header&quot;]);
+InspectorBackend.registerEvent(&quot;Profiler.addHeapSnapshotChunk&quot;, [&quot;uid&quot;, &quot;chunk&quot;]);
+InspectorBackend.registerEvent(&quot;Profiler.finishHeapSnapshot&quot;, [&quot;uid&quot;]);
+InspectorBackend.registerEvent(&quot;Profiler.setRecordingProfile&quot;, [&quot;isProfiling&quot;]);
+InspectorBackend.registerEvent(&quot;Profiler.resetProfiles&quot;, []);
+InspectorBackend.registerEvent(&quot;Profiler.reportHeapSnapshotProgress&quot;, [&quot;done&quot;, &quot;total&quot;]);
+InspectorBackend.registerCommand(&quot;Profiler.causesRecompilation&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Profiler.isSampling&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Profiler.hasHeapProfiler&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Profiler.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Profiler.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Profiler.start&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Profiler.stop&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Profiler.getProfileHeaders&quot;, [], [&quot;headers&quot;]);
+InspectorBackend.registerCommand(&quot;Profiler.getCPUProfile&quot;, [{&quot;name&quot;: &quot;uid&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;profile&quot;]);
+InspectorBackend.registerCommand(&quot;Profiler.getHeapSnapshot&quot;, [{&quot;name&quot;: &quot;uid&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Profiler.removeProfile&quot;, [{&quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;uid&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Profiler.clearProfiles&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Profiler.takeHeapSnapshot&quot;, [{&quot;name&quot;: &quot;reportProgress&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;Profiler.collectGarbage&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Profiler.getObjectByHeapObjectId&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Profiler.getHeapObjectId&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;heapSnapshotObjectId&quot;]);
+
+// Timeline.
+InspectorBackend.registerTimelineDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Timeline&quot;);
+InspectorBackend.registerEnum(&quot;Timeline.EventType&quot;, {EventDispatch: &quot;EventDispatch&quot;, BeginFrame: &quot;BeginFrame&quot;, ScheduleStyleRecalculation: &quot;ScheduleStyleRecalculation&quot;, RecalculateStyles: &quot;RecalculateStyles&quot;, InvalidateLayout: &quot;InvalidateLayout&quot;, Layout: &quot;Layout&quot;, Paint: &quot;Paint&quot;, ScrollLayer: &quot;ScrollLayer&quot;, ResizeImage: &quot;ResizeImage&quot;, CompositeLayers: &quot;CompositeLayers&quot;, ParseHTML: &quot;ParseHTML&quot;, TimerInstall: &quot;TimerInstall&quot;, TimerRemove: &quot;TimerRemove&quot;, TimerFire: &quot;TimerFire&quot;, EvaluateScript: &quot;EvaluateScript&quot;, MarkLoad: &quot;MarkLoad&quot;, MarkDOMContent: &quot;MarkDOMContent&quot;, TimeStamp: &quot;TimeStamp&quot;, Time: &quot;Time&quot;, TimeEnd: &quot;TimeEnd&quot;, ScheduleResourceRequest: &quot;ScheduleResourceRequest&quot;, ResourceSendRequest: &quot;ResourceSendRequest&quot;, ResourceReceiveResponse: &quot;ResourceReceiveResponse&quot;, ResourceReceivedData: &quot;ResourceReceivedData&quot;, ResourceFinish: &quot;ResourceFinish&quot;, XHRReadyStateChange: &quot;XHRReadyStateChange&quot;, XHRLoad: &quot;XHRLoad&quot;, FunctionCall: &quot;FunctionCall&quot;, GCEvent: &quot;GCEvent&quot;, RequestAnimationFrame: &quot;RequestAnimationFrame&quot;, CancelAnimationFrame: &quot;CancelAnimationFrame&quot;, FireAnimationFrame: &quot;FireAnimationFrame&quot;, WebSocketCreate: &quot;WebSocketCreate&quot;, WebSocketSendHandshakeRequest: &quot;WebSocketSendHandshakeRequest&quot;, WebSocketReceiveHandshakeResponse: &quot;WebSocketReceiveHandshakeResponse&quot;, WebSocketDestroy: &quot;WebSocketDestroy&quot;});
+InspectorBackend.registerEvent(&quot;Timeline.eventRecorded&quot;, [&quot;record&quot;]);
+InspectorBackend.registerCommand(&quot;Timeline.start&quot;, [{&quot;name&quot;: &quot;maxCallStackDepth&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;includeDomCounters&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;Timeline.stop&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Timeline.supportsFrameInstrumentation&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Timeline.canMonitorMainThread&quot;, [], [&quot;result&quot;]);
+
+// Worker.
+InspectorBackend.registerWorkerDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Worker&quot;);
+InspectorBackend.registerEvent(&quot;Worker.workerCreated&quot;, [&quot;workerId&quot;, &quot;url&quot;, &quot;inspectorConnected&quot;]);
+InspectorBackend.registerEvent(&quot;Worker.workerTerminated&quot;, [&quot;workerId&quot;]);
+InspectorBackend.registerEvent(&quot;Worker.dispatchMessageFromWorker&quot;, [&quot;workerId&quot;, &quot;message&quot;]);
+InspectorBackend.registerEvent(&quot;Worker.disconnectedFromWorker&quot;, []);
+InspectorBackend.registerCommand(&quot;Worker.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Worker.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Worker.sendMessageToWorker&quot;, [{&quot;name&quot;: &quot;workerId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;message&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Worker.canInspectWorkers&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Worker.connectToWorker&quot;, [{&quot;name&quot;: &quot;workerId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Worker.disconnectFromWorker&quot;, [{&quot;name&quot;: &quot;workerId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Worker.setAutoconnectToWorkers&quot;, [{&quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
</ins></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceLegacy60InspectorBackendCommandsjs"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebInspectorUI/UserInterface/Legacy/6.0/InspectorBackendCommands.js (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Legacy/6.0/InspectorBackendCommands.js        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebInspectorUI/UserInterface/Legacy/6.0/InspectorBackendCommands.js        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -1,300 +0,0 @@
</span><del>-// File is generated by Source/WebCore/inspector/CodeGeneratorInspector.py
-
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-
-// Inspector.
-InspectorBackend.registerInspectorDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Inspector&quot;);
-InspectorBackend.registerEvent(&quot;Inspector.evaluateForTestInFrontend&quot;, [&quot;testCallId&quot;, &quot;script&quot;]);
-InspectorBackend.registerEvent(&quot;Inspector.inspect&quot;, [&quot;object&quot;, &quot;hints&quot;]);
-InspectorBackend.registerEvent(&quot;Inspector.didCreateWorker&quot;, [&quot;id&quot;, &quot;url&quot;, &quot;isShared&quot;]);
-InspectorBackend.registerEvent(&quot;Inspector.didDestroyWorker&quot;, [&quot;id&quot;]);
-InspectorBackend.registerCommand(&quot;Inspector.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Inspector.disable&quot;, [], []);
-
-// Memory.
-InspectorBackend.registerMemoryDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Memory&quot;);
-InspectorBackend.registerCommand(&quot;Memory.getDOMNodeCount&quot;, [], [&quot;domGroups&quot;, &quot;strings&quot;]);
-
-// Page.
-InspectorBackend.registerPageDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Page&quot;);
-InspectorBackend.registerEnum(&quot;Page.ResourceType&quot;, {Document: &quot;Document&quot;, Stylesheet: &quot;Stylesheet&quot;, Image: &quot;Image&quot;, Font: &quot;Font&quot;, Script: &quot;Script&quot;, XHR: &quot;XHR&quot;, WebSocket: &quot;WebSocket&quot;, Other: &quot;Other&quot;});
-InspectorBackend.registerEvent(&quot;Page.domContentEventFired&quot;, [&quot;timestamp&quot;]);
-InspectorBackend.registerEvent(&quot;Page.loadEventFired&quot;, [&quot;timestamp&quot;]);
-InspectorBackend.registerEvent(&quot;Page.frameNavigated&quot;, [&quot;frame&quot;]);
-InspectorBackend.registerEvent(&quot;Page.frameDetached&quot;, [&quot;frameId&quot;]);
-InspectorBackend.registerCommand(&quot;Page.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Page.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Page.addScriptToEvaluateOnLoad&quot;, [{&quot;name&quot;: &quot;scriptSource&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;identifier&quot;]);
-InspectorBackend.registerCommand(&quot;Page.removeScriptToEvaluateOnLoad&quot;, [{&quot;name&quot;: &quot;identifier&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.reload&quot;, [{&quot;name&quot;: &quot;ignoreCache&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;scriptToEvaluateOnLoad&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;Page.navigate&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.getCookies&quot;, [], [&quot;cookies&quot;, &quot;cookiesString&quot;]);
-InspectorBackend.registerCommand(&quot;Page.deleteCookie&quot;, [{&quot;name&quot;: &quot;cookieName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;domain&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.getResourceTree&quot;, [], [&quot;frameTree&quot;]);
-InspectorBackend.registerCommand(&quot;Page.getResourceContent&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;content&quot;, &quot;base64Encoded&quot;]);
-InspectorBackend.registerCommand(&quot;Page.searchInResource&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;query&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;caseSensitive&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;isRegex&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Page.searchInResources&quot;, [{&quot;name&quot;: &quot;text&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;caseSensitive&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;isRegex&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Page.setDocumentContent&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;html&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.canOverrideDeviceMetrics&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Page.setDeviceMetricsOverride&quot;, [{&quot;name&quot;: &quot;width&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;height&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;fontScaleFactor&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;fitWindow&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.setShowPaintRects&quot;, [{&quot;name&quot;: &quot;result&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.getScriptExecutionStatus&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Page.setScriptExecutionDisabled&quot;, [{&quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
-
-// Runtime.
-InspectorBackend.registerRuntimeDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Runtime&quot;);
-InspectorBackend.registerEnum(&quot;Runtime.RemoteObjectType&quot;, {Object: &quot;object&quot;, Function: &quot;function&quot;, Undefined: &quot;undefined&quot;, String: &quot;string&quot;, Number: &quot;number&quot;, Boolean: &quot;boolean&quot;});
-InspectorBackend.registerEnum(&quot;Runtime.RemoteObjectSubtype&quot;, {Array: &quot;array&quot;, Null: &quot;null&quot;, Node: &quot;node&quot;, Regexp: &quot;regexp&quot;, Date: &quot;date&quot;});
-InspectorBackend.registerCommand(&quot;Runtime.evaluate&quot;, [{&quot;name&quot;: &quot;expression&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;includeCommandLineAPI&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;doNotPauseOnExceptionsAndMuteConsole&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;returnByValue&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;, &quot;wasThrown&quot;]);
-InspectorBackend.registerCommand(&quot;Runtime.callFunctionOn&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;functionDeclaration&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;arguments&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;doNotPauseOnExceptionsAndMuteConsole&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;returnByValue&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;, &quot;wasThrown&quot;]);
-InspectorBackend.registerCommand(&quot;Runtime.getProperties&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;ownProperties&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Runtime.releaseObject&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Runtime.releaseObjectGroup&quot;, [{&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Runtime.run&quot;, [], []);
-
-// Console.
-InspectorBackend.registerConsoleDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Console&quot;);
-InspectorBackend.registerEnum(&quot;Console.ConsoleMessageSource&quot;, {HTML: &quot;html&quot;, WML: &quot;wml&quot;, XML: &quot;xml&quot;, Javascript: &quot;javascript&quot;, Network: &quot;network&quot;, ConsoleAPI: &quot;console-api&quot;, Other: &quot;other&quot;});
-InspectorBackend.registerEnum(&quot;Console.ConsoleMessageLevel&quot;, {Tip: &quot;tip&quot;, Log: &quot;log&quot;, Warning: &quot;warning&quot;, Error: &quot;error&quot;, Debug: &quot;debug&quot;});
-InspectorBackend.registerEnum(&quot;Console.ConsoleMessageType&quot;, {Log: &quot;log&quot;, Dir: &quot;dir&quot;, DirXML: &quot;dirxml&quot;, Trace: &quot;trace&quot;, StartGroup: &quot;startGroup&quot;, StartGroupCollapsed: &quot;startGroupCollapsed&quot;, EndGroup: &quot;endGroup&quot;, Assert: &quot;assert&quot;});
-InspectorBackend.registerEvent(&quot;Console.messageAdded&quot;, [&quot;message&quot;]);
-InspectorBackend.registerEvent(&quot;Console.messageRepeatCountUpdated&quot;, [&quot;count&quot;]);
-InspectorBackend.registerEvent(&quot;Console.messagesCleared&quot;, []);
-InspectorBackend.registerCommand(&quot;Console.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Console.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Console.clearMessages&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Console.setMonitoringXHREnabled&quot;, [{&quot;name&quot;: &quot;enabled&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Console.addInspectedNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Console.addInspectedHeapObject&quot;, [{&quot;name&quot;: &quot;heapObjectId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
-
-// Network.
-InspectorBackend.registerNetworkDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Network&quot;);
-InspectorBackend.registerEnum(&quot;Network.InitiatorType&quot;, {Parser: &quot;parser&quot;, Script: &quot;script&quot;, Other: &quot;other&quot;});
-InspectorBackend.registerEvent(&quot;Network.requestWillBeSent&quot;, [&quot;requestId&quot;, &quot;frameId&quot;, &quot;loaderId&quot;, &quot;documentURL&quot;, &quot;request&quot;, &quot;timestamp&quot;, &quot;initiator&quot;, &quot;redirectResponse&quot;]);
-InspectorBackend.registerEvent(&quot;Network.requestServedFromCache&quot;, [&quot;requestId&quot;]);
-InspectorBackend.registerEvent(&quot;Network.responseReceived&quot;, [&quot;requestId&quot;, &quot;frameId&quot;, &quot;loaderId&quot;, &quot;timestamp&quot;, &quot;type&quot;, &quot;response&quot;]);
-InspectorBackend.registerEvent(&quot;Network.dataReceived&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;dataLength&quot;, &quot;encodedDataLength&quot;]);
-InspectorBackend.registerEvent(&quot;Network.loadingFinished&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;]);
-InspectorBackend.registerEvent(&quot;Network.loadingFailed&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;errorText&quot;, &quot;canceled&quot;]);
-InspectorBackend.registerEvent(&quot;Network.requestServedFromMemoryCache&quot;, [&quot;requestId&quot;, &quot;frameId&quot;, &quot;loaderId&quot;, &quot;documentURL&quot;, &quot;timestamp&quot;, &quot;initiator&quot;, &quot;resource&quot;]);
-InspectorBackend.registerEvent(&quot;Network.webSocketWillSendHandshakeRequest&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;request&quot;]);
-InspectorBackend.registerEvent(&quot;Network.webSocketHandshakeResponseReceived&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;response&quot;]);
-InspectorBackend.registerEvent(&quot;Network.webSocketCreated&quot;, [&quot;requestId&quot;, &quot;url&quot;]);
-InspectorBackend.registerEvent(&quot;Network.webSocketClosed&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;]);
-InspectorBackend.registerEvent(&quot;Network.webSocketFrameReceived&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;response&quot;]);
-InspectorBackend.registerEvent(&quot;Network.webSocketFrameError&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;errorMessage&quot;]);
-InspectorBackend.registerEvent(&quot;Network.webSocketFrameSent&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;response&quot;]);
-InspectorBackend.registerCommand(&quot;Network.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Network.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Network.setUserAgentOverride&quot;, [{&quot;name&quot;: &quot;userAgent&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Network.setExtraHTTPHeaders&quot;, [{&quot;name&quot;: &quot;headers&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Network.getResponseBody&quot;, [{&quot;name&quot;: &quot;requestId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;body&quot;, &quot;base64Encoded&quot;]);
-InspectorBackend.registerCommand(&quot;Network.canClearBrowserCache&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Network.clearBrowserCache&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Network.canClearBrowserCookies&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Network.clearBrowserCookies&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Network.setCacheDisabled&quot;, [{&quot;name&quot;: &quot;cacheDisabled&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
-
-// Database.
-InspectorBackend.registerDatabaseDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Database&quot;);
-InspectorBackend.registerEvent(&quot;Database.addDatabase&quot;, [&quot;database&quot;]);
-InspectorBackend.registerEvent(&quot;Database.sqlTransactionSucceeded&quot;, [&quot;transactionId&quot;, &quot;columnNames&quot;, &quot;values&quot;]);
-InspectorBackend.registerEvent(&quot;Database.sqlTransactionFailed&quot;, [&quot;transactionId&quot;, &quot;sqlError&quot;]);
-InspectorBackend.registerCommand(&quot;Database.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Database.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Database.getDatabaseTableNames&quot;, [{&quot;name&quot;: &quot;databaseId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;tableNames&quot;]);
-InspectorBackend.registerCommand(&quot;Database.executeSQL&quot;, [{&quot;name&quot;: &quot;databaseId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;query&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;success&quot;, &quot;transactionId&quot;]);
-
-// IndexedDB.
-InspectorBackend.registerIndexedDBDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;IndexedDB&quot;);
-InspectorBackend.registerEnum(&quot;IndexedDB.KeyType&quot;, {Number: &quot;number&quot;, String: &quot;string&quot;, Date: &quot;date&quot;, Array: &quot;array&quot;});
-InspectorBackend.registerEvent(&quot;IndexedDB.databaseNamesLoaded&quot;, [&quot;requestId&quot;, &quot;securityOriginWithDatabaseNames&quot;]);
-InspectorBackend.registerEvent(&quot;IndexedDB.databaseLoaded&quot;, [&quot;requestId&quot;, &quot;databaseWithObjectStores&quot;]);
-InspectorBackend.registerEvent(&quot;IndexedDB.objectStoreDataLoaded&quot;, [&quot;requestId&quot;, &quot;objectStoreDataEntries&quot;, &quot;hasMore&quot;]);
-InspectorBackend.registerEvent(&quot;IndexedDB.indexDataLoaded&quot;, [&quot;requestId&quot;, &quot;indexDataEntries&quot;, &quot;hasMore&quot;]);
-InspectorBackend.registerCommand(&quot;IndexedDB.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;IndexedDB.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;IndexedDB.requestDatabaseNamesForFrame&quot;, [{&quot;name&quot;: &quot;requestId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;IndexedDB.requestDatabase&quot;, [{&quot;name&quot;: &quot;requestId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;databaseName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;IndexedDB.requestData&quot;, [{&quot;name&quot;: &quot;requestId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;databaseName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectStoreName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;indexName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;skipCount&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;pageSize&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;keyRange&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}], []);
-
-// DOMStorage.
-InspectorBackend.registerDOMStorageDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;DOMStorage&quot;);
-InspectorBackend.registerEvent(&quot;DOMStorage.addDOMStorage&quot;, [&quot;storage&quot;]);
-InspectorBackend.registerEvent(&quot;DOMStorage.updateDOMStorage&quot;, [&quot;storageId&quot;]);
-InspectorBackend.registerCommand(&quot;DOMStorage.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;DOMStorage.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;DOMStorage.getDOMStorageEntries&quot;, [{&quot;name&quot;: &quot;storageId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;entries&quot;]);
-InspectorBackend.registerCommand(&quot;DOMStorage.setDOMStorageItem&quot;, [{&quot;name&quot;: &quot;storageId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;key&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;success&quot;]);
-InspectorBackend.registerCommand(&quot;DOMStorage.removeDOMStorageItem&quot;, [{&quot;name&quot;: &quot;storageId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;key&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;success&quot;]);
-
-// ApplicationCache.
-InspectorBackend.registerApplicationCacheDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;ApplicationCache&quot;);
-InspectorBackend.registerEvent(&quot;ApplicationCache.applicationCacheStatusUpdated&quot;, [&quot;frameId&quot;, &quot;manifestURL&quot;, &quot;status&quot;]);
-InspectorBackend.registerEvent(&quot;ApplicationCache.networkStateUpdated&quot;, [&quot;isNowOnline&quot;]);
-InspectorBackend.registerCommand(&quot;ApplicationCache.getFramesWithManifests&quot;, [], [&quot;frameIds&quot;]);
-InspectorBackend.registerCommand(&quot;ApplicationCache.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;ApplicationCache.getManifestForFrame&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;manifestURL&quot;]);
-InspectorBackend.registerCommand(&quot;ApplicationCache.getApplicationCacheForFrame&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;applicationCache&quot;]);
-
-// FileSystem.
-InspectorBackend.registerFileSystemDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;FileSystem&quot;);
-InspectorBackend.registerCommand(&quot;FileSystem.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;FileSystem.disable&quot;, [], []);
-
-// DOM.
-InspectorBackend.registerDOMDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;DOM&quot;);
-InspectorBackend.registerEvent(&quot;DOM.documentUpdated&quot;, []);
-InspectorBackend.registerEvent(&quot;DOM.setChildNodes&quot;, [&quot;parentId&quot;, &quot;nodes&quot;]);
-InspectorBackend.registerEvent(&quot;DOM.attributeModified&quot;, [&quot;nodeId&quot;, &quot;name&quot;, &quot;value&quot;]);
-InspectorBackend.registerEvent(&quot;DOM.attributeRemoved&quot;, [&quot;nodeId&quot;, &quot;name&quot;]);
-InspectorBackend.registerEvent(&quot;DOM.inlineStyleInvalidated&quot;, [&quot;nodeIds&quot;]);
-InspectorBackend.registerEvent(&quot;DOM.characterDataModified&quot;, [&quot;nodeId&quot;, &quot;characterData&quot;]);
-InspectorBackend.registerEvent(&quot;DOM.childNodeCountUpdated&quot;, [&quot;nodeId&quot;, &quot;childNodeCount&quot;]);
-InspectorBackend.registerEvent(&quot;DOM.childNodeInserted&quot;, [&quot;parentNodeId&quot;, &quot;previousNodeId&quot;, &quot;node&quot;]);
-InspectorBackend.registerEvent(&quot;DOM.childNodeRemoved&quot;, [&quot;parentNodeId&quot;, &quot;nodeId&quot;]);
-InspectorBackend.registerEvent(&quot;DOM.shadowRootPushed&quot;, [&quot;hostId&quot;, &quot;root&quot;]);
-InspectorBackend.registerEvent(&quot;DOM.shadowRootPopped&quot;, [&quot;hostId&quot;, &quot;rootId&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.getDocument&quot;, [], [&quot;root&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.requestChildNodes&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOM.querySelector&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;selector&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;nodeId&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.querySelectorAll&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;selector&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;nodeIds&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.setNodeName&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;nodeId&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.setNodeValue&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOM.removeNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOM.setAttributeValue&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOM.setAttributesAsText&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;text&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;DOM.removeAttribute&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOM.getEventListenersForNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;listeners&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.getOuterHTML&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;outerHTML&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.setOuterHTML&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;outerHTML&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOM.performSearch&quot;, [{&quot;name&quot;: &quot;query&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;searchId&quot;, &quot;resultCount&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.getSearchResults&quot;, [{&quot;name&quot;: &quot;searchId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;fromIndex&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;toIndex&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;nodeIds&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.discardSearchResults&quot;, [{&quot;name&quot;: &quot;searchId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOM.requestNode&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;nodeId&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.setInspectModeEnabled&quot;, [{&quot;name&quot;: &quot;enabled&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;highlightConfig&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;DOM.highlightRect&quot;, [{&quot;name&quot;: &quot;x&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;y&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;width&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;height&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;color&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;outlineColor&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;DOM.highlightNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;highlightConfig&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOM.hideHighlight&quot;, [], []);
-InspectorBackend.registerCommand(&quot;DOM.highlightFrame&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;contentColor&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;contentOutlineColor&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;DOM.pushNodeByPathToFrontend&quot;, [{&quot;name&quot;: &quot;path&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;nodeId&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.resolveNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;object&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.getAttributes&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;attributes&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.moveTo&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;targetNodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;insertBeforeNodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}], [&quot;nodeId&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.setTouchEmulationEnabled&quot;, [{&quot;name&quot;: &quot;enabled&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOM.undo&quot;, [], []);
-InspectorBackend.registerCommand(&quot;DOM.redo&quot;, [], []);
-InspectorBackend.registerCommand(&quot;DOM.markUndoableState&quot;, [], []);
-
-// CSS.
-InspectorBackend.registerCSSDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;CSS&quot;);
-InspectorBackend.registerEnum(&quot;CSS.CSSRuleOrigin&quot;, {User: &quot;user&quot;, UserAgent: &quot;user-agent&quot;, Inspector: &quot;inspector&quot;, Regular: &quot;regular&quot;});
-InspectorBackend.registerEnum(&quot;CSS.CSSPropertyStatus&quot;, {Active: &quot;active&quot;, Inactive: &quot;inactive&quot;, Disabled: &quot;disabled&quot;, Style: &quot;style&quot;});
-InspectorBackend.registerEnum(&quot;CSS.CSSMediaSource&quot;, {MediaRule: &quot;mediaRule&quot;, ImportRule: &quot;importRule&quot;, LinkedSheet: &quot;linkedSheet&quot;, InlineSheet: &quot;inlineSheet&quot;});
-InspectorBackend.registerEvent(&quot;CSS.mediaQueryResultChanged&quot;, []);
-InspectorBackend.registerEvent(&quot;CSS.styleSheetChanged&quot;, [&quot;styleSheetId&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;CSS.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;CSS.getMatchedStylesForNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;forcedPseudoClasses&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;includePseudo&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;includeInherited&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;matchedCSSRules&quot;, &quot;pseudoElements&quot;, &quot;inherited&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.getInlineStylesForNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;inlineStyle&quot;, &quot;attributesStyle&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.getComputedStyleForNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;forcedPseudoClasses&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}], [&quot;computedStyle&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.getAllStyleSheets&quot;, [], [&quot;headers&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.getStyleSheet&quot;, [{&quot;name&quot;: &quot;styleSheetId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;styleSheet&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.getStyleSheetText&quot;, [{&quot;name&quot;: &quot;styleSheetId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;text&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.setStyleSheetText&quot;, [{&quot;name&quot;: &quot;styleSheetId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;text&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;CSS.setPropertyText&quot;, [{&quot;name&quot;: &quot;styleId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;propertyIndex&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;text&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;overwrite&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], [&quot;style&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.toggleProperty&quot;, [{&quot;name&quot;: &quot;styleId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;propertyIndex&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;disable&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], [&quot;style&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.setRuleSelector&quot;, [{&quot;name&quot;: &quot;ruleId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;selector&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;rule&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.addRule&quot;, [{&quot;name&quot;: &quot;contextNodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;selector&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;rule&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.getSupportedCSSProperties&quot;, [], [&quot;cssProperties&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.startSelectorProfiler&quot;, [], []);
-InspectorBackend.registerCommand(&quot;CSS.stopSelectorProfiler&quot;, [], [&quot;profile&quot;]);
-
-// Timeline.
-InspectorBackend.registerTimelineDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Timeline&quot;);
-InspectorBackend.registerEnum(&quot;Timeline.EventType&quot;, {EventDispatch: &quot;EventDispatch&quot;, Layout: &quot;Layout&quot;, RecalculateStyles: &quot;RecalculateStyles&quot;, Paint: &quot;Paint&quot;, BeginFrame: &quot;BeginFrame&quot;, ParseHTML: &quot;ParseHTML&quot;, TimerInstall: &quot;TimerInstall&quot;, TimerRemove: &quot;TimerRemove&quot;, TimerFire: &quot;TimerFire&quot;, EvaluateScript: &quot;EvaluateScript&quot;, MarkLoad: &quot;MarkLoad&quot;, MarkDOMContent: &quot;MarkDOMContent&quot;, TimeStamp: &quot;TimeStamp&quot;, ScheduleResourceRequest: &quot;ScheduleResourceRequest&quot;, ResourceSendRequest: &quot;ResourceSendRequest&quot;, ResourceReceiveResponse: &quot;ResourceReceiveResponse&quot;, ResourceReceivedData: &quot;ResourceReceivedData&quot;, ResourceFinish: &quot;ResourceFinish&quot;, XHRReadyStateChange: &quot;XHRReadyStateChange&quot;, XHRLoad: &quot;XHRLoad&quot;, FunctionCall: &quot;FunctionCall&quot;, GCEvent: &quot;GCEvent&quot;, RequestAnimationFrame: &quot;RequestAnimationFrame&quot;, CancelAnimationFrame: &quot;CancelAnimationFrame&quot;, FireAnimationFrame: &quot;FireAnimationFrame&quot;});
-InspectorBackend.registerEvent(&quot;Timeline.eventRecorded&quot;, [&quot;record&quot;]);
-InspectorBackend.registerCommand(&quot;Timeline.start&quot;, [{&quot;name&quot;: &quot;maxCallStackDepth&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;Timeline.stop&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Timeline.setIncludeMemoryDetails&quot;, [{&quot;name&quot;: &quot;enabled&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
-
-// Debugger.
-InspectorBackend.registerDebuggerDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Debugger&quot;);
-InspectorBackend.registerEnum(&quot;Debugger.ScopeType&quot;, {Global: &quot;global&quot;, Local: &quot;local&quot;, With: &quot;with&quot;, Closure: &quot;closure&quot;, Catch: &quot;catch&quot;});
-InspectorBackend.registerEvent(&quot;Debugger.globalObjectCleared&quot;, []);
-InspectorBackend.registerEvent(&quot;Debugger.scriptParsed&quot;, [&quot;scriptId&quot;, &quot;url&quot;, &quot;startLine&quot;, &quot;startColumn&quot;, &quot;endLine&quot;, &quot;endColumn&quot;, &quot;isContentScript&quot;, &quot;sourceMapURL&quot;]);
-InspectorBackend.registerEvent(&quot;Debugger.scriptFailedToParse&quot;, [&quot;url&quot;, &quot;scriptSource&quot;, &quot;startLine&quot;, &quot;errorLine&quot;, &quot;errorMessage&quot;]);
-InspectorBackend.registerEvent(&quot;Debugger.breakpointResolved&quot;, [&quot;breakpointId&quot;, &quot;location&quot;]);
-InspectorBackend.registerEvent(&quot;Debugger.paused&quot;, [&quot;callFrames&quot;, &quot;reason&quot;, &quot;data&quot;]);
-InspectorBackend.registerEvent(&quot;Debugger.resumed&quot;, []);
-InspectorBackend.registerCommand(&quot;Debugger.causesRecompilation&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.supportsNativeBreakpoints&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Debugger.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Debugger.setBreakpointsActive&quot;, [{&quot;name&quot;: &quot;active&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Debugger.setBreakpointByUrl&quot;, [{&quot;name&quot;: &quot;lineNumber&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;urlRegex&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;columnNumber&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;condition&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;breakpointId&quot;, &quot;locations&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.setBreakpoint&quot;, [{&quot;name&quot;: &quot;location&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;condition&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;breakpointId&quot;, &quot;actualLocation&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.removeBreakpoint&quot;, [{&quot;name&quot;: &quot;breakpointId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Debugger.continueToLocation&quot;, [{&quot;name&quot;: &quot;location&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Debugger.stepOver&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Debugger.stepInto&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Debugger.stepOut&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Debugger.pause&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Debugger.resume&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Debugger.searchInContent&quot;, [{&quot;name&quot;: &quot;scriptId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;query&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;caseSensitive&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;isRegex&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.canSetScriptSource&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.setScriptSource&quot;, [{&quot;name&quot;: &quot;scriptId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;scriptSource&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;preview&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;callFrames&quot;, &quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.getScriptSource&quot;, [{&quot;name&quot;: &quot;scriptId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;scriptSource&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.getFunctionDetails&quot;, [{&quot;name&quot;: &quot;functionId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;details&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.setPauseOnExceptions&quot;, [{&quot;name&quot;: &quot;state&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Debugger.evaluateOnCallFrame&quot;, [{&quot;name&quot;: &quot;callFrameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;expression&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;includeCommandLineAPI&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;doNotPauseOnExceptionsAndMuteConsole&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;returnByValue&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;, &quot;wasThrown&quot;]);
-
-// DOMDebugger.
-InspectorBackend.registerEnum(&quot;DOMDebugger.DOMBreakpointType&quot;, {SubtreeModified: &quot;subtree-modified&quot;, AttributeModified: &quot;attribute-modified&quot;, NodeRemoved: &quot;node-removed&quot;});
-InspectorBackend.registerCommand(&quot;DOMDebugger.setDOMBreakpoint&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOMDebugger.removeDOMBreakpoint&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOMDebugger.setEventListenerBreakpoint&quot;, [{&quot;name&quot;: &quot;eventName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOMDebugger.removeEventListenerBreakpoint&quot;, [{&quot;name&quot;: &quot;eventName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOMDebugger.setInstrumentationBreakpoint&quot;, [{&quot;name&quot;: &quot;eventName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOMDebugger.removeInstrumentationBreakpoint&quot;, [{&quot;name&quot;: &quot;eventName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOMDebugger.setXHRBreakpoint&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOMDebugger.removeXHRBreakpoint&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-
-// Profiler.
-InspectorBackend.registerProfilerDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Profiler&quot;);
-InspectorBackend.registerEnum(&quot;Profiler.ProfileHeaderTypeId&quot;, {CPU: &quot;CPU&quot;, CSS: &quot;CSS&quot;, HEAP: &quot;HEAP&quot;});
-InspectorBackend.registerEvent(&quot;Profiler.addProfileHeader&quot;, [&quot;header&quot;]);
-InspectorBackend.registerEvent(&quot;Profiler.addHeapSnapshotChunk&quot;, [&quot;uid&quot;, &quot;chunk&quot;]);
-InspectorBackend.registerEvent(&quot;Profiler.finishHeapSnapshot&quot;, [&quot;uid&quot;]);
-InspectorBackend.registerEvent(&quot;Profiler.setRecordingProfile&quot;, [&quot;isProfiling&quot;]);
-InspectorBackend.registerEvent(&quot;Profiler.resetProfiles&quot;, []);
-InspectorBackend.registerEvent(&quot;Profiler.reportHeapSnapshotProgress&quot;, [&quot;done&quot;, &quot;total&quot;]);
-InspectorBackend.registerCommand(&quot;Profiler.causesRecompilation&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Profiler.isSampling&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Profiler.hasHeapProfiler&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Profiler.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Profiler.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Profiler.start&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Profiler.stop&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Profiler.getProfileHeaders&quot;, [], [&quot;headers&quot;]);
-InspectorBackend.registerCommand(&quot;Profiler.getProfile&quot;, [{&quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;uid&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;profile&quot;]);
-InspectorBackend.registerCommand(&quot;Profiler.removeProfile&quot;, [{&quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;uid&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Profiler.clearProfiles&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Profiler.takeHeapSnapshot&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Profiler.collectGarbage&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Profiler.getObjectByHeapObjectId&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;result&quot;]);
-
-// Worker.
-InspectorBackend.registerWorkerDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Worker&quot;);
-InspectorBackend.registerEvent(&quot;Worker.workerCreated&quot;, [&quot;workerId&quot;, &quot;url&quot;, &quot;inspectorConnected&quot;]);
-InspectorBackend.registerEvent(&quot;Worker.workerTerminated&quot;, [&quot;workerId&quot;]);
-InspectorBackend.registerEvent(&quot;Worker.dispatchMessageFromWorker&quot;, [&quot;workerId&quot;, &quot;message&quot;]);
-InspectorBackend.registerEvent(&quot;Worker.disconnectedFromWorker&quot;, []);
-InspectorBackend.registerCommand(&quot;Worker.setWorkerInspectionEnabled&quot;, [{&quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Worker.sendMessageToWorker&quot;, [{&quot;name&quot;: &quot;workerId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;message&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Worker.connectToWorker&quot;, [{&quot;name&quot;: &quot;workerId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Worker.disconnectFromWorker&quot;, [{&quot;name&quot;: &quot;workerId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Worker.setAutoconnectToWorkers&quot;, [{&quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
</del></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceLegacy60InspectorWebBackendCommandsjsfromrev160556trunkSourceWebInspectorUIUserInterfaceLegacy60InspectorBackendCommandsjs"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebInspectorUI/UserInterface/Legacy/6.0/InspectorWebBackendCommands.js (from rev 160556, trunk/Source/WebInspectorUI/UserInterface/Legacy/6.0/InspectorBackendCommands.js) (0 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Legacy/6.0/InspectorWebBackendCommands.js                                (rev 0)
+++ trunk/Source/WebInspectorUI/UserInterface/Legacy/6.0/InspectorWebBackendCommands.js        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -0,0 +1,301 @@
</span><ins>+// File is generated by JavaScriptCore/inspector/scripts/CodeGeneratorInspector.py
+
+// Copyright (c) 2013 Apple Inc. All Rights Reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+
+// Inspector.
+InspectorBackend.registerInspectorDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Inspector&quot;);
+InspectorBackend.registerEvent(&quot;Inspector.evaluateForTestInFrontend&quot;, [&quot;testCallId&quot;, &quot;script&quot;]);
+InspectorBackend.registerEvent(&quot;Inspector.inspect&quot;, [&quot;object&quot;, &quot;hints&quot;]);
+InspectorBackend.registerEvent(&quot;Inspector.didCreateWorker&quot;, [&quot;id&quot;, &quot;url&quot;, &quot;isShared&quot;]);
+InspectorBackend.registerEvent(&quot;Inspector.didDestroyWorker&quot;, [&quot;id&quot;]);
+InspectorBackend.registerCommand(&quot;Inspector.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Inspector.disable&quot;, [], []);
+
+// Memory.
+InspectorBackend.registerMemoryDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Memory&quot;);
+InspectorBackend.registerCommand(&quot;Memory.getDOMNodeCount&quot;, [], [&quot;domGroups&quot;, &quot;strings&quot;]);
+
+// Page.
+InspectorBackend.registerPageDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Page&quot;);
+InspectorBackend.registerEnum(&quot;Page.ResourceType&quot;, {Document: &quot;Document&quot;, Stylesheet: &quot;Stylesheet&quot;, Image: &quot;Image&quot;, Font: &quot;Font&quot;, Script: &quot;Script&quot;, XHR: &quot;XHR&quot;, WebSocket: &quot;WebSocket&quot;, Other: &quot;Other&quot;});
+InspectorBackend.registerEvent(&quot;Page.domContentEventFired&quot;, [&quot;timestamp&quot;]);
+InspectorBackend.registerEvent(&quot;Page.loadEventFired&quot;, [&quot;timestamp&quot;]);
+InspectorBackend.registerEvent(&quot;Page.frameNavigated&quot;, [&quot;frame&quot;]);
+InspectorBackend.registerEvent(&quot;Page.frameDetached&quot;, [&quot;frameId&quot;]);
+InspectorBackend.registerCommand(&quot;Page.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Page.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Page.addScriptToEvaluateOnLoad&quot;, [{&quot;name&quot;: &quot;scriptSource&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;identifier&quot;]);
+InspectorBackend.registerCommand(&quot;Page.removeScriptToEvaluateOnLoad&quot;, [{&quot;name&quot;: &quot;identifier&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.reload&quot;, [{&quot;name&quot;: &quot;ignoreCache&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;scriptToEvaluateOnLoad&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;Page.navigate&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.getCookies&quot;, [], [&quot;cookies&quot;, &quot;cookiesString&quot;]);
+InspectorBackend.registerCommand(&quot;Page.deleteCookie&quot;, [{&quot;name&quot;: &quot;cookieName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;domain&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.getResourceTree&quot;, [], [&quot;frameTree&quot;]);
+InspectorBackend.registerCommand(&quot;Page.getResourceContent&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;content&quot;, &quot;base64Encoded&quot;]);
+InspectorBackend.registerCommand(&quot;Page.searchInResource&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;query&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;caseSensitive&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;isRegex&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Page.searchInResources&quot;, [{&quot;name&quot;: &quot;text&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;caseSensitive&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;isRegex&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Page.setDocumentContent&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;html&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.canOverrideDeviceMetrics&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Page.setDeviceMetricsOverride&quot;, [{&quot;name&quot;: &quot;width&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;height&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;fontScaleFactor&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;fitWindow&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.setShowPaintRects&quot;, [{&quot;name&quot;: &quot;result&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.getScriptExecutionStatus&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Page.setScriptExecutionDisabled&quot;, [{&quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
+
+// Runtime.
+InspectorBackend.registerRuntimeDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Runtime&quot;);
+InspectorBackend.registerEnum(&quot;Runtime.RemoteObjectType&quot;, {Object: &quot;object&quot;, Function: &quot;function&quot;, Undefined: &quot;undefined&quot;, String: &quot;string&quot;, Number: &quot;number&quot;, Boolean: &quot;boolean&quot;});
+InspectorBackend.registerEnum(&quot;Runtime.RemoteObjectSubtype&quot;, {Array: &quot;array&quot;, Null: &quot;null&quot;, Node: &quot;node&quot;, Regexp: &quot;regexp&quot;, Date: &quot;date&quot;});
+InspectorBackend.registerCommand(&quot;Runtime.evaluate&quot;, [{&quot;name&quot;: &quot;expression&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;includeCommandLineAPI&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;doNotPauseOnExceptionsAndMuteConsole&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;returnByValue&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;, &quot;wasThrown&quot;]);
+InspectorBackend.registerCommand(&quot;Runtime.callFunctionOn&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;functionDeclaration&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;arguments&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;doNotPauseOnExceptionsAndMuteConsole&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;returnByValue&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;, &quot;wasThrown&quot;]);
+InspectorBackend.registerCommand(&quot;Runtime.getProperties&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;ownProperties&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Runtime.releaseObject&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Runtime.releaseObjectGroup&quot;, [{&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Runtime.run&quot;, [], []);
+
+// Console.
+InspectorBackend.registerConsoleDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Console&quot;);
+InspectorBackend.registerEnum(&quot;Console.ConsoleMessageSource&quot;, {HTML: &quot;html&quot;, WML: &quot;wml&quot;, XML: &quot;xml&quot;, Javascript: &quot;javascript&quot;, Network: &quot;network&quot;, ConsoleAPI: &quot;console-api&quot;, Other: &quot;other&quot;});
+InspectorBackend.registerEnum(&quot;Console.ConsoleMessageLevel&quot;, {Tip: &quot;tip&quot;, Log: &quot;log&quot;, Warning: &quot;warning&quot;, Error: &quot;error&quot;, Debug: &quot;debug&quot;});
+InspectorBackend.registerEnum(&quot;Console.ConsoleMessageType&quot;, {Log: &quot;log&quot;, Dir: &quot;dir&quot;, DirXML: &quot;dirxml&quot;, Trace: &quot;trace&quot;, StartGroup: &quot;startGroup&quot;, StartGroupCollapsed: &quot;startGroupCollapsed&quot;, EndGroup: &quot;endGroup&quot;, Assert: &quot;assert&quot;});
+InspectorBackend.registerEvent(&quot;Console.messageAdded&quot;, [&quot;message&quot;]);
+InspectorBackend.registerEvent(&quot;Console.messageRepeatCountUpdated&quot;, [&quot;count&quot;]);
+InspectorBackend.registerEvent(&quot;Console.messagesCleared&quot;, []);
+InspectorBackend.registerCommand(&quot;Console.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Console.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Console.clearMessages&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Console.setMonitoringXHREnabled&quot;, [{&quot;name&quot;: &quot;enabled&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Console.addInspectedNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Console.addInspectedHeapObject&quot;, [{&quot;name&quot;: &quot;heapObjectId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
+
+// Network.
+InspectorBackend.registerNetworkDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Network&quot;);
+InspectorBackend.registerEnum(&quot;Network.InitiatorType&quot;, {Parser: &quot;parser&quot;, Script: &quot;script&quot;, Other: &quot;other&quot;});
+InspectorBackend.registerEvent(&quot;Network.requestWillBeSent&quot;, [&quot;requestId&quot;, &quot;frameId&quot;, &quot;loaderId&quot;, &quot;documentURL&quot;, &quot;request&quot;, &quot;timestamp&quot;, &quot;initiator&quot;, &quot;redirectResponse&quot;]);
+InspectorBackend.registerEvent(&quot;Network.requestServedFromCache&quot;, [&quot;requestId&quot;]);
+InspectorBackend.registerEvent(&quot;Network.responseReceived&quot;, [&quot;requestId&quot;, &quot;frameId&quot;, &quot;loaderId&quot;, &quot;timestamp&quot;, &quot;type&quot;, &quot;response&quot;]);
+InspectorBackend.registerEvent(&quot;Network.dataReceived&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;dataLength&quot;, &quot;encodedDataLength&quot;]);
+InspectorBackend.registerEvent(&quot;Network.loadingFinished&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;]);
+InspectorBackend.registerEvent(&quot;Network.loadingFailed&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;errorText&quot;, &quot;canceled&quot;]);
+InspectorBackend.registerEvent(&quot;Network.requestServedFromMemoryCache&quot;, [&quot;requestId&quot;, &quot;frameId&quot;, &quot;loaderId&quot;, &quot;documentURL&quot;, &quot;timestamp&quot;, &quot;initiator&quot;, &quot;resource&quot;]);
+InspectorBackend.registerEvent(&quot;Network.webSocketWillSendHandshakeRequest&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;request&quot;]);
+InspectorBackend.registerEvent(&quot;Network.webSocketHandshakeResponseReceived&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;response&quot;]);
+InspectorBackend.registerEvent(&quot;Network.webSocketCreated&quot;, [&quot;requestId&quot;, &quot;url&quot;]);
+InspectorBackend.registerEvent(&quot;Network.webSocketClosed&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;]);
+InspectorBackend.registerEvent(&quot;Network.webSocketFrameReceived&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;response&quot;]);
+InspectorBackend.registerEvent(&quot;Network.webSocketFrameError&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;errorMessage&quot;]);
+InspectorBackend.registerEvent(&quot;Network.webSocketFrameSent&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;response&quot;]);
+InspectorBackend.registerCommand(&quot;Network.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Network.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Network.setUserAgentOverride&quot;, [{&quot;name&quot;: &quot;userAgent&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Network.setExtraHTTPHeaders&quot;, [{&quot;name&quot;: &quot;headers&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Network.getResponseBody&quot;, [{&quot;name&quot;: &quot;requestId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;body&quot;, &quot;base64Encoded&quot;]);
+InspectorBackend.registerCommand(&quot;Network.canClearBrowserCache&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Network.clearBrowserCache&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Network.canClearBrowserCookies&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Network.clearBrowserCookies&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Network.setCacheDisabled&quot;, [{&quot;name&quot;: &quot;cacheDisabled&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
+
+// Database.
+InspectorBackend.registerDatabaseDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Database&quot;);
+InspectorBackend.registerEvent(&quot;Database.addDatabase&quot;, [&quot;database&quot;]);
+InspectorBackend.registerEvent(&quot;Database.sqlTransactionSucceeded&quot;, [&quot;transactionId&quot;, &quot;columnNames&quot;, &quot;values&quot;]);
+InspectorBackend.registerEvent(&quot;Database.sqlTransactionFailed&quot;, [&quot;transactionId&quot;, &quot;sqlError&quot;]);
+InspectorBackend.registerCommand(&quot;Database.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Database.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Database.getDatabaseTableNames&quot;, [{&quot;name&quot;: &quot;databaseId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;tableNames&quot;]);
+InspectorBackend.registerCommand(&quot;Database.executeSQL&quot;, [{&quot;name&quot;: &quot;databaseId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;query&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;success&quot;, &quot;transactionId&quot;]);
+
+// IndexedDB.
+InspectorBackend.registerIndexedDBDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;IndexedDB&quot;);
+InspectorBackend.registerEnum(&quot;IndexedDB.KeyType&quot;, {Number: &quot;number&quot;, String: &quot;string&quot;, Date: &quot;date&quot;, Array: &quot;array&quot;});
+InspectorBackend.registerEvent(&quot;IndexedDB.databaseNamesLoaded&quot;, [&quot;requestId&quot;, &quot;securityOriginWithDatabaseNames&quot;]);
+InspectorBackend.registerEvent(&quot;IndexedDB.databaseLoaded&quot;, [&quot;requestId&quot;, &quot;databaseWithObjectStores&quot;]);
+InspectorBackend.registerEvent(&quot;IndexedDB.objectStoreDataLoaded&quot;, [&quot;requestId&quot;, &quot;objectStoreDataEntries&quot;, &quot;hasMore&quot;]);
+InspectorBackend.registerEvent(&quot;IndexedDB.indexDataLoaded&quot;, [&quot;requestId&quot;, &quot;indexDataEntries&quot;, &quot;hasMore&quot;]);
+InspectorBackend.registerCommand(&quot;IndexedDB.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;IndexedDB.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;IndexedDB.requestDatabaseNamesForFrame&quot;, [{&quot;name&quot;: &quot;requestId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;IndexedDB.requestDatabase&quot;, [{&quot;name&quot;: &quot;requestId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;databaseName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;IndexedDB.requestData&quot;, [{&quot;name&quot;: &quot;requestId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;databaseName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectStoreName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;indexName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;skipCount&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;pageSize&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;keyRange&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}], []);
+
+// DOMStorage.
+InspectorBackend.registerDOMStorageDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;DOMStorage&quot;);
+InspectorBackend.registerEvent(&quot;DOMStorage.addDOMStorage&quot;, [&quot;storage&quot;]);
+InspectorBackend.registerEvent(&quot;DOMStorage.updateDOMStorage&quot;, [&quot;storageId&quot;]);
+InspectorBackend.registerCommand(&quot;DOMStorage.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;DOMStorage.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;DOMStorage.getDOMStorageEntries&quot;, [{&quot;name&quot;: &quot;storageId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;entries&quot;]);
+InspectorBackend.registerCommand(&quot;DOMStorage.setDOMStorageItem&quot;, [{&quot;name&quot;: &quot;storageId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;key&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;success&quot;]);
+InspectorBackend.registerCommand(&quot;DOMStorage.removeDOMStorageItem&quot;, [{&quot;name&quot;: &quot;storageId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;key&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;success&quot;]);
+
+// ApplicationCache.
+InspectorBackend.registerApplicationCacheDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;ApplicationCache&quot;);
+InspectorBackend.registerEvent(&quot;ApplicationCache.applicationCacheStatusUpdated&quot;, [&quot;frameId&quot;, &quot;manifestURL&quot;, &quot;status&quot;]);
+InspectorBackend.registerEvent(&quot;ApplicationCache.networkStateUpdated&quot;, [&quot;isNowOnline&quot;]);
+InspectorBackend.registerCommand(&quot;ApplicationCache.getFramesWithManifests&quot;, [], [&quot;frameIds&quot;]);
+InspectorBackend.registerCommand(&quot;ApplicationCache.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;ApplicationCache.getManifestForFrame&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;manifestURL&quot;]);
+InspectorBackend.registerCommand(&quot;ApplicationCache.getApplicationCacheForFrame&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;applicationCache&quot;]);
+
+// FileSystem.
+InspectorBackend.registerFileSystemDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;FileSystem&quot;);
+InspectorBackend.registerCommand(&quot;FileSystem.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;FileSystem.disable&quot;, [], []);
+
+// DOM.
+InspectorBackend.registerDOMDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;DOM&quot;);
+InspectorBackend.registerEvent(&quot;DOM.documentUpdated&quot;, []);
+InspectorBackend.registerEvent(&quot;DOM.setChildNodes&quot;, [&quot;parentId&quot;, &quot;nodes&quot;]);
+InspectorBackend.registerEvent(&quot;DOM.attributeModified&quot;, [&quot;nodeId&quot;, &quot;name&quot;, &quot;value&quot;]);
+InspectorBackend.registerEvent(&quot;DOM.attributeRemoved&quot;, [&quot;nodeId&quot;, &quot;name&quot;]);
+InspectorBackend.registerEvent(&quot;DOM.inlineStyleInvalidated&quot;, [&quot;nodeIds&quot;]);
+InspectorBackend.registerEvent(&quot;DOM.characterDataModified&quot;, [&quot;nodeId&quot;, &quot;characterData&quot;]);
+InspectorBackend.registerEvent(&quot;DOM.childNodeCountUpdated&quot;, [&quot;nodeId&quot;, &quot;childNodeCount&quot;]);
+InspectorBackend.registerEvent(&quot;DOM.childNodeInserted&quot;, [&quot;parentNodeId&quot;, &quot;previousNodeId&quot;, &quot;node&quot;]);
+InspectorBackend.registerEvent(&quot;DOM.childNodeRemoved&quot;, [&quot;parentNodeId&quot;, &quot;nodeId&quot;]);
+InspectorBackend.registerEvent(&quot;DOM.shadowRootPushed&quot;, [&quot;hostId&quot;, &quot;root&quot;]);
+InspectorBackend.registerEvent(&quot;DOM.shadowRootPopped&quot;, [&quot;hostId&quot;, &quot;rootId&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.getDocument&quot;, [], [&quot;root&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.requestChildNodes&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOM.querySelector&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;selector&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;nodeId&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.querySelectorAll&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;selector&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;nodeIds&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.setNodeName&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;nodeId&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.setNodeValue&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOM.removeNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOM.setAttributeValue&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOM.setAttributesAsText&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;text&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;DOM.removeAttribute&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOM.getEventListenersForNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;listeners&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.getOuterHTML&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;outerHTML&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.setOuterHTML&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;outerHTML&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOM.performSearch&quot;, [{&quot;name&quot;: &quot;query&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;searchId&quot;, &quot;resultCount&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.getSearchResults&quot;, [{&quot;name&quot;: &quot;searchId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;fromIndex&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;toIndex&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;nodeIds&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.discardSearchResults&quot;, [{&quot;name&quot;: &quot;searchId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOM.requestNode&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;nodeId&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.setInspectModeEnabled&quot;, [{&quot;name&quot;: &quot;enabled&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;highlightConfig&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;DOM.highlightRect&quot;, [{&quot;name&quot;: &quot;x&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;y&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;width&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;height&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;color&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;outlineColor&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;DOM.highlightNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;highlightConfig&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOM.hideHighlight&quot;, [], []);
+InspectorBackend.registerCommand(&quot;DOM.highlightFrame&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;contentColor&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;contentOutlineColor&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;DOM.pushNodeByPathToFrontend&quot;, [{&quot;name&quot;: &quot;path&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;nodeId&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.resolveNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;object&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.getAttributes&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;attributes&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.moveTo&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;targetNodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;insertBeforeNodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}], [&quot;nodeId&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.setTouchEmulationEnabled&quot;, [{&quot;name&quot;: &quot;enabled&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOM.undo&quot;, [], []);
+InspectorBackend.registerCommand(&quot;DOM.redo&quot;, [], []);
+InspectorBackend.registerCommand(&quot;DOM.markUndoableState&quot;, [], []);
+
+// CSS.
+InspectorBackend.registerCSSDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;CSS&quot;);
+InspectorBackend.registerEnum(&quot;CSS.CSSRuleOrigin&quot;, {User: &quot;user&quot;, UserAgent: &quot;user-agent&quot;, Inspector: &quot;inspector&quot;, Regular: &quot;regular&quot;});
+InspectorBackend.registerEnum(&quot;CSS.CSSPropertyStatus&quot;, {Active: &quot;active&quot;, Inactive: &quot;inactive&quot;, Disabled: &quot;disabled&quot;, Style: &quot;style&quot;});
+InspectorBackend.registerEnum(&quot;CSS.CSSMediaSource&quot;, {MediaRule: &quot;mediaRule&quot;, ImportRule: &quot;importRule&quot;, LinkedSheet: &quot;linkedSheet&quot;, InlineSheet: &quot;inlineSheet&quot;});
+InspectorBackend.registerEvent(&quot;CSS.mediaQueryResultChanged&quot;, []);
+InspectorBackend.registerEvent(&quot;CSS.styleSheetChanged&quot;, [&quot;styleSheetId&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;CSS.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;CSS.getMatchedStylesForNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;forcedPseudoClasses&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;includePseudo&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;includeInherited&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;matchedCSSRules&quot;, &quot;pseudoElements&quot;, &quot;inherited&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.getInlineStylesForNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;inlineStyle&quot;, &quot;attributesStyle&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.getComputedStyleForNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;forcedPseudoClasses&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}], [&quot;computedStyle&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.getAllStyleSheets&quot;, [], [&quot;headers&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.getStyleSheet&quot;, [{&quot;name&quot;: &quot;styleSheetId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;styleSheet&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.getStyleSheetText&quot;, [{&quot;name&quot;: &quot;styleSheetId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;text&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.setStyleSheetText&quot;, [{&quot;name&quot;: &quot;styleSheetId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;text&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;CSS.setPropertyText&quot;, [{&quot;name&quot;: &quot;styleId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;propertyIndex&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;text&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;overwrite&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], [&quot;style&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.toggleProperty&quot;, [{&quot;name&quot;: &quot;styleId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;propertyIndex&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;disable&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], [&quot;style&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.setRuleSelector&quot;, [{&quot;name&quot;: &quot;ruleId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;selector&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;rule&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.addRule&quot;, [{&quot;name&quot;: &quot;contextNodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;selector&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;rule&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.getSupportedCSSProperties&quot;, [], [&quot;cssProperties&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.startSelectorProfiler&quot;, [], []);
+InspectorBackend.registerCommand(&quot;CSS.stopSelectorProfiler&quot;, [], [&quot;profile&quot;]);
+
+// Timeline.
+InspectorBackend.registerTimelineDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Timeline&quot;);
+InspectorBackend.registerEnum(&quot;Timeline.EventType&quot;, {EventDispatch: &quot;EventDispatch&quot;, Layout: &quot;Layout&quot;, RecalculateStyles: &quot;RecalculateStyles&quot;, Paint: &quot;Paint&quot;, BeginFrame: &quot;BeginFrame&quot;, ParseHTML: &quot;ParseHTML&quot;, TimerInstall: &quot;TimerInstall&quot;, TimerRemove: &quot;TimerRemove&quot;, TimerFire: &quot;TimerFire&quot;, EvaluateScript: &quot;EvaluateScript&quot;, MarkLoad: &quot;MarkLoad&quot;, MarkDOMContent: &quot;MarkDOMContent&quot;, TimeStamp: &quot;TimeStamp&quot;, ScheduleResourceRequest: &quot;ScheduleResourceRequest&quot;, ResourceSendRequest: &quot;ResourceSendRequest&quot;, ResourceReceiveResponse: &quot;ResourceReceiveResponse&quot;, ResourceReceivedData: &quot;ResourceReceivedData&quot;, ResourceFinish: &quot;ResourceFinish&quot;, XHRReadyStateChange: &quot;XHRReadyStateChange&quot;, XHRLoad: &quot;XHRLoad&quot;, FunctionCall: &quot;FunctionCall&quot;, GCEvent: &quot;GCEvent&quot;, RequestAnimationFrame: &quot;RequestAnimationFrame&quot;, CancelAnimationFrame: &quot;CancelAnimationFrame&quot;, FireAnimationFrame: &quot;FireAnimationFrame&quot;});
+InspectorBackend.registerEvent(&quot;Timeline.eventRecorded&quot;, [&quot;record&quot;]);
+InspectorBackend.registerCommand(&quot;Timeline.start&quot;, [{&quot;name&quot;: &quot;maxCallStackDepth&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;Timeline.stop&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Timeline.setIncludeMemoryDetails&quot;, [{&quot;name&quot;: &quot;enabled&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
+
+// Debugger.
+InspectorBackend.registerDebuggerDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Debugger&quot;);
+InspectorBackend.registerEnum(&quot;Debugger.ScopeType&quot;, {Global: &quot;global&quot;, Local: &quot;local&quot;, With: &quot;with&quot;, Closure: &quot;closure&quot;, Catch: &quot;catch&quot;});
+InspectorBackend.registerEvent(&quot;Debugger.globalObjectCleared&quot;, []);
+InspectorBackend.registerEvent(&quot;Debugger.scriptParsed&quot;, [&quot;scriptId&quot;, &quot;url&quot;, &quot;startLine&quot;, &quot;startColumn&quot;, &quot;endLine&quot;, &quot;endColumn&quot;, &quot;isContentScript&quot;, &quot;sourceMapURL&quot;]);
+InspectorBackend.registerEvent(&quot;Debugger.scriptFailedToParse&quot;, [&quot;url&quot;, &quot;scriptSource&quot;, &quot;startLine&quot;, &quot;errorLine&quot;, &quot;errorMessage&quot;]);
+InspectorBackend.registerEvent(&quot;Debugger.breakpointResolved&quot;, [&quot;breakpointId&quot;, &quot;location&quot;]);
+InspectorBackend.registerEvent(&quot;Debugger.paused&quot;, [&quot;callFrames&quot;, &quot;reason&quot;, &quot;data&quot;]);
+InspectorBackend.registerEvent(&quot;Debugger.resumed&quot;, []);
+InspectorBackend.registerCommand(&quot;Debugger.causesRecompilation&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.supportsNativeBreakpoints&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Debugger.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Debugger.setBreakpointsActive&quot;, [{&quot;name&quot;: &quot;active&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Debugger.setBreakpointByUrl&quot;, [{&quot;name&quot;: &quot;lineNumber&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;urlRegex&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;columnNumber&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;condition&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;breakpointId&quot;, &quot;locations&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.setBreakpoint&quot;, [{&quot;name&quot;: &quot;location&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;condition&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;breakpointId&quot;, &quot;actualLocation&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.removeBreakpoint&quot;, [{&quot;name&quot;: &quot;breakpointId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Debugger.continueToLocation&quot;, [{&quot;name&quot;: &quot;location&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Debugger.stepOver&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Debugger.stepInto&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Debugger.stepOut&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Debugger.pause&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Debugger.resume&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Debugger.searchInContent&quot;, [{&quot;name&quot;: &quot;scriptId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;query&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;caseSensitive&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;isRegex&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.canSetScriptSource&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.setScriptSource&quot;, [{&quot;name&quot;: &quot;scriptId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;scriptSource&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;preview&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;callFrames&quot;, &quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.getScriptSource&quot;, [{&quot;name&quot;: &quot;scriptId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;scriptSource&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.getFunctionDetails&quot;, [{&quot;name&quot;: &quot;functionId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;details&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.setPauseOnExceptions&quot;, [{&quot;name&quot;: &quot;state&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Debugger.evaluateOnCallFrame&quot;, [{&quot;name&quot;: &quot;callFrameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;expression&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;includeCommandLineAPI&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;doNotPauseOnExceptionsAndMuteConsole&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;returnByValue&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;, &quot;wasThrown&quot;]);
+
+// DOMDebugger.
+InspectorBackend.registerEnum(&quot;DOMDebugger.DOMBreakpointType&quot;, {SubtreeModified: &quot;subtree-modified&quot;, AttributeModified: &quot;attribute-modified&quot;, NodeRemoved: &quot;node-removed&quot;});
+InspectorBackend.registerCommand(&quot;DOMDebugger.setDOMBreakpoint&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOMDebugger.removeDOMBreakpoint&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOMDebugger.setEventListenerBreakpoint&quot;, [{&quot;name&quot;: &quot;eventName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOMDebugger.removeEventListenerBreakpoint&quot;, [{&quot;name&quot;: &quot;eventName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOMDebugger.setInstrumentationBreakpoint&quot;, [{&quot;name&quot;: &quot;eventName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOMDebugger.removeInstrumentationBreakpoint&quot;, [{&quot;name&quot;: &quot;eventName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOMDebugger.setXHRBreakpoint&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOMDebugger.removeXHRBreakpoint&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+
+// Profiler.
+InspectorBackend.registerProfilerDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Profiler&quot;);
+InspectorBackend.registerEnum(&quot;Profiler.ProfileHeaderTypeId&quot;, {CPU: &quot;CPU&quot;, CSS: &quot;CSS&quot;, HEAP: &quot;HEAP&quot;});
+InspectorBackend.registerEvent(&quot;Profiler.addProfileHeader&quot;, [&quot;header&quot;]);
+InspectorBackend.registerEvent(&quot;Profiler.addHeapSnapshotChunk&quot;, [&quot;uid&quot;, &quot;chunk&quot;]);
+InspectorBackend.registerEvent(&quot;Profiler.finishHeapSnapshot&quot;, [&quot;uid&quot;]);
+InspectorBackend.registerEvent(&quot;Profiler.setRecordingProfile&quot;, [&quot;isProfiling&quot;]);
+InspectorBackend.registerEvent(&quot;Profiler.resetProfiles&quot;, []);
+InspectorBackend.registerEvent(&quot;Profiler.reportHeapSnapshotProgress&quot;, [&quot;done&quot;, &quot;total&quot;]);
+InspectorBackend.registerCommand(&quot;Profiler.causesRecompilation&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Profiler.isSampling&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Profiler.hasHeapProfiler&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Profiler.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Profiler.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Profiler.start&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Profiler.stop&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Profiler.getProfileHeaders&quot;, [], [&quot;headers&quot;]);
+InspectorBackend.registerCommand(&quot;Profiler.getProfile&quot;, [{&quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;uid&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;profile&quot;]);
+InspectorBackend.registerCommand(&quot;Profiler.removeProfile&quot;, [{&quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;uid&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Profiler.clearProfiles&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Profiler.takeHeapSnapshot&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Profiler.collectGarbage&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Profiler.getObjectByHeapObjectId&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;result&quot;]);
+
+// Worker.
+InspectorBackend.registerWorkerDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Worker&quot;);
+InspectorBackend.registerEvent(&quot;Worker.workerCreated&quot;, [&quot;workerId&quot;, &quot;url&quot;, &quot;inspectorConnected&quot;]);
+InspectorBackend.registerEvent(&quot;Worker.workerTerminated&quot;, [&quot;workerId&quot;]);
+InspectorBackend.registerEvent(&quot;Worker.dispatchMessageFromWorker&quot;, [&quot;workerId&quot;, &quot;message&quot;]);
+InspectorBackend.registerEvent(&quot;Worker.disconnectedFromWorker&quot;, []);
+InspectorBackend.registerCommand(&quot;Worker.setWorkerInspectionEnabled&quot;, [{&quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Worker.sendMessageToWorker&quot;, [{&quot;name&quot;: &quot;workerId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;message&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Worker.connectToWorker&quot;, [{&quot;name&quot;: &quot;workerId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Worker.disconnectFromWorker&quot;, [{&quot;name&quot;: &quot;workerId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Worker.setAutoconnectToWorkers&quot;, [{&quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
</ins></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceLegacy70InspectorBackendCommandsjs"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebInspectorUI/UserInterface/Legacy/7.0/InspectorBackendCommands.js (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Legacy/7.0/InspectorBackendCommands.js        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebInspectorUI/UserInterface/Legacy/7.0/InspectorBackendCommands.js        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -1,403 +0,0 @@
</span><del>-// File is generated by Source/WebCore/inspector/CodeGeneratorInspector.py
-
-// Copyright (c) 2013 Apple Inc. All Rights Reserved.
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-
-// Inspector.
-InspectorBackend.registerInspectorDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Inspector&quot;);
-InspectorBackend.registerEvent(&quot;Inspector.evaluateForTestInFrontend&quot;, [&quot;testCallId&quot;, &quot;script&quot;]);
-InspectorBackend.registerEvent(&quot;Inspector.inspect&quot;, [&quot;object&quot;, &quot;hints&quot;]);
-InspectorBackend.registerEvent(&quot;Inspector.detached&quot;, [&quot;reason&quot;]);
-InspectorBackend.registerEvent(&quot;Inspector.targetCrashed&quot;, []);
-InspectorBackend.registerCommand(&quot;Inspector.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Inspector.disable&quot;, [], []);
-
-// Memory.
-InspectorBackend.registerMemoryDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Memory&quot;);
-InspectorBackend.registerCommand(&quot;Memory.getDOMCounters&quot;, [], [&quot;documents&quot;, &quot;nodes&quot;, &quot;jsEventListeners&quot;]);
-
-// Page.
-InspectorBackend.registerPageDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Page&quot;);
-InspectorBackend.registerEnum(&quot;Page.ResourceType&quot;, {Document: &quot;Document&quot;, Stylesheet: &quot;Stylesheet&quot;, Image: &quot;Image&quot;, Font: &quot;Font&quot;, Script: &quot;Script&quot;, XHR: &quot;XHR&quot;, WebSocket: &quot;WebSocket&quot;, Other: &quot;Other&quot;});
-InspectorBackend.registerEvent(&quot;Page.domContentEventFired&quot;, [&quot;timestamp&quot;]);
-InspectorBackend.registerEvent(&quot;Page.loadEventFired&quot;, [&quot;timestamp&quot;]);
-InspectorBackend.registerEvent(&quot;Page.frameNavigated&quot;, [&quot;frame&quot;]);
-InspectorBackend.registerEvent(&quot;Page.frameDetached&quot;, [&quot;frameId&quot;]);
-InspectorBackend.registerEvent(&quot;Page.frameStartedLoading&quot;, [&quot;frameId&quot;]);
-InspectorBackend.registerEvent(&quot;Page.frameStoppedLoading&quot;, [&quot;frameId&quot;]);
-InspectorBackend.registerEvent(&quot;Page.frameScheduledNavigation&quot;, [&quot;frameId&quot;, &quot;delay&quot;]);
-InspectorBackend.registerEvent(&quot;Page.frameClearedScheduledNavigation&quot;, [&quot;frameId&quot;]);
-InspectorBackend.registerEvent(&quot;Page.javascriptDialogOpening&quot;, [&quot;message&quot;]);
-InspectorBackend.registerEvent(&quot;Page.javascriptDialogClosed&quot;, []);
-InspectorBackend.registerEvent(&quot;Page.scriptsEnabled&quot;, [&quot;isEnabled&quot;]);
-InspectorBackend.registerCommand(&quot;Page.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Page.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Page.addScriptToEvaluateOnLoad&quot;, [{&quot;name&quot;: &quot;scriptSource&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;identifier&quot;]);
-InspectorBackend.registerCommand(&quot;Page.removeScriptToEvaluateOnLoad&quot;, [{&quot;name&quot;: &quot;identifier&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.reload&quot;, [{&quot;name&quot;: &quot;ignoreCache&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;scriptToEvaluateOnLoad&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;scriptPreprocessor&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;Page.navigate&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.getCookies&quot;, [], [&quot;cookies&quot;, &quot;cookiesString&quot;]);
-InspectorBackend.registerCommand(&quot;Page.deleteCookie&quot;, [{&quot;name&quot;: &quot;cookieName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.getResourceTree&quot;, [], [&quot;frameTree&quot;]);
-InspectorBackend.registerCommand(&quot;Page.getResourceContent&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;content&quot;, &quot;base64Encoded&quot;]);
-InspectorBackend.registerCommand(&quot;Page.searchInResource&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;query&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;caseSensitive&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;isRegex&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Page.searchInResources&quot;, [{&quot;name&quot;: &quot;text&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;caseSensitive&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;isRegex&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Page.setDocumentContent&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;html&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.canOverrideDeviceMetrics&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Page.setDeviceMetricsOverride&quot;, [{&quot;name&quot;: &quot;width&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;height&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;fontScaleFactor&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;fitWindow&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.setShowPaintRects&quot;, [{&quot;name&quot;: &quot;result&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.canShowDebugBorders&quot;, [], [&quot;show&quot;]);
-InspectorBackend.registerCommand(&quot;Page.setShowDebugBorders&quot;, [{&quot;name&quot;: &quot;show&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.canShowFPSCounter&quot;, [], [&quot;show&quot;]);
-InspectorBackend.registerCommand(&quot;Page.setShowFPSCounter&quot;, [{&quot;name&quot;: &quot;show&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.canContinuouslyPaint&quot;, [], [&quot;value&quot;]);
-InspectorBackend.registerCommand(&quot;Page.setContinuousPaintingEnabled&quot;, [{&quot;name&quot;: &quot;enabled&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.getScriptExecutionStatus&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Page.setScriptExecutionDisabled&quot;, [{&quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.setGeolocationOverride&quot;, [{&quot;name&quot;: &quot;latitude&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;longitude&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;accuracy&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;Page.clearGeolocationOverride&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Page.canOverrideGeolocation&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Page.setDeviceOrientationOverride&quot;, [{&quot;name&quot;: &quot;alpha&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;beta&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;gamma&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.clearDeviceOrientationOverride&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Page.canOverrideDeviceOrientation&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Page.setTouchEmulationEnabled&quot;, [{&quot;name&quot;: &quot;enabled&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.setEmulatedMedia&quot;, [{&quot;name&quot;: &quot;media&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.getCompositingBordersVisible&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Page.setCompositingBordersVisible&quot;, [{&quot;name&quot;: &quot;visible&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Page.handleJavaScriptDialog&quot;, [{&quot;name&quot;: &quot;accept&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;promptText&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], []);
-
-// Runtime.
-InspectorBackend.registerRuntimeDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Runtime&quot;);
-InspectorBackend.registerEnum(&quot;Runtime.RemoteObjectType&quot;, {Object: &quot;object&quot;, Function: &quot;function&quot;, Undefined: &quot;undefined&quot;, String: &quot;string&quot;, Number: &quot;number&quot;, Boolean: &quot;boolean&quot;});
-InspectorBackend.registerEnum(&quot;Runtime.RemoteObjectSubtype&quot;, {Array: &quot;array&quot;, Null: &quot;null&quot;, Node: &quot;node&quot;, Regexp: &quot;regexp&quot;, Date: &quot;date&quot;});
-InspectorBackend.registerEnum(&quot;Runtime.PropertyPreviewType&quot;, {Object: &quot;object&quot;, Function: &quot;function&quot;, Undefined: &quot;undefined&quot;, String: &quot;string&quot;, Number: &quot;number&quot;, Boolean: &quot;boolean&quot;});
-InspectorBackend.registerEnum(&quot;Runtime.PropertyPreviewSubtype&quot;, {Array: &quot;array&quot;, Null: &quot;null&quot;, Node: &quot;node&quot;, Regexp: &quot;regexp&quot;, Date: &quot;date&quot;});
-InspectorBackend.registerEnum(&quot;Runtime.SyntaxErrorType&quot;, {None: &quot;none&quot;, Irrecoverable: &quot;irrecoverable&quot;, UnterminatedLiteral: &quot;unterminated-literal&quot;, Recoverable: &quot;recoverable&quot;});
-InspectorBackend.registerEvent(&quot;Runtime.executionContextCreated&quot;, [&quot;context&quot;]);
-InspectorBackend.registerCommand(&quot;Runtime.parse&quot;, [{&quot;name&quot;: &quot;source&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;result&quot;, &quot;message&quot;, &quot;range&quot;]);
-InspectorBackend.registerCommand(&quot;Runtime.evaluate&quot;, [{&quot;name&quot;: &quot;expression&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;includeCommandLineAPI&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;doNotPauseOnExceptionsAndMuteConsole&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;contextId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;returnByValue&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;generatePreview&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;, &quot;wasThrown&quot;]);
-InspectorBackend.registerCommand(&quot;Runtime.callFunctionOn&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;functionDeclaration&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;arguments&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;doNotPauseOnExceptionsAndMuteConsole&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;returnByValue&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;generatePreview&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;, &quot;wasThrown&quot;]);
-InspectorBackend.registerCommand(&quot;Runtime.getProperties&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;ownProperties&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;, &quot;internalProperties&quot;]);
-InspectorBackend.registerCommand(&quot;Runtime.releaseObject&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Runtime.releaseObjectGroup&quot;, [{&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Runtime.run&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Runtime.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Runtime.disable&quot;, [], []);
-
-// Console.
-InspectorBackend.registerConsoleDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Console&quot;);
-InspectorBackend.registerEnum(&quot;Console.ConsoleMessageSource&quot;, {XML: &quot;xml&quot;, Javascript: &quot;javascript&quot;, Network: &quot;network&quot;, ConsoleAPI: &quot;console-api&quot;, Storage: &quot;storage&quot;, Appcache: &quot;appcache&quot;, Rendering: &quot;rendering&quot;, CSS: &quot;css&quot;, Security: &quot;security&quot;, Other: &quot;other&quot;});
-InspectorBackend.registerEnum(&quot;Console.ConsoleMessageLevel&quot;, {Log: &quot;log&quot;, Warning: &quot;warning&quot;, Error: &quot;error&quot;, Debug: &quot;debug&quot;});
-InspectorBackend.registerEnum(&quot;Console.ConsoleMessageType&quot;, {Log: &quot;log&quot;, Dir: &quot;dir&quot;, DirXML: &quot;dirxml&quot;, Table: &quot;table&quot;, Trace: &quot;trace&quot;, Clear: &quot;clear&quot;, StartGroup: &quot;startGroup&quot;, StartGroupCollapsed: &quot;startGroupCollapsed&quot;, EndGroup: &quot;endGroup&quot;, Assert: &quot;assert&quot;, Timing: &quot;timing&quot;, Profile: &quot;profile&quot;, ProfileEnd: &quot;profileEnd&quot;});
-InspectorBackend.registerEvent(&quot;Console.messageAdded&quot;, [&quot;message&quot;]);
-InspectorBackend.registerEvent(&quot;Console.messageRepeatCountUpdated&quot;, [&quot;count&quot;]);
-InspectorBackend.registerEvent(&quot;Console.messagesCleared&quot;, []);
-InspectorBackend.registerCommand(&quot;Console.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Console.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Console.clearMessages&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Console.setMonitoringXHREnabled&quot;, [{&quot;name&quot;: &quot;enabled&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Console.addInspectedNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Console.addInspectedHeapObject&quot;, [{&quot;name&quot;: &quot;heapObjectId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
-
-// Network.
-InspectorBackend.registerNetworkDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Network&quot;);
-InspectorBackend.registerEnum(&quot;Network.InitiatorType&quot;, {Parser: &quot;parser&quot;, Script: &quot;script&quot;, Other: &quot;other&quot;});
-InspectorBackend.registerEvent(&quot;Network.requestWillBeSent&quot;, [&quot;requestId&quot;, &quot;frameId&quot;, &quot;loaderId&quot;, &quot;documentURL&quot;, &quot;request&quot;, &quot;timestamp&quot;, &quot;initiator&quot;, &quot;redirectResponse&quot;, &quot;type&quot;]);
-InspectorBackend.registerEvent(&quot;Network.requestServedFromCache&quot;, [&quot;requestId&quot;]);
-InspectorBackend.registerEvent(&quot;Network.responseReceived&quot;, [&quot;requestId&quot;, &quot;frameId&quot;, &quot;loaderId&quot;, &quot;timestamp&quot;, &quot;type&quot;, &quot;response&quot;]);
-InspectorBackend.registerEvent(&quot;Network.dataReceived&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;dataLength&quot;, &quot;encodedDataLength&quot;]);
-InspectorBackend.registerEvent(&quot;Network.loadingFinished&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;sourceMapURL&quot;]);
-InspectorBackend.registerEvent(&quot;Network.loadingFailed&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;errorText&quot;, &quot;canceled&quot;]);
-InspectorBackend.registerEvent(&quot;Network.requestServedFromMemoryCache&quot;, [&quot;requestId&quot;, &quot;frameId&quot;, &quot;loaderId&quot;, &quot;documentURL&quot;, &quot;timestamp&quot;, &quot;initiator&quot;, &quot;resource&quot;]);
-InspectorBackend.registerEvent(&quot;Network.webSocketWillSendHandshakeRequest&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;request&quot;]);
-InspectorBackend.registerEvent(&quot;Network.webSocketHandshakeResponseReceived&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;response&quot;]);
-InspectorBackend.registerEvent(&quot;Network.webSocketCreated&quot;, [&quot;requestId&quot;, &quot;url&quot;]);
-InspectorBackend.registerEvent(&quot;Network.webSocketClosed&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;]);
-InspectorBackend.registerEvent(&quot;Network.webSocketFrameReceived&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;response&quot;]);
-InspectorBackend.registerEvent(&quot;Network.webSocketFrameError&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;errorMessage&quot;]);
-InspectorBackend.registerEvent(&quot;Network.webSocketFrameSent&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;response&quot;]);
-InspectorBackend.registerCommand(&quot;Network.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Network.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Network.setUserAgentOverride&quot;, [{&quot;name&quot;: &quot;userAgent&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Network.setExtraHTTPHeaders&quot;, [{&quot;name&quot;: &quot;headers&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Network.getResponseBody&quot;, [{&quot;name&quot;: &quot;requestId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;body&quot;, &quot;base64Encoded&quot;]);
-InspectorBackend.registerCommand(&quot;Network.replayXHR&quot;, [{&quot;name&quot;: &quot;requestId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Network.canClearBrowserCache&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Network.clearBrowserCache&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Network.canClearBrowserCookies&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Network.clearBrowserCookies&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Network.setCacheDisabled&quot;, [{&quot;name&quot;: &quot;cacheDisabled&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
-
-// Database.
-InspectorBackend.registerDatabaseDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Database&quot;);
-InspectorBackend.registerEvent(&quot;Database.addDatabase&quot;, [&quot;database&quot;]);
-InspectorBackend.registerCommand(&quot;Database.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Database.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Database.getDatabaseTableNames&quot;, [{&quot;name&quot;: &quot;databaseId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;tableNames&quot;]);
-InspectorBackend.registerCommand(&quot;Database.executeSQL&quot;, [{&quot;name&quot;: &quot;databaseId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;query&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;columnNames&quot;, &quot;values&quot;, &quot;sqlError&quot;]);
-
-// IndexedDB.
-InspectorBackend.registerIndexedDBDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;IndexedDB&quot;);
-InspectorBackend.registerEnum(&quot;IndexedDB.KeyType&quot;, {Number: &quot;number&quot;, String: &quot;string&quot;, Date: &quot;date&quot;, Array: &quot;array&quot;});
-InspectorBackend.registerEnum(&quot;IndexedDB.KeyPathType&quot;, {Null: &quot;null&quot;, String: &quot;string&quot;, Array: &quot;array&quot;});
-InspectorBackend.registerCommand(&quot;IndexedDB.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;IndexedDB.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;IndexedDB.requestDatabaseNames&quot;, [{&quot;name&quot;: &quot;securityOrigin&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;databaseNames&quot;]);
-InspectorBackend.registerCommand(&quot;IndexedDB.requestDatabase&quot;, [{&quot;name&quot;: &quot;securityOrigin&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;databaseName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;databaseWithObjectStores&quot;]);
-InspectorBackend.registerCommand(&quot;IndexedDB.requestData&quot;, [{&quot;name&quot;: &quot;securityOrigin&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;databaseName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectStoreName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;indexName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;skipCount&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;pageSize&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;keyRange&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}], [&quot;objectStoreDataEntries&quot;, &quot;hasMore&quot;]);
-InspectorBackend.registerCommand(&quot;IndexedDB.clearObjectStore&quot;, [{&quot;name&quot;: &quot;securityOrigin&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;databaseName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectStoreName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-
-// DOMStorage.
-InspectorBackend.registerDOMStorageDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;DOMStorage&quot;);
-InspectorBackend.registerEvent(&quot;DOMStorage.domStorageItemsCleared&quot;, [&quot;storageId&quot;]);
-InspectorBackend.registerEvent(&quot;DOMStorage.domStorageItemRemoved&quot;, [&quot;storageId&quot;, &quot;key&quot;]);
-InspectorBackend.registerEvent(&quot;DOMStorage.domStorageItemAdded&quot;, [&quot;storageId&quot;, &quot;key&quot;, &quot;newValue&quot;]);
-InspectorBackend.registerEvent(&quot;DOMStorage.domStorageItemUpdated&quot;, [&quot;storageId&quot;, &quot;key&quot;, &quot;oldValue&quot;, &quot;newValue&quot;]);
-InspectorBackend.registerCommand(&quot;DOMStorage.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;DOMStorage.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;DOMStorage.getDOMStorageItems&quot;, [{&quot;name&quot;: &quot;storageId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}], [&quot;entries&quot;]);
-InspectorBackend.registerCommand(&quot;DOMStorage.setDOMStorageItem&quot;, [{&quot;name&quot;: &quot;storageId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;key&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOMStorage.removeDOMStorageItem&quot;, [{&quot;name&quot;: &quot;storageId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;key&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-
-// ApplicationCache.
-InspectorBackend.registerApplicationCacheDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;ApplicationCache&quot;);
-InspectorBackend.registerEvent(&quot;ApplicationCache.applicationCacheStatusUpdated&quot;, [&quot;frameId&quot;, &quot;manifestURL&quot;, &quot;status&quot;]);
-InspectorBackend.registerEvent(&quot;ApplicationCache.networkStateUpdated&quot;, [&quot;isNowOnline&quot;]);
-InspectorBackend.registerCommand(&quot;ApplicationCache.getFramesWithManifests&quot;, [], [&quot;frameIds&quot;]);
-InspectorBackend.registerCommand(&quot;ApplicationCache.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;ApplicationCache.getManifestForFrame&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;manifestURL&quot;]);
-InspectorBackend.registerCommand(&quot;ApplicationCache.getApplicationCacheForFrame&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;applicationCache&quot;]);
-
-// FileSystem.
-InspectorBackend.registerFileSystemDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;FileSystem&quot;);
-InspectorBackend.registerCommand(&quot;FileSystem.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;FileSystem.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;FileSystem.requestFileSystemRoot&quot;, [{&quot;name&quot;: &quot;origin&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;errorCode&quot;, &quot;root&quot;]);
-InspectorBackend.registerCommand(&quot;FileSystem.requestDirectoryContent&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;errorCode&quot;, &quot;entries&quot;]);
-InspectorBackend.registerCommand(&quot;FileSystem.requestMetadata&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;errorCode&quot;, &quot;metadata&quot;]);
-InspectorBackend.registerCommand(&quot;FileSystem.requestFileContent&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;readAsText&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;start&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;end&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;charset&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;errorCode&quot;, &quot;content&quot;, &quot;charset&quot;]);
-InspectorBackend.registerCommand(&quot;FileSystem.deleteEntry&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;errorCode&quot;]);
-
-// DOM.
-InspectorBackend.registerDOMDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;DOM&quot;);
-InspectorBackend.registerEvent(&quot;DOM.documentUpdated&quot;, []);
-InspectorBackend.registerEvent(&quot;DOM.setChildNodes&quot;, [&quot;parentId&quot;, &quot;nodes&quot;]);
-InspectorBackend.registerEvent(&quot;DOM.attributeModified&quot;, [&quot;nodeId&quot;, &quot;name&quot;, &quot;value&quot;]);
-InspectorBackend.registerEvent(&quot;DOM.attributeRemoved&quot;, [&quot;nodeId&quot;, &quot;name&quot;]);
-InspectorBackend.registerEvent(&quot;DOM.inlineStyleInvalidated&quot;, [&quot;nodeIds&quot;]);
-InspectorBackend.registerEvent(&quot;DOM.characterDataModified&quot;, [&quot;nodeId&quot;, &quot;characterData&quot;]);
-InspectorBackend.registerEvent(&quot;DOM.childNodeCountUpdated&quot;, [&quot;nodeId&quot;, &quot;childNodeCount&quot;]);
-InspectorBackend.registerEvent(&quot;DOM.childNodeInserted&quot;, [&quot;parentNodeId&quot;, &quot;previousNodeId&quot;, &quot;node&quot;]);
-InspectorBackend.registerEvent(&quot;DOM.childNodeRemoved&quot;, [&quot;parentNodeId&quot;, &quot;nodeId&quot;]);
-InspectorBackend.registerEvent(&quot;DOM.shadowRootPushed&quot;, [&quot;hostId&quot;, &quot;root&quot;]);
-InspectorBackend.registerEvent(&quot;DOM.shadowRootPopped&quot;, [&quot;hostId&quot;, &quot;rootId&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.getDocument&quot;, [], [&quot;root&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.requestChildNodes&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;depth&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;DOM.querySelector&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;selector&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;nodeId&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.querySelectorAll&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;selector&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;nodeIds&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.setNodeName&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;nodeId&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.setNodeValue&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOM.removeNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOM.setAttributeValue&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOM.setAttributesAsText&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;text&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;DOM.removeAttribute&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOM.getEventListenersForNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;listeners&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.getOuterHTML&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;outerHTML&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.setOuterHTML&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;outerHTML&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOM.performSearch&quot;, [{&quot;name&quot;: &quot;query&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;searchId&quot;, &quot;resultCount&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.getSearchResults&quot;, [{&quot;name&quot;: &quot;searchId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;fromIndex&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;toIndex&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;nodeIds&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.discardSearchResults&quot;, [{&quot;name&quot;: &quot;searchId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOM.requestNode&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;nodeId&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.setInspectModeEnabled&quot;, [{&quot;name&quot;: &quot;enabled&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;highlightConfig&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;DOM.highlightRect&quot;, [{&quot;name&quot;: &quot;x&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;y&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;width&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;height&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;color&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;outlineColor&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;usePageCoordinates&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;DOM.highlightQuad&quot;, [{&quot;name&quot;: &quot;quad&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;color&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;outlineColor&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;usePageCoordinates&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;DOM.highlightNode&quot;, [{&quot;name&quot;: &quot;highlightConfig&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;DOM.hideHighlight&quot;, [], []);
-InspectorBackend.registerCommand(&quot;DOM.highlightFrame&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;contentColor&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;contentOutlineColor&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;DOM.pushNodeByPathToFrontend&quot;, [{&quot;name&quot;: &quot;path&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;nodeId&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.pushNodeByBackendIdToFrontend&quot;, [{&quot;name&quot;: &quot;backendNodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;nodeId&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.releaseBackendNodeIds&quot;, [{&quot;name&quot;: &quot;nodeGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOM.resolveNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;object&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.getAttributes&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;attributes&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.moveTo&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;targetNodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;insertBeforeNodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}], [&quot;nodeId&quot;]);
-InspectorBackend.registerCommand(&quot;DOM.undo&quot;, [], []);
-InspectorBackend.registerCommand(&quot;DOM.redo&quot;, [], []);
-InspectorBackend.registerCommand(&quot;DOM.markUndoableState&quot;, [], []);
-InspectorBackend.registerCommand(&quot;DOM.focus&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOM.setFileInputFiles&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;files&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}], []);
-
-// CSS.
-InspectorBackend.registerCSSDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;CSS&quot;);
-InspectorBackend.registerEnum(&quot;CSS.StyleSheetOrigin&quot;, {User: &quot;user&quot;, UserAgent: &quot;user-agent&quot;, Inspector: &quot;inspector&quot;, Regular: &quot;regular&quot;});
-InspectorBackend.registerEnum(&quot;CSS.CSSPropertyStatus&quot;, {Active: &quot;active&quot;, Inactive: &quot;inactive&quot;, Disabled: &quot;disabled&quot;, Style: &quot;style&quot;});
-InspectorBackend.registerEnum(&quot;CSS.CSSMediaSource&quot;, {MediaRule: &quot;mediaRule&quot;, ImportRule: &quot;importRule&quot;, LinkedSheet: &quot;linkedSheet&quot;, InlineSheet: &quot;inlineSheet&quot;});
-InspectorBackend.registerEnum(&quot;CSS.RegionRegionOverset&quot;, {Overset: &quot;overset&quot;, Fit: &quot;fit&quot;, Empty: &quot;empty&quot;});
-InspectorBackend.registerEvent(&quot;CSS.mediaQueryResultChanged&quot;, []);
-InspectorBackend.registerEvent(&quot;CSS.styleSheetChanged&quot;, [&quot;styleSheetId&quot;]);
-InspectorBackend.registerEvent(&quot;CSS.namedFlowCreated&quot;, [&quot;namedFlow&quot;]);
-InspectorBackend.registerEvent(&quot;CSS.namedFlowRemoved&quot;, [&quot;documentNodeId&quot;, &quot;flowName&quot;]);
-InspectorBackend.registerEvent(&quot;CSS.regionLayoutUpdated&quot;, [&quot;namedFlow&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;CSS.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;CSS.getMatchedStylesForNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;includePseudo&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;includeInherited&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;matchedCSSRules&quot;, &quot;pseudoElements&quot;, &quot;inherited&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.getInlineStylesForNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;inlineStyle&quot;, &quot;attributesStyle&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.getComputedStyleForNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;computedStyle&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.getAllStyleSheets&quot;, [], [&quot;headers&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.getStyleSheet&quot;, [{&quot;name&quot;: &quot;styleSheetId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;styleSheet&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.getStyleSheetText&quot;, [{&quot;name&quot;: &quot;styleSheetId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;text&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.setStyleSheetText&quot;, [{&quot;name&quot;: &quot;styleSheetId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;text&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;CSS.setStyleText&quot;, [{&quot;name&quot;: &quot;styleId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;text&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;style&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.setPropertyText&quot;, [{&quot;name&quot;: &quot;styleId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;propertyIndex&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;text&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;overwrite&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], [&quot;style&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.toggleProperty&quot;, [{&quot;name&quot;: &quot;styleId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;propertyIndex&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;disable&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], [&quot;style&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.setRuleSelector&quot;, [{&quot;name&quot;: &quot;ruleId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;selector&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;rule&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.addRule&quot;, [{&quot;name&quot;: &quot;contextNodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;selector&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;rule&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.getSupportedCSSProperties&quot;, [], [&quot;cssProperties&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.forcePseudoState&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;forcedPseudoClasses&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;CSS.startSelectorProfiler&quot;, [], []);
-InspectorBackend.registerCommand(&quot;CSS.stopSelectorProfiler&quot;, [], [&quot;profile&quot;]);
-InspectorBackend.registerCommand(&quot;CSS.getNamedFlowCollection&quot;, [{&quot;name&quot;: &quot;documentNodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;namedFlows&quot;]);
-
-// Timeline.
-InspectorBackend.registerTimelineDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Timeline&quot;);
-InspectorBackend.registerEnum(&quot;Timeline.EventType&quot;, {EventDispatch: &quot;EventDispatch&quot;, BeginFrame: &quot;BeginFrame&quot;, ScheduleStyleRecalculation: &quot;ScheduleStyleRecalculation&quot;, RecalculateStyles: &quot;RecalculateStyles&quot;, InvalidateLayout: &quot;InvalidateLayout&quot;, Layout: &quot;Layout&quot;, Paint: &quot;Paint&quot;, ScrollLayer: &quot;ScrollLayer&quot;, ResizeImage: &quot;ResizeImage&quot;, CompositeLayers: &quot;CompositeLayers&quot;, ParseHTML: &quot;ParseHTML&quot;, TimerInstall: &quot;TimerInstall&quot;, TimerRemove: &quot;TimerRemove&quot;, TimerFire: &quot;TimerFire&quot;, EvaluateScript: &quot;EvaluateScript&quot;, MarkLoad: &quot;MarkLoad&quot;, MarkDOMContent: &quot;MarkDOMContent&quot;, TimeStamp: &quot;TimeStamp&quot;, Time: &quot;Time&quot;, TimeEnd: &quot;TimeEnd&quot;, ScheduleResourceRequest: &quot;ScheduleResourceRequest&quot;, ResourceSendRequest: &quot;ResourceSendRequest&quot;, ResourceReceiveResponse: &quot;ResourceReceiveResponse&quot;, ResourceReceivedData: &quot;ResourceReceivedData&quot;, ResourceFinish: &quot;ResourceFinish&quot;, XHRReadyStateChange: &quot;XHRReadyStateChange&quot;, XHRLoad: &quot;XHRLoad&quot;, FunctionCall: &quot;FunctionCall&quot;, GCEvent: &quot;GCEvent&quot;, RequestAnimationFrame: &quot;RequestAnimationFrame&quot;, CancelAnimationFrame: &quot;CancelAnimationFrame&quot;, FireAnimationFrame: &quot;FireAnimationFrame&quot;, WebSocketCreate: &quot;WebSocketCreate&quot;, WebSocketSendHandshakeRequest: &quot;WebSocketSendHandshakeRequest&quot;, WebSocketReceiveHandshakeResponse: &quot;WebSocketReceiveHandshakeResponse&quot;, WebSocketDestroy: &quot;WebSocketDestroy&quot;});
-InspectorBackend.registerEvent(&quot;Timeline.eventRecorded&quot;, [&quot;record&quot;]);
-InspectorBackend.registerCommand(&quot;Timeline.start&quot;, [{&quot;name&quot;: &quot;maxCallStackDepth&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;includeDomCounters&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;includeNativeMemoryStatistics&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;Timeline.stop&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Timeline.supportsFrameInstrumentation&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Timeline.canMonitorMainThread&quot;, [], [&quot;result&quot;]);
-
-// Debugger.
-InspectorBackend.registerDebuggerDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Debugger&quot;);
-InspectorBackend.registerEnum(&quot;Debugger.ScopeType&quot;, {Global: &quot;global&quot;, Local: &quot;local&quot;, With: &quot;with&quot;, Closure: &quot;closure&quot;, Catch: &quot;catch&quot;});
-InspectorBackend.registerEvent(&quot;Debugger.globalObjectCleared&quot;, []);
-InspectorBackend.registerEvent(&quot;Debugger.scriptParsed&quot;, [&quot;scriptId&quot;, &quot;url&quot;, &quot;startLine&quot;, &quot;startColumn&quot;, &quot;endLine&quot;, &quot;endColumn&quot;, &quot;isContentScript&quot;, &quot;sourceMapURL&quot;, &quot;hasSourceURL&quot;]);
-InspectorBackend.registerEvent(&quot;Debugger.scriptFailedToParse&quot;, [&quot;url&quot;, &quot;scriptSource&quot;, &quot;startLine&quot;, &quot;errorLine&quot;, &quot;errorMessage&quot;]);
-InspectorBackend.registerEvent(&quot;Debugger.breakpointResolved&quot;, [&quot;breakpointId&quot;, &quot;location&quot;]);
-InspectorBackend.registerEvent(&quot;Debugger.paused&quot;, [&quot;callFrames&quot;, &quot;reason&quot;, &quot;data&quot;]);
-InspectorBackend.registerEvent(&quot;Debugger.resumed&quot;, []);
-InspectorBackend.registerCommand(&quot;Debugger.causesRecompilation&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.supportsSeparateScriptCompilationAndExecution&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Debugger.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Debugger.setBreakpointsActive&quot;, [{&quot;name&quot;: &quot;active&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Debugger.setBreakpointByUrl&quot;, [{&quot;name&quot;: &quot;lineNumber&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;urlRegex&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;columnNumber&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;condition&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;breakpointId&quot;, &quot;locations&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.setBreakpoint&quot;, [{&quot;name&quot;: &quot;location&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;condition&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;breakpointId&quot;, &quot;actualLocation&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.removeBreakpoint&quot;, [{&quot;name&quot;: &quot;breakpointId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Debugger.continueToLocation&quot;, [{&quot;name&quot;: &quot;location&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Debugger.stepOver&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Debugger.stepInto&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Debugger.stepOut&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Debugger.pause&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Debugger.resume&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Debugger.searchInContent&quot;, [{&quot;name&quot;: &quot;scriptId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;query&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;caseSensitive&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;isRegex&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.canSetScriptSource&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.setScriptSource&quot;, [{&quot;name&quot;: &quot;scriptId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;scriptSource&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;preview&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;callFrames&quot;, &quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.restartFrame&quot;, [{&quot;name&quot;: &quot;callFrameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;callFrames&quot;, &quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.getScriptSource&quot;, [{&quot;name&quot;: &quot;scriptId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;scriptSource&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.getFunctionDetails&quot;, [{&quot;name&quot;: &quot;functionId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;details&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.setPauseOnExceptions&quot;, [{&quot;name&quot;: &quot;state&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Debugger.evaluateOnCallFrame&quot;, [{&quot;name&quot;: &quot;callFrameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;expression&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;includeCommandLineAPI&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;doNotPauseOnExceptionsAndMuteConsole&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;returnByValue&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;generatePreview&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;, &quot;wasThrown&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.compileScript&quot;, [{&quot;name&quot;: &quot;expression&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;sourceURL&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;scriptId&quot;, &quot;syntaxErrorMessage&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.runScript&quot;, [{&quot;name&quot;: &quot;scriptId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;contextId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;doNotPauseOnExceptionsAndMuteConsole&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;, &quot;wasThrown&quot;]);
-InspectorBackend.registerCommand(&quot;Debugger.setOverlayMessage&quot;, [{&quot;name&quot;: &quot;message&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;Debugger.setVariableValue&quot;, [{&quot;name&quot;: &quot;scopeNumber&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;variableName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;newValue&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;callFrameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;functionObjectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], []);
-
-// DOMDebugger.
-InspectorBackend.registerEnum(&quot;DOMDebugger.DOMBreakpointType&quot;, {SubtreeModified: &quot;subtree-modified&quot;, AttributeModified: &quot;attribute-modified&quot;, NodeRemoved: &quot;node-removed&quot;});
-InspectorBackend.registerCommand(&quot;DOMDebugger.setDOMBreakpoint&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOMDebugger.removeDOMBreakpoint&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOMDebugger.setEventListenerBreakpoint&quot;, [{&quot;name&quot;: &quot;eventName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOMDebugger.removeEventListenerBreakpoint&quot;, [{&quot;name&quot;: &quot;eventName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOMDebugger.setInstrumentationBreakpoint&quot;, [{&quot;name&quot;: &quot;eventName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOMDebugger.removeInstrumentationBreakpoint&quot;, [{&quot;name&quot;: &quot;eventName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOMDebugger.setXHRBreakpoint&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;DOMDebugger.removeXHRBreakpoint&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-
-// Profiler.
-InspectorBackend.registerProfilerDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Profiler&quot;);
-InspectorBackend.registerEnum(&quot;Profiler.ProfileHeaderTypeId&quot;, {CPU: &quot;CPU&quot;, CSS: &quot;CSS&quot;, HEAP: &quot;HEAP&quot;});
-InspectorBackend.registerEvent(&quot;Profiler.addProfileHeader&quot;, [&quot;header&quot;]);
-InspectorBackend.registerEvent(&quot;Profiler.addHeapSnapshotChunk&quot;, [&quot;uid&quot;, &quot;chunk&quot;]);
-InspectorBackend.registerEvent(&quot;Profiler.finishHeapSnapshot&quot;, [&quot;uid&quot;]);
-InspectorBackend.registerEvent(&quot;Profiler.setRecordingProfile&quot;, [&quot;isProfiling&quot;]);
-InspectorBackend.registerEvent(&quot;Profiler.resetProfiles&quot;, []);
-InspectorBackend.registerEvent(&quot;Profiler.reportHeapSnapshotProgress&quot;, [&quot;done&quot;, &quot;total&quot;]);
-InspectorBackend.registerCommand(&quot;Profiler.causesRecompilation&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Profiler.isSampling&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Profiler.hasHeapProfiler&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Profiler.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Profiler.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Profiler.start&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Profiler.stop&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Profiler.getProfileHeaders&quot;, [], [&quot;headers&quot;]);
-InspectorBackend.registerCommand(&quot;Profiler.getCPUProfile&quot;, [{&quot;name&quot;: &quot;uid&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;profile&quot;]);
-InspectorBackend.registerCommand(&quot;Profiler.getHeapSnapshot&quot;, [{&quot;name&quot;: &quot;uid&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Profiler.removeProfile&quot;, [{&quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;uid&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Profiler.clearProfiles&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Profiler.takeHeapSnapshot&quot;, [{&quot;name&quot;: &quot;reportProgress&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;Profiler.collectGarbage&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Profiler.getObjectByHeapObjectId&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Profiler.getHeapObjectId&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;heapSnapshotObjectId&quot;]);
-
-// HeapProfiler.
-InspectorBackend.registerHeapProfilerDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;HeapProfiler&quot;);
-InspectorBackend.registerEvent(&quot;HeapProfiler.addProfileHeader&quot;, [&quot;header&quot;]);
-InspectorBackend.registerEvent(&quot;HeapProfiler.addHeapSnapshotChunk&quot;, [&quot;uid&quot;, &quot;chunk&quot;]);
-InspectorBackend.registerEvent(&quot;HeapProfiler.finishHeapSnapshot&quot;, [&quot;uid&quot;]);
-InspectorBackend.registerEvent(&quot;HeapProfiler.resetProfiles&quot;, []);
-InspectorBackend.registerEvent(&quot;HeapProfiler.reportHeapSnapshotProgress&quot;, [&quot;done&quot;, &quot;total&quot;]);
-InspectorBackend.registerCommand(&quot;HeapProfiler.hasHeapProfiler&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;HeapProfiler.getProfileHeaders&quot;, [], [&quot;headers&quot;]);
-InspectorBackend.registerCommand(&quot;HeapProfiler.getHeapSnapshot&quot;, [{&quot;name&quot;: &quot;uid&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;HeapProfiler.removeProfile&quot;, [{&quot;name&quot;: &quot;uid&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;HeapProfiler.clearProfiles&quot;, [], []);
-InspectorBackend.registerCommand(&quot;HeapProfiler.takeHeapSnapshot&quot;, [{&quot;name&quot;: &quot;reportProgress&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;HeapProfiler.collectGarbage&quot;, [], []);
-InspectorBackend.registerCommand(&quot;HeapProfiler.getObjectByHeapObjectId&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;HeapProfiler.getHeapObjectId&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;heapSnapshotObjectId&quot;]);
-
-// Worker.
-InspectorBackend.registerWorkerDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Worker&quot;);
-InspectorBackend.registerEvent(&quot;Worker.workerCreated&quot;, [&quot;workerId&quot;, &quot;url&quot;, &quot;inspectorConnected&quot;]);
-InspectorBackend.registerEvent(&quot;Worker.workerTerminated&quot;, [&quot;workerId&quot;]);
-InspectorBackend.registerEvent(&quot;Worker.dispatchMessageFromWorker&quot;, [&quot;workerId&quot;, &quot;message&quot;]);
-InspectorBackend.registerEvent(&quot;Worker.disconnectedFromWorker&quot;, []);
-InspectorBackend.registerCommand(&quot;Worker.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Worker.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Worker.sendMessageToWorker&quot;, [{&quot;name&quot;: &quot;workerId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;message&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Worker.canInspectWorkers&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Worker.connectToWorker&quot;, [{&quot;name&quot;: &quot;workerId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Worker.disconnectFromWorker&quot;, [{&quot;name&quot;: &quot;workerId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Worker.setAutoconnectToWorkers&quot;, [{&quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
-
-// Canvas.
-InspectorBackend.registerCanvasDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Canvas&quot;);
-InspectorBackend.registerEvent(&quot;Canvas.contextCreated&quot;, [&quot;frameId&quot;]);
-InspectorBackend.registerEvent(&quot;Canvas.traceLogsRemoved&quot;, [&quot;frameId&quot;, &quot;traceLogId&quot;]);
-InspectorBackend.registerCommand(&quot;Canvas.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Canvas.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;Canvas.dropTraceLog&quot;, [{&quot;name&quot;: &quot;traceLogId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Canvas.hasUninstrumentedCanvases&quot;, [], [&quot;result&quot;]);
-InspectorBackend.registerCommand(&quot;Canvas.captureFrame&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;traceLogId&quot;]);
-InspectorBackend.registerCommand(&quot;Canvas.startCapturing&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;traceLogId&quot;]);
-InspectorBackend.registerCommand(&quot;Canvas.stopCapturing&quot;, [{&quot;name&quot;: &quot;traceLogId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
-InspectorBackend.registerCommand(&quot;Canvas.getTraceLog&quot;, [{&quot;name&quot;: &quot;traceLogId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;startOffset&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;maxLength&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}], [&quot;traceLog&quot;]);
-InspectorBackend.registerCommand(&quot;Canvas.replayTraceLog&quot;, [{&quot;name&quot;: &quot;traceLogId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;stepNo&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;resourceState&quot;]);
-InspectorBackend.registerCommand(&quot;Canvas.getResourceInfo&quot;, [{&quot;name&quot;: &quot;resourceId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;resourceInfo&quot;]);
-InspectorBackend.registerCommand(&quot;Canvas.getResourceState&quot;, [{&quot;name&quot;: &quot;traceLogId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;resourceId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;resourceState&quot;]);
-
-// Input.
-InspectorBackend.registerInputDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Input&quot;);
-InspectorBackend.registerCommand(&quot;Input.dispatchKeyEvent&quot;, [{&quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;modifiers&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;timestamp&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;text&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;unmodifiedText&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;keyIdentifier&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;windowsVirtualKeyCode&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;nativeVirtualKeyCode&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;macCharCode&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;autoRepeat&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;isKeypad&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;isSystemKey&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], []);
-InspectorBackend.registerCommand(&quot;Input.dispatchMouseEvent&quot;, [{&quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;x&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;y&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;modifiers&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;timestamp&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;button&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;clickCount&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}], []);
-
-// LayerTree.
-InspectorBackend.registerLayerTreeDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;LayerTree&quot;);
-InspectorBackend.registerEvent(&quot;LayerTree.layerTreeDidChange&quot;, []);
-InspectorBackend.registerCommand(&quot;LayerTree.enable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;LayerTree.disable&quot;, [], []);
-InspectorBackend.registerCommand(&quot;LayerTree.layersForNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;layers&quot;]);
-InspectorBackend.registerCommand(&quot;LayerTree.reasonsForCompositingLayer&quot;, [{&quot;name&quot;: &quot;layerId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;compositingReasons&quot;]);
</del></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceLegacy70InspectorWebBackendCommandsjsfromrev160556trunkSourceWebInspectorUIUserInterfaceLegacy70InspectorBackendCommandsjs"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebInspectorUI/UserInterface/Legacy/7.0/InspectorWebBackendCommands.js (from rev 160556, trunk/Source/WebInspectorUI/UserInterface/Legacy/7.0/InspectorBackendCommands.js) (0 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Legacy/7.0/InspectorWebBackendCommands.js                                (rev 0)
+++ trunk/Source/WebInspectorUI/UserInterface/Legacy/7.0/InspectorWebBackendCommands.js        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -0,0 +1,403 @@
</span><ins>+// File is generated by JavaScriptCore/inspector/scripts/CodeGeneratorInspector.py
+
+// Copyright (c) 2013 Apple Inc. All Rights Reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+
+// Inspector.
+InspectorBackend.registerInspectorDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Inspector&quot;);
+InspectorBackend.registerEvent(&quot;Inspector.evaluateForTestInFrontend&quot;, [&quot;testCallId&quot;, &quot;script&quot;]);
+InspectorBackend.registerEvent(&quot;Inspector.inspect&quot;, [&quot;object&quot;, &quot;hints&quot;]);
+InspectorBackend.registerEvent(&quot;Inspector.detached&quot;, [&quot;reason&quot;]);
+InspectorBackend.registerEvent(&quot;Inspector.targetCrashed&quot;, []);
+InspectorBackend.registerCommand(&quot;Inspector.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Inspector.disable&quot;, [], []);
+
+// Memory.
+InspectorBackend.registerMemoryDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Memory&quot;);
+InspectorBackend.registerCommand(&quot;Memory.getDOMCounters&quot;, [], [&quot;documents&quot;, &quot;nodes&quot;, &quot;jsEventListeners&quot;]);
+
+// Page.
+InspectorBackend.registerPageDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Page&quot;);
+InspectorBackend.registerEnum(&quot;Page.ResourceType&quot;, {Document: &quot;Document&quot;, Stylesheet: &quot;Stylesheet&quot;, Image: &quot;Image&quot;, Font: &quot;Font&quot;, Script: &quot;Script&quot;, XHR: &quot;XHR&quot;, WebSocket: &quot;WebSocket&quot;, Other: &quot;Other&quot;});
+InspectorBackend.registerEvent(&quot;Page.domContentEventFired&quot;, [&quot;timestamp&quot;]);
+InspectorBackend.registerEvent(&quot;Page.loadEventFired&quot;, [&quot;timestamp&quot;]);
+InspectorBackend.registerEvent(&quot;Page.frameNavigated&quot;, [&quot;frame&quot;]);
+InspectorBackend.registerEvent(&quot;Page.frameDetached&quot;, [&quot;frameId&quot;]);
+InspectorBackend.registerEvent(&quot;Page.frameStartedLoading&quot;, [&quot;frameId&quot;]);
+InspectorBackend.registerEvent(&quot;Page.frameStoppedLoading&quot;, [&quot;frameId&quot;]);
+InspectorBackend.registerEvent(&quot;Page.frameScheduledNavigation&quot;, [&quot;frameId&quot;, &quot;delay&quot;]);
+InspectorBackend.registerEvent(&quot;Page.frameClearedScheduledNavigation&quot;, [&quot;frameId&quot;]);
+InspectorBackend.registerEvent(&quot;Page.javascriptDialogOpening&quot;, [&quot;message&quot;]);
+InspectorBackend.registerEvent(&quot;Page.javascriptDialogClosed&quot;, []);
+InspectorBackend.registerEvent(&quot;Page.scriptsEnabled&quot;, [&quot;isEnabled&quot;]);
+InspectorBackend.registerCommand(&quot;Page.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Page.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Page.addScriptToEvaluateOnLoad&quot;, [{&quot;name&quot;: &quot;scriptSource&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;identifier&quot;]);
+InspectorBackend.registerCommand(&quot;Page.removeScriptToEvaluateOnLoad&quot;, [{&quot;name&quot;: &quot;identifier&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.reload&quot;, [{&quot;name&quot;: &quot;ignoreCache&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;scriptToEvaluateOnLoad&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;scriptPreprocessor&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;Page.navigate&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.getCookies&quot;, [], [&quot;cookies&quot;, &quot;cookiesString&quot;]);
+InspectorBackend.registerCommand(&quot;Page.deleteCookie&quot;, [{&quot;name&quot;: &quot;cookieName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.getResourceTree&quot;, [], [&quot;frameTree&quot;]);
+InspectorBackend.registerCommand(&quot;Page.getResourceContent&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;content&quot;, &quot;base64Encoded&quot;]);
+InspectorBackend.registerCommand(&quot;Page.searchInResource&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;query&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;caseSensitive&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;isRegex&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Page.searchInResources&quot;, [{&quot;name&quot;: &quot;text&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;caseSensitive&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;isRegex&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Page.setDocumentContent&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;html&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.canOverrideDeviceMetrics&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Page.setDeviceMetricsOverride&quot;, [{&quot;name&quot;: &quot;width&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;height&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;fontScaleFactor&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;fitWindow&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.setShowPaintRects&quot;, [{&quot;name&quot;: &quot;result&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.canShowDebugBorders&quot;, [], [&quot;show&quot;]);
+InspectorBackend.registerCommand(&quot;Page.setShowDebugBorders&quot;, [{&quot;name&quot;: &quot;show&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.canShowFPSCounter&quot;, [], [&quot;show&quot;]);
+InspectorBackend.registerCommand(&quot;Page.setShowFPSCounter&quot;, [{&quot;name&quot;: &quot;show&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.canContinuouslyPaint&quot;, [], [&quot;value&quot;]);
+InspectorBackend.registerCommand(&quot;Page.setContinuousPaintingEnabled&quot;, [{&quot;name&quot;: &quot;enabled&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.getScriptExecutionStatus&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Page.setScriptExecutionDisabled&quot;, [{&quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.setGeolocationOverride&quot;, [{&quot;name&quot;: &quot;latitude&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;longitude&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;accuracy&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;Page.clearGeolocationOverride&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Page.canOverrideGeolocation&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Page.setDeviceOrientationOverride&quot;, [{&quot;name&quot;: &quot;alpha&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;beta&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;gamma&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.clearDeviceOrientationOverride&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Page.canOverrideDeviceOrientation&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Page.setTouchEmulationEnabled&quot;, [{&quot;name&quot;: &quot;enabled&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.setEmulatedMedia&quot;, [{&quot;name&quot;: &quot;media&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.getCompositingBordersVisible&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Page.setCompositingBordersVisible&quot;, [{&quot;name&quot;: &quot;visible&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Page.handleJavaScriptDialog&quot;, [{&quot;name&quot;: &quot;accept&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;promptText&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], []);
+
+// Runtime.
+InspectorBackend.registerRuntimeDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Runtime&quot;);
+InspectorBackend.registerEnum(&quot;Runtime.RemoteObjectType&quot;, {Object: &quot;object&quot;, Function: &quot;function&quot;, Undefined: &quot;undefined&quot;, String: &quot;string&quot;, Number: &quot;number&quot;, Boolean: &quot;boolean&quot;});
+InspectorBackend.registerEnum(&quot;Runtime.RemoteObjectSubtype&quot;, {Array: &quot;array&quot;, Null: &quot;null&quot;, Node: &quot;node&quot;, Regexp: &quot;regexp&quot;, Date: &quot;date&quot;});
+InspectorBackend.registerEnum(&quot;Runtime.PropertyPreviewType&quot;, {Object: &quot;object&quot;, Function: &quot;function&quot;, Undefined: &quot;undefined&quot;, String: &quot;string&quot;, Number: &quot;number&quot;, Boolean: &quot;boolean&quot;});
+InspectorBackend.registerEnum(&quot;Runtime.PropertyPreviewSubtype&quot;, {Array: &quot;array&quot;, Null: &quot;null&quot;, Node: &quot;node&quot;, Regexp: &quot;regexp&quot;, Date: &quot;date&quot;});
+InspectorBackend.registerEnum(&quot;Runtime.SyntaxErrorType&quot;, {None: &quot;none&quot;, Irrecoverable: &quot;irrecoverable&quot;, UnterminatedLiteral: &quot;unterminated-literal&quot;, Recoverable: &quot;recoverable&quot;});
+InspectorBackend.registerEvent(&quot;Runtime.executionContextCreated&quot;, [&quot;context&quot;]);
+InspectorBackend.registerCommand(&quot;Runtime.parse&quot;, [{&quot;name&quot;: &quot;source&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;result&quot;, &quot;message&quot;, &quot;range&quot;]);
+InspectorBackend.registerCommand(&quot;Runtime.evaluate&quot;, [{&quot;name&quot;: &quot;expression&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;includeCommandLineAPI&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;doNotPauseOnExceptionsAndMuteConsole&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;contextId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;returnByValue&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;generatePreview&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;, &quot;wasThrown&quot;]);
+InspectorBackend.registerCommand(&quot;Runtime.callFunctionOn&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;functionDeclaration&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;arguments&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;doNotPauseOnExceptionsAndMuteConsole&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;returnByValue&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;generatePreview&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;, &quot;wasThrown&quot;]);
+InspectorBackend.registerCommand(&quot;Runtime.getProperties&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;ownProperties&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;, &quot;internalProperties&quot;]);
+InspectorBackend.registerCommand(&quot;Runtime.releaseObject&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Runtime.releaseObjectGroup&quot;, [{&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Runtime.run&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Runtime.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Runtime.disable&quot;, [], []);
+
+// Console.
+InspectorBackend.registerConsoleDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Console&quot;);
+InspectorBackend.registerEnum(&quot;Console.ConsoleMessageSource&quot;, {XML: &quot;xml&quot;, Javascript: &quot;javascript&quot;, Network: &quot;network&quot;, ConsoleAPI: &quot;console-api&quot;, Storage: &quot;storage&quot;, Appcache: &quot;appcache&quot;, Rendering: &quot;rendering&quot;, CSS: &quot;css&quot;, Security: &quot;security&quot;, Other: &quot;other&quot;});
+InspectorBackend.registerEnum(&quot;Console.ConsoleMessageLevel&quot;, {Log: &quot;log&quot;, Warning: &quot;warning&quot;, Error: &quot;error&quot;, Debug: &quot;debug&quot;});
+InspectorBackend.registerEnum(&quot;Console.ConsoleMessageType&quot;, {Log: &quot;log&quot;, Dir: &quot;dir&quot;, DirXML: &quot;dirxml&quot;, Table: &quot;table&quot;, Trace: &quot;trace&quot;, Clear: &quot;clear&quot;, StartGroup: &quot;startGroup&quot;, StartGroupCollapsed: &quot;startGroupCollapsed&quot;, EndGroup: &quot;endGroup&quot;, Assert: &quot;assert&quot;, Timing: &quot;timing&quot;, Profile: &quot;profile&quot;, ProfileEnd: &quot;profileEnd&quot;});
+InspectorBackend.registerEvent(&quot;Console.messageAdded&quot;, [&quot;message&quot;]);
+InspectorBackend.registerEvent(&quot;Console.messageRepeatCountUpdated&quot;, [&quot;count&quot;]);
+InspectorBackend.registerEvent(&quot;Console.messagesCleared&quot;, []);
+InspectorBackend.registerCommand(&quot;Console.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Console.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Console.clearMessages&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Console.setMonitoringXHREnabled&quot;, [{&quot;name&quot;: &quot;enabled&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Console.addInspectedNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Console.addInspectedHeapObject&quot;, [{&quot;name&quot;: &quot;heapObjectId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
+
+// Network.
+InspectorBackend.registerNetworkDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Network&quot;);
+InspectorBackend.registerEnum(&quot;Network.InitiatorType&quot;, {Parser: &quot;parser&quot;, Script: &quot;script&quot;, Other: &quot;other&quot;});
+InspectorBackend.registerEvent(&quot;Network.requestWillBeSent&quot;, [&quot;requestId&quot;, &quot;frameId&quot;, &quot;loaderId&quot;, &quot;documentURL&quot;, &quot;request&quot;, &quot;timestamp&quot;, &quot;initiator&quot;, &quot;redirectResponse&quot;, &quot;type&quot;]);
+InspectorBackend.registerEvent(&quot;Network.requestServedFromCache&quot;, [&quot;requestId&quot;]);
+InspectorBackend.registerEvent(&quot;Network.responseReceived&quot;, [&quot;requestId&quot;, &quot;frameId&quot;, &quot;loaderId&quot;, &quot;timestamp&quot;, &quot;type&quot;, &quot;response&quot;]);
+InspectorBackend.registerEvent(&quot;Network.dataReceived&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;dataLength&quot;, &quot;encodedDataLength&quot;]);
+InspectorBackend.registerEvent(&quot;Network.loadingFinished&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;sourceMapURL&quot;]);
+InspectorBackend.registerEvent(&quot;Network.loadingFailed&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;errorText&quot;, &quot;canceled&quot;]);
+InspectorBackend.registerEvent(&quot;Network.requestServedFromMemoryCache&quot;, [&quot;requestId&quot;, &quot;frameId&quot;, &quot;loaderId&quot;, &quot;documentURL&quot;, &quot;timestamp&quot;, &quot;initiator&quot;, &quot;resource&quot;]);
+InspectorBackend.registerEvent(&quot;Network.webSocketWillSendHandshakeRequest&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;request&quot;]);
+InspectorBackend.registerEvent(&quot;Network.webSocketHandshakeResponseReceived&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;response&quot;]);
+InspectorBackend.registerEvent(&quot;Network.webSocketCreated&quot;, [&quot;requestId&quot;, &quot;url&quot;]);
+InspectorBackend.registerEvent(&quot;Network.webSocketClosed&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;]);
+InspectorBackend.registerEvent(&quot;Network.webSocketFrameReceived&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;response&quot;]);
+InspectorBackend.registerEvent(&quot;Network.webSocketFrameError&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;errorMessage&quot;]);
+InspectorBackend.registerEvent(&quot;Network.webSocketFrameSent&quot;, [&quot;requestId&quot;, &quot;timestamp&quot;, &quot;response&quot;]);
+InspectorBackend.registerCommand(&quot;Network.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Network.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Network.setUserAgentOverride&quot;, [{&quot;name&quot;: &quot;userAgent&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Network.setExtraHTTPHeaders&quot;, [{&quot;name&quot;: &quot;headers&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Network.getResponseBody&quot;, [{&quot;name&quot;: &quot;requestId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;body&quot;, &quot;base64Encoded&quot;]);
+InspectorBackend.registerCommand(&quot;Network.replayXHR&quot;, [{&quot;name&quot;: &quot;requestId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Network.canClearBrowserCache&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Network.clearBrowserCache&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Network.canClearBrowserCookies&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Network.clearBrowserCookies&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Network.setCacheDisabled&quot;, [{&quot;name&quot;: &quot;cacheDisabled&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
+
+// Database.
+InspectorBackend.registerDatabaseDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Database&quot;);
+InspectorBackend.registerEvent(&quot;Database.addDatabase&quot;, [&quot;database&quot;]);
+InspectorBackend.registerCommand(&quot;Database.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Database.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Database.getDatabaseTableNames&quot;, [{&quot;name&quot;: &quot;databaseId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;tableNames&quot;]);
+InspectorBackend.registerCommand(&quot;Database.executeSQL&quot;, [{&quot;name&quot;: &quot;databaseId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;query&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;columnNames&quot;, &quot;values&quot;, &quot;sqlError&quot;]);
+
+// IndexedDB.
+InspectorBackend.registerIndexedDBDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;IndexedDB&quot;);
+InspectorBackend.registerEnum(&quot;IndexedDB.KeyType&quot;, {Number: &quot;number&quot;, String: &quot;string&quot;, Date: &quot;date&quot;, Array: &quot;array&quot;});
+InspectorBackend.registerEnum(&quot;IndexedDB.KeyPathType&quot;, {Null: &quot;null&quot;, String: &quot;string&quot;, Array: &quot;array&quot;});
+InspectorBackend.registerCommand(&quot;IndexedDB.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;IndexedDB.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;IndexedDB.requestDatabaseNames&quot;, [{&quot;name&quot;: &quot;securityOrigin&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;databaseNames&quot;]);
+InspectorBackend.registerCommand(&quot;IndexedDB.requestDatabase&quot;, [{&quot;name&quot;: &quot;securityOrigin&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;databaseName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;databaseWithObjectStores&quot;]);
+InspectorBackend.registerCommand(&quot;IndexedDB.requestData&quot;, [{&quot;name&quot;: &quot;securityOrigin&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;databaseName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectStoreName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;indexName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;skipCount&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;pageSize&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;keyRange&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}], [&quot;objectStoreDataEntries&quot;, &quot;hasMore&quot;]);
+InspectorBackend.registerCommand(&quot;IndexedDB.clearObjectStore&quot;, [{&quot;name&quot;: &quot;securityOrigin&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;databaseName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectStoreName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+
+// DOMStorage.
+InspectorBackend.registerDOMStorageDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;DOMStorage&quot;);
+InspectorBackend.registerEvent(&quot;DOMStorage.domStorageItemsCleared&quot;, [&quot;storageId&quot;]);
+InspectorBackend.registerEvent(&quot;DOMStorage.domStorageItemRemoved&quot;, [&quot;storageId&quot;, &quot;key&quot;]);
+InspectorBackend.registerEvent(&quot;DOMStorage.domStorageItemAdded&quot;, [&quot;storageId&quot;, &quot;key&quot;, &quot;newValue&quot;]);
+InspectorBackend.registerEvent(&quot;DOMStorage.domStorageItemUpdated&quot;, [&quot;storageId&quot;, &quot;key&quot;, &quot;oldValue&quot;, &quot;newValue&quot;]);
+InspectorBackend.registerCommand(&quot;DOMStorage.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;DOMStorage.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;DOMStorage.getDOMStorageItems&quot;, [{&quot;name&quot;: &quot;storageId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}], [&quot;entries&quot;]);
+InspectorBackend.registerCommand(&quot;DOMStorage.setDOMStorageItem&quot;, [{&quot;name&quot;: &quot;storageId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;key&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOMStorage.removeDOMStorageItem&quot;, [{&quot;name&quot;: &quot;storageId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;key&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+
+// ApplicationCache.
+InspectorBackend.registerApplicationCacheDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;ApplicationCache&quot;);
+InspectorBackend.registerEvent(&quot;ApplicationCache.applicationCacheStatusUpdated&quot;, [&quot;frameId&quot;, &quot;manifestURL&quot;, &quot;status&quot;]);
+InspectorBackend.registerEvent(&quot;ApplicationCache.networkStateUpdated&quot;, [&quot;isNowOnline&quot;]);
+InspectorBackend.registerCommand(&quot;ApplicationCache.getFramesWithManifests&quot;, [], [&quot;frameIds&quot;]);
+InspectorBackend.registerCommand(&quot;ApplicationCache.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;ApplicationCache.getManifestForFrame&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;manifestURL&quot;]);
+InspectorBackend.registerCommand(&quot;ApplicationCache.getApplicationCacheForFrame&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;applicationCache&quot;]);
+
+// FileSystem.
+InspectorBackend.registerFileSystemDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;FileSystem&quot;);
+InspectorBackend.registerCommand(&quot;FileSystem.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;FileSystem.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;FileSystem.requestFileSystemRoot&quot;, [{&quot;name&quot;: &quot;origin&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;errorCode&quot;, &quot;root&quot;]);
+InspectorBackend.registerCommand(&quot;FileSystem.requestDirectoryContent&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;errorCode&quot;, &quot;entries&quot;]);
+InspectorBackend.registerCommand(&quot;FileSystem.requestMetadata&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;errorCode&quot;, &quot;metadata&quot;]);
+InspectorBackend.registerCommand(&quot;FileSystem.requestFileContent&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;readAsText&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;start&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;end&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;charset&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;errorCode&quot;, &quot;content&quot;, &quot;charset&quot;]);
+InspectorBackend.registerCommand(&quot;FileSystem.deleteEntry&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;errorCode&quot;]);
+
+// DOM.
+InspectorBackend.registerDOMDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;DOM&quot;);
+InspectorBackend.registerEvent(&quot;DOM.documentUpdated&quot;, []);
+InspectorBackend.registerEvent(&quot;DOM.setChildNodes&quot;, [&quot;parentId&quot;, &quot;nodes&quot;]);
+InspectorBackend.registerEvent(&quot;DOM.attributeModified&quot;, [&quot;nodeId&quot;, &quot;name&quot;, &quot;value&quot;]);
+InspectorBackend.registerEvent(&quot;DOM.attributeRemoved&quot;, [&quot;nodeId&quot;, &quot;name&quot;]);
+InspectorBackend.registerEvent(&quot;DOM.inlineStyleInvalidated&quot;, [&quot;nodeIds&quot;]);
+InspectorBackend.registerEvent(&quot;DOM.characterDataModified&quot;, [&quot;nodeId&quot;, &quot;characterData&quot;]);
+InspectorBackend.registerEvent(&quot;DOM.childNodeCountUpdated&quot;, [&quot;nodeId&quot;, &quot;childNodeCount&quot;]);
+InspectorBackend.registerEvent(&quot;DOM.childNodeInserted&quot;, [&quot;parentNodeId&quot;, &quot;previousNodeId&quot;, &quot;node&quot;]);
+InspectorBackend.registerEvent(&quot;DOM.childNodeRemoved&quot;, [&quot;parentNodeId&quot;, &quot;nodeId&quot;]);
+InspectorBackend.registerEvent(&quot;DOM.shadowRootPushed&quot;, [&quot;hostId&quot;, &quot;root&quot;]);
+InspectorBackend.registerEvent(&quot;DOM.shadowRootPopped&quot;, [&quot;hostId&quot;, &quot;rootId&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.getDocument&quot;, [], [&quot;root&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.requestChildNodes&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;depth&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;DOM.querySelector&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;selector&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;nodeId&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.querySelectorAll&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;selector&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;nodeIds&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.setNodeName&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;nodeId&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.setNodeValue&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOM.removeNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOM.setAttributeValue&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOM.setAttributesAsText&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;text&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;DOM.removeAttribute&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOM.getEventListenersForNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;listeners&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.getOuterHTML&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;outerHTML&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.setOuterHTML&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;outerHTML&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOM.performSearch&quot;, [{&quot;name&quot;: &quot;query&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;searchId&quot;, &quot;resultCount&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.getSearchResults&quot;, [{&quot;name&quot;: &quot;searchId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;fromIndex&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;toIndex&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;nodeIds&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.discardSearchResults&quot;, [{&quot;name&quot;: &quot;searchId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOM.requestNode&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;nodeId&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.setInspectModeEnabled&quot;, [{&quot;name&quot;: &quot;enabled&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;highlightConfig&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;DOM.highlightRect&quot;, [{&quot;name&quot;: &quot;x&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;y&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;width&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;height&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;color&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;outlineColor&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;usePageCoordinates&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;DOM.highlightQuad&quot;, [{&quot;name&quot;: &quot;quad&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;color&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;outlineColor&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;usePageCoordinates&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;DOM.highlightNode&quot;, [{&quot;name&quot;: &quot;highlightConfig&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;DOM.hideHighlight&quot;, [], []);
+InspectorBackend.registerCommand(&quot;DOM.highlightFrame&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;contentColor&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;contentOutlineColor&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;DOM.pushNodeByPathToFrontend&quot;, [{&quot;name&quot;: &quot;path&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;nodeId&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.pushNodeByBackendIdToFrontend&quot;, [{&quot;name&quot;: &quot;backendNodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;nodeId&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.releaseBackendNodeIds&quot;, [{&quot;name&quot;: &quot;nodeGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOM.resolveNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;object&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.getAttributes&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;attributes&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.moveTo&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;targetNodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;insertBeforeNodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}], [&quot;nodeId&quot;]);
+InspectorBackend.registerCommand(&quot;DOM.undo&quot;, [], []);
+InspectorBackend.registerCommand(&quot;DOM.redo&quot;, [], []);
+InspectorBackend.registerCommand(&quot;DOM.markUndoableState&quot;, [], []);
+InspectorBackend.registerCommand(&quot;DOM.focus&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOM.setFileInputFiles&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;files&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}], []);
+
+// CSS.
+InspectorBackend.registerCSSDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;CSS&quot;);
+InspectorBackend.registerEnum(&quot;CSS.StyleSheetOrigin&quot;, {User: &quot;user&quot;, UserAgent: &quot;user-agent&quot;, Inspector: &quot;inspector&quot;, Regular: &quot;regular&quot;});
+InspectorBackend.registerEnum(&quot;CSS.CSSPropertyStatus&quot;, {Active: &quot;active&quot;, Inactive: &quot;inactive&quot;, Disabled: &quot;disabled&quot;, Style: &quot;style&quot;});
+InspectorBackend.registerEnum(&quot;CSS.CSSMediaSource&quot;, {MediaRule: &quot;mediaRule&quot;, ImportRule: &quot;importRule&quot;, LinkedSheet: &quot;linkedSheet&quot;, InlineSheet: &quot;inlineSheet&quot;});
+InspectorBackend.registerEnum(&quot;CSS.RegionRegionOverset&quot;, {Overset: &quot;overset&quot;, Fit: &quot;fit&quot;, Empty: &quot;empty&quot;});
+InspectorBackend.registerEvent(&quot;CSS.mediaQueryResultChanged&quot;, []);
+InspectorBackend.registerEvent(&quot;CSS.styleSheetChanged&quot;, [&quot;styleSheetId&quot;]);
+InspectorBackend.registerEvent(&quot;CSS.namedFlowCreated&quot;, [&quot;namedFlow&quot;]);
+InspectorBackend.registerEvent(&quot;CSS.namedFlowRemoved&quot;, [&quot;documentNodeId&quot;, &quot;flowName&quot;]);
+InspectorBackend.registerEvent(&quot;CSS.regionLayoutUpdated&quot;, [&quot;namedFlow&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;CSS.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;CSS.getMatchedStylesForNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;includePseudo&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;includeInherited&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;matchedCSSRules&quot;, &quot;pseudoElements&quot;, &quot;inherited&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.getInlineStylesForNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;inlineStyle&quot;, &quot;attributesStyle&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.getComputedStyleForNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;computedStyle&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.getAllStyleSheets&quot;, [], [&quot;headers&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.getStyleSheet&quot;, [{&quot;name&quot;: &quot;styleSheetId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;styleSheet&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.getStyleSheetText&quot;, [{&quot;name&quot;: &quot;styleSheetId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;text&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.setStyleSheetText&quot;, [{&quot;name&quot;: &quot;styleSheetId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;text&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;CSS.setStyleText&quot;, [{&quot;name&quot;: &quot;styleId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;text&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;style&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.setPropertyText&quot;, [{&quot;name&quot;: &quot;styleId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;propertyIndex&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;text&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;overwrite&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], [&quot;style&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.toggleProperty&quot;, [{&quot;name&quot;: &quot;styleId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;propertyIndex&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;disable&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], [&quot;style&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.setRuleSelector&quot;, [{&quot;name&quot;: &quot;ruleId&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;selector&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;rule&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.addRule&quot;, [{&quot;name&quot;: &quot;contextNodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;selector&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;rule&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.getSupportedCSSProperties&quot;, [], [&quot;cssProperties&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.forcePseudoState&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;forcedPseudoClasses&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;CSS.startSelectorProfiler&quot;, [], []);
+InspectorBackend.registerCommand(&quot;CSS.stopSelectorProfiler&quot;, [], [&quot;profile&quot;]);
+InspectorBackend.registerCommand(&quot;CSS.getNamedFlowCollection&quot;, [{&quot;name&quot;: &quot;documentNodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;namedFlows&quot;]);
+
+// Timeline.
+InspectorBackend.registerTimelineDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Timeline&quot;);
+InspectorBackend.registerEnum(&quot;Timeline.EventType&quot;, {EventDispatch: &quot;EventDispatch&quot;, BeginFrame: &quot;BeginFrame&quot;, ScheduleStyleRecalculation: &quot;ScheduleStyleRecalculation&quot;, RecalculateStyles: &quot;RecalculateStyles&quot;, InvalidateLayout: &quot;InvalidateLayout&quot;, Layout: &quot;Layout&quot;, Paint: &quot;Paint&quot;, ScrollLayer: &quot;ScrollLayer&quot;, ResizeImage: &quot;ResizeImage&quot;, CompositeLayers: &quot;CompositeLayers&quot;, ParseHTML: &quot;ParseHTML&quot;, TimerInstall: &quot;TimerInstall&quot;, TimerRemove: &quot;TimerRemove&quot;, TimerFire: &quot;TimerFire&quot;, EvaluateScript: &quot;EvaluateScript&quot;, MarkLoad: &quot;MarkLoad&quot;, MarkDOMContent: &quot;MarkDOMContent&quot;, TimeStamp: &quot;TimeStamp&quot;, Time: &quot;Time&quot;, TimeEnd: &quot;TimeEnd&quot;, ScheduleResourceRequest: &quot;ScheduleResourceRequest&quot;, ResourceSendRequest: &quot;ResourceSendRequest&quot;, ResourceReceiveResponse: &quot;ResourceReceiveResponse&quot;, ResourceReceivedData: &quot;ResourceReceivedData&quot;, ResourceFinish: &quot;ResourceFinish&quot;, XHRReadyStateChange: &quot;XHRReadyStateChange&quot;, XHRLoad: &quot;XHRLoad&quot;, FunctionCall: &quot;FunctionCall&quot;, GCEvent: &quot;GCEvent&quot;, RequestAnimationFrame: &quot;RequestAnimationFrame&quot;, CancelAnimationFrame: &quot;CancelAnimationFrame&quot;, FireAnimationFrame: &quot;FireAnimationFrame&quot;, WebSocketCreate: &quot;WebSocketCreate&quot;, WebSocketSendHandshakeRequest: &quot;WebSocketSendHandshakeRequest&quot;, WebSocketReceiveHandshakeResponse: &quot;WebSocketReceiveHandshakeResponse&quot;, WebSocketDestroy: &quot;WebSocketDestroy&quot;});
+InspectorBackend.registerEvent(&quot;Timeline.eventRecorded&quot;, [&quot;record&quot;]);
+InspectorBackend.registerCommand(&quot;Timeline.start&quot;, [{&quot;name&quot;: &quot;maxCallStackDepth&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;includeDomCounters&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;includeNativeMemoryStatistics&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;Timeline.stop&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Timeline.supportsFrameInstrumentation&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Timeline.canMonitorMainThread&quot;, [], [&quot;result&quot;]);
+
+// Debugger.
+InspectorBackend.registerDebuggerDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Debugger&quot;);
+InspectorBackend.registerEnum(&quot;Debugger.ScopeType&quot;, {Global: &quot;global&quot;, Local: &quot;local&quot;, With: &quot;with&quot;, Closure: &quot;closure&quot;, Catch: &quot;catch&quot;});
+InspectorBackend.registerEvent(&quot;Debugger.globalObjectCleared&quot;, []);
+InspectorBackend.registerEvent(&quot;Debugger.scriptParsed&quot;, [&quot;scriptId&quot;, &quot;url&quot;, &quot;startLine&quot;, &quot;startColumn&quot;, &quot;endLine&quot;, &quot;endColumn&quot;, &quot;isContentScript&quot;, &quot;sourceMapURL&quot;, &quot;hasSourceURL&quot;]);
+InspectorBackend.registerEvent(&quot;Debugger.scriptFailedToParse&quot;, [&quot;url&quot;, &quot;scriptSource&quot;, &quot;startLine&quot;, &quot;errorLine&quot;, &quot;errorMessage&quot;]);
+InspectorBackend.registerEvent(&quot;Debugger.breakpointResolved&quot;, [&quot;breakpointId&quot;, &quot;location&quot;]);
+InspectorBackend.registerEvent(&quot;Debugger.paused&quot;, [&quot;callFrames&quot;, &quot;reason&quot;, &quot;data&quot;]);
+InspectorBackend.registerEvent(&quot;Debugger.resumed&quot;, []);
+InspectorBackend.registerCommand(&quot;Debugger.causesRecompilation&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.supportsSeparateScriptCompilationAndExecution&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Debugger.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Debugger.setBreakpointsActive&quot;, [{&quot;name&quot;: &quot;active&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Debugger.setBreakpointByUrl&quot;, [{&quot;name&quot;: &quot;lineNumber&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;urlRegex&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;columnNumber&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;condition&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;breakpointId&quot;, &quot;locations&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.setBreakpoint&quot;, [{&quot;name&quot;: &quot;location&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;condition&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;breakpointId&quot;, &quot;actualLocation&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.removeBreakpoint&quot;, [{&quot;name&quot;: &quot;breakpointId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Debugger.continueToLocation&quot;, [{&quot;name&quot;: &quot;location&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Debugger.stepOver&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Debugger.stepInto&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Debugger.stepOut&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Debugger.pause&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Debugger.resume&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Debugger.searchInContent&quot;, [{&quot;name&quot;: &quot;scriptId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;query&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;caseSensitive&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;isRegex&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.canSetScriptSource&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.setScriptSource&quot;, [{&quot;name&quot;: &quot;scriptId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;scriptSource&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;preview&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;callFrames&quot;, &quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.restartFrame&quot;, [{&quot;name&quot;: &quot;callFrameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;callFrames&quot;, &quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.getScriptSource&quot;, [{&quot;name&quot;: &quot;scriptId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;scriptSource&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.getFunctionDetails&quot;, [{&quot;name&quot;: &quot;functionId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;details&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.setPauseOnExceptions&quot;, [{&quot;name&quot;: &quot;state&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Debugger.evaluateOnCallFrame&quot;, [{&quot;name&quot;: &quot;callFrameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;expression&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;includeCommandLineAPI&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;doNotPauseOnExceptionsAndMuteConsole&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;returnByValue&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;generatePreview&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;, &quot;wasThrown&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.compileScript&quot;, [{&quot;name&quot;: &quot;expression&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;sourceURL&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;scriptId&quot;, &quot;syntaxErrorMessage&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.runScript&quot;, [{&quot;name&quot;: &quot;scriptId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;contextId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;doNotPauseOnExceptionsAndMuteConsole&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], [&quot;result&quot;, &quot;wasThrown&quot;]);
+InspectorBackend.registerCommand(&quot;Debugger.setOverlayMessage&quot;, [{&quot;name&quot;: &quot;message&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;Debugger.setVariableValue&quot;, [{&quot;name&quot;: &quot;scopeNumber&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;variableName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;newValue&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;callFrameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;functionObjectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], []);
+
+// DOMDebugger.
+InspectorBackend.registerEnum(&quot;DOMDebugger.DOMBreakpointType&quot;, {SubtreeModified: &quot;subtree-modified&quot;, AttributeModified: &quot;attribute-modified&quot;, NodeRemoved: &quot;node-removed&quot;});
+InspectorBackend.registerCommand(&quot;DOMDebugger.setDOMBreakpoint&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOMDebugger.removeDOMBreakpoint&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOMDebugger.setEventListenerBreakpoint&quot;, [{&quot;name&quot;: &quot;eventName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOMDebugger.removeEventListenerBreakpoint&quot;, [{&quot;name&quot;: &quot;eventName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOMDebugger.setInstrumentationBreakpoint&quot;, [{&quot;name&quot;: &quot;eventName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOMDebugger.removeInstrumentationBreakpoint&quot;, [{&quot;name&quot;: &quot;eventName&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOMDebugger.setXHRBreakpoint&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;DOMDebugger.removeXHRBreakpoint&quot;, [{&quot;name&quot;: &quot;url&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+
+// Profiler.
+InspectorBackend.registerProfilerDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Profiler&quot;);
+InspectorBackend.registerEnum(&quot;Profiler.ProfileHeaderTypeId&quot;, {CPU: &quot;CPU&quot;, CSS: &quot;CSS&quot;, HEAP: &quot;HEAP&quot;});
+InspectorBackend.registerEvent(&quot;Profiler.addProfileHeader&quot;, [&quot;header&quot;]);
+InspectorBackend.registerEvent(&quot;Profiler.addHeapSnapshotChunk&quot;, [&quot;uid&quot;, &quot;chunk&quot;]);
+InspectorBackend.registerEvent(&quot;Profiler.finishHeapSnapshot&quot;, [&quot;uid&quot;]);
+InspectorBackend.registerEvent(&quot;Profiler.setRecordingProfile&quot;, [&quot;isProfiling&quot;]);
+InspectorBackend.registerEvent(&quot;Profiler.resetProfiles&quot;, []);
+InspectorBackend.registerEvent(&quot;Profiler.reportHeapSnapshotProgress&quot;, [&quot;done&quot;, &quot;total&quot;]);
+InspectorBackend.registerCommand(&quot;Profiler.causesRecompilation&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Profiler.isSampling&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Profiler.hasHeapProfiler&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Profiler.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Profiler.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Profiler.start&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Profiler.stop&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Profiler.getProfileHeaders&quot;, [], [&quot;headers&quot;]);
+InspectorBackend.registerCommand(&quot;Profiler.getCPUProfile&quot;, [{&quot;name&quot;: &quot;uid&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;profile&quot;]);
+InspectorBackend.registerCommand(&quot;Profiler.getHeapSnapshot&quot;, [{&quot;name&quot;: &quot;uid&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Profiler.removeProfile&quot;, [{&quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;uid&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Profiler.clearProfiles&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Profiler.takeHeapSnapshot&quot;, [{&quot;name&quot;: &quot;reportProgress&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;Profiler.collectGarbage&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Profiler.getObjectByHeapObjectId&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Profiler.getHeapObjectId&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;heapSnapshotObjectId&quot;]);
+
+// HeapProfiler.
+InspectorBackend.registerHeapProfilerDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;HeapProfiler&quot;);
+InspectorBackend.registerEvent(&quot;HeapProfiler.addProfileHeader&quot;, [&quot;header&quot;]);
+InspectorBackend.registerEvent(&quot;HeapProfiler.addHeapSnapshotChunk&quot;, [&quot;uid&quot;, &quot;chunk&quot;]);
+InspectorBackend.registerEvent(&quot;HeapProfiler.finishHeapSnapshot&quot;, [&quot;uid&quot;]);
+InspectorBackend.registerEvent(&quot;HeapProfiler.resetProfiles&quot;, []);
+InspectorBackend.registerEvent(&quot;HeapProfiler.reportHeapSnapshotProgress&quot;, [&quot;done&quot;, &quot;total&quot;]);
+InspectorBackend.registerCommand(&quot;HeapProfiler.hasHeapProfiler&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;HeapProfiler.getProfileHeaders&quot;, [], [&quot;headers&quot;]);
+InspectorBackend.registerCommand(&quot;HeapProfiler.getHeapSnapshot&quot;, [{&quot;name&quot;: &quot;uid&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;HeapProfiler.removeProfile&quot;, [{&quot;name&quot;: &quot;uid&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;HeapProfiler.clearProfiles&quot;, [], []);
+InspectorBackend.registerCommand(&quot;HeapProfiler.takeHeapSnapshot&quot;, [{&quot;name&quot;: &quot;reportProgress&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;HeapProfiler.collectGarbage&quot;, [], []);
+InspectorBackend.registerCommand(&quot;HeapProfiler.getObjectByHeapObjectId&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;objectGroup&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;HeapProfiler.getHeapObjectId&quot;, [{&quot;name&quot;: &quot;objectId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;heapSnapshotObjectId&quot;]);
+
+// Worker.
+InspectorBackend.registerWorkerDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Worker&quot;);
+InspectorBackend.registerEvent(&quot;Worker.workerCreated&quot;, [&quot;workerId&quot;, &quot;url&quot;, &quot;inspectorConnected&quot;]);
+InspectorBackend.registerEvent(&quot;Worker.workerTerminated&quot;, [&quot;workerId&quot;]);
+InspectorBackend.registerEvent(&quot;Worker.dispatchMessageFromWorker&quot;, [&quot;workerId&quot;, &quot;message&quot;]);
+InspectorBackend.registerEvent(&quot;Worker.disconnectedFromWorker&quot;, []);
+InspectorBackend.registerCommand(&quot;Worker.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Worker.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Worker.sendMessageToWorker&quot;, [{&quot;name&quot;: &quot;workerId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;message&quot;, &quot;type&quot;: &quot;object&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Worker.canInspectWorkers&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Worker.connectToWorker&quot;, [{&quot;name&quot;: &quot;workerId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Worker.disconnectFromWorker&quot;, [{&quot;name&quot;: &quot;workerId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Worker.setAutoconnectToWorkers&quot;, [{&quot;name&quot;: &quot;value&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: false}], []);
+
+// Canvas.
+InspectorBackend.registerCanvasDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Canvas&quot;);
+InspectorBackend.registerEvent(&quot;Canvas.contextCreated&quot;, [&quot;frameId&quot;]);
+InspectorBackend.registerEvent(&quot;Canvas.traceLogsRemoved&quot;, [&quot;frameId&quot;, &quot;traceLogId&quot;]);
+InspectorBackend.registerCommand(&quot;Canvas.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Canvas.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;Canvas.dropTraceLog&quot;, [{&quot;name&quot;: &quot;traceLogId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Canvas.hasUninstrumentedCanvases&quot;, [], [&quot;result&quot;]);
+InspectorBackend.registerCommand(&quot;Canvas.captureFrame&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;traceLogId&quot;]);
+InspectorBackend.registerCommand(&quot;Canvas.startCapturing&quot;, [{&quot;name&quot;: &quot;frameId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}], [&quot;traceLogId&quot;]);
+InspectorBackend.registerCommand(&quot;Canvas.stopCapturing&quot;, [{&quot;name&quot;: &quot;traceLogId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], []);
+InspectorBackend.registerCommand(&quot;Canvas.getTraceLog&quot;, [{&quot;name&quot;: &quot;traceLogId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;startOffset&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;maxLength&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}], [&quot;traceLog&quot;]);
+InspectorBackend.registerCommand(&quot;Canvas.replayTraceLog&quot;, [{&quot;name&quot;: &quot;traceLogId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;stepNo&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;resourceState&quot;]);
+InspectorBackend.registerCommand(&quot;Canvas.getResourceInfo&quot;, [{&quot;name&quot;: &quot;resourceId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;resourceInfo&quot;]);
+InspectorBackend.registerCommand(&quot;Canvas.getResourceState&quot;, [{&quot;name&quot;: &quot;traceLogId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;resourceId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;resourceState&quot;]);
+
+// Input.
+InspectorBackend.registerInputDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;Input&quot;);
+InspectorBackend.registerCommand(&quot;Input.dispatchKeyEvent&quot;, [{&quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;modifiers&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;timestamp&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;text&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;unmodifiedText&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;keyIdentifier&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;windowsVirtualKeyCode&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;nativeVirtualKeyCode&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;macCharCode&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;autoRepeat&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;isKeypad&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;isSystemKey&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true}], []);
+InspectorBackend.registerCommand(&quot;Input.dispatchMouseEvent&quot;, [{&quot;name&quot;: &quot;type&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;x&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;y&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}, {&quot;name&quot;: &quot;modifiers&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;timestamp&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;button&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true}, {&quot;name&quot;: &quot;clickCount&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: true}], []);
+
+// LayerTree.
+InspectorBackend.registerLayerTreeDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, &quot;LayerTree&quot;);
+InspectorBackend.registerEvent(&quot;LayerTree.layerTreeDidChange&quot;, []);
+InspectorBackend.registerCommand(&quot;LayerTree.enable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;LayerTree.disable&quot;, [], []);
+InspectorBackend.registerCommand(&quot;LayerTree.layersForNode&quot;, [{&quot;name&quot;: &quot;nodeId&quot;, &quot;type&quot;: &quot;number&quot;, &quot;optional&quot;: false}], [&quot;layers&quot;]);
+InspectorBackend.registerCommand(&quot;LayerTree.reasonsForCompositingLayer&quot;, [{&quot;name&quot;: &quot;layerId&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: false}], [&quot;compositingReasons&quot;]);
</ins></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceLoadInspectorBackendCommandsjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/LoadInspectorBackendCommands.js (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/LoadInspectorBackendCommands.js        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebInspectorUI/UserInterface/LoadInspectorBackendCommands.js        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -24,12 +24,21 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> (function() {
</span><del>-    var backendCommandsURL = &quot;InspectorBackendCommands.js&quot;;
-    if (InspectorFrontendHost.inspectorBackendCommandsURL) {
-        var suggestedBackendCommandsURL = InspectorFrontendHost.inspectorBackendCommandsURL();
-        if (suggestedBackendCommandsURL)
-            backendCommandsURL = suggestedBackendCommandsURL;
</del><ins>+    var backendURLs;
+    if (InspectorFrontendHost.inspectorBackendCommandsURLs) {
+        var suggestedBackendCommandsURLs = InspectorFrontendHost.inspectorBackendCommandsURLs();
+        if (suggestedBackendCommandsURLs)
+            backendURLs = suggestedBackendCommandsURLs;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    document.write(&quot;&lt;script src=\&quot;&quot; + backendCommandsURL + &quot;\&quot;&gt;&lt;/script&gt;&quot;);
</del><ins>+    if (!backendURLs) {
+        // FIXME: When we can inspect just a JSContext, we should not load InspectorWebBackendCommands.js.
+        backendURLs = [];
+        backendURLs.push(&quot;InspectorJSBackendCommands.js&quot;);
+        backendURLs.push(&quot;InspectorWebBackendCommands.js&quot;);
+    }
+
+    console.assert(backendURLs.length);
+    for (var backendCommandsURL of backendURLs)
+        document.write(&quot;&lt;script src=\&quot;&quot; + backendCommandsURL + &quot;\&quot;&gt;&lt;/script&gt;&quot;);
</ins><span class="cx"> })();
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIWebInspectorUIvcxprojWebInspectorUIvcxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/WebInspectorUI.vcxproj/WebInspectorUI.vcxproj (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/WebInspectorUI.vcxproj/WebInspectorUI.vcxproj        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebInspectorUI/WebInspectorUI.vcxproj/WebInspectorUI.vcxproj        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -548,7 +548,8 @@
</span><span class="cx">     &lt;None Include=&quot;..\UserInterface\IndeterminateProgressSpinner.css&quot; /&gt;
</span><span class="cx">     &lt;None Include=&quot;..\UserInterface\IndeterminateProgressSpinner.js&quot; /&gt;
</span><span class="cx">     &lt;None Include=&quot;..\UserInterface\InspectorBackend.js&quot; /&gt;
</span><del>-    &lt;None Include=&quot;..\UserInterface\InspectorBackendCommands.js&quot; /&gt;
</del><ins>+    &lt;None Include=&quot;..\UserInterface\InspectorJSBackendCommands.js&quot; /&gt;
+    &lt;None Include=&quot;..\UserInterface\InspectorWebBackendCommands.js&quot; /&gt;
</ins><span class="cx">     &lt;None Include=&quot;..\UserInterface\InspectorFrontendAPI.js&quot; /&gt;
</span><span class="cx">     &lt;None Include=&quot;..\UserInterface\InspectorFrontendHostStub.js&quot; /&gt;
</span><span class="cx">     &lt;None Include=&quot;..\UserInterface\InspectorObserver.js&quot; /&gt;
</span><span class="lines">@@ -572,7 +573,8 @@
</span><span class="cx">     &lt;None Include=&quot;..\UserInterface\LayoutTimelineDataGrid.js&quot; /&gt;
</span><span class="cx">     &lt;None Include=&quot;..\UserInterface\LayoutTimelineDataGridNode.js&quot; /&gt;
</span><span class="cx">     &lt;None Include=&quot;..\UserInterface\LayoutTimelineRecord.js&quot; /&gt;
</span><del>-    &lt;None Include=&quot;..\UserInterface\Legacy\6.0\InspectorBackendCommands.js&quot; /&gt;
</del><ins>+    &lt;None Include=&quot;..\UserInterface\Legacy\6.0\InspectorWebBackendCommands.js&quot; /&gt;
+    &lt;None Include=&quot;..\UserInterface\Legacy\7.0\InspectorWebBackendCommands.js&quot; /&gt;
</ins><span class="cx">     &lt;None Include=&quot;..\UserInterface\LoadInspectorBackendCommands.js&quot; /&gt;
</span><span class="cx">     &lt;None Include=&quot;..\UserInterface\LoadLocalizedStrings.js&quot; /&gt;
</span><span class="cx">     &lt;None Include=&quot;..\UserInterface\LogContentView.css&quot; /&gt;
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIWebInspectorUIvcxprojWebInspectorUIvcxprojfilters"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebInspectorUI/WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -21,6 +21,9 @@
</span><span class="cx">     &lt;Filter Include=&quot;UserInterface\Legacy\6.0&quot;&gt;
</span><span class="cx">       &lt;UniqueIdentifier&gt;{f3a0840d-35a0-41f6-8642-5f87f6f19b07}&lt;/UniqueIdentifier&gt;
</span><span class="cx">     &lt;/Filter&gt;
</span><ins>+    &lt;Filter Include=&quot;UserInterface\Legacy\7.0&quot;&gt;
+      &lt;UniqueIdentifier&gt;{f3a0840d-35a0-41f6-8642-162354612341}&lt;/UniqueIdentifier&gt;
+    &lt;/Filter&gt;
</ins><span class="cx">     &lt;Filter Include=&quot;Images&quot;&gt;
</span><span class="cx">       &lt;UniqueIdentifier&gt;{af041f00-ecbb-405c-a2e0-02bbd07bfc7c}&lt;/UniqueIdentifier&gt;
</span><span class="cx">     &lt;/Filter&gt;
</span><span class="lines">@@ -585,9 +588,12 @@
</span><span class="cx">     &lt;None Include=&quot;..\UserInterface\InspectorBackend.js&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;UserInterface&lt;/Filter&gt;
</span><span class="cx">     &lt;/None&gt;
</span><del>-    &lt;None Include=&quot;..\UserInterface\InspectorBackendCommands.js&quot;&gt;
</del><ins>+    &lt;None Include=&quot;..\UserInterface\InspectorJSBackendCommands.js&quot;&gt;
</ins><span class="cx">       &lt;Filter&gt;UserInterface&lt;/Filter&gt;
</span><span class="cx">     &lt;/None&gt;
</span><ins>+    &lt;None Include=&quot;..\UserInterface\InspectorWebBackendCommands.js&quot;&gt;
+      &lt;Filter&gt;UserInterface&lt;/Filter&gt;
+    &lt;/None&gt;
</ins><span class="cx">     &lt;None Include=&quot;..\UserInterface\InspectorFrontendAPI.js&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;UserInterface&lt;/Filter&gt;
</span><span class="cx">     &lt;/None&gt;
</span><span class="lines">@@ -1107,9 +1113,12 @@
</span><span class="cx">     &lt;None Include=&quot;..\UserInterface\External\CodeMirror\xml.js&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;UserInterface\External\CodeMirror&lt;/Filter&gt;
</span><span class="cx">     &lt;/None&gt;
</span><del>-    &lt;None Include=&quot;..\UserInterface\Legacy\6.0\InspectorBackendCommands.js&quot;&gt;
</del><ins>+    &lt;None Include=&quot;..\UserInterface\Legacy\6.0\InspectorWebBackendCommands.js&quot;&gt;
</ins><span class="cx">       &lt;Filter&gt;UserInterface\Legacy\6.0&lt;/Filter&gt;
</span><span class="cx">     &lt;/None&gt;
</span><ins>+    &lt;None Include=&quot;..\UserInterface\Legacy\7.0\InspectorWebBackendCommands.js&quot;&gt;
+      &lt;Filter&gt;UserInterface\Legacy\7.0&lt;/Filter&gt;
+    &lt;/None&gt;
</ins><span class="cx">     &lt;None Include=&quot;..\UserInterface\Images\Weight.svg&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;Images&lt;/Filter&gt;
</span><span class="cx">     &lt;/None&gt;
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIWebInspectorUIxcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/WebInspectorUI.xcodeproj/project.pbxproj (160556 => 160557)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/WebInspectorUI.xcodeproj/project.pbxproj        2013-12-13 20:54:28 UTC (rev 160556)
+++ trunk/Source/WebInspectorUI/WebInspectorUI.xcodeproj/project.pbxproj        2013-12-13 21:07:13 UTC (rev 160557)
</span><span class="lines">@@ -142,18 +142,7 @@
</span><span class="cx">                 1C60FF1214E6D9AF006CD77D /* Copy User Interface Resources */ = {
</span><span class="cx">                         isa = PBXShellScriptBuildPhase;
</span><span class="cx">                         buildActionMask = 2147483647;
</span><del>-                        files = (
-                        );
-                        inputPaths = (
-                                &quot;${SRCROOT}/UserInterface&quot;,
-                                &quot;${SRCROOT}/Scripts/copy-user-interface-resources.sh&quot;,
-                                &quot;${DERIVED_SOURCES_DIR}/InspectorBackend.js&quot;,
-                                &quot;${DERIVED_SOURCES_DIR}/InspectorBackendCommands.js&quot;,
-                        );
</del><span class="cx">                         name = &quot;Copy User Interface Resources&quot;;
</span><del>-                        outputPaths = (
-                                &quot;${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}&quot;,
-                        );
</del><span class="cx">                         runOnlyForDeploymentPostprocessing = 0;
</span><span class="cx">                         shellPath = /bin/sh;
</span><span class="cx">                         shellScript = &quot;sh \&quot;${SRCROOT}/Scripts/copy-user-interface-resources.sh\&quot;&quot;;
</span></span></pre>
</div>
</div>

</body>
</html>