RFR: 8202990: javafx webview css filter property with display scaling

Kevin Rushforth kcr at openjdk.java.net
Sat Aug 29 00:34:21 UTC 2020


On Fri, 28 Aug 2020 05:24:24 GMT, Arun Joseph <ajoseph at openjdk.org> wrote:

>> ImageJava.cpp ignores CompositeOperator parameter in drawImage function due to which shadow was getting drawn on top of
>> actual image. apply given composite operator to graphics context before drawing image to fix this issue. another issue
>> is into WCGraphicsPrismContext.java. while blending two layers, applying state to the destination layer was missed due
>> to which image was not getting drawn with right scale in hidpi mode. apply state to fix the issue.
>
> The fix and test looks good.

I spent some time this afternoon going over the fix in more detail and doing extensive testing on both Windows and Mac.

I believe the fix is good. Both by inspection and by instrumenting the code, there are no race conditions or other
problems that I can see.

The problem appears to be in the test, or else somewhere in the test harness or the SW pipeline exposed by the test. If
I run the new CSSTest in a loop on either Mac or Windows, it will crash intermittently. I then reverted your fix,
running the new test (which will throw an expected assertion error), and it still crashes intermittently.

My recommendation is to use a system test, similar to what
[SVGTest.java](https://github.com/openjdk/jfx/blob/master/tests/system/src/test/java/test/javafx/scene/web/SVGTest.java)
does, rather than a unit test in the javafx.web module, which uses `WebPage::paint`.

-------------

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


More information about the openjfx-dev mailing list