Bug 252075

Summary: Zoom level factored into computed value of lh (line-height) unit used in CSS gradient
Product: WebKit Reporter: Dan <dan>
Component: CSSAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: Hironori.Fujii, karlcow, koivisto, mmaxfield, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: BrowserCompat, InRadar
Version: Safari Technology Preview   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
A demonstration of how 1lh changes as you zoom in and out of the page none

Description Dan 2023-02-10 14:09:24 PST
Created attachment 464947 [details]
A demonstration of how 1lh changes as you zoom in and out of the page

When used in a linear-gradient() CSS image, the computed value of `1lh` incorrectly changes based on zoom level.

In the attached test case, the paragraph has these styles:

p {
  line-height: 1.3;
  font-size: 20px;
  padding: 1lh;
  margin: 1lh;
  border: 1px solid;
  background-image: linear-gradient(
    transparent 0 1lh,
    #fc0 1lh 2lh,
    transparent 2lh 100%
  );
}

Zooming in and out of the page, the `margin` and `padding` are computed to `26px`, but the background image that highlights the first line of the paragraph gets out of sync.

The issue is not present in Chrome 109+.
Comment 1 Radar WebKit Bug Importer 2023-02-13 01:41:58 PST
<rdar://problem/105383208>