Bug 251987

Summary: (REGRESSION 255300@main) Transparent outlines not rendered around all elements
Product: WebKit Reporter: Remko Tronçon <r+webkit>
Component: Layout and RenderingAssignee: zalan <zalan>
Status: RESOLVED FIXED    
Severity: Normal CC: bfulgham, changseok, esprehn+autocc, ews-watchlist, glenn, kondapallykalyan, mattwoodrow, pdr, simon.fraser, webkit-bug-importer, zalan
Priority: P2 Keywords: InRadar
Version: Safari 16   
Hardware: iPhone / iPad   
OS: iOS 16   
Attachments:
Description Flags
Test case
none
Patch
none
Patch none

Description Remko Tronçon 2023-02-09 05:42:25 PST
I have the following piece of HTML:

  <div>
    <div style="outline: 3px dashed rgba(1, 5, 57, 0.376471)">Foo</div>
    <div style="outline: 3px dashed rgba(1, 5, 57, 0.376471)">Bar</div>
  </div>
  <div style="outline: 3px dashed rgba(1, 5, 57, 0.376471)">Baz</div>

- When I load this in Safari on iOS, only the first item has an outline
- If I remove the alpha component from the first style, all outlines render
- If I change the 'dashed' in the first style to 'solid', only the 2 first outlines render (not the third)

There are other tweaks that you can do to get unexpected behavior, but the 2 above should hopefully pinpoint the problem.

I was also able to reproduce this in a simulator.
Comment 1 Simon Fraser (smfr) 2023-02-13 15:35:33 PST
Created attachment 464976 [details]
Test case
Comment 2 Simon Fraser (smfr) 2023-02-13 15:35:56 PST
Matt, this sounds a bit like your GraphicsContext state bug.
Comment 3 Radar WebKit Bug Importer 2023-02-16 05:43:16 PST
<rdar://problem/105545310>
Comment 4 zalan 2023-03-21 12:54:09 PDT
Created attachment 465542 [details]
Patch
Comment 5 zalan 2023-03-21 20:06:39 PDT
Created attachment 465543 [details]
Patch
Comment 6 EWS 2023-03-22 06:37:46 PDT
Committed 261962@main (bb3ba56cc5da): <https://commits.webkit.org/261962@main>

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