-
Notifications
You must be signed in to change notification settings - Fork 476
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
8202990: javafx webview css filter property with display scaling #279
Conversation
👋 Welcome back bchoudhary! A progress list of the required criteria for merging this PR into |
Webrevs
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With your patch installed, I see a race condition that manifests in one of two ways:
- If I load the new .html file with HelloWebView, I see the shadow most of the time, but it is missing some of the time.
- The new unit test crashes intermittently
I suspect this might be related to the gc.setCompositeOperation
call. Are you certain this is being done on the right thread?
/reviewers 2 |
@kevinrushforth |
I couldn't reproduce the race condition or crash with the fix.
This may not be the cause as the compositeOperator is pushed to a RenderQueue which is decoded from the java side. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 does, rather than a unit test in the javafx.web module, which uses |
I believe that the problem noted above is with the test harness, specifically the So the fix for this PR should avoid using it, as suggested above. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. I verified that the system test still catches the bug (that is, it fails without the fix and passes with the fix). I ran it in a loop 100 times on both Mac and Windows without crashing.
tests/system/src/test/java/test/javafx/scene/web/CSSFilterTest.java
Outdated
Show resolved
Hide resolved
tests/system/src/test/java/test/javafx/scene/web/CSSFilterTest.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The fix and test looks good.
@bhaweshkc This change now passes all automated pre-integration checks. When the change also fulfills all project specific requirements, type
Since the source branch of this PR was last updated there have been 18 commits pushed to the
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid automatic rebasing, please merge As you do not have Committer status in this project, an existing Committer must agree to sponsor your change. Possible candidates are the reviewers of this PR (@kevinrushforth, @arun-joseph) but any other Committer may sponsor as well. ➡️ To flag this PR as ready for integration with the above commit message, type |
/integrate |
@bhaweshkc |
/sponsor |
@kevinrushforth @bhaweshkc The following commits have been pushed to master since your change was applied:
Your commit was automatically rebased without conflicts. Pushed as commit 3cb3ca8. |
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.
Progress
Issue
Reviewers
Download
$ git fetch https://git.openjdk.java.net/jfx pull/279/head:pull/279
$ git checkout pull/279