[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.18-1-697-g2f78b87
eric at webkit.org
eric at webkit.org
Wed Jan 20 22:21:30 UTC 2010
The following commit has been merged in the debian/unstable branch:
commit e76644c007110c2de7c9d132633589468fe3467f
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Jan 12 23:34:20 2010 +0000
2010-01-12 Alexander Pavlov <apavlov at chromium.org>
Reviewed by Timothy Hatcher.
Optimize WebInspector.TimelineGrid.prototype.updateDividers()
DOM element property access and modification are slow and should be done as lazily as possible.
https://bugs.webkit.org/show_bug.cgi?id=33536
* inspector/front-end/TimelineGrid.js:
(WebInspector.TimelineGrid.prototype.updateDividers):
(WebInspector.TimelineGrid.prototype._setDividerAndBarLeft):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53167 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 977371c..8ca60ef 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,16 @@
+2010-01-12 Alexander Pavlov <apavlov at chromium.org>
+
+ Reviewed by Timothy Hatcher.
+
+ Optimize WebInspector.TimelineGrid.prototype.updateDividers()
+
+ DOM element property access and modification are slow and should be done as lazily as possible.
+ https://bugs.webkit.org/show_bug.cgi?id=33536
+
+ * inspector/front-end/TimelineGrid.js:
+ (WebInspector.TimelineGrid.prototype.updateDividers):
+ (WebInspector.TimelineGrid.prototype._setDividerAndBarLeft):
+
2010-01-12 Beth Dakin <bdakin at apple.com>
Reviewed by Sam Weinig.
diff --git a/WebCore/inspector/front-end/TimelineGrid.js b/WebCore/inspector/front-end/TimelineGrid.js
index 2866ecd..db9cc1e 100644
--- a/WebCore/inspector/front-end/TimelineGrid.js
+++ b/WebCore/inspector/front-end/TimelineGrid.js
@@ -62,7 +62,7 @@ WebInspector.TimelineGrid.prototype = {
if (!force && this._currentDividerSlice === slice)
return false;
- if (!(typeof paddingLeft === "number"))
+ if (typeof paddingLeft !== "number")
paddingLeft = 0;
this._currentDividerSlice = slice;
@@ -71,7 +71,8 @@ WebInspector.TimelineGrid.prototype = {
var divider = this._dividersElement.firstChild;
var dividerLabelBar = this._dividersLabelBarElement.firstChild;
- var clientWidth = this._dividersLabelBarElement.clientWidth - paddingLeft;
+ var dividersLabelBarElementClientWidth = this._dividersLabelBarElement.clientWidth;
+ var clientWidth = dividersLabelBarElementClientWidth - paddingLeft;
for (var i = paddingLeft ? 0 : 1; i <= dividerCount; ++i) {
if (!divider) {
divider = document.createElement("div");
@@ -85,6 +86,7 @@ WebInspector.TimelineGrid.prototype = {
dividerLabelBar._labelElement = label;
dividerLabelBar.appendChild(label);
this._dividersLabelBarElement.appendChild(dividerLabelBar);
+ dividersLabelBarElementClientWidth = this._dividersLabelBarElement.clientWidth;
}
if (i === dividerCount)
@@ -93,9 +95,8 @@ WebInspector.TimelineGrid.prototype = {
divider.removeStyleClass("last");
var left = paddingLeft + clientWidth * (i / dividerCount);
- var percentLeft = 100 * left / this._dividersLabelBarElement.clientWidth + "%";
- divider.style.left = percentLeft;
- dividerLabelBar.style.left = percentLeft;
+ var percentLeft = 100 * left / dividersLabelBarElementClientWidth;
+ this._setDividerAndBarLeft(divider, dividerLabelBar, percentLeft);
if (!isNaN(slice))
dividerLabelBar._labelElement.textContent = calculator.formatValue(slice * i);
@@ -118,6 +119,15 @@ WebInspector.TimelineGrid.prototype = {
return true;
},
+ _setDividerAndBarLeft: function(divider, dividerLabelBar, percentLeft)
+ {
+ var percentStyleLeft = parseFloat(divider.style.left);
+ if (!isNaN(percentStyleLeft) && Math.abs(percentStyleLeft - percentLeft) < 0.1)
+ return;
+ divider.style.left = percentLeft + "%";
+ dividerLabelBar.style.left = percentLeft + "%";
+ },
+
addEventDivider: function(divider)
{
this._eventDividersElement.appendChild(divider);
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list