| 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 4355b9d8c4e79ab47d22a56db40a8d4d283454a0..f0609554388c5d88cc83cef671f316d0dbad4066 100644
 | 
| --- a/third_party/WebKit/Source/core/css/CSSSelector.cpp
 | 
| +++ b/third_party/WebKit/Source/core/css/CSSSelector.cpp
 | 
| @@ -231,6 +231,7 @@ PseudoId CSSSelector::pseudoId(PseudoType type)
 | 
|      case PseudoInvalid:
 | 
|      case PseudoIndeterminate:
 | 
|      case PseudoTarget:
 | 
| +    case PseudoDir:
 | 
|      case PseudoLang:
 | 
|      case PseudoNot:
 | 
|      case PseudoRoot:
 | 
| @@ -365,6 +366,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},
 | 
| @@ -527,6 +529,7 @@ void CSSSelector::updatePseudoType(const AtomicString& value, bool hasArguments)
 | 
|      case PseudoIncrement:
 | 
|      case PseudoIndeterminate:
 | 
|      case PseudoInvalid:
 | 
| +    case PseudoDir:
 | 
|      case PseudoLang:
 | 
|      case PseudoLastChild:
 | 
|      case PseudoLastOfType:
 | 
| @@ -642,6 +645,7 @@ String CSSSelector::selectorText(const String& rightSide) const
 | 
|                  str.append(')');
 | 
|                  break;
 | 
|              }
 | 
| +            case PseudoDir:
 | 
|              case PseudoLang:
 | 
|                  str.append('(');
 | 
|                  str.append(cs->argument());
 | 
| 
 |