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

Unified Diff: Source/core/css/CSSDefaultStyleSheets.cpp

Issue 438843004: Move the user agent styles sheets to blink_resources.grd (Part 3) (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 4 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
Index: Source/core/css/CSSDefaultStyleSheets.cpp
diff --git a/Source/core/css/CSSDefaultStyleSheets.cpp b/Source/core/css/CSSDefaultStyleSheets.cpp
index e57c6d6e036e2bf5d1ab37c7bc070648997990f1..d169fa15218048ede65791aec94911e338e4f830 100644
--- a/Source/core/css/CSSDefaultStyleSheets.cpp
+++ b/Source/core/css/CSSDefaultStyleSheets.cpp
@@ -30,7 +30,6 @@
#include "core/css/CSSDefaultStyleSheets.h"
#include "core/MathMLNames.h"
-#include "core/UserAgentStyleSheets.h"
#include "core/css/MediaQueryEvaluator.h"
#include "core/css/RuleSet.h"
#include "core/css/StyleSheetContents.h"
@@ -38,6 +37,8 @@
#include "core/html/HTMLAnchorElement.h"
#include "core/html/HTMLHtmlElement.h"
#include "core/rendering/RenderTheme.h"
+#include "public/platform/Platform.h"
+#include "public/platform/WebData.h"
#include "wtf/LeakAnnotations.h"
namespace blink {
@@ -72,11 +73,6 @@ static PassRefPtrWillBeRawPtr<StyleSheetContents> parseUASheet(const String& str
return sheet.release();
}
-static PassRefPtrWillBeRawPtr<StyleSheetContents> parseUASheet(const char* characters, unsigned size)
-{
- return parseUASheet(String(characters, size));
-}
-
CSSDefaultStyleSheets::CSSDefaultStyleSheets()
: m_defaultStyle(nullptr)
, m_defaultViewportStyle(nullptr)
@@ -99,11 +95,16 @@ CSSDefaultStyleSheets::CSSDefaultStyleSheets()
m_defaultQuirksStyle = RuleSet::create();
// Strict-mode rules.
- String defaultRules = String(htmlCss, sizeof(htmlCss)) + RenderTheme::theme().extraDefaultStyleSheet();
+ const WebData& htmlCssResource = Platform::current()->loadResource("html.css");
+ String defaultRules = htmlCssResource.toASCIIString();
+ ASSERT(!defaultRules.isEmpty());
+ defaultRules = defaultRules + RenderTheme::theme().extraDefaultStyleSheet();
m_defaultStyleSheet = parseUASheet(defaultRules);
m_defaultStyle->addRulesFromSheet(defaultStyleSheet(), screenEval());
#if OS(ANDROID)
- String viewportRules(viewportAndroidCss, sizeof(viewportAndroidCss));
+ const WebData& viewportAndroidCssResource = Platform::current()->loadResource("viewportAndroid.css");
+ String viewportRules = viewportAndroidCssResource.toASCIIString();
+ ASSERT(!viewportRules.isEmpty());
#else
String viewportRules;
#endif
@@ -112,7 +113,10 @@ CSSDefaultStyleSheets::CSSDefaultStyleSheets()
m_defaultPrintStyle->addRulesFromSheet(defaultStyleSheet(), printEval());
// Quirks-mode rules.
- String quirksRules = String(quirksCss, sizeof(quirksCss)) + RenderTheme::theme().extraQuirksStyleSheet();
+ const WebData& quirksCssResource = Platform::current()->loadResource("quirks.css");
+ String quirksRules = quirksCssResource.toASCIIString();
+ ASSERT(!quirksRules.isEmpty());
+ quirksRules = quirksRules + RenderTheme::theme().extraQuirksStyleSheet();
m_quirksStyleSheet = parseUASheet(quirksRules);
m_defaultQuirksStyle->addRulesFromSheet(quirksStyleSheet(), screenEval());
}
@@ -122,7 +126,10 @@ RuleSet* CSSDefaultStyleSheets::defaultViewSourceStyle()
if (!m_defaultViewSourceStyle) {
m_defaultViewSourceStyle = RuleSet::create();
// Loaded stylesheet is leaked on purpose.
- RefPtrWillBeRawPtr<StyleSheetContents> stylesheet = parseUASheet(viewSourceCss, sizeof(viewSourceCss));
+ const WebData& viewSourceCssResource = Platform::current()->loadResource("view-source.css");
+ String viewSourceRules = viewSourceCssResource.toASCIIString();
+ ASSERT(!viewSourceRules.isEmpty());
+ RefPtrWillBeRawPtr<StyleSheetContents> stylesheet = parseUASheet(viewSourceRules);
m_defaultViewSourceStyle->addRulesFromSheet(stylesheet.release().leakRef(), screenEval());
}
return m_defaultViewSourceStyle.get();
@@ -133,7 +140,10 @@ RuleSet* CSSDefaultStyleSheets::defaultTransitionStyle()
if (!m_defaultTransitionStyle) {
m_defaultTransitionStyle = RuleSet::create();
// Loaded stylesheet is leaked on purpose.
- RefPtrWillBeRawPtr<StyleSheetContents> stylesheet = parseUASheet(navigationTransitionsCss, sizeof(navigationTransitionsCss));
+ const WebData& navigationTransitionsCssResource = Platform::current()->loadResource("navigationTransitions.css");
+ String navigationTransitionsRules = navigationTransitionsCssResource.toASCIIString();
+ ASSERT(!navigationTransitionsRules.isEmpty());
+ RefPtrWillBeRawPtr<StyleSheetContents> stylesheet = parseUASheet(navigationTransitionsRules);
m_defaultTransitionStyle->addRulesFromSheet(stylesheet.release().leakRef(), screenEval());
}
return m_defaultTransitionStyle.get();
@@ -144,7 +154,10 @@ RuleSet* CSSDefaultStyleSheets::defaultXHTMLMobileProfileStyle()
if (!m_defaultXHTMLMobileProfileStyle) {
m_defaultXHTMLMobileProfileStyle = RuleSet::create();
// Loaded stylesheet is leaked on purpose.
- RefPtrWillBeRawPtr<StyleSheetContents> stylesheet = parseUASheet(xhtmlmpCss, sizeof(xhtmlmpCss));
+ const WebData& xhtmlmpCssResource = Platform::current()->loadResource("xhtmlmp.css");
+ String xhtmlmpRules = xhtmlmpCssResource.toASCIIString();
+ ASSERT(!xhtmlmpRules.isEmpty());
+ RefPtrWillBeRawPtr<StyleSheetContents> stylesheet = parseUASheet(xhtmlmpRules);
m_defaultXHTMLMobileProfileStyle->addRulesFromSheet(stylesheet.release().leakRef(), screenEval());
}
return m_defaultXHTMLMobileProfileStyle.get();
@@ -154,7 +167,10 @@ void CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement(Element* element,
{
// FIXME: We should assert that the sheet only styles SVG elements.
if (element->isSVGElement() && !m_svgStyleSheet) {
- m_svgStyleSheet = parseUASheet(svgCss, sizeof(svgCss));
+ const WebData& svgCssResource = Platform::current()->loadResource("svg.css");
+ String svgRules = svgCssResource.toASCIIString();
+ ASSERT(!svgRules.isEmpty());
+ m_svgStyleSheet = parseUASheet(svgRules);
m_defaultStyle->addRulesFromSheet(svgStyleSheet(), screenEval());
m_defaultPrintStyle->addRulesFromSheet(svgStyleSheet(), printEval());
changedDefaultStyle = true;
@@ -163,7 +179,10 @@ void CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement(Element* element,
// FIXME: We should assert that the sheet only styles MathML elements.
if (element->namespaceURI() == MathMLNames::mathmlNamespaceURI
&& !m_mathmlStyleSheet) {
- m_mathmlStyleSheet = parseUASheet(mathmlCss, sizeof(mathmlCss));
+ const WebData& mathmlCssResource = Platform::current()->loadResource("mathml.css");
+ String mathmlRules = mathmlCssResource.toASCIIString();
+ ASSERT(!mathmlRules.isEmpty());
+ m_mathmlStyleSheet = parseUASheet(mathmlRules);
m_defaultStyle->addRulesFromSheet(mathmlStyleSheet(), screenEval());
m_defaultPrintStyle->addRulesFromSheet(mathmlStyleSheet(), printEval());
changedDefaultStyle = true;
@@ -171,7 +190,10 @@ void CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement(Element* element,
// FIXME: We should assert that this sheet only contains rules for <video> and <audio>.
if (!m_mediaControlsStyleSheet && (isHTMLVideoElement(*element) || isHTMLAudioElement(*element))) {
- String mediaRules = String(mediaControlsCss, sizeof(mediaControlsCss)) + RenderTheme::theme().extraMediaControlsStyleSheet();
+ const WebData& mediaControlsCssResource = Platform::current()->loadResource("mediaControls.css");
+ String mediaRules = mediaControlsCssResource.toASCIIString();
+ ASSERT(!mediaRules.isEmpty());
+ mediaRules = mediaRules + RenderTheme::theme().extraMediaControlsStyleSheet();
m_mediaControlsStyleSheet = parseUASheet(mediaRules);
m_defaultStyle->addRulesFromSheet(mediaControlsStyleSheet(), screenEval());
m_defaultPrintStyle->addRulesFromSheet(mediaControlsStyleSheet(), printEval());
@@ -181,7 +203,10 @@ void CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement(Element* element,
// FIXME: This only works because we Force recalc the entire document so the new sheet
// is loaded for <html> and the correct styles apply to everyone.
if (!m_fullscreenStyleSheet && FullscreenElementStack::isFullScreen(element->document())) {
- String fullscreenRules = String(fullscreenCss, sizeof(fullscreenCss)) + RenderTheme::theme().extraFullScreenStyleSheet();
+ const WebData& fullscreenCssResource = Platform::current()->loadResource("fullscreen.css");
+ String fullscreenRules = fullscreenCssResource.toASCIIString();
+ ASSERT(!fullscreenRules.isEmpty());
+ fullscreenRules = fullscreenRules + RenderTheme::theme().extraFullScreenStyleSheet();
m_fullscreenStyleSheet = parseUASheet(fullscreenRules);
m_defaultStyle->addRulesFromSheet(fullscreenStyleSheet(), screenEval());
m_defaultQuirksStyle->addRulesFromSheet(fullscreenStyleSheet(), screenEval());

Powered by Google App Engine
This is Rietveld 408576698