2008-09-25 David Hyatt <hyatt@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=21113
Putting r36771 back in with a fix to the addPendingSheet check in CSSImportRule::insertedIntoParent.
Reviewed by Darin Adler
* css/CSSImportRule.cpp:
(WebCore::CSSImportRule::insertedIntoParent):
* css/CSSRule.cpp:
(WebCore::CSSRule::parentStyleSheet):
(WebCore::CSSRule::parentRule):
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::CSSStyleSheet):
* css/CSSStyleSheet.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@36904 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/css/CSSStyleSheet.cpp b/WebCore/css/CSSStyleSheet.cpp
index 74947a2..cfaf485 100644
--- a/WebCore/css/CSSStyleSheet.cpp
+++ b/WebCore/css/CSSStyleSheet.cpp
@@ -51,11 +51,12 @@
CSSStyleSheet::CSSStyleSheet(CSSRule *ownerRule, const String& href, const String& charset)
: StyleSheet(ownerRule, href)
- , m_doc(0)
, m_namespaces(0)
, m_charset(charset)
, m_loadCompleted(false)
{
+ CSSStyleSheet* parentSheet = ownerRule ? ownerRule->parentStyleSheet() : 0;
+ m_doc = parentSheet ? parentSheet->doc() : 0;
}
CSSStyleSheet::~CSSStyleSheet()
@@ -179,15 +180,6 @@
m_loadCompleted = ownerNode() ? ownerNode()->sheetLoaded() : true;
}
-DocLoader *CSSStyleSheet::docLoader()
-{
- if (!m_doc) // doc is 0 for the user- and default-sheet!
- return 0;
-
- // ### remove? (clients just use sheet->doc()->docLoader())
- return m_doc->docLoader();
-}
-
void CSSStyleSheet::styleSheetChanged()
{
StyleBase* root = this;