[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677
hyatt
hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:02:35 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 95e286539d40aed94929b5c499db7163f7b0aac2
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Mon Nov 18 09:11:05 2002 +0000
Yay! Found the main cause of :hover feedback being so
slow on links. The diff function for styles was
considering a color change as a containing block layout
instead of just a repaint. With this fix, we will no
longer lay out when you hover over a link whose color
is different (remember that laying out causes the whole
page to repaint).
There's still some work to do to optimize this further,
since we do repaint the containing block still, but this
should be good enough for beta.
* khtml/rendering/render_style.cpp:
(RenderStyle::diff):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2728 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2002-12-03 b/WebCore/ChangeLog-2002-12-03
index c7c8d35..c901379 100644
--- a/WebCore/ChangeLog-2002-12-03
+++ b/WebCore/ChangeLog-2002-12-03
@@ -1,3 +1,20 @@
+2002-11-18 David Hyatt <hyatt at apple.com>
+
+ Yay! Found the main cause of :hover feedback being so
+ slow on links. The diff function for styles was
+ considering a color change as a containing block layout
+ instead of just a repaint. With this fix, we will no
+ longer lay out when you hover over a link whose color
+ is different (remember that laying out causes the whole
+ page to repaint).
+
+ There's still some work to do to optimize this further,
+ since we do repaint the containing block still, but this
+ should be good enough for beta.
+
+ * khtml/rendering/render_style.cpp:
+ (RenderStyle::diff):
+
2002-11-17 David Hyatt <hyatt at apple.com>
Don't use the immediate painting code for now. Revert
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index c7c8d35..c901379 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,20 @@
+2002-11-18 David Hyatt <hyatt at apple.com>
+
+ Yay! Found the main cause of :hover feedback being so
+ slow on links. The diff function for styles was
+ considering a color change as a containing block layout
+ instead of just a repaint. With this fix, we will no
+ longer lay out when you hover over a link whose color
+ is different (remember that laying out causes the whole
+ page to repaint).
+
+ There's still some work to do to optimize this further,
+ since we do repaint the containing block still, but this
+ should be good enough for beta.
+
+ * khtml/rendering/render_style.cpp:
+ (RenderStyle::diff):
+
2002-11-17 David Hyatt <hyatt at apple.com>
Don't use the immediate painting code for now. Revert
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index c7c8d35..c901379 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,20 @@
+2002-11-18 David Hyatt <hyatt at apple.com>
+
+ Yay! Found the main cause of :hover feedback being so
+ slow on links. The diff function for styles was
+ considering a color change as a containing block layout
+ instead of just a repaint. With this fix, we will no
+ longer lay out when you hover over a link whose color
+ is different (remember that laying out causes the whole
+ page to repaint).
+
+ There's still some work to do to optimize this further,
+ since we do repaint the containing block still, but this
+ should be good enough for beta.
+
+ * khtml/rendering/render_style.cpp:
+ (RenderStyle::diff):
+
2002-11-17 David Hyatt <hyatt at apple.com>
Don't use the immediate painting code for now. Revert
diff --git a/WebCore/khtml/rendering/render_object.cpp b/WebCore/khtml/rendering/render_object.cpp
index 7ed889f..1eb8585 100644
--- a/WebCore/khtml/rendering/render_object.cpp
+++ b/WebCore/khtml/rendering/render_object.cpp
@@ -759,12 +759,12 @@ void RenderObject::setStyle(RenderStyle *style)
m_hasFirstLine = (style->getPseudoStyle(RenderStyle::FIRST_LINE) != 0);
if ( d >= RenderStyle::Position && m_parent ) {
- //qDebug("triggering relayout");
- setMinMaxKnown(false);
- setLayouted(false);
+ //qDebug("triggering relayout");
+ setMinMaxKnown(false);
+ setLayouted(false);
} else if ( m_parent ) {
- //qDebug("triggering repaint");
- repaint();
+ //qDebug("triggering repaint");
+ repaint();
}
}
diff --git a/WebCore/khtml/rendering/render_style.cpp b/WebCore/khtml/rendering/render_style.cpp
index e9fa537..3ed5585 100644
--- a/WebCore/khtml/rendering/render_style.cpp
+++ b/WebCore/khtml/rendering/render_style.cpp
@@ -324,15 +324,23 @@ RenderStyle::Diff RenderStyle::diff( const RenderStyle *other ) const
// DataRef<StyleInheritedData> inherited;
if ( *box.get() != *other->box.get() ||
- *visual.get() != *other->visual.get() ||
- *surround.get() != *other->surround.get() ||
- *inherited.get() != *other->inherited.get()
- )
- d = CbLayout;
+ *visual.get() != *other->visual.get() ||
+ *surround.get() != *other->surround.get())
+ d = CbLayout;
if ( d == CbLayout )
- return d;
-
+ return d;
+
+ if (!(inherited->indent == other->inherited->indent) ||
+ !(inherited->line_height == other->inherited->line_height) ||
+ !(inherited->style_image == other->inherited->style_image) ||
+ !(inherited->cursor_image == other->inherited->cursor_image) ||
+ !(inherited->font == other->inherited->font) ||
+ !(inherited->border_spacing == other->inherited->border_spacing))
+ d = CbLayout;
+ if (d == CbLayout)
+ return d;
+
// changes causing Layout changes:
// only for tables:
@@ -395,6 +403,9 @@ RenderStyle::Diff RenderStyle::diff( const RenderStyle *other ) const
if ( d == Layout )
return d;
+ if (inherited->color != other->inherited->color ||
+ inherited->decoration_color != other->inherited->decoration_color)
+ d = Visible;
// Visible:
// EVisibility _visibility : 2;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list