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

Unified Diff: third_party/WebKit/Source/core/html/HTMLTextFormControlElement.cpp

Issue 2467263002: INPUT/TEXTAREA elements: Dispatch 'change' event even if a user-edit value is overwritten by JS (Closed)
Patch Set: Created 4 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/html/HTMLTextFormControlElement.cpp
diff --git a/third_party/WebKit/Source/core/html/HTMLTextFormControlElement.cpp b/third_party/WebKit/Source/core/html/HTMLTextFormControlElement.cpp
index 28f1b5d6a5a7a96f271aaa7f89b60bf385fc7565..8c6d287c782fa58b250c34beed1c8051da66197d 100644
--- a/third_party/WebKit/Source/core/html/HTMLTextFormControlElement.cpp
+++ b/third_party/WebKit/Source/core/html/HTMLTextFormControlElement.cpp
@@ -216,8 +216,16 @@ void HTMLTextFormControlElement::setChangedSinceLastFormControlChangeEvent(
void HTMLTextFormControlElement::setFocused(bool flag) {
HTMLFormControlElementWithState::setFocused(flag);
- if (!flag && wasChangedSinceLastFormControlChangeEvent())
- dispatchFormControlChangeEvent();
+ if (!flag) {
+ if (wasChangedSinceLastFormControlChangeEvent()) {
+ dispatchFormControlChangeEvent();
+ } else {
+ // |value| IDL attribute setter haven't updated
+ // textAsOfLastFormControlChangeEvent while this is focused. So we
+ // synchronize now.
+ setTextAsOfLastFormControlChangeEvent(value());
+ }
+ }
}
bool HTMLTextFormControlElement::shouldDispatchFormControlChangeEvent(

Powered by Google App Engine
This is Rietveld 408576698