| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com) | 3 * (C) 2004-2005 Allan Sandfeld Jensen (kde@carewolf.com) |
| 4 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com) | 4 * Copyright (C) 2006, 2007 Nicholas Shanks (webkit@nickshanks.com) |
| 5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All r
ights reserved. | 5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All r
ights reserved. |
| 6 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> | 6 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> |
| 7 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org> | 7 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org> |
| 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) | 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) |
| 9 * Copyright (c) 2011, Code Aurora Forum. All rights reserved. | 9 * Copyright (c) 2011, Code Aurora Forum. All rights reserved. |
| 10 * Copyright (C) Research In Motion Limited 2011. All rights reserved. | 10 * Copyright (C) Research In Motion Limited 2011. All rights reserved. |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 128 RuleSet* CSSDefaultStyleSheets::defaultMobileViewportStyle() | 128 RuleSet* CSSDefaultStyleSheets::defaultMobileViewportStyle() |
| 129 { | 129 { |
| 130 if (!m_defaultMobileViewportStyle) { | 130 if (!m_defaultMobileViewportStyle) { |
| 131 m_defaultMobileViewportStyle = RuleSet::create(); | 131 m_defaultMobileViewportStyle = RuleSet::create(); |
| 132 m_mobileViewportStyleSheet = parseUASheet(loadResourceAsASCIIString("vie
wportAndroid.css")); | 132 m_mobileViewportStyleSheet = parseUASheet(loadResourceAsASCIIString("vie
wportAndroid.css")); |
| 133 m_defaultMobileViewportStyle->addRulesFromSheet(m_mobileViewportStyleShe
et.get(), screenEval()); | 133 m_defaultMobileViewportStyle->addRulesFromSheet(m_mobileViewportStyleShe
et.get(), screenEval()); |
| 134 } | 134 } |
| 135 return m_defaultMobileViewportStyle.get(); | 135 return m_defaultMobileViewportStyle.get(); |
| 136 } | 136 } |
| 137 | 137 |
| 138 void CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement(Element* element,
bool& changedDefaultStyle) | 138 void CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement(const Element& el
ement, bool& changedDefaultStyle) |
| 139 { | 139 { |
| 140 // FIXME: We should assert that the sheet only styles SVG elements. | 140 // FIXME: We should assert that the sheet only styles SVG elements. |
| 141 if (element->isSVGElement() && !m_svgStyleSheet) { | 141 if (element.isSVGElement() && !m_svgStyleSheet) { |
| 142 m_svgStyleSheet = parseUASheet(loadResourceAsASCIIString("svg.css")); | 142 m_svgStyleSheet = parseUASheet(loadResourceAsASCIIString("svg.css")); |
| 143 m_defaultStyle->addRulesFromSheet(svgStyleSheet(), screenEval()); | 143 m_defaultStyle->addRulesFromSheet(svgStyleSheet(), screenEval()); |
| 144 m_defaultPrintStyle->addRulesFromSheet(svgStyleSheet(), printEval()); | 144 m_defaultPrintStyle->addRulesFromSheet(svgStyleSheet(), printEval()); |
| 145 changedDefaultStyle = true; | 145 changedDefaultStyle = true; |
| 146 } | 146 } |
| 147 | 147 |
| 148 // FIXME: We should assert that the sheet only styles MathML elements. | 148 // FIXME: We should assert that the sheet only styles MathML elements. |
| 149 if (element->namespaceURI() == MathMLNames::mathmlNamespaceURI | 149 if (element.namespaceURI() == MathMLNames::mathmlNamespaceURI |
| 150 && !m_mathmlStyleSheet) { | 150 && !m_mathmlStyleSheet) { |
| 151 m_mathmlStyleSheet = parseUASheet(loadResourceAsASCIIString("mathml.css"
)); | 151 m_mathmlStyleSheet = parseUASheet(loadResourceAsASCIIString("mathml.css"
)); |
| 152 m_defaultStyle->addRulesFromSheet(mathmlStyleSheet(), screenEval()); | 152 m_defaultStyle->addRulesFromSheet(mathmlStyleSheet(), screenEval()); |
| 153 m_defaultPrintStyle->addRulesFromSheet(mathmlStyleSheet(), printEval()); | 153 m_defaultPrintStyle->addRulesFromSheet(mathmlStyleSheet(), printEval()); |
| 154 changedDefaultStyle = true; | 154 changedDefaultStyle = true; |
| 155 } | 155 } |
| 156 | 156 |
| 157 // FIXME: We should assert that this sheet only contains rules for <video> a
nd <audio>. | 157 // FIXME: We should assert that this sheet only contains rules for <video> a
nd <audio>. |
| 158 if (!m_mediaControlsStyleSheet && (isHTMLVideoElement(*element) || isHTMLAud
ioElement(*element))) { | 158 if (!m_mediaControlsStyleSheet && (isHTMLVideoElement(element) || isHTMLAudi
oElement(element))) { |
| 159 String mediaRules = loadResourceAsASCIIString("mediaControls.css") + Lay
outTheme::theme().extraMediaControlsStyleSheet(); | 159 String mediaRules = loadResourceAsASCIIString("mediaControls.css") + Lay
outTheme::theme().extraMediaControlsStyleSheet(); |
| 160 m_mediaControlsStyleSheet = parseUASheet(mediaRules); | 160 m_mediaControlsStyleSheet = parseUASheet(mediaRules); |
| 161 m_defaultStyle->addRulesFromSheet(mediaControlsStyleSheet(), screenEval(
)); | 161 m_defaultStyle->addRulesFromSheet(mediaControlsStyleSheet(), screenEval(
)); |
| 162 m_defaultPrintStyle->addRulesFromSheet(mediaControlsStyleSheet(), printE
val()); | 162 m_defaultPrintStyle->addRulesFromSheet(mediaControlsStyleSheet(), printE
val()); |
| 163 changedDefaultStyle = true; | 163 changedDefaultStyle = true; |
| 164 } | 164 } |
| 165 | 165 |
| 166 // FIXME: This only works because we Force recalc the entire document so the
new sheet | 166 // FIXME: This only works because we Force recalc the entire document so the
new sheet |
| 167 // is loaded for <html> and the correct styles apply to everyone. | 167 // is loaded for <html> and the correct styles apply to everyone. |
| 168 if (!m_fullscreenStyleSheet && Fullscreen::isFullScreen(element->document())
) { | 168 if (!m_fullscreenStyleSheet && Fullscreen::isFullScreen(element.document()))
{ |
| 169 String fullscreenRules = loadResourceAsASCIIString("fullscreen.css") + L
ayoutTheme::theme().extraFullScreenStyleSheet(); | 169 String fullscreenRules = loadResourceAsASCIIString("fullscreen.css") + L
ayoutTheme::theme().extraFullScreenStyleSheet(); |
| 170 m_fullscreenStyleSheet = parseUASheet(fullscreenRules); | 170 m_fullscreenStyleSheet = parseUASheet(fullscreenRules); |
| 171 m_defaultStyle->addRulesFromSheet(fullscreenStyleSheet(), screenEval()); | 171 m_defaultStyle->addRulesFromSheet(fullscreenStyleSheet(), screenEval()); |
| 172 m_defaultQuirksStyle->addRulesFromSheet(fullscreenStyleSheet(), screenEv
al()); | 172 m_defaultQuirksStyle->addRulesFromSheet(fullscreenStyleSheet(), screenEv
al()); |
| 173 changedDefaultStyle = true; | 173 changedDefaultStyle = true; |
| 174 } | 174 } |
| 175 | 175 |
| 176 ASSERT(!m_defaultStyle->features().hasIdsInSelectors()); | 176 ASSERT(!m_defaultStyle->features().hasIdsInSelectors()); |
| 177 ASSERT(m_defaultStyle->features().siblingRules.isEmpty()); | 177 ASSERT(m_defaultStyle->features().siblingRules.isEmpty()); |
| 178 } | 178 } |
| 179 | 179 |
| 180 DEFINE_TRACE(CSSDefaultStyleSheets) | 180 DEFINE_TRACE(CSSDefaultStyleSheets) |
| 181 { | 181 { |
| 182 visitor->trace(m_defaultStyle); | 182 visitor->trace(m_defaultStyle); |
| 183 visitor->trace(m_defaultMobileViewportStyle); | 183 visitor->trace(m_defaultMobileViewportStyle); |
| 184 visitor->trace(m_defaultQuirksStyle); | 184 visitor->trace(m_defaultQuirksStyle); |
| 185 visitor->trace(m_defaultPrintStyle); | 185 visitor->trace(m_defaultPrintStyle); |
| 186 visitor->trace(m_defaultViewSourceStyle); | 186 visitor->trace(m_defaultViewSourceStyle); |
| 187 visitor->trace(m_defaultXHTMLMobileProfileStyle); | 187 visitor->trace(m_defaultXHTMLMobileProfileStyle); |
| 188 visitor->trace(m_defaultStyleSheet); | 188 visitor->trace(m_defaultStyleSheet); |
| 189 visitor->trace(m_mobileViewportStyleSheet); | 189 visitor->trace(m_mobileViewportStyleSheet); |
| 190 visitor->trace(m_quirksStyleSheet); | 190 visitor->trace(m_quirksStyleSheet); |
| 191 visitor->trace(m_svgStyleSheet); | 191 visitor->trace(m_svgStyleSheet); |
| 192 visitor->trace(m_mathmlStyleSheet); | 192 visitor->trace(m_mathmlStyleSheet); |
| 193 visitor->trace(m_mediaControlsStyleSheet); | 193 visitor->trace(m_mediaControlsStyleSheet); |
| 194 visitor->trace(m_fullscreenStyleSheet); | 194 visitor->trace(m_fullscreenStyleSheet); |
| 195 } | 195 } |
| 196 | 196 |
| 197 } // namespace blink | 197 } // namespace blink |
| OLD | NEW |