Summary: | Node.focus() fails to move focus from subframe properly | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Alexey Proskuryakov <ap> | ||||||||
Component: | Frames | Assignee: | Alexey Proskuryakov <ap> | ||||||||
Status: | RESOLVED FIXED | ||||||||||
Severity: | Normal | CC: | abarth, eric, tonikitoo, webkit.review.bot | ||||||||
Priority: | P2 | Keywords: | InRadar | ||||||||
Version: | 528+ (Nightly build) | ||||||||||
Hardware: | All | ||||||||||
OS: | All | ||||||||||
Attachments: |
|
Created attachment 55049 [details]
proposed fix
Committed <http://trac.webkit.org/changeset/58830>. http://trac.webkit.org/changeset/58830 might have broken SnowLeopard Intel Release (Tests) platform/mac/accessibility/frame-with-title.html -PASS accessibilityController.focusedElement.description is 'AXDescription: All Packages' -PASS accessibilityController.focusedElement.description is 'AXDescription: packageListFrame' +FAIL accessibilityController.focusedElement.description should be AXDescription: All Packages. Was AXDescription: . +FAIL accessibilityController.focusedElement.description should be AXDescription: packageListFrame. Was AXDescription: . Rolled out in r58836. Calling focus() from JavaScript uses the same code path, and is somehow broken by this change. Created attachment 55400 [details]
better fix
Same idea, hopefully less nonsensical implementation.
Committed <http://trac.webkit.org/changeset/58961>. |
Created attachment 55045 [details] test case If focus is in a subframe, and a script tries to take it to outer frame, this results in inconsistent focus state. A focused input isn't painted as such, but it keyboard input still goes into it. See attached test case.