This fixes several bugs which when combined prevent the arrow keys from being interpreted correctly.
<rdar://problem/30162608>
Created attachment 304611 [details] Patch
Created attachment 304759 [details] Proposed Fix (v2)
Comment on attachment 304759 [details] Proposed Fix (v2) View in context: https://bugs.webkit.org/attachment.cgi?id=304759&action=review > Source/WebKit2/UIProcess/Automation/ios/WebAutomationSessionIOS.mm:120 > - [eventsToBeSent addObject:[[[::WebEvent alloc] initWithKeyEventType:WebEventKeyDown timeStamp:CFAbsoluteTimeGetCurrent() characters:characters charactersIgnoringModifiers:characters modifiers:m_currentModifiers isRepeating:NO withFlags:inputFlags withInputManagerHint:nil keyCode:keyCode isTabKey:isTabKey] autorelease]]; > + [eventsToBeSent addObject:[[[::WebEvent alloc] initWithKeyEventType:WebEventKeyDown timeStamp:CFAbsoluteTimeGetCurrent() characters:characters charactersIgnoringModifiers:unmodifiedCharacters modifiers:m_currentModifiers isRepeating:NO withFlags:inputFlags withInputManagerHint:nil keyCode:keyCode isTabKey:isTabKey] autorelease]]; iOS build error, seems legit: CompileC WebAutomationSessionIOS.o Source/WebKit2/UIProcess/Automation/ios/WebAutomationSessionIOS.mm:120:180: error: use of undeclared identifier 'unmodifiedCharacters' [eventsToBeSent addObject:[[[::WebEvent alloc] initWithKeyEventType:WebEventKeyDown timeStamp:CFAbsoluteTimeGetCurrent() characters:characters charactersIgnoringModifiers:unmodifiedCharacters modifiers:m_currentModifiers isRepeating:NO withFlags:inputFlags withInputManagerHint:nil keyCode:keyCode isTabKey:isTabKey] autorelease]]; ^
Comment on attachment 304759 [details] Proposed Fix (v2) View in context: https://bugs.webkit.org/attachment.cgi?id=304759&action=review r=me, assuming you add unmodifiedCharacters to iOS similarly to how you did with Mac > Source/WebKit2/UIProcess/Automation/mac/WebAutomationSessionMac.mm:328 > - // The 'pause' key does not exist on Apple keyboards and has no keycode. > + // The 'pause' key does not exist on Apple keyboards and has no return Find and replace error. > Source/WebKit2/UIProcess/Automation/mac/WebAutomationSessionMac.mm:332 > - // The 'cancel' key does not exist on Apple keyboards and has no keycode. > + // The 'cancel' key does not exist on Apple keyboards and has no return Find and replace error. > Source/WebKit2/UIProcess/Automation/mac/WebAutomationSessionMac.mm:353 > - // The 'insert' key does not exist on Apple keyboards and has no keycode. > + // The 'insert' key does not exist on Apple keyboards and has no return Find and replace error.
Comment on attachment 304759 [details] Proposed Fix (v2) View in context: https://bugs.webkit.org/attachment.cgi?id=304759&action=review >> Source/WebKit2/UIProcess/Automation/ios/WebAutomationSessionIOS.mm:120 >> + [eventsToBeSent addObject:[[[::WebEvent alloc] initWithKeyEventType:WebEventKeyDown timeStamp:CFAbsoluteTimeGetCurrent() characters:characters charactersIgnoringModifiers:unmodifiedCharacters modifiers:m_currentModifiers isRepeating:NO withFlags:inputFlags withInputManagerHint:nil keyCode:keyCode isTabKey:isTabKey] autorelease]]; > > iOS build error, seems legit: > > CompileC WebAutomationSessionIOS.o > Source/WebKit2/UIProcess/Automation/ios/WebAutomationSessionIOS.mm:120:180: error: use of undeclared identifier 'unmodifiedCharacters' > [eventsToBeSent addObject:[[[::WebEvent alloc] initWithKeyEventType:WebEventKeyDown timeStamp:CFAbsoluteTimeGetCurrent() characters:characters charactersIgnoringModifiers:unmodifiedCharacters modifiers:m_currentModifiers isRepeating:NO withFlags:inputFlags withInputManagerHint:nil keyCode:keyCode isTabKey:isTabKey] autorelease]]; > ^ Yeah, I messed up the rebase. I'll test it locally again.
Committed r214144: <http://trac.webkit.org/changeset/214144>