- Revision
- 176529
- Author
- [email protected]
- Date
- 2014-11-24 16:20:35 -0800 (Mon, 24 Nov 2014)
Log Message
Move :placeholder-shown out of experimental
https://bugs.webkit.org/show_bug.cgi?id=138998
Reviewed by Andreas Kling.
The pseudo class :placeholder-shown is used by the inspector, disabling it breaks
the sidebar.
The implementation has been stable for a while, we can move it to stable.
* css/CSSSelector.cpp:
(WebCore::CSSSelector::selectorText):
* css/CSSSelector.h:
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
* css/SelectorPseudoClassAndCompatibilityElementMap.in:
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasPlaceholderShown):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (176528 => 176529)
--- trunk/Source/WebCore/ChangeLog 2014-11-25 00:15:46 UTC (rev 176528)
+++ trunk/Source/WebCore/ChangeLog 2014-11-25 00:20:35 UTC (rev 176529)
@@ -1,3 +1,26 @@
+2014-11-24 Benjamin Poulain <[email protected]>
+
+ Move :placeholder-shown out of experimental
+ https://bugs.webkit.org/show_bug.cgi?id=138998
+
+ Reviewed by Andreas Kling.
+
+ The pseudo class :placeholder-shown is used by the inspector, disabling it breaks
+ the sidebar.
+
+ The implementation has been stable for a while, we can move it to stable.
+
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::selectorText):
+ * css/CSSSelector.h:
+ * css/SelectorChecker.cpp:
+ (WebCore::SelectorChecker::checkOne):
+ * css/SelectorPseudoClassAndCompatibilityElementMap.in:
+ * cssjit/SelectorCompiler.cpp:
+ (WebCore::SelectorCompiler::addPseudoClassType):
+ (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
+ (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasPlaceholderShown):
+
2014-11-24 Antti Koivisto <[email protected]>
Avoid String concatenation with line break iterator
Modified: trunk/Source/WebCore/css/CSSSelector.cpp (176528 => 176529)
--- trunk/Source/WebCore/css/CSSSelector.cpp 2014-11-25 00:15:46 UTC (rev 176528)
+++ trunk/Source/WebCore/css/CSSSelector.cpp 2014-11-25 00:20:35 UTC (rev 176529)
@@ -564,11 +564,9 @@
str.append(')');
break;
}
-#if ENABLE(CSS_SELECTORS_LEVEL4)
case CSSSelector::PseudoClassPlaceholderShown:
str.appendLiteral(":placeholder-shown");
break;
-#endif
case CSSSelector::PseudoClassOutOfRange:
str.appendLiteral(":out-of-range");
break;
Modified: trunk/Source/WebCore/css/CSSSelector.h (176528 => 176529)
--- trunk/Source/WebCore/css/CSSSelector.h 2014-11-25 00:15:46 UTC (rev 176528)
+++ trunk/Source/WebCore/css/CSSSelector.h 2014-11-25 00:20:35 UTC (rev 176529)
@@ -120,11 +120,9 @@
PseudoClassFullPageMedia,
PseudoClassDefault,
PseudoClassDisabled,
+ PseudoClassMatches,
PseudoClassOptional,
-#if ENABLE(CSS_SELECTORS_LEVEL4)
PseudoClassPlaceholderShown,
-#endif
- PseudoClassMatches,
PseudoClassRequired,
PseudoClassReadOnly,
PseudoClassReadWrite,
Modified: trunk/Source/WebCore/css/SelectorChecker.cpp (176528 => 176529)
--- trunk/Source/WebCore/css/SelectorChecker.cpp 2014-11-25 00:15:46 UTC (rev 176528)
+++ trunk/Source/WebCore/css/SelectorChecker.cpp 2014-11-25 00:20:35 UTC (rev 176529)
@@ -729,7 +729,6 @@
}
return hasMatchedAnything;
}
-#if ENABLE(CSS_SELECTORS_LEVEL4)
case CSSSelector::PseudoClassPlaceholderShown:
if (is<HTMLTextFormControlElement>(*element)) {
if (context.resolvingMode == Mode::ResolvingStyle) {
@@ -739,7 +738,6 @@
return downcast<HTMLTextFormControlElement>(*element).isPlaceholderVisible();
}
return false;
-#endif
case CSSSelector::PseudoClassNthChild:
if (!selector->parseNth())
break;
Modified: trunk/Source/WebCore/css/SelectorPseudoClassAndCompatibilityElementMap.in (176528 => 176529)
--- trunk/Source/WebCore/css/SelectorPseudoClassAndCompatibilityElementMap.in 2014-11-25 00:15:46 UTC (rev 176528)
+++ trunk/Source/WebCore/css/SelectorPseudoClassAndCompatibilityElementMap.in 2014-11-25 00:20:35 UTC (rev 176529)
@@ -45,9 +45,7 @@
only-of-type
optional
out-of-range
-#if ENABLE(CSS_SELECTORS_LEVEL4)
placeholder-shown
-#endif
read-only
read-write
required
Modified: trunk/Source/WebCore/cssjit/SelectorCompiler.cpp (176528 => 176529)
--- trunk/Source/WebCore/cssjit/SelectorCompiler.cpp 2014-11-25 00:15:46 UTC (rev 176528)
+++ trunk/Source/WebCore/cssjit/SelectorCompiler.cpp 2014-11-25 00:20:35 UTC (rev 176529)
@@ -293,9 +293,7 @@
void generateElementIsInLanguage(Assembler::JumpList& failureCases, const AtomicString&);
void generateElementIsLastChild(Assembler::JumpList& failureCases, const SelectorFragment&);
void generateElementIsOnlyChild(Assembler::JumpList& failureCases, const SelectorFragment&);
-#if ENABLE(CSS_SELECTORS_LEVEL4)
void generateElementHasPlaceholderShown(Assembler::JumpList& failureCases, const SelectorFragment&);
-#endif
void generateSynchronizeStyleAttribute(Assembler::RegisterID elementDataArraySizeAndFlags);
void generateSynchronizeAllAnimatedSVGAttribute(Assembler::RegisterID elementDataArraySizeAndFlags);
void generateElementAttributesMatching(Assembler::JumpList& failureCases, const LocalRegister& elementDataAddress, const SelectorFragment&);
@@ -610,9 +608,7 @@
case CSSSelector::PseudoClassHover:
case CSSSelector::PseudoClassLastChild:
case CSSSelector::PseudoClassOnlyChild:
-#if ENABLE(CSS_SELECTORS_LEVEL4)
case CSSSelector::PseudoClassPlaceholderShown:
-#endif
fragment.pseudoClasses.add(type);
if (selectorContext == SelectorContext::QuerySelector)
return FunctionType::SimpleSelectorChecker;
@@ -2443,10 +2439,8 @@
generateElementIsHovered(matchingPostTagNameFailureCases, fragment);
if (fragment.pseudoClasses.contains(CSSSelector::PseudoClassOnlyChild))
generateElementIsOnlyChild(matchingPostTagNameFailureCases, fragment);
-#if ENABLE(CSS_SELECTORS_LEVEL4)
if (fragment.pseudoClasses.contains(CSSSelector::PseudoClassPlaceholderShown))
generateElementHasPlaceholderShown(matchingPostTagNameFailureCases, fragment);
-#endif
if (fragment.pseudoClasses.contains(CSSSelector::PseudoClassFirstChild))
generateElementIsFirstChild(matchingPostTagNameFailureCases, fragment);
if (fragment.pseudoClasses.contains(CSSSelector::PseudoClassLastChild))
@@ -3287,7 +3281,6 @@
failureCases.append(m_assembler.branchTest32(Assembler::NonZero, isOnlyChildRegister));
}
-#if ENABLE(CSS_SELECTORS_LEVEL4)
static bool makeContextStyleUniqueIfNecessaryAndTestIsPlaceholderShown(Element* element, const SelectorChecker::CheckingContext* checkingContext)
{
if (is<HTMLTextFormControlElement>(*element)) {
@@ -3337,7 +3330,6 @@
functionCall.setTwoArguments(elementAddressRegister, checkingContext);
failureCases.append(functionCall.callAndBranchOnBooleanReturnValue(Assembler::Zero));
}
-#endif
inline void SelectorCodeGenerator::generateElementHasTagName(Assembler::JumpList& failureCases, const QualifiedName& nameToMatch)
{