Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(131)

Side by Side Diff: Source/core/html/HTMLInputElement.cpp

Issue 23851005: Change event isn't firing when the user reverts the value of a color/date/time input after JS cha… (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: updated test expectation Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 1010 matching lines...) Expand 10 before | Expand all | Expand 10 after
1021 return; 1021 return;
1022 1022
1023 RefPtr<HTMLInputElement> protector(this); 1023 RefPtr<HTMLInputElement> protector(this);
1024 EventQueueScope scope; 1024 EventQueueScope scope;
1025 String sanitizedValue = sanitizeValue(value); 1025 String sanitizedValue = sanitizeValue(value);
1026 bool valueChanged = sanitizedValue != this->value(); 1026 bool valueChanged = sanitizedValue != this->value();
1027 1027
1028 setLastChangeWasNotUserEdit(); 1028 setLastChangeWasNotUserEdit();
1029 setFormControlValueMatchesRenderer(false); 1029 setFormControlValueMatchesRenderer(false);
1030 m_suggestedValue = String(); // Prevent TextFieldInputType::setValue from us ing the suggested value. 1030 m_suggestedValue = String(); // Prevent TextFieldInputType::setValue from us ing the suggested value.
1031
1031 m_inputType->setValue(sanitizedValue, valueChanged, eventBehavior); 1032 m_inputType->setValue(sanitizedValue, valueChanged, eventBehavior);
1032 1033
1034 if (valueChanged && eventBehavior == DispatchNoEvent)
1035 setTextAsOfLastFormControlChangeEvent(sanitizedValue);
1036
1033 if (!valueChanged) 1037 if (!valueChanged)
1034 return; 1038 return;
1035 1039
1036 notifyFormStateChanged(); 1040 notifyFormStateChanged();
1037 } 1041 }
1038 1042
1039 void HTMLInputElement::setValueInternal(const String& sanitizedValue, TextFieldE ventBehavior eventBehavior) 1043 void HTMLInputElement::setValueInternal(const String& sanitizedValue, TextFieldE ventBehavior eventBehavior)
1040 { 1044 {
1041 m_valueIfDirty = sanitizedValue; 1045 m_valueIfDirty = sanitizedValue;
1042 m_wasModifiedByUser = eventBehavior != DispatchNoEvent; 1046 m_wasModifiedByUser = eventBehavior != DispatchNoEvent;
(...skipping 831 matching lines...) Expand 10 before | Expand all | Expand 10 after
1874 } 1878 }
1875 1879
1876 #if ENABLE(INPUT_MULTIPLE_FIELDS_UI) 1880 #if ENABLE(INPUT_MULTIPLE_FIELDS_UI)
1877 PassRefPtr<RenderStyle> HTMLInputElement::customStyleForRenderer() 1881 PassRefPtr<RenderStyle> HTMLInputElement::customStyleForRenderer()
1878 { 1882 {
1879 return m_inputTypeView->customStyleForRenderer(originalStyleForRenderer()); 1883 return m_inputTypeView->customStyleForRenderer(originalStyleForRenderer());
1880 } 1884 }
1881 #endif 1885 #endif
1882 1886
1883 } // namespace 1887 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698