diff options
Diffstat (limited to 'components/script/dom/htmltextareaelement.rs')
-rwxr-xr-x | components/script/dom/htmltextareaelement.rs | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/components/script/dom/htmltextareaelement.rs b/components/script/dom/htmltextareaelement.rs index 74db028859a..2582b13514a 100755 --- a/components/script/dom/htmltextareaelement.rs +++ b/components/script/dom/htmltextareaelement.rs @@ -403,17 +403,6 @@ impl VirtualMethods for HTMLTextAreaElement { KeyReaction::DispatchInput => { self.value_changed.set(true); self.update_placeholder_shown_state(); - - if event.IsTrusted() { - let window = window_from_node(self); - let _ = window.user_interaction_task_source().queue_event( - &self.upcast(), - atom!("input"), - EventBubbles::Bubbles, - EventCancelable::NotCancelable, - &window); - } - self.upcast::<Node>().dirty(NodeDamage::OtherNodeDamage); event.mark_as_handled(); } @@ -424,6 +413,16 @@ impl VirtualMethods for HTMLTextAreaElement { KeyReaction::Nothing => (), } } + } else if event.type_() == atom!("keypress") && !event.DefaultPrevented() { + if event.IsTrusted() { + let window = window_from_node(self); + let _ = window.user_interaction_task_source() + .queue_event(&self.upcast(), + atom!("input"), + EventBubbles::Bubbles, + EventCancelable::NotCancelable, + &window); + } } } } |