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;
},