Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(465)

Unified Diff: Source/core/dom/Document.cpp

Issue 975933002: Return reference from styleEngine() accessor. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/dom/Document.h ('k') | Source/core/dom/DocumentStyleSheetCollection.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/dom/Document.cpp
diff --git a/Source/core/dom/Document.cpp b/Source/core/dom/Document.cpp
index e8baa547f0d098cebc2ff5c50a83e2bc380a37d7..bf611986bb7f3b2379d27aec23803a09703c674b 100644
--- a/Source/core/dom/Document.cpp
+++ b/Source/core/dom/Document.cpp
@@ -569,8 +569,7 @@ Document::~Document()
m_timeline->detachFromDocument();
// We need to destroy CSSFontSelector before destroying m_fetcher.
- if (m_styleEngine)
- m_styleEngine->detachFromDocument();
+ m_styleEngine->detachFromDocument();
if (m_elemSheet)
m_elemSheet->clearOwnerNode();
@@ -667,7 +666,7 @@ MediaQueryMatcher& Document::mediaQueryMatcher()
void Document::mediaQueryAffectingValueChanged()
{
m_evaluateMediaQueriesOnStyleRecalc = true;
- styleEngine()->clearMediaQueryRuleSetStyleSheets();
+ styleEngine().clearMediaQueryRuleSetStyleSheets();
InspectorInstrumentation::mediaQueryResultChanged(this);
}
@@ -700,7 +699,7 @@ void Document::setDoctype(PassRefPtrWillBeRawPtr<DocumentType> docType)
m_isMobileDocument = true;
}
// Doctype affects the interpretation of the stylesheets.
- clearStyleResolver();
+ styleEngine().clearResolver();
}
DOMImplementation& Document::implementation()
@@ -1603,7 +1602,7 @@ void Document::updateStyleInvalidationIfNeeded()
void Document::setupFontBuilder(LayoutStyle& documentStyle)
{
FontBuilder fontBuilder(*this);
- RefPtrWillBeRawPtr<CSSFontSelector> selector = m_styleEngine->fontSelector();
+ RefPtrWillBeRawPtr<CSSFontSelector> selector = styleEngine().fontSelector();
fontBuilder.createFontForDocument(selector, documentStyle);
}
@@ -1646,7 +1645,7 @@ void Document::inheritHtmlAndBodyElementStyles(StyleRecalcChange change)
// documentElement's style was dirty. We could keep track of which elements depend on
// rem units like we do for viewport styles, but we assume root font size changes are
// rare and just invalidate the cache for now.
- if (styleEngine()->usesRemUnits() && (documentElement()->needsAttach() || documentElement()->computedStyle()->fontSize() != documentElementStyle->fontSize())) {
+ if (styleEngine().usesRemUnits() && (documentElement()->needsAttach() || documentElement()->computedStyle()->fontSize() != documentElementStyle->fontSize())) {
ensureStyleResolver().invalidateMatchedPropertiesCache();
documentElement()->setNeedsStyleRecalc(SubtreeStyleChange, StyleChangeReasonForTracing::create(StyleChangeReason::FontSizeChange));
}
@@ -1748,7 +1747,7 @@ void Document::updateRenderTree(StyleRecalcChange change)
// hits a null-dereference due to security code always assuming the document has a SecurityOrigin.
if (m_elemSheet && m_elemSheet->contents()->usesRemUnits())
- m_styleEngine->setUsesRemUnit(true);
+ styleEngine().setUsesRemUnit(true);
updateStyle(change);
@@ -1817,10 +1816,10 @@ void Document::updateStyle(StyleRecalcChange change)
clearChildNeedsStyleRecalc();
- if (m_styleEngine->hasResolver()) {
+ if (styleEngine().hasResolver()) {
// Pseudo element removal and similar may only work with these flags still set. Reset them after the style recalc.
- StyleResolver& resolver = m_styleEngine->ensureResolver();
- m_styleEngine->resetCSSFeatureFlags(resolver.ensureUpdatedRuleFeatureSet());
+ StyleResolver& resolver = styleEngine().ensureResolver();
+ styleEngine().resetCSSFeatureFlags(resolver.ensureUpdatedRuleFeatureSet());
resolver.clearStyleSharingList();
}
@@ -1905,9 +1904,9 @@ void Document::clearFocusedElementTimerFired(Timer<Document>*)
// to instead suspend JavaScript execution.
void Document::updateLayoutIgnorePendingStylesheets(Document::RunPostLayoutTasks runPostLayoutTasks)
{
- StyleEngine::IgnoringPendingStylesheet ignoring(m_styleEngine.get());
+ StyleEngine::IgnoringPendingStylesheet ignoring(styleEngine());
- if (m_styleEngine->hasPendingSheets()) {
+ if (styleEngine().hasPendingSheets()) {
// FIXME: We are willing to attempt to suppress painting with outdated style info only once.
// Our assumption is that it would be dangerous to try to stop it a second time, after page
// content has already been loaded and displayed with accurate style information. (Our
@@ -1936,7 +1935,7 @@ void Document::updateLayoutIgnorePendingStylesheets(Document::RunPostLayoutTasks
PassRefPtr<LayoutStyle> Document::styleForElementIgnoringPendingStylesheets(Element* element)
{
ASSERT_ARG(element, element->document() == this);
- StyleEngine::IgnoringPendingStylesheet ignoring(m_styleEngine.get());
+ StyleEngine::IgnoringPendingStylesheet ignoring(styleEngine());
return ensureStyleResolver().styleForElement(element, element->parentNode() ? element->parentNode()->computedStyle() : 0);
}
@@ -2061,11 +2060,6 @@ StyleResolver& Document::ensureStyleResolver() const
return m_styleEngine->ensureResolver();
}
-void Document::clearStyleResolver()
-{
- m_styleEngine->clearResolver();
-}
-
void Document::attach(const AttachContext& context)
{
ASSERT(m_lifecycle.state() == DocumentLifecycle::Inactive);
@@ -2143,7 +2137,7 @@ void Document::detach(const AttachContext& context)
m_layoutView = 0;
ContainerNode::detach(context);
- m_styleEngine->didDetach();
+ styleEngine().didDetach();
frameHost()->eventHandlerRegistry().documentDetached(*this);
@@ -2940,8 +2934,8 @@ void Document::processHttpEquivDefaultStyle(const AtomicString& content)
// For more info, see the test at:
// http://www.hixie.ch/tests/evil/css/import/main/preferred.html
// -dwh
- m_styleEngine->setSelectedStylesheetSetName(content);
- m_styleEngine->setPreferredStylesheetSetName(content);
+ styleEngine().setSelectedStylesheetSetName(content);
+ styleEngine().setPreferredStylesheetSetName(content);
styleResolverChanged();
}
@@ -3279,7 +3273,7 @@ String Document::selectedStylesheetSet() const
void Document::setSelectedStylesheetSet(const String& aString)
{
- m_styleEngine->setSelectedStylesheetSetName(aString);
+ styleEngine().setSelectedStylesheetSetName(aString);
styleResolverChanged();
}
@@ -3309,14 +3303,9 @@ void Document::notifyResizeForViewportUnits()
void Document::styleResolverChanged(StyleResolverUpdateMode updateMode)
{
- // styleResolverChanged() can be invoked during Document destruction.
- // We just skip that case.
- if (!m_styleEngine)
- return;
-
- m_styleEngine->resolverChanged(updateMode);
+ styleEngine().resolverChanged(updateMode);
- if (didLayoutWithPendingStylesheets() && !m_styleEngine->hasPendingSheets()) {
+ if (didLayoutWithPendingStylesheets() && !styleEngine().hasPendingSheets()) {
// We need to manually repaint because we avoid doing all repaints in layout or style
// recalc while sheets are still loading to avoid FOUC.
m_pendingSheetLayout = IgnoreLayoutWithPendingSheets;
@@ -5435,7 +5424,7 @@ void Document::removedStyleSheet(StyleSheet* sheet, StyleResolverUpdateMode upda
// styleResolverChanged() is needed even when the document is inactive so that
// imported docuements (which is inactive) notifies the change to the master document.
if (isActive())
- styleEngine()->modifiedStyleSheet(sheet);
+ styleEngine().modifiedStyleSheet(sheet);
styleResolverChanged(updateMode);
}
@@ -5445,7 +5434,7 @@ void Document::modifiedStyleSheet(StyleSheet* sheet, StyleResolverUpdateMode upd
// styleResolverChanged() is needed even when the document is inactive so that
// imported docuements (which is inactive) notifies the change to the master document.
if (isActive())
- styleEngine()->modifiedStyleSheet(sheet);
+ styleEngine().modifiedStyleSheet(sheet);
styleResolverChanged(updateMode);
}
@@ -5624,7 +5613,7 @@ void Document::platformColorsChanged()
if (!isActive())
return;
- styleEngine()->platformColorsChanged();
+ styleEngine().platformColorsChanged();
}
void Document::clearWeakMembers(Visitor* visitor)
« no previous file with comments | « Source/core/dom/Document.h ('k') | Source/core/dom/DocumentStyleSheetCollection.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698