Arrow Right key should not scroll window when caret is in text field |
|||||||||||
Issue descriptionVersion: 54.0.2815.0 (Official Build) canary (64-bit) OS: Mac OS X (haven't tried on other platforms though) What steps will reproduce the problem? (1) Navigate to http://crbug.com/628823 (2) Click in the CC: list (3) Use the right arrow to scroll forward What is the expected output? Expect the cursor to get to the end of the line. What do you see instead? The cursor seems to get stuck going back and forth at the last name in the CC: list. This works fine in Firefox, so it's not a problem with Monorail. It might be related to the display of the autocomplete drop-down for peoples' email addresses. I noticed this regression a few Canaries ago but failed to file it then, and am surprised it's lasted this long. I imagine quite a few sites are broken by this so am marking it P1 and a release blocker. Please triage this right away. Thanks.
,
Aug 2 2016
,
Aug 2 2016
In #c1's step, Shift+ArrowRight doesn't scroll window.
,
Aug 2 2016
It seems following two statements in FrameSelection::revealSelection() returns different |rect|, but they should be same. - rect = LayoutRect(absoluteCaretBounds()) - rect = LayoutRect(absoluteCaretBoundsOf(createVisiblePosition(extent()))
,
Aug 2 2016
It does prevent correct interaction with the text field. I can't get the cursor to go to the end of the line to append more email addresses. Raising back to P1 and marking ReleaseBlock-Stable again. We should fix this for M54, even if it regressed in M51 or earlier.
,
Aug 3 2016
Scroll is caused by scrollViewWithKeyboard() in WebViewImpl::keyEventDefault().
When ArrowRight down at end of text field, FrameSelection::modify("move", "forward", "character") returns false as event not handled, then WebViewImpl::keyEventDefault() does scroll.
,
Aug 3 2016
,
Aug 5 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8e786c79ce204adb73db01db98f5a606c8365c2a commit 8e786c79ce204adb73db01db98f5a606c8365c2a Author: yosin <yosin@chromium.org> Date: Fri Aug 05 05:34:03 2016 Change return value of FrameSelection::modify() to prevent unnecessary window scrolling This patch changes return value of |FrameSelection::modify()| to prevent unnecessary window scrolling by returning true, indicating user action is processed. Note: for spacial navigation case, |FrameSelection::modify()| returns false to allow default key event handler of spacial navigation to move focus to another element. Before this patch, hitting right arrow key at end of text field causes window scrolling by WebViewImpl::keyEventDefault() due by |FrameSelection::modify()| returns false since selection isn't changed. BUG= 633376 TEST=run_webkit_unit_tests --gtest_filter=FrameSelectionTest.ModifyWithUserTriggered Review-Url: https://codereview.chromium.org/2200833007 Cr-Commit-Position: refs/heads/master@{#409995} [modify] https://crrev.com/8e786c79ce204adb73db01db98f5a606c8365c2a/third_party/WebKit/Source/core/editing/FrameSelection.cpp [modify] https://crrev.com/8e786c79ce204adb73db01db98f5a606c8365c2a/third_party/WebKit/Source/core/editing/FrameSelectionTest.cpp
,
Aug 5 2016
,
Aug 8 2016
This is still broken in 54.0.2823.0 (Official Build) canary (64-bit). Revision: c6b7050c321314686730fb679a7122341f16c7c2-refs/heads/master@{#410278} As an example, go to http://crbug.com/633053 , click the CC: field, and try to use Option + Right arrow (on Mac OS) to scroll to the end of the field. The cursor will start cycling between a few positions but will never reach the right side.
,
Aug 8 2016
The current behavior is that every time the caret blinks, the cursor jumps to a different position on the line, once scrolled to the right past a certain point.
,
Aug 9 2016
,
Aug 9 2016
kbr@, since scrolling bug is fixed, could you file another bug for Move Right by Word bug? BTW, we, I and two Mac users, could not reproduce Option+Right (Mac), Ctrl+Right (Win/Linux), Move Right by Word, with Canary 54.0.2823.0, in #c10. I update sample with numbering of words in text field. https://jsfiddle.net/mgfc457f/1/ If you use this example, and record a word for start of "cycling" and end of "cycling" are helpful. Thanks!
,
Aug 9 2016
,
Aug 9 2016
Filed Issue 635724 about the continued problems.
,
Aug 9 2016
Verified the fix on Windows 7, MAC (10.11.6) for Google Chrome Dev Version - 54.0.2824.0 and Ubuntu Trusty (14.04) on Chrome Dev Version - 54.0.2823.0 Screen-recording is attached. TE-Verified Labels are added.
,
Oct 12 2016
|
|||||||||||
►
Sign in to add a comment |
|||||||||||
Comment 1 by yosin@chromium.org
, Aug 2 2016Labels: -Pri-1 -ReleaseBlock-Beta OS-Linux OS-Windows Pri-2
Status: Available (was: Untriaged)