Bug 241535

Summary: [Filters] LightSource should keep its points in <length-percentage> units
Product: WebKit Reporter: Said Abou-Hallawa <sabouhallawa>
Component: Layout and RenderingAssignee: Said Abou-Hallawa <sabouhallawa>
Status: RESOLVED FIXED    
Severity: Normal CC: bfulgham, simon.fraser, webkit-bug-importer, zalan
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 231253, 232842    
Attachments:
Description Flags
fePointLight test case
none
feSpotLight test case none

Said Abou-Hallawa
Reported 2022-06-11 21:32:12 PDT
Created attachment 460186 [details] fePointLight test case Open the attached test cases. Expected: A green circle and green ellipse should be drawn. The problem is PointLightSource and SpotLightSource are created with points in user space coordinates. See SVGFEPointLightElement::lightSource() and SVGFESpotLightElement::lightSource(). But this requires knowing the filter targetBoundingBox and the primitiveUnits. When dynamically updating these points through SVGFEDiffuseLightingElement::setFilterEffectAttribute() or SVGFESpecularLightingElement::setFilterEffectAttribute() the filter is not available and these points are set in logical coordinates. This means these points will have values between -1 and 1 in user space coordinates. This is why the green circle and ellipse are not shown in the test cases. The fix is to make LightSource store their points in logical coordinates and to resolve them to user space coordinates in initPaintingData().
Attachments
fePointLight test case (1.18 KB, image/svg+xml)
2022-06-11 21:32 PDT, Said Abou-Hallawa
no flags
feSpotLight test case (1.34 KB, image/svg+xml)
2022-06-11 21:33 PDT, Said Abou-Hallawa
no flags
Said Abou-Hallawa
Comment 1 2022-06-11 21:33:49 PDT
Created attachment 460187 [details] feSpotLight test case
Said Abou-Hallawa
Comment 2 2022-06-11 21:38:33 PDT
Said Abou-Hallawa
Comment 3 2022-06-12 20:08:13 PDT
See https://drafts.csswg.org/css-values-4/#typedef-length-percentage for the definition of <length-percentage>.
Radar WebKit Bug Importer
Comment 4 2022-06-12 20:24:23 PDT
EWS
Comment 5 2022-06-12 21:27:41 PDT
Committed r295481 (251486@main): <https://commits.webkit.org/251486@main> Reviewed commits have been landed. Closing PR #1462 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.