aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/htmltextareaelement.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/htmltextareaelement.rs')
-rw-r--r--components/script/dom/htmltextareaelement.rs8
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()