Title: [120838] trunk/Source/WebCore
Revision
120838
Author
[email protected]
Date
2012-06-20 11:11:09 -0700 (Wed, 20 Jun 2012)

Log Message

Web Inspector: Timeline label bar jiggles when scrolling
https://bugs.webkit.org/show_bug.cgi?id=89579

Reviewed by Vsevolod Vlasov.

Adding timeline header into the timeline panel and settings its position
to absolute. Drive-by fix that updates rulers on sidebar resize.

* inspector/front-end/TimelineGrid.js:
(WebInspector.TimelineGrid):
(WebInspector.TimelineGrid.prototype.get gridHeaderElement):
(WebInspector.TimelineGrid.prototype.addEventDividers):
(WebInspector.TimelineGrid.prototype.setScrollAndDividerTop):
* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineOverviewPane.prototype.sidebarResized):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel):
(WebInspector.TimelinePanel.prototype.sidebarResized):
(WebInspector.TimelinePanel.prototype.onResize):
* inspector/front-end/timelinePanel.css:
(#timeline-grid-header):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (120837 => 120838)


--- trunk/Source/WebCore/ChangeLog	2012-06-20 17:58:09 UTC (rev 120837)
+++ trunk/Source/WebCore/ChangeLog	2012-06-20 18:11:09 UTC (rev 120838)
@@ -1,3 +1,27 @@
+2012-06-20  Pavel Feldman  <[email protected]>
+
+        Web Inspector: Timeline label bar jiggles when scrolling
+        https://bugs.webkit.org/show_bug.cgi?id=89579
+
+        Reviewed by Vsevolod Vlasov.
+
+        Adding timeline header into the timeline panel and settings its position
+        to absolute. Drive-by fix that updates rulers on sidebar resize.
+
+        * inspector/front-end/TimelineGrid.js:
+        (WebInspector.TimelineGrid):
+        (WebInspector.TimelineGrid.prototype.get gridHeaderElement):
+        (WebInspector.TimelineGrid.prototype.addEventDividers):
+        (WebInspector.TimelineGrid.prototype.setScrollAndDividerTop):
+        * inspector/front-end/TimelineOverviewPane.js:
+        (WebInspector.TimelineOverviewPane.prototype.sidebarResized):
+        * inspector/front-end/TimelinePanel.js:
+        (WebInspector.TimelinePanel):
+        (WebInspector.TimelinePanel.prototype.sidebarResized):
+        (WebInspector.TimelinePanel.prototype.onResize):
+        * inspector/front-end/timelinePanel.css:
+        (#timeline-grid-header):
+
 2012-06-20  Ian Vollick  <[email protected]>
 
         [chromium] Make sure that render surfaces are not pixel doubled with a device scale factor of 2

Modified: trunk/Source/WebCore/inspector/front-end/TimelineGrid.js (120837 => 120838)


--- trunk/Source/WebCore/inspector/front-end/TimelineGrid.js	2012-06-20 17:58:09 UTC (rev 120837)
+++ trunk/Source/WebCore/inspector/front-end/TimelineGrid.js	2012-06-20 18:11:09 UTC (rev 120838)
@@ -43,13 +43,17 @@
     this._dividersElement.className = "resources-dividers";
     this.element.appendChild(this._dividersElement);
 
+    this._gridHeaderElement = document.createElement("div"); 
+
     this._eventDividersElement = document.createElement("div");
     this._eventDividersElement.className = "resources-event-dividers";
-    this.element.appendChild(this._eventDividersElement);
+    this._gridHeaderElement.appendChild(this._eventDividersElement);
 
     this._dividersLabelBarElement = document.createElement("div");
     this._dividersLabelBarElement.className = "resources-dividers-label-bar";
-    this.element.appendChild(this._dividersLabelBarElement);
+    this._gridHeaderElement.appendChild(this._dividersLabelBarElement);
+
+    this.element.appendChild(this._gridHeaderElement);
 }
 
 WebInspector.TimelineGrid.prototype = {
@@ -63,6 +67,11 @@
         return this._dividersElement;
     },
 
+    get gridHeaderElement()
+    {
+        return this._gridHeaderElement;
+    },
+
     removeDividers: function()
     {
         this._dividersElement.removeChildren();
@@ -158,12 +167,12 @@
 
     addEventDividers: function(dividers)
     {
-        this.element.removeChild(this._eventDividersElement);
+        this._gridHeaderElement.removeChild(this._eventDividersElement);
         for (var i = 0; i < dividers.length; ++i) {
             if (dividers[i])
                 this._eventDividersElement.appendChild(dividers[i]);
         }
-        this.element.appendChild(this._eventDividersElement);
+        this._gridHeaderElement.appendChild(this._eventDividersElement);
     },
 
     removeEventDividers: function()
@@ -184,7 +193,5 @@
     setScrollAndDividerTop: function(scrollTop, dividersTop)
     {
         this._dividersElement.style.top = scrollTop + "px";
-        this._eventDividersElement.style.top = scrollTop + "px";
-        this._dividersLabelBarElement.style.top = dividersTop + "px";
     }
 }

Modified: trunk/Source/WebCore/inspector/front-end/TimelineOverviewPane.js (120837 => 120838)


--- trunk/Source/WebCore/inspector/front-end/TimelineOverviewPane.js	2012-06-20 17:58:09 UTC (rev 120837)
+++ trunk/Source/WebCore/inspector/front-end/TimelineOverviewPane.js	2012-06-20 18:11:09 UTC (rev 120838)
@@ -232,6 +232,7 @@
     {
         this._overviewContainer.style.left = width + "px";
         this._topPaneSidebarElement.style.width = width + "px";
+        this._update();
     },
 
     /**

Modified: trunk/Source/WebCore/inspector/front-end/TimelinePanel.js (120837 => 120838)


--- trunk/Source/WebCore/inspector/front-end/TimelinePanel.js	2012-06-20 17:58:09 UTC (rev 120837)
+++ trunk/Source/WebCore/inspector/front-end/TimelinePanel.js	2012-06-20 18:11:09 UTC (rev 120838)
@@ -77,7 +77,9 @@
     this._itemsGraphsElement = this._timelineGrid.itemsGraphsElement;
     this._itemsGraphsElement.id = "timeline-graphs";
     this._containerContentElement.appendChild(this._timelineGrid.element);
+    this._timelineGrid.gridHeaderElement.id = "timeline-grid-header";
     this._memoryStatistics.setMainTimelineGrid(this._timelineGrid);
+    this.element.appendChild(this._timelineGrid.gridHeaderElement);
 
     this._topGapElement = document.createElement("div");
     this._topGapElement.className = "timeline-gap";
@@ -104,9 +106,9 @@
     this._boundariesAreValid = true;
     this._scrollTop = 0;
 
-    this._popoverHelper = new WebInspector.PopoverHelper(this._containerElement, this._getPopoverAnchor.bind(this), this._showPopover.bind(this));
-    this._containerElement.addEventListener("mousemove", this._mouseMove.bind(this), false);
-    this._containerElement.addEventListener("mouseout", this._mouseOut.bind(this), false);
+    this._popoverHelper = new WebInspector.PopoverHelper(this.element, this._getPopoverAnchor.bind(this), this._showPopover.bind(this));
+    this.element.addEventListener("mousemove", this._mouseMove.bind(this), false);
+    this.element.addEventListener("mouseout", this._mouseOut.bind(this), false);
 
     // Disable short events filter by default.
     this.toggleFilterButton.toggled = true;
@@ -507,12 +509,15 @@
         // Min width = <number of buttons on the left> * 31
         this.statusBarFilters.style.left = Math.max((this.statusBarItems.length + 2) * 31, width) + "px";
         this._memoryStatistics.setSidebarWidth(width);
+        this._timelineGrid.gridHeaderElement.style.left = width + "px";
+        this._timelineGrid.gridHeaderElement.style.width = this._itemsGraphsElement.offsetWidth + "px";
     },
 
     onResize: function()
     {
         this._closeRecordDetails();
         this._scheduleRefresh(false);
+        this._timelineGrid.gridHeaderElement.style.width = this._itemsGraphsElement.offsetWidth + "px";
     },
 
     _clearPanel: function()

Modified: trunk/Source/WebCore/inspector/front-end/inspectorCommon.css (120837 => 120838)


--- trunk/Source/WebCore/inspector/front-end/inspectorCommon.css	2012-06-20 17:58:09 UTC (rev 120837)
+++ trunk/Source/WebCore/inspector/front-end/inspectorCommon.css	2012-06-20 18:11:09 UTC (rev 120838)
@@ -71,7 +71,7 @@
 .resources-event-dividers {
     position: absolute;
     left: 0;
-    right: 5px;
+    right: 0;
     height: 100%;
     top: 0;
     z-index: 300;

Modified: trunk/Source/WebCore/inspector/front-end/timelinePanel.css (120837 => 120838)


--- trunk/Source/WebCore/inspector/front-end/timelinePanel.css	2012-06-20 17:58:09 UTC (rev 120837)
+++ trunk/Source/WebCore/inspector/front-end/timelinePanel.css	2012-06-20 18:11:09 UTC (rev 120838)
@@ -590,11 +590,7 @@
 
 .timeline-frame-container {
     height: 19px;
-}
-
-.timeline-frame-strip {
-    position: absolute;
-    height: 19px;
+    overflow: hidden;
     background-color: rgb(220, 220, 220);
     opacity: 0.6;
     color: black;
@@ -603,3 +599,17 @@
     z-index: 350;
     pointer-events: auto;
 }
+
+.timeline-frame-strip {
+    position: absolute;
+    height: 19px;
+}
+
+#timeline-grid-header {
+    position: absolute;
+    left: 200px;
+    right: 0;
+    top: 90px;
+    bottom: 0;
+    pointer-events: none;
+}
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to