Changeset 166622 in webkit


Ignore:
Timestamp:
Apr 1, 2014 4:20:06 PM (10 years ago)
Author:
timothy@apple.com
Message:

Remove HeapProfiler from the Web Inspector protocol.

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

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

  • inspector/agents/InspectorConsoleAgent.h:
  • inspector/agents/JSGlobalObjectConsoleAgent.cpp:

(Inspector::JSGlobalObjectConsoleAgent::addInspectedHeapObject): Deleted.

  • inspector/agents/JSGlobalObjectConsoleAgent.h:
  • inspector/protocol/Console.json:

Source/WebCore:

  • CMakeLists.txt:
  • DerivedSources.make:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/ScriptHeapSnapshot.h: Removed.
  • bindings/js/ScriptProfiler.h:

(WebCore::ScriptProfiler::takeHeapSnapshot): Deleted.
(WebCore::ScriptProfiler::isSampling): Deleted.
(WebCore::ScriptProfiler::hasHeapProfiler): Deleted.

  • inspector/InspectorAllInOne.cpp:
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):

  • inspector/InspectorHeapProfilerAgent.cpp: Removed.
  • inspector/InspectorHeapProfilerAgent.h: Removed.
  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didCommitLoadImpl):

  • inspector/InspectorProfilerAgent.cpp:

(WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
(WebCore::InspectorProfilerAgent::getProfileHeaders):
(WebCore::InspectorProfilerAgent::removeProfile):
(WebCore::InspectorProfilerAgent::resetState): The CommandLineAPIHost call to
clear inspected objects should have not been here. It was only needed by the
HeapProfilerAgent.
(WebCore::InspectorProfilerAgent::resetFrontendProfiles):
(WebCore::InspectorProfilerAgent::collectGarbage): Deleted.
(WebCore::InspectorProfilerAgent::createSnapshotHeader): Deleted.
(WebCore::InspectorProfilerAgent::isSampling): Deleted.
(WebCore::InspectorProfilerAgent::hasHeapProfiler): Deleted.
(WebCore::InspectorProfilerAgent::getHeapSnapshot): Deleted.
(WebCore::InspectorProfilerAgent::takeHeapSnapshot): Deleted.
(WebCore::InspectorProfilerAgent::getObjectByHeapObjectId): Deleted.
(WebCore::InspectorProfilerAgent::getHeapObjectId): Deleted.

  • inspector/InspectorProfilerAgent.h:
  • inspector/InstrumentingAgents.h:

(WebCore::InstrumentingAgents::inspectorHeapProfilerAgent): Deleted.
(WebCore::InstrumentingAgents::setInspectorHeapProfilerAgent): Deleted.

  • inspector/WebConsoleAgent.cpp:

(WebCore::WebConsoleAgent::addInspectedHeapObject): Deleted.

  • inspector/WebConsoleAgent.h:
  • inspector/WorkerInspectorController.cpp:

(WebCore::WorkerInspectorController::WorkerInspectorController):

  • inspector/protocol/HeapProfiler.json: Removed.
  • inspector/protocol/Profiler.json:

Source/WebInspectorUI:

  • UserInterface/Protocol/Legacy/6.0/InspectorWebBackendCommands.js: Updated.
  • UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js: Ditto.
  • Versions/Inspector-iOS-6.0.json: Removed heap related stuff.
  • Versions/Inspector-iOS-7.0.json: Ditto.
Location:
trunk/Source
Files:
4 deleted
27 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r166595 r166622  
     12014-04-01  Timothy Hatcher  <timothy@apple.com>
     2
     3        Remove HeapProfiler from the Web Inspector protocol.
     4
     5        https://bugs.webkit.org/show_bug.cgi?id=131070
     6
     7        Reviewed by Joseph Pecoraro.
     8
     9        * inspector/agents/InspectorConsoleAgent.h:
     10        * inspector/agents/JSGlobalObjectConsoleAgent.cpp:
     11        (Inspector::JSGlobalObjectConsoleAgent::addInspectedHeapObject): Deleted.
     12        * inspector/agents/JSGlobalObjectConsoleAgent.h:
     13        * inspector/protocol/Console.json:
     14
    1152014-03-31  Simon Fraser  <simon.fraser@apple.com>
    216
  • trunk/Source/JavaScriptCore/inspector/agents/InspectorConsoleAgent.h

    r165199 r166622  
    6666    virtual void setMonitoringXHREnabled(ErrorString*, bool enabled) = 0;
    6767    virtual void addInspectedNode(ErrorString*, int nodeId) = 0;
    68     virtual void addInspectedHeapObject(ErrorString*, int inspectedHeapObjectId) = 0;
    6968
    7069    virtual bool isWorkerAgent() const = 0;
  • trunk/Source/JavaScriptCore/inspector/agents/JSGlobalObjectConsoleAgent.cpp

    r163568 r166622  
    4646}
    4747
    48 void JSGlobalObjectConsoleAgent::addInspectedHeapObject(ErrorString* errorString, int)
    49 {
    50     *errorString = ASCIILiteral("Not supported for JavaScript context");
    51 }
    52 
    5348} // namespace Inspector
    5449
  • trunk/Source/JavaScriptCore/inspector/agents/JSGlobalObjectConsoleAgent.h

    r163988 r166622  
    4444    virtual void setMonitoringXHREnabled(ErrorString*, bool enabled) override;
    4545    virtual void addInspectedNode(ErrorString*, int nodeId) override;
    46     virtual void addInspectedHeapObject(ErrorString*, int inspectedHeapObjectId) override;
    4746
    4847    virtual bool isWorkerAgent() const override { return false; }
  • trunk/Source/JavaScriptCore/inspector/protocol/Console.json

    r163568 r166622  
    7575            ],
    7676            "description": "Enables console to refer to the node with given id via $x (see Command Line API for more details $x functions)."
    77         },
    78         {
    79             "name": "addInspectedHeapObject",
    80             "parameters": [
    81                 { "name": "heapObjectId", "type": "integer" }
    82             ]
    8377        }
    8478    ],
  • trunk/Source/WebCore/CMakeLists.txt

    r166616 r166622  
    762762    ${WEBCORE_DIR}/inspector/protocol/DOMDebugger.json
    763763    ${WEBCORE_DIR}/inspector/protocol/DOMStorage.json
    764     ${WEBCORE_DIR}/inspector/protocol/HeapProfiler.json
    765764    ${WEBCORE_DIR}/inspector/protocol/IndexedDB.json
    766765    ${WEBCORE_DIR}/inspector/protocol/Input.json
     
    15771576    inspector/InspectorFrontendClientLocal.cpp
    15781577    inspector/InspectorFrontendHost.cpp
    1579     inspector/InspectorHeapProfilerAgent.cpp
    15801578    inspector/InspectorHistory.cpp
    15811579    inspector/InspectorIndexedDBAgent.cpp
  • trunk/Source/WebCore/ChangeLog

    r166618 r166622  
     12014-04-01  Timothy Hatcher  <timothy@apple.com>
     2
     3        Remove HeapProfiler from the Web Inspector protocol.
     4
     5        https://bugs.webkit.org/show_bug.cgi?id=131070
     6
     7        Reviewed by Joseph Pecoraro.
     8
     9        * CMakeLists.txt:
     10        * DerivedSources.make:
     11        * WebCore.vcxproj/WebCore.vcxproj:
     12        * WebCore.vcxproj/WebCore.vcxproj.filters:
     13        * WebCore.xcodeproj/project.pbxproj:
     14        * bindings/js/ScriptHeapSnapshot.h: Removed.
     15        * bindings/js/ScriptProfiler.h:
     16        (WebCore::ScriptProfiler::takeHeapSnapshot): Deleted.
     17        (WebCore::ScriptProfiler::isSampling): Deleted.
     18        (WebCore::ScriptProfiler::hasHeapProfiler): Deleted.
     19        * inspector/InspectorAllInOne.cpp:
     20        * inspector/InspectorController.cpp:
     21        (WebCore::InspectorController::InspectorController):
     22        * inspector/InspectorHeapProfilerAgent.cpp: Removed.
     23        * inspector/InspectorHeapProfilerAgent.h: Removed.
     24        * inspector/InspectorInstrumentation.cpp:
     25        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
     26        * inspector/InspectorProfilerAgent.cpp:
     27        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
     28        (WebCore::InspectorProfilerAgent::getProfileHeaders):
     29        (WebCore::InspectorProfilerAgent::removeProfile):
     30        (WebCore::InspectorProfilerAgent::resetState): The CommandLineAPIHost call to
     31        clear inspected objects should have not been here. It was only needed by the
     32        HeapProfilerAgent.
     33        (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
     34        (WebCore::InspectorProfilerAgent::collectGarbage): Deleted.
     35        (WebCore::InspectorProfilerAgent::createSnapshotHeader): Deleted.
     36        (WebCore::InspectorProfilerAgent::isSampling): Deleted.
     37        (WebCore::InspectorProfilerAgent::hasHeapProfiler): Deleted.
     38        (WebCore::InspectorProfilerAgent::getHeapSnapshot): Deleted.
     39        (WebCore::InspectorProfilerAgent::takeHeapSnapshot): Deleted.
     40        (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId): Deleted.
     41        (WebCore::InspectorProfilerAgent::getHeapObjectId): Deleted.
     42        * inspector/InspectorProfilerAgent.h:
     43        * inspector/InstrumentingAgents.h:
     44        (WebCore::InstrumentingAgents::inspectorHeapProfilerAgent): Deleted.
     45        (WebCore::InstrumentingAgents::setInspectorHeapProfilerAgent): Deleted.
     46        * inspector/WebConsoleAgent.cpp:
     47        (WebCore::WebConsoleAgent::addInspectedHeapObject): Deleted.
     48        * inspector/WebConsoleAgent.h:
     49        * inspector/WorkerInspectorController.cpp:
     50        (WebCore::WorkerInspectorController::WorkerInspectorController):
     51        * inspector/protocol/HeapProfiler.json: Removed.
     52        * inspector/protocol/Profiler.json:
     53
    1542014-04-01  Zoltan Horvath  <zoltan@webkit.org>
    255
  • trunk/Source/WebCore/DerivedSources.make

    r166616 r166622  
    11211121    $(WebCore)/inspector/protocol/DOMDebugger.json \
    11221122    $(WebCore)/inspector/protocol/DOMStorage.json \
    1123     $(WebCore)/inspector/protocol/HeapProfiler.json \
    11241123    $(WebCore)/inspector/protocol/Input.json \
    11251124    $(WebCore)/inspector/protocol/LayerTree.json \
  • trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj

    r166542 r166622  
    1779517795    </ClCompile>
    1779617796    <ClCompile Include="..\inspector\InspectorFrontendHost.cpp">
    17797       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
    17798       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
    17799       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
    17800       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
    17801       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
    17802       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
    17803     </ClCompile>
    17804     <ClCompile Include="..\inspector\InspectorHeapProfilerAgent.cpp">
    1780517797      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
    1780617798      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
     
    2107721069    <ClInclude Include="..\inspector\InspectorFrontendClientLocal.h" />
    2107821070    <ClInclude Include="..\inspector\InspectorFrontendHost.h" />
    21079     <ClInclude Include="..\inspector\InspectorHeapProfilerAgent.h" />
    2108021071    <ClInclude Include="..\inspector\InspectorHistory.h" />
    2108121072    <ClInclude Include="..\inspector\InspectorIndexedDBAgent.h" />
  • trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters

    r166506 r166622  
    47744774      <Filter>inspector</Filter>
    47754775    </ClCompile>
    4776     <ClCompile Include="..\inspector\InspectorHeapProfilerAgent.cpp">
    4777       <Filter>inspector</Filter>
    4778     </ClCompile>
    47794776    <ClCompile Include="..\inspector\InspectorHistory.cpp">
    47804777      <Filter>inspector</Filter>
     
    1239012387    </ClInclude>
    1239112388    <ClInclude Include="..\inspector\InspectorFrontendHost.h">
    12392       <Filter>inspector</Filter>
    12393     </ClInclude>
    12394     <ClInclude Include="..\inspector\InspectorHeapProfilerAgent.h">
    1239512389      <Filter>inspector</Filter>
    1239612390    </ClInclude>
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r166599 r166622  
    17651765                510D4A37103165EE0049EA54 /* SocketStreamHandleBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 510D4A31103165EE0049EA54 /* SocketStreamHandleBase.h */; };
    17661766                510D4A38103165EE0049EA54 /* SocketStreamHandleClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 510D4A32103165EE0049EA54 /* SocketStreamHandleClient.h */; };
    1767                 5112935F3D54B4B52FAF973F /* InspectorHeapProfilerAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 511293613D6DB4B52FAF973F /* InspectorHeapProfilerAgent.cpp */; };
    1768                 511293603D60B4B52FAF973F /* InspectorHeapProfilerAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = 511293623D85B4B52FAF973F /* InspectorHeapProfilerAgent.h */; };
    17691767                511EC1A6188DACA400BA3EB6 /* IDBKeyData.h in Headers */ = {isa = PBXBuildFile; fileRef = 511EC1A5188DACA400BA3EB6 /* IDBKeyData.h */; settings = {ATTRIBUTES = (Private, ); }; };
    17701768                511EC1A8188DAE7B00BA3EB6 /* IDBKeyData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 511EC1A7188DAE7B00BA3EB6 /* IDBKeyData.cpp */; };
     
    35863584                9F0D6B2E121BFEBA006C0288 /* InspectorProfilerAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9F0D6B2C121BFEBA006C0288 /* InspectorProfilerAgent.cpp */; };
    35873585                9F0D6B2F121BFEBA006C0288 /* InspectorProfilerAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F0D6B2D121BFEBA006C0288 /* InspectorProfilerAgent.h */; };
    3588                 9F3B947E12241758005304E7 /* ScriptHeapSnapshot.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F3B947D12241758005304E7 /* ScriptHeapSnapshot.h */; };
    35893586                9F72304F11184B4100AD0126 /* ScriptProfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F72304C11184B4100AD0126 /* ScriptProfile.h */; settings = {ATTRIBUTES = (Private, ); }; };
    35903587                9F72305011184B4100AD0126 /* ScriptProfiler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9F72304D11184B4100AD0126 /* ScriptProfiler.cpp */; };
     
    87378734                510D4A31103165EE0049EA54 /* SocketStreamHandleBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SocketStreamHandleBase.h; sourceTree = "<group>"; };
    87388735                510D4A32103165EE0049EA54 /* SocketStreamHandleClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SocketStreamHandleClient.h; sourceTree = "<group>"; };
    8739                 511293613D6DB4B52FAF973F /* InspectorHeapProfilerAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorHeapProfilerAgent.cpp; sourceTree = "<group>"; };
    8740                 511293623D85B4B52FAF973F /* InspectorHeapProfilerAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorHeapProfilerAgent.h; sourceTree = "<group>"; };
    87418736                511EC1A5188DACA400BA3EB6 /* IDBKeyData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IDBKeyData.h; sourceTree = "<group>"; };
    87428737                511EC1A7188DAE7B00BA3EB6 /* IDBKeyData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IDBKeyData.cpp; sourceTree = "<group>"; };
     
    1063310628                9F0D6B2C121BFEBA006C0288 /* InspectorProfilerAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorProfilerAgent.cpp; sourceTree = "<group>"; };
    1063410629                9F0D6B2D121BFEBA006C0288 /* InspectorProfilerAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorProfilerAgent.h; sourceTree = "<group>"; };
    10635                 9F3B947D12241758005304E7 /* ScriptHeapSnapshot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptHeapSnapshot.h; sourceTree = "<group>"; };
    1063610630                9F72304C11184B4100AD0126 /* ScriptProfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptProfile.h; sourceTree = "<group>"; };
    1063710631                9F72304D11184B4100AD0126 /* ScriptProfiler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptProfiler.cpp; sourceTree = "<group>"; };
     
    1498514979                                7A0E770C10C00A8800A0276E /* InspectorFrontendHost.h */,
    1498614980                                7A0E770D10C00A8800A0276E /* InspectorFrontendHost.idl */,
    14987                                 511293613D6DB4B52FAF973F /* InspectorHeapProfilerAgent.cpp */,
    14988                                 511293623D85B4B52FAF973F /* InspectorHeapProfilerAgent.h */,
    1498914981                                7A54857D14E02D51006AE05A /* InspectorHistory.cpp */,
    1499014982                                7A54857E14E02D51006AE05A /* InspectorHistory.h */,
     
    2042220414                                41F066E30F64BCF600A07EAC /* ScriptGlobalObject.cpp */,
    2042320415                                41F066E20F64BCF600A07EAC /* ScriptGlobalObject.h */,
    20424                                 9F3B947D12241758005304E7 /* ScriptHeapSnapshot.h */,
    2042520416                                F33F0281120947F200E5743A /* ScriptProfile.cpp */,
    2042620417                                9F72304C11184B4100AD0126 /* ScriptProfile.h */,
     
    2419724188                                F344C75311294D9D00F26EEE /* InspectorFrontendClientLocal.h in Headers */,
    2419824189                                7A0E770F10C00A8800A0276E /* InspectorFrontendHost.h in Headers */,
    24199                                 511293603D60B4B52FAF973F /* InspectorHeapProfilerAgent.h in Headers */,
    2420024190                                7A54858014E02D51006AE05A /* InspectorHistory.h in Headers */,
    2420124191                                7ACD88D414C08BD60084EDD2 /* InspectorIndexedDBAgent.h in Headers */,
     
    2541225402                                41F066E40F64BCF600A07EAC /* ScriptGlobalObject.h in Headers */,
    2541325403                                07AB996B18DA3C010018771E /* RTCIceServer.h in Headers */,
    25414                                 9F3B947E12241758005304E7 /* ScriptHeapSnapshot.h in Headers */,
    2541525404                                FD31603612B0267600C1A359 /* ScriptProcessorNode.h in Headers */,
    2541625405                                9F72304F11184B4100AD0126 /* ScriptProfile.h in Headers */,
     
    2758327572                                F344C75811294FF600F26EEE /* InspectorFrontendClientLocal.cpp in Sources */,
    2758427573                                7A0E770E10C00A8800A0276E /* InspectorFrontendHost.cpp in Sources */,
    27585                                 5112935F3D54B4B52FAF973F /* InspectorHeapProfilerAgent.cpp in Sources */,
    2758627574                                7A54857F14E02D51006AE05A /* InspectorHistory.cpp in Sources */,
    2758727575                                7ACD88D314C08BD60084EDD2 /* InspectorIndexedDBAgent.cpp in Sources */,
  • trunk/Source/WebCore/bindings/js/ScriptProfiler.h

    r165676 r166622  
    2828#define ScriptProfiler_h
    2929
    30 #include "ScriptHeapSnapshot.h"
    3130#include "ScriptProfile.h"
    3231#include "ScriptState.h"
     
    6564    static PassRefPtr<ScriptProfile> stopForPage(Page*, const String& title);
    6665    static PassRefPtr<ScriptProfile> stopForWorkerGlobalScope(WorkerGlobalScope*, const String& title);
    67     static PassRefPtr<ScriptHeapSnapshot> takeHeapSnapshot(const String&, HeapSnapshotProgress*) { return 0; }
    68     static bool isSampling() { return false; }
    69     static bool hasHeapProfiler() { return false; }
    7066    static HashMap<String, double>* currentProfileNameIdleTimeMap() { return 0; }
    7167};
  • trunk/Source/WebCore/inspector/InspectorAllInOne.cpp

    r165676 r166622  
    4141#include "InspectorFrontendClientLocal.cpp"
    4242#include "InspectorFrontendHost.cpp"
    43 #include "InspectorHeapProfilerAgent.cpp"
    4443#include "InspectorHistory.cpp"
    4544#include "InspectorIndexedDBAgent.cpp"
  • trunk/Source/WebCore/inspector/InspectorController.cpp

    r166257 r166622  
    4646#include "InspectorDatabaseAgent.h"
    4747#include "InspectorFrontendClient.h"
    48 #include "InspectorHeapProfilerAgent.h"
    4948#include "InspectorIndexedDBAgent.h"
    5049#include "InspectorInputAgent.h"
     
    159158    m_agents.append(std::move(profilerAgentPtr));
    160159
    161     m_agents.append(std::make_unique<InspectorHeapProfilerAgent>(m_instrumentingAgents.get(), m_injectedScriptManager.get()));
    162 
    163160    m_agents.append(std::make_unique<InspectorWorkerAgent>(m_instrumentingAgents.get()));
    164161
  • trunk/Source/WebCore/inspector/InspectorInstrumentation.cpp

    r165981 r166622  
    4949#include "InspectorDOMStorageAgent.h"
    5050#include "InspectorDatabaseAgent.h"
    51 #include "InspectorHeapProfilerAgent.h"
    5251#include "InspectorLayerTreeAgent.h"
    5352#include "InspectorPageAgent.h"
     
    769768        if (InspectorProfilerAgent* profilerAgent = instrumentingAgents->inspectorProfilerAgent())
    770769            profilerAgent->resetState();
    771         if (InspectorHeapProfilerAgent* heapProfilerAgent = instrumentingAgents->inspectorHeapProfilerAgent())
    772             heapProfilerAgent->resetState();
    773770        if (InspectorCSSAgent* cssAgent = instrumentingAgents->inspectorCSSAgent())
    774771            cssAgent->reset();
  • trunk/Source/WebCore/inspector/InspectorProfilerAgent.cpp

    r165676 r166622  
    3333#if ENABLE(INSPECTOR)
    3434
    35 #include "CommandLineAPIHost.h"
    3635#include "InspectorWebFrontendDispatchers.h"
    3736#include "InstrumentingAgents.h"
    3837#include "Page.h"
    3938#include "PageScriptDebugServer.h"
    40 #include "ScriptHeapSnapshot.h"
    4139#include "ScriptProfile.h"
    4240#include "ScriptProfiler.h"
     
    5856static const char* const UserInitiatedProfileName = "org.webkit.profiles.user-initiated";
    5957static const char* const CPUProfileType = "CPU";
    60 static const char* const HeapProfileType = "HEAP";
    61 
    6258
    6359class PageProfilerAgent : public InspectorProfilerAgent {
     
    127123    , m_currentUserInitiatedProfileNumber(-1)
    128124    , m_nextUserInitiatedProfileNumber(1)
    129     , m_nextUserInitiatedHeapSnapshotNumber(1)
    130125    , m_profileNameIdleTimeMap(ScriptProfiler::currentProfileNameIdleTimeMap())
    131126{
     
    163158}
    164159
    165 void InspectorProfilerAgent::collectGarbage(WebCore::ErrorString*)
    166 {
    167     ScriptProfiler::collectGarbage();
    168 }
    169 
    170160PassRefPtr<Inspector::TypeBuilder::Profiler::ProfileHeader> InspectorProfilerAgent::createProfileHeader(const ScriptProfile& profile)
    171161{
     
    177167}
    178168
    179 PassRefPtr<Inspector::TypeBuilder::Profiler::ProfileHeader> InspectorProfilerAgent::createSnapshotHeader(const ScriptHeapSnapshot& snapshot)
    180 {
    181     RefPtr<Inspector::TypeBuilder::Profiler::ProfileHeader> header = Inspector::TypeBuilder::Profiler::ProfileHeader::create()
    182         .setTypeId(Inspector::TypeBuilder::Profiler::ProfileHeader::TypeId::HEAP)
    183         .setUid(snapshot.uid())
    184         .setTitle(snapshot.title());
    185     return header.release();
    186 }
    187 
    188 void InspectorProfilerAgent::isSampling(ErrorString*, bool* result)
    189 {
    190     *result = ScriptProfiler::isSampling();
    191 }
    192 
    193 void InspectorProfilerAgent::hasHeapProfiler(ErrorString*, bool* result)
    194 {
    195     *result = ScriptProfiler::hasHeapProfiler();
    196 }
    197 
    198169void InspectorProfilerAgent::enable(ErrorString*)
    199170{
     
    241212    for (ProfilesMap::iterator it = m_profiles.begin(); it != profilesEnd; ++it)
    242213        headers->addItem(createProfileHeader(*it->value));
    243     HeapSnapshotsMap::iterator snapshotsEnd = m_snapshots.end();
    244     for (HeapSnapshotsMap::iterator it = m_snapshots.begin(); it != snapshotsEnd; ++it)
    245         headers->addItem(createSnapshotHeader(*it->value));
    246 }
    247 
    248 namespace {
    249 
    250 class OutputStream : public ScriptHeapSnapshot::OutputStream {
    251 public:
    252     OutputStream(InspectorProfilerFrontendDispatcher* frontend, unsigned uid)
    253         : m_frontendDispatcher(frontend), m_uid(uid) { }
    254     void Write(const String& chunk) override { m_frontendDispatcher->addHeapSnapshotChunk(m_uid, chunk); }
    255     void Close() override { m_frontendDispatcher->finishHeapSnapshot(m_uid); }
    256 private:
    257     InspectorProfilerFrontendDispatcher* m_frontendDispatcher;
    258     int m_uid;
    259 };
    260 
    261 } // namespace
     214}
    262215
    263216void InspectorProfilerAgent::getCPUProfile(ErrorString* errorString, int rawUid, RefPtr<Inspector::TypeBuilder::Profiler::CPUProfile>& profileObject)
     
    273226}
    274227
    275 void InspectorProfilerAgent::getHeapSnapshot(ErrorString* errorString, int rawUid)
    276 {
    277     unsigned uid = static_cast<unsigned>(rawUid);
    278     HeapSnapshotsMap::iterator it = m_snapshots.find(uid);
    279     if (it == m_snapshots.end()) {
    280         *errorString = "Profile wasn't found";
    281         return;
    282     }
    283     RefPtr<ScriptHeapSnapshot> snapshot = it->value;
    284     if (m_frontendDispatcher) {
    285         OutputStream stream(m_frontendDispatcher.get(), uid);
    286         snapshot->writeJSON(&stream);
    287     }
    288 }
    289 
    290228void InspectorProfilerAgent::removeProfile(ErrorString*, const String& type, int rawUid)
    291229{
     
    293231    if (type == CPUProfileType)
    294232        m_profiles.remove(uid);
    295     else if (type == HeapProfileType)
    296         m_snapshots.remove(uid);
    297233}
    298234
     
    301237    stop();
    302238    m_profiles.clear();
    303     m_snapshots.clear();
    304239    m_currentUserInitiatedProfileNumber = 1;
    305240    m_nextUserInitiatedProfileNumber = 1;
    306     m_nextUserInitiatedHeapSnapshotNumber = 1;
    307241    resetFrontendProfiles();
    308 
    309     if (CommandLineAPIHost* commandLineAPIHost = m_injectedScriptManager->commandLineAPIHost())
    310         commandLineAPIHost->clearInspectedObjects();
    311242}
    312243
     
    317248    if (!m_profileHeadersRequested)
    318249        return;
    319     if (m_profiles.isEmpty() && m_snapshots.isEmpty())
     250    if (m_profiles.isEmpty())
    320251        m_frontendDispatcher->resetProfiles();
    321252}
     
    365296}
    366297
    367 namespace {
    368 
    369 class HeapSnapshotProgress: public ScriptProfiler::HeapSnapshotProgress {
    370 public:
    371     explicit HeapSnapshotProgress(InspectorProfilerFrontendDispatcher* frontend)
    372         : m_frontendDispatcher(frontend) { }
    373     void Start(int totalWork) override
    374     {
    375         m_totalWork = totalWork;
    376     }
    377     void Worked(int workDone) override
    378     {
    379         if (m_frontendDispatcher)
    380             m_frontendDispatcher->reportHeapSnapshotProgress(workDone, m_totalWork);
    381     }
    382     void Done() override { }
    383     bool isCanceled() { return false; }
    384 private:
    385     InspectorProfilerFrontendDispatcher* m_frontendDispatcher;
    386     int m_totalWork;
    387 };
    388 
    389 };
    390 
    391 void InspectorProfilerAgent::takeHeapSnapshot(ErrorString*, const bool* reportProgress)
    392 {
    393     String title = makeString(UserInitiatedProfileName, '.', String::number(m_nextUserInitiatedHeapSnapshotNumber));
    394     ++m_nextUserInitiatedHeapSnapshotNumber;
    395 
    396     HeapSnapshotProgress progress(reportProgress && *reportProgress ? m_frontendDispatcher.get() : nullptr);
    397     RefPtr<ScriptHeapSnapshot> snapshot = ScriptProfiler::takeHeapSnapshot(title, &progress);
    398     if (snapshot) {
    399         m_snapshots.add(snapshot->uid(), snapshot);
    400         if (m_frontendDispatcher)
    401             m_frontendDispatcher->addProfileHeader(createSnapshotHeader(*snapshot));
    402     }
    403 }
    404 
    405298void InspectorProfilerAgent::toggleRecordButton(bool isProfiling)
    406299{
     
    409302}
    410303
    411 void InspectorProfilerAgent::getObjectByHeapObjectId(ErrorString* error, const String& heapSnapshotObjectId, const String* objectGroup, RefPtr<Inspector::TypeBuilder::Runtime::RemoteObject>& result)
    412 {
    413     bool ok;
    414     unsigned id = heapSnapshotObjectId.toUInt(&ok);
    415     if (!ok) {
    416         *error = "Invalid heap snapshot object id";
    417         return;
    418     }
    419     Deprecated::ScriptObject heapObject = ScriptProfiler::objectByHeapObjectId(id);
    420     if (heapObject.hasNoValue()) {
    421         *error = "Object is not available";
    422         return;
    423     }
    424     InjectedScript injectedScript = m_injectedScriptManager->injectedScriptFor(heapObject.scriptState());
    425     if (injectedScript.hasNoValue()) {
    426         *error = "Object is not available. Inspected context is gone";
    427         return;
    428     }
    429     result = injectedScript.wrapObject(heapObject, objectGroup ? *objectGroup : "");
    430     if (!result)
    431         *error = "Failed to wrap object";
    432 }
    433 
    434 void InspectorProfilerAgent::getHeapObjectId(ErrorString* errorString, const String& objectId, String* heapSnapshotObjectId)
    435 {
    436     InjectedScript injectedScript = m_injectedScriptManager->injectedScriptForObjectId(objectId);
    437     if (injectedScript.hasNoValue()) {
    438         *errorString = "Inspected context has gone";
    439         return;
    440     }
    441     Deprecated::ScriptValue value = injectedScript.findObjectById(objectId);
    442     if (value.hasNoValue() || value.isUndefined()) {
    443         *errorString = "Object with given id not found";
    444         return;
    445     }
    446     unsigned id = ScriptProfiler::getHeapObjectId(value);
    447     *heapSnapshotObjectId = String::number(id);
    448 }
    449 
    450304} // namespace WebCore
    451305
  • trunk/Source/WebCore/inspector/InspectorProfilerAgent.h

    r165676 r166622  
    5151class InstrumentingAgents;
    5252class Page;
    53 class ScriptHeapSnapshot;
    5453class ScriptProfile;
    5554class WebInjectedScriptManager;
     
    6968    void addProfileFinishedMessageToConsole(PassRefPtr<ScriptProfile>, unsigned lineNumber, unsigned columnNumber, const String& sourceURL);
    7069    void addStartProfilingMessageToConsole(const String& title, unsigned lineNumber, unsigned columnNumber, const String& sourceURL);
    71     virtual void collectGarbage(ErrorString*) override;
    7270    virtual void clearProfiles(ErrorString*) override { resetState(); }
    7371    void resetState();
    7472
    7573    virtual void recompileScript() = 0;
    76     virtual void isSampling(ErrorString*, bool*) override;
    77     virtual void hasHeapProfiler(ErrorString*, bool*) override;
    7874
    7975    virtual void enable(ErrorString*) override;
     
    8884    virtual void getProfileHeaders(ErrorString*, RefPtr<Inspector::TypeBuilder::Array<Inspector::TypeBuilder::Profiler::ProfileHeader>>&) override;
    8985    virtual void getCPUProfile(ErrorString*, int uid, RefPtr<Inspector::TypeBuilder::Profiler::CPUProfile>&) override;
    90     virtual void getHeapSnapshot(ErrorString*, int uid) override;
    9186    virtual void removeProfile(ErrorString*, const String& type, int uid) override;
    9287
     
    9489    virtual void willDestroyFrontendAndBackend(Inspector::InspectorDisconnectReason) override;
    9590
    96     virtual void takeHeapSnapshot(ErrorString*, const bool* reportProgress) override;
    9791    void toggleRecordButton(bool isProfiling);
    98 
    99     virtual void getObjectByHeapObjectId(ErrorString*, const String& heapSnapshotObjectId, const String* objectGroup, RefPtr<Inspector::TypeBuilder::Runtime::RemoteObject>& result) override;
    100     virtual void getHeapObjectId(ErrorString*, const String& objectId, String* heapSnapshotObjectId) override;
    10192
    10293protected:
     
    10798private:
    10899    typedef HashMap<unsigned int, RefPtr<ScriptProfile>> ProfilesMap;
    109     typedef HashMap<unsigned int, RefPtr<ScriptHeapSnapshot>> HeapSnapshotsMap;
    110100
    111101    void resetFrontendProfiles();
     
    113103
    114104    PassRefPtr<Inspector::TypeBuilder::Profiler::ProfileHeader> createProfileHeader(const ScriptProfile&);
    115     PassRefPtr<Inspector::TypeBuilder::Profiler::ProfileHeader> createSnapshotHeader(const ScriptHeapSnapshot&);
    116105
    117106    Inspector::InspectorConsoleAgent* m_consoleAgent;
     
    124113    int m_currentUserInitiatedProfileNumber;
    125114    unsigned m_nextUserInitiatedProfileNumber;
    126     unsigned m_nextUserInitiatedHeapSnapshotNumber;
    127115    ProfilesMap m_profiles;
    128     HeapSnapshotsMap m_snapshots;
    129116
    130117    typedef HashMap<String, double> ProfileNameIdleTimeMap;
  • trunk/Source/WebCore/inspector/InstrumentingAgents.h

    r164986 r166622  
    5252class InspectorDOMStorageAgent;
    5353class InspectorDatabaseAgent;
    54 class InspectorHeapProfilerAgent;
    5554class InspectorLayerTreeAgent;
    5655class InspectorPageAgent;
     
    135134    void setInspectorProfilerAgent(InspectorProfilerAgent* agent) { m_inspectorProfilerAgent = agent; }
    136135
    137     InspectorHeapProfilerAgent* inspectorHeapProfilerAgent() const { return m_inspectorHeapProfilerAgent; }
    138     void setInspectorHeapProfilerAgent(InspectorHeapProfilerAgent* agent) { m_inspectorHeapProfilerAgent = agent; }
    139 
    140136    InspectorWorkerAgent* inspectorWorkerAgent() const { return m_inspectorWorkerAgent; }
    141137    void setInspectorWorkerAgent(InspectorWorkerAgent* agent) { m_inspectorWorkerAgent = agent; }
     
    171167    InspectorDOMDebuggerAgent* m_inspectorDOMDebuggerAgent;
    172168    InspectorProfilerAgent* m_inspectorProfilerAgent;
    173     InspectorHeapProfilerAgent* m_inspectorHeapProfilerAgent;
    174169    InspectorWorkerAgent* m_inspectorWorkerAgent;
    175170};
  • trunk/Source/WebCore/inspector/WebConsoleAgent.cpp

    r165199 r166622  
    112112}
    113113
    114 class InspectableHeapObject final : public CommandLineAPIHost::InspectableObject {
    115 public:
    116     explicit InspectableHeapObject(int heapObjectId)
    117         : m_heapObjectId(heapObjectId)
    118     {
    119     }
    120 
    121     virtual Deprecated::ScriptValue get(JSC::ExecState*) override
    122     {
    123         return ScriptProfiler::objectByHeapObjectId(m_heapObjectId);
    124     }
    125 
    126 private:
    127     int m_heapObjectId;
    128 };
    129 
    130 void WebConsoleAgent::addInspectedHeapObject(ErrorString*, int inspectedHeapObjectId)
    131 {
    132     if (CommandLineAPIHost* commandLineAPIHost = static_cast<WebInjectedScriptManager*>(m_injectedScriptManager)->commandLineAPIHost())
    133         commandLineAPIHost->addInspectedObject(std::make_unique<InspectableHeapObject>(inspectedHeapObjectId));
    134 }
    135 
    136114} // namespace WebCore
    137115
  • trunk/Source/WebCore/inspector/WebConsoleAgent.h

    r163987 r166622  
    4747
    4848    virtual void setMonitoringXHREnabled(ErrorString*, bool enabled) override final;
    49     virtual void addInspectedHeapObject(ErrorString*, int inspectedHeapObjectId) override final;
    5049
    5150    void frameWindowDiscarded(DOMWindow*);
  • trunk/Source/WebCore/inspector/WorkerInspectorController.cpp

    r164637 r166622  
    3838#include "InspectorClient.h"
    3939#include "InspectorForwarding.h"
    40 #include "InspectorHeapProfilerAgent.h"
    4140#include "InspectorInstrumentation.h"
    4241#include "InspectorProfilerAgent.h"
     
    9897
    9998    m_agents.append(InspectorProfilerAgent::create(m_instrumentingAgents.get(), consoleAgent.get(), &workerGlobalScope, m_injectedScriptManager.get()));
    100     m_agents.append(std::make_unique<InspectorHeapProfilerAgent>(m_instrumentingAgents.get(), m_injectedScriptManager.get()));
    10199    m_agents.append(std::make_unique<InspectorTimelineAgent>(m_instrumentingAgents.get(), nullptr, InspectorTimelineAgent::WorkerInspector, nullptr));
    102100    m_agents.append(std::move(consoleAgent));
  • trunk/Source/WebCore/inspector/protocol/Profiler.json

    r163140 r166622  
    77            "description": "Profile header.",
    88            "properties": [
    9                 { "name": "typeId", "type": "string", "enum": ["CPU", "HEAP"], "description": "Profile type name." },
     9                { "name": "typeId", "type": "string", "enum": ["CPU"], "description": "Profile type name." },
    1010                { "name": "title", "type": "string", "description": "Profile title." },
    1111                { "name": "uid", "type": "integer", "description": "Unique identifier of the profile." }
     
    4343                { "name": "idleTime", "type": "number", "optional": true }
    4444            ]
    45         },
    46         {
    47             "id": "HeapSnapshotObjectId",
    48             "type": "string",
    49             "description": "Heap snashot object id."
    5045        }
    5146    ],
    5247    "commands": [
    53         {
    54             "name": "isSampling",
    55             "returns": [
    56                 { "name": "result", "type": "boolean" }
    57             ]
    58         },
    59         {
    60             "name": "hasHeapProfiler",
    61             "returns": [
    62                 { "name": "result", "type": "boolean" }
    63             ]
    64         },
    6548        {
    6649            "name": "enable"
     
    9174        },
    9275        {
    93             "name": "getHeapSnapshot",
    94             "parameters": [
    95                 { "name": "uid", "type": "integer" }
    96             ]
    97         },
    98         {
    9976            "name": "removeProfile",
    10077            "parameters": [
     
    10582        {
    10683            "name": "clearProfiles"
    107         },
    108         {
    109             "name": "takeHeapSnapshot",
    110             "parameters": [
    111                 { "name": "reportProgress", "type": "boolean", "optional": true, "description": "If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being taken." }
    112             ]
    113         },
    114         {
    115             "name": "collectGarbage"
    116         },
    117         {
    118             "name": "getObjectByHeapObjectId",
    119             "parameters": [
    120                 { "name": "objectId", "$ref": "HeapSnapshotObjectId" },
    121                 { "name": "objectGroup", "type": "string", "optional": true, "description": "Symbolic group name that can be used to release multiple objects." }
    122             ],
    123             "returns": [
    124                 { "name": "result", "$ref": "Runtime.RemoteObject", "description": "Evaluation result." }
    125             ]
    126         },
    127         {
    128             "name": "getHeapObjectId",
    129             "parameters": [
    130                 { "name": "objectId", "$ref": "Runtime.RemoteObjectId", "description": "Identifier of the object to get heap object id for." }
    131             ],
    132             "returns": [
    133                 { "name": "heapSnapshotObjectId", "$ref": "HeapSnapshotObjectId", "description": "Id of the heap snapshot object corresponding to the passed remote object id." }
    134             ]
    13584        }
    13685    ],
     
    14392        },
    14493        {
    145             "name": "addHeapSnapshotChunk",
    146             "parameters": [
    147                 { "name": "uid", "type": "integer" },
    148                 { "name": "chunk", "type": "string" }
    149             ]
    150         },
    151         {
    152             "name": "finishHeapSnapshot",
    153             "parameters": [
    154                 { "name": "uid", "type": "integer" }
    155             ]
    156         },
    157         {
    15894            "name": "setRecordingProfile",
    15995            "parameters": [
     
    16399        {
    164100            "name": "resetProfiles"
    165         },
    166         {
    167             "name": "reportHeapSnapshotProgress",
    168             "parameters": [
    169                 { "name": "done", "type": "integer" },
    170                 { "name": "total", "type": "integer" }
    171             ]
    172101        }
    173102    ]
  • trunk/Source/WebInspectorUI/ChangeLog

    r166620 r166622  
     12014-04-01  Timothy Hatcher  <timothy@apple.com>
     2
     3        Remove HeapProfiler from the Web Inspector protocol.
     4
     5        https://bugs.webkit.org/show_bug.cgi?id=131070
     6
     7        Reviewed by Joseph Pecoraro.
     8
     9        * UserInterface/Protocol/Legacy/6.0/InspectorWebBackendCommands.js: Updated.
     10        * UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js: Ditto.
     11        * Versions/Inspector-iOS-6.0.json: Removed heap related stuff.
     12        * Versions/Inspector-iOS-7.0.json: Ditto.
     13
    1142014-04-01  Joseph Pecoraro  <pecoraro@apple.com>
    215
  • trunk/Source/WebInspectorUI/UserInterface/Protocol/Legacy/6.0/InspectorWebBackendCommands.js

    r164541 r166622  
    6868InspectorBackend.registerCommand("Console.setMonitoringXHREnabled", [{"name": "enabled", "type": "boolean", "optional": false}], []);
    6969InspectorBackend.registerCommand("Console.addInspectedNode", [{"name": "nodeId", "type": "number", "optional": false}], []);
    70 InspectorBackend.registerCommand("Console.addInspectedHeapObject", [{"name": "heapObjectId", "type": "number", "optional": false}], []);
    7170
    7271// Network.
     
    243242// Profiler.
    244243InspectorBackend.registerProfilerDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, "Profiler");
    245 InspectorBackend.registerEnum("Profiler.ProfileHeaderTypeId", {CPU: "CPU", CSS: "CSS", HEAP: "HEAP"});
     244InspectorBackend.registerEnum("Profiler.ProfileHeaderTypeId", {CPU: "CPU"});
    246245InspectorBackend.registerEvent("Profiler.addProfileHeader", ["header"]);
    247 InspectorBackend.registerEvent("Profiler.addHeapSnapshotChunk", ["uid", "chunk"]);
    248 InspectorBackend.registerEvent("Profiler.finishHeapSnapshot", ["uid"]);
    249246InspectorBackend.registerEvent("Profiler.setRecordingProfile", ["isProfiling"]);
    250247InspectorBackend.registerEvent("Profiler.resetProfiles", []);
    251 InspectorBackend.registerEvent("Profiler.reportHeapSnapshotProgress", ["done", "total"]);
    252 InspectorBackend.registerCommand("Profiler.isSampling", [], ["result"]);
    253 InspectorBackend.registerCommand("Profiler.hasHeapProfiler", [], ["result"]);
    254248InspectorBackend.registerCommand("Profiler.enable", [], []);
    255249InspectorBackend.registerCommand("Profiler.disable", [], []);
     
    260254InspectorBackend.registerCommand("Profiler.removeProfile", [{"name": "type", "type": "string", "optional": false}, {"name": "uid", "type": "number", "optional": false}], []);
    261255InspectorBackend.registerCommand("Profiler.clearProfiles", [], []);
    262 InspectorBackend.registerCommand("Profiler.takeHeapSnapshot", [], []);
    263 InspectorBackend.registerCommand("Profiler.collectGarbage", [], []);
    264 InspectorBackend.registerCommand("Profiler.getObjectByHeapObjectId", [{"name": "objectId", "type": "number", "optional": false}, {"name": "objectGroup", "type": "string", "optional": true}], ["result"]);
    265256
    266257// Worker.
  • trunk/Source/WebInspectorUI/UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js

    r166616 r166622  
    9393InspectorBackend.registerCommand("Console.setMonitoringXHREnabled", [{"name": "enabled", "type": "boolean", "optional": false}], []);
    9494InspectorBackend.registerCommand("Console.addInspectedNode", [{"name": "nodeId", "type": "number", "optional": false}], []);
    95 InspectorBackend.registerCommand("Console.addInspectedHeapObject", [{"name": "heapObjectId", "type": "number", "optional": false}], []);
    9695
    9796// Network.
     
    283282// Profiler.
    284283InspectorBackend.registerProfilerDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, "Profiler");
    285 InspectorBackend.registerEnum("Profiler.ProfileHeaderTypeId", {CPU: "CPU", CSS: "CSS", HEAP: "HEAP"});
     284InspectorBackend.registerEnum("Profiler.ProfileHeaderTypeId", {CPU: "CPU", CSS: "CSS"});
    286285InspectorBackend.registerEvent("Profiler.addProfileHeader", ["header"]);
    287 InspectorBackend.registerEvent("Profiler.addHeapSnapshotChunk", ["uid", "chunk"]);
    288 InspectorBackend.registerEvent("Profiler.finishHeapSnapshot", ["uid"]);
    289286InspectorBackend.registerEvent("Profiler.setRecordingProfile", ["isProfiling"]);
    290287InspectorBackend.registerEvent("Profiler.resetProfiles", []);
    291 InspectorBackend.registerEvent("Profiler.reportHeapSnapshotProgress", ["done", "total"]);
    292 InspectorBackend.registerCommand("Profiler.isSampling", [], ["result"]);
    293 InspectorBackend.registerCommand("Profiler.hasHeapProfiler", [], ["result"]);
    294288InspectorBackend.registerCommand("Profiler.enable", [], []);
    295289InspectorBackend.registerCommand("Profiler.disable", [], []);
     
    298292InspectorBackend.registerCommand("Profiler.getProfileHeaders", [], ["headers"]);
    299293InspectorBackend.registerCommand("Profiler.getCPUProfile", [{"name": "uid", "type": "number", "optional": false}], ["profile"]);
    300 InspectorBackend.registerCommand("Profiler.getHeapSnapshot", [{"name": "uid", "type": "number", "optional": false}], []);
    301294InspectorBackend.registerCommand("Profiler.removeProfile", [{"name": "type", "type": "string", "optional": false}, {"name": "uid", "type": "number", "optional": false}], []);
    302295InspectorBackend.registerCommand("Profiler.clearProfiles", [], []);
    303 InspectorBackend.registerCommand("Profiler.takeHeapSnapshot", [{"name": "reportProgress", "type": "boolean", "optional": true}], []);
    304 InspectorBackend.registerCommand("Profiler.collectGarbage", [], []);
    305 InspectorBackend.registerCommand("Profiler.getObjectByHeapObjectId", [{"name": "objectId", "type": "string", "optional": false}, {"name": "objectGroup", "type": "string", "optional": true}], ["result"]);
    306 InspectorBackend.registerCommand("Profiler.getHeapObjectId", [{"name": "objectId", "type": "string", "optional": false}], ["heapSnapshotObjectId"]);
    307 
    308 // HeapProfiler.
    309 InspectorBackend.registerHeapProfilerDispatcher = InspectorBackend.registerDomainDispatcher.bind(InspectorBackend, "HeapProfiler");
    310 InspectorBackend.registerEvent("HeapProfiler.addProfileHeader", ["header"]);
    311 InspectorBackend.registerEvent("HeapProfiler.addHeapSnapshotChunk", ["uid", "chunk"]);
    312 InspectorBackend.registerEvent("HeapProfiler.finishHeapSnapshot", ["uid"]);
    313 InspectorBackend.registerEvent("HeapProfiler.resetProfiles", []);
    314 InspectorBackend.registerEvent("HeapProfiler.reportHeapSnapshotProgress", ["done", "total"]);
    315 InspectorBackend.registerCommand("HeapProfiler.hasHeapProfiler", [], ["result"]);
    316 InspectorBackend.registerCommand("HeapProfiler.getProfileHeaders", [], ["headers"]);
    317 InspectorBackend.registerCommand("HeapProfiler.getHeapSnapshot", [{"name": "uid", "type": "number", "optional": false}], []);
    318 InspectorBackend.registerCommand("HeapProfiler.removeProfile", [{"name": "uid", "type": "number", "optional": false}], []);
    319 InspectorBackend.registerCommand("HeapProfiler.clearProfiles", [], []);
    320 InspectorBackend.registerCommand("HeapProfiler.takeHeapSnapshot", [{"name": "reportProgress", "type": "boolean", "optional": true}], []);
    321 InspectorBackend.registerCommand("HeapProfiler.collectGarbage", [], []);
    322 InspectorBackend.registerCommand("HeapProfiler.getObjectByHeapObjectId", [{"name": "objectId", "type": "string", "optional": false}, {"name": "objectGroup", "type": "string", "optional": true}], ["result"]);
    323 InspectorBackend.registerCommand("HeapProfiler.getHeapObjectId", [{"name": "objectId", "type": "string", "optional": false}], ["heapSnapshotObjectId"]);
    324296
    325297// Worker.
  • trunk/Source/WebInspectorUI/Versions/Inspector-iOS-6.0.json

    r164541 r166622  
    542542                "description": "Enables console to refer to the node with given id via $x (see Command Line API for more details $x functions).",
    543543                "hidden": true
    544             },
    545             {
    546                 "name": "addInspectedHeapObject",
    547                 "parameters": [
    548                     { "name": "heapObjectId", "type": "integer" }
    549                 ]
    550544            }
    551545        ],
     
    23222316                "description": "Profile header.",
    23232317                "properties": [
    2324                     { "name": "typeId", "type": "string", "enum": ["CPU", "CSS", "HEAP"], "description": "Profile type name." },
     2318                    { "name": "typeId", "type": "string", "enum": ["CPU"], "description": "Profile type name." },
    23252319                    { "name": "title", "type": "string", "description": "Profile title." },
    2326                     { "name": "uid", "type": "integer", "description": "Unique identifier of the profile." },
    2327                     { "name": "maxJSObjectId", "type": "integer", "optional": true, "description": "Last seen JS object Id." }
     2320                    { "name": "uid", "type": "integer", "description": "Unique identifier of the profile." }
    23282321                ]
    23292322            },
     
    23402333        "commands": [
    23412334            {
    2342                 "name": "isSampling",
    2343                 "returns": [
    2344                     { "name": "result", "type": "boolean" }
    2345                 ]
    2346             },
    2347             {
    2348                 "name": "hasHeapProfiler",
    2349                 "returns": [
    2350                     { "name": "result", "type": "boolean" }
    2351                 ]
    2352             },
    2353             {
    23542335                "name": "enable"
    23552336            },
     
    23882369            {
    23892370                "name": "clearProfiles"
    2390             },
    2391             {
    2392                 "name": "takeHeapSnapshot"
    2393             },
    2394             {
    2395                 "name": "collectGarbage"
    2396             },
    2397             {
    2398                 "name": "getObjectByHeapObjectId",
    2399                 "parameters": [
    2400                     { "name": "objectId", "type": "integer" },
    2401                     { "name": "objectGroup", "type": "string", "optional": true, "description": "Symbolic group name that can be used to release multiple objects." }
    2402                 ],
    2403                 "returns": [
    2404                     { "name": "result", "$ref": "Runtime.RemoteObject", "description": "Evaluation result." }
    2405                 ]
    24062371            }
    24072372        ],
     
    24142379            },
    24152380            {
    2416                 "name": "addHeapSnapshotChunk",
    2417                 "parameters": [
    2418                     { "name": "uid", "type": "integer" },
    2419                     { "name": "chunk", "type": "string" }
    2420                 ]
    2421             },
    2422             {
    2423                 "name": "finishHeapSnapshot",
    2424                 "parameters": [
    2425                     { "name": "uid", "type": "integer" }
    2426                 ]
    2427             },
    2428             {
    24292381                "name": "setRecordingProfile",
    24302382                "parameters": [
     
    24342386            {
    24352387                "name": "resetProfiles"
    2436             },
    2437             {
    2438                 "name": "reportHeapSnapshotProgress",
    2439                 "parameters": [
    2440                     { "name": "done", "type": "integer" },
    2441                     { "name": "total", "type": "integer" }
    2442                 ]
    24432388            }
    24442389        ]
  • trunk/Source/WebInspectorUI/Versions/Inspector-iOS-7.0.json

    r166616 r166622  
    710710                ],
    711711                "description": "Enables console to refer to the node with given id via $x (see Command Line API for more details $x functions)."
    712             },
    713             {
    714                 "name": "addInspectedHeapObject",
    715                 "parameters": [
    716                     { "name": "heapObjectId", "type": "integer" }
    717                 ]
    718712            }
    719713        ],
     
    26682662                "description": "Profile header.",
    26692663                "properties": [
    2670                     { "name": "typeId", "type": "string", "enum": ["CPU", "CSS", "HEAP"], "description": "Profile type name." },
     2664                    { "name": "typeId", "type": "string", "enum": ["CPU", "CSS"], "description": "Profile type name." },
    26712665                    { "name": "title", "type": "string", "description": "Profile title." },
    2672                     { "name": "uid", "type": "integer", "description": "Unique identifier of the profile." },
    2673                     { "name": "maxJSObjectId", "type": "integer", "optional": true, "description": "Last seen JS object Id." }
     2666                    { "name": "uid", "type": "integer", "description": "Unique identifier of the profile." }
    26742667                ]
    26752668            },
     
    26962689                "properties": [
    26972690                    { "name": "head", "$ref": "CPUProfileNode", "optional": true },
    2698                     { "name": "idleTime", "type": "number", "optional": true },
    2699                     { "name": "samples", "optional": true, "type": "array", "items": { "type": "integer" }, "description": "Ids of samples top nodes." }
    2700                 ]
    2701             },
    2702             {
    2703                 "id": "HeapSnapshotObjectId",
    2704                 "type": "string",
    2705                 "description": "Heap snashot object id."
     2691                    { "name": "idleTime", "type": "number", "optional": true }
     2692                ]
    27062693            }
    27072694        ],
    27082695        "commands": [
    27092696            {
    2710                 "name": "isSampling",
    2711                 "returns": [
    2712                     { "name": "result", "type": "boolean" }
    2713                 ]
    2714             },
    2715             {
    2716                 "name": "hasHeapProfiler",
    2717                 "returns": [
    2718                     { "name": "result", "type": "boolean" }
    2719                 ]
    2720             },
    2721             {
    27222697                "name": "enable"
    27232698            },
     
    27442719                "returns": [
    27452720                    { "name": "profile", "$ref": "CPUProfile" }
    2746                 ]
    2747             },
    2748             {
    2749                 "name": "getHeapSnapshot",
    2750                 "parameters": [
    2751                     { "name": "uid", "type": "integer" }
    27522721                ]
    27532722            },
     
    27612730            {
    27622731                "name": "clearProfiles"
    2763             },
    2764             {
    2765                 "name": "takeHeapSnapshot",
    2766                 "parameters": [
    2767                     { "name": "reportProgress", "type": "boolean", "optional": true, "description": "If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being taken." }
    2768                 ]
    2769             },
    2770             {
    2771                 "name": "collectGarbage"
    2772             },
    2773             {
    2774                 "name": "getObjectByHeapObjectId",
    2775                 "parameters": [
    2776                     { "name": "objectId", "$ref": "HeapSnapshotObjectId" },
    2777                     { "name": "objectGroup", "type": "string", "optional": true, "description": "Symbolic group name that can be used to release multiple objects." }
    2778                 ],
    2779                 "returns": [
    2780                     { "name": "result", "$ref": "Runtime.RemoteObject", "description": "Evaluation result." }
    2781                 ]
    2782             },
    2783             {
    2784                 "name": "getHeapObjectId",
    2785                 "parameters": [
    2786                     { "name": "objectId", "$ref": "Runtime.RemoteObjectId", "description": "Identifier of the object to get heap object id for." }
    2787                 ],
    2788                 "returns": [
    2789                     { "name": "heapSnapshotObjectId", "$ref": "HeapSnapshotObjectId", "description": "Id of the heap snapshot object corresponding to the passed remote object id." }
    2790                 ]
    27912732            }
    27922733        ],
     
    27992740            },
    28002741            {
    2801                 "name": "addHeapSnapshotChunk",
    2802                 "parameters": [
    2803                     { "name": "uid", "type": "integer" },
    2804                     { "name": "chunk", "type": "string" }
    2805                 ]
    2806             },
    2807             {
    2808                 "name": "finishHeapSnapshot",
    2809                 "parameters": [
    2810                     { "name": "uid", "type": "integer" }
    2811                 ]
    2812             },
    2813             {
    28142742                "name": "setRecordingProfile",
    28152743                "parameters": [
     
    28192747            {
    28202748                "name": "resetProfiles"
    2821             },
    2822             {
    2823                 "name": "reportHeapSnapshotProgress",
    2824                 "parameters": [
    2825                     { "name": "done", "type": "integer" },
    2826                     { "name": "total", "type": "integer" }
    2827                 ]
    2828             }
    2829         ]
    2830     },
    2831     {
    2832         "domain": "HeapProfiler",
    2833         "types": [
    2834             {
    2835                 "id": "ProfileHeader",
    2836                 "type": "object",
    2837                 "description": "Profile header.",
    2838                 "properties": [
    2839                     { "name": "title", "type": "string", "description": "Profile title." },
    2840                     { "name": "uid", "type": "integer", "description": "Unique identifier of the profile." },
    2841                     { "name": "maxJSObjectId", "type": "integer", "optional": true, "description": "Last seen JS object Id." }
    2842                 ]
    2843             },
    2844             {
    2845                 "id": "HeapSnapshotObjectId",
    2846                 "type": "string",
    2847                 "description": "Heap snashot object id."
    2848             }
    2849         ],
    2850         "commands": [
    2851             {
    2852                 "name": "hasHeapProfiler",
    2853                 "returns": [
    2854                     { "name": "result", "type": "boolean" }
    2855                 ]
    2856             },
    2857             {
    2858                 "name": "getProfileHeaders",
    2859                 "returns": [
    2860                     { "name": "headers", "type": "array", "items": { "$ref": "ProfileHeader"} }
    2861                 ]
    2862             },
    2863             {
    2864                 "name": "getHeapSnapshot",
    2865                 "parameters": [
    2866                     { "name": "uid", "type": "integer" }
    2867                 ]
    2868             },
    2869             {
    2870                 "name": "removeProfile",
    2871                 "parameters": [
    2872                     { "name": "uid", "type": "integer" }
    2873                 ]
    2874             },
    2875             {
    2876                 "name": "clearProfiles"
    2877             },
    2878             {
    2879                 "name": "takeHeapSnapshot",
    2880                 "parameters": [
    2881                     { "name": "reportProgress", "type": "boolean", "optional": true, "description": "If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being taken." }
    2882                 ]
    2883             },
    2884             {
    2885                 "name": "collectGarbage"
    2886             },
    2887             {
    2888                 "name": "getObjectByHeapObjectId",
    2889                 "parameters": [
    2890                     { "name": "objectId", "$ref": "HeapSnapshotObjectId" },
    2891                     { "name": "objectGroup", "type": "string", "optional": true, "description": "Symbolic group name that can be used to release multiple objects." }
    2892                 ],
    2893                 "returns": [
    2894                     { "name": "result", "$ref": "Runtime.RemoteObject", "description": "Evaluation result." }
    2895                 ]
    2896             },
    2897             {
    2898                 "name": "getHeapObjectId",
    2899                 "parameters": [
    2900                     { "name": "objectId", "$ref": "Runtime.RemoteObjectId", "description": "Identifier of the object to get heap object id for." }
    2901                 ],
    2902                 "returns": [
    2903                     { "name": "heapSnapshotObjectId", "$ref": "HeapSnapshotObjectId", "description": "Id of the heap snapshot object corresponding to the passed remote object id." }
    2904                 ]
    2905             }
    2906         ],
    2907         "events": [
    2908             {
    2909                 "name": "addProfileHeader",
    2910                 "parameters": [
    2911                     { "name": "header", "$ref": "ProfileHeader" }
    2912                 ]
    2913             },
    2914             {
    2915                 "name": "addHeapSnapshotChunk",
    2916                 "parameters": [
    2917                     { "name": "uid", "type": "integer" },
    2918                     { "name": "chunk", "type": "string" }
    2919                 ]
    2920             },
    2921             {
    2922                 "name": "finishHeapSnapshot",
    2923                 "parameters": [
    2924                     { "name": "uid", "type": "integer" }
    2925                 ]
    2926             },
    2927             {
    2928                 "name": "resetProfiles"
    2929             },
    2930             {
    2931                 "name": "reportHeapSnapshotProgress",
    2932                 "parameters": [
    2933                     { "name": "done", "type": "integer" },
    2934                     { "name": "total", "type": "integer" }
    2935                 ]
    29362749            }
    29372750        ]
Note: See TracChangeset for help on using the changeset viewer.