Tabbing out of a component which has tabindex -1 and shadow root freezes the browser
Categories
(Core :: DOM: Core & HTML, defect, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr60 | --- | unaffected |
firefox65 | --- | wontfix |
firefox66 | --- | wontfix |
firefox67 | --- | fixed |
People
(Reporter: vilevicius, Assigned: smaug)
References
(Blocks 1 open bug)
Details
(Keywords: hang, regression)
Attachments
(2 files)
891 bytes,
patch
|
Details | Diff | Splinter Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review |
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36
Steps to reproduce:
- Create simple web component with shadow DOM, slot and tabindex=-1.
- Nest component in the same component, add several levels.
- Focus node in the top level and press tab.
Here is the code example:
https://codepen.io/anon/pen/ywJqzm
Actual results:
Browser freezes (time of freeze depends on nested levels)
Expected results:
Next focusable element is focused.
![]() |
||
Updated•5 years ago
|
![]() |
||
Comment 1•5 years ago
|
||
I can reproduce the gang on Nightly67.0a1 windows10.
![]() |
||
Comment 2•5 years ago
|
||
s/gang/hang/
![]() |
||
Comment 3•5 years ago
|
||
Regression window:
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=97898f7472fb0f9e73f4edfb27b2b25e05fd9611&tochange=0dad5cbc6165abc5e395bfb3be995b0da69e7212
Regressed by:
0dad5cbc6165 Olli Pettay — Bug 1466581, handle sequential focus also in nested shadow DOM, r=mrbkap
![]() |
||
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Comment 5•5 years ago
|
||
Setting to fix-optional for 66 b/c P2
Assignee | ||
Comment 6•5 years ago
|
||
Interesting. It isn't a hang, but (very) slow performance.
Assignee | ||
Comment 7•5 years ago
|
||
Need to write a testcase tomorrow
Updated•5 years ago
|
Assignee | ||
Comment 8•5 years ago
|
||
Assignee | ||
Comment 9•5 years ago
|
||
If aIgnoreTabIndex is true, we're just trying to find any focusable element, doesn't matter which tabindex it has.
So better to bail out early from the deeply nested GetNextTabbableContentInScope to avoid exponential number of calls.
Assignee | ||
Comment 10•5 years ago
|
||
filed bug 1535320 to rename the test file
Comment 11•5 years ago
|
||
Pushed by opettay@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/0cc6396199a8 bail out early when trying to find any focusable element in shadow tree, r=masayuki
Comment 12•5 years ago
|
||
bugherder |
Updated•5 years ago
|
Description
•