diff options
Diffstat (limited to 'components/script/dom/htmltextareaelement.rs')
-rw-r--r-- | components/script/dom/htmltextareaelement.rs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/components/script/dom/htmltextareaelement.rs b/components/script/dom/htmltextareaelement.rs index 9ea70e03bd6..fe0c822aa48 100644 --- a/components/script/dom/htmltextareaelement.rs +++ b/components/script/dom/htmltextareaelement.rs @@ -23,6 +23,7 @@ use crate::dom::bindings::error::ErrorResult; use crate::dom::bindings::inheritance::Castable; use crate::dom::bindings::root::{DomRoot, LayoutDom, MutNullableDom}; use crate::dom::bindings::str::DOMString; +use crate::dom::clipboardevent::ClipboardEvent; use crate::dom::compositionevent::CompositionEvent; use crate::dom::document::Document; use crate::dom::element::{AttributeMutation, Element, LayoutElementHelpers}; @@ -42,7 +43,8 @@ use crate::dom::validitystate::{ValidationFlags, ValidityState}; use crate::dom::virtualmethods::VirtualMethods; use crate::script_runtime::CanGc; use crate::textinput::{ - Direction, KeyReaction, Lines, SelectionDirection, TextInput, UTF16CodeUnits, UTF8Bytes, + handle_text_clipboard_action, Direction, KeyReaction, Lines, SelectionDirection, TextInput, + UTF16CodeUnits, UTF8Bytes, }; #[dom_struct] @@ -675,6 +677,10 @@ impl VirtualMethods for HTMLTextAreaElement { } event.mark_as_handled(); } + } else if let Some(clipboard_event) = event.downcast::<ClipboardEvent>() { + if !event.DefaultPrevented() { + handle_text_clipboard_action(self, &self.textinput, clipboard_event, CanGc::note()); + } } self.validity_state() |