diff --git a/ports/libsimpleservo/api/src/lib.rs b/ports/libsimpleservo/api/src/lib.rs index 7209f83d59d..5dc19e98329 100644 --- a/ports/libsimpleservo/api/src/lib.rs +++ b/ports/libsimpleservo/api/src/lib.rs @@ -81,6 +81,8 @@ pub trait HostTrait { fn on_animating_changed(&self, animating: bool); /// Servo finished shutting down. fn on_shutdown_complete(&self); + /// A text input is focused. + fn on_ime_state_changed(&self, show: bool); } pub struct ServoGlue { diff --git a/ports/libsimpleservo/capi/src/lib.rs b/ports/libsimpleservo/capi/src/lib.rs index 56d85609101..0785f336e40 100644 --- a/ports/libsimpleservo/capi/src/lib.rs +++ b/ports/libsimpleservo/capi/src/lib.rs @@ -40,6 +40,7 @@ pub struct CHostCallbacks { pub on_history_changed: extern "C" fn(can_go_back: bool, can_go_forward: bool), pub on_animating_changed: extern "C" fn(animating: bool), pub on_shutdown_complete: extern "C" fn(), + pub on_ime_state_changed: extern "C" fn(show: bool), } /// Servo options @@ -330,4 +331,9 @@ impl HostTrait for HostCallbacks { debug!("on_shutdown_complete"); (self.0.on_shutdown_complete)(); } + + fn on_ime_state_changed(&self, show: bool) { + debug!("on_ime_state_changed"); + (self.0.on_ime_state_changed)(show); + } } diff --git a/ports/libsimpleservo/jniapi/src/lib.rs b/ports/libsimpleservo/jniapi/src/lib.rs index f120768c17c..b1b400b1443 100644 --- a/ports/libsimpleservo/jniapi/src/lib.rs +++ b/ports/libsimpleservo/jniapi/src/lib.rs @@ -454,6 +454,9 @@ impl HostTrait for HostCallbacks { ) .unwrap(); } + + fn on_ime_state_changed(&self, _show: bool) { + } } fn initialize_android_glue(env: &JNIEnv, activity: JObject) {