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.
See also: bug 26824.
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>.
<rdar://problem/7971735>