WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
109544
INPUT_MULTIPLE_FIELDS_UI: Mouse click not on sub-fields in multiple fields input should not move focus
https://bugs.webkit.org/show_bug.cgi?id=109544
Summary
INPUT_MULTIPLE_FIELDS_UI: Mouse click not on sub-fields in multiple fields in...
Kent Tamura
Reported
2013-02-11 21:53:48 PST
INPUT_MULTIPLE_FIELDS_UI: Mouse click not on sub-fields in multiple fields input should not move focus Steps to reproduce: 1. Open data:text/html,<input type=time autofocus> 2. Click on the minutes field 3. Click on ':' between fields Expected: Nothing happens. The minutes field keeps focus. Actual: Chrome 24: Any sub-fields doesn't have focus. Chrome 26: The hour field gets focus.
Attachments
Patch
(18.27 KB, patch)
2013-02-11 22:13 PST
,
Kent Tamura
no flags
Details
Formatted Diff
Diff
Patch 2
(18.35 KB, patch)
2013-02-11 23:20 PST
,
Kent Tamura
no flags
Details
Formatted Diff
Diff
INPUT_MULTIPLE_FIELDS_UI: Mouse click not on sub-fields in multiple fields input should not move focus
(18.37 KB, text/plain)
2013-02-12 01:00 PST
,
Nils Barth
no flags
Details
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Kent Tamura
Comment 1
2013-02-11 22:13:44 PST
Created
attachment 187773
[details]
Patch
Build Bot
Comment 2
2013-02-11 23:11:54 PST
Comment on
attachment 187773
[details]
Patch
Attachment 187773
[details]
did not pass mac-ews (mac): Output:
http://queues.webkit.org/results/16496635
Kent Tamura
Comment 3
2013-02-11 23:20:58 PST
Created
attachment 187781
[details]
Patch 2 Fix mac build
Kentaro Hara
Comment 4
2013-02-12 00:03:24 PST
Comment on
attachment 187781
[details]
Patch 2 Looks OK
WebKit Review Bot
Comment 5
2013-02-12 00:36:36 PST
Comment on
attachment 187781
[details]
Patch 2 Clearing flags on attachment: 187781 Committed
r142592
: <
http://trac.webkit.org/changeset/142592
>
WebKit Review Bot
Comment 6
2013-02-12 00:36:40 PST
All reviewed patches have been landed. Closing bug.
Nils Barth
Comment 7
2013-02-12 01:00:18 PST
Created
attachment 187803
[details]
INPUT_MULTIPLE_FIELDS_UI: Mouse click not on sub-fields in multiple fields input should not move focus
https://bugs.webkit.org/show_bug.cgi?id=109544
Reviewed by Kentaro Hara. Source/WebCore: This is similar to
Bug 108914
, "Should not move focus if the element already has focus." We fixed a focus() case in
Bug 108914
. However we still have the problem in a case of focusing by mouse click. The fix for
Bug 108914
intercepted focus() function to change the behavior. However focus-by-click doesn't call focus(), but calls FocusController::setFocusedNode. To fix this problem, we introduce oldFocusedNode argument to handleFocusEvent, and BaseMultipleFieldsDateAndTimeInputType::handleFocusEvent restores the focus to oldFocusedNode if oldFocusedNode is one of sub-fields. handleFocusEvent is called whenever the focused node is changed. We don't need InputType::willCancelFocus any more because the new code in handleFocusEvent covers it. Tests: Update fast/forms/time-multiple-fields/time-multiple-fields-focus.html. * html/HTMLTextFormControlElement.h: (WebCore::HTMLTextFormControlElement::handleFocusEvent): Add oldFocusedNode argument. * html/HTMLTextFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::dispatchFocusEvent): Pass oldFocusedNode to handleFocusEvent. * html/HTMLInputElement.h: (HTMLInputElement): - Add oldFocusedNode argument to handleFocusEvent. - Remove focus() override. * html/HTMLInputElement.cpp: Remove focus() override. (WebCore::HTMLInputElement::handleFocusEvent): Pass oldFocusedNode to InputType::handleFocusEvent. * html/InputType.cpp: Remove willCancelFocus. (WebCore::InputType::handleFocusEvent): Add oldFocusedNode argument. * html/InputType.h: (InputType): Ditto. * html/PasswordInputType.cpp: (WebCore::PasswordInputType::handleFocusEvent): Ditto. * html/PasswordInputType.h: (PasswordInputType): Ditto. * html/BaseMultipleFieldsDateAndTimeInputType.h: (BaseMultipleFieldsDateAndTimeInputType): Remove willCancelFocus, and add oldFocusedNode argument to handleFocusEvent. * html/BaseMultipleFieldsDateAndTimeInputType.cpp: (WebCore::BaseMultipleFieldsDateAndTimeInputType::handleFocusEvent): Pass oldFocusedNode to DateTimeEditElement::focusByOwner if the direction is FocusDirectionNone. * html/shadow/DateTimeEditElement.h: (DateTimeEditElement): Add oldFocusedNode argument to focusByOwner. * html/shadow/DateTimeEditElement.cpp: (WebCore::DateTimeEditElement::focusByOwner): If oldFocusedNode is one of sub-fields, focus on it again. LayoutTests: * fast/forms/time-multiple-fields/time-multiple-fields-focus-expected.txt: * fast/forms/time-multiple-fields/time-multiple-fields-focus.html: Add test to click a delimiter. git-svn-id:
http://svn.webkit.org/repository/webkit/trunk@142592
268f45cc-cd09-0410-ab3c-d52691b4dbfc --- 16 files changed, 118 insertions(+), 45 deletions(-)
Nils Barth
Comment 8
2013-02-12 01:02:19 PST
(In reply to
comment #7
)
> Created an attachment (id=187803) [details]
Sorry sorry -- webkit-patch accidentally uploaded to wrong bug number. Please ignore.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug