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 * Copyright (C) 2004, 2006, 2007, 2008, 2009, 2010, 2013 Apple Inc. All rights
reserved. | 4 * Copyright (C) 2004, 2006, 2007, 2008, 2009, 2010, 2013 Apple Inc. All rights
reserved. |
5 * | 5 * |
6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
10 * | 10 * |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
43 // the one in tagHistory(). For example, the CSS selector .a.b #c is represe
nted as: | 43 // the one in tagHistory(). For example, the CSS selector .a.b #c is represe
nted as: |
44 // | 44 // |
45 // selectorText(): .a.b #c | 45 // selectorText(): .a.b #c |
46 // --> (relation == Descendant) | 46 // --> (relation == Descendant) |
47 // selectorText(): .a.b | 47 // selectorText(): .a.b |
48 // --> (relation == SubSelector) | 48 // --> (relation == SubSelector) |
49 // selectorText(): .b | 49 // selectorText(): .b |
50 // | 50 // |
51 // The order of tagHistory() varies depending on the situation. | 51 // The order of tagHistory() varies depending on the situation. |
52 // * Relations using combinators (http://www.w3.org/TR/css3-selectors/#combi
nators), such as descendant, sibling, etc., are parsed | 52 // * Relations using combinators (http://www.w3.org/TR/css3-selectors/#combi
nators), such as descendant, sibling, etc., are parsed |
53 // right-to-left (in the example above, this is why .c is earlier in the t
agHistory() chain than .a.b). | 53 // right-to-left (in the example above, this is why #c is earlier in the t
agHistory() chain than .a.b). |
54 // * SubSelector relations are parsed left-to-right in most cases (such as t
he .a.b example above); a counter-example is the | 54 // * SubSelector relations are parsed left-to-right in most cases (such as t
he .a.b example above); a counter-example is the |
55 // ::content pseudo-element. Most (all?) other pseudo elements and pseudo
classes are parsed left-to-right. | 55 // ::content pseudo-element. Most (all?) other pseudo elements and pseudo
classes are parsed left-to-right. |
56 // * ShadowPseudo relations are parsed right-to-left. Example: summary::-web
kit-details-marker is parsed as: | 56 // * ShadowPseudo relations are parsed right-to-left. Example: summary::-web
kit-details-marker is parsed as: |
57 // selectorText(): summary::-webkit-details-marker | 57 // selectorText(): summary::-webkit-details-marker |
58 // --> (relation == ShadowPseudo) | 58 // --> (relation == ShadowPseudo) |
59 // selectorText(): summary | 59 // selectorText(): summary |
60 // | 60 // |
61 // ** match(): | 61 // ** match(): |
62 // | 62 // |
63 // The match of the current simple selector tells us the type of selector, s
uch as class, id, tagname, or pseudo-class. | 63 // The match of the current simple selector tells us the type of selector, s
uch as class, id, tagname, or pseudo-class. |
(...skipping 477 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
541 if (m_hasRareData) | 541 if (m_hasRareData) |
542 return m_data.m_rareData->m_value; | 542 return m_data.m_rareData->m_value; |
543 // AtomicString is really just a StringImpl* so the cast below is safe. | 543 // AtomicString is really just a StringImpl* so the cast below is safe. |
544 // FIXME: Perhaps call sites could be changed to accept StringImpl? | 544 // FIXME: Perhaps call sites could be changed to accept StringImpl? |
545 return *reinterpret_cast<const AtomicString*>(&m_data.m_value); | 545 return *reinterpret_cast<const AtomicString*>(&m_data.m_value); |
546 } | 546 } |
547 | 547 |
548 } // namespace blink | 548 } // namespace blink |
549 | 549 |
550 #endif // CSSSelector_h | 550 #endif // CSSSelector_h |
OLD | NEW |