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

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

Issue 1989343002: Implement :defined pseudo-class selector for Custom Elements (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@ce-state
Patch Set: rune and dominicc review, test updated Created 4 years, 7 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 d6bc71a4924cab29e77f7085b45d340a4a9e1b08..396593274295db4bc04c8468dd87adea763aacef 100644
--- a/third_party/WebKit/Source/core/css/CSSSelector.cpp
+++ b/third_party/WebKit/Source/core/css/CSSSelector.cpp
@@ -257,6 +257,7 @@ PseudoId CSSSelector::pseudoId(PseudoType type)
case PseudoFutureCue:
case PseudoPastCue:
case PseudoUnresolved:
+ case PseudoDefined:
case PseudoContent:
case PseudoHost:
case PseudoHostContext:
@@ -317,6 +318,7 @@ const static NameToPseudoStruct pseudoTypeWithoutArgumentsMap[] = {
{"cue", CSSSelector::PseudoWebKitCustomElement},
{"decrement", CSSSelector::PseudoDecrement},
{"default", CSSSelector::PseudoDefault},
+{"defined", CSSSelector::PseudoDefined},
{"disabled", CSSSelector::PseudoDisabled},
{"double-button", CSSSelector::PseudoDoubleButton},
{"empty", CSSSelector::PseudoEmpty},
@@ -414,6 +416,9 @@ static CSSSelector::PseudoType nameToPseudoType(const AtomicString& name, bool h
if (match == pseudoTypeMapEnd || match->string != name.getString())
return CSSSelector::PseudoUnknown;
+ if (match->type == CSSSelector::PseudoDefined && !RuntimeEnabledFeatures::customElementsV1Enabled())
+ return CSSSelector::PseudoUnknown;
+
return static_cast<CSSSelector::PseudoType>(match->type);
}
@@ -512,6 +517,7 @@ void CSSSelector::updatePseudoType(const AtomicString& value, bool hasArguments)
case PseudoCornerPresent:
case PseudoDecrement:
case PseudoDefault:
+ case PseudoDefined:
case PseudoDisabled:
case PseudoDoubleButton:
case PseudoDrag:
« no previous file with comments | « third_party/WebKit/Source/core/css/CSSSelector.h ('k') | third_party/WebKit/Source/core/css/RuleFeature.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698