Skip to content
Permalink
Browse files
Web Inspector: Split Profiler domain in protocol into Profiler and He…
…apProfiler

https://bugs.webkit.org/show_bug.cgi?id=108653

Patch by Alexei Filippov <alph@chromium.org> on 2013-02-11
Reviewed by Yury Semikhatsky.

Currently CPU and heap profilers share the same domain 'Profiler' in the protocol.
In fact these two profile types have not too much in common. So put each into its own domain.
It should also help when Profiles panel gets split into several tools.
This is the phase 1 which adds InspectorHeapProfilerAgent but doesn't
change the original InspectorProfilerAgent.

PerformanceTests:

* inspector/heap-snapshot-performance-test.js:
(test.performanceTest.cleanup):

Source/WebCore:

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* inspector/Inspector.json:
* inspector/InspectorAllInOne.cpp:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorHeapProfilerAgent.cpp: Added.
(WebCore):
(WebCore::InspectorHeapProfilerAgent::create):
(WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
(WebCore::InspectorHeapProfilerAgent::~InspectorHeapProfilerAgent):
(WebCore::InspectorHeapProfilerAgent::resetState):
(WebCore::InspectorHeapProfilerAgent::resetFrontendProfiles):
(WebCore::InspectorHeapProfilerAgent::setFrontend):
(WebCore::InspectorHeapProfilerAgent::clearFrontend):
(WebCore::InspectorHeapProfilerAgent::restore):
(WebCore::InspectorHeapProfilerAgent::collectGarbage):
(WebCore::InspectorHeapProfilerAgent::createSnapshotHeader):
(WebCore::InspectorHeapProfilerAgent::hasHeapProfiler):
(WebCore::InspectorHeapProfilerAgent::getProfileHeaders):
(WebCore::InspectorHeapProfilerAgent::getHeapSnapshot):
(WebCore::InspectorHeapProfilerAgent::removeProfile):
(WebCore::InspectorHeapProfilerAgent::takeHeapSnapshot):
(WebCore::InspectorHeapProfilerAgent::getObjectByHeapObjectId):
(WebCore::InspectorHeapProfilerAgent::getHeapObjectId):
(WebCore::InspectorHeapProfilerAgent::reportMemoryUsage):
* inspector/InspectorHeapProfilerAgent.h: Added.
(WebCore):
(InspectorHeapProfilerAgent):
(WebCore::InspectorHeapProfilerAgent::clearProfiles):
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::didCommitLoadImpl):
* inspector/InstrumentingAgents.h:
(WebCore):
(InstrumentingAgents):
(WebCore::InstrumentingAgents::inspectorHeapProfilerAgent):
(WebCore::InstrumentingAgents::setInspectorHeapProfilerAgent):
* inspector/WorkerInspectorController.cpp:
(WebCore::WorkerInspectorController::WorkerInspectorController):
* inspector/front-end/HeapSnapshotDataGrids.js:
* inspector/front-end/HeapSnapshotGridNodes.js:
(WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
* inspector/front-end/HeapSnapshotView.js:
(WebInspector.HeapProfileHeader.prototype.startSnapshotTransfer):
(WebInspector.HeapProfileHeader.prototype.saveToFile.onOpen):
(WebInspector.HeapProfileHeader.prototype.saveToFile):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel):
(WebInspector.ProfilesPanel.prototype._clearProfiles):
(WebInspector.ProfilesPanel.prototype._garbageCollectButtonClicked):
(WebInspector.ProfilesPanel.prototype._removeProfileHeader):
(WebInspector.ProfilesPanel.prototype._populateProfiles.var):
(WebInspector.ProfilesPanel.prototype._populateProfiles.populateCallback):
(WebInspector.ProfilesPanel.prototype._populateProfiles):
(WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
(WebInspector.ProfilesPanel.prototype.revealInView):
(WebInspector.HeapProfilerDispatcher):
(WebInspector.HeapProfilerDispatcher.prototype.addProfileHeader):
(WebInspector.HeapProfilerDispatcher.prototype.addHeapSnapshotChunk):
(WebInspector.HeapProfilerDispatcher.prototype.finishHeapSnapshot):
(WebInspector.HeapProfilerDispatcher.prototype.resetProfiles):
(WebInspector.HeapProfilerDispatcher.prototype.reportHeapSnapshotProgress):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype._garbageCollectButtonClicked):
* inspector/front-end/inspector.js:
(WebInspector.doLoadedDone):

Source/WebKit/chromium:

* src/WebDevToolsAgentImpl.cpp:
(WebKit::WebDevToolsAgent::shouldInterruptForMessage):

LayoutTests:

* inspector-protocol/heap-profiler/resources/heap-snapshot-common.js:
(InspectorTest.takeHeapSnapshot.InspectorTest.eventHandler.string_appeared_here):
(InspectorTest.takeHeapSnapshot):
* inspector-protocol/nmi-webaudio-leak-test.html:
* inspector/profiler/heap-snapshot-get-profile-crash.html:
* inspector/profiler/heap-snapshot-inspect-dom-wrapper.html:
* inspector/profiler/heap-snapshot-loader.html:
* inspector/profiler/heap-snapshot-test.js:
(initialize_HeapSnapshotTest):

Canonical link: https://commits.webkit.org/127701@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@142460 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
a1ph authored and webkit-commit-queue committed Feb 11, 2013
1 parent f260538 commit 841989a5f77a200843235cd402a6ad8f8d2e3488
Showing 34 changed files with 762 additions and 36 deletions.
@@ -1,3 +1,26 @@
2013-02-11 Alexei Filippov <alph@chromium.org>

Web Inspector: Split Profiler domain in protocol into Profiler and HeapProfiler
https://bugs.webkit.org/show_bug.cgi?id=108653

Reviewed by Yury Semikhatsky.

Currently CPU and heap profilers share the same domain 'Profiler' in the protocol.
In fact these two profile types have not too much in common. So put each into its own domain.
It should also help when Profiles panel gets split into several tools.
This is the phase 1 which adds InspectorHeapProfilerAgent but doesn't
change the original InspectorProfilerAgent.

* inspector-protocol/heap-profiler/resources/heap-snapshot-common.js:
(InspectorTest.takeHeapSnapshot.InspectorTest.eventHandler.string_appeared_here):
(InspectorTest.takeHeapSnapshot):
* inspector-protocol/nmi-webaudio-leak-test.html:
* inspector/profiler/heap-snapshot-get-profile-crash.html:
* inspector/profiler/heap-snapshot-inspect-dom-wrapper.html:
* inspector/profiler/heap-snapshot-loader.html:
* inspector/profiler/heap-snapshot-test.js:
(initialize_HeapSnapshotTest):

2013-02-11 Christophe Dumez <ch.dumez@sisa.samsung.com>

