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. | 3 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. |
4 * All rights reserved. | 4 * All rights reserved. |
5 * Copyright (C) 2012 Google Inc. All rights reserved. | 5 * Copyright (C) 2012 Google Inc. All rights reserved. |
6 * | 6 * |
7 * Redistribution and use in source and binary forms, with or without | 7 * Redistribution and use in source and binary forms, with or without |
8 * modification, are permitted provided that the following conditions | 8 * modification, are permitted provided that the following conditions |
9 * are met: | 9 * are met: |
10 * 1. Redistributions of source code must retain the above copyright | 10 * 1. Redistributions of source code must retain the above copyright |
(...skipping 20 matching lines...) Expand all Loading... |
31 #include "core/HTMLNames.h" | 31 #include "core/HTMLNames.h" |
32 #include "core/animation/DocumentTimeline.h" | 32 #include "core/animation/DocumentTimeline.h" |
33 #include "core/css/CSSFontSelector.h" | 33 #include "core/css/CSSFontSelector.h" |
34 #include "core/css/CSSStyleSheet.h" | 34 #include "core/css/CSSStyleSheet.h" |
35 #include "core/css/FontFace.h" | 35 #include "core/css/FontFace.h" |
36 #include "core/css/PageRuleCollector.h" | 36 #include "core/css/PageRuleCollector.h" |
37 #include "core/css/RuleFeature.h" | 37 #include "core/css/RuleFeature.h" |
38 #include "core/css/StyleRule.h" | 38 #include "core/css/StyleRule.h" |
39 #include "core/css/StyleSheetContents.h" | 39 #include "core/css/StyleSheetContents.h" |
40 #include "core/css/resolver/MatchRequest.h" | 40 #include "core/css/resolver/MatchRequest.h" |
41 #include "core/css/resolver/ViewportStyleResolver.h" | |
42 #include "core/dom/Document.h" | 41 #include "core/dom/Document.h" |
43 #include "core/dom/StyleChangeReason.h" | 42 #include "core/dom/StyleChangeReason.h" |
44 #include "core/dom/StyleEngine.h" | 43 #include "core/dom/StyleEngine.h" |
45 #include "core/dom/shadow/ElementShadow.h" | 44 #include "core/dom/shadow/ElementShadow.h" |
46 #include "core/dom/shadow/ShadowRoot.h" | 45 #include "core/dom/shadow/ShadowRoot.h" |
47 #include "core/html/HTMLStyleElement.h" | 46 #include "core/html/HTMLStyleElement.h" |
48 #include "core/svg/SVGStyleElement.h" | 47 #include "core/svg/SVGStyleElement.h" |
49 | 48 |
50 namespace blink { | 49 namespace blink { |
51 | 50 |
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
253 } | 252 } |
254 | 253 |
255 void ScopedStyleResolver::matchPageRules(PageRuleCollector& collector) { | 254 void ScopedStyleResolver::matchPageRules(PageRuleCollector& collector) { |
256 // Only consider the global author RuleSet for @page rules, as per the HTML5 | 255 // Only consider the global author RuleSet for @page rules, as per the HTML5 |
257 // spec. | 256 // spec. |
258 ASSERT(m_scope->rootNode().isDocumentNode()); | 257 ASSERT(m_scope->rootNode().isDocumentNode()); |
259 for (size_t i = 0; i < m_authorStyleSheets.size(); ++i) | 258 for (size_t i = 0; i < m_authorStyleSheets.size(); ++i) |
260 collector.matchPageRules(&m_authorStyleSheets[i]->contents()->ruleSet()); | 259 collector.matchPageRules(&m_authorStyleSheets[i]->contents()->ruleSet()); |
261 } | 260 } |
262 | 261 |
263 void ScopedStyleResolver::collectViewportRulesTo( | |
264 ViewportStyleResolver* resolver) const { | |
265 if (!m_scope->rootNode().isDocumentNode()) | |
266 return; | |
267 for (size_t i = 0; i < m_authorStyleSheets.size(); ++i) | |
268 resolver->collectViewportRules( | |
269 &m_authorStyleSheets[i]->contents()->ruleSet(), | |
270 ViewportStyleResolver::AuthorOrigin); | |
271 } | |
272 | |
273 DEFINE_TRACE(ScopedStyleResolver) { | 262 DEFINE_TRACE(ScopedStyleResolver) { |
274 visitor->trace(m_scope); | 263 visitor->trace(m_scope); |
275 visitor->trace(m_authorStyleSheets); | 264 visitor->trace(m_authorStyleSheets); |
276 visitor->trace(m_keyframesRuleMap); | 265 visitor->trace(m_keyframesRuleMap); |
277 visitor->trace(m_treeBoundaryCrossingRuleSet); | 266 visitor->trace(m_treeBoundaryCrossingRuleSet); |
278 } | 267 } |
279 | 268 |
280 static void addRules(RuleSet* ruleSet, | 269 static void addRules(RuleSet* ruleSet, |
281 const HeapVector<MinimalRuleData>& rules) { | 270 const HeapVector<MinimalRuleData>& rules) { |
282 for (unsigned i = 0; i < rules.size(); ++i) { | 271 for (unsigned i = 0; i < rules.size(); ++i) { |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
315 m_treeBoundaryCrossingRuleSet->append( | 304 m_treeBoundaryCrossingRuleSet->append( |
316 RuleSubSet::create(parentStyleSheet, sheetIndex, ruleSetForScope)); | 305 RuleSubSet::create(parentStyleSheet, sheetIndex, ruleSetForScope)); |
317 } | 306 } |
318 | 307 |
319 DEFINE_TRACE(ScopedStyleResolver::RuleSubSet) { | 308 DEFINE_TRACE(ScopedStyleResolver::RuleSubSet) { |
320 visitor->trace(m_parentStyleSheet); | 309 visitor->trace(m_parentStyleSheet); |
321 visitor->trace(m_ruleSet); | 310 visitor->trace(m_ruleSet); |
322 } | 311 } |
323 | 312 |
324 } // namespace blink | 313 } // namespace blink |
OLD | NEW |