Title: [143745] trunk/Source/WebCore
Revision
143745
Author
aand...@chromium.org
Date
2013-02-22 09:56:37 -0800 (Fri, 22 Feb 2013)

Log Message

Web Inspector: [Canvas] throttle replayTraceLog messages to backend
https://bugs.webkit.org/show_bug.cgi?id=110591

Reviewed by Pavel Feldman.

The replayTraceLog message may be quite expensive. So, while such a request is processed by the
backend, user may well generate a dozen of new ones simply by walking through the DataGrid.
We should actually send to the backend only the last event from the queue.

* inspector/front-end/CanvasProfileView.js:
(WebInspector.CanvasProfileView.prototype._replayTraceLog.didReplayTraceLog):
(WebInspector.CanvasProfileView.prototype._replayTraceLog):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (143744 => 143745)


--- trunk/Source/WebCore/ChangeLog	2013-02-22 17:53:07 UTC (rev 143744)
+++ trunk/Source/WebCore/ChangeLog	2013-02-22 17:56:37 UTC (rev 143745)
@@ -1,3 +1,18 @@
+2013-02-22  Andrey Adaikin  <aand...@chromium.org>
+
+        Web Inspector: [Canvas] throttle replayTraceLog messages to backend
+        https://bugs.webkit.org/show_bug.cgi?id=110591
+
+        Reviewed by Pavel Feldman.
+
+        The replayTraceLog message may be quite expensive. So, while such a request is processed by the
+        backend, user may well generate a dozen of new ones simply by walking through the DataGrid.
+        We should actually send to the backend only the last event from the queue.
+
+        * inspector/front-end/CanvasProfileView.js:
+        (WebInspector.CanvasProfileView.prototype._replayTraceLog.didReplayTraceLog):
+        (WebInspector.CanvasProfileView.prototype._replayTraceLog):
+
 2013-02-22  Allan Sandfeld Jensen  <allan.jen...@digia.com>
 
         Multiple Layout Test crashes (ASSERT) on chromium linux debug after r143727

Modified: trunk/Source/WebCore/inspector/front-end/CanvasProfileView.js (143744 => 143745)


--- trunk/Source/WebCore/inspector/front-end/CanvasProfileView.js	2013-02-22 17:53:07 UTC (rev 143744)
+++ trunk/Source/WebCore/inspector/front-end/CanvasProfileView.js	2013-02-22 17:56:37 UTC (rev 143745)
@@ -238,10 +238,13 @@
 
     _replayTraceLog: function()
     {
+        if (this._pendingReplayTraceLogEvent)
+            return;
         var index = this._selectedCallIndex();
         if (index === -1 || index === this._lastReplayCallIndex)
             return;
         this._lastReplayCallIndex = index;
+        this._pendingReplayTraceLogEvent = true;
         var time = Date.now();
         /**
          * @param {?Protocol.Error} error
@@ -249,8 +252,12 @@
          */
         function didReplayTraceLog(error, resourceState)
         {
-            if (index !== this._selectedCallIndex())
+            delete this._pendingReplayTraceLogEvent;
+
+            if (index !== this._selectedCallIndex()) {
+                this._replayTraceLog();
                 return;
+            }
 
             this._enableWaitIcon(false);
             if (error)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to