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

Unified Diff: third_party/WebKit/Source/core/html/parser/CSSPreloadScanner.cpp

Issue 2326873004: [@import scanner] Don't access Document::settings() from appendData callback (Closed)
Patch Set: Created 4 years, 3 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 | « third_party/WebKit/Source/core/html/parser/CSSPreloadScanner.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Source/core/html/parser/CSSPreloadScanner.cpp
diff --git a/third_party/WebKit/Source/core/html/parser/CSSPreloadScanner.cpp b/third_party/WebKit/Source/core/html/parser/CSSPreloadScanner.cpp
index 4c95d82e3354ee0f7daa1da53014ef26669072c1..c8a217f3e5b4b17a8936218a404db7f6f0c873b9 100644
--- a/third_party/WebKit/Source/core/html/parser/CSSPreloadScanner.cpp
+++ b/third_party/WebKit/Source/core/html/parser/CSSPreloadScanner.cpp
@@ -241,7 +241,8 @@ void CSSPreloadScanner::emitRule(const SegmentedString& source)
}
CSSPreloaderResourceClient::CSSPreloaderResourceClient(Resource* resource, HTMLResourcePreloader* preloader)
- : m_preloader(preloader)
+ : m_policy(preloader->document()->settings()->cssExternalScannerPreload() ? ScanAndPreload : ScanOnly)
+ , m_preloader(preloader)
{
DCHECK(resource->getType() == Resource::Type::CSSStyleSheet);
setResource(toCSSStyleSheetResource(resource), Resource::DontMarkAsReferenced);
@@ -291,9 +292,7 @@ void CSSPreloaderResourceClient::fetchPreloads(PreloadRequestStream& preloads)
m_preloader->document()->loader()->didObserveLoadingBehavior(WebLoadingBehaviorFlag::WebLoadingBehaviorCSSPreloadFound);
}
- Settings* settings = m_preloader->document()->settings();
- DCHECK(settings);
- if (settings->cssExternalScannerPreload()) {
+ if (m_policy == ScanAndPreload) {
int currentPreloadCount = m_preloader->countPreloads();
m_preloader->takeAndPreload(preloads);
DEFINE_STATIC_LOCAL(CustomCountHistogram, cssImportHistogram, ("PreloadScanner.ExternalCSS.PreloadCount", 1, 100, 50));
« no previous file with comments | « third_party/WebKit/Source/core/html/parser/CSSPreloadScanner.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698