Index: content/renderer/render_widget.cc |
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc |
index 7706d466cf853b7b650d6d1e8a7854f8cfe8fe16..b2babd5ad0dcab700aab008a7bf8d56d7c89daa5 100644 |
--- a/content/renderer/render_widget.cc |
+++ b/content/renderer/render_widget.cc |
@@ -1842,7 +1842,17 @@ ui::TextInputType RenderWidget::GetTextInputType() { |
} |
void RenderWidget::UpdateCompositionInfo(bool immediate_request) { |
- if (!monitor_composition_info_ && !immediate_request) |
+#if defined(OS_MACOSX) |
+ // On Mac without OOPIF, <webview> IME malfunctions if we skip update. |
+ // TODO(crbug.com/714771): Remove this platform-specific guard once we have |
+ // a proper fix for crbug.com/714771 or we launch OOPIF for <webview>. |
+ const bool may_skip_update = |
+ base::FeatureList::IsEnabled(::features::kGuestViewCrossProcessFrames); |
+#else |
+ const bool may_skip_update = true; |
+#endif |
+ |
+ if (may_skip_update && !monitor_composition_info_ && !immediate_request) |
return; // Do not calculate composition info if not requested. |
TRACE_EVENT0("renderer", "RenderWidget::UpdateCompositionInfo"); |