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


The following commit has been merged in the debian/unstable branch:
commit fcdd4691c562e03e33a183da60d7e1ead774abd8
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sun Dec 15 23:42:22 2002 +0000

    	Make sure framesets don't get built twice when FOUC delays
    	their loading.
    
            Reviewed by gramps
    
            * khtml/css/cssstyleselector.cpp:
            * khtml/css/cssstyleselector.h:
            * khtml/html/html_baseimpl.cpp:
            (HTMLFrameSetElementImpl::attach):
            * khtml/rendering/render_style.cpp:
            (RenderStyle::operator==):
            (RenderStyle::isStyleAvailable):
            * khtml/rendering/render_style.h:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3064 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index e91bed2..7712dcb 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,19 @@
+2002-12-15  David Hyatt  <hyatt at apple.com>
+
+	Make sure framesets don't get built twice when FOUC delays
+	their loading.
+	
+        Reviewed by gramps
+
+        * khtml/css/cssstyleselector.cpp:
+        * khtml/css/cssstyleselector.h:
+        * khtml/html/html_baseimpl.cpp:
+        (HTMLFrameSetElementImpl::attach):
+        * khtml/rendering/render_style.cpp:
+        (RenderStyle::operator==):
+        (RenderStyle::isStyleAvailable):
+        * khtml/rendering/render_style.h:
+
 2002-12-15  Darin Adler  <darin at apple.com>
 
         Reviewed by Dave.
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index e91bed2..7712dcb 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,19 @@
+2002-12-15  David Hyatt  <hyatt at apple.com>
+
+	Make sure framesets don't get built twice when FOUC delays
+	their loading.
+	
+        Reviewed by gramps
+
+        * khtml/css/cssstyleselector.cpp:
+        * khtml/css/cssstyleselector.h:
+        * khtml/html/html_baseimpl.cpp:
+        (HTMLFrameSetElementImpl::attach):
+        * khtml/rendering/render_style.cpp:
+        (RenderStyle::operator==):
+        (RenderStyle::isStyleAvailable):
+        * khtml/rendering/render_style.h:
+
 2002-12-15  Darin Adler  <darin at apple.com>
 
         Reviewed by Dave.
diff --git a/WebCore/khtml/css/cssstyleselector.cpp b/WebCore/khtml/css/cssstyleselector.cpp
index 0b0233c..bc0ad6e 100644
--- a/WebCore/khtml/css/cssstyleselector.cpp
+++ b/WebCore/khtml/css/cssstyleselector.cpp
@@ -72,7 +72,7 @@ CSSStyleSelectorList *CSSStyleSelector::defaultStyle = 0;
 CSSStyleSelectorList *CSSStyleSelector::defaultQuirksStyle = 0;
 CSSStyleSelectorList *CSSStyleSelector::defaultPrintStyle = 0;
 CSSStyleSheetImpl *CSSStyleSelector::defaultSheet = 0;
-RenderStyle* CSSStyleSelector::displayNoneStyle = 0;
+RenderStyle* CSSStyleSelector::styleNotYetAvailable = 0;
 
 static CSSStyleSelector::Encodedurl *encodedurl = 0;
 
@@ -221,12 +221,12 @@ void CSSStyleSelector::clear()
     delete defaultQuirksStyle;
     delete defaultPrintStyle;
     delete defaultSheet;
-    delete displayNoneStyle;
+    delete styleNotYetAvailable;
     defaultStyle = 0;
     defaultQuirksStyle = 0;
     defaultPrintStyle = 0;
     defaultSheet = 0;
-    displayNoneStyle = 0;
+    styleNotYetAvailable = 0;
 }
 
 #define MAXFONTSIZES 15
