Index: Source/core/dom/StyleElement.cpp |
diff --git a/Source/core/dom/StyleElement.cpp b/Source/core/dom/StyleElement.cpp |
index 6a6037c85f0ca3a36eec38648178e60bb09e0cfa..1f08eb8b4470a3ef4625ab303d60c1cca1e24a6f 100644 |
--- a/Source/core/dom/StyleElement.cpp |
+++ b/Source/core/dom/StyleElement.cpp |
@@ -115,6 +115,7 @@ void StyleElement::process(Element* element) |
void StyleElement::clearSheet() |
{ |
ASSERT(m_sheet); |
+ |
m_sheet.release()->clearOwnerNode(); |
} |
@@ -138,21 +139,16 @@ void StyleElement::createSheet(Element* e, const String& text) |
MediaQueryEvaluator screenEval("screen", true); |
MediaQueryEvaluator printEval("print", true); |
if (screenEval.eval(mediaQueries.get()) || printEval.eval(mediaQueries.get())) { |
- document.styleEngine()->addPendingSheet(); |
m_loading = true; |
- |
TextPosition startPosition = m_startPosition == TextPosition::belowRangePosition() ? TextPosition::minimumPosition() : m_startPosition; |
- m_sheet = CSSStyleSheet::createInline(e, KURL(), startPosition, document.inputEncoding()); |
+ m_sheet = StyleEngine::createSheet(e, text, startPosition, m_createdByParser); |
m_sheet->setMediaQueries(mediaQueries.release()); |
- m_sheet->setTitle(e->title()); |
- m_sheet->contents()->parseStringAtPosition(text, startPosition, m_createdByParser); |
- |
m_loading = false; |
} |
} |
if (m_sheet) |
- m_sheet->contents()->checkLoaded(); |
+ m_sheet->contents()->checkLoadedFor(e); |
} |
bool StyleElement::isLoading() const |