haikuwebkit/ManualTests/ios/scroll-to-distant-keyboard-...

29 lines
895 B
HTML
Raw Permalink Normal View History

[iOS][WK2] Distant focusable element may not be scrolled into view when focused using keyboard https://bugs.webkit.org/show_bug.cgi?id=134309 <rdar://problem/17427385> Reviewed by Darin Adler. .: Add a manual test to ensure that we scroll to a distant focused text field when it's focused using the keyboard. * ManualTests/ios/scroll-to-distant-keyboard-focused-text-field.html: Added. Source/WebKit2: Fixes an issue where the focusable element may not be scrolled into view when it's focused by using the keyboard accessory (i.e. the < and > buttons). In particular, we don't scroll a keyboard focused text field into view when it's positioned significantly outside the visible region. * UIProcess/ios/WKContentViewInteraction.h: Added an instance variable called _didAccessoryTabInitiateFocus to track whether an accessory tab initiated the focus of the focusable element. * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView cleanupInteraction]): Clear _didAccessoryTabInitiateFocus so that we're in a good state should the WebProcess crash between the time the UIProcess receives the accessory tab request and the WebProcess calls back to the UIProcess to zoom/scroll to the newly focused element. (-[WKContentView _displayFormNodeInputView]): Modified to pass an empty rectangle for the selection rectangle to -_zoomToFocusRect to avoid constraining the scroll to the newly focused element when it was focused using the keyboard accessory tab buttons (-[WKContentView accessoryTab:]): Modified to set _didAccessoryTabInitiateFocus to YES. We'll set this boolean to NO in -_displayFormNodeInputView. Canonical link: https://commits.webkit.org/152358@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@170518 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-06-27 04:31:25 +00:00
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="height=device-height">
<style>
#input1 {
position: absolute;
top: 880px;
left: 200px;
}
body {
height: 900px;
}
</style>
</head>
<body>
<p>This test can be used to ensure that we scroll to the newly focused field when using the keyboard to switch focus from a text field positioned at the bottom of the page to a text field positioned at the top of the page.</p>
<ol>
<li>Scroll all the way to the bottom of the page.</li>
<li>Tap the text field with text &quot;Field 2&quot;</li>
<li>Tap the '&lt;' above the keyboard to move the focus to the previous text field on the page, &quot;Field 1&quot;.</li>
</ol>
<p>This test PASSED if we scroll to &quot;Field 1&quot; such that it's visible.</p>
<input type="text" id="input0" value="Field 1">
<input type="text" id="input1" value="Field 2">
</body>
</html>