From feb6fd761e9a93908e8d589d692c8992abe26f40 Mon Sep 17 00:00:00 2001
From: "hbono@chromium.org"
 <hbono@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Mon, 30 Mar 2009 03:59:15 +0000
Subject: A workaround fix for Issue 3693. To investigate the behavior of
 Safari, it seems to finish an ongoing composition when we click a left mouse
 button. So, this change just emulates the behavior.

BUG=3693
Review URL: http://codereview.chromium.org/42691

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12759 0039d316-1c4b-4281-b951-d872f2087c98
---
 chrome/browser/renderer_host/render_widget_host_view_win.cc | 6 ++++++
 1 file changed, 6 insertions(+)

(limited to 'chrome')

diff --git a/chrome/browser/renderer_host/render_widget_host_view_win.cc b/chrome/browser/renderer_host/render_widget_host_view_win.cc
index abd3817..6f44e9a 100644
--- a/chrome/browser/renderer_host/render_widget_host_view_win.cc
+++ b/chrome/browser/renderer_host/render_widget_host_view_win.cc
@@ -815,6 +815,12 @@ LRESULT RenderWidgetHostViewWin::OnMouseEvent(UINT message, WPARAM wparam,
           return 1;
       }
     }
+
+    // WebKit does not update its IME status when a user clicks a mouse button
+    // to change the input focus onto a popup menu. As a workaround, we finish
+    // an ongoing composition every time when we click a left button.
+    if (message == WM_LBUTTONDOWN)
+      ime_input_.CleanupComposition(m_hWnd);
   }
 
   ForwardMouseEventToRenderer(message, wparam, lparam);
-- 
cgit v1.1