RFR: 8218973: SVG with masking is not rendering image with mask effect [v6]

Arun Joseph ajoseph at openjdk.java.net
Fri Jul 24 12:12:19 UTC 2020

On Tue, 21 Jul 2020 21:50:39 GMT, Bhawesh Choudhary <bchoudhary at openjdk.org> wrote:

>> Root cause of issue is Specifying a image mask from GraphicsContextJava.cpp in WebKit was not implemented, so masking
>> doesn't take place at all while rendering SVGRect. to fix this issue add implementation of function clipToImageBuffer()
>> in GraphicsContextJava.cpp and send clip image to WCGraphicsPrismContext.java  While rendering in
>> WCGraphicsPrismContext.java if image clip mask is available, use it for rendering using MaskTextureGraphics interface
>> otherwise use usual way of rendering.
> Bhawesh Choudhary has updated the pull request incrementally with one additional commit since the last revision:
>   HiDPI printing and Rendering fix

modules/javafx.web/src/main/native/Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp line 93:

> 92:     auto deviceScaleFactor = document().deviceScaleFactor();
> 93:     maskImageContext.applyDeviceScaleFactor(deviceScaleFactor);
> 94:

For javafx port specific code in WebKit, it should be enclosed in `#if PLATFORM(JAVA)`. But I think that there should
be a better approach as other ports don't require this scaling of `deviceScaleFactor`


PR: https://git.openjdk.java.net/jfx/pull/213

More information about the openjfx-dev mailing list