| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2008, 2012 Apple Inc. All rights reserved. | 2 * Copyright (C) 2008, 2012 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2009 Google Inc. All rights reserved. | 3 * Copyright (C) 2009 Google Inc. All rights reserved. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
| 7 * are met: | 7 * are met: |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 146 return true; | 146 return true; |
| 147 } | 147 } |
| 148 | 148 |
| 149 return false; | 149 return false; |
| 150 } | 150 } |
| 151 | 151 |
| 152 class SelectorNeedsNamespaceResolutionFunctor { | 152 class SelectorNeedsNamespaceResolutionFunctor { |
| 153 public: | 153 public: |
| 154 bool operator()(const CSSSelector& selector) | 154 bool operator()(const CSSSelector& selector) |
| 155 { | 155 { |
| 156 if (selector.match() == CSSSelector::Tag && selector.tagQName().prefix()
!= nullAtom && selector.tagQName().prefix() != starAtom) | 156 if (selector.match() != CSSSelector::Tag && !selector.isAttributeSelecto
r()) |
| 157 return true; | 157 return false; |
| 158 if (selector.isAttributeSelector() && selector.attribute().prefix() != n
ullAtom && selector.attribute().prefix() != starAtom) | 158 const AtomicString& prefix = selector.isAttributeSelector() ? selector.a
ttribute().prefix() : selector.tagQName().prefix(); |
| 159 return true; | 159 return prefix != nullAtom && prefix != emptyAtom && prefix != starAtom; |
| 160 return false; | |
| 161 } | 160 } |
| 162 }; | 161 }; |
| 163 | 162 |
| 164 bool CSSSelectorList::selectorsNeedNamespaceResolution() | 163 bool CSSSelectorList::selectorsNeedNamespaceResolution() |
| 165 { | 164 { |
| 166 SelectorNeedsNamespaceResolutionFunctor functor; | 165 SelectorNeedsNamespaceResolutionFunctor functor; |
| 167 return forEachSelector(functor, this); | 166 return forEachSelector(functor, this); |
| 168 } | 167 } |
| 169 | 168 |
| 170 class SelectorHasShadowDistributed { | 169 class SelectorHasShadowDistributed { |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 203 } | 202 } |
| 204 }; | 203 }; |
| 205 | 204 |
| 206 bool CSSSelectorList::selectorNeedsUpdatedDistribution(size_t index) const | 205 bool CSSSelectorList::selectorNeedsUpdatedDistribution(size_t index) const |
| 207 { | 206 { |
| 208 SelectorNeedsUpdatedDistribution functor; | 207 SelectorNeedsUpdatedDistribution functor; |
| 209 return forEachTagSelector(functor, selectorAt(index)); | 208 return forEachTagSelector(functor, selectorAt(index)); |
| 210 } | 209 } |
| 211 | 210 |
| 212 } // namespace blink | 211 } // namespace blink |
| OLD | NEW |