Chromium Code Reviews| Index: Source/core/css/CSSDefaultStyleSheets.cpp |
| diff --git a/Source/core/css/CSSDefaultStyleSheets.cpp b/Source/core/css/CSSDefaultStyleSheets.cpp |
| index e57c6d6e036e2bf5d1ab37c7bc070648997990f1..7676f3d68eec8c49d27c4a59fba4cfc1fb1fb13c 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 { |
| @@ -99,11 +100,13 @@ CSSDefaultStyleSheets::CSSDefaultStyleSheets() |
| m_defaultQuirksStyle = RuleSet::create(); |
| // Strict-mode rules. |
| - String defaultRules = String(htmlCss, sizeof(htmlCss)) + RenderTheme::theme().extraDefaultStyleSheet(); |
| + const blink::WebData& htmlCssResource = blink::Platform::current()->loadResource("html.css"); |
|
abarth-chromium
2014/08/01 19:15:15
No need for "blink::"
|
| + String defaultRules = String(htmlCssResource.data(), htmlCssResource.size()) + RenderTheme::theme().extraDefaultStyleSheet(); |
| m_defaultStyleSheet = parseUASheet(defaultRules); |
| m_defaultStyle->addRulesFromSheet(defaultStyleSheet(), screenEval()); |
| #if OS(ANDROID) |
| - String viewportRules(viewportAndroidCss, sizeof(viewportAndroidCss)); |
| + const blink::WebData& viewportAndroidCssResource = blink::Platform::current()->loadResource("viewportAndroid.css"); |
| + String viewportRules(viewportAndroidCssResource.data(), viewportAndroidCssResource.size()); |
| #else |
| String viewportRules; |
| #endif |
| @@ -112,7 +115,8 @@ CSSDefaultStyleSheets::CSSDefaultStyleSheets() |
| m_defaultPrintStyle->addRulesFromSheet(defaultStyleSheet(), printEval()); |
| // Quirks-mode rules. |
| - String quirksRules = String(quirksCss, sizeof(quirksCss)) + RenderTheme::theme().extraQuirksStyleSheet(); |
| + const blink::WebData& quirksCssResource = blink::Platform::current()->loadResource("quirks.css"); |
| + String quirksRules = String(quirksCssResource.data(), quirksCssResource.size()) + RenderTheme::theme().extraQuirksStyleSheet(); |
| m_quirksStyleSheet = parseUASheet(quirksRules); |
| m_defaultQuirksStyle->addRulesFromSheet(quirksStyleSheet(), screenEval()); |
| } |
| @@ -122,7 +126,8 @@ RuleSet* CSSDefaultStyleSheets::defaultViewSourceStyle() |
| if (!m_defaultViewSourceStyle) { |
| m_defaultViewSourceStyle = RuleSet::create(); |
| // Loaded stylesheet is leaked on purpose. |
| - RefPtrWillBeRawPtr<StyleSheetContents> stylesheet = parseUASheet(viewSourceCss, sizeof(viewSourceCss)); |
| + const blink::WebData& viewSourceCssResource = blink::Platform::current()->loadResource("view-source.css"); |
| + RefPtrWillBeRawPtr<StyleSheetContents> stylesheet = parseUASheet(viewSourceCssResource.data(), viewSourceCssResource.size()); |
| m_defaultViewSourceStyle->addRulesFromSheet(stylesheet.release().leakRef(), screenEval()); |
| } |
| return m_defaultViewSourceStyle.get(); |
| @@ -133,7 +138,8 @@ RuleSet* CSSDefaultStyleSheets::defaultTransitionStyle() |
| if (!m_defaultTransitionStyle) { |
| m_defaultTransitionStyle = RuleSet::create(); |
| // Loaded stylesheet is leaked on purpose. |
| - RefPtrWillBeRawPtr<StyleSheetContents> stylesheet = parseUASheet(navigationTransitionsCss, sizeof(navigationTransitionsCss)); |
| + const blink::WebData& navigationTransitionsCssResource = blink::Platform::current()->loadResource("navigationTransitions.css"); |
| + RefPtrWillBeRawPtr<StyleSheetContents> stylesheet = parseUASheet(navigationTransitionsCssResource.data(), navigationTransitionsCssResource.size()); |
| m_defaultTransitionStyle->addRulesFromSheet(stylesheet.release().leakRef(), screenEval()); |
| } |
| return m_defaultTransitionStyle.get(); |
| @@ -144,7 +150,8 @@ RuleSet* CSSDefaultStyleSheets::defaultXHTMLMobileProfileStyle() |
| if (!m_defaultXHTMLMobileProfileStyle) { |
| m_defaultXHTMLMobileProfileStyle = RuleSet::create(); |
| // Loaded stylesheet is leaked on purpose. |
| - RefPtrWillBeRawPtr<StyleSheetContents> stylesheet = parseUASheet(xhtmlmpCss, sizeof(xhtmlmpCss)); |
| + const blink::WebData& xhtmlmpCssResource = blink::Platform::current()->loadResource("xhtmlmp.css"); |
| + RefPtrWillBeRawPtr<StyleSheetContents> stylesheet = parseUASheet(xhtmlmpCssResource.data(), xhtmlmpCssResource.size()); |
| m_defaultXHTMLMobileProfileStyle->addRulesFromSheet(stylesheet.release().leakRef(), screenEval()); |
| } |
| return m_defaultXHTMLMobileProfileStyle.get(); |
| @@ -154,7 +161,8 @@ 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 blink::WebData& svgCssResource = blink::Platform::current()->loadResource("svg.css"); |
| + m_svgStyleSheet = parseUASheet(svgCssResource.data(), svgCssResource.size()); |
| m_defaultStyle->addRulesFromSheet(svgStyleSheet(), screenEval()); |
| m_defaultPrintStyle->addRulesFromSheet(svgStyleSheet(), printEval()); |
| changedDefaultStyle = true; |
| @@ -163,7 +171,8 @@ 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 blink::WebData& mathmlCssResource = blink::Platform::current()->loadResource("mathml.css"); |
| + m_mathmlStyleSheet = parseUASheet(mathmlCssResource.data(), mathmlCssResource.size()); |
| m_defaultStyle->addRulesFromSheet(mathmlStyleSheet(), screenEval()); |
| m_defaultPrintStyle->addRulesFromSheet(mathmlStyleSheet(), printEval()); |
| changedDefaultStyle = true; |
| @@ -171,7 +180,8 @@ 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 blink::WebData& mediaControlsCssResource = blink::Platform::current()->loadResource("mediaControls.css"); |
| + String mediaRules = String(mediaControlsCssResource.data(), mediaControlsCssResource.size()) + RenderTheme::theme().extraMediaControlsStyleSheet(); |
| m_mediaControlsStyleSheet = parseUASheet(mediaRules); |
| m_defaultStyle->addRulesFromSheet(mediaControlsStyleSheet(), screenEval()); |
| m_defaultPrintStyle->addRulesFromSheet(mediaControlsStyleSheet(), printEval()); |
| @@ -181,7 +191,8 @@ 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 blink::WebData& fullscreenCssResource = blink::Platform::current()->loadResource("fullscreen.css"); |
| + String fullscreenRules = String(fullscreenCssResource.data(), fullscreenCssResource.size()) + RenderTheme::theme().extraFullScreenStyleSheet(); |
| m_fullscreenStyleSheet = parseUASheet(fullscreenRules); |
| m_defaultStyle->addRulesFromSheet(fullscreenStyleSheet(), screenEval()); |
| m_defaultQuirksStyle->addRulesFromSheet(fullscreenStyleSheet(), screenEval()); |