From kevin.rushforth at oracle.com Sat Jul 1 13:54:20 2017 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Sat, 01 Jul 2017 06:54:20 -0700 Subject: No need to set _JAVA_OPTIONS to build FX when using jdk-9+175 or later Message-ID: <5957A98C.80204@oracle.com> Now that '--illegal-access=permit' is the default in JDK 9 as of jdk-9+175, I verified that we can build FX 9-dev or FX 10-dev without setting_JAVA_OPTIONS before running gradle [1]. So as soon as you upgrade your boot jdk to at least build 175, you can stop setting any _JAVA_OPTIONS. -- Kevin [1] http://mail.openjdk.java.net/pipermail/jigsaw-dev/2017-July/013032.html From j.tosovsky at email.cz Mon Jul 3 21:26:40 2017 From: j.tosovsky at email.cz (Jan Tosovsky) Date: Mon, 3 Jul 2017 23:26:40 +0200 Subject: TextFlow improvements Message-ID: <016b01d2f443$1059ea40$310dbec0$@tosovsky@email.cz> Dear All, I am investigating various RichText libraries and I am pleased that one (TextFlow) is already shipped with JDK. However, from the comparison on this page I am rather discouraged to use it: https://www.namekdev.net/2016/03/javafx-comparison-of-rich-text-components/ There are two problems: (1) performance (TextLayout had to be recalculated on each keystroke [1][2]) (2) absence of selecting & copying text Are there planned any improvements for JDK10? My documents will be rather huge but I can live with limited performance temporarily. Thanks, Jan _________________ [1] http://fxexperience.com/2013/02/interview-with-tom-schindl-2/ [2] http://tomasmikula.github.io/blog/2014/07/06/richtextfx-just-got-faster.html From victor.drozdov at oracle.com Wed Jul 5 20:03:20 2017 From: victor.drozdov at oracle.com (victor.drozdov at oracle.com) Date: Wed, 5 Jul 2017 13:03:20 -0700 Subject: [10] Review request: 8181291: Singleton for javapackager Message-ID: <4619e5c4-1642-3284-bab0-c13caa2023d5@oracle.com> Kevin, Chris, Please review my changes about Single Instance for Java Packager (compared to previous webrev, the code was modified according to CSR JDK-8181293) JIRA: https://bugs.openjdk.java.net/browse/JDK-8181291 Webrev: http://cr.openjdk.java.net/~vdrozdov/JDK-8175574/webrev.06/ --Victor From ajit.ghaisas at oracle.com Thu Jul 6 12:39:54 2017 From: ajit.ghaisas at oracle.com (Ajit Ghaisas) Date: Thu, 6 Jul 2017 05:39:54 -0700 (PDT) Subject: [10] Review request : JDK-8177636 : Reduce frequency of CSS resetting properties temporarily to initial state Message-ID: <6a307494-2adc-42dc-9de2-ab680e1a920d@default> Hi Jonathan, Request you to review following change : Issue : https://bugs.openjdk.java.net/browse/JDK-8177636 Fix : http://cr.openjdk.java.net/~aghaisas/fx/e8177636/webrev.1/ Regards, Ajit From chris.bensen at oracle.com Fri Jul 7 22:35:34 2017 From: chris.bensen at oracle.com (Chris Bensen) Date: Fri, 7 Jul 2017 15:35:34 -0700 Subject: [10] Review request: 8183246 Remove Platform::GetSystemJRE() Message-ID: Victor, Please review this change to remove the dead code related to acquiring the system JRE for a packaged app. JIRA: https://bugs.openjdk.java.net/browse/JDK-8183246 Webrev: http://cr.openjdk.java.net/~cbensen/JDK-8183246/webrev.00/ Chris From ambarish.rapte at oracle.com Tue Jul 11 02:50:59 2017 From: ambarish.rapte at oracle.com (Ambarish Rapte) Date: Mon, 10 Jul 2017 19:50:59 -0700 (PDT) Subject: Review request for : JDK-8092206 : TabPane renders content of all tabs even only one is active Message-ID: <3ab00e9c-26d9-473d-8b5d-2b38366fa3d3@default> Hi Jonathan, Please review the below fix, Bug: https://bugs.openjdk.java.net/browse/JDK-8092206 Webrev: http://cr.openjdk.java.net/~arapte/fx/8092206/webrev.00/ Regards, Ambarish From victor.drozdov at oracle.com Tue Jul 11 22:49:53 2017 From: victor.drozdov at oracle.com (victor.drozdov at oracle.com) Date: Tue, 11 Jul 2017 15:49:53 -0700 Subject: [10] Review request: 8184077: Resolve Singleton TODO Message-ID: Chris, Please review my changes about removing getSessionSpecificString() JIRA: https://bugs.openjdk.java.net/browse/JDK-8184077 Webrev: http://cr.openjdk.java.net/~vdrozdov/JDK-8184077/webrev.0/ --Victor From victor.drozdov at oracle.com Wed Jul 12 23:14:06 2017 From: victor.drozdov at oracle.com (victor.drozdov at oracle.com) Date: Wed, 12 Jul 2017 16:14:06 -0700 Subject: [10] Review request: 8184301: Add new projects for jdk.packager.services and jdk.packager Message-ID: <966c2835-ff26-9577-0108-45024577fde0@oracle.com> Chris, Please review my changes about adding new projects for jdk.packager.services and jdk.packager JIRA: https://bugs.openjdk.java.net/browse/JDK-8184301 Webrev: http://cr.openjdk.java.net/~vdrozdov/JDK-8184301/webrev.00 --Victor From sverre.moe at gmail.com Fri Jul 14 06:55:06 2017 From: sverre.moe at gmail.com (Sverre Moe) Date: Fri, 14 Jul 2017 08:55:06 +0200 Subject: JDK-8092206 : TabPane renders content of all tabs even only one is active Message-ID: This bug has Fix Version to 10. Does that mean it will not be fixed on JavaFX 8 or 9? JIRA: https://bugs.openjdk.java.net/browse/JDK-8092206 From jonathan.giles at oracle.com Fri Jul 14 06:58:30 2017 From: jonathan.giles at oracle.com (Jonathan Giles) Date: Fri, 14 Jul 2017 18:58:30 +1200 Subject: JDK-8092206 : TabPane renders content of all tabs even only one is active In-Reply-To: References: Message-ID: <5012CF28-036A-468F-96D1-60FE0369A40D@oracle.com> This is correct. The intent is to offer this performance improvement as part of jdk 10, and not in earlier releases such as those you mention. -- Sent from a touch device. Please excuse my brevity. On July 14, 2017 6:55:06 PM GMT+12:00, Sverre Moe wrote: >This bug has Fix Version to 10. Does that mean it will not be fixed on >JavaFX 8 or 9? > >JIRA: https://bugs.openjdk.java.net/browse/JDK-8092206 From kevin.rushforth at oracle.com Fri Jul 14 11:31:14 2017 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Fri, 14 Jul 2017 04:31:14 -0700 Subject: JDK-8092206 : TabPane renders content of all tabs even only one is active In-Reply-To: References: Message-ID: <5968AB82.9080605@oracle.com> Yes, that is correct. In general bugs are fixed in the latest release and only backported if they are critical or are regressions. In this case, there is new API so we wouldn't backport it anyway. -- Kevin Sverre Moe wrote: > This bug has Fix Version to 10. Does that mean it will not be fixed on > JavaFX 8 or 9? > > JIRA: https://bugs.openjdk.java.net/browse/JDK-8092206 > From lior.yaffe at jelurida.com Mon Jul 17 10:59:42 2017 From: lior.yaffe at jelurida.com (Jelurida) Date: Mon, 17 Jul 2017 13:59:42 +0300 Subject: Support for JavaScript FileReader object in JavaFX WebView Message-ID: Greetings, Is there a chance that the JavaScript FileReader object in JavaFX WebView will be supported in Java 9? Tried with the latest pre-release and it looks like the window.FileReader object is still unsupported. From victor.drozdov at oracle.com Mon Jul 17 17:25:43 2017 From: victor.drozdov at oracle.com (victor.drozdov at oracle.com) Date: Mon, 17 Jul 2017 10:25:43 -0700 Subject: [10] Review request: 8183240: Copy Icon to App Image Message-ID: Chris, Please review my changes about copying icon to app image. JIRA: https://bugs.openjdk.java.net/browse/JDK-8183240 Webrev: http://cr.openjdk.java.net/~vdrozdov/JDK-8183240/webrev.00/ --Victor From chris.bensen at oracle.com Mon Jul 17 20:36:26 2017 From: chris.bensen at oracle.com (Chris Bensen) Date: Mon, 17 Jul 2017 13:36:26 -0700 Subject: [10] Review request: 8184769 Static Link to SHGetKnownFolderPath Message-ID: <71BEBBA4-7B66-4FAC-A847-4CA13959F3D8@oracle.com> Victor, Please review this change to remove the LoadLibray. JIRA: https://bugs.openjdk.java.net/browse/JDK-8184769 Webrev: http://cr.openjdk.java.net/~cbensen/JDK-8184769/webrev.00/ Chris From guru.hb at oracle.com Tue Jul 18 05:32:07 2017 From: guru.hb at oracle.com (Guru Hb) Date: Tue, 18 Jul 2017 11:02:07 +0530 Subject: Support for JavaScript FileReader object in JavaFX WebView In-Reply-To: References: Message-ID: <6E18B974-3F68-4AD5-A57B-3A8FC4FAE8EA@oracle.com> Hi Jelurida, You are correct, We are not yet (in Java 9) supporting File Api in our javafx.WebView. Will update once we have this enhancement is implemented https://bugs.openjdk.java.net/browse/JDK-8184785 . Thanks, Guru > On 17-Jul-2017, at 4:29 PM, Jelurida wrote: > > Greetings, > > Is there a chance that the JavaScript FileReader object in JavaFX > WebView will be supported in Java 9? > Tried with the latest pre-release and it looks like the window.FileReader > object is still unsupported. From guru.hb at oracle.com Tue Jul 18 12:27:12 2017 From: guru.hb at oracle.com (Guru Hb) Date: Tue, 18 Jul 2017 17:57:12 +0530 Subject: [10] Review request: 8184797: Copy DumpRenderTreeJava.dll from bin to lib directory Message-ID: <19FED4BA-3FB0-4342-B30D-326D1F488ED6@oracle.com> Hi Arun & Murali, Please review the fix for: JBS : https://bugs.openjdk.java.net/browse/JDK-8184797 Webrev : http://cr.openjdk.java.net/~ghb/8184797/webrev.00/ Thanks, Guru From victor.drozdov at oracle.com Wed Jul 19 00:02:18 2017 From: victor.drozdov at oracle.com (victor.drozdov at oracle.com) Date: Tue, 18 Jul 2017 17:02:18 -0700 Subject: [10] Review request: 8184688: Single Instance Example Message-ID: <23164879-e003-fbb0-094f-ba32417bd48a@oracle.com> Chris, Please review my changes about adding single instance example. JIRA: https://bugs.openjdk.java.net/browse/JDK-8184688 Webrev: http://cr.openjdk.java.net/~vdrozdov/JDK-8184688/webrev.00/ --Victor From hegjon at gmail.com Wed Jul 19 09:31:12 2017 From: hegjon at gmail.com (Jonny Heggheim) Date: Wed, 19 Jul 2017 11:31:12 +0200 Subject: Allow to pass in custom CFLAGS to gcc Message-ID: Hi, my name is Jonny Heggheim[1], I am the maintainer of the openjfx package in Fedora[2]. Could you help me with this issue? https://bugzilla.redhat.com/show_bug.cgi?id=1472613 The standard build for Fedora is to build with symbols and then strip out the debug symbols into a separate -debug package. Would it be possible to modify the build so it is possible to pass in custom CFLAGS? The default flags for Fedora 26 builds on x86_64 is: $ rpm --eval '%{optflags}' -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic Sincerely Jonny Heggheim [1] https://fedoraproject.org/wiki/User:Jonny [2] https://apps.fedoraproject.org/packages/openjfx From thomas.stuefe at gmail.com Wed Jul 19 12:18:14 2017 From: thomas.stuefe at gmail.com (=?UTF-8?Q?Thomas_St=C3=BCfe?=) Date: Wed, 19 Jul 2017 14:18:14 +0200 Subject: Allow to pass in custom CFLAGS to gcc In-Reply-To: References: Message-ID: Hi Jonny! You can pass extra CFLAGS with option --with-extra-cflags. Best Regards, Thomas On Wed, Jul 19, 2017 at 11:31 AM, Jonny Heggheim wrote: > Hi, my name is Jonny Heggheim[1], I am the maintainer of the openjfx > package in Fedora[2]. > > Could you help me with this issue? > https://bugzilla.redhat.com/show_bug.cgi?id=1472613 > > The standard build for Fedora is to build with symbols and then strip > out the debug symbols into a separate -debug package. > > Would it be possible to modify the build so it is possible to pass in > custom CFLAGS? > > The default flags for Fedora 26 builds on x86_64 is: > $ rpm --eval '%{optflags}' > -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 > -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 > -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 > -m64 -mtune=generic > > Sincerely Jonny Heggheim > > [1] https://fedoraproject.org/wiki/User:Jonny > [2] https://apps.fedoraproject.org/packages/openjfx > From hegjon at gmail.com Wed Jul 19 12:38:59 2017 From: hegjon at gmail.com (Jonny Heggheim) Date: Wed, 19 Jul 2017 14:38:59 +0200 Subject: Allow to pass in custom CFLAGS to gcc In-Reply-To: References: Message-ID: Hi Thomas! On 19 July 2017 at 14:18, Thomas St?fe wrote: > You can pass extra CFLAGS with option --with-extra-cflags. Thanks for your suggestion, do you know where I can find documentation for this feature? I got this error on Gradle 2.13: $ gradle --with-extra-cflags '-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic' Unknown command-line option '--with-extra-cflags'. USAGE: gradle [option...] [task...] Jonny From thomas.stuefe at gmail.com Wed Jul 19 12:50:31 2017 From: thomas.stuefe at gmail.com (=?UTF-8?Q?Thomas_St=C3=BCfe?=) Date: Wed, 19 Jul 2017 14:50:31 +0200 Subject: Allow to pass in custom CFLAGS to gcc In-Reply-To: References: Message-ID: Oh sorry, I thought you were talking about the standard openjdk build, --with-extra-cflags is a configure option. Kind Regards, Thomas On Wed, Jul 19, 2017 at 2:38 PM, Jonny Heggheim wrote: > Hi Thomas! > > On 19 July 2017 at 14:18, Thomas St?fe wrote: > > You can pass extra CFLAGS with option --with-extra-cflags. > > Thanks for your suggestion, do you know where I can find documentation > for this feature? > > I got this error on Gradle 2.13: > $ gradle --with-extra-cflags '-O2 -g -pipe -Wall > -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions > -fstack-protector-strong --param=ssp-buffer-size=4 > -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 > -m64 -mtune=generic' > > Unknown command-line option '--with-extra-cflags'. > > USAGE: gradle [option...] [task...] > > > Jonny > From alexander.zvegintsev at oracle.com Thu Jul 20 05:07:48 2017 From: alexander.zvegintsev at oracle.com (Alexander Zvegintsev) Date: Thu, 20 Jul 2017 10:37:48 +0530 Subject: [10] request for review 8181779: Memory leak in FX Glass Embedded Window Message-ID: <45b9bd16-c2ee-57b8-3711-ed4008776f09@oracle.com> Hello, please review the fix http://cr.openjdk.java.net/~azvegint/jdk/10/8181779/00/ for the issue https://bugs.openjdk.java.net/browse/JDK-8181779 -- Thanks, Alexander. From prasanta.sadhukhan at oracle.com Thu Jul 20 11:13:00 2017 From: prasanta.sadhukhan at oracle.com (Prasanta Sadhukhan) Date: Thu, 20 Jul 2017 16:43:00 +0530 Subject: [10] RFR JDK-8181786: Extra runLater causes impossible states to be possible using javafx.embed.singleThread=true Message-ID: <79e4d5e2-b2ba-a570-b3cc-591a311acb73@oracle.com> Hi All, Request to review the fix http://cr.openjdk.java.net/~psadhukhan/8181786/webrev.00/ for issue https://bugs.openjdk.java.net/browse/JDK-8181786 Regards Prasanta From philip.race at oracle.com Thu Jul 20 19:48:58 2017 From: philip.race at oracle.com (Phil Race) Date: Thu, 20 Jul 2017 12:48:58 -0700 Subject: RFR: 8185011: build.gradle cannot always parse gradle minor version Message-ID: <4a78552c-41e3-33e3-fd5c-3c15b8f5c1d3@oracle.com> Kevin (or anyone else), Please review this small change so FX can use gradle-4.1-rc1 https://bugs.openjdk.java.net/browse/JDK-8185011 -phil. From chris.bensen at oracle.com Thu Jul 20 23:34:02 2017 From: chris.bensen at oracle.com (Chris Bensen) Date: Thu, 20 Jul 2017 16:34:02 -0700 Subject: [10] Review request: 8185017 Fix Bad Characters Message-ID: <70643507-AE34-4002-A44A-F10F16268C05@oracle.com> Phil, Please review this fix to remove the bad characters. JIRA: https://bugs.openjdk.java.net/browse/JDK-8185017 Webrev: http://cr.openjdk.java.net/~cbensen/JDK-8185017/webrev.00/ Chris From philip.race at oracle.com Thu Jul 20 23:37:51 2017 From: philip.race at oracle.com (Philip Race) Date: Thu, 20 Jul 2017 16:37:51 -0700 Subject: [10] Review request: 8185017 Fix Bad Characters In-Reply-To: <70643507-AE34-4002-A44A-F10F16268C05@oracle.com> References: <70643507-AE34-4002-A44A-F10F16268C05@oracle.com> Message-ID: <59713ECF.7050306@oracle.com> +1 Although I am puzzled why I did not hit this before. -phil. On 7/20/17, 4:34 PM, Chris Bensen wrote: > Phil, > > Please review this fix to remove the bad characters. > > JIRA: https://bugs.openjdk.java.net/browse/JDK-8185017 > Webrev: http://cr.openjdk.java.net/~cbensen/JDK-8185017/webrev.00/ > > Chris From victor.drozdov at oracle.com Thu Jul 20 23:49:28 2017 From: victor.drozdov at oracle.com (victor.drozdov at oracle.com) Date: Thu, 20 Jul 2017 16:49:28 -0700 Subject: [10] Review request: 8184996: Add single instance swing app for ant version Message-ID: Chris, Please review my changes about adding single instance swing app for ant version JIRA: https://bugs.openjdk.java.net/browse/JDK-8184996 Webrev:http://cr.openjdk.java.net/~vdrozdov/JDK-8184996/webrev.00/ --Victor From arunprasad.rajkumar at oracle.com Fri Jul 21 17:11:50 2017 From: arunprasad.rajkumar at oracle.com (Arunprasad Rajkumar) Date: Fri, 21 Jul 2017 22:41:50 +0530 Subject: [10] Review request: 8183292: Update to 604.1 version of WebKit Message-ID: <5C5A3E30-421F-48D7-B393-AE15EAE17375@oracle.com> Hello All Following patchset contains changes to upgrade to newer WebKit which is based on GTK WebKit 2.16 [1], http://cr.openjdk.java.net/~arajkumar/8183292/webrev.00 Above link has 1 webrev and one patchset file, 1. rt-non-webkit ? Contains changes other than "modules/javafx.web/src/main/native", it will be useful only for review. 2. rt.changeset.gz ? Actual changeset file in compressed format which contains all the changes from ?rt? directory, uncompress before using it(gunzip rt.changeset.gz) and do the following steps. $ cd rt $ hg import --no-commit rt.changeset #(from rt.changset.gz) Please review and let me know the feedback. (Note: MSVC 2017 toolchain is a must to compile ?:web? module on Windows) [1] https://trac.webkit.org/wiki/WebKitGTK/2.16.x Thanks, Arun From adam at adamish.com Sun Jul 23 23:08:07 2017 From: adam at adamish.com (Adam Granger) Date: Mon, 24 Jul 2017 00:08:07 +0100 Subject: Using queries containing pseudo-classes in JavaFX Message-ID: <11373667-213E-411D-8032-0E1FEBA08C4F@adamish.com> I'm tring to use pseudo classes in programmtic query using Node.lookupAll() however this seems to give unexpected results. I've searched online and can't find anything to suggest Node.lookupAll() wouldn't support psuedo classes... public class Foo extends Application { public static void main(String[] args) { launch(args); } @Override public void start(Stage primaryStage) throws Exception { PseudoClass pseudoClass = PseudoClass.getPseudoClass("custom"); Label a = new Label(); a.getStyleClass().add("foo"); a.pseudoClassStateChanged(pseudoClass, false); Label b = new Label(); b.getStyleClass().add("foo"); a.pseudoClassStateChanged(pseudoClass, true); Label c = new Label(); c.getStyleClass().add("foo"); a.pseudoClassStateChanged(pseudoClass, true); HBox box = new HBox(a, b, c); primaryStage.setScene(new Scene(box)); System.out.println(box.lookupAll(":custom").size()); // expected 2 System.out.println(box.lookupAll(".foo:custom").size()); // expected 2 System.out.println(box.lookupAll(".foo").size()); // expected 3, got 3 System.out.println(box.lookupAll(":magichorse").size()); // expected 0 !! } } Output 4 3 3 4 -- Sent from my Android device with K-9 Mail. Please excuse my brevity. From murali.billa at oracle.com Tue Jul 25 17:23:36 2017 From: murali.billa at oracle.com (Murali Billa) Date: Tue, 25 Jul 2017 10:23:36 -0700 (PDT) Subject: [10] Review request for 8185138: Build hangs and fills up disk on Windows with VS 2013 or 2010 In-Reply-To: <9d808a20-87b9-4b9e-bcd8-a3a7a8ad2a20@default> References: <5d429381-0799-e757-c070-827af4746317@oracle.com> <4816ea91-3506-4e52-84f6-86f04768d6f3@default> <9d808a20-87b9-4b9e-bcd8-a3a7a8ad2a20@default> Message-ID: ? Hi Kevin, Arun, Please review the below simple fix. JIRA: https://bugs.openjdk.java.net/browse/JDK-8185138 Webrev: http://cr.openjdk.java.net/~mbilla/8185138/webrev.00/ ? Thanks, Murali From philip.race at oracle.com Wed Jul 26 18:22:32 2017 From: philip.race at oracle.com (Phil Race) Date: Wed, 26 Jul 2017 11:22:32 -0700 Subject: RFR: 8185358: gradle 4.X has changed location of built classes Message-ID: <94154013-3306-9393-832c-e353f0ee4525@oracle.com> In gradle 4 the default location of classes when using has changed from: Java, `src/main/java` -> build/classes/main .. to .. Java, `src/main/java` -> build/classes/java/main This breaks some parts of the FX build .. which eventually is going to need gradle 4.1 for JDK 10 and already does for some testing purposes so I am being bitten by this on an almost daily basis. The fix and a few more details are in-line in the bug : https://bugs.openjdk.java.net/browse/JDK-8185358 -phil. From arunprasad.rajkumar at oracle.com Thu Jul 27 08:51:53 2017 From: arunprasad.rajkumar at oracle.com (Arunprasad Rajkumar) Date: Thu, 27 Jul 2017 14:21:53 +0530 Subject: [10] Review request: 8185132: window.requestAnimationFrame API is not working Message-ID: <48BDF623-FB32-4B90-8BEF-7DD4B3FC92BC@oracle.com> Hi, Please review the following changset, Webrev: http://cr.openjdk.java.net/~arajkumar/8185132/webrev Bug: https://bugs.openjdk.java.net/browse/JDK-8185132 Detailed analysis is updated as JBS comment. Thanks, Arun From jmartine_1026 at yahoo.com Thu Jul 27 11:41:52 2017 From: jmartine_1026 at yahoo.com (Jose Martinez) Date: Thu, 27 Jul 2017 11:41:52 +0000 (UTC) Subject: javafx.scene.shape.Path (memory) inefficient PathElements In-Reply-To: References: Message-ID: <974111974.227252.1501155712201@mail.yahoo.com> Just curious, did this make it to the 8u144 release?? If not, any idea which release (or when) we can expect it? Thank youjose On ?Wednesday?, ?May? ?24?, ?2017? ?08?:?38?:?41? ?PM? ?EDT, Jim Graham wrote: Thanks Tom, I've already posted a patch for 8180938 (lazy property creation).? Check it out and let me know how it performs for you. I have a couple of changes to make to it (and an independent memory usage test to write) before I send it out for formal review... ??? ??? ??? ...jim On 5/24/17 3:42 AM, Tom Schindl wrote: > Hi, > > I created: > - https://bugs.openjdk.java.net/browse/JDK-8180935 > - https://bugs.openjdk.java.net/browse/JDK-8180938 > > I'll work on a showcase to find out how much memory one can save. > > Tom > > On 04.05.17 23:33, Jim Graham wrote: >> Hi Tom, >> >> Those look like good suggestions.? I would file bugs in JBS and create >> them separately: >> >> - Bug for lazy property creation in path elements >> - Feature request for lower-memory paths >> >> Did you benchmark how much the lazy properties, on their own, would save >> your application? >> >>? ? ? ? ? ? ? ? ? ...jim >> >> On 5/4/17 2:22 PM, Tom Schindl wrote: >>> Hi, >>> >>> We are currently working on a PDF-Rendering library in JavaFX and we >>> need to draw glyphs using the JavaFX Path API (there are multiple >>> reasons why we don't use the Text-Node and or Canvas). >>> >>> When drawing a page full of Text this means that we have a Path-Object >>> with gazillions of MoveTo and CubicCurveTo elements who sum up to 30MB >>> just to represent them in the SG because PathElements store their >>> information in properties and forcefully intialize them in their >>> constructor. >>> >>> The only public API to work around this problem is to construct a >>> StringBuffer and use SVGPath which means: >>> * it takes time to construct the SVG-Path-String >>> * it takes time to parse the SVG-Path-String in JavaFX >>> >>> As an experiment (and because we are still on Java8 we can easily do >>> that) was that we created our own Shape-Subclass who: >>> * uses floats (there's no reason to use double in the SG when the >>>? ? backing API - Path2D - is float based) >>> * passes the floats directly to the Path2D/NGPath API >>> >>> Guess what: We now need 2.5MB / page which means 27.5MB is the overhead >>> added by the current Path-API - ouch! >>> >>> I think a fairly low hanging memory optimization for the PathElement >>> would be to create properties lazy (only if someone access the property). >>> >>> For MoveTo this would mean the following minimal change (eg for the >>> x-value): >>> >>> private DoubleProperty x; >>> private double _x; >>> >>> public final void setX(double value) { >>>? ? if (x != null) { >>>? ? ? xProperty().set(value); >>>? ? } else { >>>? ? ? _x = value; >>>? ? ? u(); >>>? ? } >>> } >>> >>> public final double getX() { >>>? ? return x == null ? _x : x.get(); >>> } >>> >>> public final DoubleProperty xProperty() { >>>? ? if (x == null) { >>>? ? ? x = new DoublePropertyBase(_x) { >>> >>>? ? ? ? @Override >>>? ? ? ? public void invalidated() { >>>? ? ? ? ? u(); >>>? ? ? ? } >>> >>>? ? ? ? @Override >>>? ? ? ? public Object getBean() { >>>? ? ? ? ? return MoveTo.this; >>>? ? ? ? } >>> >>>? ? ? ? @Override >>>? ? ? ? public String getName() { >>>? ? ? ? ? return "x"; >>>? ? ? ? } >>>? ? }; >>>? ? } >>>? ? return x; >>> } >>> >>> I guess 99% of the code out there never access the Property so the small >>> footprint added by the primitive field is justifiable. >>> >>> This still has the overhead of all the needless PathElement objects >>> hanging around so another idea is to have a 3rd SG-Path-Type who >>> strictly uses the float-Primitives with a similar API to Path2D (in fact >>> it only acts as a public API to Path2D). >>> >>> Thoughts? >>> >>> Tom >>> > > From kevin.rushforth at oracle.com Thu Jul 27 12:07:03 2017 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Thu, 27 Jul 2017 05:07:03 -0700 Subject: javafx.scene.shape.Path (memory) inefficient PathElements In-Reply-To: <974111974.227252.1501155712201@mail.yahoo.com> References: <974111974.227252.1501155712201@mail.yahoo.com> Message-ID: <5979D767.70104@oracle.com> No, this fix hasn't yet been reviewed and pushed. When it is it will go into JDK 10. -- Kevin Jose Martinez wrote: > Just curious, did this make it to the 8u144 release? If not, any idea which release (or when) we can expect it? > Thank youjose > > > On ?Wednesday?, ?May? ?24?, ?2017? ?08?:?38?:?41? ?PM? ?EDT, Jim Graham wrote: > > Thanks Tom, I've already posted a patch for 8180938 (lazy property creation). Check it out and let me know how it > performs for you. > > I have a couple of changes to make to it (and an independent memory usage test to write) before I send it out for formal > review... > > ...jim > > On 5/24/17 3:42 AM, Tom Schindl wrote: > >> Hi, >> >> I created: >> - https://bugs.openjdk.java.net/browse/JDK-8180935 >> - https://bugs.openjdk.java.net/browse/JDK-8180938 >> >> I'll work on a showcase to find out how much memory one can save. >> >> Tom >> >> On 04.05.17 23:33, Jim Graham wrote: >> >>> Hi Tom, >>> >>> Those look like good suggestions. I would file bugs in JBS and create >>> them separately: >>> >>> - Bug for lazy property creation in path elements >>> - Feature request for lower-memory paths >>> >>> Did you benchmark how much the lazy properties, on their own, would save >>> your application? >>> >>> ...jim >>> >>> On 5/4/17 2:22 PM, Tom Schindl wrote: >>> >>>> Hi, >>>> >>>> We are currently working on a PDF-Rendering library in JavaFX and we >>>> need to draw glyphs using the JavaFX Path API (there are multiple >>>> reasons why we don't use the Text-Node and or Canvas). >>>> >>>> When drawing a page full of Text this means that we have a Path-Object >>>> with gazillions of MoveTo and CubicCurveTo elements who sum up to 30MB >>>> just to represent them in the SG because PathElements store their >>>> information in properties and forcefully intialize them in their >>>> constructor. >>>> >>>> The only public API to work around this problem is to construct a >>>> StringBuffer and use SVGPath which means: >>>> * it takes time to construct the SVG-Path-String >>>> * it takes time to parse the SVG-Path-String in JavaFX >>>> >>>> As an experiment (and because we are still on Java8 we can easily do >>>> that) was that we created our own Shape-Subclass who: >>>> * uses floats (there's no reason to use double in the SG when the >>>> backing API - Path2D - is float based) >>>> * passes the floats directly to the Path2D/NGPath API >>>> >>>> Guess what: We now need 2.5MB / page which means 27.5MB is the overhead >>>> added by the current Path-API - ouch! >>>> >>>> I think a fairly low hanging memory optimization for the PathElement >>>> would be to create properties lazy (only if someone access the property). >>>> >>>> For MoveTo this would mean the following minimal change (eg for the >>>> x-value): >>>> >>>> private DoubleProperty x; >>>> private double _x; >>>> >>>> public final void setX(double value) { >>>> if (x != null) { >>>> xProperty().set(value); >>>> } else { >>>> _x = value; >>>> u(); >>>> } >>>> } >>>> >>>> public final double getX() { >>>> return x == null ? _x : x.get(); >>>> } >>>> >>>> public final DoubleProperty xProperty() { >>>> if (x == null) { >>>> x = new DoublePropertyBase(_x) { >>>> >>>> @Override >>>> public void invalidated() { >>>> u(); >>>> } >>>> >>>> @Override >>>> public Object getBean() { >>>> return MoveTo.this; >>>> } >>>> >>>> @Override >>>> public String getName() { >>>> return "x"; >>>> } >>>> }; >>>> } >>>> return x; >>>> } >>>> >>>> I guess 99% of the code out there never access the Property so the small >>>> footprint added by the primitive field is justifiable. >>>> >>>> This still has the overhead of all the needless PathElement objects >>>> hanging around so another idea is to have a 3rd SG-Path-Type who >>>> strictly uses the float-Primitives with a similar API to Path2D (in fact >>>> it only acts as a public API to Path2D). >>>> >>>> Thoughts? >>>> >>>> Tom >>>> >>>> >> From tom.schindl at bestsolution.at Thu Jul 27 13:07:21 2017 From: tom.schindl at bestsolution.at (Tom Schindl) Date: Thu, 27 Jul 2017 15:07:21 +0200 Subject: javafx.scene.shape.Path (memory) inefficient PathElements In-Reply-To: <974111974.227252.1501155712201@mail.yahoo.com> References: <974111974.227252.1501155712201@mail.yahoo.com> Message-ID: <62226d82-b36a-2e54-94da-63a90fcf7bfe@bestsolution.at> As mentionned at the beginning of the thread, in FX8 you can roll your custom implementation. I did not yet had the time to test the changes Jim made :-( Tom On 27.07.17 13:41, Jose Martinez wrote: > Just curious, did this make it to the 8u144 release? If not, any idea > which release (or when) we can expect it? > > Thank you > jose > > > ------------------------------------------------------------------------ > On ?Wednesday?, ?May? ?24?, ?2017? ?08?:?38?:?41? ?PM? ?EDT, Jim Graham > wrote: > > > Thanks Tom, I've already posted a patch for 8180938 (lazy property > creation). Check it out and let me know how it > performs for you. > > I have a couple of changes to make to it (and an independent memory > usage test to write) before I send it out for formal > review... > > ...jim > > On 5/24/17 3:42 AM, Tom Schindl wrote: >> Hi, >> >> I created: >> - https://bugs.openjdk.java.net/browse/JDK-8180935 >> - https://bugs.openjdk.java.net/browse/JDK-8180938 >> >> I'll work on a showcase to find out how much memory one can save. >> >> Tom >> >> On 04.05.17 23:33, Jim Graham wrote: >>> Hi Tom, >>> >>> Those look like good suggestions. I would file bugs in JBS and create >>> them separately: >>> >>> - Bug for lazy property creation in path elements >>> - Feature request for lower-memory paths >>> >>> Did you benchmark how much the lazy properties, on their own, would save >>> your application? >>> >>> ...jim >>> >>> On 5/4/17 2:22 PM, Tom Schindl wrote: >>>> Hi, >>>> >>>> We are currently working on a PDF-Rendering library in JavaFX and we >>>> need to draw glyphs using the JavaFX Path API (there are multiple >>>> reasons why we don't use the Text-Node and or Canvas). >>>> >>>> When drawing a page full of Text this means that we have a Path-Object >>>> with gazillions of MoveTo and CubicCurveTo elements who sum up to 30MB >>>> just to represent them in the SG because PathElements store their >>>> information in properties and forcefully intialize them in their >>>> constructor. >>>> >>>> The only public API to work around this problem is to construct a >>>> StringBuffer and use SVGPath which means: >>>> * it takes time to construct the SVG-Path-String >>>> * it takes time to parse the SVG-Path-String in JavaFX >>>> >>>> As an experiment (and because we are still on Java8 we can easily do >>>> that) was that we created our own Shape-Subclass who: >>>> * uses floats (there's no reason to use double in the SG when the >>>> backing API - Path2D - is float based) >>>> * passes the floats directly to the Path2D/NGPath API >>>> >>>> Guess what: We now need 2.5MB / page which means 27.5MB is the overhead >>>> added by the current Path-API - ouch! >>>> >>>> I think a fairly low hanging memory optimization for the PathElement >>>> would be to create properties lazy (only if someone access the > property). >>>> >>>> For MoveTo this would mean the following minimal change (eg for the >>>> x-value): >>>> >>>> private DoubleProperty x; >>>> private double _x; >>>> >>>> public final void setX(double value) { >>>> if (x != null) { >>>> xProperty().set(value); >>>> } else { >>>> _x = value; >>>> u(); >>>> } >>>> } >>>> >>>> public final double getX() { >>>> return x == null ? _x : x.get(); >>>> } >>>> >>>> public final DoubleProperty xProperty() { >>>> if (x == null) { >>>> x = new DoublePropertyBase(_x) { >>>> >>>> @Override >>>> public void invalidated() { >>>> u(); >>>> } >>>> >>>> @Override >>>> public Object getBean() { >>>> return MoveTo.this; >>>> } >>>> >>>> @Override >>>> public String getName() { >>>> return "x"; >>>> } >>>> }; >>>> } >>>> return x; >>>> } >>>> >>>> I guess 99% of the code out there never access the Property so the small >>>> footprint added by the primitive field is justifiable. >>>> >>>> This still has the overhead of all the needless PathElement objects >>>> hanging around so another idea is to have a 3rd SG-Path-Type who >>>> strictly uses the float-Primitives with a similar API to Path2D (in fact >>>> it only acts as a public API to Path2D). >>>> >>>> Thoughts? >>>> >>>> Tom >>>> >> >> -- Thomas Schindl, CTO BestSolution.at EDV Systemhaus GmbH Eduard-Bodem-Gasse 5-7, A-6020 Innsbruck http://www.bestsolution.at/ Reg. Nr. FN 222302s am Firmenbuchgericht Innsbruck From james.graham at oracle.com Thu Jul 27 22:29:36 2017 From: james.graham at oracle.com (Jim Graham) Date: Thu, 27 Jul 2017 15:29:36 -0700 Subject: javafx.scene.shape.Path (memory) inefficient PathElements In-Reply-To: <5979D767.70104@oracle.com> References: <974111974.227252.1501155712201@mail.yahoo.com> <5979D767.70104@oracle.com> Message-ID: <7cd75384-e581-3d78-21a9-43c2cee191f4@oracle.com> And, to clarify, the super-lazy property fix is currently only targeted to JDK10. A case would need to be made to back-port it to any update releases once it is fixed there. We haven't seen or presented such a case at this point so we are only planning to fix it in JDK10 and Tom has indicated that he has found his own workaround for JDK8. The other bug related to creating a new Path object with lighter weight storage would be new API and not be eligible to back-porting. 8u144 was not a general update release, it was an emergency regression fix for the 8u141 CPU release. Even if we had pushed this into JDK10, it would not have been eligible to go into either of those releases... ...jim On 7/27/17 5:07 AM, Kevin Rushforth wrote: > No, this fix hasn't yet been reviewed and pushed. When it is it will go into JDK 10. > > -- Kevin > > > Jose Martinez wrote: >> Just curious, did this make it to the 8u144 release? If not, any idea which release (or when) we can expect it? >> Thank youjose >> >> >> On ?Wednesday?, ?May? ?24?, ?2017? ?08?:?38?:?41? ?PM? ?EDT, Jim Graham wrote: >> >> Thanks Tom, I've already posted a patch for 8180938 (lazy property creation). Check it out and let me know how it >> performs for you. >> >> I have a couple of changes to make to it (and an independent memory usage test to write) before I send it out for >> formal review... >> >> ...jim >> >> On 5/24/17 3:42 AM, Tom Schindl wrote: >>> Hi, >>> >>> I created: >>> - https://bugs.openjdk.java.net/browse/JDK-8180935 >>> - https://bugs.openjdk.java.net/browse/JDK-8180938 >>> >>> I'll work on a showcase to find out how much memory one can save. >>> >>> Tom >>> >>> On 04.05.17 23:33, Jim Graham wrote: >>>> Hi Tom, >>>> >>>> Those look like good suggestions. I would file bugs in JBS and create >>>> them separately: >>>> >>>> - Bug for lazy property creation in path elements >>>> - Feature request for lower-memory paths >>>> >>>> Did you benchmark how much the lazy properties, on their own, would save >>>> your application? >>>> >>>> ...jim >>>> >>>> On 5/4/17 2:22 PM, Tom Schindl wrote: >>>>> Hi, >>>>> >>>>> We are currently working on a PDF-Rendering library in JavaFX and we >>>>> need to draw glyphs using the JavaFX Path API (there are multiple >>>>> reasons why we don't use the Text-Node and or Canvas). >>>>> >>>>> When drawing a page full of Text this means that we have a Path-Object >>>>> with gazillions of MoveTo and CubicCurveTo elements who sum up to 30MB >>>>> just to represent them in the SG because PathElements store their >>>>> information in properties and forcefully intialize them in their >>>>> constructor. >>>>> >>>>> The only public API to work around this problem is to construct a >>>>> StringBuffer and use SVGPath which means: >>>>> * it takes time to construct the SVG-Path-String >>>>> * it takes time to parse the SVG-Path-String in JavaFX >>>>> >>>>> As an experiment (and because we are still on Java8 we can easily do >>>>> that) was that we created our own Shape-Subclass who: >>>>> * uses floats (there's no reason to use double in the SG when the >>>>> backing API - Path2D - is float based) >>>>> * passes the floats directly to the Path2D/NGPath API >>>>> >>>>> Guess what: We now need 2.5MB / page which means 27.5MB is the overhead >>>>> added by the current Path-API - ouch! >>>>> >>>>> I think a fairly low hanging memory optimization for the PathElement >>>>> would be to create properties lazy (only if someone access the property). >>>>> >>>>> For MoveTo this would mean the following minimal change (eg for the >>>>> x-value): >>>>> >>>>> private DoubleProperty x; >>>>> private double _x; >>>>> >>>>> public final void setX(double value) { >>>>> if (x != null) { >>>>> xProperty().set(value); >>>>> } else { >>>>> _x = value; >>>>> u(); >>>>> } >>>>> } >>>>> >>>>> public final double getX() { >>>>> return x == null ? _x : x.get(); >>>>> } >>>>> >>>>> public final DoubleProperty xProperty() { >>>>> if (x == null) { >>>>> x = new DoublePropertyBase(_x) { >>>>> >>>>> @Override >>>>> public void invalidated() { >>>>> u(); >>>>> } >>>>> >>>>> @Override >>>>> public Object getBean() { >>>>> return MoveTo.this; >>>>> } >>>>> >>>>> @Override >>>>> public String getName() { >>>>> return "x"; >>>>> } >>>>> }; >>>>> } >>>>> return x; >>>>> } >>>>> >>>>> I guess 99% of the code out there never access the Property so the small >>>>> footprint added by the primitive field is justifiable. >>>>> >>>>> This still has the overhead of all the needless PathElement objects >>>>> hanging around so another idea is to have a 3rd SG-Path-Type who >>>>> strictly uses the float-Primitives with a similar API to Path2D (in fact >>>>> it only acts as a public API to Path2D). >>>>> >>>>> Thoughts? >>>>> >>>>> Tom >>>>> From arunprasad.rajkumar at oracle.com Fri Jul 28 07:01:01 2017 From: arunprasad.rajkumar at oracle.com (Arunprasad Rajkumar) Date: Fri, 28 Jul 2017 12:31:01 +0530 Subject: [10] Review request: 8184448: Crash while loading gif images with more frames Message-ID: Hi, Please review the following changset, Webrev: http://cr.openjdk.java.net/~arajkumar/8184448/webrev.01 Bug: https://bugs.openjdk.java.net/browse/JDK-8184448 Detailed analysis is updated as JBS comment. Thanks, Arun From prasanta.sadhukhan at oracle.com Fri Jul 28 08:08:50 2017 From: prasanta.sadhukhan at oracle.com (Prasanta Sadhukhan) Date: Fri, 28 Jul 2017 13:38:50 +0530 Subject: [10] RFR: JDK-8098836:various NullPointerException in JFXPanel Message-ID: <9f58c699-acd8-7d20-30b8-b91183001e07@oracle.com> Hi All, Please review the fix http://cr.openjdk.java.net/~psadhukhan/fx/8098836/webrev.00/ for https://bugs.openjdk.java.net/browse/JDK-8098836 More information in JBS. Regards Prasanta From guru.hb at oracle.com Fri Jul 28 17:49:21 2017 From: guru.hb at oracle.com (Guru Hb) Date: Fri, 28 Jul 2017 23:19:21 +0530 Subject: [webkit][10] 8185315: Update user agent string to JavaFX/10 Message-ID: Hi Arun & Murali, Please review the fix for JBS : https://bugs.openjdk.java.net/browse/JDK-8185315 Webrev : http://cr.openjdk.java.net/~ghb/8185315/webrev.00/ Thanks, Guru From victor.drozdov at oracle.com Fri Jul 28 23:02:14 2017 From: victor.drozdov at oracle.com (victor.drozdov at oracle.com) Date: Fri, 28 Jul 2017 16:02:14 -0700 Subject: [10] Review request: 8148265: Deprecate Java Packager Arguments Message-ID: <3358ba93-623b-edd0-1f2d-6d03b107e1de@oracle.com> Chris, Please review my changes about deprecating -createbss and -createjar. JIRA: https://bugs.openjdk.java.net/browse/JDK-8148265 Webrev:http://cr.openjdk.java.net/~vdrozdov/JDK-8148265/webrev.00/ --Victor From ambarish.rapte at oracle.com Mon Jul 31 05:17:19 2017 From: ambarish.rapte at oracle.com (Ambarish Rapte) Date: Sun, 30 Jul 2017 22:17:19 -0700 (PDT) Subject: Review request for JDK-8130904: disabled tabs in a inner tabpane show like enabled Message-ID: Hi Jonathan, Hi Ajit, Request you to review this fix: Bug: https://bugs.openjdk.java.net/browse/JDK-8130904 Webrev: http://cr.openjdk.java.net/~arapte/fx/8130904/webrev.00/ Regards, Ambarish From murali.billa at oracle.com Mon Jul 31 05:50:55 2017 From: murali.billa at oracle.com (Murali Billa) Date: Sun, 30 Jul 2017 22:50:55 -0700 (PDT) Subject: [10] Review request for 8184453: [Win] DRT crashes for imported/blink/fast/shapes/crash-caused-by-dirtying-a-shape-while-computing-it-requires-a-long-filename-to-crash.html In-Reply-To: References: <5d429381-0799-e757-c070-827af4746317@oracle.com> <4816ea91-3506-4e52-84f6-86f04768d6f3@default> <9d808a20-87b9-4b9e-bcd8-a3a7a8ad2a20@default> Message-ID: <52ff87b4-a99f-42ea-976c-6520a1d149ef@default> ? Hi, Please review the below fix. JIRA: https://bugs.openjdk.java.net/browse/JDK-8184453 Webrev: http://cr.openjdk.java.net/~mbilla/8184453/webrev.00/ Thanks, Murali