Unreviewed EFL gardening.
@@ -9,10 +9,10 @@ InspectorTest.importScript("../../../../../Source/WebCore/inspector/front-end/JS

InspectorTest.takeHeapSnapshot = function(callback)
{
InspectorTest.eventHandler["Profiler.addProfileHeader"] = function(messageObject)
InspectorTest.eventHandler["HeapProfiler.addProfileHeader"] = function(messageObject)
{
var profileId = messageObject["params"]["header"]["uid"];
InspectorTest.sendCommand("Profiler.getHeapSnapshot", { "uid": profileId }, didGetHeapSnapshot);
InspectorTest.sendCommand("HeapProfiler.getHeapSnapshot", { "uid": profileId }, didGetHeapSnapshot);

function didGetHeapSnapshot(messageObject)
{
@@ -22,18 +22,18 @@ InspectorTest.takeHeapSnapshot = function(callback)
}

var chunks = [];
InspectorTest.eventHandler["Profiler.addHeapSnapshotChunk"] = function(messageObject)
InspectorTest.eventHandler["HeapProfiler.addHeapSnapshotChunk"] = function(messageObject)
{
chunks.push(messageObject["params"]["chunk"]);
}

InspectorTest.eventHandler["Profiler.finishHeapSnapshot"] = function(messageObject)
InspectorTest.eventHandler["HeapProfiler.finishHeapSnapshot"] = function(messageObject)
{
var serializedSnapshot = chunks.join("");
var parsed = JSON.parse(serializedSnapshot);
var snapshot = new WebInspector.JSHeapSnapshot(parsed);
callback(snapshot);
}

InspectorTest.sendCommand("Profiler.takeHeapSnapshot", {});
InspectorTest.sendCommand("HeapProfiler.takeHeapSnapshot", {});
}
@@ -60,7 +60,7 @@

function iFrameNavigated(messageObject) {
InspectorTest.log("PASS: IFrame was navigated to resources/blank.html");
InspectorTest.sendCommand('Profiler.collectGarbage', {}, function() { } );
InspectorTest.sendCommand('HeapProfiler.collectGarbage', {}, function() { } );
InspectorTest.log("Action: Run GC and check Page.Audio data size");
InspectorTest.sendCommand('Memory.getProcessMemoryDistribution', {}, noAudioSharedData);
}
@@ -14,7 +14,7 @@
console.log(errorString);
next();
}
ProfilerAgent.getHeapSnapshot(-1, finish);
HeapProfilerAgent.getHeapSnapshot(-1, finish);
}
]);
}
@@ -14,7 +14,7 @@
function test()
{
WebInspector.showPanel("profiles");
ProfilerAgent.takeHeapSnapshot(step0);
HeapProfilerAgent.takeHeapSnapshot(step0);

function step0()
{
@@ -42,7 +42,7 @@
bodyWrapperIds.push(it.node.id);
}
for (var i = 0; i < bodyWrapperIds.length; i++)
ProfilerAgent.getObjectByHeapObjectId(bodyWrapperIds[i], undefined, didGetObjectByHeapObjectId);
HeapProfilerAgent.getObjectByHeapObjectId(bodyWrapperIds[i], undefined, didGetObjectByHeapObjectId);

var resolvedObjectsCount = 0;
var remoteObjects = [];
@@ -69,7 +69,7 @@
if (++didGetOwnPropertiesCount !== remoteObjects.length)
return;

ProfilerAgent.clearProfiles(done);
HeapProfilerAgent.clearProfiles(done);
WebInspector.panels.profiles._reset();
}
}
@@ -17,7 +17,7 @@
var partSize = sourceStringified.length >> 3;

function injectMockProfile(overrideGetProfile, callback) {
var dispatcher = InspectorBackend._domainDispatchers["Profiler"];
var dispatcher = InspectorBackend._domainDispatchers["HeapProfiler"];
var panel = WebInspector.panels.profiles;
panel._reset();

@@ -39,12 +39,12 @@
function snapshotLoaded()
{
if (overrideGetProfile)
InspectorTest.override(ProfilerAgent, "getHeapSnapshot", getHeapSnapshotMock);
InspectorTest.override(HeapProfilerAgent, "getHeapSnapshot", getHeapSnapshotMock);
callback(profileHeader);
}
InspectorTest.addSniffer(profileHeader, "_snapshotReceived", snapshotLoaded);

InspectorTest.override(ProfilerAgent, "getHeapSnapshot", getHeapSnapshotMock);
InspectorTest.override(HeapProfilerAgent, "getHeapSnapshot", getHeapSnapshotMock);
panel.showProfile(profileHeader);
}

