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 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
258 case PseudoPastCue: | 258 case PseudoPastCue: |
259 case PseudoUnresolved: | 259 case PseudoUnresolved: |
260 case PseudoContent: | 260 case PseudoContent: |
261 case PseudoHost: | 261 case PseudoHost: |
262 case PseudoHostContext: | 262 case PseudoHostContext: |
263 case PseudoShadow: | 263 case PseudoShadow: |
264 case PseudoFullScreen: | 264 case PseudoFullScreen: |
265 case PseudoFullScreenAncestor: | 265 case PseudoFullScreenAncestor: |
266 case PseudoSpatialNavigationFocus: | 266 case PseudoSpatialNavigationFocus: |
267 case PseudoListBox: | 267 case PseudoListBox: |
| 268 case PseudoSlotted: |
268 return NOPSEUDO; | 269 return NOPSEUDO; |
269 } | 270 } |
270 | 271 |
271 ASSERT_NOT_REACHED(); | 272 ASSERT_NOT_REACHED(); |
272 return NOPSEUDO; | 273 return NOPSEUDO; |
273 } | 274 } |
274 | 275 |
275 // Could be made smaller and faster by replacing pointer with an | 276 // Could be made smaller and faster by replacing pointer with an |
276 // offset into a string buffer and making the bit fields smaller but | 277 // offset into a string buffer and making the bit fields smaller but |
277 // that could not be maintained by hand. | 278 // that could not be maintained by hand. |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
361 {"-webkit-any", CSSSelector::PseudoAny}, | 362 {"-webkit-any", CSSSelector::PseudoAny}, |
362 {"cue", CSSSelector::PseudoCue}, | 363 {"cue", CSSSelector::PseudoCue}, |
363 {"host", CSSSelector::PseudoHost}, | 364 {"host", CSSSelector::PseudoHost}, |
364 {"host-context", CSSSelector::PseudoHostContext}, | 365 {"host-context", CSSSelector::PseudoHostContext}, |
365 {"lang", CSSSelector::PseudoLang}, | 366 {"lang", CSSSelector::PseudoLang}, |
366 {"not", CSSSelector::PseudoNot}, | 367 {"not", CSSSelector::PseudoNot}, |
367 {"nth-child", CSSSelector::PseudoNthChild}, | 368 {"nth-child", CSSSelector::PseudoNthChild}, |
368 {"nth-last-child", CSSSelector::PseudoNthLastChild}, | 369 {"nth-last-child", CSSSelector::PseudoNthLastChild}, |
369 {"nth-last-of-type", CSSSelector::PseudoNthLastOfType}, | 370 {"nth-last-of-type", CSSSelector::PseudoNthLastOfType}, |
370 {"nth-of-type", CSSSelector::PseudoNthOfType}, | 371 {"nth-of-type", CSSSelector::PseudoNthOfType}, |
| 372 {"slotted", CSSSelector::PseudoSlotted}, |
371 }; | 373 }; |
372 | 374 |
373 class NameToPseudoCompare { | 375 class NameToPseudoCompare { |
374 public: | 376 public: |
375 NameToPseudoCompare(const AtomicString& key) : m_key(key) { ASSERT(m_key.is8
Bit()); } | 377 NameToPseudoCompare(const AtomicString& key) : m_key(key) { ASSERT(m_key.is8
Bit()); } |
376 | 378 |
377 bool operator()(const NameToPseudoStruct& entry, const NameToPseudoStruct&) | 379 bool operator()(const NameToPseudoStruct& entry, const NameToPseudoStruct&) |
378 { | 380 { |
379 ASSERT(entry.string); | 381 ASSERT(entry.string); |
380 const char* key = reinterpret_cast<const char*>(m_key.characters8()); | 382 const char* key = reinterpret_cast<const char*>(m_key.characters8()); |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
475 case PseudoScrollbar: | 477 case PseudoScrollbar: |
476 case PseudoScrollbarCorner: | 478 case PseudoScrollbarCorner: |
477 case PseudoScrollbarButton: | 479 case PseudoScrollbarButton: |
478 case PseudoScrollbarThumb: | 480 case PseudoScrollbarThumb: |
479 case PseudoScrollbarTrack: | 481 case PseudoScrollbarTrack: |
480 case PseudoScrollbarTrackPiece: | 482 case PseudoScrollbarTrackPiece: |
481 case PseudoSelection: | 483 case PseudoSelection: |
482 case PseudoWebKitCustomElement: | 484 case PseudoWebKitCustomElement: |
483 case PseudoContent: | 485 case PseudoContent: |
484 case PseudoShadow: | 486 case PseudoShadow: |
| 487 case PseudoSlotted: |
485 if (m_match != PseudoElement) | 488 if (m_match != PseudoElement) |
486 m_pseudoType = PseudoUnknown; | 489 m_pseudoType = PseudoUnknown; |
487 break; | 490 break; |
488 case PseudoFirstPage: | 491 case PseudoFirstPage: |
489 case PseudoLeftPage: | 492 case PseudoLeftPage: |
490 case PseudoRightPage: | 493 case PseudoRightPage: |
491 if (m_match != PagePseudoClass) | 494 if (m_match != PagePseudoClass) |
492 m_pseudoType = PseudoUnknown; | 495 m_pseudoType = PseudoUnknown; |
493 break; | 496 break; |
494 case PseudoActive: | 497 case PseudoActive: |
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
723 return tagHistory->selectorText(" > " + str.toString() + rightSide); | 726 return tagHistory->selectorText(" > " + str.toString() + rightSide); |
724 case ShadowDeep: | 727 case ShadowDeep: |
725 return tagHistory->selectorText(" /deep/ " + str.toString() + rightS
ide); | 728 return tagHistory->selectorText(" /deep/ " + str.toString() + rightS
ide); |
726 case DirectAdjacent: | 729 case DirectAdjacent: |
727 return tagHistory->selectorText(" + " + str.toString() + rightSide); | 730 return tagHistory->selectorText(" + " + str.toString() + rightSide); |
728 case IndirectAdjacent: | 731 case IndirectAdjacent: |
729 return tagHistory->selectorText(" ~ " + str.toString() + rightSide); | 732 return tagHistory->selectorText(" ~ " + str.toString() + rightSide); |
730 case SubSelector: | 733 case SubSelector: |
731 ASSERT_NOT_REACHED(); | 734 ASSERT_NOT_REACHED(); |
732 case ShadowPseudo: | 735 case ShadowPseudo: |
| 736 case ShadowSlot: |
733 return tagHistory->selectorText(str.toString() + rightSide); | 737 return tagHistory->selectorText(str.toString() + rightSide); |
734 } | 738 } |
735 } | 739 } |
736 return str.toString() + rightSide; | 740 return str.toString() + rightSide; |
737 } | 741 } |
738 | 742 |
739 void CSSSelector::setAttribute(const QualifiedName& value, AttributeMatchType ma
tchType) | 743 void CSSSelector::setAttribute(const QualifiedName& value, AttributeMatchType ma
tchType) |
740 { | 744 { |
741 createRareData(); | 745 createRareData(); |
742 m_data.m_rareData->m_attribute = value; | 746 m_data.m_rareData->m_attribute = value; |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
793 case CSSSelector::PseudoFirstChild: | 797 case CSSSelector::PseudoFirstChild: |
794 case CSSSelector::PseudoLastChild: | 798 case CSSSelector::PseudoLastChild: |
795 case CSSSelector::PseudoFirstOfType: | 799 case CSSSelector::PseudoFirstOfType: |
796 case CSSSelector::PseudoLastOfType: | 800 case CSSSelector::PseudoLastOfType: |
797 case CSSSelector::PseudoOnlyOfType: | 801 case CSSSelector::PseudoOnlyOfType: |
798 case CSSSelector::PseudoHost: | 802 case CSSSelector::PseudoHost: |
799 case CSSSelector::PseudoHostContext: | 803 case CSSSelector::PseudoHostContext: |
800 case CSSSelector::PseudoNot: | 804 case CSSSelector::PseudoNot: |
801 case CSSSelector::PseudoSpatialNavigationFocus: | 805 case CSSSelector::PseudoSpatialNavigationFocus: |
802 case CSSSelector::PseudoListBox: | 806 case CSSSelector::PseudoListBox: |
| 807 case CSSSelector::PseudoSlotted: |
803 return true; | 808 return true; |
804 default: | 809 default: |
805 return false; | 810 return false; |
806 } | 811 } |
807 } | 812 } |
808 | 813 |
809 bool CSSSelector::isCompound() const | 814 bool CSSSelector::isCompound() const |
810 { | 815 { |
811 if (!validateSubSelector(this)) | 816 if (!validateSubSelector(this)) |
812 return false; | 817 return false; |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
904 if (count < nthBValue()) | 909 if (count < nthBValue()) |
905 return false; | 910 return false; |
906 return (count - nthBValue()) % nthAValue() == 0; | 911 return (count - nthBValue()) % nthAValue() == 0; |
907 } | 912 } |
908 if (count > nthBValue()) | 913 if (count > nthBValue()) |
909 return false; | 914 return false; |
910 return (nthBValue() - count) % (-nthAValue()) == 0; | 915 return (nthBValue() - count) % (-nthAValue()) == 0; |
911 } | 916 } |
912 | 917 |
913 } // namespace blink | 918 } // namespace blink |
OLD | NEW |