| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999-2003 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999-2003 Lars Knoll (knoll@kde.org) |
| 3 * 1999 Waldo Bastian (bastian@kde.org) | 3 * 1999 Waldo Bastian (bastian@kde.org) |
| 4 * 2001 Andreas Schlapbach (schlpbch@iam.unibe.ch) | 4 * 2001 Andreas Schlapbach (schlpbch@iam.unibe.ch) |
| 5 * 2001-2003 Dirk Mueller (mueller@kde.org) | 5 * 2001-2003 Dirk Mueller (mueller@kde.org) |
| 6 * Copyright (C) 2002, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv
ed. | 6 * Copyright (C) 2002, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv
ed. |
| 7 * Copyright (C) 2008 David Smith (catfish.man@gmail.com) | 7 * Copyright (C) 2008 David Smith (catfish.man@gmail.com) |
| 8 * Copyright (C) 2010 Google Inc. All rights reserved. | 8 * Copyright (C) 2010 Google Inc. All rights reserved. |
| 9 * | 9 * |
| 10 * This library is free software; you can redistribute it and/or | 10 * This library is free software; you can redistribute it and/or |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 96 case Exact: | 96 case Exact: |
| 97 case Class: | 97 case Class: |
| 98 case Set: | 98 case Set: |
| 99 case List: | 99 case List: |
| 100 case Hyphen: | 100 case Hyphen: |
| 101 case PseudoClass: | 101 case PseudoClass: |
| 102 case PseudoElement: | 102 case PseudoElement: |
| 103 case Contain: | 103 case Contain: |
| 104 case Begin: | 104 case Begin: |
| 105 case End: | 105 case End: |
| 106 // FIXME: PsuedoAny should base the specificity on the sub-selectors. | 106 // FIXME: PseudoAny should base the specificity on the sub-selectors. |
| 107 // See http://lists.w3.org/Archives/Public/www-style/2010Sep/0530.html | 107 // See http://lists.w3.org/Archives/Public/www-style/2010Sep/0530.html |
| 108 if (pseudoType() == PseudoNot && selectorList()) | 108 if (pseudoType() == PseudoNot) { |
| 109 ASSERT(selectorList()); |
| 109 return selectorList()->first()->specificityForOneSelector(); | 110 return selectorList()->first()->specificityForOneSelector(); |
| 111 } |
| 110 return 0x100; | 112 return 0x100; |
| 111 case Tag: | 113 case Tag: |
| 112 return (tagQName().localName() != starAtom) ? 1 : 0; | 114 return (tagQName().localName() != starAtom) ? 1 : 0; |
| 113 case Unknown: | 115 case Unknown: |
| 114 return 0; | 116 return 0; |
| 115 } | 117 } |
| 116 ASSERT_NOT_REACHED(); | 118 ASSERT_NOT_REACHED(); |
| 117 return 0; | 119 return 0; |
| 118 } | 120 } |
| 119 | 121 |
| (...skipping 500 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 620 serializeIdentifier(cs->value(), str); | 622 serializeIdentifier(cs->value(), str); |
| 621 } else if (cs->m_match == CSSSelector::Class) { | 623 } else if (cs->m_match == CSSSelector::Class) { |
| 622 str.append('.'); | 624 str.append('.'); |
| 623 serializeIdentifier(cs->value(), str); | 625 serializeIdentifier(cs->value(), str); |
| 624 } else if (cs->m_match == CSSSelector::PseudoClass || cs->m_match == CSS
Selector::PagePseudoClass) { | 626 } else if (cs->m_match == CSSSelector::PseudoClass || cs->m_match == CSS
Selector::PagePseudoClass) { |
| 625 str.append(':'); | 627 str.append(':'); |
| 626 str.append(cs->value()); | 628 str.append(cs->value()); |
| 627 | 629 |
| 628 switch (cs->pseudoType()) { | 630 switch (cs->pseudoType()) { |
| 629 case PseudoNot: | 631 case PseudoNot: |
| 630 if (const CSSSelectorList* selectorList = cs->selectorList()) | 632 ASSERT(cs->selectorList()); |
| 631 str.append(selectorList->first()->selectorText()); | 633 str.append(cs->selectorList()->first()->selectorText()); |
| 632 str.append(')'); | 634 str.append(')'); |
| 633 break; | 635 break; |
| 634 case PseudoLang: | 636 case PseudoLang: |
| 635 case PseudoNthChild: | 637 case PseudoNthChild: |
| 636 case PseudoNthLastChild: | 638 case PseudoNthLastChild: |
| 637 case PseudoNthOfType: | 639 case PseudoNthOfType: |
| 638 case PseudoNthLastOfType: | 640 case PseudoNthLastOfType: |
| 639 str.append(cs->argument()); | 641 str.append(cs->argument()); |
| 640 str.append(')'); | 642 str.append(')'); |
| 641 break; | 643 break; |
| (...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 922 return false; | 924 return false; |
| 923 return (count - m_b) % m_a == 0; | 925 return (count - m_b) % m_a == 0; |
| 924 } else { | 926 } else { |
| 925 if (count > m_b) | 927 if (count > m_b) |
| 926 return false; | 928 return false; |
| 927 return (m_b - count) % (-m_a) == 0; | 929 return (m_b - count) % (-m_a) == 0; |
| 928 } | 930 } |
| 929 } | 931 } |
| 930 | 932 |
| 931 } // namespace WebCore | 933 } // namespace WebCore |
| OLD | NEW |