Web Inspector: [Chromium] Add an ability to look up and explore an object from a...
authormnaganov@chromium.org <mnaganov@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 17 Oct 2011 13:21:12 +0000 (13:21 +0000)
committermnaganov@chromium.org <mnaganov@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 17 Oct 2011 13:21:12 +0000 (13:21 +0000)
commit82d0ee7062a2fd3e66db0deb88473c5818084bcd
treec9ba110ef426e69c1d7f10e50eceaddf77cd4826
parentac89f9a6d41b0798b21fe2d61edb5c63af431af5
Web Inspector: [Chromium] Add an ability to look up and explore an object from a heap profile.
https://bugs.webkit.org/show_bug.cgi?id=61179

This is exteremely helpful when dealing with DOM wrappers, as
their properties are mostly implemented with getters and thus not
stored in heap snapshots.

Reviewed by Pavel Feldman.

* English.lproj/localizedStrings.js:
* bindings/js/ScriptProfiler.cpp:
(WebCore::ScriptProfiler::objectByHeapObjectId):
* bindings/js/ScriptProfiler.h:
* bindings/v8/ScriptProfiler.cpp:
(WebCore::ScriptProfiler::objectByHeapObjectId):
* bindings/v8/ScriptProfiler.h:
* inspector/Inspector.json:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::create):
(WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
(WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
* inspector/InspectorProfilerAgent.h:
* inspector/front-end/DetailedHeapshotGridNodes.js:
(WebInspector.HeapSnapshotGridNode.prototype.hasHoverMessage.false.queryObjectContent):
(WebInspector.HeapSnapshotGenericObjectNode):
(WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
(WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent.else.formatResult):
(WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
(WebInspector.HeapSnapshotGenericObjectNode.prototype.shortenWindowURL):
* inspector/front-end/DetailedHeapshotView.js:
(WebInspector.DetailedHeapshotView.prototype._showObjectPopover):
* inspector/front-end/HeapSnapshot.js:
(WebInspector.HeapSnapshotNode.prototype.get canBeQueried):
(WebInspector.HeapSnapshotNode.prototype.get flags):
(WebInspector.HeapSnapshotNode.prototype.get isDOMWindow):
(WebInspector.HeapSnapshot.prototype._init):
(WebInspector.HeapSnapshot.prototype.dispose):
(WebInspector.HeapSnapshot.prototype._flagsOfNode):
(WebInspector.HeapSnapshot.prototype._calculateFlags):
(WebInspector.HeapSnapshot.prototype.updateStaticData):
(WebInspector.HeapSnapshotNodesProvider.prototype._serialize):
* inspector/front-end/HeapSnapshotProxy.js:
(WebInspector.HeapSnapshotProxy.prototype.get nodeFlags):
* inspector/front-end/RemoteObject.js:
(WebInspector.RemoteObject.fromError):
* inspector/front-end/heapProfiler.css:
(.detailed-heapshot-view tr:not(.selected) td.object-column span.highlight):

* inspector/profiler/heap-snapshot-expected.txt:
* inspector/profiler/heap-snapshot-test.js:
(initialize_HeapSnapshotTest.InspectorTest.createHeapSnapshotMockWithDOM):
(initialize_HeapSnapshotTest):
* inspector/profiler/heap-snapshot.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@97611 268f45cc-cd09-0410-ab3c-d52691b4dbfc
20 files changed:
LayoutTests/ChangeLog
LayoutTests/inspector/profiler/heap-snapshot-expected.txt
LayoutTests/inspector/profiler/heap-snapshot-test.js
LayoutTests/inspector/profiler/heap-snapshot.html
Source/WebCore/ChangeLog
Source/WebCore/English.lproj/localizedStrings.js
Source/WebCore/bindings/js/ScriptProfiler.cpp
Source/WebCore/bindings/js/ScriptProfiler.h
Source/WebCore/bindings/v8/ScriptProfiler.cpp
Source/WebCore/bindings/v8/ScriptProfiler.h
Source/WebCore/inspector/Inspector.json
Source/WebCore/inspector/InspectorController.cpp
Source/WebCore/inspector/InspectorProfilerAgent.cpp
Source/WebCore/inspector/InspectorProfilerAgent.h
Source/WebCore/inspector/front-end/DetailedHeapshotGridNodes.js
Source/WebCore/inspector/front-end/DetailedHeapshotView.js
Source/WebCore/inspector/front-end/HeapSnapshot.js
Source/WebCore/inspector/front-end/HeapSnapshotProxy.js
Source/WebCore/inspector/front-end/RemoteObject.js
Source/WebCore/inspector/front-end/heapProfiler.css