Index: Source/core/html/HTMLInputElement.cpp |
diff --git a/Source/core/html/HTMLInputElement.cpp b/Source/core/html/HTMLInputElement.cpp |
index 53526f27867af0be1eb798fe217be25a152efd8b..7bed5290c843e2411ad55ffd4eee05d830a67963 100644 |
--- a/Source/core/html/HTMLInputElement.cpp |
+++ b/Source/core/html/HTMLInputElement.cpp |
@@ -857,6 +857,7 @@ void HTMLInputElement::setChecked(bool nowChecked, TextFieldEventBehavior eventB |
if (checked() == nowChecked) |
return; |
+ RefPtr<HTMLInputElement> protector(this); |
m_reflectsCheckedAttribute = false; |
m_isChecked = nowChecked; |
setNeedsStyleRecalc(SubtreeStyleChange); |
@@ -883,6 +884,8 @@ void HTMLInputElement::setChecked(bool nowChecked, TextFieldEventBehavior eventB |
// definitely wrong in practice for these types of elements. |
if (eventBehavior != DispatchNoEvent && inDocument() && m_inputType->shouldSendChangeEventAfterCheckedChanged()) { |
setTextAsOfLastFormControlChangeEvent(String()); |
+ if (eventBehavior == DispatchInputAndChangeEvent) |
+ dispatchFormControlInputEvent(); |
dispatchFormControlChangeEvent(); |
} |