Bug 239028

Summary: Clean up Element::isFocusableWithoutResolvingFullStyle()
Product: WebKit Reporter: Tim Nguyen (:ntim) <ntim>
Component: DOMAssignee: Tim Nguyen (:ntim) <ntim>
Status: RESOLVED FIXED    
Severity: Normal CC: cdumez, cmarcelo, darin, esprehn+autocc, ews-watchlist, kangil.han, koivisto, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch
koivisto: review+
[fast-cq] Patch none

Description Tim Nguyen (:ntim) 2022-04-09 06:49:35 PDT
Clean up isFocusableWithoutResolvingFullStyle() by using a shared lambda for different checks.
Comment 1 Tim Nguyen (:ntim) 2022-04-09 06:52:24 PDT
Created attachment 457161 [details]
Patch
Comment 2 Darin Adler 2022-04-11 14:28:28 PDT
Comment on attachment 457161 [details]
Patch

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

> Source/WebCore/dom/Element.cpp:3560
> +    auto isFocusableStyle = [](const RenderStyle* style) -> bool {

Since this won’t work on null, it should take RenderStyle&, not *.

> Source/WebCore/dom/Element.cpp:3568
> +        return isFocusableStyle(renderStyle());

And we would put the * here at the call site.
Comment 3 Radar WebKit Bug Importer 2022-04-16 06:50:13 PDT
<rdar://problem/91848897>
Comment 4 Tim Nguyen (:ntim) 2022-04-18 12:13:28 PDT
Created attachment 457814 [details]
Patch
Comment 5 Tim Nguyen (:ntim) 2022-04-18 12:14:17 PDT
(In reply to Darin Adler from comment #2)
> Comment on attachment 457161 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=457161&action=review
> 
> > Source/WebCore/dom/Element.cpp:3560
> > +    auto isFocusableStyle = [](const RenderStyle* style) -> bool {
> 
> Since this won’t work on null, it should take RenderStyle&, not *.

Yeah, the previous version crashed as EWS showed, made it check for the style's existence as well so I don't duplicate it.
Comment 6 Antti Koivisto 2022-04-19 01:58:44 PDT
Comment on attachment 457814 [details]
Patch

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

> Source/WebCore/dom/Element.cpp:3560
> +    auto isFocusableStyle = [](const RenderStyle* style) -> bool {

->bool is not necessary
Comment 7 Tim Nguyen (:ntim) 2022-04-19 02:24:55 PDT
Created attachment 457868 [details]
[fast-cq] Patch
Comment 8 EWS 2022-04-19 02:30:08 PDT
Committed r293011 (249750@main): <https://commits.webkit.org/249750@main>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 457868 [details].