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 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
80 case CSSSelector::PseudoOnlyChild: | 80 case CSSSelector::PseudoOnlyChild: |
81 case CSSSelector::PseudoOnlyOfType: | 81 case CSSSelector::PseudoOnlyOfType: |
82 case CSSSelector::PseudoNthChild: | 82 case CSSSelector::PseudoNthChild: |
83 case CSSSelector::PseudoNthOfType: | 83 case CSSSelector::PseudoNthOfType: |
84 case CSSSelector::PseudoNthLastChild: | 84 case CSSSelector::PseudoNthLastChild: |
85 case CSSSelector::PseudoNthLastOfType: | 85 case CSSSelector::PseudoNthLastOfType: |
86 case CSSSelector::PseudoLink: | 86 case CSSSelector::PseudoLink: |
87 case CSSSelector::PseudoVisited: | 87 case CSSSelector::PseudoVisited: |
88 case CSSSelector::PseudoAny: | 88 case CSSSelector::PseudoAny: |
89 case CSSSelector::PseudoAnyLink: | 89 case CSSSelector::PseudoAnyLink: |
90 case CSSSelector::PseudoAutofill: | |
90 case CSSSelector::PseudoHover: | 91 case CSSSelector::PseudoHover: |
91 case CSSSelector::PseudoDrag: | 92 case CSSSelector::PseudoDrag: |
92 case CSSSelector::PseudoFocus: | 93 case CSSSelector::PseudoFocus: |
93 case CSSSelector::PseudoActive: | 94 case CSSSelector::PseudoActive: |
94 case CSSSelector::PseudoChecked: | 95 case CSSSelector::PseudoChecked: |
95 case CSSSelector::PseudoEnabled: | 96 case CSSSelector::PseudoEnabled: |
96 case CSSSelector::PseudoDefault: | 97 case CSSSelector::PseudoDefault: |
97 case CSSSelector::PseudoDisabled: | 98 case CSSSelector::PseudoDisabled: |
98 case CSSSelector::PseudoOptional: | 99 case CSSSelector::PseudoOptional: |
99 case CSSSelector::PseudoRequired: | 100 case CSSSelector::PseudoRequired: |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
138 static bool requiresSubtreeInvalidation(const CSSSelector& selector) | 139 static bool requiresSubtreeInvalidation(const CSSSelector& selector) |
139 { | 140 { |
140 if (!selector.matchesPseudoElement() && selector.match() != CSSSelector::Pse udoClass) { | 141 if (!selector.matchesPseudoElement() && selector.match() != CSSSelector::Pse udoClass) { |
141 ASSERT(supportsInvalidation(selector.match())); | 142 ASSERT(supportsInvalidation(selector.match())); |
142 return false; | 143 return false; |
143 } | 144 } |
144 | 145 |
145 switch (selector.pseudoType()) { | 146 switch (selector.pseudoType()) { |
146 case CSSSelector::PseudoFirstLine: | 147 case CSSSelector::PseudoFirstLine: |
147 case CSSSelector::PseudoFirstLetter: | 148 case CSSSelector::PseudoFirstLetter: |
148 case CSSSelector::PseudoAutofill: | |
149 case CSSSelector::PseudoFullPageMedia: | 149 case CSSSelector::PseudoFullPageMedia: |
150 case CSSSelector::PseudoResizer: | 150 case CSSSelector::PseudoResizer: |
151 case CSSSelector::PseudoScrollbar: | 151 case CSSSelector::PseudoScrollbar: |
152 case CSSSelector::PseudoScrollbarButton: | 152 case CSSSelector::PseudoScrollbarButton: |
153 case CSSSelector::PseudoScrollbarCorner: | 153 case CSSSelector::PseudoScrollbarCorner: |
154 case CSSSelector::PseudoScrollbarThumb: | 154 case CSSSelector::PseudoScrollbarThumb: |
155 case CSSSelector::PseudoScrollbarTrack: | 155 case CSSSelector::PseudoScrollbarTrack: |
156 case CSSSelector::PseudoScrollbarTrackPiece: | 156 case CSSSelector::PseudoScrollbarTrackPiece: |
157 case CSSSelector::PseudoWindowInactive: | 157 case CSSSelector::PseudoWindowInactive: |
158 case CSSSelector::PseudoCornerPresent: | 158 case CSSSelector::PseudoCornerPresent: |
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
288 { | 288 { |
289 if (selector.match() == CSSSelector::Class) | 289 if (selector.match() == CSSSelector::Class) |
290 return &ensureClassInvalidationSet(selector.value()); | 290 return &ensureClassInvalidationSet(selector.value()); |
291 if (selector.isAttributeSelector()) | 291 if (selector.isAttributeSelector()) |
292 return &ensureAttributeInvalidationSet(selector.attribute().localName()) ; | 292 return &ensureAttributeInvalidationSet(selector.attribute().localName()) ; |
293 if (selector.match() == CSSSelector::Id) | 293 if (selector.match() == CSSSelector::Id) |
294 return &ensureIdInvalidationSet(selector.value()); | 294 return &ensureIdInvalidationSet(selector.value()); |
295 if (selector.match() == CSSSelector::PseudoClass) { | 295 if (selector.match() == CSSSelector::PseudoClass) { |
296 switch (selector.pseudoType()) { | 296 switch (selector.pseudoType()) { |
297 case CSSSelector::PseudoEmpty: | 297 case CSSSelector::PseudoEmpty: |
298 case CSSSelector::PseudoLink: | |
299 case CSSSelector::PseudoVisited: | |
300 case CSSSelector::PseudoAutofill: | |
298 case CSSSelector::PseudoHover: | 301 case CSSSelector::PseudoHover: |
302 case CSSSelector::PseudoFocus: | |
299 case CSSSelector::PseudoActive: | 303 case CSSSelector::PseudoActive: |
chrishtr
2014/10/17 18:47:28
Why did you make these not alphabetical?
rune
2014/10/19 20:11:02
Because I didn't know/think that was the style. I
chrishtr
2014/10/19 22:55:55
Ok.
| |
300 case CSSSelector::PseudoFocus: | |
301 case CSSSelector::PseudoChecked: | 304 case CSSSelector::PseudoChecked: |
302 case CSSSelector::PseudoEnabled: | 305 case CSSSelector::PseudoEnabled: |
303 case CSSSelector::PseudoDisabled: | 306 case CSSSelector::PseudoDisabled: |
304 case CSSSelector::PseudoIndeterminate: | 307 case CSSSelector::PseudoIndeterminate: |
305 case CSSSelector::PseudoLink: | |
306 case CSSSelector::PseudoTarget: | 308 case CSSSelector::PseudoTarget: |
307 case CSSSelector::PseudoVisited: | |
308 return &ensurePseudoInvalidationSet(selector.pseudoType()); | 309 return &ensurePseudoInvalidationSet(selector.pseudoType()); |
309 default: | 310 default: |
310 break; | 311 break; |
311 } | 312 } |
312 } | 313 } |
313 return 0; | 314 return 0; |
314 } | 315 } |
315 | 316 |
316 // Given a selector, update the descendant invalidation sets for the features fo und | 317 // Given a selector, update the descendant invalidation sets for the features fo und |
317 // in the selector. The first step is to extract the features from the rightmost | 318 // in the selector. The first step is to extract the features from the rightmost |
(...skipping 320 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
638 visitor->trace(uncommonAttributeRules); | 639 visitor->trace(uncommonAttributeRules); |
639 visitor->trace(m_classInvalidationSets); | 640 visitor->trace(m_classInvalidationSets); |
640 visitor->trace(m_attributeInvalidationSets); | 641 visitor->trace(m_attributeInvalidationSets); |
641 visitor->trace(m_idInvalidationSets); | 642 visitor->trace(m_idInvalidationSets); |
642 visitor->trace(m_pseudoInvalidationSets); | 643 visitor->trace(m_pseudoInvalidationSets); |
643 visitor->trace(m_styleInvalidator); | 644 visitor->trace(m_styleInvalidator); |
644 #endif | 645 #endif |
645 } | 646 } |
646 | 647 |
647 } // namespace blink | 648 } // namespace blink |
OLD | NEW |