| Index: third_party/WebKit/Source/core/html/HTMLInputElement.cpp
|
| diff --git a/third_party/WebKit/Source/core/html/HTMLInputElement.cpp b/third_party/WebKit/Source/core/html/HTMLInputElement.cpp
|
| index 70b8966a0a19db924cba7bdd3a723e4318fa4d0e..e5f9407cb414fd201a024017e55605a2231b4afd 100644
|
| --- a/third_party/WebKit/Source/core/html/HTMLInputElement.cpp
|
| +++ b/third_party/WebKit/Source/core/html/HTMLInputElement.cpp
|
| @@ -389,7 +389,7 @@ void HTMLInputElement::initializeTypeInParsing() {
|
| m_inputTypeView = m_inputType->createView();
|
| String defaultValue = fastGetAttribute(valueAttr);
|
| if (m_inputType->valueMode() == ValueMode::kValue)
|
| - m_valueIfDirty = sanitizeValue(defaultValue);
|
| + m_nonAttributeValue = sanitizeValue(defaultValue);
|
| ensureUserAgentShadowRoot();
|
|
|
| setNeedsWillValidateCheck();
|
| @@ -441,8 +441,8 @@ void HTMLInputElement::updateType() {
|
| (newValueMode == ValueMode::kDefault ||
|
| newValueMode == ValueMode::kDefaultOn)) {
|
| if (hasDirtyValue())
|
| - setAttribute(valueAttr, AtomicString(m_valueIfDirty));
|
| - m_valueIfDirty = String();
|
| + setAttribute(valueAttr, AtomicString(m_nonAttributeValue));
|
| + m_nonAttributeValue = String();
|
| m_hasDirtyValue = false;
|
| }
|
| // 2. Otherwise, if the previous state of the element's type attribute put the
|
| @@ -455,7 +455,7 @@ void HTMLInputElement::updateType() {
|
| newValueMode == ValueMode::kValue) {
|
| AtomicString valueString = fastGetAttribute(valueAttr);
|
| m_inputType->warnIfValueIsInvalid(valueString);
|
| - m_valueIfDirty = sanitizeValue(valueString);
|
| + m_nonAttributeValue = sanitizeValue(valueString);
|
| m_hasDirtyValue = false;
|
| }
|
| // 3. Otherwise, if the previous state of the element's type attribute put the
|
| @@ -464,7 +464,7 @@ void HTMLInputElement::updateType() {
|
| // filename mode, then set the value of the element to the empty string.
|
| else if (oldValueMode != ValueMode::kFilename &&
|
| newValueMode == ValueMode::kFilename) {
|
| - m_valueIfDirty = String();
|
| + m_nonAttributeValue = String();
|
| m_hasDirtyValue = false;
|
|
|
| } else {
|
| @@ -476,8 +476,8 @@ void HTMLInputElement::updateType() {
|
| }
|
|
|
| if (newValueMode == ValueMode::kValue) {
|
| - String newValue = sanitizeValue(m_valueIfDirty);
|
| - if (!equalIgnoringNullity(newValue, m_valueIfDirty)) {
|
| + String newValue = sanitizeValue(m_nonAttributeValue);
|
| + if (!equalIgnoringNullity(newValue, m_nonAttributeValue)) {
|
| if (hasDirtyValue())
|
| setValue(newValue);
|
| else
|
| @@ -728,8 +728,8 @@ void HTMLInputElement::parseAttribute(const QualifiedName& name,
|
| // right now.
|
| if (!hasDirtyValue()) {
|
| if (m_inputType->valueMode() == ValueMode::kValue) {
|
| - m_valueIfDirty = sanitizeValue(value);
|
| - setTextAsOfLastFormControlChangeEvent(m_valueIfDirty);
|
| + m_nonAttributeValue = sanitizeValue(value);
|
| + setTextAsOfLastFormControlChangeEvent(m_nonAttributeValue);
|
| }
|
| updatePlaceholderVisibility();
|
| setNeedsStyleRecalc(
|
| @@ -996,7 +996,7 @@ void HTMLInputElement::copyNonAttributePropertiesFromElement(
|
| const HTMLInputElement& sourceElement =
|
| static_cast<const HTMLInputElement&>(source);
|
|
|
| - m_valueIfDirty = sourceElement.m_valueIfDirty;
|
| + m_nonAttributeValue = sourceElement.m_nonAttributeValue;
|
| m_hasDirtyValue = sourceElement.m_hasDirtyValue;
|
| setChecked(sourceElement.m_isChecked);
|
| m_dirtyCheckedness = sourceElement.m_dirtyCheckedness;
|
| @@ -1011,14 +1011,8 @@ void HTMLInputElement::copyNonAttributePropertiesFromElement(
|
|
|
| String HTMLInputElement::value() const {
|
| switch (m_inputType->valueMode()) {
|
| - case ValueMode::kFilename: {
|
| - String value;
|
| - // TODO(tkent): The bool return value of getTypeSpecificValue() doesn't
|
| - // make sense. FileInputType::getTypeSpecificValue() always returns true.
|
| - bool result = m_inputType->getTypeSpecificValue(value);
|
| - DCHECK(result);
|
| - return value;
|
| - }
|
| + case ValueMode::kFilename:
|
| + return m_inputType->valueInFilenameValueMode();
|
| case ValueMode::kDefault:
|
| return fastGetAttribute(valueAttr);
|
| case ValueMode::kDefaultOn: {
|
| @@ -1026,18 +1020,17 @@ String HTMLInputElement::value() const {
|
| return valueString.isNull() ? "on" : valueString;
|
| }
|
| case ValueMode::kValue:
|
| - return m_valueIfDirty;
|
| + return m_nonAttributeValue;
|
| }
|
| NOTREACHED();
|
| return emptyString();
|
| }
|
|
|
| -String HTMLInputElement::valueWithDefault() const {
|
| +String HTMLInputElement::valueOrDefaultLabel() const {
|
| String value = this->value();
|
| if (!value.isNull())
|
| return value;
|
| -
|
| - return m_inputType->defaultValue();
|
| + return m_inputType->defaultLabel();
|
| }
|
|
|
| void HTMLInputElement::setValueForUser(const String& value) {
|
| @@ -1119,7 +1112,7 @@ void HTMLInputElement::setValue(const String& value,
|
| void HTMLInputElement::setNonAttributeValue(const String& sanitizedValue) {
|
| // This is a common code for ValueMode::kValue.
|
| DCHECK_EQ(m_inputType->valueMode(), ValueMode::kValue);
|
| - m_valueIfDirty = sanitizedValue;
|
| + m_nonAttributeValue = sanitizedValue;
|
| m_hasDirtyValue = true;
|
| setNeedsValidityCheck();
|
| if (m_inputType->isSteppable()) {
|
| @@ -1185,7 +1178,7 @@ void HTMLInputElement::setValueFromRenderer(const String& value) {
|
| m_inputType->sanitizeUserInputValue(value).isEmpty());
|
|
|
| DCHECK(!value.isNull());
|
| - m_valueIfDirty = value;
|
| + m_nonAttributeValue = value;
|
| m_hasDirtyValue = true;
|
| m_needsToUpdateViewValue = false;
|
|
|
|
|