Title: [179580] trunk/Source
Revision
179580
Author
[email protected]
Date
2015-02-03 16:23:53 -0800 (Tue, 03 Feb 2015)

Log Message

[iOS] Add support for deleteFromInputWithFlags.
https://bugs.webkit.org/show_bug.cgi?id=141216
rdar://problem/19130081

Reviewed by Benjamin Poulain.

Adopts the new method as soon as it is available.
The patch also removes some obsolete code used for staging.

Source/WebKit/ios:

* DefaultDelegates/WebDefaultUIKitDelegate.m:
(-[WebDefaultUIKitDelegate addInputString:withFlags:]):
(-[WebDefaultUIKitDelegate deleteFromInput]):
(-[WebDefaultUIKitDelegate deleteFromInputwithFlags:]):
(-[WebDefaultUIKitDelegate addInputString:fromVariantKey:]): Deleted.
* WebView/WebUIKitDelegate.h:

Source/WebKit/mac:

* WebView/WebHTMLView.mm:
(-[WebHTMLView _handleEditingKeyEvent:]):

Source/WebKit2:

* Platform/spi/ios/UIKitSPI.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _interpretKeyEvent:isCharEvent:]):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ios/ChangeLog (179579 => 179580)


--- trunk/Source/WebKit/ios/ChangeLog	2015-02-04 00:18:57 UTC (rev 179579)
+++ trunk/Source/WebKit/ios/ChangeLog	2015-02-04 00:23:53 UTC (rev 179580)
@@ -1,3 +1,21 @@
+2015-02-03  Enrica Casucci  <[email protected]>
+
+        [iOS] Add support for deleteFromInputWithFlags.
+        https://bugs.webkit.org/show_bug.cgi?id=141216
+        rdar://problem/19130081
+
+        Reviewed by Benjamin Poulain.
+
+        Adopts the new method as soon as it is available.
+        The patch also removes some obsolete code used for staging.
+
+        * DefaultDelegates/WebDefaultUIKitDelegate.m:
+        (-[WebDefaultUIKitDelegate addInputString:withFlags:]):
+        (-[WebDefaultUIKitDelegate deleteFromInput]):
+        (-[WebDefaultUIKitDelegate deleteFromInputwithFlags:]):
+        (-[WebDefaultUIKitDelegate addInputString:fromVariantKey:]): Deleted.
+        * WebView/WebUIKitDelegate.h:
+
 2015-01-22  Andreas Kling  <[email protected]>
 
         Remove unused class EmojiFallbackFontSelector.

Modified: trunk/Source/WebKit/ios/DefaultDelegates/WebDefaultUIKitDelegate.m (179579 => 179580)


--- trunk/Source/WebKit/ios/DefaultDelegates/WebDefaultUIKitDelegate.m	2015-02-04 00:18:57 UTC (rev 179579)
+++ trunk/Source/WebKit/ios/DefaultDelegates/WebDefaultUIKitDelegate.m	2015-02-04 00:23:53 UTC (rev 179580)
@@ -161,16 +161,16 @@
 {
 }
 
-// FIXME: to be removed when UIKit implements the new one below.
-- (void)addInputString:(NSString *)str fromVariantKey:(BOOL)isPopupVariant
+- (void)addInputString:(NSString *)str withFlags:(NSUInteger)flags
 {
 }
 
-- (void)addInputString:(NSString *)str withFlags:(NSUInteger)flags
+// FIXME: to be removed when UIKit implements the new one below.
+- (void)deleteFromInput
 {
 }
 
-- (void)deleteFromInput
+- (void)deleteFromInputwithFlags:(NSUInteger)flags
 {
 }
 

Modified: trunk/Source/WebKit/ios/WebView/WebUIKitDelegate.h (179579 => 179580)


--- trunk/Source/WebKit/ios/WebView/WebUIKitDelegate.h	2015-02-04 00:18:57 UTC (rev 179579)
+++ trunk/Source/WebKit/ios/WebView/WebUIKitDelegate.h	2015-02-04 00:23:53 UTC (rev 179580)
@@ -77,10 +77,10 @@
 - (void)webView:(WebView *)webView willShowFullScreenForPlugInView:(id)plugInView;
 - (void)webView:(WebView *)webView didHideFullScreenForPlugInView:(id)plugInView;
 - (void)webView:(WebView *)aWebView didReceiveMessage:(NSDictionary *)aMessage;
