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;