| Index: Source/core/css/CSSStyleSheet.cpp
|
| diff --git a/Source/core/css/CSSStyleSheet.cpp b/Source/core/css/CSSStyleSheet.cpp
|
| index 84051787d2ae9ae3b29e9acd047d2815654a73fd..7b572c41a6d7fe0d192e926392aa4eb2996d3cf1 100644
|
| --- a/Source/core/css/CSSStyleSheet.cpp
|
| +++ b/Source/core/css/CSSStyleSheet.cpp
|
| @@ -80,6 +80,12 @@ PassRefPtr<CSSStyleSheet> CSSStyleSheet::create(PassRefPtr<StyleSheetContents> s
|
| return adoptRef(new CSSStyleSheet(sheet, ownerNode, false, TextPosition::minimumPosition()));
|
| }
|
|
|
| +PassRefPtr<CSSStyleSheet> CSSStyleSheet::createInline(PassRefPtr<StyleSheetContents> sheet, Node* ownerNode, const TextPosition& startPosition)
|
| +{
|
| + ASSERT(sheet);
|
| + return adoptRef(new CSSStyleSheet(sheet, ownerNode, true, startPosition));
|
| +}
|
| +
|
| PassRefPtr<CSSStyleSheet> CSSStyleSheet::createInline(Node* ownerNode, const KURL& baseURL, const TextPosition& startPosition, const String& encoding)
|
| {
|
| CSSParserContext parserContext(ownerNode->document(), baseURL, encoding);
|
| @@ -94,6 +100,7 @@ CSSStyleSheet::CSSStyleSheet(PassRefPtr<StyleSheetContents> contents, CSSImportR
|
| , m_ownerNode(0)
|
| , m_ownerRule(ownerRule)
|
| , m_startPosition(TextPosition::minimumPosition())
|
| + , m_loadCompleted(false)
|
| {
|
| m_contents->registerClient(this);
|
| }
|
| @@ -105,6 +112,7 @@ CSSStyleSheet::CSSStyleSheet(PassRefPtr<StyleSheetContents> contents, Node* owne
|
| , m_ownerNode(ownerNode)
|
| , m_ownerRule(0)
|
| , m_startPosition(startPosition)
|
| + , m_loadCompleted(false)
|
| {
|
| ASSERT(isAcceptableCSSStyleSheetParent(ownerNode));
|
| m_contents->registerClient(this);
|
| @@ -132,6 +140,8 @@ void CSSStyleSheet::willMutateRules()
|
| // If we are the only client it is safe to mutate.
|
| if (m_contents->hasOneClient() && !m_contents->isInMemoryCache()) {
|
| m_contents->clearRuleSet();
|
| + if (m_contents->maybeCacheable())
|
| + StyleEngine::removeSheet(m_contents.get());
|
| m_contents->setMutable();
|
| return;
|
| }
|
| @@ -381,4 +391,16 @@ void CSSStyleSheet::clearChildRuleCSSOMWrappers()
|
| m_childRuleCSSOMWrappers.clear();
|
| }
|
|
|
| +bool CSSStyleSheet::sheetLoaded()
|
| +{
|
| + m_loadCompleted = m_ownerNode->sheetLoaded();
|
| + return m_loadCompleted;
|
| +}
|
| +
|
| +void CSSStyleSheet::startLoadingDynamicSheet()
|
| +{
|
| + m_loadCompleted = false;
|
| + m_ownerNode->startLoadingDynamicSheet();
|
| +}
|
| +
|
| }
|
|
|