Title: [109924] tags/Safari-536.2.1/Source/WebKit2
Revision
109924
Author
[email protected]
Date
2012-03-06 08:34:47 -0800 (Tue, 06 Mar 2012)

Log Message

Merged r109826.

Modified Paths

Diff

Modified: tags/Safari-536.2.1/Source/WebKit2/ChangeLog (109923 => 109924)


--- tags/Safari-536.2.1/Source/WebKit2/ChangeLog	2012-03-06 16:33:59 UTC (rev 109923)
+++ tags/Safari-536.2.1/Source/WebKit2/ChangeLog	2012-03-06 16:34:47 UTC (rev 109924)
@@ -1,3 +1,22 @@
+2011-03-06  Lucas Forschler  <[email protected]>
+
+    Merge 109826
+
+    2012-03-05  Enrica Casucci  <[email protected]>
+
+            Can't type on some websites (plug-ins steal key events).
+            <rdar://problem/10892291>
+
+            When the plugin is disabled, it is necessary to reset _pluginComplexTextInputIdentifier
+            in order to return the correct input context. Failure to do so results in the inputContext
+            method to return the plugin input context instead of the context of the browser view.
+
+            Reviewed by Sam Weinig.
+
+            * UIProcess/API/mac/WKView.mm:
+            (-[WKView _setPluginComplexTextInputState:]):
+            (-[WKView _handlePluginComplexTextInputKeyDown:]):
+
 2011-03-05  Lucas Forschler  <[email protected]>
 
     Merge 109843

Modified: tags/Safari-536.2.1/Source/WebKit2/UIProcess/API/mac/WKView.mm (109923 => 109924)


--- tags/Safari-536.2.1/Source/WebKit2/UIProcess/API/mac/WKView.mm	2012-03-06 16:33:59 UTC (rev 109923)
+++ tags/Safari-536.2.1/Source/WebKit2/UIProcess/API/mac/WKView.mm	2012-03-06 16:34:47 UTC (rev 109924)
@@ -373,6 +373,7 @@
 
     // Send back an empty string to the plug-in. This will disable text input.
     _data->_page->sendComplexTextInputToPlugin(_data->_pluginComplexTextInputIdentifier, String());
+    _data->_pluginComplexTextInputIdentifier = 0;   // Always reset the identifier when the plugin is disabled.
 }
 
 typedef HashMap<SEL, String> SelectorNameMap;
@@ -1262,8 +1263,10 @@
     if (string) {
         _data->_page->sendComplexTextInputToPlugin(_data->_pluginComplexTextInputIdentifier, string);
 
-        if (!usingLegacyCocoaTextInput)
+        if (!usingLegacyCocoaTextInput) {
             _data->_pluginComplexTextInputState = PluginComplexTextInputDisabled;
+            _data->_pluginComplexTextInputIdentifier = 0;   // Always reset the identifier when the plugin is disabled.
+        }
     }
 
     return didHandleEvent;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to