Title: [140306] trunk
Revision
140306
Author
[email protected]
Date
2013-01-20 23:50:51 -0800 (Sun, 20 Jan 2013)

Log 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:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (140305 => 140306)


--- trunk/LayoutTests/ChangeLog	2013-01-21 07:45:23 UTC (rev 140305)
+++ trunk/LayoutTests/ChangeLog	2013-01-21 07:50:51 UTC (rev 140306)
@@ -1,3 +1,15 @@
+2013-01-20  Yury Semikhatsky  <[email protected]>
+
+        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.
+
+        * inspector/profiler/heap-snapshot-loader.html:
+
 2013-01-20  Kentaro Hara  <[email protected]>
 
         Implement MediaStreamEvent constructor

Modified: trunk/LayoutTests/inspector/profiler/heap-snapshot-loader.html (140305 => 140306)


--- trunk/LayoutTests/inspector/profiler/heap-snapshot-loader.html	2013-01-21 07:45:23 UTC (rev 140305)
+++ trunk/LayoutTests/inspector/profiler/heap-snapshot-loader.html	2013-01-21 07:50:51 UTC (rev 140306)
@@ -55,7 +55,7 @@
             for (var i = 0, l = sourceStringified.length; i < l; i += partSize)
                 loader.write(sourceStringified.slice(i, i + partSize));
             loader.close();
-            var result = loader.buildSnapshot();
+            var result = loader.buildSnapshot("JSHeapSnapshot");
             result._nodes = new Uint32Array(result._nodes);
             result._containmentEdges = new Uint32Array(result._containmentEdges);
             InspectorTest.assertSnapshotEquals(new WebInspector.JSHeapSnapshot(InspectorTest.createHeapSnapshotMock()), result);

Modified: trunk/Source/WebCore/ChangeLog (140305 => 140306)


--- trunk/Source/WebCore/ChangeLog	2013-01-21 07:45:23 UTC (rev 140305)
+++ trunk/Source/WebCore/ChangeLog	2013-01-21 07:50:51 UTC (rev 140306)
@@ -1,3 +1,22 @@
+2013-01-20  Yury Semikhatsky  <[email protected]>
+
+        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.
+
+        * 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):
+
 2013-01-20  Kentaro Hara  <[email protected]>
 
         Implement MediaStreamEvent constructor

Modified: trunk/Source/WebCore/inspector/front-end/HeapSnapshotLoader.js (140305 => 140306)


--- trunk/Source/WebCore/inspector/front-end/HeapSnapshotLoader.js	2013-01-21 07:45:23 UTC (rev 140305)
+++ trunk/Source/WebCore/inspector/front-end/HeapSnapshotLoader.js	2013-01-21 07:50:51 UTC (rev 140306)
@@ -56,9 +56,10 @@
             this._parseStringsArray();
     },
 
-    buildSnapshot: function()
+    buildSnapshot: function(constructorName)
     {
-        var result = new WebInspector.JSHeapSnapshot(this._snapshot);
+        var constructor = WebInspector[constructorName];
+        var result = new constructor(this._snapshot);
         this._reset();
         return result;
     },

Modified: trunk/Source/WebCore/inspector/front-end/HeapSnapshotProxy.js (140305 => 140306)


--- trunk/Source/WebCore/inspector/front-end/HeapSnapshotProxy.js	2013-01-21 07:45:23 UTC (rev 140305)
+++ trunk/Source/WebCore/inspector/front-end/HeapSnapshotProxy.js	2013-01-21 07:50:51 UTC (rev 140306)
@@ -188,12 +188,11 @@
 }
 
 WebInspector.HeapSnapshotWorker.prototype = {
-    createObject: function(constructorName)
+    createLoader: function(snapshotConstructorName)
     {
-        var proxyConstructorFunction = this._findFunction(constructorName + "Proxy");
         var objectId = this._nextObjectId++;
-        var proxy = new proxyConstructorFunction(this, objectId);
-        this._postMessage({callId: this._nextCallId++, disposition: "create", objectId: objectId, methodName: constructorName});
+        var proxy = new WebInspector.HeapSnapshotLoaderProxy(this, objectId, snapshotConstructorName);
+        this._postMessage({callId: this._nextCallId++, disposition: "create", objectId: objectId, methodName: "WebInspector.HeapSnapshotLoader"});
         return proxy;
     },
 
@@ -360,9 +359,10 @@
  * @extends {WebInspector.HeapSnapshotProxyObject}
  * @implements {WebInspector.OutputStream}
  */
-WebInspector.HeapSnapshotLoaderProxy = function(worker, objectId)
+WebInspector.HeapSnapshotLoaderProxy = function(worker, objectId, snapshotConstructorName)
 {
     WebInspector.HeapSnapshotProxyObject.call(this, worker, objectId);
+    this._snapshotConstructorName = snapshotConstructorName;
     this._pendingSnapshotConsumers = [];
 }
 
@@ -388,7 +388,7 @@
     {
         function buildSnapshot()
         {
-            this.callFactoryMethod(updateStaticData.bind(this), "buildSnapshot", "WebInspector.HeapSnapshotProxy");
+            this.callFactoryMethod(updateStaticData.bind(this), "buildSnapshot", "WebInspector.HeapSnapshotProxy", this._snapshotConstructorName);
         }
         function updateStaticData(snapshotProxy)
         {

Modified: trunk/Source/WebCore/inspector/front-end/HeapSnapshotView.js (140305 => 140306)


--- trunk/Source/WebCore/inspector/front-end/HeapSnapshotView.js	2013-01-21 07:45:23 UTC (rev 140305)
+++ trunk/Source/WebCore/inspector/front-end/HeapSnapshotView.js	2013-01-21 07:50:51 UTC (rev 140306)
@@ -873,7 +873,7 @@
         }
         var worker = new WebInspector.HeapSnapshotWorker();
         worker.addEventListener("wait", setProfileWait, this);
-        var loaderProxy = worker.createObject("WebInspector.HeapSnapshotLoader");
+        var loaderProxy = worker.createLoader("JSHeapSnapshot");
         loaderProxy.addConsumer(this._snapshotReceived.bind(this));
         this._receiver = loaderProxy;
     },
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to