Index: Source/core/css/CSSDefaultStyleSheets.cpp |
diff --git a/Source/core/css/CSSDefaultStyleSheets.cpp b/Source/core/css/CSSDefaultStyleSheets.cpp |
index 9375aa4b8e4026fd2d8d31db74cb10e4dfb1721e..c549efc6f34b4e7ea643264ee1e0b25fd41dc257 100644 |
--- a/Source/core/css/CSSDefaultStyleSheets.cpp |
+++ b/Source/core/css/CSSDefaultStyleSheets.cpp |
@@ -29,6 +29,7 @@ |
#include "config.h" |
#include "core/css/CSSDefaultStyleSheets.h" |
+#include "MathMLNames.h" |
#include "UserAgentStyleSheets.h" |
#include "core/css/MediaQueryEvaluator.h" |
#include "core/css/RuleSet.h" |
@@ -53,6 +54,7 @@ StyleSheetContents* CSSDefaultStyleSheets::defaultStyleSheet; |
StyleSheetContents* CSSDefaultStyleSheets::viewportStyleSheet; |
StyleSheetContents* CSSDefaultStyleSheets::quirksStyleSheet; |
StyleSheetContents* CSSDefaultStyleSheets::svgStyleSheet; |
+StyleSheetContents* CSSDefaultStyleSheets::mathmlStyleSheet; |
StyleSheetContents* CSSDefaultStyleSheets::mediaControlsStyleSheet; |
StyleSheetContents* CSSDefaultStyleSheets::fullscreenStyleSheet; |
@@ -141,6 +143,16 @@ void CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement(Element* element, |
changedDefaultStyle = true; |
} |
+ // FIXME: We should assert that the sheet only styles MathML elements. |
+ if (element->namespaceURI() == MathMLNames::mathmlNamespaceURI |
+ && !mathmlStyleSheet) { |
+ mathmlStyleSheet = parseUASheet(mathmlUserAgentStyleSheet, |
+ sizeof(mathmlUserAgentStyleSheet)); |
+ defaultStyle->addRulesFromSheet(mathmlStyleSheet, screenEval()); |
+ defaultPrintStyle->addRulesFromSheet(mathmlStyleSheet, printEval()); |
+ changedDefaultStyle = true; |
+ } |
+ |
// FIXME: We should assert that this sheet only contains rules for <video> and <audio>. |
if (!mediaControlsStyleSheet && (element->hasTagName(videoTag) || element->hasTagName(audioTag))) { |
String mediaRules = String(mediaControlsUserAgentStyleSheet, sizeof(mediaControlsUserAgentStyleSheet)) + RenderTheme::theme().extraMediaControlsStyleSheet(); |