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 | 5 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All |
6 * rights reserved. | 6 * rights reserved. |
7 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> | 7 * Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> |
8 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org> | 8 * Copyright (C) 2007, 2008 Eric Seidel <eric@webkit.org> |
9 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. | 9 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. |
10 * (http://www.torchmobile.com/) | 10 * (http://www.torchmobile.com/) |
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
293 m_slottedPseudoElementRules.append( | 293 m_slottedPseudoElementRules.append( |
294 MinimalRuleData(styleRule, selectorIndex, addRuleFlags)); | 294 MinimalRuleData(styleRule, selectorIndex, addRuleFlags)); |
295 } else { | 295 } else { |
296 addRule(styleRule, selectorIndex, addRuleFlags); | 296 addRule(styleRule, selectorIndex, addRuleFlags); |
297 } | 297 } |
298 } | 298 } |
299 } else if (rule->isPageRule()) { | 299 } else if (rule->isPageRule()) { |
300 addPageRule(toStyleRulePage(rule)); | 300 addPageRule(toStyleRulePage(rule)); |
301 } else if (rule->isMediaRule()) { | 301 } else if (rule->isMediaRule()) { |
302 StyleRuleMedia* mediaRule = toStyleRuleMedia(rule); | 302 StyleRuleMedia* mediaRule = toStyleRuleMedia(rule); |
303 if ((!mediaRule->mediaQueries() || | 303 if (!mediaRule->mediaQueries() || |
304 medium.eval(mediaRule->mediaQueries(), | 304 medium.eval(mediaRule->mediaQueries(), |
305 &m_viewportDependentMediaQueryResults, | 305 &m_features.viewportDependentMediaQueryResults(), |
306 &m_deviceDependentMediaQueryResults))) | 306 &m_features.deviceDependentMediaQueryResults())) |
307 addChildRules(mediaRule->childRules(), medium, addRuleFlags); | 307 addChildRules(mediaRule->childRules(), medium, addRuleFlags); |
308 } else if (rule->isFontFaceRule()) { | 308 } else if (rule->isFontFaceRule()) { |
309 addFontFaceRule(toStyleRuleFontFace(rule)); | 309 addFontFaceRule(toStyleRuleFontFace(rule)); |
310 } else if (rule->isKeyframesRule()) { | 310 } else if (rule->isKeyframesRule()) { |
311 addKeyframesRule(toStyleRuleKeyframes(rule)); | 311 addKeyframesRule(toStyleRuleKeyframes(rule)); |
312 } else if (rule->isSupportsRule() && | 312 } else if (rule->isSupportsRule() && |
313 toStyleRuleSupports(rule)->conditionIsSupported()) { | 313 toStyleRuleSupports(rule)->conditionIsSupported()) { |
314 addChildRules(toStyleRuleSupports(rule)->childRules(), medium, | 314 addChildRules(toStyleRuleSupports(rule)->childRules(), medium, |
315 addRuleFlags); | 315 addRuleFlags); |
316 } | 316 } |
317 } | 317 } |
318 } | 318 } |
319 | 319 |
320 void RuleSet::addRulesFromSheet(StyleSheetContents* sheet, | 320 void RuleSet::addRulesFromSheet(StyleSheetContents* sheet, |
321 const MediaQueryEvaluator& medium, | 321 const MediaQueryEvaluator& medium, |
322 AddRuleFlags addRuleFlags) { | 322 AddRuleFlags addRuleFlags) { |
323 TRACE_EVENT0("blink", "RuleSet::addRulesFromSheet"); | 323 TRACE_EVENT0("blink", "RuleSet::addRulesFromSheet"); |
324 | 324 |
325 ASSERT(sheet); | 325 ASSERT(sheet); |
326 | 326 |
327 const HeapVector<Member<StyleRuleImport>>& importRules = sheet->importRules(); | 327 const HeapVector<Member<StyleRuleImport>>& importRules = sheet->importRules(); |
328 for (unsigned i = 0; i < importRules.size(); ++i) { | 328 for (unsigned i = 0; i < importRules.size(); ++i) { |
329 StyleRuleImport* importRule = importRules[i].get(); | 329 StyleRuleImport* importRule = importRules[i].get(); |
330 if (importRule->styleSheet() && | 330 if (importRule->styleSheet() && |
331 (!importRule->mediaQueries() || | 331 (!importRule->mediaQueries() || |
332 medium.eval(importRule->mediaQueries(), | 332 medium.eval(importRule->mediaQueries(), |
333 &m_viewportDependentMediaQueryResults, | 333 &m_features.viewportDependentMediaQueryResults(), |
334 &m_deviceDependentMediaQueryResults))) | 334 &m_features.deviceDependentMediaQueryResults()))) |
335 addRulesFromSheet(importRule->styleSheet(), medium, addRuleFlags); | 335 addRulesFromSheet(importRule->styleSheet(), medium, addRuleFlags); |
336 } | 336 } |
337 | 337 |
338 addChildRules(sheet->childRules(), medium, addRuleFlags); | 338 addChildRules(sheet->childRules(), medium, addRuleFlags); |
339 } | 339 } |
340 | 340 |
341 void RuleSet::addStyleRule(StyleRule* rule, AddRuleFlags addRuleFlags) { | 341 void RuleSet::addStyleRule(StyleRule* rule, AddRuleFlags addRuleFlags) { |
342 for (size_t selectorIndex = 0; selectorIndex != kNotFound; | 342 for (size_t selectorIndex = 0; selectorIndex != kNotFound; |
343 selectorIndex = | 343 selectorIndex = |
344 rule->selectorList().indexOfNextSelectorAfter(selectorIndex)) | 344 rule->selectorList().indexOfNextSelectorAfter(selectorIndex)) |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
411 visitor->trace(m_placeholderPseudoRules); | 411 visitor->trace(m_placeholderPseudoRules); |
412 visitor->trace(m_universalRules); | 412 visitor->trace(m_universalRules); |
413 visitor->trace(m_shadowHostRules); | 413 visitor->trace(m_shadowHostRules); |
414 visitor->trace(m_features); | 414 visitor->trace(m_features); |
415 visitor->trace(m_pageRules); | 415 visitor->trace(m_pageRules); |
416 visitor->trace(m_fontFaceRules); | 416 visitor->trace(m_fontFaceRules); |
417 visitor->trace(m_keyframesRules); | 417 visitor->trace(m_keyframesRules); |
418 visitor->trace(m_deepCombinatorOrShadowPseudoRules); | 418 visitor->trace(m_deepCombinatorOrShadowPseudoRules); |
419 visitor->trace(m_contentPseudoElementRules); | 419 visitor->trace(m_contentPseudoElementRules); |
420 visitor->trace(m_slottedPseudoElementRules); | 420 visitor->trace(m_slottedPseudoElementRules); |
421 visitor->trace(m_viewportDependentMediaQueryResults); | |
422 visitor->trace(m_deviceDependentMediaQueryResults); | |
423 visitor->trace(m_pendingRules); | 421 visitor->trace(m_pendingRules); |
424 #ifndef NDEBUG | 422 #ifndef NDEBUG |
425 visitor->trace(m_allRules); | 423 visitor->trace(m_allRules); |
426 #endif | 424 #endif |
427 } | 425 } |
428 | 426 |
429 #ifndef NDEBUG | 427 #ifndef NDEBUG |
430 void RuleSet::show() const { | 428 void RuleSet::show() const { |
431 for (const auto& rule : m_allRules) | 429 for (const auto& rule : m_allRules) |
432 rule.selector().show(); | 430 rule.selector().show(); |
433 } | 431 } |
434 #endif | 432 #endif |
435 | 433 |
436 } // namespace blink | 434 } // namespace blink |
OLD | NEW |