@@ -299,12 +299,12 @@ static inline void bubbleSort( CSSOrderedProperty **b, CSSOrderedProperty **e )
 RenderStyle *CSSStyleSelector::styleForElement(ElementImpl *e, int state)
 {
     if (!e->getDocument()->haveStylesheetsLoaded()) {
-        if (!displayNoneStyle) {
-            displayNoneStyle = new RenderStyle();
-	    displayNoneStyle->setDisplay(NONE);
-	    displayNoneStyle->ref();
-	}
-	return displayNoneStyle;
+        if (!styleNotYetAvailable) {
+            styleNotYetAvailable = new RenderStyle();
+            styleNotYetAvailable->setDisplay(NONE);
+            styleNotYetAvailable->ref();
+        }
+        return styleNotYetAvailable;
     }
   
     // set some variables we will need
diff --git a/WebCore/khtml/css/cssstyleselector.h b/WebCore/khtml/css/cssstyleselector.h
index b72b140..fd8e52e 100644
--- a/WebCore/khtml/css/cssstyleselector.h
+++ b/WebCore/khtml/css/cssstyleselector.h
@@ -165,7 +165,8 @@ namespace khtml
         CSSStyleSelectorList *userStyle;
         DOM::CSSStyleSheetImpl *userSheet;
 
-	static RenderStyle* displayNoneStyle;
+public:
+	static RenderStyle* styleNotYetAvailable;
  
     private:
         void init();
diff --git a/WebCore/khtml/html/html_baseimpl.cpp b/WebCore/khtml/html/html_baseimpl.cpp
index a7be8c5..1dadef5 100644
--- a/WebCore/khtml/html/html_baseimpl.cpp
+++ b/WebCore/khtml/html/html_baseimpl.cpp
@@ -476,11 +476,15 @@ void HTMLFrameSetElementImpl::attach()
     assert(parentNode());
     assert(parentNode()->renderer());
 
-    // ignore display: none
-    m_render = new (getDocument()->renderArena()) RenderFrameSet(this);
-    m_render->setStyle(getDocument()->styleSelector()->styleForElement(this));
-    parentNode()->renderer()->addChild(m_render, nextRenderer());
-
+    // ignore display: none but do pay attention if a stylesheet has caused us to delay
+    // our loading.
+    RenderStyle* style = getDocument()->styleSelector()->styleForElement(this);
+    if (style->isStyleAvailable()) {
+        m_render = new (getDocument()->renderArena()) RenderFrameSet(this);
+        m_render->setStyle(style);
+        parentNode()->renderer()->addChild(m_render, nextRenderer());
+    }
+    
     NodeBaseImpl::attach();
 }
 
diff --git a/WebCore/khtml/rendering/render_style.cpp b/WebCore/khtml/rendering/render_style.cpp
index 1696928..38f08b5 100644
--- a/WebCore/khtml/rendering/render_style.cpp
+++ b/WebCore/khtml/rendering/render_style.cpp
@@ -23,6 +23,7 @@
 #include "xml/dom_stringimpl.h"
 
 #include "render_style.h"
+#include "css/cssstyleselector.h"
 
 #include "kdebug.h"
 
@@ -238,6 +239,11 @@ bool RenderStyle::operator==(const RenderStyle& o) const
             inherited == o.inherited);
 }
 
+bool RenderStyle::isStyleAvailable() const
+{
+    return this != CSSStyleSelector::styleNotYetAvailable;
+}
+
 RenderStyle* RenderStyle::getPseudoStyle(PseudoId pid)
 {
     RenderStyle *ps = 0;
diff --git a/WebCore/khtml/rendering/render_style.h b/WebCore/khtml/rendering/render_style.h
index 4a56136..3ffef03 100644
--- a/WebCore/khtml/rendering/render_style.h
+++ b/WebCore/khtml/rendering/render_style.h
@@ -650,6 +650,8 @@ public:
     bool visuallyOrdered() const { return inherited_flags._visuallyOrdered; }
     void setVisuallyOrdered(bool b) {  inherited_flags._visuallyOrdered = b; }
 
+    bool isStyleAvailable() const;
+    
 // attribute getter methods
 
     EDisplay 	display() const { return noninherited_flags._display; }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list