Index: Source/core/css/CSSDefaultStyleSheets.cpp |
diff --git a/Source/core/css/CSSDefaultStyleSheets.cpp b/Source/core/css/CSSDefaultStyleSheets.cpp |
index 163b47f5916ab1285c9c448f4a58e3a8436d8af4..4ad5a4da3ccc53ad4e82320b44a0b147959e672a 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,7 @@ |
#include "core/html/HTMLAnchorElement.h" |
#include "core/html/HTMLHtmlElement.h" |
#include "core/rendering/RenderTheme.h" |
+#include "platform/PlatformResourceLoader.h" |
#include "wtf/LeakAnnotations.h" |
namespace blink { |
@@ -72,11 +72,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 +94,11 @@ CSSDefaultStyleSheets::CSSDefaultStyleSheets() |
m_defaultQuirksStyle = RuleSet::create(); |
// Strict-mode rules. |
- String defaultRules = String(htmlCss, sizeof(htmlCss)) + RenderTheme::theme().extraDefaultStyleSheet(); |
+ String defaultRules = loadResourceAsASCIIString("html.css") + RenderTheme::theme().extraDefaultStyleSheet(); |
m_defaultStyleSheet = parseUASheet(defaultRules); |
m_defaultStyle->addRulesFromSheet(defaultStyleSheet(), screenEval()); |
#if OS(ANDROID) |
- String viewportRules(viewportAndroidCss, sizeof(viewportAndroidCss)); |
+ String viewportRules = loadResourceAsASCIIString("viewportAndroid.css"); |
#else |
String viewportRules; |
#endif |
@@ -112,7 +107,7 @@ CSSDefaultStyleSheets::CSSDefaultStyleSheets() |
m_defaultPrintStyle->addRulesFromSheet(defaultStyleSheet(), printEval()); |
// Quirks-mode rules. |
- String quirksRules = String(quirksCss, sizeof(quirksCss)) + RenderTheme::theme().extraQuirksStyleSheet(); |
+ String quirksRules = loadResourceAsASCIIString("quirks.css") + RenderTheme::theme().extraQuirksStyleSheet(); |
m_quirksStyleSheet = parseUASheet(quirksRules); |
m_defaultQuirksStyle->addRulesFromSheet(quirksStyleSheet(), screenEval()); |
} |
@@ -122,7 +117,7 @@ RuleSet* CSSDefaultStyleSheets::defaultViewSourceStyle() |
if (!m_defaultViewSourceStyle) { |
m_defaultViewSourceStyle = RuleSet::create(); |
// Loaded stylesheet is leaked on purpose. |
- RefPtrWillBeRawPtr<StyleSheetContents> stylesheet = parseUASheet(viewSourceCss, sizeof(viewSourceCss)); |
+ RefPtrWillBeRawPtr<StyleSheetContents> stylesheet = parseUASheet(loadResourceAsASCIIString("view-source.css")); |
m_defaultViewSourceStyle->addRulesFromSheet(stylesheet.release().leakRef(), screenEval()); |
} |
return m_defaultViewSourceStyle.get(); |
@@ -133,7 +128,7 @@ RuleSet* CSSDefaultStyleSheets::defaultTransitionStyle() |
if (!m_defaultTransitionStyle) { |
m_defaultTransitionStyle = RuleSet::create(); |
// Loaded stylesheet is leaked on purpose. |
- RefPtrWillBeRawPtr<StyleSheetContents> stylesheet = parseUASheet(navigationTransitionsCss, sizeof(navigationTransitionsCss)); |
+ RefPtrWillBeRawPtr<StyleSheetContents> stylesheet = parseUASheet(loadResourceAsASCIIString("navigationTransitions.css")); |
m_defaultTransitionStyle->addRulesFromSheet(stylesheet.release().leakRef(), screenEval()); |
} |
return m_defaultTransitionStyle.get(); |
@@ -144,7 +139,7 @@ RuleSet* CSSDefaultStyleSheets::defaultXHTMLMobileProfileStyle() |
if (!m_defaultXHTMLMobileProfileStyle) { |
m_defaultXHTMLMobileProfileStyle = RuleSet::create(); |
// Loaded stylesheet is leaked on purpose. |
- RefPtrWillBeRawPtr<StyleSheetContents> stylesheet = parseUASheet(xhtmlmpCss, sizeof(xhtmlmpCss)); |
+ RefPtrWillBeRawPtr<StyleSheetContents> stylesheet = parseUASheet(loadResourceAsASCIIString("xhtmlmp.css")); |
m_defaultXHTMLMobileProfileStyle->addRulesFromSheet(stylesheet.release().leakRef(), screenEval()); |
} |
return m_defaultXHTMLMobileProfileStyle.get(); |
@@ -154,7 +149,7 @@ 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)); |
+ m_svgStyleSheet = parseUASheet(loadResourceAsASCIIString("svg.css")); |
m_defaultStyle->addRulesFromSheet(svgStyleSheet(), screenEval()); |
m_defaultPrintStyle->addRulesFromSheet(svgStyleSheet(), printEval()); |
changedDefaultStyle = true; |
@@ -163,7 +158,7 @@ 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)); |
+ m_mathmlStyleSheet = parseUASheet(loadResourceAsASCIIString("mathml.css")); |
m_defaultStyle->addRulesFromSheet(mathmlStyleSheet(), screenEval()); |
m_defaultPrintStyle->addRulesFromSheet(mathmlStyleSheet(), printEval()); |
changedDefaultStyle = true; |
@@ -171,7 +166,7 @@ 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(); |
+ String mediaRules = loadResourceAsASCIIString("mediaControls.css") + RenderTheme::theme().extraMediaControlsStyleSheet(); |
m_mediaControlsStyleSheet = parseUASheet(mediaRules); |
m_defaultStyle->addRulesFromSheet(mediaControlsStyleSheet(), screenEval()); |
m_defaultPrintStyle->addRulesFromSheet(mediaControlsStyleSheet(), printEval()); |
@@ -181,7 +176,7 @@ 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 && Fullscreen::isFullScreen(element->document())) { |
- String fullscreenRules = String(fullscreenCss, sizeof(fullscreenCss)) + RenderTheme::theme().extraFullScreenStyleSheet(); |
+ String fullscreenRules = loadResourceAsASCIIString("fullscreen.css") + RenderTheme::theme().extraFullScreenStyleSheet(); |
m_fullscreenStyleSheet = parseUASheet(fullscreenRules); |
m_defaultStyle->addRulesFromSheet(fullscreenStyleSheet(), screenEval()); |
m_defaultQuirksStyle->addRulesFromSheet(fullscreenStyleSheet(), screenEval()); |