Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(813)

Unified Diff: ui/views/widget/desktop_aura/desktop_native_widget_aura.cc

Issue 1566083002: Makes sure the keyboard typing isn't blocked when InputMethod::OnFocus() is not correctly called. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: use DumpWithoutCrashing(). Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/views/widget/desktop_aura/desktop_native_widget_aura.cc
diff --git a/ui/views/widget/desktop_aura/desktop_native_widget_aura.cc b/ui/views/widget/desktop_aura/desktop_native_widget_aura.cc
index 618d77449607e2a0d5878b299838f0acf951d633..9eb850ecb1a35b34f9cd2813d5baec233a561c61 100644
--- a/ui/views/widget/desktop_aura/desktop_native_widget_aura.cc
+++ b/ui/views/widget/desktop_aura/desktop_native_widget_aura.cc
@@ -18,6 +18,7 @@
#include "ui/aura/window_tree_host.h"
#include "ui/base/hit_test.h"
#include "ui/base/ime/input_method.h"
+#include "ui/base/ime/input_method_log_collector.h"
#include "ui/compositor/layer.h"
#include "ui/gfx/canvas.h"
#include "ui/gfx/display.h"
@@ -369,8 +370,11 @@ void DesktopNativeWidgetAura::HandleActivationChanged(bool active) {
native_widget_delegate_->OnNativeWidgetActivationChanged(active);
aura::client::ActivationClient* activation_client =
aura::client::GetActivationClient(host_->window());
- if (!activation_client)
+ if (!activation_client) {
+ GetInputMethod()->GetLogCollector()->AddLog(
+ "Missing OnFocus call when activating due to no activation client.");
return;
+ }
if (active) {
if (GetWidget()->HasFocusManager()) {
// This function can be called before the focus manager has had a
@@ -387,6 +391,9 @@ void DesktopNativeWidgetAura::HandleActivationChanged(bool active) {
// Refreshes the focus info to IMF in case that IMF cached the old info
// about focused text input client when it was "inactive".
GetInputMethod()->OnFocus();
+ } else {
+ GetInputMethod()->GetLogCollector()->AddLog(
+ "Missing OnFocus call when activating due to no focus manager.");
}
} else {
// If we're not active we need to deactivate the corresponding

Powered by Google App Engine
This is Rietveld 408576698