Changeset 237739 in webkit
- Timestamp:
- Nov 2, 2018 10:20:28 AM (5 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r237738 r237739 1 2018-11-02 Daniel Bates <dabates@apple.com> 2 3 [iOS] Normalize character string based on key code 4 https://bugs.webkit.org/show_bug.cgi?id=191120 5 6 Reviewed by Tim Horton. 7 8 Following r236417 (https://bugs.webkit.org/show_bug.cgi?id=189604) we always have a valid key code 9 for a special key (e.g. page up) and can simplify the character string normalization code. 10 11 No functionality changed. So, no new tests. 12 13 * platform/ios/WebEvent.mm: 14 (normalizedStringWithAppKitCompatibilityMapping): Modified to take a key code and wrote algorithm 15 in terms of it. 16 17 (-[WebEvent initWithKeyEventType:timeStamp:characters:charactersIgnoringModifiers:modifiers:isRepeating:withFlags:keyCode:isTabKey:characterSet:]): 18 (-[WebEvent initWithKeyEventType:timeStamp:characters:charactersIgnoringModifiers:modifiers:isRepeating:withFlags:withInputManagerHint:keyCode:isTabKey:]): 19 Pass the key code for the event to normalizedStringWithAppKitCompatibilityMapping(). 20 1 21 2018-11-02 Daniel Bates <dabates@apple.com> 2 22 -
trunk/Source/WebCore/PAL/ChangeLog
r237691 r237739 1 2018-11-02 Daniel Bates <dabates@apple.com> 2 3 [iOS] Normalize character string based on key code 4 https://bugs.webkit.org/show_bug.cgi?id=191120 5 6 Reviewed by Tim Horton. 7 8 Remove forward declarations that are no longer needed now that we check key code. 9 10 * pal/spi/ios/UIKitSPI.h: 11 1 12 2018-11-01 Said Abou-Hallawa <sabouhallawa@apple.com> 2 13 -
trunk/Source/WebCore/PAL/pal/spi/ios/UIKitSPI.h
r236955 r237739 32 32 #import <UIKit/UIColor_Private.h> 33 33 #import <UIKit/UIInterface_Private.h> 34 #import <UIKit/UIResponder_Private.h>35 34 #import <UIKit/UIScreen_Private.h> 36 35 #import <UIKit/UIViewController_Private.h> … … 154 153 #endif 155 154 156 NS_ASSUME_NONNULL_BEGIN157 158 WTF_EXTERN_C_BEGIN159 160 extern NSString *const UIKeyInputPageUp;161 extern NSString *const UIKeyInputPageDown;162 extern NSString *const UIKeyInputEscape;163 164 WTF_EXTERN_C_END165 166 NS_ASSUME_NONNULL_END167 168 155 #endif -
trunk/Source/WebCore/platform/ios/WebEvent.mm
r237738 r237739 36 36 #import "KeyEventCodesIOS.h" 37 37 #import "WAKAppKitStubs.h" 38 #import <pal/spi/ios/UIKitSPI.h> 39 #import <wtf/SoftLinking.h> 40 41 SOFT_LINK_FRAMEWORK(UIKit) 42 SOFT_LINK_CONSTANT(UIKit, UIKeyInputUpArrow, NSString *) 43 SOFT_LINK_CONSTANT(UIKit, UIKeyInputDownArrow, NSString *) 44 SOFT_LINK_CONSTANT(UIKit, UIKeyInputLeftArrow, NSString *) 45 SOFT_LINK_CONSTANT(UIKit, UIKeyInputRightArrow, NSString *) 46 SOFT_LINK_CONSTANT(UIKit, UIKeyInputPageUp, NSString *) 47 SOFT_LINK_CONSTANT(UIKit, UIKeyInputPageDown, NSString *) 48 SOFT_LINK_CONSTANT(UIKit, UIKeyInputEscape, NSString *) 49 50 #define UIKeyInputUpArrow getUIKeyInputUpArrow() 51 #define UIKeyInputDownArrow getUIKeyInputDownArrow() 52 #define UIKeyInputLeftArrow getUIKeyInputLeftArrow() 53 #define UIKeyInputRightArrow getUIKeyInputRightArrow() 54 #define UIKeyInputPageUp getUIKeyInputPageUp() 55 #define UIKeyInputPageDown getUIKeyInputPageDown() 56 #define UIKeyInputEscape getUIKeyInputEscape() 38 #import <pal/spi/cocoa/IOKitSPI.h> 57 39 58 40 using WebCore::windowsKeyCodeForKeyCode; … … 143 125 } 144 126 145 static NSString * normalizedStringWithAppKitCompatibilityMapping(NSString *characters)127 static NSString *normalizedStringWithAppKitCompatibilityMapping(NSString *characters, uint16_t keyCode) 146 128 { 147 129 auto makeNSStringWithCharacter = [] (unichar c) { return [NSString stringWithCharacters:&c length:1]; }; 148 130 149 if ([characters isEqualToString:UIKeyInputUpArrow]) 131 switch (keyCode) { 132 case kHIDUsage_KeyboardUpArrow: 150 133 return makeNSStringWithCharacter(NSUpArrowFunctionKey); 151 if ([characters isEqualToString:UIKeyInputDownArrow])134 case kHIDUsage_KeyboardDownArrow: 152 135 return makeNSStringWithCharacter(NSDownArrowFunctionKey); 153 if ([characters isEqualToString:UIKeyInputLeftArrow])136 case kHIDUsage_KeyboardLeftArrow: 154 137 return makeNSStringWithCharacter(NSLeftArrowFunctionKey); 155 if ([characters isEqualToString:UIKeyInputRightArrow])138 case kHIDUsage_KeyboardRightArrow: 156 139 return makeNSStringWithCharacter(NSRightArrowFunctionKey); 157 if ([characters isEqualToString:UIKeyInputPageUp])140 case kHIDUsage_KeyboardPageUp: 158 141 return makeNSStringWithCharacter(NSPageUpFunctionKey); 159 if ([characters isEqualToString:UIKeyInputPageDown])142 case kHIDUsage_KeyboardPageDown: 160 143 return makeNSStringWithCharacter(NSPageDownFunctionKey); 161 if ([characters isEqualToString:UIKeyInputEscape])144 case kHIDUsage_KeyboardEscape: 162 145 return @"\x1B"; 163 if ([characters isEqualToString:@"\x1B"])// Num Lock / Clear146 case kHIDUsage_KeypadNumLock: // Num Lock / Clear 164 147 return makeNSStringWithCharacter(NSClearLineFunctionKey); 148 } 165 149 return characters; 166 150 } … … 195 179 196 180 if (!(_keyboardFlags & WebEventKeyboardInputModifierFlagsChanged)) { 197 _characters = [normalizedStringWithAppKitCompatibilityMapping(characters ) retain];198 _charactersIgnoringModifiers = [normalizedStringWithAppKitCompatibilityMapping(charactersIgnoringModifiers ) retain];181 _characters = [normalizedStringWithAppKitCompatibilityMapping(characters, keyCode) retain]; 182 _charactersIgnoringModifiers = [normalizedStringWithAppKitCompatibilityMapping(charactersIgnoringModifiers, keyCode) retain]; 199 183 _tabKey = tabKey; 200 184 _keyRepeating = repeating; … … 232 216 233 217 if (!(_keyboardFlags & WebEventKeyboardInputModifierFlagsChanged)) { 234 _characters = [normalizedStringWithAppKitCompatibilityMapping(characters ) retain];235 _charactersIgnoringModifiers = [normalizedStringWithAppKitCompatibilityMapping(charactersIgnoringModifiers ) retain];218 _characters = [normalizedStringWithAppKitCompatibilityMapping(characters, keyCode) retain]; 219 _charactersIgnoringModifiers = [normalizedStringWithAppKitCompatibilityMapping(charactersIgnoringModifiers, keyCode) retain]; 236 220 _tabKey = tabKey; 237 221 _keyRepeating = repeating;
Note: See TracChangeset
for help on using the changeset viewer.