OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.
All rights reserved. | 3 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. |
| 4 * All rights reserved. |
4 * Copyright (C) 2012 Google Inc. All rights reserved. | 5 * Copyright (C) 2012 Google Inc. All rights reserved. |
5 * | 6 * |
6 * Redistribution and use in source and binary forms, with or without | 7 * Redistribution and use in source and binary forms, with or without |
7 * modification, are permitted provided that the following conditions | 8 * modification, are permitted provided that the following conditions |
8 * are met: | 9 * are met: |
9 * 1. Redistributions of source code must retain the above copyright | 10 * 1. Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 11 * notice, this list of conditions and the following disclaimer. |
11 * 2. Redistributions in binary form must reproduce the above copyright | 12 * 2. Redistributions in binary form must reproduce the above copyright |
12 * notice, this list of conditions and the following disclaimer in the | 13 * notice, this list of conditions and the following disclaimer in the |
13 * documentation and/or other materials provided with the distribution. | 14 * documentation and/or other materials provided with the distribution. |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 } | 59 } |
59 | 60 |
60 void ScopedStyleResolver::addKeyframeRules(const RuleSet& ruleSet) { | 61 void ScopedStyleResolver::addKeyframeRules(const RuleSet& ruleSet) { |
61 const HeapVector<Member<StyleRuleKeyframes>> keyframesRules = | 62 const HeapVector<Member<StyleRuleKeyframes>> keyframesRules = |
62 ruleSet.keyframesRules(); | 63 ruleSet.keyframesRules(); |
63 for (unsigned i = 0; i < keyframesRules.size(); ++i) | 64 for (unsigned i = 0; i < keyframesRules.size(); ++i) |
64 addKeyframeStyle(keyframesRules[i]); | 65 addKeyframeStyle(keyframesRules[i]); |
65 } | 66 } |
66 | 67 |
67 void ScopedStyleResolver::addFontFaceRules(const RuleSet& ruleSet) { | 68 void ScopedStyleResolver::addFontFaceRules(const RuleSet& ruleSet) { |
68 // FIXME(BUG 72461): We don't add @font-face rules of scoped style sheets for
the moment. | 69 // FIXME(BUG 72461): We don't add @font-face rules of scoped style sheets for |
| 70 // the moment. |
69 if (!treeScope().rootNode().isDocumentNode()) | 71 if (!treeScope().rootNode().isDocumentNode()) |
70 return; | 72 return; |
71 | 73 |
72 Document& document = treeScope().document(); | 74 Document& document = treeScope().document(); |
73 CSSFontSelector* cssFontSelector = document.styleEngine().fontSelector(); | 75 CSSFontSelector* cssFontSelector = document.styleEngine().fontSelector(); |
74 const HeapVector<Member<StyleRuleFontFace>> fontFaceRules = | 76 const HeapVector<Member<StyleRuleFontFace>> fontFaceRules = |
75 ruleSet.fontFaceRules(); | 77 ruleSet.fontFaceRules(); |
76 for (auto& fontFaceRule : fontFaceRules) { | 78 for (auto& fontFaceRule : fontFaceRules) { |
77 if (FontFace* fontFace = FontFace::create(&document, fontFaceRule)) | 79 if (FontFace* fontFace = FontFace::create(&document, fontFaceRule)) |
78 cssFontSelector->fontFaceCache()->add(cssFontSelector, fontFaceRule, | 80 cssFontSelector->fontFaceCache()->add(cssFontSelector, fontFaceRule, |
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
227 return; | 229 return; |
228 | 230 |
229 for (const auto& rules : *m_treeBoundaryCrossingRuleSet) { | 231 for (const auto& rules : *m_treeBoundaryCrossingRuleSet) { |
230 MatchRequest request(rules->m_ruleSet.get(), &treeScope().rootNode(), | 232 MatchRequest request(rules->m_ruleSet.get(), &treeScope().rootNode(), |
231 rules->m_parentStyleSheet, rules->m_parentIndex); | 233 rules->m_parentStyleSheet, rules->m_parentIndex); |
232 collector.collectMatchingRules(request, cascadeOrder, true); | 234 collector.collectMatchingRules(request, cascadeOrder, true); |
233 } | 235 } |
234 } | 236 } |
235 | 237 |
236 void ScopedStyleResolver::matchPageRules(PageRuleCollector& collector) { | 238 void ScopedStyleResolver::matchPageRules(PageRuleCollector& collector) { |
237 // Only consider the global author RuleSet for @page rules, as per the HTML5 s
pec. | 239 // Only consider the global author RuleSet for @page rules, as per the HTML5 |
| 240 // spec. |
238 ASSERT(m_scope->rootNode().isDocumentNode()); | 241 ASSERT(m_scope->rootNode().isDocumentNode()); |
239 for (size_t i = 0; i < m_authorStyleSheets.size(); ++i) | 242 for (size_t i = 0; i < m_authorStyleSheets.size(); ++i) |
240 collector.matchPageRules(&m_authorStyleSheets[i]->contents()->ruleSet()); | 243 collector.matchPageRules(&m_authorStyleSheets[i]->contents()->ruleSet()); |
241 } | 244 } |
242 | 245 |
243 void ScopedStyleResolver::collectViewportRulesTo( | 246 void ScopedStyleResolver::collectViewportRulesTo( |
244 ViewportStyleResolver* resolver) const { | 247 ViewportStyleResolver* resolver) const { |
245 if (!m_scope->rootNode().isDocumentNode()) | 248 if (!m_scope->rootNode().isDocumentNode()) |
246 return; | 249 return; |
247 for (size_t i = 0; i < m_authorStyleSheets.size(); ++i) | 250 for (size_t i = 0; i < m_authorStyleSheets.size(); ++i) |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
295 m_treeBoundaryCrossingRuleSet->append( | 298 m_treeBoundaryCrossingRuleSet->append( |
296 RuleSubSet::create(parentStyleSheet, sheetIndex, ruleSetForScope)); | 299 RuleSubSet::create(parentStyleSheet, sheetIndex, ruleSetForScope)); |
297 } | 300 } |
298 | 301 |
299 DEFINE_TRACE(ScopedStyleResolver::RuleSubSet) { | 302 DEFINE_TRACE(ScopedStyleResolver::RuleSubSet) { |
300 visitor->trace(m_parentStyleSheet); | 303 visitor->trace(m_parentStyleSheet); |
301 visitor->trace(m_ruleSet); | 304 visitor->trace(m_ruleSet); |
302 } | 305 } |
303 | 306 |
304 } // namespace blink | 307 } // namespace blink |
OLD | NEW |