From b936fea79de985213c053e67f77458b37f4b2995 Mon Sep 17 00:00:00 2001 From: Pyfisch Date: Sat, 17 Nov 2018 17:02:31 +0100 Subject: Forward WebDriver CompositionEvent Dispatch composition events in JS. Insert characters from composition events to text input. CompositionEvents currently can only be created by WebDriver and not by embedders. --- components/script/script_thread.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'components/script/script_thread.rs') diff --git a/components/script/script_thread.rs b/components/script/script_thread.rs index 4b866f6d996..166e98bac56 100644 --- a/components/script/script_thread.rs +++ b/components/script/script_thread.rs @@ -113,7 +113,7 @@ use profile_traits::time::{self as profile_time, profile, ProfilerCategory}; use script_layout_interface::message::{self, Msg, NewLayoutThreadInfo, ReflowGoal}; use script_traits::webdriver_msg::WebDriverScriptCommand; use script_traits::CompositorEvent::{ - KeyboardEvent, MouseButtonEvent, MouseMoveEvent, ResizeEvent, TouchEvent, + CompositionEvent, KeyboardEvent, MouseButtonEvent, MouseMoveEvent, ResizeEvent, TouchEvent, }; use script_traits::{CompositorEvent, ConstellationControlMsg}; use script_traits::{DiscardBrowsingContext, DocumentActivity, EventResult}; @@ -2881,6 +2881,14 @@ impl ScriptThread { }; document.dispatch_key_event(key_event); }, + + CompositionEvent(composition_event) => { + let document = match { self.documents.borrow().find_document(pipeline_id) } { + Some(document) => document, + None => return warn!("Message sent to closed pipeline {}.", pipeline_id), + }; + document.dispatch_composition_event(composition_event); + }, } } -- cgit v1.2.3