WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
Bug 199606
Make tabIndex IDL attribute reflect its content attribute
https://bugs.webkit.org/show_bug.cgi?id=199606
Summary
Make tabIndex IDL attribute reflect its content attribute
Ryosuke Niwa
Reported
2019-07-08 19:41:55 PDT
See
https://github.com/whatwg/html/issues/1786#issuecomment-504925534
PR:
https://github.com/whatwg/html/pull/4754
Attachments
WIP
(21.44 KB, patch)
2019-08-15 16:45 PDT
,
Ryosuke Niwa
no flags
Details
Formatted Diff
Diff
Archive of layout-test-results from ews100 for mac-highsierra
(3.41 MB, application/zip)
2019-08-15 17:57 PDT
,
EWS Watchlist
no flags
Details
Archive of layout-test-results from ews117 for mac-highsierra
(3.19 MB, application/zip)
2019-08-15 19:19 PDT
,
EWS Watchlist
no flags
Details
Archive of layout-test-results from ews213 for win-future
(13.44 MB, application/zip)
2019-08-15 20:01 PDT
,
EWS Watchlist
no flags
Details
Patch
(28.43 KB, patch)
2019-08-21 20:07 PDT
,
Ryosuke Niwa
no flags
Details
Formatted Diff
Diff
Archive of layout-test-results from ews212 for win-future
(13.79 MB, application/zip)
2019-08-21 21:27 PDT
,
EWS Watchlist
no flags
Details
Updated for trunk
(28.60 KB, patch)
2019-08-21 21:40 PDT
,
Ryosuke Niwa
no flags
Details
Formatted Diff
Diff
Rebaelined more tests
(32.90 KB, patch)
2019-08-21 22:07 PDT
,
Ryosuke Niwa
no flags
Details
Formatted Diff
Diff
Rebaelined more tests
(33.42 KB, patch)
2019-08-21 22:10 PDT
,
Ryosuke Niwa
ews-watchlist
: commit-queue-
Details
Formatted Diff
Diff
Archive of layout-test-results from ews213 for win-future
(13.86 MB, application/zip)
2019-08-21 23:41 PDT
,
EWS Watchlist
no flags
Details
Fix svg/custom/tabindex-order.html on Windows
(35.32 KB, patch)
2019-08-22 16:30 PDT
,
Ryosuke Niwa
cdumez
: review+
Details
Formatted Diff
Diff
Show Obsolete
(10)
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2019-07-08 19:43:28 PDT
<
rdar://problem/52811448
>
Domenic Denicola
Comment 2
2019-07-09 11:59:23 PDT
The spec PR was merged, but perhaps a bit prematurely. A follow up is being done at
https://github.com/whatwg/html/pull/4759
. According to the latest test results at
https://github.com/web-platform-tests/wpt/pull/17657
WebKit is already very compliant in terms of observable behavior. The only failing tests as of this time are around summary elements that are not first-summary-children of details elements, and how they aren't respecting explicitly-set tabindex="" attribute values. That said, there may be opportunities for code simplification here, similar to in Blink.
https://bugs.chromium.org/p/chromium/issues/detail?id=982350
is the counterpart Blink bug
Ryosuke Niwa
Comment 3
2019-08-15 16:45:26 PDT
Created
attachment 376444
[details]
WIP
EWS Watchlist
Comment 4
2019-08-15 17:57:14 PDT
Comment on
attachment 376444
[details]
WIP
Attachment 376444
[details]
did not pass mac-ews (mac): Output:
https://webkit-queues.webkit.org/results/12920931
New failing tests: imported/w3c/web-platform-tests/html/dom/reflection-misc.html svg/custom/tabindex-order.html
EWS Watchlist
Comment 5
2019-08-15 17:57:16 PDT
Created
attachment 376456
[details]
Archive of layout-test-results from ews100 for mac-highsierra The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews100 Port: mac-highsierra Platform: Mac OS X 10.13.6
EWS Watchlist
Comment 6
2019-08-15 19:19:34 PDT
Comment on
attachment 376444
[details]
WIP
Attachment 376444
[details]
did not pass mac-debug-ews (mac): Output:
https://webkit-queues.webkit.org/results/12921299
New failing tests: svg/custom/tabindex-order.html
EWS Watchlist
Comment 7
2019-08-15 19:19:36 PDT
Created
attachment 376466
[details]
Archive of layout-test-results from ews117 for mac-highsierra The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews117 Port: mac-highsierra Platform: Mac OS X 10.13.6
EWS Watchlist
Comment 8
2019-08-15 20:01:19 PDT
Comment on
attachment 376444
[details]
WIP
Attachment 376444
[details]
did not pass win-ews (win): Output:
https://webkit-queues.webkit.org/results/12921617
New failing tests: svg/custom/tabindex-order.html
EWS Watchlist
Comment 9
2019-08-15 20:01:22 PDT
Created
attachment 376469
[details]
Archive of layout-test-results from ews213 for win-future The attached test failures were seen while running run-webkit-tests on the win-ews. Bot: ews213 Port: win-future Platform: CYGWIN_NT-10.0-17763-3.0.5-338.x86_64-x86_64-64bit
Ryosuke Niwa
Comment 10
2019-08-21 20:07:04 PDT
Created
attachment 376970
[details]
Patch
EWS Watchlist
Comment 11
2019-08-21 21:27:36 PDT
Comment on
attachment 376970
[details]
Patch
Attachment 376970
[details]
did not pass win-ews (win): Output:
https://webkit-queues.webkit.org/results/12955051
New failing tests: fast/dom/tabindex-defaults.html svg/custom/tabindex-order.html
EWS Watchlist
Comment 12
2019-08-21 21:27:38 PDT
Created
attachment 376980
[details]
Archive of layout-test-results from ews212 for win-future The attached test failures were seen while running run-webkit-tests on the win-ews. Bot: ews212 Port: win-future Platform: CYGWIN_NT-10.0-17763-3.0.5-338.x86_64-x86_64-64bit
Ryosuke Niwa
Comment 13
2019-08-21 21:32:33 PDT
Hm... maybe Windows EWS didn't have
https://trac.webkit.org/changeset/248983/webkit
?
Ryosuke Niwa
Comment 14
2019-08-21 21:40:01 PDT
Created
attachment 376981
[details]
Updated for trunk
Ryosuke Niwa
Comment 15
2019-08-21 22:07:18 PDT
Created
attachment 376983
[details]
Rebaelined more tests
Ryosuke Niwa
Comment 16
2019-08-21 22:10:49 PDT
Created
attachment 376984
[details]
Rebaelined more tests
EWS Watchlist
Comment 17
2019-08-21 23:41:12 PDT
Comment on
attachment 376984
[details]
Rebaelined more tests
Attachment 376984
[details]
did not pass win-ews (win): Output:
https://webkit-queues.webkit.org/results/12955418
New failing tests: svg/custom/tabindex-order.html
EWS Watchlist
Comment 18
2019-08-21 23:41:14 PDT
Created
attachment 376992
[details]
Archive of layout-test-results from ews213 for win-future The attached test failures were seen while running run-webkit-tests on the win-ews. Bot: ews213 Port: win-future Platform: CYGWIN_NT-10.0-17763-3.0.5-338.x86_64-x86_64-64bit
Ryosuke Niwa
Comment 19
2019-08-22 00:10:06 PDT
Hm... it looks like I'd have to tweak the test further.
Ryosuke Niwa
Comment 20
2019-08-22 16:30:15 PDT
Created
attachment 377071
[details]
Fix svg/custom/tabindex-order.html on Windows
Ryosuke Niwa
Comment 21
2019-08-23 19:27:14 PDT
Ping reviewers.
Ryosuke Niwa
Comment 22
2019-08-28 08:03:04 PDT
Ping?
Chris Dumez
Comment 23
2019-08-28 08:19:46 PDT
Comment on
attachment 377071
[details]
Fix svg/custom/tabindex-order.html on Windows View in context:
https://bugs.webkit.org/attachment.cgi?id=377071&action=review
r=me with nit.
> Source/WebCore/dom/Element.cpp:270 > + auto tabIndex = tabIndexSetExplicitly();
nit: Could be: return tabIndexSetExplicitly().valueOr(defaultTabIndex());
Ryosuke Niwa
Comment 24
2019-08-28 08:22:06 PDT
Comment on
attachment 377071
[details]
Fix svg/custom/tabindex-order.html on Windows View in context:
https://bugs.webkit.org/attachment.cgi?id=377071&action=review
>> Source/WebCore/dom/Element.cpp:270 >> + auto tabIndex = tabIndexSetExplicitly(); > > nit: Could be: > return tabIndexSetExplicitly().valueOr(defaultTabIndex());
Oh, I specifically didn't do that to avoid calling defaultTabIndex(), which is a virtual function.
Ryosuke Niwa
Comment 25
2019-08-28 08:22:36 PDT
Maybe we should add a comment next to it explaining the reason we don't use valueOr(~)?
Chris Dumez
Comment 26
2019-08-28 08:35:41 PDT
Comment on
attachment 377071
[details]
Fix svg/custom/tabindex-order.html on Windows View in context:
https://bugs.webkit.org/attachment.cgi?id=377071&action=review
>>> Source/WebCore/dom/Element.cpp:270 >>> + auto tabIndex = tabIndexSetExplicitly(); >> >> nit: Could be: >> return tabIndexSetExplicitly().valueOr(defaultTabIndex()); > > Oh, I specifically didn't do that to avoid calling defaultTabIndex(), which is a virtual function.
return tabIndexSetExplicitly().valueOrCompute([] { return defaultTabIndex(); }); :D
Chris Dumez
Comment 27
2019-08-28 08:36:15 PDT
(In reply to Ryosuke Niwa from
comment #25
)
> Maybe we should add a comment next to it explaining the reason we don't use > valueOr(~)?
We added valueOrCompute() specifically for this already, let's use it.
Chris Dumez
Comment 28
2019-08-28 08:38:26 PDT
(In reply to Chris Dumez from
comment #26
)
> Comment on
attachment 377071
[details]
> Fix svg/custom/tabindex-order.html on Windows > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=377071&action=review
> > >>> Source/WebCore/dom/Element.cpp:270 > >>> + auto tabIndex = tabIndexSetExplicitly(); > >> > >> nit: Could be: > >> return tabIndexSetExplicitly().valueOr(defaultTabIndex()); > > > > Oh, I specifically didn't do that to avoid calling defaultTabIndex(), which is a virtual function. > > return tabIndexSetExplicitly().valueOrCompute([] { return defaultTabIndex(); > }); > > :D
Actually, it looks like the syntax is like so: return valueOrCompute(tabIndexSetExplicitly(), [] { return defaultTabIndex(); });
Ryosuke Niwa
Comment 29
2019-08-28 08:39:31 PDT
(In reply to Chris Dumez from
comment #28
)
> (In reply to Chris Dumez from
comment #26
) > > Comment on
attachment 377071
[details]
> > Fix svg/custom/tabindex-order.html on Windows > > > > View in context: > >
https://bugs.webkit.org/attachment.cgi?id=377071&action=review
> > > > >>> Source/WebCore/dom/Element.cpp:270 > > >>> + auto tabIndex = tabIndexSetExplicitly(); > > >> > > >> nit: Could be: > > >> return tabIndexSetExplicitly().valueOr(defaultTabIndex()); > > > > > > Oh, I specifically didn't do that to avoid calling defaultTabIndex(), which is a virtual function. > > > > return tabIndexSetExplicitly().valueOrCompute([] { return defaultTabIndex(); > > }); > > > > :D > > Actually, it looks like the syntax is like so: > return valueOrCompute(tabIndexSetExplicitly(), [] { return > defaultTabIndex(); });
Oh neat!
Chris Dumez
Comment 30
2019-08-28 08:40:24 PDT
(In reply to Ryosuke Niwa from
comment #29
)
> (In reply to Chris Dumez from
comment #28
) > > (In reply to Chris Dumez from
comment #26
) > > > Comment on
attachment 377071
[details]
> > > Fix svg/custom/tabindex-order.html on Windows > > > > > > View in context: > > >
https://bugs.webkit.org/attachment.cgi?id=377071&action=review
> > > > > > >>> Source/WebCore/dom/Element.cpp:270 > > > >>> + auto tabIndex = tabIndexSetExplicitly(); > > > >> > > > >> nit: Could be: > > > >> return tabIndexSetExplicitly().valueOr(defaultTabIndex()); > > > > > > > > Oh, I specifically didn't do that to avoid calling defaultTabIndex(), which is a virtual function. > > > > > > return tabIndexSetExplicitly().valueOrCompute([] { return defaultTabIndex(); > > > }); > > > > > > :D > > > > Actually, it looks like the syntax is like so: > > return valueOrCompute(tabIndexSetExplicitly(), [] { return > > defaultTabIndex(); }); > > Oh neat!
Good catch on the virtual function call, I failed to notice :)
Ryosuke Niwa
Comment 31
2019-08-28 20:14:26 PDT
Committed
r249237
: <
https://trac.webkit.org/changeset/249237
>
Alexey Proskuryakov
Comment 32
2019-08-29 11:41:21 PDT
This change made svg/custom/tabindex-order.html very flaky, slowing down EWS and commit queue.
Ryosuke Niwa
Comment 33
2019-08-29 12:23:31 PDT
(In reply to Alexey Proskuryakov from
comment #32
)
> This change made svg/custom/tabindex-order.html very flaky, slowing down EWS > and commit queue.
Hm... weird. Let me look into that.
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