Index: third_party/WebKit/Source/core/css/CSSSelector.cpp |
diff --git a/third_party/WebKit/Source/core/css/CSSSelector.cpp b/third_party/WebKit/Source/core/css/CSSSelector.cpp |
index f660e57faa3644ad688fd21665facfa3100c9665..342892e391f4e404095f0e8e53433933ebb4d4c8 100644 |
--- a/third_party/WebKit/Source/core/css/CSSSelector.cpp |
+++ b/third_party/WebKit/Source/core/css/CSSSelector.cpp |
@@ -232,6 +232,7 @@ PseudoId CSSSelector::pseudoId(PseudoType type) |
case PseudoIndeterminate: |
case PseudoTarget: |
case PseudoLang: |
+ case PseudoDir: |
case PseudoNot: |
case PseudoRoot: |
case PseudoScope: |
@@ -360,6 +361,7 @@ const static NameToPseudoStruct pseudoTypeWithoutArgumentsMap[] = { |
const static NameToPseudoStruct pseudoTypeWithArgumentsMap[] = { |
{"-webkit-any", CSSSelector::PseudoAny}, |
{"cue", CSSSelector::PseudoCue}, |
+{"dir", CSSSelector::PseudoDir}, |
{"host", CSSSelector::PseudoHost}, |
{"host-context", CSSSelector::PseudoHostContext}, |
{"lang", CSSSelector::PseudoLang}, |
@@ -523,6 +525,7 @@ void CSSSelector::updatePseudoType(const AtomicString& value, bool hasArguments) |
case PseudoIndeterminate: |
case PseudoInvalid: |
case PseudoLang: |
+ case PseudoDir: |
case PseudoLastChild: |
case PseudoLastOfType: |
case PseudoLink: |
@@ -642,6 +645,10 @@ String CSSSelector::selectorText(const String& rightSide) const |
str.append(cs->argument()); |
str.append(')'); |
break; |
+ case PseudoDir: |
+ str.append('('); |
+ str.append(cs->argument()); |
+ str.append(')'); |
case PseudoNot: |
ASSERT(cs->selectorList()); |
break; |