@@ -172,7 +172,7 @@ InspectorTest.startProfilerTest = function(callback)
function profilerEnabled()
{
InspectorTest.addResult("Profiler was enabled.");
// We mock out ProfilerAgent -- as DRT runs in single-process mode, Inspector
// We mock out HeapProfilerAgent -- as DRT runs in single-process mode, Inspector
// and test share the same heap. Taking a snapshot takes too long for a test,
// so we provide synthetic snapshots.
InspectorTest._panelReset = InspectorTest.override(WebInspector.panels.profiles, "_reset", function(){}, true);
@@ -735,7 +735,7 @@ InspectorTest.takeAndOpenSnapshot = function(generator, callback)
WebInspector.panels.profiles._addHeapSnapshotChunk(uid, JSON.stringify(snapshot));
WebInspector.panels.profiles._finishHeapSnapshot(uid);
}
InspectorTest.override(ProfilerAgent, "getHeapSnapshot", pushGeneratedSnapshot);
InspectorTest.override(HeapProfilerAgent, "getHeapSnapshot", pushGeneratedSnapshot);
InspectorTest._takeAndOpenSnapshotCallback = callback;
WebInspector.panels.profiles.addProfileHeader(profile);
WebInspector.panels.profiles.showProfile(profile);
@@ -1,3 +1,19 @@
2013-02-11 Alexei Filippov <alph@chromium.org>

Web Inspector: Split Profiler domain in protocol into Profiler and HeapProfiler
https://bugs.webkit.org/show_bug.cgi?id=108653

Reviewed by Yury Semikhatsky.

Currently CPU and heap profilers share the same domain 'Profiler' in the protocol.
In fact these two profile types have not too much in common. So put each into its own domain.
It should also help when Profiles panel gets split into several tools.
This is the phase 1 which adds InspectorHeapProfilerAgent but doesn't
change the original InspectorProfilerAgent.

* inspector/heap-snapshot-performance-test.js:
(test.performanceTest.cleanup):

2013-02-05 Dominik Röttsches <dominik.rottsches@intel.com>

Add a performance test for arabic line breaking
@@ -27,7 +27,7 @@ function test()
var testName = /([^\/]+)\.html$/.exec(WebInspector.inspectedPageURL)[1];
var fullTimerCookie = timer.start("full-summary-snapshot-time");
var backendTimerCookie = timer.start("take-snapshot");
ProfilerAgent.takeHeapSnapshot(step0);
HeapProfilerAgent.takeHeapSnapshot(step0);

function step0()
{
@@ -59,7 +59,7 @@ function test()
timer.finish(changeViewTimerCookie);
timer.finish(fullTimerCookie);
clearTimerCookie = timer.start("clear-snapshot");
ProfilerAgent.clearProfiles(done);
HeapProfilerAgent.clearProfiles(done);
WebInspector.panels.profiles._reset();
}

