Index: Source/core/html/HTMLInputElement.cpp |
diff --git a/Source/core/html/HTMLInputElement.cpp b/Source/core/html/HTMLInputElement.cpp |
index e6655c4e0056eb3a8929433d30f8412ad9d96421..7330bee480368c06758a73ffda7fd7ebcf170718 100644 |
--- a/Source/core/html/HTMLInputElement.cpp |
+++ b/Source/core/html/HTMLInputElement.cpp |
@@ -32,6 +32,7 @@ |
#include "CSSPropertyNames.h" |
#include "CSSValueKeywords.h" |
#include "HTMLNames.h" |
+#include "RuntimeEnabledFeatures.h" |
#include "bindings/v8/ScriptEventListener.h" |
#include "core/accessibility/AXObjectCache.h" |
#include "core/css/resolver/StyleResolver.h" |
@@ -62,7 +63,6 @@ |
#include "core/html/parser/HTMLParserIdioms.h" |
#include "core/page/Frame.h" |
#include "core/page/FrameView.h" |
-#include "RuntimeEnabledFeatures.h" |
#include "core/page/UseCounter.h" |
#include "core/platform/DateTimeChooser.h" |
#include "core/platform/Language.h" |
@@ -78,17 +78,12 @@ |
#include "core/html/ColorInputType.h" |
#endif |
-#if ENABLE(INPUT_SPEECH) |
-#include "RuntimeEnabledFeatures.h" |
-#endif |
- |
using namespace std; |
namespace WebCore { |
using namespace HTMLNames; |
-#if ENABLE(DATALIST_ELEMENT) |
class ListAttributeTargetObserver : IdTargetObserver { |
WTF_MAKE_FAST_ALLOCATED; |
public: |
@@ -100,7 +95,6 @@ private: |
HTMLInputElement* m_element; |
}; |
-#endif |
// FIXME: According to HTML4, the length attribute's value can be arbitrarily |
// large. However, due to https://bugs.webkit.org/show_bug.cgi?id=14536 things |
@@ -122,9 +116,7 @@ HTMLInputElement::HTMLInputElement(const QualifiedName& tagName, Document* docum |
, m_isActivatedSubmit(false) |
, m_autocomplete(Uninitialized) |
, m_isAutofilled(false) |
-#if ENABLE(DATALIST_ELEMENT) |
, m_hasNonEmptyList(false) |
-#endif |
, m_stateRestored(false) |
, m_parsingInProgress(createdByParser) |
, m_valueAttributeWasUpdatedAfterParsing(false) |
@@ -345,12 +337,10 @@ StepRange HTMLInputElement::createStepRange(AnyStepHandling anyStepHandling) con |
return m_inputType->createStepRange(anyStepHandling); |
} |
-#if ENABLE(DATALIST_ELEMENT) |
Decimal HTMLInputElement::findClosestTickMarkValue(const Decimal& value) |
{ |
return m_inputType->findClosestTickMarkValue(value); |
} |
-#endif |
void HTMLInputElement::stepUp(int n, ExceptionCode& ec) |
{ |
@@ -700,9 +690,7 @@ void HTMLInputElement::parseAttribute(const QualifiedName& name, const AtomicStr |
} else if (name == readonlyAttr) { |
HTMLTextFormControlElement::parseAttribute(name, value); |
m_inputType->readonlyAttributeChanged(); |
- } |
-#if ENABLE(DATALIST_ELEMENT) |
- else if (name == listAttr) { |
+ } else if (name == listAttr) { |
m_hasNonEmptyList = !value.isEmpty(); |
if (m_hasNonEmptyList) { |
resetListAttributeTargetObserver(); |
@@ -710,7 +698,6 @@ void HTMLInputElement::parseAttribute(const QualifiedName& name, const AtomicStr |
} |
UseCounter::count(document(), UseCounter::ListAttribute); |
} |
-#endif |
#if ENABLE(INPUT_SPEECH) |
else if (name == webkitspeechAttr) { |
if (renderer()) { |
@@ -1425,9 +1412,7 @@ Node::InsertionNotificationRequest HTMLInputElement::insertedInto(ContainerNode* |
HTMLTextFormControlElement::insertedInto(insertionPoint); |
if (insertionPoint->inDocument() && !form()) |
addToRadioButtonGroup(); |
-#if ENABLE(DATALIST_ELEMENT) |
resetListAttributeTargetObserver(); |
-#endif |
return InsertionDone; |
} |
@@ -1437,9 +1422,7 @@ void HTMLInputElement::removedFrom(ContainerNode* insertionPoint) |
removeFromRadioButtonGroup(); |
HTMLTextFormControlElement::removedFrom(insertionPoint); |
ASSERT(!inDocument()); |
-#if ENABLE(DATALIST_ELEMENT) |
resetListAttributeTargetObserver(); |
-#endif |
} |
void HTMLInputElement::didMoveToNewDocument(Document* oldDocument) |
@@ -1489,7 +1472,6 @@ void HTMLInputElement::selectColorInColorChooser(const Color& color) |
} |
#endif |
-#if ENABLE(DATALIST_ELEMENT) |
HTMLElement* HTMLInputElement::list() const |
{ |
return dataList(); |
@@ -1524,7 +1506,6 @@ void HTMLInputElement::listAttributeTargetChanged() |
{ |
m_inputType->listAttributeTargetChanged(); |
} |
-#endif // ENABLE(DATALIST_ELEMENT) |
bool HTMLInputElement::isSteppable() const |
{ |
@@ -1787,7 +1768,6 @@ void HTMLInputElement::setWidth(unsigned width) |
setAttribute(widthAttr, String::number(width)); |
} |
-#if ENABLE(DATALIST_ELEMENT) |
PassOwnPtr<ListAttributeTargetObserver> ListAttributeTargetObserver::create(const AtomicString& id, HTMLInputElement* element) |
{ |
return adoptPtr(new ListAttributeTargetObserver(id, element)); |
@@ -1803,7 +1783,6 @@ void ListAttributeTargetObserver::idTargetChanged() |
{ |
m_element->listAttributeTargetChanged(); |
} |
-#endif |
void HTMLInputElement::setRangeText(const String& replacement, ExceptionCode& ec) |
{ |
@@ -1853,18 +1832,18 @@ bool HTMLInputElement::setupDateTimeChooserParameters(DateTimeChooserParameters& |
parameters.anchorRectInRootView = document()->view()->contentsToRootView(pixelSnappedBoundingBox()); |
parameters.currentValue = value(); |
parameters.isAnchorElementRTL = computedStyle()->direction() == RTL; |
-#if ENABLE(DATALIST_ELEMENT) |
- if (HTMLDataListElement* dataList = this->dataList()) { |
- RefPtr<HTMLCollection> options = dataList->options(); |
- for (unsigned i = 0; HTMLOptionElement* option = toHTMLOptionElement(options->item(i)); ++i) { |
- if (!isValidValue(option->value())) |
- continue; |
- parameters.suggestionValues.append(sanitizeValue(option->value())); |
- parameters.localizedSuggestionValues.append(localizeValue(option->value())); |
- parameters.suggestionLabels.append(option->value() == option->label() ? String() : option->label()); |
+ if (RuntimeEnabledFeatures::dataListElementEnabled()) { |
+ if (HTMLDataListElement* dataList = this->dataList()) { |
+ RefPtr<HTMLCollection> options = dataList->options(); |
+ for (unsigned i = 0; HTMLOptionElement* option = toHTMLOptionElement(options->item(i)); ++i) { |
+ if (!isValidValue(option->value())) |
+ continue; |
+ parameters.suggestionValues.append(sanitizeValue(option->value())); |
+ parameters.localizedSuggestionValues.append(localizeValue(option->value())); |
+ parameters.suggestionLabels.append(option->value() == option->label() ? String() : option->label()); |
+ } |
} |
} |
-#endif |
return true; |
} |
@@ -1876,9 +1855,7 @@ void HTMLInputElement::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) con |
info.addMember(m_valueIfDirty, "valueIfDirty"); |
info.addMember(m_suggestedValue, "suggestedValue"); |
info.addMember(m_inputType, "inputType"); |
-#if ENABLE(DATALIST_ELEMENT) |
info.addMember(m_listAttributeTargetObserver, "listAttributeTargetObserver"); |
-#endif |
} |
#if ENABLE(INPUT_MULTIPLE_FIELDS_UI) |