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

Unified Diff: content/browser/renderer_host/render_widget_host_view_mac.mm

Issue 1663013005: [DO NOT REVIEW] Always calling Notify for android. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Trying to Fix MAC Created 4 years, 9 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: content/browser/renderer_host/render_widget_host_view_mac.mm
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm
index 8a76fb4921037071b8404de0713e5365af8c1cfe..ed0a40971f88dd9249b4b39ae7ae271c954e3d2b 100644
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
@@ -1009,23 +1009,23 @@ void RenderWidgetHostViewMac::SetIsLoading(bool is_loading) {
// like Chrome does on Windows, call |UpdateCursor()| here.
}
-void RenderWidgetHostViewMac::TextInputStateChanged(
-const ViewHostMsg_TextInputState_Params& params) {
- if (text_input_type_ != params.type
- || can_compose_inline_ != params.can_compose_inline) {
- text_input_type_ = params.type;
- can_compose_inline_ = params.can_compose_inline;
- if (HasFocus()) {
- SetTextInputActive(true);
-
- // Let AppKit cache the new input context to make IMEs happy.
- // See http://crbug.com/73039.
- [NSApp updateWindows];
+void RenderWidgetHostViewMac::UpdateInputMethodIfNecessary(
+ bool text_input_state_changed) {
+ if (!text_input_state_changed)
+ return;
+
+ if (HasFocus()) {
+ SetTextInputActive(true);
+
+ // Let AppKit cache the new input context to make IMEs happy.
+ // See http://crbug.com/73039.
+ [NSApp updateWindows];
#ifndef __LP64__
- UseInputWindow(TSMGetActiveDocument(), !can_compose_inline_);
+ UseInputWindow(TSMGetActiveDocument(), !render_widget_host_->delegate()
+ ->GetTextInputState()
+ .can_compose_inline);
#endif
- }
}
}
@@ -1082,6 +1082,10 @@ void RenderWidgetHostViewMac::Destroy() {
// we release render_widget_host_.
NotifyObserversAboutShutdown();
+ // The WebContentsImpl should be notified about us so that it will not hold
+ // an invalid text input state which was due to active text on this view.
+ NotifyHostDelegateAboutShutdown();
+
// We get this call just before |render_widget_host_| deletes
// itself. But we are owned by |cocoa_view_|, which may be retained
// by some other code. Examples are WebContentsViewMac's

Powered by Google App Engine
This is Rietveld 408576698