-// FIXME: to be removed when UIKit implements the new one.
-- (void)addInputString:(NSString *)str fromVariantKey:(BOOL)isPopupVariant;
 - (void)addInputString:(NSString *)str withFlags:(NSUInteger)flags;
+// FIXME: remove deleteFromInput when UIKit implements deleteFromInputWithFlags.
 - (void)deleteFromInput;
+- (void)deleteFromInputWithFlags:(NSUInteger)flags;
 
 // Accelerated compositing
 - (void)_webthread_webView:(WebView*)webView attachRootLayer:(id)rootLayer;

Modified: trunk/Source/WebKit/mac/ChangeLog (179579 => 179580)


--- trunk/Source/WebKit/mac/ChangeLog	2015-02-04 00:18:57 UTC (rev 179579)
+++ trunk/Source/WebKit/mac/ChangeLog	2015-02-04 00:23:53 UTC (rev 179580)
@@ -1,3 +1,17 @@
+2015-02-03  Enrica Casucci  <[email protected]>
+
+        [iOS] Add support for deleteFromInputWithFlags.
+        https://bugs.webkit.org/show_bug.cgi?id=141216
+        rdar://problem/19130081
+
+        Reviewed by Benjamin Poulain.
+
+        Adopts the new method as soon as it is available.
+        The patch also removes some obsolete code used for staging.
+
+        * WebView/WebHTMLView.mm:
+        (-[WebHTMLView _handleEditingKeyEvent:]):
+
 2015-02-02  Chris Dumez  <[email protected]>
 
         Access MemoryCache singleton using MemoryCache::singleton()

Modified: trunk/Source/WebKit/mac/WebView/WebHTMLView.mm (179579 => 179580)


--- trunk/Source/WebKit/mac/WebView/WebHTMLView.mm	2015-02-04 00:18:57 UTC (rev 179579)
+++ trunk/Source/WebKit/mac/WebView/WebHTMLView.mm	2015-02-04 00:23:53 UTC (rev 179580)
@@ -5820,18 +5820,21 @@
                 NSString *s = [event characters];
                 if ([s length] == 0)
                     break;
+                WebView* webView = [self _webView];
                 switch ([s characterAtIndex:0]) {
                     case kWebBackspaceKey:
                     case kWebDeleteKey:
-                        [[[self _webView] _UIKitDelegateForwarder] deleteFromInput];
+                        // FIXME: remove the call to deleteFromInput when UIKit implements deleteFromInputWithFlags.
+                        if ([webView respondsToSelector:@selector(deleteFromInputWithFlags:)])
+                            [[webView _UIKitDelegateForwarder] deleteFromInputWithFlags:event.keyboardFlags];
+                        else
+                            [[webView _UIKitDelegateForwarder] deleteFromInput];
                         return YES;
-                    case kWebEnterKey:                        
+                    case kWebEnterKey:
                     case kWebReturnKey:
                         if (platformEvent->type() == PlatformKeyboardEvent::Char) {
                             // Map \r from HW keyboard to \n to match the behavior of the soft keyboard.
-                            // FIXME: remove the first call when UIKit implements the new method.
-                            [[[self _webView] _UIKitDelegateForwarder] addInputString:@"\n" fromVariantKey:NO];
-                            [[[self _webView] _UIKitDelegateForwarder] addInputString:@"\n" withFlags:0];
+                            [[webView _UIKitDelegateForwarder] addInputString:@"\n" withFlags:0];
                             return YES;
                         }
                         return NO;
@@ -5840,10 +5843,7 @@
                         return YES;
                     default: {                    
                         if (platformEvent->type() == PlatformKeyboardEvent::Char) {
-                            //NSString *string = event.characters;
-                            // FIXME: remove the first call when UIKit implements the new method.
-                            [[[self _webView] _UIKitDelegateForwarder] addInputString:event.characters fromVariantKey:event.popupVariant];
-                            [[[self _webView] _UIKitDelegateForwarder] addInputString:event.characters withFlags:event.keyboardFlags];
+                            [[webView _UIKitDelegateForwarder] addInputString:event.characters withFlags:event.keyboardFlags];
                             return YES;
                         }
                         return NO;

Modified: trunk/Source/WebKit2/ChangeLog (179579 => 179580)


--- trunk/Source/WebKit2/ChangeLog	2015-02-04 00:18:57 UTC (rev 179579)
+++ trunk/Source/WebKit2/ChangeLog	2015-02-04 00:23:53 UTC (rev 179580)
@@ -1,3 +1,18 @@
+2015-02-03  Enrica Casucci  <[email protected]>
+
+        [iOS] Add support for deleteFromInputWithFlags.
+        https://bugs.webkit.org/show_bug.cgi?id=141216
+        rdar://problem/19130081
+
+        Reviewed by Benjamin Poulain.
+
+        Adopts the new method as soon as it is available.
+        The patch also removes some obsolete code used for staging.
+
+        * Platform/spi/ios/UIKitSPI.h:
+        * UIProcess/ios/WKContentViewInteraction.mm:
+        (-[WKContentView _interpretKeyEvent:isCharEvent:]):
+
 2015-02-03  Joseph Pecoraro  <[email protected]>
 
         [iOS] Selection Callout should not immediately disappear on pages with frequent layouts

Modified: trunk/Source/WebKit2/Platform/spi/ios/UIKitSPI.h (179579 => 179580)


--- trunk/Source/WebKit2/Platform/spi/ios/UIKitSPI.h	2015-02-04 00:18:57 UTC (rev 179579)
+++ trunk/Source/WebKit2/Platform/spi/ios/UIKitSPI.h	2015-02-04 00:23:53 UTC (rev 179580)
@@ -154,6 +154,7 @@
 - (void)addInputString:(NSString *)string withFlags:(NSUInteger)flags;
 - (BOOL)autocorrectSpellingEnabled;
 - (void)deleteFromInput;
+- (void)deleteFromInputWithFlags:(NSUInteger)flags;
 - (void)replaceText:(id)replacement;
 @property (nonatomic, readwrite, retain) UIResponder <UIKeyInput> *delegate;
 @end

Modified: trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm (179579 => 179580)


--- trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm	2015-02-04 00:18:57 UTC (rev 179579)
+++ trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm	2015-02-04 00:23:53 UTC (rev 179580)
@@ -187,6 +187,7 @@
 
 @interface UIKeyboardImpl (StagingToRemove)
 - (void)didHandleWebKeyEvent;
+- (void)deleteFromInputWithFlags:(NSUInteger)flags;
 @end
 
 @interface UIView (UIViewInternalHack)
@@ -2461,17 +2462,22 @@
         NSString *characters = [event characters];
         if ([characters length] == 0)
             break;
+        UIKeyboardImpl *keyboard = [UIKeyboardImpl sharedInstance];
         switch ([characters characterAtIndex:0]) {
         case kWebBackspaceKey:
         case kWebDeleteKey:
-            [[UIKeyboardImpl sharedInstance] deleteFromInput];
+            // FIXME: remove deleteFromInput once UIKit adopts deleteFromInputWithFlags
+            if ([keyboard respondsToSelector:@selector(deleteFromInputWithFlags:)])
+                [keyboard deleteFromInputWithFlags:event.keyboardFlags];
+            else
+                [keyboard deleteFromInput];
             return YES;
 
         case kWebEnterKey:
         case kWebReturnKey:
             if (isCharEvent) {
                 // Map \r from HW keyboard to \n to match the behavior of the soft keyboard.
-                [[UIKeyboardImpl sharedInstance] addInputString:@"\n" withFlags:0];
+                [keyboard addInputString:@"\n" withFlags:0];
                 return YES;
             }
             return NO;
@@ -2482,7 +2488,7 @@
 
         default: {
             if (isCharEvent) {
-                [[UIKeyboardImpl sharedInstance] addInputString:event.characters withFlags:event.keyboardFlags];
+                [keyboard addInputString:event.characters withFlags:event.keyboardFlags];
                 return YES;
             }
             return NO;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to