Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(143)

Unified Diff: third_party/WebKit/Source/core/css/CSSSelector.cpp

Issue 1614343002: Implement CSS4 pseudo-class :dir() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Updated layout tests Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;

Powered by Google App Engine
This is Rietveld 408576698