Diff
Modified: trunk/Source/WebCore/ChangeLog (87234 => 87235)
--- trunk/Source/WebCore/ChangeLog 2011-05-25 00:16:33 UTC (rev 87234)
+++ trunk/Source/WebCore/ChangeLog 2011-05-25 00:18:31 UTC (rev 87235)
@@ -1,3 +1,39 @@
+2011-05-24 Kent Tamura <tk...@chromium.org>
+
+ Reviewed by Dimitri Glazkov.
+
+ Use Element::shadowPseudoId() for text field decoration elements
+ https://bugs.webkit.org/show_bug.cgi?id=61351
+
+ No new tests. Covered by existing tests.
+
+ * css/CSSSelector.cpp: Remove support for the following static pseudo selectors:
+ - -webkit-inner-spin-button
+ - -webkit-input-speech-button
+ - -webkit-outer-spin-button
+ - -webkit-search-cancel-button
+ - -webkit-search-decoration
+ - -webkit-search-results-button
+ - -webkit-search-results-decoration
+ (WebCore::CSSSelector::pseudoId):
+ (WebCore::nameToPseudoTypeMap):
+ (WebCore::CSSSelector::extractPseudoType):
+ * css/CSSSelector.h: ditto.
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::matchRules):
+ Store shadowPseudoId() result in a local variable because
+ SearchFieldResultsButtonElement::shadowPseudoId() is a little expensive.
+ * html/shadow/TextControlInnerElements.cpp:
+ Override Element::shadowPseudoId() instead of Element::styleForRenderer().
+ (WebCore::SearchFieldResultsButtonElement::shadowPseudoId):
+ (WebCore::SearchFieldCancelButtonElement::shadowPseudoId):
+ (WebCore::SpinButtonElement::shadowPseudoId):
+ (WebCore::InputFieldSpeechButtonElement::shadowPseudoId):
+ * html/shadow/TextControlInnerElements.h: Update declarations.
+ * rendering/RenderTextControlSingleLine.cpp: Remove createFooStyle() functions.
+ * rendering/RenderTextControlSingleLine.h: ditto.
+ * rendering/style/RenderStyleConstants.h: Remove unused pseudo IDs.
+
2011-05-24 Dimitri Glazkov <dglaz...@chromium.org>
Sorted WebCore.xcodeproj again.
Modified: trunk/Source/WebCore/css/CSSSelector.cpp (87234 => 87235)
--- trunk/Source/WebCore/css/CSSSelector.cpp 2011-05-25 00:16:33 UTC (rev 87234)
+++ trunk/Source/WebCore/css/CSSSelector.cpp 2011-05-25 00:18:31 UTC (rev 87235)
@@ -130,18 +130,6 @@
return FILE_UPLOAD_BUTTON;
case PseudoInputPlaceholder:
return INPUT_PLACEHOLDER;
-#if ENABLE(INPUT_SPEECH)
- case PseudoInputSpeechButton:
- return INPUT_SPEECH_BUTTON;
-#endif
- case PseudoSearchCancelButton:
- return SEARCH_CANCEL_BUTTON;
- case PseudoSearchDecoration:
- return SEARCH_DECORATION;
- case PseudoSearchResultsDecoration:
- return SEARCH_RESULTS_DECORATION;
- case PseudoSearchResultsButton:
- return SEARCH_RESULTS_BUTTON;
case PseudoScrollbar:
return SCROLLBAR;
case PseudoScrollbarButton:
@@ -156,10 +144,6 @@
return SCROLLBAR_TRACK_PIECE;
case PseudoResizer:
return RESIZER;
- case PseudoInnerSpinButton:
- return INNER_SPIN_BUTTON;
- case PseudoOuterSpinButton:
- return OUTER_SPIN_BUTTON;
#if ENABLE(FULLSCREEN_API)
case PseudoFullScreen:
return FULL_SCREEN;
@@ -250,9 +234,6 @@
DEFINE_STATIC_LOCAL(AtomicString, before, ("before"));
DEFINE_STATIC_LOCAL(AtomicString, checked, ("checked"));
DEFINE_STATIC_LOCAL(AtomicString, fileUploadButton, ("-webkit-file-upload-button"));
-#if ENABLE(INPUT_SPEECH)
- DEFINE_STATIC_LOCAL(AtomicString, inputSpeechButton, ("-webkit-input-speech-button"));
-#endif
DEFINE_STATIC_LOCAL(AtomicString, defaultString, ("default"));
DEFINE_STATIC_LOCAL(AtomicString, disabled, ("disabled"));
DEFINE_STATIC_LOCAL(AtomicString, readOnly, ("read-only"));
@@ -275,7 +256,6 @@
DEFINE_STATIC_LOCAL(AtomicString, focus, ("focus"));
DEFINE_STATIC_LOCAL(AtomicString, hover, ("hover"));
DEFINE_STATIC_LOCAL(AtomicString, indeterminate, ("indeterminate"));
- DEFINE_STATIC_LOCAL(AtomicString, innerSpinButton, ("-webkit-inner-spin-button"));
#if ENABLE(DATALIST)
DEFINE_STATIC_LOCAL(AtomicString, inputListButton, ("-webkit-input-list-button"));
#endif
@@ -288,7 +268,6 @@
DEFINE_STATIC_LOCAL(AtomicString, onlyChild, ("only-child"));
DEFINE_STATIC_LOCAL(AtomicString, onlyOfType, ("only-of-type"));
DEFINE_STATIC_LOCAL(AtomicString, optional, ("optional"));
- DEFINE_STATIC_LOCAL(AtomicString, outerSpinButton, ("-webkit-outer-spin-button"));
DEFINE_STATIC_LOCAL(AtomicString, required, ("required"));
DEFINE_STATIC_LOCAL(AtomicString, resizer, ("-webkit-resizer"));
DEFINE_STATIC_LOCAL(AtomicString, root, ("root"));
@@ -298,10 +277,6 @@
DEFINE_STATIC_LOCAL(AtomicString, scrollbarThumb, ("-webkit-scrollbar-thumb"));
DEFINE_STATIC_LOCAL(AtomicString, scrollbarTrack, ("-webkit-scrollbar-track"));
DEFINE_STATIC_LOCAL(AtomicString, scrollbarTrackPiece, ("-webkit-scrollbar-track-piece"));
- DEFINE_STATIC_LOCAL(AtomicString, searchCancelButton, ("-webkit-search-cancel-button"));
- DEFINE_STATIC_LOCAL(AtomicString, searchDecoration, ("-webkit-search-decoration"));
- DEFINE_STATIC_LOCAL(AtomicString, searchResultsDecoration, ("-webkit-search-results-decoration"));
- DEFINE_STATIC_LOCAL(AtomicString, searchResultsButton, ("-webkit-search-results-button"));
DEFINE_STATIC_LOCAL(AtomicString, selection, ("selection"));
DEFINE_STATIC_LOCAL(AtomicString, target, ("target"));
DEFINE_STATIC_LOCAL(AtomicString, visited, ("visited"));
@@ -340,9 +315,6 @@
nameToPseudoType->set(before.impl(), CSSSelector::PseudoBefore);
nameToPseudoType->set(checked.impl(), CSSSelector::PseudoChecked);
nameToPseudoType->set(fileUploadButton.impl(), CSSSelector::PseudoFileUploadButton);
-#if ENABLE(INPUT_SPEECH)
- nameToPseudoType->set(inputSpeechButton.impl(), CSSSelector::PseudoInputSpeechButton);
-#endif
nameToPseudoType->set(defaultString.impl(), CSSSelector::PseudoDefault);
nameToPseudoType->set(disabled.impl(), CSSSelector::PseudoDisabled);
nameToPseudoType->set(readOnly.impl(), CSSSelector::PseudoReadOnly);
@@ -369,7 +341,6 @@
nameToPseudoType->set(focus.impl(), CSSSelector::PseudoFocus);
nameToPseudoType->set(hover.impl(), CSSSelector::PseudoHover);
nameToPseudoType->set(indeterminate.impl(), CSSSelector::PseudoIndeterminate);
- nameToPseudoType->set(innerSpinButton.impl(), CSSSelector::PseudoInnerSpinButton);
nameToPseudoType->set(link.impl(), CSSSelector::PseudoLink);
nameToPseudoType->set(lang.impl(), CSSSelector::PseudoLang);
nameToPseudoType->set(notStr.impl(), CSSSelector::PseudoNot);
@@ -377,7 +348,6 @@
nameToPseudoType->set(nthOfType.impl(), CSSSelector::PseudoNthOfType);
nameToPseudoType->set(nthLastChild.impl(), CSSSelector::PseudoNthLastChild);
nameToPseudoType->set(nthLastOfType.impl(), CSSSelector::PseudoNthLastOfType);
- nameToPseudoType->set(outerSpinButton.impl(), CSSSelector::PseudoOuterSpinButton);
nameToPseudoType->set(root.impl(), CSSSelector::PseudoRoot);
nameToPseudoType->set(windowInactive.impl(), CSSSelector::PseudoWindowInactive);
nameToPseudoType->set(decrement.impl(), CSSSelector::PseudoDecrement);
@@ -399,10 +369,6 @@
nameToPseudoType->set(scrollbarTrack.impl(), CSSSelector::PseudoScrollbarTrack);
nameToPseudoType->set(scrollbarTrackPiece.impl(), CSSSelector::PseudoScrollbarTrackPiece);
nameToPseudoType->set(cornerPresent.impl(), CSSSelector::PseudoCornerPresent);
- nameToPseudoType->set(searchCancelButton.impl(), CSSSelector::PseudoSearchCancelButton);
- nameToPseudoType->set(searchDecoration.impl(), CSSSelector::PseudoSearchDecoration);
- nameToPseudoType->set(searchResultsDecoration.impl(), CSSSelector::PseudoSearchResultsDecoration);
- nameToPseudoType->set(searchResultsButton.impl(), CSSSelector::PseudoSearchResultsButton);
nameToPseudoType->set(selection.impl(), CSSSelector::PseudoSelection);
nameToPseudoType->set(target.impl(), CSSSelector::PseudoTarget);
nameToPseudoType->set(visited.impl(), CSSSelector::PseudoVisited);
@@ -450,11 +416,6 @@
case PseudoFileUploadButton:
case PseudoInputListButton:
case PseudoInputPlaceholder:
-#if ENABLE(INPUT_SPEECH)
- case PseudoInputSpeechButton:
-#endif
- case PseudoInnerSpinButton:
- case PseudoOuterSpinButton:
case PseudoResizer:
case PseudoScrollbar:
case PseudoScrollbarCorner:
@@ -462,10 +423,6 @@
case PseudoScrollbarThumb:
case PseudoScrollbarTrack:
case PseudoScrollbarTrackPiece:
- case PseudoSearchCancelButton:
- case PseudoSearchDecoration:
- case PseudoSearchResultsDecoration:
- case PseudoSearchResultsButton:
case PseudoSelection:
element = true;
break;
Modified: trunk/Source/WebCore/css/CSSSelector.h (87234 => 87235)
--- trunk/Source/WebCore/css/CSSSelector.h 2011-05-25 00:16:33 UTC (rev 87234)
+++ trunk/Source/WebCore/css/CSSSelector.h 2011-05-25 00:18:31 UTC (rev 87235)
@@ -173,16 +173,7 @@
PseudoNoButton,
PseudoSelection,
PseudoFileUploadButton,
- PseudoSearchCancelButton,
- PseudoSearchDecoration,
- PseudoSearchResultsDecoration,
- PseudoSearchResultsButton,
PseudoInputListButton,
-#if ENABLE(INPUT_SPEECH)
- PseudoInputSpeechButton,
-#endif
- PseudoInnerSpinButton,
- PseudoOuterSpinButton,
PseudoLeftPage,
PseudoRightPage,
PseudoFirstPage,
Modified: trunk/Source/WebCore/css/CSSStyleSelector.cpp (87234 => 87235)
--- trunk/Source/WebCore/css/CSSStyleSelector.cpp 2011-05-25 00:16:33 UTC (rev 87234)
+++ trunk/Source/WebCore/css/CSSStyleSelector.cpp 2011-05-25 00:18:31 UTC (rev 87235)
@@ -708,9 +708,10 @@
for (size_t i = 0; i < size; ++i)
matchRulesForList(rules->getClassRules(classNames[i].impl()), firstRuleIndex, lastRuleIndex, includeEmptyRules);
}
- if (!m_element->shadowPseudoId().isEmpty()) {
+ const AtomicString& pseudoId = m_element->shadowPseudoId();
+ if (!pseudoId.isEmpty()) {
ASSERT(m_styledElement);
- matchRulesForList(rules->getPseudoRules(m_element->shadowPseudoId().impl()), firstRuleIndex, lastRuleIndex, includeEmptyRules);
+ matchRulesForList(rules->getPseudoRules(pseudoId.impl()), firstRuleIndex, lastRuleIndex, includeEmptyRules);
}
matchRulesForList(rules->getTagRules(m_element->localName().impl()), firstRuleIndex, lastRuleIndex, includeEmptyRules);
matchRulesForList(rules->getUniversalRules(), firstRuleIndex, lastRuleIndex, includeEmptyRules);
Modified: trunk/Source/WebCore/html/shadow/TextControlInnerElements.cpp (87234 => 87235)
--- trunk/Source/WebCore/html/shadow/TextControlInnerElements.cpp 2011-05-25 00:16:33 UTC (rev 87234)
+++ trunk/Source/WebCore/html/shadow/TextControlInnerElements.cpp 2011-05-25 00:18:31 UTC (rev 87235)
@@ -121,10 +121,22 @@
return adoptRef(new SearchFieldResultsButtonElement(document));
}
-PassRefPtr<RenderStyle> SearchFieldResultsButtonElement::styleForRenderer()
+const AtomicString& SearchFieldResultsButtonElement::shadowPseudoId() const
{
- RenderTextControlSingleLine* parentRenderer = toRenderTextControlSingleLine(shadowAncestorNode()->renderer());
- return parentRenderer->createResultsButtonStyle(parentRenderer->style());
+ DEFINE_STATIC_LOCAL(AtomicString, resultsId, ("-webkit-search-results-button"));
+ DEFINE_STATIC_LOCAL(AtomicString, resultsDecorationId, ("-webkit-search-results-decoration"));
+ DEFINE_STATIC_LOCAL(AtomicString, decorationId, ("-webkit-search-decoration"));
+ Node* host = shadowAncestorNode();
+ if (!host)
+ return resultsId;
+ if (HTMLInputElement* input = host->toInputElement()) {
+ if (input->maxResults() < 0)
+ return decorationId;
+ if (input->maxResults() > 0)
+ return resultsId;
+ return resultsDecorationId;
+ }
+ return resultsId;
}
void SearchFieldResultsButtonElement::defaultEventHandler(Event* event)
@@ -159,10 +171,10 @@
return adoptRef(new SearchFieldCancelButtonElement(document));
}
-PassRefPtr<RenderStyle> SearchFieldCancelButtonElement::styleForRenderer()
+const AtomicString& SearchFieldCancelButtonElement::shadowPseudoId() const
{
- RenderTextControlSingleLine* parentRenderer = toRenderTextControlSingleLine(shadowAncestorNode()->renderer());
- return parentRenderer->createCancelButtonStyle(parentRenderer->style());
+ DEFINE_STATIC_LOCAL(AtomicString, pseudoId, ("-webkit-search-cancel-button"));
+ return pseudoId;
}
void SearchFieldCancelButtonElement::detach()
@@ -231,10 +243,11 @@
return adoptRef(new SpinButtonElement(document, false));
}
-PassRefPtr<RenderStyle> SpinButtonElement::styleForRenderer()
+const AtomicString& SpinButtonElement::shadowPseudoId() const
{
- RenderTextControlSingleLine* parentRenderer = toRenderTextControlSingleLine(shadowAncestorNode()->renderer());
- return m_isInner ? parentRenderer->createInnerSpinButtonStyle() : parentRenderer->createOuterSpinButtonStyle();
+ DEFINE_STATIC_LOCAL(AtomicString, innerPseudoId, ("-webkit-inner-spin-button"));
+ DEFINE_STATIC_LOCAL(AtomicString, outerPseudoId, ("-webkit-outer-spin-button"));
+ return m_isInner ? innerPseudoId : outerPseudoId;
}
void SpinButtonElement::detach()
@@ -513,10 +526,10 @@
HTMLDivElement::detach();
}
-PassRefPtr<RenderStyle> InputFieldSpeechButtonElement::styleForRenderer()
+const AtomicString& InputFieldSpeechButtonElement::shadowPseudoId() const
{
- RenderTextControlSingleLine* parentRenderer = toRenderTextControlSingleLine(shadowAncestorNode()->renderer());
- return parentRenderer->createSpeechButtonStyle();
+ DEFINE_STATIC_LOCAL(AtomicString, pseudoId, ("-webkit-input-speech-button"));
+ return pseudoId;
}
#endif // ENABLE(INPUT_SPEECH)
Modified: trunk/Source/WebCore/html/shadow/TextControlInnerElements.h (87234 => 87235)
--- trunk/Source/WebCore/html/shadow/TextControlInnerElements.h 2011-05-25 00:16:33 UTC (rev 87234)
+++ trunk/Source/WebCore/html/shadow/TextControlInnerElements.h 2011-05-25 00:18:31 UTC (rev 87235)
@@ -69,7 +69,7 @@
private:
SearchFieldResultsButtonElement(Document*);
- virtual PassRefPtr<RenderStyle> styleForRenderer();
+ virtual const AtomicString& shadowPseudoId() const;
virtual bool isMouseFocusable() const { return false; }
};
@@ -81,7 +81,7 @@
private:
SearchFieldCancelButtonElement(Document*);
- virtual PassRefPtr<RenderStyle> styleForRenderer();
+ virtual const AtomicString& shadowPseudoId() const;
virtual void detach();
virtual bool isMouseFocusable() const { return false; }
@@ -103,7 +103,7 @@
private:
SpinButtonElement(Document*, bool isInner);
- virtual PassRefPtr<RenderStyle> styleForRenderer();
+ virtual const AtomicString& shadowPseudoId() const;
virtual void detach();
virtual bool isSpinButtonElement() const { return true; }
virtual bool isEnabledFormControl() const { return static_cast<Element*>(shadowAncestorNode())->isEnabledFormControl(); }
@@ -151,7 +151,7 @@
InputFieldSpeechButtonElement(Document*);
SpeechInput* speechInput();
void setState(SpeechInputState state);
- virtual PassRefPtr<RenderStyle> styleForRenderer();
+ virtual const AtomicString& shadowPseudoId() const;
virtual bool isMouseFocusable() const { return false; }
virtual void attach();
Modified: trunk/Source/WebCore/rendering/RenderTextControlSingleLine.cpp (87234 => 87235)
--- trunk/Source/WebCore/rendering/RenderTextControlSingleLine.cpp 2011-05-25 00:16:33 UTC (rev 87234)
+++ trunk/Source/WebCore/rendering/RenderTextControlSingleLine.cpp 2011-05-25 00:18:31 UTC (rev 87235)
@@ -737,73 +737,6 @@
return innerBlockStyle.release();
}
-PassRefPtr<RenderStyle> RenderTextControlSingleLine::createResultsButtonStyle(const RenderStyle* startStyle) const
-{
- HTMLInputElement* input = inputElement();
-
- RefPtr<RenderStyle> resultsBlockStyle;
- if (input->maxResults() < 0)
- resultsBlockStyle = getCachedPseudoStyle(SEARCH_DECORATION);
- else if (!input->maxResults())
- resultsBlockStyle = getCachedPseudoStyle(SEARCH_RESULTS_DECORATION);
- else
- resultsBlockStyle = getCachedPseudoStyle(SEARCH_RESULTS_BUTTON);
-
- if (!resultsBlockStyle)
- resultsBlockStyle = RenderStyle::create();
-
- if (startStyle)
- resultsBlockStyle->inheritFrom(startStyle);
-
- return resultsBlockStyle.release();
-}
-
-PassRefPtr<RenderStyle> RenderTextControlSingleLine::createCancelButtonStyle(const RenderStyle* startStyle) const
-{
- RefPtr<RenderStyle> cancelBlockStyle;
-
- if (RefPtr<RenderStyle> pseudoStyle = getCachedPseudoStyle(SEARCH_CANCEL_BUTTON))
- // We may be sharing style with another search field, but we must not share the cancel button style.
- cancelBlockStyle = RenderStyle::clone(pseudoStyle.get());
- else
- cancelBlockStyle = RenderStyle::create();
-
- if (startStyle)
- cancelBlockStyle->inheritFrom(startStyle);
-
- cancelBlockStyle->setVisibility(visibilityForCancelButton());
- return cancelBlockStyle.release();
-}
-
-PassRefPtr<RenderStyle> RenderTextControlSingleLine::createInnerSpinButtonStyle() const
-{
- RefPtr<RenderStyle> buttonStyle = getCachedPseudoStyle(INNER_SPIN_BUTTON);
- if (!buttonStyle)
- buttonStyle = RenderStyle::create();
- buttonStyle->inheritFrom(style());
- return buttonStyle.release();
-}
-
-PassRefPtr<RenderStyle> RenderTextControlSingleLine::createOuterSpinButtonStyle() const
-{
- RefPtr<RenderStyle> buttonStyle = getCachedPseudoStyle(OUTER_SPIN_BUTTON);
- if (!buttonStyle)
- buttonStyle = RenderStyle::create();
- buttonStyle->inheritFrom(style());
- return buttonStyle.release();
-}
-
-#if ENABLE(INPUT_SPEECH)
-PassRefPtr<RenderStyle> RenderTextControlSingleLine::createSpeechButtonStyle() const
-{
- RefPtr<RenderStyle> buttonStyle = getCachedPseudoStyle(INPUT_SPEECH_BUTTON);
- if (!buttonStyle)
- buttonStyle = RenderStyle::create();
- buttonStyle->inheritFrom(style());
- return buttonStyle.release();
-}
-#endif
-
void RenderTextControlSingleLine::updateCancelButtonVisibility() const
{
RenderObject* cancelButtonRenderer = cancelButtonElement()->renderer();
Modified: trunk/Source/WebCore/rendering/RenderTextControlSingleLine.h (87234 => 87235)
--- trunk/Source/WebCore/rendering/RenderTextControlSingleLine.h 2011-05-25 00:16:33 UTC (rev 87234)
+++ trunk/Source/WebCore/rendering/RenderTextControlSingleLine.h 2011-05-25 00:18:31 UTC (rev 87235)
@@ -40,13 +40,6 @@
// FIXME: Move create*Style() to their classes.
virtual PassRefPtr<RenderStyle> createInnerTextStyle(const RenderStyle* startStyle) const;
PassRefPtr<RenderStyle> createInnerBlockStyle(const RenderStyle* startStyle) const;
- PassRefPtr<RenderStyle> createInnerSpinButtonStyle() const;
- PassRefPtr<RenderStyle> createOuterSpinButtonStyle() const;
- PassRefPtr<RenderStyle> createResultsButtonStyle(const RenderStyle* startStyle) const;
- PassRefPtr<RenderStyle> createCancelButtonStyle(const RenderStyle* startStyle) const;
-#if ENABLE(INPUT_SPEECH)
- PassRefPtr<RenderStyle> createSpeechButtonStyle() const;
-#endif
bool placeholderIsVisible() const { return m_placeholderVisible; }
bool placeholderShouldBeVisible() const;
Modified: trunk/Source/WebCore/rendering/style/RenderStyleConstants.h (87234 => 87235)
--- trunk/Source/WebCore/rendering/style/RenderStyleConstants.h 2011-05-25 00:16:33 UTC (rev 87234)
+++ trunk/Source/WebCore/rendering/style/RenderStyleConstants.h 2011-05-25 00:18:31 UTC (rev 87235)
@@ -68,11 +68,11 @@
// Static pseudo styles. Dynamic ones are produced on the fly.
enum PseudoId {
// The order must be NOP ID, public IDs, and then internal IDs.
- NOPSEUDO, FIRST_LINE, FIRST_LETTER, BEFORE, AFTER, SELECTION, FIRST_LINE_INHERITED, SCROLLBAR, FILE_UPLOAD_BUTTON, INPUT_PLACEHOLDER,
- SEARCH_CANCEL_BUTTON, SEARCH_DECORATION, SEARCH_RESULTS_DECORATION, SEARCH_RESULTS_BUTTON,
+ NOPSEUDO, FIRST_LINE, FIRST_LETTER, BEFORE, AFTER, SELECTION, FIRST_LINE_INHERITED, SCROLLBAR,
+ // Internal IDs follow:
+ FILE_UPLOAD_BUTTON, INPUT_PLACEHOLDER,
SCROLLBAR_THUMB, SCROLLBAR_BUTTON, SCROLLBAR_TRACK, SCROLLBAR_TRACK_PIECE, SCROLLBAR_CORNER, RESIZER,
- INPUT_LIST_BUTTON, INPUT_SPEECH_BUTTON, INNER_SPIN_BUTTON, OUTER_SPIN_BUTTON, VISITED_LINK,
- METER_BAR, METER_OPTIMUM, METER_SUBOPTIMAL, METER_EVEN_LESS_GOOD,
+ INPUT_LIST_BUTTON, VISITED_LINK,
AFTER_LAST_INTERNAL_PSEUDOID,
FULL_SCREEN, FULL_SCREEN_DOCUMENT, FULL_SCREEN_MEDIA_DOCUMENT, ANIMATING_FULL_SCREEN_TRANSITION,
FIRST_PUBLIC_PSEUDOID = FIRST_LINE,