| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2001 Dirk Mueller (mueller@kde.org) | 4 * (C) 2001 Dirk Mueller (mueller@kde.org) |
| 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r
ights reserved. | 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r
ights reserved. |
| 6 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) | 6 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) |
| 7 * Copyright (C) 2007 Samuel Weinig (sam@webkit.org) | 7 * Copyright (C) 2007 Samuel Weinig (sam@webkit.org) |
| 8 * Copyright (C) 2010 Google Inc. All rights reserved. | 8 * Copyright (C) 2010 Google Inc. All rights reserved. |
| 9 * Copyright (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) | 9 * Copyright (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) |
| 10 * Copyright (C) 2012 Samsung Electronics. All rights reserved. | 10 * Copyright (C) 2012 Samsung Electronics. All rights reserved. |
| (...skipping 637 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 648 m_autocomplete = Uninitialized; | 648 m_autocomplete = Uninitialized; |
| 649 else | 649 else |
| 650 m_autocomplete = On; | 650 m_autocomplete = On; |
| 651 } | 651 } |
| 652 } else if (name == typeAttr) | 652 } else if (name == typeAttr) |
| 653 updateType(); | 653 updateType(); |
| 654 else if (name == valueAttr) { | 654 else if (name == valueAttr) { |
| 655 // We only need to setChanged if the form is looking at the default valu
e right now. | 655 // We only need to setChanged if the form is looking at the default valu
e right now. |
| 656 if (!hasDirtyValue()) { | 656 if (!hasDirtyValue()) { |
| 657 updatePlaceholderVisibility(false); | 657 updatePlaceholderVisibility(false); |
| 658 setNeedsStyleRecalc(SubtreeStyleChange); | 658 setNeedsStyleRecalc(SubtreeStyleChange, StyleChangeReasonForTracing:
:fromAttribute(valueAttr)); |
| 659 } | 659 } |
| 660 m_needsToUpdateViewValue = true; | 660 m_needsToUpdateViewValue = true; |
| 661 setNeedsValidityCheck(); | 661 setNeedsValidityCheck(); |
| 662 m_valueAttributeWasUpdatedAfterParsing = !m_parsingInProgress; | 662 m_valueAttributeWasUpdatedAfterParsing = !m_parsingInProgress; |
| 663 m_inputType->warnIfValueIsInvalidAndElementIsVisible(value); | 663 m_inputType->warnIfValueIsInvalidAndElementIsVisible(value); |
| 664 m_inputTypeView->valueAttributeChanged(); | 664 m_inputTypeView->valueAttributeChanged(); |
| 665 } else if (name == checkedAttr) { | 665 } else if (name == checkedAttr) { |
| 666 // Another radio button in the same group might be checked by state | 666 // Another radio button in the same group might be checked by state |
| 667 // restore. We shouldn't call setChecked() even if this has the checked | 667 // restore. We shouldn't call setChecked() even if this has the checked |
| 668 // attribute. So, delay the setChecked() call until | 668 // attribute. So, delay the setChecked() call until |
| (...skipping 19 matching lines...) Expand all Loading... |
| 688 } else if (name == onsearchAttr) { | 688 } else if (name == onsearchAttr) { |
| 689 // Search field and slider attributes all just cause updateFromElement t
o be called through style recalcing. | 689 // Search field and slider attributes all just cause updateFromElement t
o be called through style recalcing. |
| 690 setAttributeEventListener(EventTypeNames::search, createAttributeEventLi
stener(this, name, value, eventParameterName())); | 690 setAttributeEventListener(EventTypeNames::search, createAttributeEventLi
stener(this, name, value, eventParameterName())); |
| 691 } else if (name == resultsAttr) { | 691 } else if (name == resultsAttr) { |
| 692 int oldResults = m_maxResults; | 692 int oldResults = m_maxResults; |
| 693 m_maxResults = !value.isNull() ? std::min(value.toInt(), maxSavedResults
) : -1; | 693 m_maxResults = !value.isNull() ? std::min(value.toInt(), maxSavedResults
) : -1; |
| 694 // FIXME: Detaching just for maxResults change is not ideal. We should
figure out the right | 694 // FIXME: Detaching just for maxResults change is not ideal. We should
figure out the right |
| 695 // time to relayout for this change. | 695 // time to relayout for this change. |
| 696 if (m_maxResults != oldResults && (m_maxResults <= 0 || oldResults <= 0)
) | 696 if (m_maxResults != oldResults && (m_maxResults <= 0 || oldResults <= 0)
) |
| 697 lazyReattachIfAttached(); | 697 lazyReattachIfAttached(); |
| 698 setNeedsStyleRecalc(SubtreeStyleChange); | 698 setNeedsStyleRecalc(SubtreeStyleChange, StyleChangeReasonForTracing::fro
mAttribute(resultsAttr)); |
| 699 UseCounter::count(document(), UseCounter::ResultsAttribute); | 699 UseCounter::count(document(), UseCounter::ResultsAttribute); |
| 700 } else if (name == incrementalAttr) { | 700 } else if (name == incrementalAttr) { |
| 701 setNeedsStyleRecalc(SubtreeStyleChange); | 701 setNeedsStyleRecalc(SubtreeStyleChange, StyleChangeReasonForTracing::fro
mAttribute(incrementalAttr)); |
| 702 UseCounter::count(document(), UseCounter::IncrementalAttribute); | 702 UseCounter::count(document(), UseCounter::IncrementalAttribute); |
| 703 } else if (name == minAttr) { | 703 } else if (name == minAttr) { |
| 704 m_inputTypeView->minOrMaxAttributeChanged(); | 704 m_inputTypeView->minOrMaxAttributeChanged(); |
| 705 m_inputType->sanitizeValueInResponseToMinOrMaxAttributeChange(); | 705 m_inputType->sanitizeValueInResponseToMinOrMaxAttributeChange(); |
| 706 setNeedsValidityCheck(); | 706 setNeedsValidityCheck(); |
| 707 UseCounter::count(document(), UseCounter::MinAttribute); | 707 UseCounter::count(document(), UseCounter::MinAttribute); |
| 708 } else if (name == maxAttr) { | 708 } else if (name == maxAttr) { |
| 709 m_inputTypeView->minOrMaxAttributeChanged(); | 709 m_inputTypeView->minOrMaxAttributeChanged(); |
| 710 setNeedsValidityCheck(); | 710 setNeedsValidityCheck(); |
| 711 UseCounter::count(document(), UseCounter::MaxAttribute); | 711 UseCounter::count(document(), UseCounter::MaxAttribute); |
| (...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 952 { | 952 { |
| 953 return m_suggestedValue; | 953 return m_suggestedValue; |
| 954 } | 954 } |
| 955 | 955 |
| 956 void HTMLInputElement::setSuggestedValue(const String& value) | 956 void HTMLInputElement::setSuggestedValue(const String& value) |
| 957 { | 957 { |
| 958 if (!m_inputType->canSetSuggestedValue()) | 958 if (!m_inputType->canSetSuggestedValue()) |
| 959 return; | 959 return; |
| 960 m_needsToUpdateViewValue = true; | 960 m_needsToUpdateViewValue = true; |
| 961 m_suggestedValue = sanitizeValue(value); | 961 m_suggestedValue = sanitizeValue(value); |
| 962 setNeedsStyleRecalc(SubtreeStyleChange); | 962 setNeedsStyleRecalc(SubtreeStyleChange, StyleChangeReasonForTracing::create(
StyleChangeReason::ControlValue)); |
| 963 m_inputTypeView->updateView(); | 963 m_inputTypeView->updateView(); |
| 964 } | 964 } |
| 965 | 965 |
| 966 void HTMLInputElement::setEditingValue(const String& value) | 966 void HTMLInputElement::setEditingValue(const String& value) |
| 967 { | 967 { |
| 968 if (!renderer() || !isTextField()) | 968 if (!renderer() || !isTextField()) |
| 969 return; | 969 return; |
| 970 setInnerEditorValue(value); | 970 setInnerEditorValue(value); |
| 971 subtreeHasChanged(); | 971 subtreeHasChanged(); |
| 972 | 972 |
| (...skipping 613 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1586 { | 1586 { |
| 1587 int maxLength; | 1587 int maxLength; |
| 1588 if (!parseHTMLInteger(value, maxLength)) | 1588 if (!parseHTMLInteger(value, maxLength)) |
| 1589 maxLength = maximumLength; | 1589 maxLength = maximumLength; |
| 1590 if (maxLength < 0 || maxLength > maximumLength) | 1590 if (maxLength < 0 || maxLength > maximumLength) |
| 1591 maxLength = maximumLength; | 1591 maxLength = maximumLength; |
| 1592 int oldMaxLength = m_maxLength; | 1592 int oldMaxLength = m_maxLength; |
| 1593 m_maxLength = maxLength; | 1593 m_maxLength = maxLength; |
| 1594 if (oldMaxLength != maxLength) | 1594 if (oldMaxLength != maxLength) |
| 1595 updateValueIfNeeded(); | 1595 updateValueIfNeeded(); |
| 1596 setNeedsStyleRecalc(SubtreeStyleChange); | 1596 setNeedsStyleRecalc(SubtreeStyleChange, StyleChangeReasonForTracing::fromAtt
ribute(maxlengthAttr)); |
| 1597 setNeedsValidityCheck(); | 1597 setNeedsValidityCheck(); |
| 1598 } | 1598 } |
| 1599 | 1599 |
| 1600 void HTMLInputElement::updateValueIfNeeded() | 1600 void HTMLInputElement::updateValueIfNeeded() |
| 1601 { | 1601 { |
| 1602 String newValue = sanitizeValue(m_valueIfDirty); | 1602 String newValue = sanitizeValue(m_valueIfDirty); |
| 1603 ASSERT(!m_valueIfDirty.isNull() || newValue.isNull()); | 1603 ASSERT(!m_valueIfDirty.isNull() || newValue.isNull()); |
| 1604 if (newValue != m_valueIfDirty) | 1604 if (newValue != m_valueIfDirty) |
| 1605 setValue(newValue); | 1605 setValue(newValue); |
| 1606 } | 1606 } |
| (...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1804 { | 1804 { |
| 1805 listAttributeTargetChanged(); | 1805 listAttributeTargetChanged(); |
| 1806 } | 1806 } |
| 1807 | 1807 |
| 1808 AXObject* HTMLInputElement::popupRootAXObject() | 1808 AXObject* HTMLInputElement::popupRootAXObject() |
| 1809 { | 1809 { |
| 1810 return m_inputTypeView->popupRootAXObject(); | 1810 return m_inputTypeView->popupRootAXObject(); |
| 1811 } | 1811 } |
| 1812 | 1812 |
| 1813 } // namespace | 1813 } // namespace |
| OLD | NEW |