diff options
Diffstat (limited to 'components/script/dom/document.rs')
-rw-r--r-- | components/script/dom/document.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs index 71df0e70356..5c9cd57b128 100644 --- a/components/script/dom/document.rs +++ b/components/script/dom/document.rs @@ -812,6 +812,11 @@ impl Document { elem.set_focus_state(false); // FIXME: pass appropriate relatedTarget self.fire_focus_event(FocusEventType::Blur, node, None); + + // Notify the embedder to hide the input method. + if elem.input_method_type().is_some() { + self.send_to_constellation(ScriptMsg::HideIME); + } } self.focused.set(self.possibly_focused.get().r()); @@ -826,6 +831,11 @@ impl Document { if focus_type == FocusType::Element { self.send_to_constellation(ScriptMsg::Focus); } + + // Notify the embedder to display an input method. + if let Some(kind) = elem.input_method_type() { + self.send_to_constellation(ScriptMsg::ShowIME(kind)); + } } } |