Index: Source/core/dom/StyleElement.cpp |
diff --git a/Source/core/dom/StyleElement.cpp b/Source/core/dom/StyleElement.cpp |
index 596ea53c73efd25e4f95c2a87d481cd2eb30e422..dde3edfe3b42acd86d92769f89350c8cfd478f30 100644 |
--- a/Source/core/dom/StyleElement.cpp |
+++ b/Source/core/dom/StyleElement.cpp |
@@ -112,6 +112,7 @@ void StyleElement::process(Element* element) |
void StyleElement::clearSheet() |
{ |
ASSERT(m_sheet); |
+ |
m_sheet.release()->clearOwnerNode(); |
} |
@@ -135,15 +136,10 @@ 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; |
} |
} |