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 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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: | 253 case PseudoDistributed: |
254 case PseudoUnresolved: | 254 case PseudoUnresolved: |
255 case PseudoContent: | 255 case PseudoContent: |
256 case PseudoHost: | 256 case PseudoHost: |
257 case PseudoAncestor: | 257 case PseudoAncestor: |
| 258 case PseudoShadow: |
258 case PseudoFullScreen: | 259 case PseudoFullScreen: |
259 case PseudoFullScreenDocument: | 260 case PseudoFullScreenDocument: |
260 case PseudoFullScreenAncestor: | 261 case PseudoFullScreenAncestor: |
261 return NOPSEUDO; | 262 return NOPSEUDO; |
262 case PseudoNotParsed: | 263 case PseudoNotParsed: |
263 ASSERT_NOT_REACHED(); | 264 ASSERT_NOT_REACHED(); |
264 return NOPSEUDO; | 265 return NOPSEUDO; |
265 } | 266 } |
266 | 267 |
267 ASSERT_NOT_REACHED(); | 268 ASSERT_NOT_REACHED(); |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
351 {"-webkit-distributed(", CSSSelector::PseudoDistributed, 0}, | 352 {"-webkit-distributed(", CSSSelector::PseudoDistributed, 0}, |
352 {"in-range", CSSSelector::PseudoInRange, 0}, | 353 {"in-range", CSSSelector::PseudoInRange, 0}, |
353 {"out-of-range", CSSSelector::PseudoOutOfRange, 0}, | 354 {"out-of-range", CSSSelector::PseudoOutOfRange, 0}, |
354 {"scope", CSSSelector::PseudoScope, 0}, | 355 {"scope", CSSSelector::PseudoScope, 0}, |
355 {"unresolved", CSSSelector::PseudoUnresolved, 0}, | 356 {"unresolved", CSSSelector::PseudoUnresolved, 0}, |
356 {"host", CSSSelector::PseudoHost, CSSSel
ector::RequiresShadowDOM}, | 357 {"host", CSSSelector::PseudoHost, CSSSel
ector::RequiresShadowDOM}, |
357 {"host(", CSSSelector::PseudoHost, CSSSel
ector::RequiresShadowDOM}, | 358 {"host(", CSSSelector::PseudoHost, CSSSel
ector::RequiresShadowDOM}, |
358 {"ancestor", CSSSelector::PseudoAncestor, CSSSel
ector::RequiresShadowDOM}, | 359 {"ancestor", CSSSelector::PseudoAncestor, CSSSel
ector::RequiresShadowDOM}, |
359 {"ancestor(", CSSSelector::PseudoAncestor, CSSSel
ector::RequiresShadowDOM}, | 360 {"ancestor(", CSSSelector::PseudoAncestor, CSSSel
ector::RequiresShadowDOM}, |
360 {"content", CSSSelector::PseudoContent, CSSSel
ector::RequiresShadowDOM}, | 361 {"content", CSSSelector::PseudoContent, CSSSel
ector::RequiresShadowDOM}, |
| 362 {"shadow", CSSSelector::PseudoShadow, CSSSel
ector::RequiresShadowDOM}, |
361 }; | 363 }; |
362 | 364 |
363 static HashMap<StringImpl*, CSSSelector::PseudoType>* nameToPseudoTypeMap() | 365 static HashMap<StringImpl*, CSSSelector::PseudoType>* nameToPseudoTypeMap() |
364 { | 366 { |
365 static HashMap<StringImpl*, CSSSelector::PseudoType>* nameToPseudoType = 0; | 367 static HashMap<StringImpl*, CSSSelector::PseudoType>* nameToPseudoType = 0; |
366 if (!nameToPseudoType) { | 368 if (!nameToPseudoType) { |
367 nameToPseudoType = new HashMap<StringImpl*, CSSSelector::PseudoType>; | 369 nameToPseudoType = new HashMap<StringImpl*, CSSSelector::PseudoType>; |
368 | 370 |
369 size_t pseudoCount = WTF_ARRAY_LENGTH(pseudoTypeMap); | 371 size_t pseudoCount = WTF_ARRAY_LENGTH(pseudoTypeMap); |
370 for (size_t i = 0; i < pseudoCount; i++) { | 372 for (size_t i = 0; i < pseudoCount; i++) { |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
456 case PseudoScrollbar: | 458 case PseudoScrollbar: |
457 case PseudoScrollbarCorner: | 459 case PseudoScrollbarCorner: |
458 case PseudoScrollbarButton: | 460 case PseudoScrollbarButton: |
459 case PseudoScrollbarThumb: | 461 case PseudoScrollbarThumb: |
460 case PseudoScrollbarTrack: | 462 case PseudoScrollbarTrack: |
461 case PseudoScrollbarTrackPiece: | 463 case PseudoScrollbarTrackPiece: |
462 case PseudoSelection: | 464 case PseudoSelection: |
463 case PseudoUserAgentCustomElement: | 465 case PseudoUserAgentCustomElement: |
464 case PseudoWebKitCustomElement: | 466 case PseudoWebKitCustomElement: |
465 case PseudoContent: | 467 case PseudoContent: |
| 468 case PseudoShadow: |
466 element = true; | 469 element = true; |
467 break; | 470 break; |
468 case PseudoUnknown: | 471 case PseudoUnknown: |
469 case PseudoEmpty: | 472 case PseudoEmpty: |
470 case PseudoFirstChild: | 473 case PseudoFirstChild: |
471 case PseudoFirstOfType: | 474 case PseudoFirstOfType: |
472 case PseudoLastChild: | 475 case PseudoLastChild: |
473 case PseudoLastOfType: | 476 case PseudoLastOfType: |
474 case PseudoOnlyChild: | 477 case PseudoOnlyChild: |
475 case PseudoOnlyOfType: | 478 case PseudoOnlyOfType: |
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
696 if (const CSSSelector* tagHistory = cs->tagHistory()) { | 699 if (const CSSSelector* tagHistory = cs->tagHistory()) { |
697 switch (cs->relation()) { | 700 switch (cs->relation()) { |
698 case CSSSelector::Descendant: | 701 case CSSSelector::Descendant: |
699 if (cs->relationIsAffectedByPseudoContent() && tagHistory->pseudoTyp
e() != CSSSelector::PseudoContent) | 702 if (cs->relationIsAffectedByPseudoContent() && tagHistory->pseudoTyp
e() != CSSSelector::PseudoContent) |
700 return tagHistory->selectorText("::-webkit-distributed(" + str.t
oString() + rightSide + ")"); | 703 return tagHistory->selectorText("::-webkit-distributed(" + str.t
oString() + rightSide + ")"); |
701 return tagHistory->selectorText(" " + str.toString() + rightSide); | 704 return tagHistory->selectorText(" " + str.toString() + rightSide); |
702 case CSSSelector::Child: | 705 case CSSSelector::Child: |
703 if (cs->relationIsAffectedByPseudoContent() && tagHistory->pseudoTyp
e() != CSSSelector::PseudoContent) | 706 if (cs->relationIsAffectedByPseudoContent() && tagHistory->pseudoTyp
e() != CSSSelector::PseudoContent) |
704 return tagHistory->selectorText("::-webkit-distributed(> " + str
.toString() + rightSide + ")"); | 707 return tagHistory->selectorText("::-webkit-distributed(> " + str
.toString() + rightSide + ")"); |
705 return tagHistory->selectorText(" > " + str.toString() + rightSide); | 708 return tagHistory->selectorText(" > " + str.toString() + rightSide); |
706 case CSSSelector::Shadow: | |
707 return tagHistory->selectorText(" /shadow/ " + str.toString() + righ
tSide); | |
708 case CSSSelector::ShadowDeep: | 709 case CSSSelector::ShadowDeep: |
709 return tagHistory->selectorText(" /shadow-deep/ " + str.toString() +
rightSide); | 710 return tagHistory->selectorText(" /shadow-deep/ " + str.toString() +
rightSide); |
710 case CSSSelector::DirectAdjacent: | 711 case CSSSelector::DirectAdjacent: |
711 return tagHistory->selectorText(" + " + str.toString() + rightSide); | 712 return tagHistory->selectorText(" + " + str.toString() + rightSide); |
712 case CSSSelector::IndirectAdjacent: | 713 case CSSSelector::IndirectAdjacent: |
713 return tagHistory->selectorText(" ~ " + str.toString() + rightSide); | 714 return tagHistory->selectorText(" ~ " + str.toString() + rightSide); |
714 case CSSSelector::SubSelector: | 715 case CSSSelector::SubSelector: |
715 ASSERT_NOT_REACHED(); | 716 ASSERT_NOT_REACHED(); |
716 case CSSSelector::ShadowPseudo: | 717 case CSSSelector::ShadowPseudo: |
717 return tagHistory->selectorText(str.toString() + rightSide); | 718 return tagHistory->selectorText(str.toString() + rightSide); |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
888 return false; | 889 return false; |
889 return (count - m_b) % m_a == 0; | 890 return (count - m_b) % m_a == 0; |
890 } else { | 891 } else { |
891 if (count > m_b) | 892 if (count > m_b) |
892 return false; | 893 return false; |
893 return (m_b - count) % (-m_a) == 0; | 894 return (m_b - count) % (-m_a) == 0; |
894 } | 895 } |
895 } | 896 } |
896 | 897 |
897 } // namespace WebCore | 898 } // namespace WebCore |
OLD | NEW |