summaryrefslogtreecommitdiffstats
path: root/WebCore/html/HTMLOutputElement.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/html/HTMLOutputElement.cpp')
-rw-r--r--WebCore/html/HTMLOutputElement.cpp18
1 files changed, 12 insertions, 6 deletions
diff --git a/WebCore/html/HTMLOutputElement.cpp b/WebCore/html/HTMLOutputElement.cpp
index b83263e..2f1d490 100644
--- a/WebCore/html/HTMLOutputElement.cpp
+++ b/WebCore/html/HTMLOutputElement.cpp
@@ -40,7 +40,7 @@ inline HTMLOutputElement::HTMLOutputElement(const QualifiedName& tagName, Docume
: HTMLFormControlElement(tagName, document, form)
, m_isDefaultValueMode(true)
, m_isSetTextContentInProgress(false)
- , m_defaultValue()
+ , m_defaultValue("")
, m_tokens(DOMSettableTokenList::create())
{
}
@@ -91,6 +91,8 @@ void HTMLOutputElement::reset()
// value mode flag to "default" and then to set the element's textContent
// attribute to the default value.
m_isDefaultValueMode = true;
+ if (m_defaultValue == value())
+ return;
setTextContentInternal(m_defaultValue);
}
@@ -103,6 +105,8 @@ void HTMLOutputElement::setValue(const String& value)
{
// The value mode flag set to "value" when the value attribute is set.
m_isDefaultValueMode = false;
+ if (value == this->value())
+ return;
setTextContentInternal(value);
}
@@ -113,11 +117,13 @@ String HTMLOutputElement::defaultValue() const
void HTMLOutputElement::setDefaultValue(const String& value)
{
- m_defaultValue = value;
- // The spec requires the value attribute set to the default value
- // when the element's value mode flag to "default".
- if (m_isDefaultValueMode)
- setTextContentInternal(value);
+ if (m_defaultValue == value)
+ return;
+ m_defaultValue = value;
+ // The spec requires the value attribute set to the default value
+ // when the element's value mode flag to "default".
+ if (m_isDefaultValueMode)
+ setTextContentInternal(value);
}
void HTMLOutputElement::setTextContentInternal(const String& value)