[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373
pfeldman at chromium.org
pfeldman at chromium.org
Wed Apr 7 23:53:53 UTC 2010
The following commit has been merged in the webkit-1.2 branch:
commit 6caed99b0297a87d6e559dcfbbd10de5bae6f8a2
Author: pfeldman at chromium.org <pfeldman at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Sun Nov 22 20:05:47 2009 +0000
2009-11-22 Pavel Feldman <pfeldman at chromium.org>
Reviewed by Timothy Hatcher.
Web Inspector: Introduce sidebar background on timeline panel in order
to prevent it from flickering on scroll.
https://bugs.webkit.org/show_bug.cgi?id=31789
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel):
(WebInspector.TimelinePanel.prototype.setSidebarWidth):
(WebInspector.TimelinePanel.prototype._onScroll):
(WebInspector.TimelinePanel.prototype._scheduleRefresh):
* inspector/front-end/inspector.css:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51297 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 8eb5362..389a1b9 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -2,6 +2,22 @@
Reviewed by Timothy Hatcher.
+ Web Inspector: Introduce sidebar background on timeline panel in order
+ to prevent it from flickering on scroll.
+
+ https://bugs.webkit.org/show_bug.cgi?id=31789
+
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel):
+ (WebInspector.TimelinePanel.prototype.setSidebarWidth):
+ (WebInspector.TimelinePanel.prototype._onScroll):
+ (WebInspector.TimelinePanel.prototype._scheduleRefresh):
+ * inspector/front-end/inspector.css:
+
+2009-11-22 Pavel Feldman <pfeldman at chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
Web Inspector: Reimplement TimelinePanel to make it fast:
- Extract grid and overview into separate files
- Make timeline create only divs for visible rows
diff --git a/WebCore/inspector/front-end/TimelinePanel.js b/WebCore/inspector/front-end/TimelinePanel.js
index f6761b8..81455a1 100644
--- a/WebCore/inspector/front-end/TimelinePanel.js
+++ b/WebCore/inspector/front-end/TimelinePanel.js
@@ -38,16 +38,19 @@ WebInspector.TimelinePanel = function()
this._overviewPane.addEventListener("filter changed", this._refresh, this);
this.element.appendChild(this._overviewPane.element);
+ this._sidebarBackgroundElement = document.createElement("div");
+ this._sidebarBackgroundElement.className = "sidebar timeline-sidebar-background";
+ this.element.appendChild(this._sidebarBackgroundElement);
+
this._containerElement = document.createElement("div");
this._containerElement.id = "timeline-container";
this._containerElement.addEventListener("scroll", this._onScroll.bind(this), false);
this.element.appendChild(this._containerElement);
this.createSidebar(this._containerElement, this._containerElement);
- this.sidebarElement.id = "timeline-sidebar";
- this.itemsTreeElement = new WebInspector.SidebarSectionTreeElement(WebInspector.UIString("RECORDS"), {}, true);
- this.itemsTreeElement.expanded = true;
- this.sidebarTree.appendChild(this.itemsTreeElement);
+ var itemsTreeElement = new WebInspector.SidebarSectionTreeElement(WebInspector.UIString("RECORDS"), {}, true);
+ itemsTreeElement.expanded = true;
+ this.sidebarTree.appendChild(itemsTreeElement);
this._sidebarListElement = document.createElement("div");
this.sidebarElement.appendChild(this._sidebarListElement);
@@ -57,20 +60,20 @@ WebInspector.TimelinePanel = function()
this._containerElement.appendChild(this._containerContentElement);
this._timelineGrid = new WebInspector.TimelineGrid();
- this._itemsGraphsElement = this._timelineGrid.itemsGraphsElement;
- this._itemsGraphsElement.id = "timeline-graphs";
+ var itemsGraphsElement = this._timelineGrid.itemsGraphsElement;
+ itemsGraphsElement.id = "timeline-graphs";
this._containerContentElement.appendChild(this._timelineGrid.element);
this._topGapElement = document.createElement("div");
this._topGapElement.className = "timeline-gap";
- this._itemsGraphsElement.appendChild(this._topGapElement);
+ itemsGraphsElement.appendChild(this._topGapElement);
this._graphRowsElement = document.createElement("div");
- this._itemsGraphsElement.appendChild(this._graphRowsElement);
+ itemsGraphsElement.appendChild(this._graphRowsElement);
this._bottomGapElement = document.createElement("div");
this._bottomGapElement.className = "timeline-gap";
- this._itemsGraphsElement.appendChild(this._bottomGapElement);
+ itemsGraphsElement.appendChild(this._bottomGapElement);
this._createStatusbarButtons();
@@ -236,6 +239,7 @@ WebInspector.TimelinePanel.prototype = {
setSidebarWidth: function(width)
{
WebInspector.Panel.prototype.setSidebarWidth.call(this, width);
+ this._sidebarBackgroundElement.style.width = width + "px";
this._overviewPane.setSidebarWidth(width);
},
@@ -272,17 +276,17 @@ WebInspector.TimelinePanel.prototype = {
var scrollTop = this._containerElement.scrollTop;
var dividersTop = Math.max(0, scrollTop);
this._timelineGrid.setScrollAndDividerTop(scrollTop, dividersTop);
- this._scheduleRefresh();
+ this._scheduleRefresh(true);
},
- _scheduleRefresh: function()
+ _scheduleRefresh: function(immediate)
{
if (this._needsRefresh)
return;
this._needsRefresh = true;
if (this.visible && !("_refreshTimeout" in this))
- this._refreshTimeout = setTimeout(this._refresh.bind(this), 100);
+ this._refreshTimeout = setTimeout(this._refresh.bind(this), immediate ? 0 : 100);
},
_refresh: function()
diff --git a/WebCore/inspector/front-end/inspector.css b/WebCore/inspector/front-end/inspector.css
index cbc66a1..486930e 100644
--- a/WebCore/inspector/front-end/inspector.css
+++ b/WebCore/inspector/front-end/inspector.css
@@ -3275,14 +3275,6 @@ body.inactive .sidebar-tree-item.selected .bubble.search-matches {
/* Timeline Style */
-#timeline-summary {
- position: absolute;
- top: 0;
- left: 0;
- width: 0;
- height: 0;
-}
-
#timeline-overview-panel {
position: absolute;
top: 0;
@@ -3291,6 +3283,11 @@ body.inactive .sidebar-tree-item.selected .bubble.search-matches {
height: 80px;
}
+.timeline-sidebar-background {
+ top: 90px;
+ bottom: 0;
+}
+
#timeline-overview-separator {
position: absolute;
top: 80px;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list