[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