[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