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 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
243 case PseudoFirstPage: | 243 case PseudoFirstPage: |
244 case PseudoLeftPage: | 244 case PseudoLeftPage: |
245 case PseudoRightPage: | 245 case PseudoRightPage: |
246 case PseudoInRange: | 246 case PseudoInRange: |
247 case PseudoOutOfRange: | 247 case PseudoOutOfRange: |
248 case PseudoUserAgentCustomElement: | 248 case PseudoUserAgentCustomElement: |
249 case PseudoWebKitCustomElement: | 249 case PseudoWebKitCustomElement: |
250 case PseudoCue: | 250 case PseudoCue: |
251 case PseudoFutureCue: | 251 case PseudoFutureCue: |
252 case PseudoPastCue: | 252 case PseudoPastCue: |
253 case PseudoDistributed: | |
254 case PseudoUnresolved: | 253 case PseudoUnresolved: |
255 case PseudoContent: | 254 case PseudoContent: |
256 case PseudoHost: | 255 case PseudoHost: |
257 case PseudoHostContext: | 256 case PseudoHostContext: |
258 case PseudoFullScreen: | 257 case PseudoFullScreen: |
259 case PseudoFullScreenDocument: | 258 case PseudoFullScreenDocument: |
260 case PseudoFullScreenAncestor: | 259 case PseudoFullScreenAncestor: |
261 return NOPSEUDO; | 260 return NOPSEUDO; |
262 case PseudoNotParsed: | 261 case PseudoNotParsed: |
263 ASSERT_NOT_REACHED(); | 262 ASSERT_NOT_REACHED(); |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
340 {"first", CSSSelector::PseudoFirstPage}, | 339 {"first", CSSSelector::PseudoFirstPage}, |
341 {"left", CSSSelector::PseudoLeftPage}, | 340 {"left", CSSSelector::PseudoLeftPage}, |
342 {"right", CSSSelector::PseudoRightPage}, | 341 {"right", CSSSelector::PseudoRightPage}, |
343 {"-webkit-full-screen", CSSSelector::PseudoFullScreen}, | 342 {"-webkit-full-screen", CSSSelector::PseudoFullScreen}, |
344 {"-webkit-full-screen-document", CSSSelector::PseudoFullScreenDocument}, | 343 {"-webkit-full-screen-document", CSSSelector::PseudoFullScreenDocument}, |
345 {"-webkit-full-screen-ancestor", CSSSelector::PseudoFullScreenAncestor}, | 344 {"-webkit-full-screen-ancestor", CSSSelector::PseudoFullScreenAncestor}, |
346 {"cue(", CSSSelector::PseudoCue}, | 345 {"cue(", CSSSelector::PseudoCue}, |
347 {"cue", CSSSelector::PseudoWebKitCustomElement}, | 346 {"cue", CSSSelector::PseudoWebKitCustomElement}, |
348 {"future", CSSSelector::PseudoFutureCue}, | 347 {"future", CSSSelector::PseudoFutureCue}, |
349 {"past", CSSSelector::PseudoPastCue}, | 348 {"past", CSSSelector::PseudoPastCue}, |
350 {"-webkit-distributed(", CSSSelector::PseudoDistributed}, | |
351 {"in-range", CSSSelector::PseudoInRange}, | 349 {"in-range", CSSSelector::PseudoInRange}, |
352 {"out-of-range", CSSSelector::PseudoOutOfRange}, | 350 {"out-of-range", CSSSelector::PseudoOutOfRange}, |
353 {"scope", CSSSelector::PseudoScope}, | 351 {"scope", CSSSelector::PseudoScope}, |
354 {"unresolved", CSSSelector::PseudoUnresolved}, | 352 {"unresolved", CSSSelector::PseudoUnresolved}, |
355 {"host", CSSSelector::PseudoHost}, | 353 {"host", CSSSelector::PseudoHost}, |
356 {"host(", CSSSelector::PseudoHost}, | 354 {"host(", CSSSelector::PseudoHost}, |
357 {"host-context", CSSSelector::PseudoHostContext}, | 355 {"host-context", CSSSelector::PseudoHostContext}, |
358 {"host-context(", CSSSelector::PseudoHostContext}, | 356 {"host-context(", CSSSelector::PseudoHostContext}, |
359 {"content", CSSSelector::PseudoContent}, | 357 {"content", CSSSelector::PseudoContent}, |
360 }; | 358 }; |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
439 bool isPagePseudoClass = false; // Page pseudo-class | 437 bool isPagePseudoClass = false; // Page pseudo-class |
440 | 438 |
441 switch (m_pseudoType) { | 439 switch (m_pseudoType) { |
442 case PseudoAfter: | 440 case PseudoAfter: |
443 case PseudoBefore: | 441 case PseudoBefore: |
444 case PseudoCue: | 442 case PseudoCue: |
445 case PseudoFirstLetter: | 443 case PseudoFirstLetter: |
446 case PseudoFirstLine: | 444 case PseudoFirstLine: |
447 compat = true; | 445 compat = true; |
448 case PseudoBackdrop: | 446 case PseudoBackdrop: |
449 case PseudoDistributed: | |
450 case PseudoResizer: | 447 case PseudoResizer: |
451 case PseudoScrollbar: | 448 case PseudoScrollbar: |
452 case PseudoScrollbarCorner: | 449 case PseudoScrollbarCorner: |
453 case PseudoScrollbarButton: | 450 case PseudoScrollbarButton: |
454 case PseudoScrollbarThumb: | 451 case PseudoScrollbarThumb: |
455 case PseudoScrollbarTrack: | 452 case PseudoScrollbarTrack: |
456 case PseudoScrollbarTrackPiece: | 453 case PseudoScrollbarTrackPiece: |
457 case PseudoSelection: | 454 case PseudoSelection: |
458 case PseudoUserAgentCustomElement: | 455 case PseudoUserAgentCustomElement: |
459 case PseudoWebKitCustomElement: | 456 case PseudoWebKitCustomElement: |
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
684 } | 681 } |
685 } | 682 } |
686 if (cs->relation() != CSSSelector::SubSelector || !cs->tagHistory()) | 683 if (cs->relation() != CSSSelector::SubSelector || !cs->tagHistory()) |
687 break; | 684 break; |
688 cs = cs->tagHistory(); | 685 cs = cs->tagHistory(); |
689 } | 686 } |
690 | 687 |
691 if (const CSSSelector* tagHistory = cs->tagHistory()) { | 688 if (const CSSSelector* tagHistory = cs->tagHistory()) { |
692 switch (cs->relation()) { | 689 switch (cs->relation()) { |
693 case CSSSelector::Descendant: | 690 case CSSSelector::Descendant: |
694 if (cs->relationIsAffectedByPseudoContent() && tagHistory->pseudoTyp
e() != CSSSelector::PseudoContent) | |
695 return tagHistory->selectorText("::-webkit-distributed(" + str.t
oString() + rightSide + ")"); | |
696 return tagHistory->selectorText(" " + str.toString() + rightSide); | 691 return tagHistory->selectorText(" " + str.toString() + rightSide); |
697 case CSSSelector::Child: | 692 case CSSSelector::Child: |
698 if (cs->relationIsAffectedByPseudoContent() && tagHistory->pseudoTyp
e() != CSSSelector::PseudoContent) | |
699 return tagHistory->selectorText("::-webkit-distributed(> " + str
.toString() + rightSide + ")"); | |
700 return tagHistory->selectorText(" > " + str.toString() + rightSide); | 693 return tagHistory->selectorText(" > " + str.toString() + rightSide); |
701 case CSSSelector::Shadow: | 694 case CSSSelector::Shadow: |
702 return tagHistory->selectorText(" /shadow/ " + str.toString() + righ
tSide); | 695 return tagHistory->selectorText(" /shadow/ " + str.toString() + righ
tSide); |
703 case CSSSelector::ShadowDeep: | 696 case CSSSelector::ShadowDeep: |
704 return tagHistory->selectorText(" /deep/ " + str.toString() + rightS
ide); | 697 return tagHistory->selectorText(" /deep/ " + str.toString() + rightS
ide); |
705 case CSSSelector::DirectAdjacent: | 698 case CSSSelector::DirectAdjacent: |
706 return tagHistory->selectorText(" + " + str.toString() + rightSide); | 699 return tagHistory->selectorText(" + " + str.toString() + rightSide); |
707 case CSSSelector::IndirectAdjacent: | 700 case CSSSelector::IndirectAdjacent: |
708 return tagHistory->selectorText(" ~ " + str.toString() + rightSide); | 701 return tagHistory->selectorText(" ~ " + str.toString() + rightSide); |
709 case CSSSelector::SubSelector: | 702 case CSSSelector::SubSelector: |
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
883 return false; | 876 return false; |
884 return (count - m_b) % m_a == 0; | 877 return (count - m_b) % m_a == 0; |
885 } else { | 878 } else { |
886 if (count > m_b) | 879 if (count > m_b) |
887 return false; | 880 return false; |
888 return (m_b - count) % (-m_a) == 0; | 881 return (m_b - count) % (-m_a) == 0; |
889 } | 882 } |
890 } | 883 } |
891 | 884 |
892 } // namespace WebCore | 885 } // namespace WebCore |
OLD | NEW |