Withdrawn: 8218973: SVG with masking is not rendering image with mask effect
On Thu, 7 May 2020 09:19:28 GMT, Bhawesh Choudhary 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. This pull request has been closed without being integrated. - PR: https://git.openjdk.java.net/jfx/pull/213
Withdrawn: 8169501: GIF animation is too fast
On Fri, 15 May 2020 07:42:40 GMT, Bhawesh Choudhary wrote: > issue is caused by the threshold value for frame duration used by javaFx > before it gets normalized. JavaFx is using > threshold value 10 while other browser (Safari, Firefox) is using 50 due to > which, value between 10 and 50 don't get > normalized and animation runs at faster speed. To fix the issue change frame > duration normalization value to <= 50. > Safari : https://bugs.webkit.org/show_bug.cgi?id=14413 Firefox : > https://bugzilla.mozilla.org/show_bug.cgi?id=386269 This pull request has been closed without being integrated. - PR: https://git.openjdk.java.net/jfx/pull/221
Re: RFR: 8169501: GIF animation is too fast
On Tue, 15 Sep 2020 14:11:23 GMT, Nir Lisker wrote: > > > Is this related to https://bugs.openjdk.java.net/browse/JDK-8209560? it seems not. - PR: https://git.openjdk.java.net/jfx/pull/221
Re: RFR: 8169501: GIF animation is too fast
On Thu, 23 Jul 2020 17:42:57 GMT, Kevin Rushforth wrote: >> issue is caused by the threshold value for frame duration used by javaFx >> before it gets normalized. JavaFx is using >> threshold value 10 while other browser (Safari, Firefox) is using 50 due to >> which, value between 10 and 50 don't get >> normalized and animation runs at faster speed. To fix the issue change frame >> duration normalization value to <= 50. >> Safari : https://bugs.webkit.org/show_bug.cgi?id=14413 Firefox : >> https://bugzilla.mozilla.org/show_bug.cgi?id=386269 > > This is pending response to comments above. 10ms![10ms](https://user-images.githubusercontent.com/4208131/93172831-3c9fcb80-f749-11ea-93ee-46b58ecff4c3.gif) 11ms![11ms](https://user-images.githubusercontent.com/4208131/93172833-3dd0f880-f749-11ea-8fa7-5cf2f3cfdcdc.gif) 12ms![12ms](https://user-images.githubusercontent.com/4208131/93172834-3e698f00-f749-11ea-92ae-24b3087758d2.gif) 15ms![15ms](https://user-images.githubusercontent.com/4208131/93172836-3e698f00-f749-11ea-9b9b-15c5f21dd5af.gif) __ 19ms![19ms](https://user-images.githubusercontent.com/4208131/93172837-3f022580-f749-11ea-84be-7adc712bf230.gif) 20ms![20ms](https://user-images.githubusercontent.com/4208131/93172839-3f9abc00-f749-11ea-8d5d-98b4ae131546.gif) 21ms![21ms](https://user-images.githubusercontent.com/4208131/93172841-3f9abc00-f749-11ea-9b50-0cb5aa56b525.gif) 40ms![40ms](https://user-images.githubusercontent.com/4208131/93172843-40335280-f749-11ea-8572-5bcfae11e28f.gif) __ 75ms![75ms](https://user-images.githubusercontent.com/4208131/93172846-40cbe900-f749-11ea-8cc2-e20d2ce74947.gif) Original![gif](https://user-images.githubusercontent.com/4208131/93172848-41647f80-f749-11ea-88a9-429fa956e428.gif) Without the fix, gif animation speed matches for all interval gifs with all other browser (Which includes firefox, safari, chrome). Only animation speed for gif file which is attached in issue doesn't match. javafx webkit plays it faster. Imageview plays everything at its original speed. No clamping happens here. - PR: https://git.openjdk.java.net/jfx/pull/221
Re: RFR: 8218973: SVG with masking is not rendering image with mask effect [v12]
On Fri, 11 Sep 2020 00:13:48 GMT, Kevin Rushforth wrote: >> Bhawesh Choudhary has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Added unit test for strokes > > modules/javafx.web/src/main/java/com/sun/javafx/webkit/prism/WCGraphicsPrismContext.java > line 524: > >> 522: } >> 523: if (isFill) { >> 524: g1.fill(shape); > > This will call the slower `fill(Shape)` method in all cases rather than the > specialized `fillRect` or `fillRoundRect` > method. Given all the other things that are done to draw a shape with a clip > mask, I suspect that this is fine. One > thing to consider is to pass in an enum instead of a boolean. The enum could > say whether to use the specialized calls > or the generic `fill` call. It's probably not worth the effort to make this > change. other than paths only RoundRectangle2D is passed to this function. Shape can be checked if it is an instance of RoundRectangle2D and faster draw api can be called. added the same along with enum private to this class. > modules/javafx.web/src/test/java/test/javafx/scene/web/SVGTest.java line 164: > >> 162: final WebPage webPage = WebEngineShim.getPage(getEngine()); >> 163: assertNotNull(webPage); >> 164: final BufferedImage img = WebPageShim.paint(webPage, 0, 0, >> 200, 200); > > This is added to the (preexisting) problem of calling `paint` on the wrong > thread. In this case, it doesn't seem to > cause any additional problems, and other tests in this same class do it, so > we can fix this in the follow-on issue that > is already filed, > [JDK-8252596](https://bugs.openjdk.java.net/browse/JDK-8252596). moved tests to system test. also consolidated all tests into one. - PR: https://git.openjdk.java.net/jfx/pull/213
Re: RFR: 8218973: SVG with masking is not rendering image with mask effect [v12]
On Fri, 11 Sep 2020 00:10:29 GMT, Kevin Rushforth wrote: >> Bhawesh Choudhary has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Added unit test for strokes > > modules/javafx.web/src/main/java/com/sun/javafx/webkit/prism/WCGraphicsPrismContext.java > line 447: > >> 445: public void setClip(int cx, int cy, int cw, int ch, WCImage >> maskImage) { >> 446: setClip(new Rectangle(cx, cy, cw, ch)); >> 447: state.setClipMaskImage(maskImage); > > Should all of the other variants of setClip (the ones that don't take a > maskImage) set the clipMaskImage to null? > Otherwise it seems that it might not be reset to null in all cases. added setting of null to maskImage for all the overloads of setClip where mask image is not present. > modules/javafx.web/src/main/java/com/sun/javafx/webkit/prism/WCGraphicsPrismContext.java > line 520: > >> 518: state.apply(g1); >> 519: g1.setPaint(paint); >> 520: if(stroke != null) { > > Minor: there should be a space after the `if`. Fixed - PR: https://git.openjdk.java.net/jfx/pull/213
Re: RFR: 8218973: SVG with masking is not rendering image with mask effect [v7]
On Fri, 11 Sep 2020 06:48:35 GMT, Bhawesh Choudhary wrote: >> This question is still outstanding. It seems like the call to `setCTM` is >> either needed before all of the `setGradient` >> calls or none of them. Can you comment? > > i believe setCTM call is needed for none of them. it is a workaround i have > added till i have more concrete fix. also > please note that this workaround is needed only in cases where ui scaling is > more than 1. Removed the workaround and added right fix. `setCTM` call is not needed in any of the case. - PR: https://git.openjdk.java.net/jfx/pull/213
Re: RFR: 8218973: SVG with masking is not rendering image with mask effect [v13]
> 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: Updates as per review comments - Changes: - all: https://git.openjdk.java.net/jfx/pull/213/files - new: https://git.openjdk.java.net/jfx/pull/213/files/ed2dd092..f26f03df Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jfx=213=12 - incr: https://webrevs.openjdk.java.net/?repo=jfx=213=11-12 Stats: 336 lines in 6 files changed: 173 ins; 152 del; 11 mod Patch: https://git.openjdk.java.net/jfx/pull/213.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/213/head:pull/213 PR: https://git.openjdk.java.net/jfx/pull/213
Re: RFR: 8218973: SVG with masking is not rendering image with mask effect [v7]
On Fri, 11 Sep 2020 00:29:53 GMT, Kevin Rushforth wrote: >> modules/javafx.web/src/main/native/Source/WebCore/platform/graphics/java/GraphicsContextJava.cpp >> line 235: >> >>> 233: } else { >>> 234: if (m_state.fillGradient) { >>> 235: setCTM(m_state.transform); >> >> Why is this needed here, but not in the other places `setGradient` is >> called? Won't there be a similar problem with >> `strokeRect`, `fillPath`, etc? > > This question is still outstanding. It seems like the call to `setCTM` is > either needed before all of the `setGradient` > calls or none of them. Can you comment? i believe setCTM call is needed for none of them. it is a workaround i have added till i have more concrete fix. also please note that this workaround is needed only in cases where ui scaling is more than 1. - PR: https://git.openjdk.java.net/jfx/pull/213
Re: RFR: 8218973: SVG with masking is not rendering image with mask effect [v12]
> 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: Added unit test for strokes - Changes: - all: https://git.openjdk.java.net/jfx/pull/213/files - new: https://git.openjdk.java.net/jfx/pull/213/files/ec272623..ed2dd092 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jfx=213=11 - incr: https://webrevs.openjdk.java.net/?repo=jfx=213=10-11 Stats: 39 lines in 1 file changed: 37 ins; 0 del; 2 mod Patch: https://git.openjdk.java.net/jfx/pull/213.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/213/head:pull/213 PR: https://git.openjdk.java.net/jfx/pull/213
Re: RFR: 8218973: SVG with masking is not rendering image with mask effect [v11]
> 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: rendering fix for paths and strokes + refactoring - Changes: - all: https://git.openjdk.java.net/jfx/pull/213/files - new: https://git.openjdk.java.net/jfx/pull/213/files/87f63074..ec272623 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jfx=213=10 - incr: https://webrevs.openjdk.java.net/?repo=jfx=213=09-10 Stats: 132 lines in 1 file changed: 54 ins; 70 del; 8 mod Patch: https://git.openjdk.java.net/jfx/pull/213.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/213/head:pull/213 PR: https://git.openjdk.java.net/jfx/pull/213
Integrated: 8202990: javafx webview css filter property with display scaling
On Tue, 11 Aug 2020 16:18:37 GMT, Bhawesh Choudhary 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. This pull request has now been integrated. Changeset: 3cb3ca84 Author:Bhawesh Choudhary Committer: Kevin Rushforth URL: https://git.openjdk.java.net/jfx/commit/3cb3ca84 Stats: 200 lines in 4 files changed: 0 ins; 199 del; 1 mod 8202990: javafx webview css filter property with display scaling Reviewed-by: kcr, ajoseph - PR: https://git.openjdk.java.net/jfx/pull/279
Integrated: 8252387: Deprecate for removal css Selector and ShapeConverter constructors
On Fri, 28 Aug 2020 14:55:55 GMT, Bhawesh Choudhary wrote: > Deprecate the public constructor of javafx.css.Selector as it should not be > public due to only being extended by > classes in same package. Deprecate the public constructor of > javafx.css.converter.ShapeConverter as its a singleton > class. This pull request has now been integrated. Changeset: a5ecfb68 Author:Bhawesh Choudhary Committer: Nir Lisker URL: https://git.openjdk.java.net/jfx/commit/a5ecfb68 Stats: 14 lines in 2 files changed: 0 ins; 14 del; 0 mod 8252387: Deprecate for removal css Selector and ShapeConverter constructors Reviewed-by: nlisker, kcr - PR: https://git.openjdk.java.net/jfx/pull/290
Re: RFR: 8202990: javafx webview css filter property with display scaling [v3]
> 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. Bhawesh Choudhary has updated the pull request incrementally with one additional commit since the last revision: Updated test as per review comment - Changes: - all: https://git.openjdk.java.net/jfx/pull/279/files - new: https://git.openjdk.java.net/jfx/pull/279/files/a99141df..62dc4592 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jfx=279=02 - incr: https://webrevs.openjdk.java.net/?repo=jfx=279=01-02 Stats: 6 lines in 1 file changed: 0 ins; 5 del; 1 mod Patch: https://git.openjdk.java.net/jfx/pull/279.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/279/head:pull/279 PR: https://git.openjdk.java.net/jfx/pull/279
Re: RFR: 8218973: SVG with masking is not rendering image with mask effect [v10]
> 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: Added fillRoundedRect and fillPath drawing with mask - Changes: - all: https://git.openjdk.java.net/jfx/pull/213/files - new: https://git.openjdk.java.net/jfx/pull/213/files/41f64c0e..87f63074 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jfx=213=09 - incr: https://webrevs.openjdk.java.net/?repo=jfx=213=08-09 Stats: 42 lines in 1 file changed: 42 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/jfx/pull/213.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/213/head:pull/213 PR: https://git.openjdk.java.net/jfx/pull/213
Re: RFR: 8202990: javafx webview css filter property with display scaling [v2]
> 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. Bhawesh Choudhary has updated the pull request incrementally with one additional commit since the last revision: Moved test from unit test to system test - Changes: - all: https://git.openjdk.java.net/jfx/pull/279/files - new: https://git.openjdk.java.net/jfx/pull/279/files/91e8bdf0..a99141df Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jfx=279=01 - incr: https://webrevs.openjdk.java.net/?repo=jfx=279=00-01 Stats: 211 lines in 3 files changed: 185 ins; 26 del; 0 mod Patch: https://git.openjdk.java.net/jfx/pull/279.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/279/head:pull/279 PR: https://git.openjdk.java.net/jfx/pull/279
Re: RFR: 8218973: SVG with masking is not rendering image with mask effect [v9]
> 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: Added unit tests - Changes: - all: https://git.openjdk.java.net/jfx/pull/213/files - new: https://git.openjdk.java.net/jfx/pull/213/files/b1299ba1..41f64c0e Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jfx=213=08 - incr: https://webrevs.openjdk.java.net/?repo=jfx=213=07-08 Stats: 72 lines in 1 file changed: 71 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/jfx/pull/213.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/213/head:pull/213 PR: https://git.openjdk.java.net/jfx/pull/213
Re: RFR: 8252387: Deprecate for removal css Selector and ShapeConverter constructors [v2]
> Deprecate the public constructor of javafx.css.Selector as it should not be > public due to only being extended by > classes in same package. Deprecate the public constructor of > javafx.css.converter.ShapeConverter as its a singleton > class. Bhawesh Choudhary has updated the pull request incrementally with one additional commit since the last revision: Updated Selector class comments as per review - Changes: - all: https://git.openjdk.java.net/jfx/pull/290/files - new: https://git.openjdk.java.net/jfx/pull/290/files/4719ef18..eb2f71b8 Webrevs: - full: https://webrevs.openjdk.java.net/jfx/290/webrev.01 - incr: https://webrevs.openjdk.java.net/jfx/290/webrev.00-01 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/jfx/pull/290.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/290/head:pull/290 PR: https://git.openjdk.java.net/jfx/pull/290
RFR: 8252387: Deprecate for removal css Selector and ShapeConverter constructors
Deprecate the public constructor of javafx.css.Selector and javafx.css.converter.ShapeConverter Constrcutor for class javafx.css.Selector should not be public as it is only extended by classes in same package. it should be changed to package-private Constrcutor for class javafx.css.converter.ShapeConverter should be private rather than public as its a singleton class. - Commit messages: - 8252387: Deprecate for removal css Selector and ShapeConverter constructors Changes: https://git.openjdk.java.net/jfx/pull/290/files Webrev: https://webrevs.openjdk.java.net/jfx/290/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8252387 Stats: 14 lines in 2 files changed: 14 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/jfx/pull/290.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/290/head:pull/290 PR: https://git.openjdk.java.net/jfx/pull/290
Re: RFR: 8252381: Cherry pick GTK WebKit 2.28.4 changes
On Thu, 27 Aug 2020 14:59:56 GMT, Arun Joseph wrote: > Update to GTK WebKit 2.28.4 > https://webkitgtk.org/2020/07/28/webkitgtk2.28.4-released.html Marked as reviewed by bchoudhary (Author). - PR: https://git.openjdk.java.net/jfx/pull/289
Re: RFR: 8252381: Cherry pick GTK WebKit 2.28.4 changes
On Thu, 27 Aug 2020 21:27:18 GMT, Kevin Rushforth wrote: >> Update to GTK WebKit 2.28.4 >> https://webkitgtk.org/2020/07/28/webkitgtk2.28.4-released.html > > Looks good. Also, I tested on all three platforms. Verified with all three platform. Looks good. - PR: https://git.openjdk.java.net/jfx/pull/289
Integrated: 8251353: Many javafx scenegraph classes have implicit no-arg constructors
On Mon, 17 Aug 2020 11:16:55 GMT, Bhawesh Choudhary wrote: > Added missing explicit no-arg constructors to classes in package > javafx.scene, javafx.css and javafx.stage. This pull request has now been integrated. Changeset: 23ad8f40 Author:Bhawesh Choudhary Committer: Nir Lisker URL: https://git.openjdk.java.net/jfx/commit/23ad8f40 Stats: 80 lines in 12 files changed: 0 ins; 80 del; 0 mod 8251353: Many javafx scenegraph classes have implicit no-arg constructors Reviewed-by: kcr, nlisker - PR: https://git.openjdk.java.net/jfx/pull/283
Re: RFR: 8218973: SVG with masking is not rendering image with mask effect [v8]
> 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 with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 12 additional commits since the last revision: - Merge branch 'master' into clip_mask_support - Removed RenderSVGResourceMasker changes and added fix for HIDPI mask rendering - HiDPI printing and Rendering fix - Removed unnecessery Ceil Functions - Refactoring, Utilize getFilterContext() function - Moved Printing drawing path to non MaskTextureGraphics interface - added dispose of resources - Formatting correction (Line Endings) - removed executable file mode - Added unit test + SW Graphics rendering part - ... and 2 more: https://git.openjdk.java.net/jfx/compare/31912a00...b1299ba1 - Changes: - all: https://git.openjdk.java.net/jfx/pull/213/files - new: https://git.openjdk.java.net/jfx/pull/213/files/ef47709f..b1299ba1 Webrevs: - full: https://webrevs.openjdk.java.net/jfx/213/webrev.07 - incr: https://webrevs.openjdk.java.net/jfx/213/webrev.06-07 Stats: 404841 lines in 5801 files changed: 202048 ins; 139986 del; 62807 mod Patch: https://git.openjdk.java.net/jfx/pull/213.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/213/head:pull/213 PR: https://git.openjdk.java.net/jfx/pull/213
Re: RFR: 8251353: Many javafx scenegraph classes have implicit no-arg constructors [v5]
> Added missing explicit no-arg constructors to classes in package > javafx.scene, javafx.css and javafx.stage. Bhawesh Choudhary has updated the pull request incrementally with one additional commit since the last revision: Updated comments as per JDK Convention - Changes: - all: https://git.openjdk.java.net/jfx/pull/283/files - new: https://git.openjdk.java.net/jfx/pull/283/files/69b75d69..5bb07901 Webrevs: - full: https://webrevs.openjdk.java.net/jfx/283/webrev.04 - incr: https://webrevs.openjdk.java.net/jfx/283/webrev.03-04 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/jfx/pull/283.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/283/head:pull/283 PR: https://git.openjdk.java.net/jfx/pull/283
Re: RFR: 8251353: Many javafx scenegraph classes have implicit no-arg constructors [v4]
> Added missing explicit no-arg constructors to classes in package > javafx.scene, javafx.css and javafx.stage. Bhawesh Choudhary has updated the pull request incrementally with one additional commit since the last revision: Updated comments as per JDK convention - Changes: - all: https://git.openjdk.java.net/jfx/pull/283/files - new: https://git.openjdk.java.net/jfx/pull/283/files/38a7551d..69b75d69 Webrevs: - full: https://webrevs.openjdk.java.net/jfx/283/webrev.03 - incr: https://webrevs.openjdk.java.net/jfx/283/webrev.02-03 Stats: 12 lines in 12 files changed: 0 ins; 0 del; 12 mod Patch: https://git.openjdk.java.net/jfx/pull/283.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/283/head:pull/283 PR: https://git.openjdk.java.net/jfx/pull/283
Re: RFR: 8251353: Many javafx scenegraph classes have implicit no-arg constructors [v3]
> Added missing explicit no-arg constructors to classes in package > javafx.scene, javafx.css and javafx.stage. Bhawesh Choudhary has updated the pull request incrementally with one additional commit since the last revision: Reverted changes for class Selector and ShapeConverter as per review comment - Changes: - all: https://git.openjdk.java.net/jfx/pull/283/files - new: https://git.openjdk.java.net/jfx/pull/283/files/16d8b9ad..38a7551d Webrevs: - full: https://webrevs.openjdk.java.net/jfx/283/webrev.02 - incr: https://webrevs.openjdk.java.net/jfx/283/webrev.01-02 Stats: 14 lines in 2 files changed: 0 ins; 14 del; 0 mod Patch: https://git.openjdk.java.net/jfx/pull/283.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/283/head:pull/283 PR: https://git.openjdk.java.net/jfx/pull/283
Re: RFR: 8251353: Many javafx scenegraph classes have implicit no-arg constructors [v2]
> Added missing explicit no-arg constructors to classes in package > javafx.scene, javafx.css and javafx.stage. Bhawesh Choudhary has updated the pull request incrementally with one additional commit since the last revision: Marked few class constructor as deprecated as per review - Changes: - all: https://git.openjdk.java.net/jfx/pull/283/files - new: https://git.openjdk.java.net/jfx/pull/283/files/25c7b37c..16d8b9ad Webrevs: - full: https://webrevs.openjdk.java.net/jfx/283/webrev.01 - incr: https://webrevs.openjdk.java.net/jfx/283/webrev.00-01 Stats: 6 lines in 2 files changed: 2 ins; 0 del; 4 mod Patch: https://git.openjdk.java.net/jfx/pull/283.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/283/head:pull/283 PR: https://git.openjdk.java.net/jfx/pull/283
Integrated: 8251352: Many javafx.base classes have implicit no-arg constructors
On Mon, 17 Aug 2020 09:23:34 GMT, Bhawesh Choudhary wrote: > Added missing explicit no-arg constructors to classes in package > javafx.beans.property, javafx.collections, javafx.util > and javafx.util.converter in module javafx.base. This pull request has now been integrated. Changeset: b25ffc7a Author: Bhawesh Choudhary Committer: Kevin Rushforth URL: https://git.openjdk.java.net/jfx/commit/b25ffc7a Stats: 224 lines in 35 files changed: 0 ins; 224 del; 0 mod 8251352: Many javafx.base classes have implicit no-arg constructors Reviewed-by: nlisker, kcr - PR: https://git.openjdk.java.net/jfx/pull/282
RFR: 8251353: Many javafx scenegraph classes have implicit no-arg constructors
Added missing explicit no-arg constructors to classes in package javafx.scene, javafx.css and javafx.stage. - Commit messages: - 8251353: Many javafx scenegraph classes have implicit no-arg constructors Changes: https://git.openjdk.java.net/jfx/pull/283/files Webrev: https://webrevs.openjdk.java.net/jfx/283/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8251353 Stats: 92 lines in 14 files changed: 92 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/jfx/pull/283.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/283/head:pull/283 PR: https://git.openjdk.java.net/jfx/pull/283
RFR: 8251352: Many javafx.base classes have implicit no-arg constructors
Added missing explicit no-arg constructors to classes in package javafx.beans.property, javafx.collections, javafx.util and javafx.util.converter in module javafx.base. - Commit messages: - 8251352: Many javafx.base classes have implicit no-arg constructors Changes: https://git.openjdk.java.net/jfx/pull/282/files Webrev: https://webrevs.openjdk.java.net/jfx/282/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8251352 Stats: 224 lines in 35 files changed: 224 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/jfx/pull/282.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/282/head:pull/282 PR: https://git.openjdk.java.net/jfx/pull/282
RFR: 8202990: javafx webview css filter property with display scaling
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. - Commit messages: - Formatting - Formatting - added Unit Test - 8202990: javafx webview css filter property with display scaling Changes: https://git.openjdk.java.net/jfx/pull/279/files Webrev: https://webrevs.openjdk.java.net/jfx/279/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8202990 Stats: 46 lines in 4 files changed: 45 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/jfx/pull/279.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/279/head:pull/279 PR: https://git.openjdk.java.net/jfx/pull/279
Integrated: 8181775: JavaFX WebView does not calculate border-radius properly
On Thu, 14 May 2020 08:15:19 GMT, Bhawesh Choudhary wrote: > root cause of issue is prism's fillRoundedRect() API doesn't allow rendering > of rounded corner rectangle if four > corners have different radii. but same can be achieved via Path. to fix the > issue, in GraphicsContextJava.cpp while > rendering fillRoundedRect, check if all four corners have same radii. if yes, > use FILL_ROUNDED_RECT to draw it > otherwise construct a path from given rounded rect and draw it. This pull request has now been integrated. Changeset: f216c5fe Author:Bhawesh Choudhary Committer: Kevin Rushforth URL: https://git.openjdk.java.net/jfx/commit/f216c5fe Stats: 104 lines in 2 files changed: 0 ins; 95 del; 9 mod 8181775: JavaFX WebView does not calculate border-radius properly Reviewed-by: kcr, ajoseph - PR: https://git.openjdk.java.net/jfx/pull/218
Re: RFR: 8218973: SVG with masking is not rendering image with mask effect [v7]
> 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: Removed RenderSVGResourceMasker changes and added fix for HIDPI mask rendering - Changes: - all: https://git.openjdk.java.net/jfx/pull/213/files - new: https://git.openjdk.java.net/jfx/pull/213/files/312d068a..ef47709f Webrevs: - full: https://webrevs.openjdk.java.net/jfx/213/webrev.06 - incr: https://webrevs.openjdk.java.net/jfx/213/webrev.05-06 Stats: 3 lines in 2 files changed: 1 ins; 2 del; 0 mod Patch: https://git.openjdk.java.net/jfx/pull/213.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/213/head:pull/213 PR: https://git.openjdk.java.net/jfx/pull/213
Re: RFR: 8218973: SVG with masking is not rendering image with mask effect [v6]
On Fri, 24 Jul 2020 12:10:00 GMT, Arun Joseph wrote: >> 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` RenderSVGResourceMasker.cpp changes are removed now. - PR: https://git.openjdk.java.net/jfx/pull/213
Re: RFR: 8249839: Cherry pick GTK WebKit 2.28.3 changes
On Thu, 23 Jul 2020 16:36:01 GMT, Kevin Rushforth wrote: >> Update to GTK WebKit 2.28.3 >> https://webkitgtk.org/2020/07/09/webkitgtk2.28.3-released.html > > Marked as reviewed by kcr (Lead). Tested on all three platform. Looks good. - PR: https://git.openjdk.java.net/jfx/pull/271
Re: RFR: 8249839: Cherry pick GTK WebKit 2.28.3 changes
On Thu, 23 Jul 2020 05:34:50 GMT, Arun Joseph wrote: > Update to GTK WebKit 2.28.3 > https://webkitgtk.org/2020/07/09/webkitgtk2.28.3-released.html Marked as reviewed by bchoudhary (Author). - PR: https://git.openjdk.java.net/jfx/pull/271
Re: RFR: 8181775: JavaFX WebView does not calculate border-radius properly [v4]
> root cause of issue is prism's fillRoundedRect() API doesn't allow rendering > of rounded corner rectangle if four > corners have different radii. but same can be achieved via Path. to fix the > issue, in GraphicsContextJava.cpp while > rendering fillRoundedRect, check if all four corners have same radii. if yes, > use FILL_ROUNDED_RECT to draw it > otherwise construct a path from given rounded rect and draw it. Bhawesh Choudhary has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains four commits: - Merge branch 'master' into 8181775 - Removed wildcard import statement - Formatting (File Mode Attribute change) - 8181775: JavaFX WebView does not calculate border-radius properly - Changes: https://git.openjdk.java.net/jfx/pull/218/files Webrev: https://webrevs.openjdk.java.net/jfx/218/webrev.03 Stats: 104 lines in 2 files changed: 95 ins; 0 del; 9 mod Patch: https://git.openjdk.java.net/jfx/pull/218.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/218/head:pull/218 PR: https://git.openjdk.java.net/jfx/pull/218
Re: RFR: 8181775: JavaFX WebView does not calculate border-radius properly [v3]
> root cause of issue is prism's fillRoundedRect() API doesn't allow rendering > of rounded corner rectangle if four > corners have different radii. but same can be achieved via Path. to fix the > issue, in GraphicsContextJava.cpp while > rendering fillRoundedRect, check if all four corners have same radii. if yes, > use FILL_ROUNDED_RECT to draw it > otherwise construct a path from given rounded rect and draw it. Bhawesh Choudhary has updated the pull request incrementally with 54 additional commits since the last revision: - 8181775: JavaFX WebView does not calculate border-radius properly - 8220484: JFXPanel renders a slanted image with a hidpi monitor scale of 125% or 175% Reviewed-by: kcr, psadhukhan - 8248381: Create a daemon thread for MonocleTimer Reviewed-by: kcr, jvos - 8248490: [macOS] Undecorated stage does not minimize Reviewed-by: arapte, aghaisas - 8248908: Printer.createPageLayout() returns 0.75" margins instead of hardware margins Reviewed-by: kcr - 8245284: Update to 610.1 version of WebKit Co-authored-by: Guru Hb Co-authored-by: Bhawesh Choudhary Reviewed-by: kcr, bchoudhary, sykora - 8176270: Adding ChangeListener to TextField.selectedTextProperty causes StringOutOfBoundsException Reviewed-by: aghaisas, kcr - 8245422: Better Pisces rasterizing Reviewed-by: prr, rhalade, arapte, mschoene - 8241108: Glib improvements Reviewed-by: kcr, ahgross, rhalade - 8248365: Debug build crashes on Windows when playing media file Reviewed-by: kcr - ... and 44 more: https://git.openjdk.java.net/jfx/compare/e7cb98fe...586af326 - Changes: - all: https://git.openjdk.java.net/jfx/pull/218/files - new: https://git.openjdk.java.net/jfx/pull/218/files/e7cb98fe..586af326 Webrevs: - full: https://webrevs.openjdk.java.net/jfx/218/webrev.02 - incr: https://webrevs.openjdk.java.net/jfx/218/webrev.01-02 Stats: 393560 lines in 5665 files changed: 200813 ins; 130033 del; 62714 mod Patch: https://git.openjdk.java.net/jfx/pull/218.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/218/head:pull/218 PR: https://git.openjdk.java.net/jfx/pull/218
Re: RFR: 8218973: SVG with masking is not rendering image with mask effect [v5]
On Fri, 12 Jun 2020 22:01:47 GMT, Kevin Rushforth wrote: >> The code looks good (with a couple minor formatting issues). >> >> All of the onscreen testing I did looks good on Windows. I'd like to test >> it on Mac as well. >> >> There is an issue with printing in the case of Hi-DPI scaling, which is what >> I run by default on Windows. The gradient >> texture appears to be scaled incorrectly (as if the scale was applied more >> than once). If I force scaling to 1 with >> `-Dglass.win.uiScale=1` then it prints correctly. > > It behaves the same on Mac with a Retina display as it does on Windows with > Hi-DPI scaling. The gradient doesn't appear > to be scaled correctly when printing. It's fine with on-screen rendering > (with both HW and SW pipeline). Issue related to hidpi rendering was caused due to correct pixel scale factor not being set to the context in which mask texture was getting rendered. setting correct device scale factor in `RenderSVGResourceMasker.cpp` fixed the issue. Below images shows the rendered mask texture in both case (HiDpi and Normal respectively) ![HiDpi_Mask_1](https://user-images.githubusercontent.com/4208131/88110579-125ae300-cbca-11ea-9c02-ceec2ccdf7d1.png) ![Normal_Mask_1](https://user-images.githubusercontent.com/4208131/88110582-138c1000-cbca-11ea-88ce-5e15d124.png) Another issue was in Hi DPI printing. PrintGraphics draws with different resolution than the mask texture. Before the fix mask was not drawn correctly to RTTexture, due to which only top left portion which comes inside current draw bounds was taken to draw the whole image. After fix, entire mask texture is always considered while doing final drawing. - PR: https://git.openjdk.java.net/jfx/pull/213
Re: RFR: 8218973: SVG with masking is not rendering image with mask effect [v6]
> 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 - Changes: - all: https://git.openjdk.java.net/jfx/pull/213/files - new: https://git.openjdk.java.net/jfx/pull/213/files/f0c217ec..312d068a Webrevs: - full: https://webrevs.openjdk.java.net/jfx/213/webrev.05 - incr: https://webrevs.openjdk.java.net/jfx/213/webrev.04-05 Stats: 34 lines in 2 files changed: 5 ins; 9 del; 20 mod Patch: https://git.openjdk.java.net/jfx/pull/213.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/213/head:pull/213 PR: https://git.openjdk.java.net/jfx/pull/213
Re: RFR: 8245284: Update to 610.1 version of WebKit
On Fri, 10 Jul 2020 05:26:39 GMT, Arun Joseph wrote: > Update JavaFX WebKit to GTK WebKit 2.28 (610.1) Marked as reviewed by bchoudhary (Author). - PR: https://git.openjdk.java.net/jfx/pull/263
Re: RFR: 8245284: Update to 610.1 version of WebKit
On Fri, 10 Jul 2020 22:03:22 GMT, Kevin Rushforth wrote: >> Update JavaFX WebKit to GTK WebKit 2.28 (610.1) > > Looks good. Tested on all three platforms. Checked with various websites on all three platform. Looks good. - PR: https://git.openjdk.java.net/jfx/pull/263
Integrated: 8208169: can not print selected pages of web page
On Fri, 15 May 2020 16:36:29 GMT, Bhawesh Choudhary wrote: > Print function of WebEngine.java ignores page range setting and prints given > number of pages starting from first page, > which is the root cause of this issue. To fix it, put check for page ranges > and if it available, use it for printing > pages otherwise print all pages as usual. This pull request has now been integrated. Changeset: 8440b64b Author:bhawesh Committer: Kevin Rushforth URL: https://git.openjdk.java.net/jfx/commit/8440b64b Stats: 159 lines in 2 files changed: 0 ins; 155 del; 4 mod 8208169: can not print selected pages of web page Reviewed-by: prr, kcr - PR: https://git.openjdk.java.net/jfx/pull/222
Re: [Rev 04] RFR: 8208169: can not print selected pages of web page
> Print function of WebEngine.java ignores page range setting and prints given > number of pages starting from first page, > which is the root cause of this issue. To fix it, put check for page ranges > and if it available, use it for printing > pages otherwise print all pages as usual. Bhawesh Choudhary has updated the pull request incrementally with one additional commit since the last revision: Formatting changes - Changes: - all: https://git.openjdk.java.net/jfx/pull/222/files - new: https://git.openjdk.java.net/jfx/pull/222/files/717dac0f..456d0a16 Webrevs: - full: https://webrevs.openjdk.java.net/jfx/222/webrev.04 - incr: https://webrevs.openjdk.java.net/jfx/222/webrev.03-04 Stats: 5 lines in 2 files changed: 0 ins; 0 del; 5 mod Patch: https://git.openjdk.java.net/jfx/pull/222.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/222/head:pull/222 PR: https://git.openjdk.java.net/jfx/pull/222
Re: [Rev 03] RFR: 8208169: can not print selected pages of web page
> Print function of WebEngine.java ignores page range setting and prints given > number of pages starting from first page, > which is the root cause of this issue. To fix it, put check for page ranges > and if it available, use it for printing > pages otherwise print all pages as usual. Bhawesh Choudhary has updated the pull request incrementally with one additional commit since the last revision: cleanup unused variable - Changes: - all: https://git.openjdk.java.net/jfx/pull/222/files - new: https://git.openjdk.java.net/jfx/pull/222/files/4d973a33..717dac0f Webrevs: - full: https://webrevs.openjdk.java.net/jfx/222/webrev.03 - incr: https://webrevs.openjdk.java.net/jfx/222/webrev.02-03 Stats: 2 lines in 1 file changed: 0 ins; 2 del; 0 mod Patch: https://git.openjdk.java.net/jfx/pull/222.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/222/head:pull/222 PR: https://git.openjdk.java.net/jfx/pull/222
Re: [Rev 02] RFR: 8208169: can not print selected pages of web page
On Thu, 21 May 2020 17:41:46 GMT, Phil Race wrote: >> Bhawesh Choudhary has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Replaced webpage with locally generated html content in test > > looks ok. Approval waiting on a test. @prrace updated test which uses locally generated html content which should be large enough to cover 4 pages. - PR: https://git.openjdk.java.net/jfx/pull/222
Re: [Rev 02] RFR: 8208169: can not print selected pages of web page
> Print function of WebEngine.java ignores page range setting and prints given > number of pages starting from first page, > which is the root cause of this issue. To fix it, put check for page ranges > and if it available, use it for printing > pages otherwise print all pages as usual. Bhawesh Choudhary has updated the pull request incrementally with one additional commit since the last revision: Replaced webpage with locally generated html content in test - Changes: - all: https://git.openjdk.java.net/jfx/pull/222/files - new: https://git.openjdk.java.net/jfx/pull/222/files/75a0362f..4d973a33 Webrevs: - full: https://webrevs.openjdk.java.net/jfx/222/webrev.02 - incr: https://webrevs.openjdk.java.net/jfx/222/webrev.01-02 Stats: 66 lines in 1 file changed: 21 ins; 32 del; 13 mod Patch: https://git.openjdk.java.net/jfx/pull/222.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/222/head:pull/222 PR: https://git.openjdk.java.net/jfx/pull/222
Re: [Rev 01] RFR: 8208169: can not print selected pages of web page
> Print function of WebEngine.java ignores page range setting and prints given > number of pages starting from first page, > which is the root cause of this issue. To fix it, put check for page ranges > and if it available, use it for printing > pages otherwise print all pages as usual. Bhawesh Choudhary has updated the pull request incrementally with one additional commit since the last revision: added manual test - Changes: - all: https://git.openjdk.java.net/jfx/pull/222/files - new: https://git.openjdk.java.net/jfx/pull/222/files/39748929..75a0362f Webrevs: - full: https://webrevs.openjdk.java.net/jfx/222/webrev.01 - incr: https://webrevs.openjdk.java.net/jfx/222/webrev.00-01 Stats: 153 lines in 1 file changed: 153 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/jfx/pull/222.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/222/head:pull/222 PR: https://git.openjdk.java.net/jfx/pull/222
Re: [Rev 04] RFR: 8218973: SVG with masking is not rendering image with mask effect
> 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: Removed unnecessery Ceil Functions - Changes: - all: https://git.openjdk.java.net/jfx/pull/213/files - new: https://git.openjdk.java.net/jfx/pull/213/files/a55f9f23..f0c217ec Webrevs: - full: https://webrevs.openjdk.java.net/jfx/213/webrev.04 - incr: https://webrevs.openjdk.java.net/jfx/213/webrev.03-04 Stats: 3 lines in 1 file changed: 0 ins; 2 del; 1 mod Patch: https://git.openjdk.java.net/jfx/pull/213.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/213/head:pull/213 PR: https://git.openjdk.java.net/jfx/pull/213
Re: [Rev 03] RFR: 8218973: SVG with masking is not rendering image with mask effect
> 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: Refactoring, Utilize getFilterContext() function - Changes: - all: https://git.openjdk.java.net/jfx/pull/213/files - new: https://git.openjdk.java.net/jfx/pull/213/files/5b85b47d..a55f9f23 Webrevs: - full: https://webrevs.openjdk.java.net/jfx/213/webrev.03 - incr: https://webrevs.openjdk.java.net/jfx/213/webrev.02-03 Stats: 8 lines in 1 file changed: 0 ins; 7 del; 1 mod Patch: https://git.openjdk.java.net/jfx/pull/213.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/213/head:pull/213 PR: https://git.openjdk.java.net/jfx/pull/213
Re: [Rev 01] RFR: 8181775: JavaFX WebView does not calculate border-radius properly
> root cause of issue is prism's fillRoundedRect() API doesn't allow rendering > of rounded corner rectangle if four > corners have different radii. but same can be achieved via Path. to fix the > issue, in GraphicsContextJava.cpp while > rendering fillRoundedRect, check if all four corners have same radii. if yes, > use FILL_ROUNDED_RECT to draw it > otherwise construct a path from given rounded rect and draw it. Bhawesh Choudhary has updated the pull request incrementally with one additional commit since the last revision: Removed wildcard import statement - Changes: - all: https://git.openjdk.java.net/jfx/pull/218/files - new: https://git.openjdk.java.net/jfx/pull/218/files/a742ba43..e7cb98fe Webrevs: - full: https://webrevs.openjdk.java.net/jfx/218/webrev.01 - incr: https://webrevs.openjdk.java.net/jfx/218/webrev.00-01 Stats: 2 lines in 1 file changed: 1 ins; 1 del; 0 mod Patch: https://git.openjdk.java.net/jfx/pull/218.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/218/head:pull/218 PR: https://git.openjdk.java.net/jfx/pull/218
RFR: 8208169: can not print selected pages of web page
Print function of WebEngine.java ignores page range setting and prints given number of pages starting from first page, which is the root cause of this issue. To fix it, put check for page ranges and if it available, use it for printing pages otherwise print all pages as usual. - Commit messages: - 8208169: can not print selected pages of web page Changes: https://git.openjdk.java.net/jfx/pull/222/files Webrev: https://webrevs.openjdk.java.net/jfx/222/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8208169 Stats: 19 lines in 1 file changed: 15 ins; 0 del; 4 mod Patch: https://git.openjdk.java.net/jfx/pull/222.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/222/head:pull/222 PR: https://git.openjdk.java.net/jfx/pull/222
RFR: 8169501: GIF animation is too fast
issue is caused by the threshold value for frame duration used by javaFx before it gets normalized. JavaFx is using threshold value 10 while other browser (Safari, Firefox) is using 50 due to which, value between 10 and 50 don't get normalized and animation runs at faster speed. To fix the issue change frame duration normalization value to <= 50. Safari : https://bugs.webkit.org/show_bug.cgi?id=14413 Firefox : https://bugzilla.mozilla.org/show_bug.cgi?id=386269 - Commit messages: - 8169501: GIF animation is too fast Changes: https://git.openjdk.java.net/jfx/pull/221/files Webrev: https://webrevs.openjdk.java.net/jfx/221/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8169501 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/jfx/pull/221.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/221/head:pull/221 PR: https://git.openjdk.java.net/jfx/pull/221
RFR: 8181775: JavaFX WebView does not calculate border-radius properly
root cause of issue is prism's fillRoundedRect() API doesn't allow rendering of rounded corner rectangle if four corners have different radii. but same can be achieved via Path. to fix the issue, in GraphicsContextJava.cpp while rendering fillRoundedRect, check if all four corners have same radii. if yes, use FILL_ROUNDED_RECT to draw it otherwise construct a path from given rounded rect and draw it. - Commit messages: - Formatting (File Mode Attribute change) - 8181775: JavaFX WebView does not calculate border-radius properly Changes: https://git.openjdk.java.net/jfx/pull/218/files Webrev: https://webrevs.openjdk.java.net/jfx/218/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8181775 Stats: 104 lines in 2 files changed: 95 ins; 0 del; 9 mod Patch: https://git.openjdk.java.net/jfx/pull/218.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/218/head:pull/218 PR: https://git.openjdk.java.net/jfx/pull/218
Re: [Rev 02] RFR: 8218973: SVG with masking is not rendering image with mask effect
On Fri, 8 May 2020 23:37:51 GMT, Kevin Rushforth wrote: >> Bhawesh Choudhary has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Moved Printing drawing path to non MaskTextureGraphics interface > > modules/javafx.web/src/main/java/com/sun/javafx/webkit/prism/WCGraphicsPrismContext.java > line 566: > >> 565: filterContext = >> PrFilterContext.getInstance(screen); >> 566: } >> 567: PrDrawable imagePrDrawable = >> PrDrawable.create(filterContext, paintRtTexture); > > Did you test both the SW pipeline and printing paths? Yes, used -Dprism.order=sw to run HelloWebView test to verify SW Pipeline Yes, i have added a modified HelloWebView test in attached bug which is used to test printing paths. https://bugs.openjdk.java.net/secure/attachment/88102/HelloWebView.java - PR: https://git.openjdk.java.net/jfx/pull/213
Re: [Rev 02] RFR: 8218973: SVG with masking is not rendering image with mask effect
On Fri, 8 May 2020 23:25:18 GMT, Kevin Rushforth wrote: >> Bhawesh Choudhary has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Moved Printing drawing path to non MaskTextureGraphics interface > > modules/javafx.web/src/main/java/com/sun/javafx/webkit/prism/WCGraphicsPrismContext.java > line 549: > >> 548: Texture.WrapMode.CLAMP_NOT_NEEDED); >> 549: RTTexture maskRtTexture = >> g.getResourceFactory().createRTTexture(nativeMaskImage.getWidth(), >> 550: nativeMaskImage.getHeight(), >> Texture.WrapMode.CLAMP_NOT_NEEDED); > > Why do you need to create a second RTT here? I would have thought you could > use the mask texture directly (you may need > to scale the image in order to do that). main problem with not using second RTTexture is the interface MaskTextureGraphics, which accept RTTexture only. also it difficult to add new API taking Texture instead of RTTexture given that SW Pipeline and J2D pipeline has direct dependency on RTTexture interface. - PR: https://git.openjdk.java.net/jfx/pull/213
Re: [Rev 02] RFR: 8218973: SVG with masking is not rendering image with mask effect
> 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: Moved Printing drawing path to non MaskTextureGraphics interface - Changes: - all: https://git.openjdk.java.net/jfx/pull/213/files - new: https://git.openjdk.java.net/jfx/pull/213/files/e66fa3bc..5b85b47d Webrevs: - full: https://webrevs.openjdk.java.net/jfx/213/webrev.02 - incr: https://webrevs.openjdk.java.net/jfx/213/webrev.01-02 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/jfx/pull/213.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/213/head:pull/213 PR: https://git.openjdk.java.net/jfx/pull/213
Re: [Rev 01] RFR: 8218973: SVG with masking is not rendering image with mask effect
> 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: added dispose of resources - Changes: - all: https://git.openjdk.java.net/jfx/pull/213/files - new: https://git.openjdk.java.net/jfx/pull/213/files/c2729a9c..e66fa3bc Webrevs: - full: https://webrevs.openjdk.java.net/jfx/213/webrev.01 - incr: https://webrevs.openjdk.java.net/jfx/213/webrev.00-01 Stats: 3 lines in 1 file changed: 3 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/jfx/pull/213.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/213/head:pull/213 PR: https://git.openjdk.java.net/jfx/pull/213
RFR: 8218973: SVG with masking is not rendering image with mask effect
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. - Commit messages: - Formatting correction (Line Endings) - removed executable file mode - Added unit test + SW Graphics rendering part - Pixel scale issue fix - 8218973: SVG with masking is not rendering image with mask effect Changes: https://git.openjdk.java.net/jfx/pull/213/files Webrev: https://webrevs.openjdk.java.net/jfx/213/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8218973 Stats: 132 lines in 6 files changed: 130 ins; 0 del; 2 mod Patch: https://git.openjdk.java.net/jfx/pull/213.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/213/head:pull/213 PR: https://git.openjdk.java.net/jfx/pull/213
Re: [Integrated] RFR: 8191758: Match WebKit's font weight rendering with JavaFX
On Tue, 14 Apr 2020 10:25:52 GMT, Bhawesh Choudhary wrote: > As per JavaFx 700 font weight is considered to be bold but webkit is using > 600 font weight for text to become bold. to > fix issue, use boldWeightValue() function which uses 700 font weight rather > than isFontWeightBold() which compare > against 600 font weight. This pull request has now been integrated. Changeset: 8ad58052 Author:bhawesh Committer: Kevin Rushforth URL: https://git.openjdk.java.net/jfx/commit/8ad58052 Stats: 26 lines in 2 files changed: 0 ins; 25 del; 1 mod 8191758: Match WebKit's font weight rendering with JavaFX Reviewed-by: kcr, ajoseph - PR: https://git.openjdk.java.net/jfx/pull/180
Re: RFR: 8191758: Match WebKit's font weight rendering with JavaFX
On Fri, 17 Apr 2020 18:06:06 GMT, Phil Race wrote: >> Can you add a unit test to go along with this fix? > > Per the opentype spec, 700 is bold. 600 is semi-bold > https://docs.microsoft.com/en-us/typography/opentype/spec/os2#usweightclass > > CSS agrees : https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight > > So are you saying webkit has been using bold at a lower weight than these > specs suggest ? > I see the logic all comes from > Source/WebCore/platform/graphics/FontSelectionAlgorithm.h > > I suppose the existing code thinks that if we have reached what that file > calls the bold threshold of 600 then we > should use bold. It isn't necessarily "wrong" but I think I agree that it is > more important to be consistent with the > rest of Java FX ... which I believe is the point of this change ? @prrace yes, webkit is set to use 600 weight where javafx consider 700 weight for it to be consider bold. https://docs.oracle.com/javafx/2/api/javafx/scene/text/FontWeight.html - PR: https://git.openjdk.java.net/jfx/pull/180
Re: [Rev 02] RFR: 8191758: Match WebKit's font weight rendering with JavaFX
> As per JavaFx 700 font weight is considered to be bold but webkit is using > 600 font weight for text to become bold. to > fix issue, use boldWeightValue() function which uses 700 font weight rather > than isFontWeightBold() which compare > against 600 font weight. Bhawesh Choudhary has refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. The pull request contains one new commit since the last revision: added unit test for jdk-8191758 - Changes: - all: https://git.openjdk.java.net/jfx/pull/180/files - new: https://git.openjdk.java.net/jfx/pull/180/files/43c7cbf1..f6fb1075 Webrevs: - full: https://webrevs.openjdk.java.net/jfx/180/webrev.02 - incr: https://webrevs.openjdk.java.net/jfx/180/webrev.01-02 Stats: 0 lines in 0 files changed: 0 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/jfx/pull/180.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/180/head:pull/180 PR: https://git.openjdk.java.net/jfx/pull/180
Re: [Rev 01] RFR: 8191758: Match WebKit's font weight rendering with JavaFX
> As per JavaFx 700 font weight is considered to be bold but webkit is using > 600 font weight for text to become bold. to > fix issue, use boldWeightValue() function which uses 700 font weight rather > than isFontWeightBold() which compare > against 600 font weight. Bhawesh Choudhary has updated the pull request incrementally with one additional commit since the last revision: added unit test for 8191758 - Changes: - all: https://git.openjdk.java.net/jfx/pull/180/files - new: https://git.openjdk.java.net/jfx/pull/180/files/d3d3e716..43c7cbf1 Webrevs: - full: https://webrevs.openjdk.java.net/jfx/180/webrev.01 - incr: https://webrevs.openjdk.java.net/jfx/180/webrev.00-01 Stats: 25 lines in 1 file changed: 25 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/jfx/pull/180.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/180/head:pull/180 PR: https://git.openjdk.java.net/jfx/pull/180
RFR: 8191758: Match WebKit's font weight rendering with JavaFX
As per JavaFx 700 font weight is considered to be bold but webkit is using 600 font weight for text to become bold. to fix issue, use boldWeightValue() function which uses 700 font weight rather than isFontWeightBold() which compare against 600 font weight. - Commit messages: - 8191758: Match WebKit's font weight rendering with JavaFX Changes: https://git.openjdk.java.net/jfx/pull/180/files Webrev: https://webrevs.openjdk.java.net/jfx/180/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8191758 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/jfx/pull/180.diff Fetch: git fetch https://git.openjdk.java.net/jfx pull/180/head:pull/180 PR: https://git.openjdk.java.net/jfx/pull/180