| Index: third_party/WebKit/Source/core/dom/StyleEngine.cpp
|
| diff --git a/third_party/WebKit/Source/core/dom/StyleEngine.cpp b/third_party/WebKit/Source/core/dom/StyleEngine.cpp
|
| index e68b424767d778f476eb9bd4c48b36ced163e570..5efdd124421ea579c4c44c51cb791733162eba88 100644
|
| --- a/third_party/WebKit/Source/core/dom/StyleEngine.cpp
|
| +++ b/third_party/WebKit/Source/core/dom/StyleEngine.cpp
|
| @@ -131,19 +131,28 @@ void StyleEngine::injectAuthorSheet(StyleSheetContents* authorSheet)
|
| resolverChanged(AnalyzedStyleUpdate);
|
| }
|
|
|
| -void StyleEngine::addPendingSheet()
|
| +void StyleEngine::addPendingSheet(StyleEngineContext &context)
|
| {
|
| m_pendingStylesheets++;
|
| +
|
| + context.addingPendingSheet(document());
|
| + if (context.addedPendingSheetBeforeBody())
|
| + m_pendingRenderBlockingStylesheets++;
|
| }
|
|
|
| // This method is called whenever a top-level stylesheet has finished loading.
|
| -void StyleEngine::removePendingSheet(Node* styleSheetCandidateNode)
|
| +void StyleEngine::removePendingSheet(Node* styleSheetCandidateNode, const StyleEngineContext &context)
|
| {
|
| DCHECK(styleSheetCandidateNode);
|
| TreeScope* treeScope = isStyleElement(*styleSheetCandidateNode) ? &styleSheetCandidateNode->treeScope() : m_document.get();
|
| if (styleSheetCandidateNode->inShadowIncludingDocument())
|
| markTreeScopeDirty(*treeScope);
|
|
|
| + if (context.addedPendingSheetBeforeBody()) {
|
| + DCHECK_GT(m_pendingRenderBlockingStylesheets, 0);
|
| + m_pendingRenderBlockingStylesheets--;
|
| + }
|
| +
|
| // Make sure we knew this sheet was pending, and that our count isn't out of sync.
|
| DCHECK_GT(m_pendingStylesheets, 0);
|
|
|
| @@ -493,11 +502,11 @@ void StyleEngine::markDocumentDirty()
|
| document().importsController()->master()->styleEngine().markDocumentDirty();
|
| }
|
|
|
| -CSSStyleSheet* StyleEngine::createSheet(Element* e, const String& text, TextPosition startPosition)
|
| +CSSStyleSheet* StyleEngine::createSheet(Element* e, const String& text, TextPosition startPosition, StyleEngineContext &context)
|
| {
|
| CSSStyleSheet* styleSheet = nullptr;
|
|
|
| - e->document().styleEngine().addPendingSheet();
|
| + e->document().styleEngine().addPendingSheet(context);
|
|
|
| AtomicString textContent(text);
|
|
|
|
|