Changeset 140306 in webkit


Ignore:
Timestamp:
Jan 20, 2013 11:50:51 PM (11 years ago)
Author:
yurys@chromium.org
Message:

Web Inspector: change HeapSnapshotLoader to allow loading native heap snapshots
https://bugs.webkit.org/show_bug.cgi?id=107282

Reviewed by Pavel Feldman.

Conctete heap snapshot constructor name is passed as a parameter to HeapSnapshotLoaderProxy and
propagated to HeapSnapshotLoader.buildSnapshot to support different types of heap snapshots.

Source/WebCore:

  • inspector/front-end/HeapSnapshotLoader.js:

(WebInspector.HeapSnapshotLoader.prototype.buildSnapshot):

  • inspector/front-end/HeapSnapshotProxy.js:

(WebInspector.HeapSnapshotWorker.prototype.createLoader):
(WebInspector.HeapSnapshotLoaderProxy):
(WebInspector.HeapSnapshotLoaderProxy.prototype.close):

  • inspector/front-end/HeapSnapshotView.js:

(WebInspector.HeapProfileHeader.prototype._setupWorker):

LayoutTests:

  • inspector/profiler/heap-snapshot-loader.html:
Location:
trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r140305 r140306  
     12013-01-20  Yury Semikhatsky  <yurys@chromium.org>
     2
     3        Web Inspector: change HeapSnapshotLoader to allow loading native heap snapshots
     4        https://bugs.webkit.org/show_bug.cgi?id=107282
     5
     6        Reviewed by Pavel Feldman.
     7
     8        Conctete heap snapshot constructor name is passed as a parameter to HeapSnapshotLoaderProxy and
     9        propagated to HeapSnapshotLoader.buildSnapshot to support different types of heap snapshots.
     10
     11        * inspector/profiler/heap-snapshot-loader.html:
     12
    1132013-01-20  Kentaro Hara  <haraken@chromium.org>
    214
  • trunk/LayoutTests/inspector/profiler/heap-snapshot-loader.html

    r139998 r140306  
    5656                loader.write(sourceStringified.slice(i, i + partSize));
    5757            loader.close();
    58             var result = loader.buildSnapshot();
     58            var result = loader.buildSnapshot("JSHeapSnapshot");
    5959            result._nodes = new Uint32Array(result._nodes);
    6060            result._containmentEdges = new Uint32Array(result._containmentEdges);
  • trunk/Source/WebCore/ChangeLog

    r140305 r140306  
     12013-01-20  Yury Semikhatsky  <yurys@chromium.org>
     2
     3        Web Inspector: change HeapSnapshotLoader to allow loading native heap snapshots
     4        https://bugs.webkit.org/show_bug.cgi?id=107282
     5
     6        Reviewed by Pavel Feldman.
     7
     8        Conctete heap snapshot constructor name is passed as a parameter to HeapSnapshotLoaderProxy and
     9        propagated to HeapSnapshotLoader.buildSnapshot to support different types of heap snapshots.
     10
     11        * inspector/front-end/HeapSnapshotLoader.js:
     12        (WebInspector.HeapSnapshotLoader.prototype.buildSnapshot):
     13        * inspector/front-end/HeapSnapshotProxy.js:
     14        (WebInspector.HeapSnapshotWorker.prototype.createLoader):
     15        (WebInspector.HeapSnapshotLoaderProxy):
     16        (WebInspector.HeapSnapshotLoaderProxy.prototype.close):
     17        * inspector/front-end/HeapSnapshotView.js:
     18        (WebInspector.HeapProfileHeader.prototype._setupWorker):
     19
    1202013-01-20  Kentaro Hara  <haraken@chromium.org>
    221
  • trunk/Source/WebCore/inspector/front-end/HeapSnapshotLoader.js

    r138477 r140306  
    5757    },
    5858
    59     buildSnapshot: function()
     59    buildSnapshot: function(constructorName)
    6060    {
    61         var result = new WebInspector.JSHeapSnapshot(this._snapshot);
     61        var constructor = WebInspector[constructorName];
     62        var result = new constructor(this._snapshot);
    6263        this._reset();
    6364        return result;
  • trunk/Source/WebCore/inspector/front-end/HeapSnapshotProxy.js

    r138507 r140306  
    189189
    190190WebInspector.HeapSnapshotWorker.prototype = {
    191     createObject: function(constructorName)
    192     {
    193         var proxyConstructorFunction = this._findFunction(constructorName + "Proxy");
     191    createLoader: function(snapshotConstructorName)
     192    {
    194193        var objectId = this._nextObjectId++;
    195         var proxy = new proxyConstructorFunction(this, objectId);
    196         this._postMessage({callId: this._nextCallId++, disposition: "create", objectId: objectId, methodName: constructorName});
     194        var proxy = new WebInspector.HeapSnapshotLoaderProxy(this, objectId, snapshotConstructorName);
     195        this._postMessage({callId: this._nextCallId++, disposition: "create", objectId: objectId, methodName: "WebInspector.HeapSnapshotLoader"});
    197196        return proxy;
    198197    },
     
    361360 * @implements {WebInspector.OutputStream}
    362361 */
    363 WebInspector.HeapSnapshotLoaderProxy = function(worker, objectId)
     362WebInspector.HeapSnapshotLoaderProxy = function(worker, objectId, snapshotConstructorName)
    364363{
    365364    WebInspector.HeapSnapshotProxyObject.call(this, worker, objectId);
     365    this._snapshotConstructorName = snapshotConstructorName;
    366366    this._pendingSnapshotConsumers = [];
    367367}
     
    389389        function buildSnapshot()
    390390        {
    391             this.callFactoryMethod(updateStaticData.bind(this), "buildSnapshot", "WebInspector.HeapSnapshotProxy");
     391            this.callFactoryMethod(updateStaticData.bind(this), "buildSnapshot", "WebInspector.HeapSnapshotProxy", this._snapshotConstructorName);
    392392        }
    393393        function updateStaticData(snapshotProxy)
  • trunk/Source/WebCore/inspector/front-end/HeapSnapshotView.js

    r140135 r140306  
    874874        var worker = new WebInspector.HeapSnapshotWorker();
    875875        worker.addEventListener("wait", setProfileWait, this);
    876         var loaderProxy = worker.createObject("WebInspector.HeapSnapshotLoader");
     876        var loaderProxy = worker.createLoader("JSHeapSnapshot");
    877877        loaderProxy.addConsumer(this._snapshotReceived.bind(this));
    878878        this._receiver = loaderProxy;
Note: See TracChangeset for help on using the changeset viewer.