[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:53:52 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit ac5fe5304303dfa232cde5a0f991d6b834f6bfa4
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Aug 26 22:19:17 2003 +0000
Fix for 3394107, make sure the display mutation code doesn't mutate objects with
display: none set.
Reviewed by darin
* khtml/css/cssstyleselector.cpp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@4888 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 7f98d61..21d72db 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,12 @@
+2003-08-26 David Hyatt <hyatt at apple.com>
+
+ Fix for 3394107, make sure the display mutation code doesn't mutate objects with
+ display: none set.
+
+ Reviewed by darin
+
+ * khtml/css/cssstyleselector.cpp:
+
2003-08-22 David Hyatt <hyatt at apple.com>
Fix for 3388363, copying a word in a list item copied too much. The code that checked
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 7f98d61..21d72db 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,12 @@
+2003-08-26 David Hyatt <hyatt at apple.com>
+
+ Fix for 3394107, make sure the display mutation code doesn't mutate objects with
+ display: none set.
+
+ Reviewed by darin
+
+ * khtml/css/cssstyleselector.cpp:
+
2003-08-22 David Hyatt <hyatt at apple.com>
Fix for 3388363, copying a word in a list item copied too much. The code that checked
diff --git a/WebCore/khtml/css/cssstyleselector.cpp b/WebCore/khtml/css/cssstyleselector.cpp
index 16bedf5..291c39a 100644
--- a/WebCore/khtml/css/cssstyleselector.cpp
+++ b/WebCore/khtml/css/cssstyleselector.cpp
@@ -485,31 +485,33 @@ RenderStyle *CSSStyleSelector::styleForElement(ElementImpl *e)
void CSSStyleSelector::adjustRenderStyle(RenderStyle* style, DOM::ElementImpl *e)
{
- // If we have a <td> that specifies a float property, in quirks mode we just drop the float
- // property (Chris Lydon's blog is an example of a site afflicted by this problem).
- // Sites also commonly use display:inline/block on <td>s and <table>s. In quirks mode we force
- // these tags to retain their display types.
- if (!strictParsing && e) {
- if (e->id() == ID_TD) {
- style->setDisplay(TABLE_CELL);
- style->setFloating(FNONE);
- }
- else if (e->id() == ID_TABLE)
- style->setDisplay(style->isDisplayInlineType() ? INLINE_TABLE : TABLE);
- }
-
- // Mutate the display to BLOCK or TABLE for certain cases, e.g., if someone attempts to
- // position or float an inline, compact, or run-in. Cache the original display, since it
- // may be needed for positioned elements that have to compute their static normal flow
- // positions. We also force inline-level roots to be block-level.
- // FIXME: For now we do not mutate pseudo styles. This is because we do not yet support the
- // ability to position and float generated content. This is per the CSS 2 spec, but it's changing
- // in CSS2.1. For now, we will just support CSS2.
- if (e) {
- style->setOriginalDisplay(style->display());
- if (style->display() != NONE && style->display() != BLOCK && style->display() != TABLE && style->display() != BOX &&
+ // Cache our original display.
+ style->setOriginalDisplay(style->display());
+
+ if (style->display() != NONE && e) {
+ // If we have a <td> that specifies a float property, in quirks mode we just drop the float
+ // property.
+ // Sites also commonly use display:inline/block on <td>s and <table>s. In quirks mode we force
+ // these tags to retain their display types.
+ if (!strictParsing) {
+ if (e->id() == ID_TD) {
+ style->setDisplay(TABLE_CELL);
+ style->setFloating(FNONE);
+ }
+ else if (e->id() == ID_TABLE)
+ style->setDisplay(style->isDisplayInlineType() ? INLINE_TABLE : TABLE);
+ }
+
+ // Mutate the display to BLOCK or TABLE for certain cases, e.g., if someone attempts to
+ // position or float an inline, compact, or run-in. Cache the original display, since it
+ // may be needed for positioned elements that have to compute their static normal flow
+ // positions. We also force inline-level roots to be block-level.
+ // FIXME: For now we do not mutate pseudo styles. This is because we do not yet support the
+ // ability to position and float generated content. This is per the CSS 2 spec, but it's changing
+ // in CSS2.1. For now, we will just support CSS2.
+ if (style->display() != BLOCK && style->display() != TABLE && style->display() != BOX &&
(style->position() == ABSOLUTE || style->position() == FIXED || style->floating() != FNONE ||
- e->getDocument()->documentElement() == e)) {
+ e->getDocument()->documentElement() == e)) {
if (style->display() == INLINE_TABLE)
style->setDisplay(TABLE);
else if (style->display() == INLINE_BOX)
@@ -524,7 +526,7 @@ void CSSStyleSelector::adjustRenderStyle(RenderStyle* style, DOM::ElementImpl *e
style->setDisplay(BLOCK);
}
}
-
+
// Finally update our text decorations in effect, but don't allow text-decoration to percolate through
// tables, inline blocks, inline tables, or run-ins.
if (style->display() == TABLE || style->display() == INLINE_TABLE || style->display() == RUN_IN
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list