Bug 151379

Summary: Focus ordering should respect slot elements
Product: WebKit Reporter: Ryosuke Niwa <rniwa>
Component: UI EventsAssignee: Ryosuke Niwa <rniwa>
Status: RESOLVED FIXED    
Severity: Normal CC: cdumez, commit-queue, esprehn+autocc, gyuyoung.kim, kangil.han, koivisto, kondapallykalyan
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 154630, 154637, 154660, 154769, 157415    
Bug Blocks: 148695    
Attachments:
Description Flags
Fixes the bug
none
Archive of layout-test-results from ews126 for ios-simulator-wk2
none
Fixed GTK builds
none
Fixed test expectation for iOS koivisto: review+

Description Ryosuke Niwa 2015-11-17 21:51:23 PST
As discussed in 2015 TPAC, we should create a new tab ordering scope at each shadow root and slot.
Comment 1 Ryosuke Niwa 2016-05-16 03:11:35 PDT
Created attachment 279015 [details]
Fixes the bug
Comment 2 Build Bot 2016-05-16 04:15:29 PDT
Comment on attachment 279015 [details]
Fixes the bug

Attachment 279015 [details] did not pass ios-sim-ews (ios-simulator-wk2):
Output: http://webkit-queues.webkit.org/results/1329907

New failing tests:
fast/shadow-dom/focus-across-details-element.html
fast/shadow-dom/focus-navigation-across-slots.html
Comment 3 Build Bot 2016-05-16 04:15:34 PDT
Created attachment 279016 [details]
Archive of layout-test-results from ews126 for ios-simulator-wk2

The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews126  Port: ios-simulator-wk2  Platform: Mac OS X 10.11.4
Comment 4 Ryosuke Niwa 2016-05-16 12:11:11 PDT
Created attachment 279032 [details]
Fixed GTK builds
Comment 5 Ryosuke Niwa 2016-05-16 12:11:50 PDT
Created attachment 279033 [details]
Fixed test expectation for iOS
Comment 6 Antti Koivisto 2016-05-16 13:10:45 PDT
Comment on attachment 279033 [details]
Fixed test expectation for iOS

View in context: https://bugs.webkit.org/attachment.cgi?id=279033&action=review

> Source/WebCore/page/FocusController.cpp:148
> +    ContainerNode* parent = node.parentNode();

I would use auto* for various Node*s in this patch.
Comment 7 Antti Koivisto 2016-05-16 13:11:03 PDT
r=me
Comment 8 Ryosuke Niwa 2016-05-16 13:25:43 PDT
Committed r200964: <http://trac.webkit.org/changeset/200964>