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:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@179580
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2015-02-03 Enrica Casucci <enrica@apple.com>
+
+ [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 <akling@apple.com>
Remove unused class EmojiFallbackFontSelector.
{
}
-// 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
{
}
- (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;
+2015-02-03 Enrica Casucci <enrica@apple.com>
+
+ [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 <cdumez@apple.com>
Access MemoryCache singleton using MemoryCache::singleton()
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;
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;
+2015-02-03 Enrica Casucci <enrica@apple.com>
+
+ [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 <pecoraro@apple.com>
[iOS] Selection Callout should not immediately disappear on pages with frequent layouts
- (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
@interface UIKeyboardImpl (StagingToRemove)
- (void)didHandleWebKeyEvent;
+- (void)deleteFromInputWithFlags:(NSUInteger)flags;
@end
@interface UIView (UIViewInternalHack)
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;
default: {
if (isCharEvent) {
- [[UIKeyboardImpl sharedInstance] addInputString:event.characters withFlags:event.keyboardFlags];
+ [keyboard addInputString:event.characters withFlags:event.keyboardFlags];
return YES;
}
return NO;