| 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 324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 335 break; | 335 break; |
| 336 case SelectionBehaviorOnFocus::Restore: | 336 case SelectionBehaviorOnFocus::Restore: |
| 337 restoreCachedSelection(); | 337 restoreCachedSelection(); |
| 338 break; | 338 break; |
| 339 case SelectionBehaviorOnFocus::None: | 339 case SelectionBehaviorOnFocus::None: |
| 340 return; | 340 return; |
| 341 } | 341 } |
| 342 // TODO(tkent): scrollRectToVisible is a workaround of a bug of | 342 // TODO(tkent): scrollRectToVisible is a workaround of a bug of |
| 343 // FrameSelection::revealSelection(). It doesn't scroll correctly in a | 343 // FrameSelection::revealSelection(). It doesn't scroll correctly in a |
| 344 // case of RangeSelection. crbug.com/443061. | 344 // case of RangeSelection. crbug.com/443061. |
| 345 if (layoutObject()) | 345 if (hasLayoutObject()) |
| 346 layoutObject()->scrollRectToVisible(boundingBox()); | 346 layoutObject()->scrollRectToVisible(boundingBox()); |
| 347 if (document().frame()) | 347 if (document().frame()) |
| 348 document().frame()->selection().revealSelection(); | 348 document().frame()->selection().revealSelection(); |
| 349 } else { | 349 } else { |
| 350 HTMLTextFormControlElement::updateFocusAppearance(selectionBehavior); | 350 HTMLTextFormControlElement::updateFocusAppearance(selectionBehavior); |
| 351 } | 351 } |
| 352 } | 352 } |
| 353 | 353 |
| 354 void HTMLInputElement::beginEditing() | 354 void HTMLInputElement::beginEditing() |
| 355 { | 355 { |
| (...skipping 530 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 886 void HTMLInputElement::setChecked(bool nowChecked, TextFieldEventBehavior eventB
ehavior) | 886 void HTMLInputElement::setChecked(bool nowChecked, TextFieldEventBehavior eventB
ehavior) |
| 887 { | 887 { |
| 888 m_dirtyCheckedness = true; | 888 m_dirtyCheckedness = true; |
| 889 if (checked() == nowChecked) | 889 if (checked() == nowChecked) |
| 890 return; | 890 return; |
| 891 | 891 |
| 892 m_isChecked = nowChecked; | 892 m_isChecked = nowChecked; |
| 893 | 893 |
| 894 if (RadioButtonGroupScope* scope = radioButtonGroupScope()) | 894 if (RadioButtonGroupScope* scope = radioButtonGroupScope()) |
| 895 scope->updateCheckedState(this); | 895 scope->updateCheckedState(this); |
| 896 if (layoutObject()) | 896 if (hasLayoutObject()) |
| 897 LayoutTheme::theme().controlStateChanged(*layoutObject(), CheckedControl
State); | 897 LayoutTheme::theme().controlStateChanged(*layoutObject(), CheckedControl
State); |
| 898 | 898 |
| 899 setNeedsValidityCheck(); | 899 setNeedsValidityCheck(); |
| 900 | 900 |
| 901 // Ideally we'd do this from the layout tree (matching | 901 // Ideally we'd do this from the layout tree (matching |
| 902 // LayoutTextView), but it's not possible to do it at the moment | 902 // LayoutTextView), but it's not possible to do it at the moment |
| 903 // because of the way the code is structured. | 903 // because of the way the code is structured. |
| 904 if (layoutObject()) { | 904 if (hasLayoutObject()) { |
| 905 if (AXObjectCache* cache = layoutObject()->document().existingAXObjectCa
che()) | 905 if (AXObjectCache* cache = layoutObject()->document().existingAXObjectCa
che()) |
| 906 cache->checkedStateChanged(this); | 906 cache->checkedStateChanged(this); |
| 907 } | 907 } |
| 908 | 908 |
| 909 // Only send a change event for items in the document (avoid firing during | 909 // Only send a change event for items in the document (avoid firing during |
| 910 // parsing) and don't send a change event for a radio button that's getting | 910 // parsing) and don't send a change event for a radio button that's getting |
| 911 // unchecked to match other browsers. DOM is not a useful standard for this | 911 // unchecked to match other browsers. DOM is not a useful standard for this |
| 912 // because it says only to fire change events at "lose focus" time, which is | 912 // because it says only to fire change events at "lose focus" time, which is |
| 913 // definitely wrong in practice for these types of elements. | 913 // definitely wrong in practice for these types of elements. |
| 914 if (eventBehavior != DispatchNoEvent && inShadowIncludingDocument() && m_inp
utType->shouldSendChangeEventAfterCheckedChanged()) { | 914 if (eventBehavior != DispatchNoEvent && inShadowIncludingDocument() && m_inp
utType->shouldSendChangeEventAfterCheckedChanged()) { |
| 915 setTextAsOfLastFormControlChangeEvent(String()); | 915 setTextAsOfLastFormControlChangeEvent(String()); |
| 916 if (eventBehavior == DispatchInputAndChangeEvent) | 916 if (eventBehavior == DispatchInputAndChangeEvent) |
| 917 dispatchFormControlInputEvent(); | 917 dispatchFormControlInputEvent(); |
| 918 } | 918 } |
| 919 | 919 |
| 920 pseudoStateChanged(CSSSelector::PseudoChecked); | 920 pseudoStateChanged(CSSSelector::PseudoChecked); |
| 921 } | 921 } |
| 922 | 922 |
| 923 void HTMLInputElement::setIndeterminate(bool newValue) | 923 void HTMLInputElement::setIndeterminate(bool newValue) |
| 924 { | 924 { |
| 925 if (indeterminate() == newValue) | 925 if (indeterminate() == newValue) |
| 926 return; | 926 return; |
| 927 | 927 |
| 928 m_isIndeterminate = newValue; | 928 m_isIndeterminate = newValue; |
| 929 | 929 |
| 930 pseudoStateChanged(CSSSelector::PseudoIndeterminate); | 930 pseudoStateChanged(CSSSelector::PseudoIndeterminate); |
| 931 | 931 |
| 932 if (layoutObject()) | 932 if (hasLayoutObject()) |
| 933 LayoutTheme::theme().controlStateChanged(*layoutObject(), CheckedControl
State); | 933 LayoutTheme::theme().controlStateChanged(*layoutObject(), CheckedControl
State); |
| 934 } | 934 } |
| 935 | 935 |
| 936 int HTMLInputElement::size() const | 936 int HTMLInputElement::size() const |
| 937 { | 937 { |
| 938 return m_size; | 938 return m_size; |
| 939 } | 939 } |
| 940 | 940 |
| 941 bool HTMLInputElement::sizeShouldIncludeDecoration(int& preferredSize) const | 941 bool HTMLInputElement::sizeShouldIncludeDecoration(int& preferredSize) const |
| 942 { | 942 { |
| (...skipping 462 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1405 bool HTMLInputElement::canReceiveDroppedFiles() const | 1405 bool HTMLInputElement::canReceiveDroppedFiles() const |
| 1406 { | 1406 { |
| 1407 return m_canReceiveDroppedFiles; | 1407 return m_canReceiveDroppedFiles; |
| 1408 } | 1408 } |
| 1409 | 1409 |
| 1410 void HTMLInputElement::setCanReceiveDroppedFiles(bool canReceiveDroppedFiles) | 1410 void HTMLInputElement::setCanReceiveDroppedFiles(bool canReceiveDroppedFiles) |
| 1411 { | 1411 { |
| 1412 if (!!m_canReceiveDroppedFiles == canReceiveDroppedFiles) | 1412 if (!!m_canReceiveDroppedFiles == canReceiveDroppedFiles) |
| 1413 return; | 1413 return; |
| 1414 m_canReceiveDroppedFiles = canReceiveDroppedFiles; | 1414 m_canReceiveDroppedFiles = canReceiveDroppedFiles; |
| 1415 if (layoutObject()) | 1415 if (hasLayoutObject()) |
| 1416 layoutObject()->updateFromElement(); | 1416 layoutObject()->updateFromElement(); |
| 1417 } | 1417 } |
| 1418 | 1418 |
| 1419 String HTMLInputElement::sanitizeValue(const String& proposedValue) const | 1419 String HTMLInputElement::sanitizeValue(const String& proposedValue) const |
| 1420 { | 1420 { |
| 1421 if (proposedValue.isNull()) | 1421 if (proposedValue.isNull()) |
| 1422 return proposedValue; | 1422 return proposedValue; |
| 1423 return m_inputType->sanitizeValue(proposedValue); | 1423 return m_inputType->sanitizeValue(proposedValue); |
| 1424 } | 1424 } |
| 1425 | 1425 |
| (...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1908 void HTMLInputElement::ensurePrimaryContent() | 1908 void HTMLInputElement::ensurePrimaryContent() |
| 1909 { | 1909 { |
| 1910 m_inputTypeView->ensurePrimaryContent(); | 1910 m_inputTypeView->ensurePrimaryContent(); |
| 1911 } | 1911 } |
| 1912 | 1912 |
| 1913 bool HTMLInputElement::hasFallbackContent() const | 1913 bool HTMLInputElement::hasFallbackContent() const |
| 1914 { | 1914 { |
| 1915 return m_inputTypeView->hasFallbackContent(); | 1915 return m_inputTypeView->hasFallbackContent(); |
| 1916 } | 1916 } |
| 1917 } // namespace blink | 1917 } // namespace blink |
| OLD | NEW |