Title: [133907] trunk/Source/WebCore
Revision
133907
Author
[email protected]
Date
2012-11-08 09:28:05 -0800 (Thu, 08 Nov 2012)

Log Message

Web Inspector: [Canvas] UI iterations: image on the top, auto replay
https://bugs.webkit.org/show_bug.cgi?id=101584

Patch by Andrey Adaikin <[email protected]> on 2012-11-08
Reviewed by Pavel Feldman.

* inspector/front-end/CanvasProfileView.js:
(WebInspector.CanvasProfileView):
(WebInspector.CanvasProfileView.prototype._showTraceLog):
(WebInspector.CanvasProfileView.prototype._onTraceLogItemClick):
(WebInspector.CanvasProfileView.prototype._replayTraceLog.didReplayTraceLog):
(WebInspector.CanvasProfileView.prototype._replayTraceLog):
* inspector/front-end/canvasProfiler.css:
(.canvas-trace-log):
(#canvas-replay-image-container):
(#canvas-replay-image):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (133906 => 133907)


--- trunk/Source/WebCore/ChangeLog	2012-11-08 17:26:55 UTC (rev 133906)
+++ trunk/Source/WebCore/ChangeLog	2012-11-08 17:28:05 UTC (rev 133907)
@@ -1,3 +1,21 @@
+2012-11-08  Andrey Adaikin  <[email protected]>
+
+        Web Inspector: [Canvas] UI iterations: image on the top, auto replay
+        https://bugs.webkit.org/show_bug.cgi?id=101584
+
+        Reviewed by Pavel Feldman.
+
+        * inspector/front-end/CanvasProfileView.js:
+        (WebInspector.CanvasProfileView):
+        (WebInspector.CanvasProfileView.prototype._showTraceLog):
+        (WebInspector.CanvasProfileView.prototype._onTraceLogItemClick):
+        (WebInspector.CanvasProfileView.prototype._replayTraceLog.didReplayTraceLog):
+        (WebInspector.CanvasProfileView.prototype._replayTraceLog):
+        * inspector/front-end/canvasProfiler.css:
+        (.canvas-trace-log):
+        (#canvas-replay-image-container):
+        (#canvas-replay-image):
+
 2012-11-08  Wei Fanzhe  <[email protected]>
 
         While absolute positioning is put before the first flexitem, flexitems will move to a new line.

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


--- trunk/Source/WebCore/inspector/front-end/CanvasProfileView.js	2012-11-08 17:26:55 UTC (rev 133906)
+++ trunk/Source/WebCore/inspector/front-end/CanvasProfileView.js	2012-11-08 17:28:05 UTC (rev 133907)
@@ -100,8 +100,9 @@
         function didReceiveTraceLog(error, traceLog)
         {
             this._traceLogElement.textContent = "";
-            if (!traceLog)
+            if (error || !traceLog)
                 return;
+            var fragment = document.createDocumentFragment();
             var calls = traceLog.calls;
             for (var i = 0, n = calls.length; i < n; ++i) {
                 var call = calls[i];
@@ -128,20 +129,39 @@
 
                 if (typeof call.result !== "undefined")
                     traceLogItem.appendChild(document.createTextNode(" => " + call.result));
-                this._traceLogElement.appendChild(traceLogItem);
+                fragment.appendChild(traceLogItem);
             }
+            this._traceLogElement.appendChild(fragment);
+
+            var lastItem = this._traceLogElement.lastChild;
+            if (lastItem) {
+                lastItem.scrollIntoViewIfNeeded();
+                this._replayTraceLog(lastItem);
+            }
         }
         CanvasAgent.getTraceLog(this._profile.traceLogId(), didReceiveTraceLog.bind(this));
     },
 
+    /**
+     * @param {Event} e
+     */
     _onTraceLogItemClick: function(e)
     {
-        var item = e.target;
+        this._replayTraceLog(/** @type {Element} */ (e.target));
+    },
+
+    /**
+     * @param {Element} item
+     */
+    _replayTraceLog: function(item)
+    {
         if (!item || !item.traceLogId)
             return;
         var time = Date.now();
         function didReplayTraceLog(error, dataURL)
         {
+            if (error)
+                return;
             this._debugInfoElement.textContent = "Replay time: " + (Date.now() - time) + "ms";
             if (this._activeTraceLogItem)
                 this._activeTraceLogItem.style.backgroundColor = "";

Modified: trunk/Source/WebCore/inspector/front-end/canvasProfiler.css (133906 => 133907)


--- trunk/Source/WebCore/inspector/front-end/canvasProfiler.css	2012-11-08 17:26:55 UTC (rev 133906)
+++ trunk/Source/WebCore/inspector/front-end/canvasProfiler.css	2012-11-08 17:28:05 UTC (rev 133907)
@@ -39,13 +39,13 @@
 
 .canvas-trace-log {
     position: absolute;
-    top: 10px;
-    left: 0;
+    top: 400px;
+    left: 5px;
+    right: 5px;
     bottom: 10px;
     font-size: 13px;
     overflow: auto;
     white-space: nowrap;
-    padding: 0 20px;
 }
 
 .canvas-trace-log div {
@@ -53,15 +53,18 @@
 }
 
 #canvas-replay-image-container {
-    position: absolute;
-    right: 0;
-    top: 0;
-    padding: 10px;
+    height: 400px;
+    text-align: center;
+    padding: 5px 5px 16px 5px;
     background-color: white;
 }
 
 #canvas-replay-image {
-    width: 400px;
-    height: 400px;
+    zoom: 100;
+    height: auto;
+    width: auto;
+    max-width: 100%;
+    max-height: 100%;
+    margin: auto;
     display: block;
 }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to