| 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 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 158 { | 158 { |
| 159 RuleData ruleData(rule, selectorIndex, m_ruleCount++, addRuleFlags); | 159 RuleData ruleData(rule, selectorIndex, m_ruleCount++, addRuleFlags); |
| 160 m_features.collectFeaturesFromRuleData(ruleData); | 160 m_features.collectFeaturesFromRuleData(ruleData); |
| 161 | 161 |
| 162 if (!findBestRuleSetAndAdd(ruleData.selector(), ruleData)) { | 162 if (!findBestRuleSetAndAdd(ruleData.selector(), ruleData)) { |
| 163 // If we didn't find a specialized map to stick it in, file under univer
sal rules. | 163 // If we didn't find a specialized map to stick it in, file under univer
sal rules. |
| 164 m_universalRules.append(ruleData); | 164 m_universalRules.append(ruleData); |
| 165 } | 165 } |
| 166 } | 166 } |
| 167 | 167 |
| 168 void RuleSet::addViewportRule(StyleRuleViewport* rule) | |
| 169 { | |
| 170 ensurePendingRules(); // So that m_viewportRules.shrinkToFit() gets called. | |
| 171 m_viewportRules.append(rule); | |
| 172 } | |
| 173 | |
| 174 void RuleSet::addFontFaceRule(StyleRuleFontFace* rule) | 168 void RuleSet::addFontFaceRule(StyleRuleFontFace* rule) |
| 175 { | 169 { |
| 176 ensurePendingRules(); // So that m_fontFaceRules.shrinkToFit() gets called. | 170 ensurePendingRules(); // So that m_fontFaceRules.shrinkToFit() gets called. |
| 177 m_fontFaceRules.append(rule); | 171 m_fontFaceRules.append(rule); |
| 178 } | 172 } |
| 179 | 173 |
| 180 void RuleSet::addKeyframesRule(StyleRuleKeyframes* rule) | 174 void RuleSet::addKeyframesRule(StyleRuleKeyframes* rule) |
| 181 { | 175 { |
| 182 ensurePendingRules(); // So that m_keyframesRules.shrinkToFit() gets called. | 176 ensurePendingRules(); // So that m_keyframesRules.shrinkToFit() gets called. |
| 183 m_keyframesRules.append(rule); | 177 m_keyframesRules.append(rule); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 195 for (size_t selectorIndex = 0; selectorIndex != kNotFound; selectorI
ndex = selectorList.indexOfNextSelectorAfter(selectorIndex)) | 189 for (size_t selectorIndex = 0; selectorIndex != kNotFound; selectorI
ndex = selectorList.indexOfNextSelectorAfter(selectorIndex)) |
| 196 addRule(styleRule, selectorIndex, addRuleFlags); | 190 addRule(styleRule, selectorIndex, addRuleFlags); |
| 197 } else if (rule->isMediaRule()) { | 191 } else if (rule->isMediaRule()) { |
| 198 StyleRuleMedia* mediaRule = toStyleRuleMedia(rule); | 192 StyleRuleMedia* mediaRule = toStyleRuleMedia(rule); |
| 199 if ((!mediaRule->mediaQueries() || medium.eval(mediaRule->mediaQueri
es(), &m_viewportDependentMediaQueryResults))) | 193 if ((!mediaRule->mediaQueries() || medium.eval(mediaRule->mediaQueri
es(), &m_viewportDependentMediaQueryResults))) |
| 200 addChildRules(mediaRule->childRules(), medium, addRuleFlags); | 194 addChildRules(mediaRule->childRules(), medium, addRuleFlags); |
| 201 } else if (rule->isFontFaceRule()) { | 195 } else if (rule->isFontFaceRule()) { |
| 202 addFontFaceRule(toStyleRuleFontFace(rule)); | 196 addFontFaceRule(toStyleRuleFontFace(rule)); |
| 203 } else if (rule->isKeyframesRule()) { | 197 } else if (rule->isKeyframesRule()) { |
| 204 addKeyframesRule(toStyleRuleKeyframes(rule)); | 198 addKeyframesRule(toStyleRuleKeyframes(rule)); |
| 205 } else if (rule->isViewportRule()) { | |
| 206 addViewportRule(toStyleRuleViewport(rule)); | |
| 207 } else if (rule->isSupportsRule() && toStyleRuleSupports(rule)->conditio
nIsSupported()) { | 199 } else if (rule->isSupportsRule() && toStyleRuleSupports(rule)->conditio
nIsSupported()) { |
| 208 addChildRules(toStyleRuleSupports(rule)->childRules(), medium, addRu
leFlags); | 200 addChildRules(toStyleRuleSupports(rule)->childRules(), medium, addRu
leFlags); |
| 209 } | 201 } |
| 210 } | 202 } |
| 211 } | 203 } |
| 212 | 204 |
| 213 void RuleSet::addRulesFromSheet(StyleSheetContents* sheet, const MediaQueryEvalu
ator& medium, AddRuleFlags addRuleFlags) | 205 void RuleSet::addRulesFromSheet(StyleSheetContents* sheet, const MediaQueryEvalu
ator& medium, AddRuleFlags addRuleFlags) |
| 214 { | 206 { |
| 215 TRACE_EVENT0("blink", "RuleSet::addRulesFromSheet"); | 207 TRACE_EVENT0("blink", "RuleSet::addRulesFromSheet"); |
| 216 ASSERT(sheet); | 208 ASSERT(sheet); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 244 | 236 |
| 245 void RuleSet::compactRules() | 237 void RuleSet::compactRules() |
| 246 { | 238 { |
| 247 ASSERT(m_pendingRules); | 239 ASSERT(m_pendingRules); |
| 248 OwnPtrWillBeRawPtr<PendingRuleMaps> pendingRules = m_pendingRules.release(); | 240 OwnPtrWillBeRawPtr<PendingRuleMaps> pendingRules = m_pendingRules.release(); |
| 249 compactPendingRules(pendingRules->idRules, m_idRules); | 241 compactPendingRules(pendingRules->idRules, m_idRules); |
| 250 compactPendingRules(pendingRules->classRules, m_classRules); | 242 compactPendingRules(pendingRules->classRules, m_classRules); |
| 251 compactPendingRules(pendingRules->tagRules, m_tagRules); | 243 compactPendingRules(pendingRules->tagRules, m_tagRules); |
| 252 compactPendingRules(pendingRules->shadowPseudoElementRules, m_shadowPseudoEl
ementRules); | 244 compactPendingRules(pendingRules->shadowPseudoElementRules, m_shadowPseudoEl
ementRules); |
| 253 m_universalRules.shrinkToFit(); | 245 m_universalRules.shrinkToFit(); |
| 254 m_viewportRules.shrinkToFit(); | |
| 255 m_fontFaceRules.shrinkToFit(); | 246 m_fontFaceRules.shrinkToFit(); |
| 256 m_keyframesRules.shrinkToFit(); | 247 m_keyframesRules.shrinkToFit(); |
| 257 } | 248 } |
| 258 | 249 |
| 259 void RuleData::trace(Visitor* visitor) | 250 void RuleData::trace(Visitor* visitor) |
| 260 { | 251 { |
| 261 visitor->trace(m_rule); | 252 visitor->trace(m_rule); |
| 262 } | 253 } |
| 263 | 254 |
| 264 void RuleSet::PendingRuleMaps::trace(Visitor* visitor) | 255 void RuleSet::PendingRuleMaps::trace(Visitor* visitor) |
| 265 { | 256 { |
| 266 #if ENABLE(OILPAN) | 257 #if ENABLE(OILPAN) |
| 267 visitor->trace(idRules); | 258 visitor->trace(idRules); |
| 268 visitor->trace(classRules); | 259 visitor->trace(classRules); |
| 269 visitor->trace(tagRules); | 260 visitor->trace(tagRules); |
| 270 visitor->trace(shadowPseudoElementRules); | 261 visitor->trace(shadowPseudoElementRules); |
| 271 #endif | 262 #endif |
| 272 } | 263 } |
| 273 | 264 |
| 274 void RuleSet::trace(Visitor* visitor) | 265 void RuleSet::trace(Visitor* visitor) |
| 275 { | 266 { |
| 276 #if ENABLE(OILPAN) | 267 #if ENABLE(OILPAN) |
| 277 visitor->trace(m_idRules); | 268 visitor->trace(m_idRules); |
| 278 visitor->trace(m_classRules); | 269 visitor->trace(m_classRules); |
| 279 visitor->trace(m_tagRules); | 270 visitor->trace(m_tagRules); |
| 280 visitor->trace(m_shadowPseudoElementRules); | 271 visitor->trace(m_shadowPseudoElementRules); |
| 281 visitor->trace(m_universalRules); | 272 visitor->trace(m_universalRules); |
| 282 visitor->trace(m_features); | 273 visitor->trace(m_features); |
| 283 visitor->trace(m_viewportRules); | |
| 284 visitor->trace(m_fontFaceRules); | 274 visitor->trace(m_fontFaceRules); |
| 285 visitor->trace(m_keyframesRules); | 275 visitor->trace(m_keyframesRules); |
| 286 visitor->trace(m_viewportDependentMediaQueryResults); | 276 visitor->trace(m_viewportDependentMediaQueryResults); |
| 287 visitor->trace(m_pendingRules); | 277 visitor->trace(m_pendingRules); |
| 288 #ifndef NDEBUG | 278 #ifndef NDEBUG |
| 289 visitor->trace(m_allRules); | 279 visitor->trace(m_allRules); |
| 290 #endif | 280 #endif |
| 291 #endif | 281 #endif |
| 292 } | 282 } |
| 293 | 283 |
| 294 #ifndef NDEBUG | 284 #ifndef NDEBUG |
| 295 void RuleSet::show() | 285 void RuleSet::show() |
| 296 { | 286 { |
| 297 for (WillBeHeapVector<RuleData>::const_iterator it = m_allRules.begin(); it
!= m_allRules.end(); ++it) | 287 for (WillBeHeapVector<RuleData>::const_iterator it = m_allRules.begin(); it
!= m_allRules.end(); ++it) |
| 298 it->selector().show(); | 288 it->selector().show(); |
| 299 } | 289 } |
| 300 #endif | 290 #endif |
| 301 | 291 |
| 302 } // namespace blink | 292 } // namespace blink |
| OLD | NEW |