Auto merge of #27250 - paulrouget:unfocus, r=jdm

Unfocus input when virtual keyboard is dismissed

Fix #27181
This commit is contained in:
bors-servo 2020-07-13 11:02:02 -04:00 committed by GitHub
commit 9bbe9c837a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 91 additions and 2 deletions

View file

@ -88,6 +88,7 @@ public:
void ContextMenuClosed(CContextMenuResult res, unsigned int idx) {
on_context_menu_closed(res, idx);
}
void IMEDismissed() { ime_dismissed(); }
private:
ServoDelegate &mDelegate;

View file

@ -91,6 +91,12 @@ void ServoControl::OnLoaded(IInspectable const &, RoutedEventArgs const &) {
void ServoControl::InitializeTextController() {
mInputPane = Windows::UI::ViewManagement::InputPane::GetForCurrentView();
mInputPane->Hiding([=](const auto &, const auto &) {
if (mLooping) {
RunOnGLThread([=] { mServo->IMEDismissed(); });
}
});
auto manager = CoreTextServicesManager::GetForCurrentView();
mEditContext = manager.CreateEditContext();
mEditContext->InputPaneDisplayPolicy(CoreTextInputPaneDisplayPolicy::Manual);