@@ -1641,6 +1641,7 @@ set(WebCore_SOURCES
inspector/InspectorFileSystemAgent.cpp
inspector/InspectorFrontendClientLocal.cpp
inspector/InspectorFrontendHost.cpp
inspector/InspectorHeapProfilerAgent.cpp
inspector/InspectorHistory.cpp
inspector/InspectorIndexedDBAgent.cpp
inspector/InspectorInputAgent.cpp
@@ -1,3 +1,90 @@
2013-02-11 Alexei Filippov <alph@chromium.org>

Web Inspector: Split Profiler domain in protocol into Profiler and HeapProfiler
https://bugs.webkit.org/show_bug.cgi?id=108653

Reviewed by Yury Semikhatsky.

Currently CPU and heap profilers share the same domain 'Profiler' in the protocol.
In fact these two profile types have not too much in common. So put each into its own domain.
It should also help when Profiles panel gets split into several tools.
This is the phase 1 which adds InspectorHeapProfilerAgent but doesn't
change the original InspectorProfilerAgent.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* inspector/Inspector.json:
* inspector/InspectorAllInOne.cpp:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorHeapProfilerAgent.cpp: Added.
(WebCore):
(WebCore::InspectorHeapProfilerAgent::create):
(WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
(WebCore::InspectorHeapProfilerAgent::~InspectorHeapProfilerAgent):
(WebCore::InspectorHeapProfilerAgent::resetState):
(WebCore::InspectorHeapProfilerAgent::resetFrontendProfiles):
(WebCore::InspectorHeapProfilerAgent::setFrontend):
(WebCore::InspectorHeapProfilerAgent::clearFrontend):
(WebCore::InspectorHeapProfilerAgent::restore):
(WebCore::InspectorHeapProfilerAgent::collectGarbage):
(WebCore::InspectorHeapProfilerAgent::createSnapshotHeader):
(WebCore::InspectorHeapProfilerAgent::hasHeapProfiler):
(WebCore::InspectorHeapProfilerAgent::getProfileHeaders):
(WebCore::InspectorHeapProfilerAgent::getHeapSnapshot):
(WebCore::InspectorHeapProfilerAgent::removeProfile):
(WebCore::InspectorHeapProfilerAgent::takeHeapSnapshot):
(WebCore::InspectorHeapProfilerAgent::getObjectByHeapObjectId):
(WebCore::InspectorHeapProfilerAgent::getHeapObjectId):
(WebCore::InspectorHeapProfilerAgent::reportMemoryUsage):
* inspector/InspectorHeapProfilerAgent.h: Added.
(WebCore):
(InspectorHeapProfilerAgent):
(WebCore::InspectorHeapProfilerAgent::clearProfiles):
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::didCommitLoadImpl):
* inspector/InstrumentingAgents.h:
(WebCore):
(InstrumentingAgents):
(WebCore::InstrumentingAgents::inspectorHeapProfilerAgent):
(WebCore::InstrumentingAgents::setInspectorHeapProfilerAgent):
* inspector/WorkerInspectorController.cpp:
(WebCore::WorkerInspectorController::WorkerInspectorController):
* inspector/front-end/HeapSnapshotDataGrids.js:
* inspector/front-end/HeapSnapshotGridNodes.js:
(WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
* inspector/front-end/HeapSnapshotView.js:
(WebInspector.HeapProfileHeader.prototype.startSnapshotTransfer):
(WebInspector.HeapProfileHeader.prototype.saveToFile.onOpen):
(WebInspector.HeapProfileHeader.prototype.saveToFile):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel):
(WebInspector.ProfilesPanel.prototype._clearProfiles):
(WebInspector.ProfilesPanel.prototype._garbageCollectButtonClicked):
(WebInspector.ProfilesPanel.prototype._removeProfileHeader):
(WebInspector.ProfilesPanel.prototype._populateProfiles.var):
(WebInspector.ProfilesPanel.prototype._populateProfiles.populateCallback):
(WebInspector.ProfilesPanel.prototype._populateProfiles):
(WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
(WebInspector.ProfilesPanel.prototype.revealInView):
(WebInspector.HeapProfilerDispatcher):
(WebInspector.HeapProfilerDispatcher.prototype.addProfileHeader):
(WebInspector.HeapProfilerDispatcher.prototype.addHeapSnapshotChunk):
(WebInspector.HeapProfilerDispatcher.prototype.finishHeapSnapshot):
(WebInspector.HeapProfilerDispatcher.prototype.resetProfiles):
(WebInspector.HeapProfilerDispatcher.prototype.reportHeapSnapshotProgress):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype._garbageCollectButtonClicked):
* inspector/front-end/inspector.js:
(WebInspector.doLoadedDone):

2013-02-11 Mike West <mkwst@chromium.org>

Use IGNORE_EXCEPTION for Editor::countMatchesForText's ignored exceptions.
@@ -3833,6 +3833,8 @@ webcore_sources += \
Source/WebCore/inspector/InspectorFrontendClientLocal.h \
Source/WebCore/inspector/InspectorFrontendHost.cpp \
Source/WebCore/inspector/InspectorFrontendHost.h \
Source/WebCore/inspector/InspectorHeapProfilerAgent.cpp \
Source/WebCore/inspector/InspectorHeapProfilerAgent.h \
Source/WebCore/inspector/InspectorHistory.cpp \
Source/WebCore/inspector/InspectorHistory.h \
Source/WebCore/inspector/InspectorIndexedDBAgent.h \
@@ -799,6 +799,7 @@ SOURCES += \
inspector/InspectorDOMStorageResource.cpp \
inspector/InspectorFrontendClientLocal.cpp \
inspector/InspectorFrontendHost.cpp \
inspector/InspectorHeapProfilerAgent.cpp \
inspector/InspectorHistory.cpp \
inspector/InspectorInputAgent.cpp \
inspector/InspectorInstrumentation.cpp \
@@ -1992,6 +1993,7 @@ HEADERS += \
inspector/InspectorFrontendClient.h \
inspector/InspectorFrontendClientLocal.h \
inspector/InspectorFrontendHost.h \
inspector/InspectorHeapProfilerAgent.h \
inspector/InspectorHistory.h \
inspector/InspectorInstrumentation.h \
inspector/InspectorLayerTreeAgent.h \
@@ -1878,6 +1878,8 @@
'inspector/InspectorFrontendClientLocal.cpp',
'inspector/InspectorFrontendHost.cpp',
'inspector/InspectorFrontendHost.h',
'inspector/InspectorHeapProfilerAgent.cpp',
'inspector/InspectorHeapProfilerAgent.h',
'inspector/InspectorHistory.cpp',
'inspector/InspectorHistory.h',
'inspector/InspectorIndexedDBAgent.cpp',
@@ -76050,6 +76050,30 @@
RelativePath="..\inspector\InspectorFrontendHost.h"
>
</File>
<File
RelativePath="..\inspector\InspectorHeapProfilerAgent.cpp"
>
<FileConfiguration
Name="Release|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
/>
</FileConfiguration>
<FileConfiguration
Name="Production|Win32"
ExcludedFromBuild="true"
>
<Tool
Name="VCCLCompilerTool"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\inspector\InspectorHeapProfilerAgent.h"
>
</File>
<File
RelativePath="..\inspector\InspectorHistory.cpp"
>
@@ -5692,6 +5692,9 @@
<ClCompile Include="..\inspector\InspectorFrontendHost.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\inspector\InspectorHeapProfilerAgent.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\inspector\InspectorHistory.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
@@ -8370,6 +8373,7 @@
<ClInclude Include="..\inspector\InspectorFrontendClient.h" />
<ClInclude Include="..\inspector\InspectorFrontendClientLocal.h" />
<ClInclude Include="..\inspector\InspectorFrontendHost.h" />
<ClInclude Include="..\inspector\InspectorHeapProfilerAgent.h" />
<ClInclude Include="..\inspector\InspectorHistory.h" />
<ClInclude Include="..\inspector\InspectorIndexedDBAgent.h" />
<ClInclude Include="..\inspector\InspectorInputAgent.h" />
@@ -6492,6 +6492,9 @@
<ClCompile Include="..\inspector\InspectorFrontendHost.cpp">
<Filter>inspector</Filter>
</ClCompile>
<ClCompile Include="..\inspector\InspectorHeapProfilerAgent.cpp">
<Filter>inspector</Filter>
</ClCompile>
<ClCompile Include="..\inspector\InspectorHistory.cpp">
<Filter>inspector</Filter>
</ClCompile>
@@ -13779,6 +13782,9 @@
<ClInclude Include="..\inspector\InspectorFrontendHost.h">
<Filter>inspector</Filter>
</ClInclude>
<ClInclude Include="..\inspector\InspectorHeapProfilerAgent.h">
<Filter>inspector</Filter>
</ClInclude>
<ClInclude Include="..\inspector\InspectorHistory.h">
<Filter>inspector</Filter>
</ClInclude>

0 comments on commit 841989a

Please sign in to comment.