Title: [118348] trunk/Source/WebCore
- Revision
- 118348
- Author
- [email protected]
- Date
- 2012-05-24 04:27:01 -0700 (Thu, 24 May 2012)
Log Message
Web Inspector: introduce console proxy object for HeapSnapshot worker.
https://bugs.webkit.org/show_bug.cgi?id=87346
There is no console object in html5 workers at the moment.
This makes me sad when I'm troubleshooting the HeapSnapshot stuff.
I wrote a simplest proxy object which sends the log, info and error messages
to the WebInspector window.
Reviewed by Pavel Feldman.
* inspector/front-end/HeapSnapshotProxy.js:
(WebInspector.HeapSnapshotRealWorker.prototype._messageReceived):
* inspector/front-end/HeapSnapshotWorker.js:
(WebInspector.WorkerConsole):
(WebInspector.WorkerConsole.prototype.log):
(WebInspector.WorkerConsole.prototype.error):
(WebInspector.WorkerConsole.prototype.info):
(WebInspector.WorkerConsole.prototype._postMessage):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (118347 => 118348)
--- trunk/Source/WebCore/ChangeLog 2012-05-24 11:17:28 UTC (rev 118347)
+++ trunk/Source/WebCore/ChangeLog 2012-05-24 11:27:01 UTC (rev 118348)
@@ -1,3 +1,24 @@
+2012-05-23 Ilya Tikhonovsky <[email protected]>
+
+ Web Inspector: introduce console proxy object for HeapSnapshot worker.
+ https://bugs.webkit.org/show_bug.cgi?id=87346
+
+ There is no console object in html5 workers at the moment.
+ This makes me sad when I'm troubleshooting the HeapSnapshot stuff.
+ I wrote a simplest proxy object which sends the log, info and error messages
+ to the WebInspector window.
+
+ Reviewed by Pavel Feldman.
+
+ * inspector/front-end/HeapSnapshotProxy.js:
+ (WebInspector.HeapSnapshotRealWorker.prototype._messageReceived):
+ * inspector/front-end/HeapSnapshotWorker.js:
+ (WebInspector.WorkerConsole):
+ (WebInspector.WorkerConsole.prototype.log):
+ (WebInspector.WorkerConsole.prototype.error):
+ (WebInspector.WorkerConsole.prototype.info):
+ (WebInspector.WorkerConsole.prototype._postMessage):
+
2012-05-24 Shinya Kawanaka <[email protected]>
Elements in Shadow DOM are not resizable.
Modified: trunk/Source/WebCore/inspector/front-end/HeapSnapshotProxy.js (118347 => 118348)
--- trunk/Source/WebCore/inspector/front-end/HeapSnapshotProxy.js 2012-05-24 11:17:28 UTC (rev 118347)
+++ trunk/Source/WebCore/inspector/front-end/HeapSnapshotProxy.js 2012-05-24 11:27:01 UTC (rev 118348)
@@ -60,7 +60,20 @@
WebInspector.HeapSnapshotRealWorker.prototype = {
_messageReceived: function(event)
{
- this.dispatchEventToListeners("message", event.data);
+ var message = event.data;
+ if ("callId" in message)
+ this.dispatchEventToListeners("message", message);
+ else {
+ if (message.object !== "console") {
+ console.log(WebInspector.UIString("Worker asks to call a method '%s' on unsupported object '%s'.", message.method, message.object));
+ return;
+ }
+ if (message.method !== "log" && message.method !== "info" && message.method !== "error") {
+ console.log(WebInspector.UIString("Worker asks to call unsuported method '%s' on console object.", message.method));
+ return;
+ }
+ console[message.method].apply(window[message.object], message.arguments);
+ }
},
postMessage: function(message)
Modified: trunk/Source/WebCore/inspector/front-end/HeapSnapshotWorker.js (118347 => 118348)
--- trunk/Source/WebCore/inspector/front-end/HeapSnapshotWorker.js 2012-05-24 11:17:28 UTC (rev 118347)
+++ trunk/Source/WebCore/inspector/front-end/HeapSnapshotWorker.js 2012-05-24 11:27:01 UTC (rev 118348)
@@ -41,5 +41,40 @@
postMessage(message);
}
+/**
+ * @constructor
+ */
+WebInspector.WorkerConsole = function()
+{
+}
+
+WebInspector.WorkerConsole.prototype = {
+ log: function()
+ {
+ this._postMessage("log", Array.prototype.slice.call(arguments));
+ },
+
+ error: function()
+ {
+ this._postMessage("error", Array.prototype.slice.call(arguments));
+ },
+
+ info: function()
+ {
+ this._postMessage("info", Array.prototype.slice.call(arguments));
+ },
+
+ _postMessage: function(method, args)
+ {
+ var rawMessage = {
+ object: "console",
+ method: method,
+ arguments: args
+ };
+ postMessageWrapper(rawMessage);
+ }
+};
+
var dispatcher = new WebInspector.HeapSnapshotWorkerDispatcher(this, postMessageWrapper);
addEventListener("message", dispatcher.dispatchMessage.bind(dispatcher), false);
+console = new WebInspector.WorkerConsole();
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes