[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 08:15:43 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 0d43f42ad41405f24c96851e489d5adfd3a80110
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Dec 2 22:54:42 2003 +0000

    	Fix for 3493677, containingBlock() null because we tried to support position:relative on table rows.  Fix
    	is to disallow this.
    
            Reviewed by kocienda
    
            * khtml/css/cssstyleselector.cpp:
            (khtml::CSSStyleSelector::adjustRenderStyle):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@5654 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 31e3155..3572e7a 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,5 +1,15 @@
 2003-12-02  David Hyatt  <hyatt at apple.com>
 
+	Fix for 3493677, containingBlock() null because we tried to support position:relative on table rows.  Fix
+	is to disallow this.
+	
+        Reviewed by kocienda
+
+        * khtml/css/cssstyleselector.cpp:
+        (khtml::CSSStyleSelector::adjustRenderStyle):
+
+2003-12-02  David Hyatt  <hyatt at apple.com>
+
 	Fix for 3493697, nil-deref in bidi code.  Need to null-check strings with no length.
 	
         Reviewed by john
diff --git a/WebCore/khtml/css/cssstyleselector.cpp b/WebCore/khtml/css/cssstyleselector.cpp
index e429bb7..9ae0a7b 100644
--- a/WebCore/khtml/css/cssstyleselector.cpp
+++ b/WebCore/khtml/css/cssstyleselector.cpp
@@ -540,7 +540,7 @@ void CSSStyleSelector::adjustRenderStyle(RenderStyle* style, DOM::ElementImpl *e
         // fix a crash where a site tries to position these objects.
         if (e && (e->id() == ID_FRAME || e->id() == ID_FRAMESET))
             style->setPosition(STATIC);
-            
+
         // 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
@@ -561,6 +561,12 @@ void CSSStyleSelector::adjustRenderStyle(RenderStyle* style, DOM::ElementImpl *e
             else
                 style->setDisplay(BLOCK);
         }
+        
+        // After performing the display mutation, check table rows.  We do not honor position:relative on
+        // table rows.  This has been established in CSS2.1 (and caused a crash in containingBlock() on
+        // some sites).
+        if (style->display() == TABLE_ROW && style->position() == RELATIVE)
+            style->setPosition(STATIC);
     }
 
     // Make sure our z-index value is only applied if the object is positioned,

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list