| 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 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 257 case PseudoPastCue: | 257 case PseudoPastCue: |
| 258 case PseudoUnresolved: | 258 case PseudoUnresolved: |
| 259 case PseudoContent: | 259 case PseudoContent: |
| 260 case PseudoHost: | 260 case PseudoHost: |
| 261 case PseudoHostContext: | 261 case PseudoHostContext: |
| 262 case PseudoShadow: | 262 case PseudoShadow: |
| 263 case PseudoFullScreen: | 263 case PseudoFullScreen: |
| 264 case PseudoFullScreenAncestor: | 264 case PseudoFullScreenAncestor: |
| 265 case PseudoSpatialNavigationFocus: | 265 case PseudoSpatialNavigationFocus: |
| 266 case PseudoListBox: | 266 case PseudoListBox: |
| 267 case PseudoHostHasAppearance: |
| 267 case PseudoSlotted: | 268 case PseudoSlotted: |
| 268 return PseudoIdNone; | 269 return PseudoIdNone; |
| 269 } | 270 } |
| 270 | 271 |
| 271 ASSERT_NOT_REACHED(); | 272 ASSERT_NOT_REACHED(); |
| 272 return PseudoIdNone; | 273 return PseudoIdNone; |
| 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. |
| 278 struct NameToPseudoStruct { | 279 struct NameToPseudoStruct { |
| 279 const char* string; | 280 const char* string; |
| 280 unsigned type:8; | 281 unsigned type:8; |
| 281 }; | 282 }; |
| 282 | 283 |
| 283 // These tables should be kept sorted. | 284 // These tables should be kept sorted. |
| 284 const static NameToPseudoStruct pseudoTypeWithoutArgumentsMap[] = { | 285 const static NameToPseudoStruct pseudoTypeWithoutArgumentsMap[] = { |
| 285 {"-internal-list-box", CSSSelector::PseudoListBox}, | 286 {"-internal-list-box", CSSSelector::PseudoListBox}, |
| 286 {"-internal-media-controls-cast-button", CSSSelector::PseudoWebKitCustomElement}
, | 287 {"-internal-media-controls-cast-button", CSSSelector::PseudoWebKitCustomElement}
, |
| 287 {"-internal-media-controls-overlay-cast-button", CSSSelector::PseudoWebKitCustom
Element}, | 288 {"-internal-media-controls-overlay-cast-button", CSSSelector::PseudoWebKitCustom
Element}, |
| 288 {"-internal-media-controls-text-track-list", CSSSelector::PseudoWebKitCustomElem
ent}, | 289 {"-internal-media-controls-text-track-list", CSSSelector::PseudoWebKitCustomElem
ent}, |
| 289 {"-internal-media-controls-text-track-list-item", CSSSelector::PseudoWebKitCusto
mElement}, | 290 {"-internal-media-controls-text-track-list-item", CSSSelector::PseudoWebKitCusto
mElement}, |
| 290 {"-internal-media-controls-text-track-list-item-input", CSSSelector::PseudoWebKi
tCustomElement}, | 291 {"-internal-media-controls-text-track-list-item-input", CSSSelector::PseudoWebKi
tCustomElement}, |
| 291 {"-internal-media-controls-text-track-list-kind-captions", CSSSelector::PseudoWe
bKitCustomElement}, | 292 {"-internal-media-controls-text-track-list-kind-captions", CSSSelector::PseudoWe
bKitCustomElement}, |
| 292 {"-internal-media-controls-text-track-list-kind-subtitles", CSSSelector::PseudoW
ebKitCustomElement}, | 293 {"-internal-media-controls-text-track-list-kind-subtitles", CSSSelector::PseudoW
ebKitCustomElement}, |
| 294 {"-internal-shadow-host-has-appearance", CSSSelector::PseudoHostHasAppearance}, |
| 293 {"-internal-spatial-navigation-focus", CSSSelector::PseudoSpatialNavigationFocus
}, | 295 {"-internal-spatial-navigation-focus", CSSSelector::PseudoSpatialNavigationFocus
}, |
| 294 {"-webkit-any-link", CSSSelector::PseudoAnyLink}, | 296 {"-webkit-any-link", CSSSelector::PseudoAnyLink}, |
| 295 {"-webkit-autofill", CSSSelector::PseudoAutofill}, | 297 {"-webkit-autofill", CSSSelector::PseudoAutofill}, |
| 296 {"-webkit-drag", CSSSelector::PseudoDrag}, | 298 {"-webkit-drag", CSSSelector::PseudoDrag}, |
| 297 {"-webkit-full-page-media", CSSSelector::PseudoFullPageMedia}, | 299 {"-webkit-full-page-media", CSSSelector::PseudoFullPageMedia}, |
| 298 {"-webkit-full-screen", CSSSelector::PseudoFullScreen}, | 300 {"-webkit-full-screen", CSSSelector::PseudoFullScreen}, |
| 299 {"-webkit-full-screen-ancestor", CSSSelector::PseudoFullScreenAncestor}, | 301 {"-webkit-full-screen-ancestor", CSSSelector::PseudoFullScreenAncestor}, |
| 300 {"-webkit-resizer", CSSSelector::PseudoResizer}, | 302 {"-webkit-resizer", CSSSelector::PseudoResizer}, |
| 301 {"-webkit-scrollbar", CSSSelector::PseudoScrollbar}, | 303 {"-webkit-scrollbar", CSSSelector::PseudoScrollbar}, |
| 302 {"-webkit-scrollbar-button", CSSSelector::PseudoScrollbarButton}, | 304 {"-webkit-scrollbar-button", CSSSelector::PseudoScrollbarButton}, |
| (...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 515 case PseudoFirstChild: | 517 case PseudoFirstChild: |
| 516 case PseudoFirstOfType: | 518 case PseudoFirstOfType: |
| 517 case PseudoFocus: | 519 case PseudoFocus: |
| 518 case PseudoFullPageMedia: | 520 case PseudoFullPageMedia: |
| 519 case PseudoFullScreen: | 521 case PseudoFullScreen: |
| 520 case PseudoFullScreenAncestor: | 522 case PseudoFullScreenAncestor: |
| 521 case PseudoFutureCue: | 523 case PseudoFutureCue: |
| 522 case PseudoHorizontal: | 524 case PseudoHorizontal: |
| 523 case PseudoHost: | 525 case PseudoHost: |
| 524 case PseudoHostContext: | 526 case PseudoHostContext: |
| 527 case PseudoHostHasAppearance: |
| 525 case PseudoHover: | 528 case PseudoHover: |
| 526 case PseudoInRange: | 529 case PseudoInRange: |
| 527 case PseudoIncrement: | 530 case PseudoIncrement: |
| 528 case PseudoIndeterminate: | 531 case PseudoIndeterminate: |
| 529 case PseudoInvalid: | 532 case PseudoInvalid: |
| 530 case PseudoLang: | 533 case PseudoLang: |
| 531 case PseudoLastChild: | 534 case PseudoLastChild: |
| 532 case PseudoLastOfType: | 535 case PseudoLastOfType: |
| 533 case PseudoLink: | 536 case PseudoLink: |
| 534 case PseudoListBox: | 537 case PseudoListBox: |
| (...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 797 case CSSSelector::PseudoFirstChild: | 800 case CSSSelector::PseudoFirstChild: |
| 798 case CSSSelector::PseudoLastChild: | 801 case CSSSelector::PseudoLastChild: |
| 799 case CSSSelector::PseudoFirstOfType: | 802 case CSSSelector::PseudoFirstOfType: |
| 800 case CSSSelector::PseudoLastOfType: | 803 case CSSSelector::PseudoLastOfType: |
| 801 case CSSSelector::PseudoOnlyOfType: | 804 case CSSSelector::PseudoOnlyOfType: |
| 802 case CSSSelector::PseudoHost: | 805 case CSSSelector::PseudoHost: |
| 803 case CSSSelector::PseudoHostContext: | 806 case CSSSelector::PseudoHostContext: |
| 804 case CSSSelector::PseudoNot: | 807 case CSSSelector::PseudoNot: |
| 805 case CSSSelector::PseudoSpatialNavigationFocus: | 808 case CSSSelector::PseudoSpatialNavigationFocus: |
| 806 case CSSSelector::PseudoListBox: | 809 case CSSSelector::PseudoListBox: |
| 810 case CSSSelector::PseudoHostHasAppearance: |
| 807 return true; | 811 return true; |
| 808 default: | 812 default: |
| 809 return false; | 813 return false; |
| 810 } | 814 } |
| 811 } | 815 } |
| 812 | 816 |
| 813 bool CSSSelector::isCompound() const | 817 bool CSSSelector::isCompound() const |
| 814 { | 818 { |
| 815 if (!validateSubSelector(this)) | 819 if (!validateSubSelector(this)) |
| 816 return false; | 820 return false; |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 919 if (count < nthBValue()) | 923 if (count < nthBValue()) |
| 920 return false; | 924 return false; |
| 921 return (count - nthBValue()) % nthAValue() == 0; | 925 return (count - nthBValue()) % nthAValue() == 0; |
| 922 } | 926 } |
| 923 if (count > nthBValue()) | 927 if (count > nthBValue()) |
| 924 return false; | 928 return false; |
| 925 return (nthBValue() - count) % (-nthAValue()) == 0; | 929 return (nthBValue() - count) % (-nthAValue()) == 0; |
| 926 } | 930 } |
| 927 | 931 |
| 928 } // namespace blink | 932 } // namespace blink |
| OLD | NEW |