From ozemale at ozemail.com.au Fri Jan 1 17:25:33 2016 From: ozemale at ozemail.com.au (John C. Turnbull) Date: Sat, 2 Jan 2016 04:25:33 +1100 Subject: RoboVM: lost to a competitor? Message-ID: Now that Xamarin owns RoboVM, will it still be available for use in porting JavaFX to mobiles such as done currently by Gluon given that Xamarin and JavaFX are competitors? Thanks, -jct From johan.vos at gluonhq.com Fri Jan 1 18:17:18 2016 From: johan.vos at gluonhq.com (Johan Vos) Date: Fri, 1 Jan 2016 19:17:18 +0100 Subject: RoboVM: lost to a competitor? In-Reply-To: References: Message-ID: Hi John, I don't consider Xamarin a JavaFX competitor, but even apart from that, there is no problem, as explained in this blog entry: http://gluonhq.com/gluon-supports-multiple-jvms/ - Johan On Fri, Jan 1, 2016 at 6:25 PM, John C. Turnbull wrote: > Now that Xamarin owns RoboVM, will it still be available for use in > porting JavaFX to mobiles such as done currently by Gluon given that > Xamarin and JavaFX are competitors? > > Thanks, > > -jct From ozemale at ozemail.com.au Fri Jan 1 18:24:35 2016 From: ozemale at ozemail.com.au (John C. Turnbull) Date: Sat, 2 Jan 2016 05:24:35 +1100 Subject: RoboVM: lost to a competitor? In-Reply-To: References: Message-ID: <001501d144c1$ab86f360$0294da20$@ozemail.com.au> OK, thanks Johan ? that?s good news. Do you know if the proposed Oracle JVM for iOS will support AOT or not? Thanks, -jct From: Johan Vos [mailto:johan.vos at gluonhq.com] Sent: Saturday, 2 January 2016 05:17 To: John C. Turnbull Cc: openjfx-dev at openjdk.java.net Subject: Re: RoboVM: lost to a competitor? Hi John, I don't consider Xamarin a JavaFX competitor, but even apart from that, there is no problem, as explained in this blog entry: http://gluonhq.com/gluon-supports-multiple-jvms/ - Johan On Fri, Jan 1, 2016 at 6:25 PM, John C. Turnbull > wrote: Now that Xamarin owns RoboVM, will it still be available for use in porting JavaFX to mobiles such as done currently by Gluon given that Xamarin and JavaFX are competitors? Thanks, -jct From mike.ennen at gmail.com Sat Jan 2 01:53:43 2016 From: mike.ennen at gmail.com (Michael Ennen) Date: Fri, 1 Jan 2016 18:53:43 -0700 Subject: JavaFX WebView TLS/SSL Certificate Revocation Check Message-ID: Hello, I will keep this short and brief. If one attempts to use the WebView control to load the following page: https://revoked.grc.com/ The page is loaded, SSL handshake completes successfully, and it is displayed and no exceptions are thrown (e.g. webView.getEngine().getLoadWorker().getException() is null) and the WorkerState goes to Worker.State.SUCCEEDED. However, the certificate of this page is indeed revoked. I understand that the WebView uses HttpsUrlConnection under the covers, and so I did some googling about OSCP/CRL (which are certificate revocation protocols, for lack of a better term). It seems that OSCP can be enabled via: Security.setProperty("ocsp.enable", "true"); and, as a fallback, CRL can be enabled via: System.setProperty("com.sun.security.enableCRLDP", "true"); However, neither of these make any difference in regards to the successful outcome posted above. One really disgusting workaround to this problem would be to write a TrustManager (which is extremely difficult in my estimation, and prone to error) that checks for certificate revocation (by using, for example, the sun.security.provider.certpath.OSCPChecker class) but since there is no way to hook into the validation check of an existing TrustManager, all of the existing functionality would have to be duplicated. Considering the WebView can be used essentially as a browser (especially given the fact that it is based on WebKit) I think this is quite a serious issue (and indeed is a serious issue for my particular application). Has anyone run into this problem and come up with a solution? Is this a known bug? Is there anything I can do to fix it? Thanks very much, -- Michael Ennen From peter.penzov at gmail.com Sat Jan 2 22:19:06 2016 From: peter.penzov at gmail.com (Peter Penzov) Date: Sun, 3 Jan 2016 00:19:06 +0200 Subject: Limit width size of Stacked Bar chart Message-ID: I tried to implement this solution http://stackoverflow.com/questions/28047818/limit-width-size-of-bar-chart for StackedBar Chart but it turns out that there is no Java method getBarGap() in StackedBar chart. Is there any solution into the latest JavaFX version for this problem? BR, Peter From tbee at tbee.org Sun Jan 3 10:21:44 2016 From: tbee at tbee.org (Tom Eugelink) Date: Sun, 3 Jan 2016 11:21:44 +0100 Subject: including fonts Message-ID: <5688F638.8090108@tbee.org> I'm currently including Google's Roboto font in JFXtras and making it easily available to other users. I noticed that the font-family attribute in font-face is ignored, and you have to use the name as it is specified in the TTF file. I found https://bugs.openjdk.java.net/browse/JDK-8094516 which says "/Please note that all @font?face descriptors are ignored except for the src descriptor./" That pretty much explains what is going on. Now, Roboto comes in different styles, condensed, bold, etc, but also italic. However, italic is a separate TTF file, so you have a Roboto-Medium.ttf and a Roboto-MediumItalic.ttf. The name of the font inside these two TTF files is the same, so when I use "font-family: 'Roboto Medium'" whatever ever font is defined last by font-face is used, and the other is not accessible. My question is: is the way Roboto does Italic, with the same font name in the TTF file, a bug of Roboto, or is this common? Tom From tbee at tbee.org Sun Jan 3 14:52:31 2016 From: tbee at tbee.org (Tom Eugelink) Date: Sun, 3 Jan 2016 15:52:31 +0100 Subject: including fonts In-Reply-To: <5688F638.8090108@tbee.org> References: <5688F638.8090108@tbee.org> Message-ID: <568935AF.7010609@tbee.org> Addendum: If I list the font families using Font.getFamilies() I get "Roboto Medium" once, given that both TTF files are added using @font-face. But if I examine Font.getFontNames() I get separate entries for "Roboto Medium" and "Roboto Medium Italic". Closer examination of the font loading reveals that indeed each font has its own distinct name and some fonts shared the same family name. That makes sense. The thing is that in CSS -as far as I can see- fonts can only accessed through its family name, not its own name. Tom On 3-1-2016 11:21, Tom Eugelink wrote: > I'm currently including Google's Roboto font in JFXtras and making it easily available to other users. I noticed that the font-family attribute in font-face is ignored, and you have to use the name as it is specified in the TTF file. I found https://bugs.openjdk.java.net/browse/JDK-8094516 which says "/Please note that all @font?face descriptors are ignored except for the src descriptor./" That pretty much explains what is going on. > > Now, Roboto comes in different styles, condensed, bold, etc, but also italic. However, italic is a separate TTF file, so you have a Roboto-Medium.ttf and a Roboto-MediumItalic.ttf. The name of the font inside these two TTF files is the same, so when I use "font-family: 'Roboto Medium'" whatever ever font is defined last by font-face is used, and the other is not accessible. > > My question is: is the way Roboto does Italic, with the same font name in the TTF file, a bug of Roboto, or is this common? > > Tom From tbee at tbee.org Sun Jan 3 16:14:20 2016 From: tbee at tbee.org (Tom Eugelink) Date: Sun, 3 Jan 2016 17:14:20 +0100 Subject: including fonts In-Reply-To: References: <5688F638.8090108@tbee.org> <568935AF.7010609@tbee.org> Message-ID: <568948DC.9020300@tbee.org> Hi David, Which would assume that if I specify no keywords, then it should take the normal version. It does not. Whatever version is loaded last is used. Tom On 3-1-2016 17:09, cogmission (David Ray) wrote: > Hi Tom, > > I Believe in CSS, once you establish the family you can access the sub-types via type keywords? > ...via > > -fx-font-weight: bold,bolder etc. > -fx-font-style: plain, italic > > Cheers, > David > > On Sun, Jan 3, 2016 at 8:52 AM, Tom Eugelink > wrote: > > Addendum: > > If I list the font families using Font.getFamilies() I get "Roboto Medium" once, given that both TTF files are added using @font-face. But if I examine Font.getFontNames() I get separate entries for "Roboto Medium" and "Roboto Medium Italic". Closer examination of the font loading reveals that indeed each font has its own distinct name and some fonts shared the same family name. That makes sense. > > The thing is that in CSS -as far as I can see- fonts can only accessed through its family name, not its own name. > > Tom > > > > On 3-1-2016 11:21, Tom Eugelink wrote: > > I'm currently including Google's Roboto font in JFXtras and making it easily available to other users. I noticed that the font-family attribute in font-face is ignored, and you have to use the name as it is specified in the TTF file. I found https://bugs.openjdk.java.net/browse/JDK-8094516 which says "/Please note that all @font?face descriptors are ignored except for the src descriptor./" That pretty much explains what is going on. > > Now, Roboto comes in different styles, condensed, bold, etc, but also italic. However, italic is a separate TTF file, so you have a Roboto-Medium.ttf and a Roboto-MediumItalic.ttf. The name of the font inside these two TTF files is the same, so when I use "font-family: 'Roboto Medium'" whatever ever font is defined last by font-face is used, and the other is not accessible. > > My question is: is the way Roboto does Italic, with the same font name in the TTF file, a bug of Roboto, or is this common? > > Tom > > > > > > -- > /With kind regards,/ > David Ray > Java Solutions Architect > *Cortical.io * > Sponsor of: HTM.java > d.ray at cortical.io > http://cortical.io From cognitionmission at gmail.com Sun Jan 3 23:02:01 2016 From: cognitionmission at gmail.com (cogmission (David Ray)) Date: Sun, 3 Jan 2016 17:02:01 -0600 Subject: including fonts In-Reply-To: <568948DC.9020300@tbee.org> References: <5688F638.8090108@tbee.org> <568935AF.7010609@tbee.org> <568948DC.9020300@tbee.org> Message-ID: I guess I was assuming the "ideal"/expected behavior applied? Sorry... On Sun, Jan 3, 2016 at 10:14 AM, Tom Eugelink wrote: > Hi David, > > Which would assume that if I specify no keywords, then it should take the > normal version. It does not. Whatever version is loaded last is used. > > Tom > > > > On 3-1-2016 17:09, cogmission (David Ray) wrote: > >> Hi Tom, >> >> I Believe in CSS, once you establish the family you can access the >> sub-types via type keywords? >> ...via >> >> -fx-font-weight: bold,bolder etc. >> -fx-font-style: plain, italic >> >> Cheers, >> David >> >> On Sun, Jan 3, 2016 at 8:52 AM, Tom Eugelink > tbee at tbee.org>> wrote: >> >> Addendum: >> >> If I list the font families using Font.getFamilies() I get "Roboto >> Medium" once, given that both TTF files are added using @font-face. But if >> I examine Font.getFontNames() I get separate entries for "Roboto Medium" >> and "Roboto Medium Italic". Closer examination of the font loading reveals >> that indeed each font has its own distinct name and some fonts shared the >> same family name. That makes sense. >> >> The thing is that in CSS -as far as I can see- fonts can only >> accessed through its family name, not its own name. >> >> Tom >> >> >> >> On 3-1-2016 11:21, Tom Eugelink wrote: >> >> I'm currently including Google's Roboto font in JFXtras and >> making it easily available to other users. I noticed that the font-family >> attribute in font-face is ignored, and you have to use the name as it is >> specified in the TTF file. I found >> https://bugs.openjdk.java.net/browse/JDK-8094516 which says "/Please >> note that all @font?face descriptors are ignored except for the src >> descriptor./" That pretty much explains what is going on. >> >> Now, Roboto comes in different styles, condensed, bold, etc, but >> also italic. However, italic is a separate TTF file, so you have a >> Roboto-Medium.ttf and a Roboto-MediumItalic.ttf. The name of the font >> inside these two TTF files is the same, so when I use "font-family: 'Roboto >> Medium'" whatever ever font is defined last by font-face is used, and the >> other is not accessible. >> >> My question is: is the way Roboto does Italic, with the same font >> name in the TTF file, a bug of Roboto, or is this common? >> >> Tom >> >> >> >> >> >> -- >> /With kind regards,/ >> David Ray >> Java Solutions Architect >> *Cortical.io * >> Sponsor of: HTM.java >> d.ray at cortical.io >> http://cortical.io >> > > -- *With kind regards,* David Ray Java Solutions Architect *Cortical.io * Sponsor of: HTM.java d.ray at cortical.io http://cortical.io From tbee at tbee.org Mon Jan 4 08:08:11 2016 From: tbee at tbee.org (Tom Eugelink) Date: Mon, 4 Jan 2016 09:08:11 +0100 Subject: including fonts In-Reply-To: References: <5688F638.8090108@tbee.org> <568935AF.7010609@tbee.org> <568948DC.9020300@tbee.org> Message-ID: <568A286B.1000503@tbee.org> No problem, thanks for the suggestion! What I expect to be the cause is that the attributes in @font-face, specifying if a font is italic or not, are not supported. And they probably aren't populated based on the TTF metadata either. But before I dive too deep, maybe someone can prevent me from swimming in the wrong direction. Tom On 4-1-2016 00:02, cogmission (David Ray) wrote: > I guess I was assuming the "ideal"/expected behavior applied? Sorry... > > On Sun, Jan 3, 2016 at 10:14 AM, Tom Eugelink > wrote: > > Hi David, > > Which would assume that if I specify no keywords, then it should take the normal version. It does not. Whatever version is loaded last is used. > > Tom > > > > On 3-1-2016 17:09, cogmission (David Ray) wrote: > > Hi Tom, > > I Believe in CSS, once you establish the family you can access the sub-types via type keywords? > ...via > > -fx-font-weight: bold,bolder etc. > -fx-font-style: plain, italic > > Cheers, > David > > On Sun, Jan 3, 2016 at 8:52 AM, Tom Eugelink >> wrote: > > Addendum: > > If I list the font families using Font.getFamilies() I get "Roboto Medium" once, given that both TTF files are added using @font-face. But if I examine Font.getFontNames() I get separate entries for "Roboto Medium" and "Roboto Medium Italic". Closer examination of the font loading reveals that indeed each font has its own distinct name and some fonts shared the same family name. That makes sense. > > The thing is that in CSS -as far as I can see- fonts can only accessed through its family name, not its own name. > > Tom > > > > On 3-1-2016 11:21, Tom Eugelink wrote: > > I'm currently including Google's Roboto font in JFXtras and making it easily available to other users. I noticed that the font-family attribute in font-face is ignored, and you have to use the name as it is specified in the TTF file. I found https://bugs.openjdk.java.net/browse/JDK-8094516 which says "/Please note that all @font?face descriptors are ignored except for the src descriptor./" That pretty much explains what is going on. > > Now, Roboto comes in different styles, condensed, bold, etc, but also italic. However, italic is a separate TTF file, so you have a Roboto-Medium.ttf and a Roboto-MediumItalic.ttf. The name of the font inside these two TTF files is the same, so when I use "font-family: 'Roboto Medium'" whatever ever font is defined last by font-face is used, and the other is not accessible. > > My question is: is the way Roboto does Italic, with the same font name in the TTF file, a bug of Roboto, or is this common? > > Tom > > > > > > -- > /With kind regards,/ > David Ray > Java Solutions Architect > *Cortical.io * > Sponsor of: HTM.java > d.ray at cortical.io > > http://cortical.io > > > > > > -- > /With kind regards,/ > David Ray > Java Solutions Architect > *Cortical.io * > Sponsor of: HTM.java > d.ray at cortical.io > http://cortical.io From David.Hill at Oracle.com Mon Jan 4 13:24:51 2016 From: David.Hill at Oracle.com (David Hill) Date: Mon, 04 Jan 2016 08:24:51 -0500 Subject: including fonts In-Reply-To: <568935AF.7010609@tbee.org> References: <5688F638.8090108@tbee.org> <568935AF.7010609@tbee.org> Message-ID: <568A72A3.8030501@Oracle.com> On 1/3/16, 9:52 AM, Tom Eugelink wrote: Hi Tom, The OpenJFX wiki has some font information at https://wiki.openjdk.java.net/display/OpenJFX/Font+Setup I am pretty sure it does not address your issue, but I am always looking for suggested edits for our wiki. So if you get a good answer... :-) Dave > Addendum: > > If I list the font families using Font.getFamilies() I get "Roboto Medium" once, given that both TTF files are added using @font-face. But if I examine Font.getFontNames() I get separate entries for "Roboto Medium" and "Roboto Medium Italic". Closer examination of the font loading reveals that indeed each font has its own distinct name and some fonts shared the same family name. That makes sense. > > The thing is that in CSS -as far as I can see- fonts can only accessed through its family name, not its own name. > > Tom > > > On 3-1-2016 11:21, Tom Eugelink wrote: >> I'm currently including Google's Roboto font in JFXtras and making it easily available to other users. I noticed that the font-family attribute in font-face is ignored, and you have to use the name as it is specified in the TTF file. I found https://bugs.openjdk.java.net/browse/JDK-8094516 which says "/Please note that all @font?face descriptors are ignored except for the src descriptor./" That pretty much explains what is going on. >> >> Now, Roboto comes in different styles, condensed, bold, etc, but also italic. However, italic is a separate TTF file, so you have a Roboto-Medium.ttf and a Roboto-MediumItalic.ttf. The name of the font inside these two TTF files is the same, so when I use "font-family: 'Roboto Medium'" whatever ever font is defined last by font-face is used, and the other is not accessible. >> >> My question is: is the way Roboto does Italic, with the same font name in the TTF file, a bug of Roboto, or is this common? >> >> Tom > -- David Hill Java Embedded Development "A man's feet should be planted in his country, but his eyes should survey the world." -- George Santayana (1863 - 1952) From BoydEdmondson at nebulasoftware.com Mon Jan 4 13:31:08 2016 From: BoydEdmondson at nebulasoftware.com (BoydEdmondson-NebulaSoftware) Date: Mon, 4 Jan 2016 13:31:08 +0000 Subject: Full Screen Mode in JavaFX WebView Message-ID: <1da9ff5c1b1045a98811f4754f8d53d7@NebulaSoftware3.NebulaSoftware.com> I have a custom Java application that uses JavaFX WebView to create a web browser (which uses WebKit). I am trying to get the browser full screen mode to work (https://fullscreen.spec.whatwg.org/). How can I get full screen mode to work in WebKit? I'm also trying to get WebKit's Web Inspector to work in my browser to help me debug this issue. How can I activate Web Inspector in JavaFX WebView? Thanks for any information. From guru.hb at oracle.com Mon Jan 4 16:32:40 2016 From: guru.hb at oracle.com (Guru Hb) Date: Mon, 4 Jan 2016 08:32:40 -0800 (PST) Subject: Full Screen Mode in JavaFX WebView In-Reply-To: <1da9ff5c1b1045a98811f4754f8d53d7@NebulaSoftware3.NebulaSoftware.com> References: <1da9ff5c1b1045a98811f4754f8d53d7@NebulaSoftware3.NebulaSoftware.com> Message-ID: Please see comments embedded -----Original Message----- From: BoydEdmondson-NebulaSoftware [mailto:BoydEdmondson at nebulasoftware.com] Sent: Monday, January 04, 2016 7:01 PM To: openjfx-dev at openjdk.java.net Subject: Full Screen Mode in JavaFX WebView I have a custom Java application that uses JavaFX WebView to create a web browser (which uses WebKit). I am trying to get the browser full screen mode to work (https://fullscreen.spec.whatwg.org/). How can I get full screen mode to work in WebKit? [WebView is an Embedded component and current it doesn't have full screen context menu (Like what we see in browser). WebView exposes two api setPrefWidth & setPrefHeight, you can try setting it to max allowable view port size based on screen resolution. In addition (But I don't suggest), set the stage or group border to 0. But do NOTE that there won't be scroll bars visible, But you can drag the webpage] I'm also trying to get WebKit's Web Inspector to work in my browser to help me debug this issue. How can I activate Web Inspector in JavaFX WebView? [Sorry, Web Inspector is not enabled in this port (Webkit port of JavaFX), alternatively you could debug the application on Chrome or Safari. If you find a difference in the Rendering, JavaScript or other defect, feel free to log a defect ref https://wiki.openjdk.java.net/display/OpenJFX/Submitting+a+Bug+Report] Thanks for any information. From BoydEdmondson at nebulasoftware.com Mon Jan 4 16:35:57 2016 From: BoydEdmondson at nebulasoftware.com (BoydEdmondson-NebulaSoftware) Date: Mon, 4 Jan 2016 16:35:57 +0000 Subject: Full Screen Mode in JavaFX WebView In-Reply-To: References: <1da9ff5c1b1045a98811f4754f8d53d7@NebulaSoftware3.NebulaSoftware.com> Message-ID: <2d4c71238e664105b014d92f267c5f39@NebulaSoftware3.NebulaSoftware.com> I'll give that a try, thanks. The application works fine in all other browsers I've tested. It just fails in WebView. I'll log defects as you suggest. Boyd -----Original Message----- From: Guru Hb [mailto:guru.hb at oracle.com] Sent: January 4, 2016 8:33 AM To: BoydEdmondson-NebulaSoftware Cc: openjfx-dev at openjdk.java.net Subject: RE: Full Screen Mode in JavaFX WebView Please see comments embedded -----Original Message----- From: BoydEdmondson-NebulaSoftware [mailto:BoydEdmondson at nebulasoftware.com] Sent: Monday, January 04, 2016 7:01 PM To: openjfx-dev at openjdk.java.net Subject: Full Screen Mode in JavaFX WebView I have a custom Java application that uses JavaFX WebView to create a web browser (which uses WebKit). I am trying to get the browser full screen mode to work (https://fullscreen.spec.whatwg.org/). How can I get full screen mode to work in WebKit? [WebView is an Embedded component and current it doesn't have full screen context menu (Like what we see in browser). WebView exposes two api setPrefWidth & setPrefHeight, you can try setting it to max allowable view port size based on screen resolution. In addition (But I don't suggest), set the stage or group border to 0. But do NOTE that there won't be scroll bars visible, But you can drag the webpage] I'm also trying to get WebKit's Web Inspector to work in my browser to help me debug this issue. How can I activate Web Inspector in JavaFX WebView? [Sorry, Web Inspector is not enabled in this port (Webkit port of JavaFX), alternatively you could debug the application on Chrome or Safari. If you find a difference in the Rendering, JavaScript or other defect, feel free to log a defect ref https://wiki.openjdk.java.net/display/OpenJFX/Submitting+a+Bug+Report] Thanks for any information. From philip.race at oracle.com Mon Jan 4 19:43:13 2016 From: philip.race at oracle.com (Phil Race) Date: Mon, 04 Jan 2016 11:43:13 -0800 Subject: including fonts In-Reply-To: <568A286B.1000503@tbee.org> References: <5688F638.8090108@tbee.org> <568935AF.7010609@tbee.org> <568948DC.9020300@tbee.org> <568A286B.1000503@tbee.org> Message-ID: <568ACB51.6000508@oracle.com> Hi, I can't speak authoritatively on the CSS implementation because I am not familiar with it but here are some thoughts and observations that might help. Suppose you have : @font-face { font-family: RobotoMedium src: url("robotomedium.ttf" } My reading of the W3C spec. is that the name you specify as font-family is used by CSS as the family name regardless of the *actual* name of the font but I don't think FX can be working like that if it ignores font-family. If CSS is ignoring everything except src that seems like you then need to know for sure yourself what the family + style of the font is and per that bug then use it via fx-font using the actual name+style. This suggests CSS is loading the font into the list of fonts available to be used by creating fonts directly from JavaFX API. This seems to be confirmed by you seeing that Font.getFontNames() reports these. So you'd need to do the following for both font files ie. @font-face { font-family: BlahBlahDoesNotMatterApparently src: url("robotomedium.ttf") } @font-face { font-family: BlahBlahDoesNotMatterEither src: url("robotomediumitalic.ttf") } and reference as : -fx-font: normal normal 12 "Roboto Medium" -fx-font: italic normal 12 "Roboto Medium" If this does not work then I don't know what CSS might be doing in its lookup. The comment about only the last one loaded being available does not add up to me unless CSS is doing some buggy filtering or remembering of its own. Perhaps explicitly specifying "normal" will fix that. -phil. On 01/04/2016 12:08 AM, Tom Eugelink wrote: > No problem, thanks for the suggestion! > > What I expect to be the cause is that the attributes in @font-face, > specifying if a font is italic or not, are not supported. And they > probably aren't populated based on the TTF metadata either. But before > I dive too deep, maybe someone can prevent me from swimming in the > wrong direction. > > Tom > > > On 4-1-2016 00:02, cogmission (David Ray) wrote: >> I guess I was assuming the "ideal"/expected behavior applied? Sorry... >> >> On Sun, Jan 3, 2016 at 10:14 AM, Tom Eugelink > > wrote: >> >> Hi David, >> >> Which would assume that if I specify no keywords, then it should >> take the normal version. It does not. Whatever version is loaded last >> is used. >> >> Tom >> >> >> >> On 3-1-2016 17:09, cogmission (David Ray) wrote: >> >> Hi Tom, >> >> I Believe in CSS, once you establish the family you can >> access the sub-types via type keywords? >> ...via >> >> -fx-font-weight: bold,bolder etc. >> -fx-font-style: plain, italic >> >> Cheers, >> David >> >> On Sun, Jan 3, 2016 at 8:52 AM, Tom Eugelink > >> >> wrote: >> >> Addendum: >> >> If I list the font families using Font.getFamilies() I >> get "Roboto Medium" once, given that both TTF files are added using >> @font-face. But if I examine Font.getFontNames() I get separate >> entries for "Roboto Medium" and "Roboto Medium Italic". Closer >> examination of the font loading reveals that indeed each font has its >> own distinct name and some fonts shared the same family name. That >> makes sense. >> >> The thing is that in CSS -as far as I can see- fonts can >> only accessed through its family name, not its own name. >> >> Tom >> >> >> >> On 3-1-2016 11:21, Tom Eugelink wrote: >> >> I'm currently including Google's Roboto font in >> JFXtras and making it easily available to other users. I noticed that >> the font-family attribute in font-face is ignored, and you have to >> use the name as it is specified in the TTF file. I found >> https://bugs.openjdk.java.net/browse/JDK-8094516 which says "/Please >> note that all @font?face descriptors are ignored except for the src >> descriptor./" That pretty much explains what is going on. >> >> Now, Roboto comes in different styles, condensed, >> bold, etc, but also italic. However, italic is a separate TTF file, >> so you have a Roboto-Medium.ttf and a Roboto-MediumItalic.ttf. The >> name of the font inside these two TTF files is the same, so when I >> use "font-family: 'Roboto Medium'" whatever ever font is defined last >> by font-face is used, and the other is not accessible. >> >> My question is: is the way Roboto does Italic, with >> the same font name in the TTF file, a bug of Roboto, or is this common? >> >> Tom >> >> >> >> >> >> -- /With kind regards,/ >> David Ray >> Java Solutions Architect >> *Cortical.io * >> Sponsor of: HTM.java >> d.ray at cortical.io >> > >> http://cortical.io >> >> >> >> >> >> -- >> /With kind regards,/ >> David Ray >> Java Solutions Architect >> *Cortical.io * >> Sponsor of: HTM.java >> d.ray at cortical.io >> http://cortical.io > From chien.yang at oracle.com Mon Jan 4 20:32:12 2016 From: chien.yang at oracle.com (Chien Yang) Date: Mon, 4 Jan 2016 12:32:12 -0800 Subject: Shader issue: #extension repeated in shader In-Reply-To: References: Message-ID: <568AD6CC.4020608@oracle.com> Hi Johan, Can you please file a JIRA for this? Thanks, - Chien On 12/30/15 04:33, Johan Vos wrote: > When upgrading a Nexus 6 from Android 5.1.1 to Android 6, the JavaFX 3D > stopped working. > The relevant error is this: > > java.lang.RuntimeException: Error creating fragment shader > in > com.sun.prism.es2.ES2Shader.createFromSource > > The shader compilation failed with this error: > GLSL compile error: Extension directives must occur before any > non-preprocessor tokens. > which occurs in > > When debugging this, it seems the fragment shader passed > to glCtx.compileShader is created by ES2PhongShader.getShader() which > starts from main1Light.frag and which will do a replaceAll for a number of > statements which will replace those statements with other shader code that > also contains an #extension directive. > > As a result, the resulting shader source contains a number of identical > #extension directives. It seems the latest drivers on Android are much more > strict in compiling shaders, and they complain about the position of the > extension directives. > > It seems to me some post-processing needs to be done on the result of the > replaceAll() statements when creating the fragment shader in > ES2PhongShader.getShader(ES2MeshView meshView, ES2Context context) > > I did a quick and dirty workaround for this in the 8u-dev-tree on > javafxports: > https://bitbucket.org/javafxports/8u-dev-rt/commits/a84eb188c73ff60b68c016f14b6ebf85449a6bbe > > With this patch, JavaFX 3D works again on Android, but it is not the best > post-processing solution. > > Another solution might be to remove the extension directives from the > individual files in glsl and add them at the end of the processing chain? > > - Johan From kevin.rushforth at oracle.com Mon Jan 4 21:00:19 2016 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Mon, 04 Jan 2016 13:00:19 -0800 Subject: 9-dev unlocked following sanity testing Message-ID: <568ADD63.4060000@oracle.com> From james.graham at oracle.com Mon Jan 4 21:19:21 2016 From: james.graham at oracle.com (Jim Graham) Date: Mon, 4 Jan 2016 13:19:21 -0800 Subject: Shader issue: #extension repeated in shader In-Reply-To: References: Message-ID: <568AE1D9.5080007@oracle.com> Yes, we should look to have a separate header block that various shader program pieces can append to independently of the code they insert into the main body of the shader. I've been through it a few times and could probably come up with something if needed, but do you feel confident trying to modify that particular piece of how the shader programs are assembled in the CompileJSL code? It should only really involve coming up with a separate StringBuilder for the extensions section and then splitting the various substitutions into a substitution and an append. The code can be found in: buildSrc/src/main/java/com/sun/scenario/effect/compiler In particular, the ES2Backend.java file is responsible for the construction of the GLSL files... ...jim On 12/30/2015 4:33 AM, Johan Vos wrote: > When upgrading a Nexus 6 from Android 5.1.1 to Android 6, the JavaFX 3D > stopped working. > The relevant error is this: > > java.lang.RuntimeException: Error creating fragment shader > in > com.sun.prism.es2.ES2Shader.createFromSource > > The shader compilation failed with this error: > GLSL compile error: Extension directives must occur before any > non-preprocessor tokens. > which occurs in > > When debugging this, it seems the fragment shader passed > to glCtx.compileShader is created by ES2PhongShader.getShader() which > starts from main1Light.frag and which will do a replaceAll for a number of > statements which will replace those statements with other shader code that > also contains an #extension directive. > > As a result, the resulting shader source contains a number of identical > #extension directives. It seems the latest drivers on Android are much more > strict in compiling shaders, and they complain about the position of the > extension directives. > > It seems to me some post-processing needs to be done on the result of the > replaceAll() statements when creating the fragment shader in > ES2PhongShader.getShader(ES2MeshView meshView, ES2Context context) > > I did a quick and dirty workaround for this in the 8u-dev-tree on > javafxports: > https://bitbucket.org/javafxports/8u-dev-rt/commits/a84eb188c73ff60b68c016f14b6ebf85449a6bbe > > With this patch, JavaFX 3D works again on Android, but it is not the best > post-processing solution. > > Another solution might be to remove the extension directives from the > individual files in glsl and add them at the end of the processing chain? > > - Johan > From david.grieve at oracle.com Mon Jan 4 21:36:36 2016 From: david.grieve at oracle.com (David Grieve) Date: Mon, 4 Jan 2016 16:36:36 -0500 Subject: including fonts In-Reply-To: <568ACB51.6000508@oracle.com> References: <5688F638.8090108@tbee.org> <568935AF.7010609@tbee.org> <568948DC.9020300@tbee.org> <568A286B.1000503@tbee.org> <568ACB51.6000508@oracle.com> Message-ID: <568AE5E4.20402@oracle.com> The reason CSS ignores everything but src is that there is no public API in Font for providing the additional information. CSS uses Font.loadFont to load a font from a @font-face src url. See com/sun/javafx/css/StyleManager.java On 1/4/16 2:43 PM, Phil Race wrote: > Hi, > > I can't speak authoritatively on the CSS implementation because I am not > familiar with it but here are some thoughts and observations that > might help. > > Suppose you have : > @font-face { > font-family: RobotoMedium > src: url("robotomedium.ttf" > } > > My reading of the W3C spec. is that the name you specify as font-family > is used by CSS as the family name regardless of the *actual* name of > the font > but I don't think FX can be working like that if it ignores font-family. > > If CSS is ignoring everything except src that seems like > you then need to know for sure yourself what the family + style of the > font is > and per that bug then use it via fx-font using the actual name+style. > This suggests CSS is loading the font into the list of fonts available > to be used > by creating fonts directly from JavaFX API. > This seems to be confirmed by you seeing that Font.getFontNames() > reports these. > > So you'd need to do the following for both font files > ie. > > @font-face { > font-family: BlahBlahDoesNotMatterApparently > src: url("robotomedium.ttf") > } > > > @font-face { > font-family: BlahBlahDoesNotMatterEither > src: url("robotomediumitalic.ttf") > } > > and reference as : > > -fx-font: normal normal 12 "Roboto Medium" > -fx-font: italic normal 12 "Roboto Medium" > > If this does not work then I don't know what CSS might be doing in its > lookup. > The comment about only the last one loaded being available does not > add up to me > unless CSS is doing some buggy filtering or remembering of its own. > Perhaps explicitly specifying "normal" will fix that. > > -phil. > > On 01/04/2016 12:08 AM, Tom Eugelink wrote: >> No problem, thanks for the suggestion! >> >> What I expect to be the cause is that the attributes in @font-face, >> specifying if a font is italic or not, are not supported. And they >> probably aren't populated based on the TTF metadata either. But >> before I dive too deep, maybe someone can prevent me from swimming in >> the wrong direction. >> >> Tom >> >> >> On 4-1-2016 00:02, cogmission (David Ray) wrote: >>> I guess I was assuming the "ideal"/expected behavior applied? Sorry... >>> >>> On Sun, Jan 3, 2016 at 10:14 AM, Tom Eugelink >> > wrote: >>> >>> Hi David, >>> >>> Which would assume that if I specify no keywords, then it should >>> take the normal version. It does not. Whatever version is loaded >>> last is used. >>> >>> Tom >>> >>> >>> >>> On 3-1-2016 17:09, cogmission (David Ray) wrote: >>> >>> Hi Tom, >>> >>> I Believe in CSS, once you establish the family you can >>> access the sub-types via type keywords? >>> ...via >>> >>> -fx-font-weight: bold,bolder etc. >>> -fx-font-style: plain, italic >>> >>> Cheers, >>> David >>> >>> On Sun, Jan 3, 2016 at 8:52 AM, Tom Eugelink >> >> >> wrote: >>> >>> Addendum: >>> >>> If I list the font families using Font.getFamilies() I >>> get "Roboto Medium" once, given that both TTF files are added using >>> @font-face. But if I examine Font.getFontNames() I get separate >>> entries for "Roboto Medium" and "Roboto Medium Italic". Closer >>> examination of the font loading reveals that indeed each font has >>> its own distinct name and some fonts shared the same family name. >>> That makes sense. >>> >>> The thing is that in CSS -as far as I can see- fonts can >>> only accessed through its family name, not its own name. >>> >>> Tom >>> >>> >>> >>> On 3-1-2016 11:21, Tom Eugelink wrote: >>> >>> I'm currently including Google's Roboto font in >>> JFXtras and making it easily available to other users. I noticed >>> that the font-family attribute in font-face is ignored, and you have >>> to use the name as it is specified in the TTF file. I found >>> https://bugs.openjdk.java.net/browse/JDK-8094516 which says "/Please >>> note that all @font?face descriptors are ignored except for the src >>> descriptor./" That pretty much explains what is going on. >>> >>> Now, Roboto comes in different styles, condensed, >>> bold, etc, but also italic. However, italic is a separate TTF file, >>> so you have a Roboto-Medium.ttf and a Roboto-MediumItalic.ttf. The >>> name of the font inside these two TTF files is the same, so when I >>> use "font-family: 'Roboto Medium'" whatever ever font is defined >>> last by font-face is used, and the other is not accessible. >>> >>> My question is: is the way Roboto does Italic, with >>> the same font name in the TTF file, a bug of Roboto, or is this common? >>> >>> Tom >>> >>> >>> >>> >>> >>> -- /With kind regards,/ >>> David Ray >>> Java Solutions Architect >>> *Cortical.io * >>> Sponsor of: HTM.java >>> d.ray at cortical.io >>> > >>> http://cortical.io >>> >>> >>> >>> >>> >>> -- >>> /With kind regards,/ >>> David Ray >>> Java Solutions Architect >>> *Cortical.io * >>> Sponsor of: HTM.java >>> d.ray at cortical.io >>> http://cortical.io >> > From philip.race at oracle.com Mon Jan 4 21:46:15 2016 From: philip.race at oracle.com (Phil Race) Date: Mon, 04 Jan 2016 13:46:15 -0800 Subject: including fonts In-Reply-To: <568AE5E4.20402@oracle.com> References: <5688F638.8090108@tbee.org> <568935AF.7010609@tbee.org> <568948DC.9020300@tbee.org> <568A286B.1000503@tbee.org> <568ACB51.6000508@oracle.com> <568AE5E4.20402@oracle.com> Message-ID: <568AE827.9000602@oracle.com> Hi, I'm not certain I understand what it is that is missing. I don't think Font.loadFont would need to accept the CSS parameters and do the CSS-style lookup. @font-face should populate a CSS table of names and styles. I expect that is what browsers do. The CSS lookup code would then consult this internal table of fonts loaded for the current CSS context and then ask the font system to use the one that corresponds. If there is no match then it would be assumed it is a request for a system provided font. One thing that might be missing in Font.loadFont() is a way to keep the CSS loaded fonts partioned. And there's a need for deriving a font with different attributes as simple as a different size. -phil. On 01/04/2016 01:36 PM, David Grieve wrote: > The reason CSS ignores everything but src is that there is no public > API in Font for providing the additional information. > > CSS uses Font.loadFont to load a font from a @font-face src url. See > com/sun/javafx/css/StyleManager.java > > On 1/4/16 2:43 PM, Phil Race wrote: >> Hi, >> >> I can't speak authoritatively on the CSS implementation because I am not >> familiar with it but here are some thoughts and observations that >> might help. >> >> Suppose you have : >> @font-face { >> font-family: RobotoMedium >> src: url("robotomedium.ttf" >> } >> >> My reading of the W3C spec. is that the name you specify as font-family >> is used by CSS as the family name regardless of the *actual* name of >> the font >> but I don't think FX can be working like that if it ignores font-family. >> >> If CSS is ignoring everything except src that seems like >> you then need to know for sure yourself what the family + style of >> the font is >> and per that bug then use it via fx-font using the actual name+style. >> This suggests CSS is loading the font into the list of fonts >> available to be used >> by creating fonts directly from JavaFX API. >> This seems to be confirmed by you seeing that Font.getFontNames() >> reports these. >> >> So you'd need to do the following for both font files >> ie. >> >> @font-face { >> font-family: BlahBlahDoesNotMatterApparently >> src: url("robotomedium.ttf") >> } >> >> >> @font-face { >> font-family: BlahBlahDoesNotMatterEither >> src: url("robotomediumitalic.ttf") >> } >> >> and reference as : >> >> -fx-font: normal normal 12 "Roboto Medium" >> -fx-font: italic normal 12 "Roboto Medium" >> >> If this does not work then I don't know what CSS might be doing in >> its lookup. >> The comment about only the last one loaded being available does not >> add up to me >> unless CSS is doing some buggy filtering or remembering of its own. >> Perhaps explicitly specifying "normal" will fix that. >> >> -phil. >> >> On 01/04/2016 12:08 AM, Tom Eugelink wrote: >>> No problem, thanks for the suggestion! >>> >>> What I expect to be the cause is that the attributes in @font-face, >>> specifying if a font is italic or not, are not supported. And they >>> probably aren't populated based on the TTF metadata either. But >>> before I dive too deep, maybe someone can prevent me from swimming >>> in the wrong direction. >>> >>> Tom >>> >>> >>> On 4-1-2016 00:02, cogmission (David Ray) wrote: >>>> I guess I was assuming the "ideal"/expected behavior applied? Sorry... >>>> >>>> On Sun, Jan 3, 2016 at 10:14 AM, Tom Eugelink >>> > wrote: >>>> >>>> Hi David, >>>> >>>> Which would assume that if I specify no keywords, then it >>>> should take the normal version. It does not. Whatever version is >>>> loaded last is used. >>>> >>>> Tom >>>> >>>> >>>> >>>> On 3-1-2016 17:09, cogmission (David Ray) wrote: >>>> >>>> Hi Tom, >>>> >>>> I Believe in CSS, once you establish the family you can >>>> access the sub-types via type keywords? >>>> ...via >>>> >>>> -fx-font-weight: bold,bolder etc. >>>> -fx-font-style: plain, italic >>>> >>>> Cheers, >>>> David >>>> >>>> On Sun, Jan 3, 2016 at 8:52 AM, Tom Eugelink >>> >>> >> wrote: >>>> >>>> Addendum: >>>> >>>> If I list the font families using Font.getFamilies() I >>>> get "Roboto Medium" once, given that both TTF files are added using >>>> @font-face. But if I examine Font.getFontNames() I get separate >>>> entries for "Roboto Medium" and "Roboto Medium Italic". Closer >>>> examination of the font loading reveals that indeed each font has >>>> its own distinct name and some fonts shared the same family name. >>>> That makes sense. >>>> >>>> The thing is that in CSS -as far as I can see- fonts >>>> can only accessed through its family name, not its own name. >>>> >>>> Tom >>>> >>>> >>>> >>>> On 3-1-2016 11:21, Tom Eugelink wrote: >>>> >>>> I'm currently including Google's Roboto font in >>>> JFXtras and making it easily available to other users. I noticed >>>> that the font-family attribute in font-face is ignored, and you >>>> have to use the name as it is specified in the TTF file. I found >>>> https://bugs.openjdk.java.net/browse/JDK-8094516 which says >>>> "/Please note that all @font?face descriptors are ignored except >>>> for the src descriptor./" That pretty much explains what is going on. >>>> >>>> Now, Roboto comes in different styles, condensed, >>>> bold, etc, but also italic. However, italic is a separate TTF file, >>>> so you have a Roboto-Medium.ttf and a Roboto-MediumItalic.ttf. The >>>> name of the font inside these two TTF files is the same, so when I >>>> use "font-family: 'Roboto Medium'" whatever ever font is defined >>>> last by font-face is used, and the other is not accessible. >>>> >>>> My question is: is the way Roboto does Italic, with >>>> the same font name in the TTF file, a bug of Roboto, or is this >>>> common? >>>> >>>> Tom >>>> >>>> >>>> >>>> >>>> >>>> -- /With kind regards,/ >>>> David Ray >>>> Java Solutions Architect >>>> *Cortical.io * >>>> Sponsor of: HTM.java >>>> d.ray at cortical.io >>>> > >>>> http://cortical.io >>>> >>>> >>>> >>>> >>>> >>>> -- >>>> /With kind regards,/ >>>> David Ray >>>> Java Solutions Architect >>>> *Cortical.io * >>>> Sponsor of: HTM.java >>>> d.ray at cortical.io >>>> http://cortical.io >>> >> > From kevin.rushforth at oracle.com Mon Jan 4 22:23:14 2016 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Mon, 04 Jan 2016 14:23:14 -0800 Subject: JavaFX WebView TLS/SSL Certificate Revocation Check In-Reply-To: References: Message-ID: <568AF0D2.90001@oracle.com> Try the following: System.setProperty("com.sun.net.ssl.checkRevocation", "true"); -- Kevin Michael Ennen wrote: > Hello, > > I will keep this short and brief. If one attempts to use the WebView > control to load the following page: > > https://revoked.grc.com/ > > The page is loaded, SSL handshake completes successfully, and it is > displayed and no exceptions are thrown > (e.g. webView.getEngine().getLoadWorker().getException() is null) and the > WorkerState goes to Worker.State.SUCCEEDED. > > However, the certificate of this page is indeed revoked. > > I understand that the WebView uses HttpsUrlConnection under the covers, and > so I did some googling about OSCP/CRL (which are certificate revocation > protocols, for lack of a better term). It seems that OSCP can be enabled > via: > > Security.setProperty("ocsp.enable", "true"); > > and, as a fallback, CRL can be enabled via: > > System.setProperty("com.sun.security.enableCRLDP", "true"); > > However, neither of these make any difference in regards to the successful > outcome posted above. > > One really disgusting workaround to this problem would be to write a > TrustManager (which is extremely difficult in my estimation, and prone to > error) that checks for certificate revocation (by using, for example, > the sun.security.provider.certpath.OSCPChecker class) but since there is no > way to hook into the validation check of an existing TrustManager, all of > the existing functionality would have to be duplicated. > > Considering the WebView can be used essentially as a browser (especially > given the fact that it is based on WebKit) I think this is quite a serious > issue (and indeed is a serious issue for my particular application). > > Has anyone run into this problem and come up with a solution? Is this a > known bug? Is there anything I can do to fix it? > > Thanks very much, > > > > From mike.ennen at gmail.com Tue Jan 5 00:03:06 2016 From: mike.ennen at gmail.com (Michael Ennen) Date: Mon, 4 Jan 2016 17:03:06 -0700 Subject: JavaFX WebView TLS/SSL Certificate Revocation Check In-Reply-To: <568AF0D2.90001@oracle.com> References: <568AF0D2.90001@oracle.com> Message-ID: Kevin, After some further exploration I see that indeed certificate revocation does seem to be enabled through: Security.setProperty("ocsp.enable", "true"); System.setProperty("com.sun.security.enableCRLDP", "true"); System.setProperty("com.sun.net.ssl.checkRevocation", "true"); However, this only seems to active CRL (as WireShark and oscp debug properties both show no OSCP related activity) and furthermore, and more importantly, this will cause JavaFX WebView to throw an SSL handshake failed message (which, by the way, could certainly be more informative and better implemented by passing along the exception cause Throwable instance) for apparent false-positives. That is, just try connected to, for example, https://www.coinbase.com/ with the 3 properties above enabled (it fails). Thanks, On Mon, Jan 4, 2016 at 3:23 PM, Kevin Rushforth wrote: > Try the following: > > System.setProperty("com.sun.net.ssl.checkRevocation", "true"); > > -- Kevin > > > Michael Ennen wrote: > >> Hello, >> >> I will keep this short and brief. If one attempts to use the WebView >> control to load the following page: >> >> https://revoked.grc.com/ >> >> The page is loaded, SSL handshake completes successfully, and it is >> displayed and no exceptions are thrown >> (e.g. webView.getEngine().getLoadWorker().getException() is null) and the >> WorkerState goes to Worker.State.SUCCEEDED. >> >> However, the certificate of this page is indeed revoked. >> >> I understand that the WebView uses HttpsUrlConnection under the covers, >> and >> so I did some googling about OSCP/CRL (which are certificate revocation >> protocols, for lack of a better term). It seems that OSCP can be enabled >> via: >> >> Security.setProperty("ocsp.enable", "true"); >> >> and, as a fallback, CRL can be enabled via: >> >> System.setProperty("com.sun.security.enableCRLDP", "true"); >> >> However, neither of these make any difference in regards to the successful >> outcome posted above. >> >> One really disgusting workaround to this problem would be to write a >> TrustManager (which is extremely difficult in my estimation, and prone to >> error) that checks for certificate revocation (by using, for example, >> the sun.security.provider.certpath.OSCPChecker class) but since there is >> no >> way to hook into the validation check of an existing TrustManager, all of >> the existing functionality would have to be duplicated. >> >> Considering the WebView can be used essentially as a browser (especially >> given the fact that it is based on WebKit) I think this is quite a serious >> issue (and indeed is a serious issue for my particular application). >> >> Has anyone run into this problem and come up with a solution? Is this a >> known bug? Is there anything I can do to fix it? >> >> Thanks very much, >> >> >> >> >> > -- Michael Ennen From kevin.rushforth at oracle.com Tue Jan 5 00:14:09 2016 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Mon, 04 Jan 2016 16:14:09 -0800 Subject: JavaFX WebView TLS/SSL Certificate Revocation Check In-Reply-To: References: <568AF0D2.90001@oracle.com> Message-ID: <568B0AD1.2020608@oracle.com> We'll take a closer look at it then. -- Kevin Michael Ennen wrote: > Kevin, > > After some further exploration I see that indeed certificate revocation > does seem to be enabled through: > > Security.setProperty("ocsp.enable", "true"); > System.setProperty("com.sun.security.enableCRLDP", "true"); > System.setProperty("com.sun.net.ssl.checkRevocation", "true"); > > However, this only seems to active CRL (as WireShark and oscp debug > properties both show no OSCP related activity) and furthermore, and more > importantly, this will cause JavaFX WebView to throw an SSL handshake > failed message (which, by the way, could certainly be more informative and > better implemented by passing along the exception cause Throwable instance) > for apparent false-positives. That is, just try connected to, for example, > https://www.coinbase.com/ with the 3 properties above enabled (it fails). > > Thanks, > > On Mon, Jan 4, 2016 at 3:23 PM, Kevin Rushforth > wrote: > > >> Try the following: >> >> System.setProperty("com.sun.net.ssl.checkRevocation", "true"); >> >> -- Kevin >> >> >> Michael Ennen wrote: >> >> >>> Hello, >>> >>> I will keep this short and brief. If one attempts to use the WebView >>> control to load the following page: >>> >>> https://revoked.grc.com/ >>> >>> The page is loaded, SSL handshake completes successfully, and it is >>> displayed and no exceptions are thrown >>> (e.g. webView.getEngine().getLoadWorker().getException() is null) and the >>> WorkerState goes to Worker.State.SUCCEEDED. >>> >>> However, the certificate of this page is indeed revoked. >>> >>> I understand that the WebView uses HttpsUrlConnection under the covers, >>> and >>> so I did some googling about OSCP/CRL (which are certificate revocation >>> protocols, for lack of a better term). It seems that OSCP can be enabled >>> via: >>> >>> Security.setProperty("ocsp.enable", "true"); >>> >>> and, as a fallback, CRL can be enabled via: >>> >>> System.setProperty("com.sun.security.enableCRLDP", "true"); >>> >>> However, neither of these make any difference in regards to the successful >>> outcome posted above. >>> >>> One really disgusting workaround to this problem would be to write a >>> TrustManager (which is extremely difficult in my estimation, and prone to >>> error) that checks for certificate revocation (by using, for example, >>> the sun.security.provider.certpath.OSCPChecker class) but since there is >>> no >>> way to hook into the validation check of an existing TrustManager, all of >>> the existing functionality would have to be duplicated. >>> >>> Considering the WebView can be used essentially as a browser (especially >>> given the fact that it is based on WebKit) I think this is quite a serious >>> issue (and indeed is a serious issue for my particular application). >>> >>> Has anyone run into this problem and come up with a solution? Is this a >>> known bug? Is there anything I can do to fix it? >>> >>> Thanks very much, >>> >>> >>> >>> >>> >>> > > > From mike.ennen at gmail.com Tue Jan 5 00:14:37 2016 From: mike.ennen at gmail.com (Michael Ennen) Date: Mon, 4 Jan 2016 17:14:37 -0700 Subject: JavaFX WebView TLS/SSL Certificate Revocation Check In-Reply-To: <568B0AD1.2020608@oracle.com> References: <568AF0D2.90001@oracle.com> <568B0AD1.2020608@oracle.com> Message-ID: Thanks very much, really appreciate it. On Mon, Jan 4, 2016 at 5:14 PM, Kevin Rushforth wrote: > We'll take a closer look at it then. > > > -- Kevin > > > Michael Ennen wrote: > > Kevin, > > After some further exploration I see that indeed certificate revocation > does seem to be enabled through: > > Security.setProperty("ocsp.enable", "true"); > System.setProperty("com.sun.security.enableCRLDP", "true"); > System.setProperty("com.sun.net.ssl.checkRevocation", "true"); > > However, this only seems to active CRL (as WireShark and oscp debug > properties both show no OSCP related activity) and furthermore, and more > importantly, this will cause JavaFX WebView to throw an SSL handshake > failed message (which, by the way, could certainly be more informative and > better implemented by passing along the exception cause Throwable instance) > for apparent false-positives. That is, just try connected to, for example,https://www.coinbase.com/ with the 3 properties above enabled (it fails). > > Thanks, > > On Mon, Jan 4, 2016 at 3:23 PM, Kevin Rushforth > wrote: > > > > Try the following: > > System.setProperty("com.sun.net.ssl.checkRevocation", "true"); > > -- Kevin > > > Michael Ennen wrote: > > > > Hello, > > I will keep this short and brief. If one attempts to use the WebView > control to load the following page: > https://revoked.grc.com/ > > The page is loaded, SSL handshake completes successfully, and it is > displayed and no exceptions are thrown > (e.g. webView.getEngine().getLoadWorker().getException() is null) and the > WorkerState goes to Worker.State.SUCCEEDED. > > However, the certificate of this page is indeed revoked. > > I understand that the WebView uses HttpsUrlConnection under the covers, > and > so I did some googling about OSCP/CRL (which are certificate revocation > protocols, for lack of a better term). It seems that OSCP can be enabled > via: > > Security.setProperty("ocsp.enable", "true"); > > and, as a fallback, CRL can be enabled via: > > System.setProperty("com.sun.security.enableCRLDP", "true"); > > However, neither of these make any difference in regards to the successful > outcome posted above. > > One really disgusting workaround to this problem would be to write a > TrustManager (which is extremely difficult in my estimation, and prone to > error) that checks for certificate revocation (by using, for example, > the sun.security.provider.certpath.OSCPChecker class) but since there is > no > way to hook into the validation check of an existing TrustManager, all of > the existing functionality would have to be duplicated. > > Considering the WebView can be used essentially as a browser (especially > given the fact that it is based on WebKit) I think this is quite a serious > issue (and indeed is a serious issue for my particular application). > > Has anyone run into this problem and come up with a solution? Is this a > known bug? Is there anything I can do to fix it? > > Thanks very much, > > > > > > > > > -- Michael Ennen From a.ankit.srivastava at oracle.com Tue Jan 5 08:26:46 2016 From: a.ankit.srivastava at oracle.com (Ankit Srivastava) Date: Tue, 5 Jan 2016 00:26:46 -0800 (PST) Subject: Review Request for 8090160 8090252 8089111 In-Reply-To: References: Message-ID: Hi Kevin, Alexander, Please review the fix for below JIRA defects : JIRA: https://bugs.openjdk.java.net/browse/JDK-8090160?filter=-1 JIRA: https://bugs.openjdk.java.net/browse/JDK-8090252?filter=-1 JIRA: https://bugs.openjdk.java.net/browse/JDK-8089111?filter=-1 Webrev: http://cr.openjdk.java.net/~arajkumar/ankit/8090160/webrev.00 Above mentioned JIRA defect consist if media related drt. Webrev is for below DRT test cases : LayoutTests/media/video-fast-seek.html LayoutTests/media/video-canvas-drawing-output.html LayoutTests/media/video-seek-multiple.html RootCause and Solution: 1) The root cause is canPlayThroughEvent firing continuously for the test case, added check to fire the event for the first time. 2) Playing event firing incorrectly, added check to fire the event for correctly. 3) Added function hasSingleSecurityOrigin with return value as "true" in MediaPlayerPrivateJava.h so that canvas can get data without being tainted. I have verified all the media DRT cases in Win and Linux . Also I have verified "playing" event functionality with video play/pause. NOTE: 1) In the issue HYPERLINK "https://bugs.openjdk.java.net/browse/JDK-8090252"8090252 a test case media/video-canvas-drawing.html, which is getting failed due to media source corruption not able to play the media file. .Avprobe output for the media file is : avprobe version 9.18-6:9.18-0ubuntu0.14.04.1, Copyright (c) 2007-2014 the Libav developers built on Mar 16 2015 13:19:10 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1) [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1f8e320] max_analyze_duration reached Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/ankit/drt/LayoutTests/media/content/counting.mp4': Metadata: major_brand : mp42 minor_version : 1 compatible_brands: mp42mp41 creation_time : 2009-05-01 01:17:30 Duration: 00:00:09.83, start: 0.000000, bitrate: 253 kb/s Stream #0.0(eng): Video: mpeg4 (Advanced Simple Profile), yuv420p, 352x288 [PAR 1:1 DAR 11:9], 250 kb/s, 30 fps, 30 tbr, 600 tbn, 1k tbc Metadata: creation_time : 2009-05-01 01:17:30 Stream #0.1(eng): Data: mp4s / 0x7334706D, 0 kb/s Metadata: creation_time : 2009-05-01 01:17:30 Stream #0.2(eng): Data: mp4s / 0x7334706D, 0 kb/s Metadata: creation_time : 2009-05-01 01:17:30 Unsupported codec with id 0 for input stream 1 Unsupported codec with id 0 for input stream 2 # avprobe output I will open a new issue for this test case. 2) In the issue HYPERLINK "https://bugs.openjdk.java.net/browse/JDK-8090252"8090252 a test case media/video-canvas-drawing-output is getting failed on Win environment due to difference in colorspace management and/or media player on windows. I will open a new defect for the same. The test has to be modified as per the Win environment. 3) For test case media/video-load-preload-metadata.html and media/W3C/audio/canPlayType/canPlayType_supported_but_no_codecs_parameter_2.html, I have sent a mail to HYPERLINK "mailto:kirill.kirichenko at oracle.com"kirill.kirichenko at oracle.com and HYPERLINK "mailto:alexander.matveev at oracle.com"alexander.matveev at oracle.com to discuss some doubts. Regards, Ankit Srivastava From BoydEdmondson at nebulasoftware.com Tue Jan 5 13:31:35 2016 From: BoydEdmondson at nebulasoftware.com (BoydEdmondson-NebulaSoftware) Date: Tue, 5 Jan 2016 13:31:35 +0000 Subject: Full Screen Mode in JavaFX WebView References: <1da9ff5c1b1045a98811f4754f8d53d7@NebulaSoftware3.NebulaSoftware.com> Message-ID: <9f280d944ca846d29e8e73313165b0d2@NebulaSoftware3.NebulaSoftware.com> setPrefWidth/Height() do not help. I submitted a request for enhancement to support https://fullscreen.spec.whatwg.org. I submitted a bug for WebView hanging on http://browserbench.org/JetStream compliance test. Boyd -----Original Message----- From: BoydEdmondson-NebulaSoftware Sent: January 4, 2016 8:36 AM To: 'Guru Hb' Cc: openjfx-dev at openjdk.java.net Subject: RE: Full Screen Mode in JavaFX WebView I'll give that a try, thanks. The application works fine in all other browsers I've tested. It just fails in WebView. I'll log defects as you suggest. Boyd -----Original Message----- From: Guru Hb [mailto:guru.hb at oracle.com] Sent: January 4, 2016 8:33 AM To: BoydEdmondson-NebulaSoftware Cc: openjfx-dev at openjdk.java.net Subject: RE: Full Screen Mode in JavaFX WebView Please see comments embedded -----Original Message----- From: BoydEdmondson-NebulaSoftware [mailto:BoydEdmondson at nebulasoftware.com] Sent: Monday, January 04, 2016 7:01 PM To: openjfx-dev at openjdk.java.net Subject: Full Screen Mode in JavaFX WebView I have a custom Java application that uses JavaFX WebView to create a web browser (which uses WebKit). I am trying to get the browser full screen mode to work (https://fullscreen.spec.whatwg.org/). How can I get full screen mode to work in WebKit? [WebView is an Embedded component and current it doesn't have full screen context menu (Like what we see in browser). WebView exposes two api setPrefWidth & setPrefHeight, you can try setting it to max allowable view port size based on screen resolution. In addition (But I don't suggest), set the stage or group border to 0. But do NOTE that there won't be scroll bars visible, But you can drag the webpage] I'm also trying to get WebKit's Web Inspector to work in my browser to help me debug this issue. How can I activate Web Inspector in JavaFX WebView? [Sorry, Web Inspector is not enabled in this port (Webkit port of JavaFX), alternatively you could debug the application on Chrome or Safari. If you find a difference in the Rendering, JavaScript or other defect, feel free to log a defect ref https://wiki.openjdk.java.net/display/OpenJFX/Submitting+a+Bug+Report] Thanks for any information. From BoydEdmondson at nebulasoftware.com Tue Jan 5 13:32:55 2016 From: BoydEdmondson at nebulasoftware.com (BoydEdmondson-NebulaSoftware) Date: Tue, 5 Jan 2016 13:32:55 +0000 Subject: Full Screen Mode in JavaFX WebView References: <1da9ff5c1b1045a98811f4754f8d53d7@NebulaSoftware3.NebulaSoftware.com> Message-ID: <64720a1d57c04b779ef79e6f2a7bdd24@NebulaSoftware3.NebulaSoftware.com> http://bugs.java.com, ID's of JI-9028282 and JI-9028283. Boyd -----Original Message----- From: BoydEdmondson-NebulaSoftware Sent: January 5, 2016 5:31 AM To: 'Guru Hb' Cc: 'openjfx-dev at openjdk.java.net' Subject: RE: Full Screen Mode in JavaFX WebView setPrefWidth/Height() do not help. I submitted a request for enhancement to support https://fullscreen.spec.whatwg.org. I submitted a bug for WebView hanging on http://browserbench.org/JetStream compliance test. Boyd -----Original Message----- From: BoydEdmondson-NebulaSoftware Sent: January 4, 2016 8:36 AM To: 'Guru Hb' Cc: openjfx-dev at openjdk.java.net Subject: RE: Full Screen Mode in JavaFX WebView I'll give that a try, thanks. The application works fine in all other browsers I've tested. It just fails in WebView. I'll log defects as you suggest. Boyd -----Original Message----- From: Guru Hb [mailto:guru.hb at oracle.com] Sent: January 4, 2016 8:33 AM To: BoydEdmondson-NebulaSoftware Cc: openjfx-dev at openjdk.java.net Subject: RE: Full Screen Mode in JavaFX WebView Please see comments embedded -----Original Message----- From: BoydEdmondson-NebulaSoftware [mailto:BoydEdmondson at nebulasoftware.com] Sent: Monday, January 04, 2016 7:01 PM To: openjfx-dev at openjdk.java.net Subject: Full Screen Mode in JavaFX WebView I have a custom Java application that uses JavaFX WebView to create a web browser (which uses WebKit). I am trying to get the browser full screen mode to work (https://fullscreen.spec.whatwg.org/). How can I get full screen mode to work in WebKit? [WebView is an Embedded component and current it doesn't have full screen context menu (Like what we see in browser). WebView exposes two api setPrefWidth & setPrefHeight, you can try setting it to max allowable view port size based on screen resolution. In addition (But I don't suggest), set the stage or group border to 0. But do NOTE that there won't be scroll bars visible, But you can drag the webpage] I'm also trying to get WebKit's Web Inspector to work in my browser to help me debug this issue. How can I activate Web Inspector in JavaFX WebView? [Sorry, Web Inspector is not enabled in this port (Webkit port of JavaFX), alternatively you could debug the application on Chrome or Safari. If you find a difference in the Rendering, JavaScript or other defect, feel free to log a defect ref https://wiki.openjdk.java.net/display/OpenJFX/Submitting+a+Bug+Report] Thanks for any information. From tbee at tbee.org Tue Jan 5 13:35:23 2016 From: tbee at tbee.org (Tom Eugelink) Date: Tue, 5 Jan 2016 14:35:23 +0100 Subject: including fonts In-Reply-To: <568AE827.9000602@oracle.com> References: <5688F638.8090108@tbee.org> <568935AF.7010609@tbee.org> <568948DC.9020300@tbee.org> <568A286B.1000503@tbee.org> <568ACB51.6000508@oracle.com> <568AE5E4.20402@oracle.com> <568AE827.9000602@oracle.com> Message-ID: <568BC69B.6000800@tbee.org> It should, but it does not. It seems the whole font management is based on AWT Font and that is missing a lot of CSS features. Tom On 4-1-2016 22:46, Phil Race wrote: > Hi, > > I'm not certain I understand what it is that is missing. > I don't think Font.loadFont would need to accept the CSS parameters > and do the CSS-style lookup. @font-face should populate a CSS table > of names and styles. I expect that is what browsers do. > The CSS lookup code would then consult this internal table of fonts loaded > for the current CSS context and then ask the font system to use the one > that corresponds. If there is no match then it would be assumed it is a > request for a system provided font. > > One thing that might be missing in Font.loadFont() is a way to keep the CSS > loaded fonts partioned. And there's a need for deriving a font with different attributes > as simple as a different size. > > > -phil. > > > On 01/04/2016 01:36 PM, David Grieve wrote: >> The reason CSS ignores everything but src is that there is no public API in Font for providing the additional information. >> >> CSS uses Font.loadFont to load a font from a @font-face src url. See com/sun/javafx/css/StyleManager.java >> >> On 1/4/16 2:43 PM, Phil Race wrote: >>> Hi, >>> >>> I can't speak authoritatively on the CSS implementation because I am not >>> familiar with it but here are some thoughts and observations that might help. >>> >>> Suppose you have : >>> @font-face { >>> font-family: RobotoMedium >>> src: url("robotomedium.ttf" >>> } >>> >>> My reading of the W3C spec. is that the name you specify as font-family >>> is used by CSS as the family name regardless of the *actual* name of the font >>> but I don't think FX can be working like that if it ignores font-family. >>> >>> If CSS is ignoring everything except src that seems like >>> you then need to know for sure yourself what the family + style of the font is >>> and per that bug then use it via fx-font using the actual name+style. >>> This suggests CSS is loading the font into the list of fonts available to be used >>> by creating fonts directly from JavaFX API. >>> This seems to be confirmed by you seeing that Font.getFontNames() >>> reports these. >>> >>> So you'd need to do the following for both font files >>> ie. >>> >>> @font-face { >>> font-family: BlahBlahDoesNotMatterApparently >>> src: url("robotomedium.ttf") >>> } >>> >>> >>> @font-face { >>> font-family: BlahBlahDoesNotMatterEither >>> src: url("robotomediumitalic.ttf") >>> } >>> >>> and reference as : >>> >>> -fx-font: normal normal 12 "Roboto Medium" >>> -fx-font: italic normal 12 "Roboto Medium" >>> >>> If this does not work then I don't know what CSS might be doing in its lookup. >>> The comment about only the last one loaded being available does not add up to me >>> unless CSS is doing some buggy filtering or remembering of its own. >>> Perhaps explicitly specifying "normal" will fix that. >>> >>> -phil. >>> >>> On 01/04/2016 12:08 AM, Tom Eugelink wrote: >>>> No problem, thanks for the suggestion! >>>> >>>> What I expect to be the cause is that the attributes in @font-face, specifying if a font is italic or not, are not supported. And they probably aren't populated based on the TTF metadata either. But before I dive too deep, maybe someone can prevent me from swimming in the wrong direction. >>>> >>>> Tom >>>> >>>> >>>> On 4-1-2016 00:02, cogmission (David Ray) wrote: >>>>> I guess I was assuming the "ideal"/expected behavior applied? Sorry... >>>>> >>>>> On Sun, Jan 3, 2016 at 10:14 AM, Tom Eugelink > wrote: >>>>> >>>>> Hi David, >>>>> >>>>> Which would assume that if I specify no keywords, then it should take the normal version. It does not. Whatever version is loaded last is used. >>>>> >>>>> Tom >>>>> >>>>> >>>>> >>>>> On 3-1-2016 17:09, cogmission (David Ray) wrote: >>>>> >>>>> Hi Tom, >>>>> >>>>> I Believe in CSS, once you establish the family you can access the sub-types via type keywords? >>>>> ...via >>>>> >>>>> -fx-font-weight: bold,bolder etc. >>>>> -fx-font-style: plain, italic >>>>> >>>>> Cheers, >>>>> David >>>>> >>>>> On Sun, Jan 3, 2016 at 8:52 AM, Tom Eugelink >> wrote: >>>>> >>>>> Addendum: >>>>> >>>>> If I list the font families using Font.getFamilies() I get "Roboto Medium" once, given that both TTF files are added using @font-face. But if I examine Font.getFontNames() I get separate entries for "Roboto Medium" and "Roboto Medium Italic". Closer examination of the font loading reveals that indeed each font has its own distinct name and some fonts shared the same family name. That makes sense. >>>>> >>>>> The thing is that in CSS -as far as I can see- fonts can only accessed through its family name, not its own name. >>>>> >>>>> Tom >>>>> >>>>> >>>>> >>>>> On 3-1-2016 11:21, Tom Eugelink wrote: >>>>> >>>>> I'm currently including Google's Roboto font in JFXtras and making it easily available to other users. I noticed that the font-family attribute in font-face is ignored, and you have to use the name as it is specified in the TTF file. I found https://bugs.openjdk.java.net/browse/JDK-8094516 which says "/Please note that all @font?face descriptors are ignored except for the src descriptor./" That pretty much explains what is going on. >>>>> >>>>> Now, Roboto comes in different styles, condensed, bold, etc, but also italic. However, italic is a separate TTF file, so you have a Roboto-Medium.ttf and a Roboto-MediumItalic.ttf. The name of the font inside these two TTF files is the same, so when I use "font-family: 'Roboto Medium'" whatever ever font is defined last by font-face is used, and the other is not accessible. >>>>> >>>>> My question is: is the way Roboto does Italic, with the same font name in the TTF file, a bug of Roboto, or is this common? >>>>> >>>>> Tom >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> -- /With kind regards,/ >>>>> David Ray >>>>> Java Solutions Architect >>>>> *Cortical.io * >>>>> Sponsor of: HTM.java >>>>> d.ray at cortical.io > >>>>> http://cortical.io >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> /With kind regards,/ >>>>> David Ray >>>>> Java Solutions Architect >>>>> *Cortical.io * >>>>> Sponsor of: HTM.java >>>>> d.ray at cortical.io >>>>> http://cortical.io >>>> >>> >> > From kevin.rushforth at oracle.com Tue Jan 5 15:21:46 2016 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Tue, 05 Jan 2016 07:21:46 -0800 Subject: Full Screen Mode in JavaFX WebView In-Reply-To: <64720a1d57c04b779ef79e6f2a7bdd24@NebulaSoftware3.NebulaSoftware.com> References: <1da9ff5c1b1045a98811f4754f8d53d7@NebulaSoftware3.NebulaSoftware.com> <64720a1d57c04b779ef79e6f2a7bdd24@NebulaSoftware3.NebulaSoftware.com> Message-ID: <568BDF8A.5050800@oracle.com> Thank you for filing the RFE. Since WebView is an embedded component in a JavaFX scene graph, I'm not sure how easily we can (or whether we want to) implement browser full screen, but we can take a look at it and see whether it makes sense as a future enhancement. Note that a JavaFX application Stage can become full-screen via Stage.setFullScreen(true). If you set up your scene graph with a StackPane as the root and a WebView node is the only child of the root, then you should be able to accomplish the same thing. -- Kevin BoydEdmondson-NebulaSoftware wrote: > http://bugs.java.com, ID's of JI-9028282 and JI-9028283. > > Boyd > > -----Original Message----- > From: BoydEdmondson-NebulaSoftware > Sent: January 5, 2016 5:31 AM > To: 'Guru Hb' > Cc: 'openjfx-dev at openjdk.java.net' > Subject: RE: Full Screen Mode in JavaFX WebView > > setPrefWidth/Height() do not help. > > I submitted a request for enhancement to support https://fullscreen.spec.whatwg.org. > > I submitted a bug for WebView hanging on http://browserbench.org/JetStream compliance test. > > Boyd > > -----Original Message----- > From: BoydEdmondson-NebulaSoftware > Sent: January 4, 2016 8:36 AM > To: 'Guru Hb' > Cc: openjfx-dev at openjdk.java.net > Subject: RE: Full Screen Mode in JavaFX WebView > > I'll give that a try, thanks. > > The application works fine in all other browsers I've tested. It just fails in WebView. I'll log defects as you suggest. > > Boyd > > -----Original Message----- > From: Guru Hb [mailto:guru.hb at oracle.com] > Sent: January 4, 2016 8:33 AM > To: BoydEdmondson-NebulaSoftware > Cc: openjfx-dev at openjdk.java.net > Subject: RE: Full Screen Mode in JavaFX WebView > > Please see comments embedded > > -----Original Message----- > From: BoydEdmondson-NebulaSoftware [mailto:BoydEdmondson at nebulasoftware.com] > Sent: Monday, January 04, 2016 7:01 PM > To: openjfx-dev at openjdk.java.net > Subject: Full Screen Mode in JavaFX WebView > > I have a custom Java application that uses JavaFX WebView to create a web browser (which uses WebKit). I am trying to get the browser full screen mode to work (https://fullscreen.spec.whatwg.org/). > > > > How can I get full screen mode to work in WebKit? > [WebView is an Embedded component and current it doesn't have full screen context menu (Like what we see in browser). WebView exposes two api setPrefWidth & setPrefHeight, you can try setting it to max allowable view port size based on screen resolution. In addition (But I don't suggest), set the stage or group border to 0. But do NOTE that there won't be scroll bars visible, But you can drag the webpage] > > > I'm also trying to get WebKit's Web Inspector to work in my browser to help me debug this issue. How can I activate Web Inspector in JavaFX WebView? > [Sorry, Web Inspector is not enabled in this port (Webkit port of JavaFX), alternatively you could debug the application on Chrome or Safari. If you find a difference in the Rendering, JavaScript or other defect, feel free to log a defect ref https://wiki.openjdk.java.net/display/OpenJFX/Submitting+a+Bug+Report] > > Thanks for any information. > From mp at jugs.org Tue Jan 5 15:35:08 2016 From: mp at jugs.org (Dr. Michael Paus) Date: Tue, 5 Jan 2016 16:35:08 +0100 Subject: Full Screen Mode in JavaFX WebView In-Reply-To: <568BDF8A.5050800@oracle.com> References: <1da9ff5c1b1045a98811f4754f8d53d7@NebulaSoftware3.NebulaSoftware.com> <64720a1d57c04b779ef79e6f2a7bdd24@NebulaSoftware3.NebulaSoftware.com> <568BDF8A.5050800@oracle.com> Message-ID: <568BE2AC.6060700@jugs.org> If I navigate with my WebView to a page with an embedded video player, like for example youtube, and I then hit the full-screen button of this player how would my application know that the web page would now like to be shown in full-screen mode, so that I can handle that in the way you explained? Am 05.01.16 um 16:21 schrieb Kevin Rushforth: > Thank you for filing the RFE. Since WebView is an embedded component > in a JavaFX scene graph, I'm not sure how easily we can (or whether we > want to) implement browser full screen, but we can take a look at it > and see whether it makes sense as a future enhancement. > > Note that a JavaFX application Stage can become full-screen via > Stage.setFullScreen(true). If you set up your scene graph with a > StackPane as the root and a WebView node is the only child of the > root, then you should be able to accomplish the same thing. > > -- Kevin > > > BoydEdmondson-NebulaSoftware wrote: >> http://bugs.java.com, ID's of JI-9028282 and JI-9028283. >> >> Boyd >> >> -----Original Message----- >> From: BoydEdmondson-NebulaSoftware Sent: January 5, 2016 5:31 AM >> To: 'Guru Hb' >> Cc: 'openjfx-dev at openjdk.java.net' >> Subject: RE: Full Screen Mode in JavaFX WebView >> >> setPrefWidth/Height() do not help. >> >> I submitted a request for enhancement to support >> https://fullscreen.spec.whatwg.org. >> I submitted a bug for WebView hanging on >> http://browserbench.org/JetStream compliance test. >> >> Boyd >> >> -----Original Message----- >> From: BoydEdmondson-NebulaSoftware Sent: January 4, 2016 8:36 AM >> To: 'Guru Hb' >> Cc: openjfx-dev at openjdk.java.net >> Subject: RE: Full Screen Mode in JavaFX WebView >> >> I'll give that a try, thanks. >> >> The application works fine in all other browsers I've tested. It just >> fails in WebView. I'll log defects as you suggest. >> >> Boyd >> >> -----Original Message----- >> From: Guru Hb [mailto:guru.hb at oracle.com] Sent: January 4, 2016 8:33 AM >> To: BoydEdmondson-NebulaSoftware >> Cc: openjfx-dev at openjdk.java.net >> Subject: RE: Full Screen Mode in JavaFX WebView >> >> Please see comments embedded >> -----Original Message----- >> From: BoydEdmondson-NebulaSoftware >> [mailto:BoydEdmondson at nebulasoftware.com] Sent: Monday, January 04, >> 2016 7:01 PM >> To: openjfx-dev at openjdk.java.net >> Subject: Full Screen Mode in JavaFX WebView >> >> I have a custom Java application that uses JavaFX WebView to create a >> web browser (which uses WebKit). I am trying to get the browser full >> screen mode to work (https://fullscreen.spec.whatwg.org/). >> >> >> >> How can I get full screen mode to work in WebKit? >> [WebView is an Embedded component and current it doesn't have full >> screen context menu (Like what we see in browser). WebView exposes >> two api setPrefWidth & setPrefHeight, you can try setting it to max >> allowable view port size based on screen resolution. In addition (But >> I don't suggest), set the stage or group border to 0. But do NOTE >> that there won't be scroll bars visible, But you can drag the webpage] >> >> >> I'm also trying to get WebKit's Web Inspector to work in my browser >> to help me debug this issue. How can I activate Web Inspector in >> JavaFX WebView? >> [Sorry, Web Inspector is not enabled in this port (Webkit port of >> JavaFX), alternatively you could debug the application on Chrome or >> Safari. If you find a difference in the Rendering, JavaScript or >> other defect, feel free to log a defect ref >> https://wiki.openjdk.java.net/display/OpenJFX/Submitting+a+Bug+Report] >> Thanks for any information. From David.Hill at Oracle.com Tue Jan 5 15:58:42 2016 From: David.Hill at Oracle.com (David Hill) Date: Tue, 05 Jan 2016 10:58:42 -0500 Subject: Result: New OpenJFX Committer: Johan Vos Message-ID: <568BE832.3040408@Oracle.com> Voting for Johan Vos to OpenJFX Committer [1] is now closed. Yes: 11 Veto: 0 Abstain: 0 According to the Bylaws definition of Lazy Consensus, this is sufficient to approve the nomination. Dave [1] http://mail.openjdk.java.net/pipermail/openjfx-dev/2014-May/013881.html -- David Hill Java Embedded Development "The most likely way for the world to be destroyed, most experts agree, is by accident. That's where we come in; we're computer professionals. We cause accidents." -- Nathaniel Borenstein (1957 - ) From BoydEdmondson at nebulasoftware.com Tue Jan 5 15:59:38 2016 From: BoydEdmondson at nebulasoftware.com (BoydEdmondson-NebulaSoftware) Date: Tue, 5 Jan 2016 15:59:38 +0000 Subject: Full Screen Mode in JavaFX WebView In-Reply-To: <568BE2AC.6060700@jugs.org> References: <1da9ff5c1b1045a98811f4754f8d53d7@NebulaSoftware3.NebulaSoftware.com> <64720a1d57c04b779ef79e6f2a7bdd24@NebulaSoftware3.NebulaSoftware.com> <568BDF8A.5050800@oracle.com> <568BE2AC.6060700@jugs.org> Message-ID: <48eae408b5534b108464ba758e7c22c7@NebulaSoftware3.NebulaSoftware.com> My theory is that one's Java code could override the JavaScript callbacks (defined at https://fullscreen.spec.whatwg.org, such as "element.requestFullscreen()" and "document.exitFullscreen()") and make the Stage go full screen and possibly do JavaScript on the element to style it with "width=100%;height=100%;". So, if WebKit took the requestFullscreen() call, then Java could override it with application explicit customized support, and then WebView would have "implemented" full screen mode (by allowing Java applications to get the necessary notification hooks). Boyd -----Original Message----- From: openjfx-dev [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Dr. Michael Paus Sent: January 5, 2016 7:35 AM To: openjfx-dev at openjdk.java.net Subject: Re: Full Screen Mode in JavaFX WebView If I navigate with my WebView to a page with an embedded video player, like for example youtube, and I then hit the full-screen button of this player how would my application know that the web page would now like to be shown in full-screen mode, so that I can handle that in the way you explained? Am 05.01.16 um 16:21 schrieb Kevin Rushforth: > Thank you for filing the RFE. Since WebView is an embedded component > in a JavaFX scene graph, I'm not sure how easily we can (or whether we > want to) implement browser full screen, but we can take a look at it > and see whether it makes sense as a future enhancement. > > Note that a JavaFX application Stage can become full-screen via > Stage.setFullScreen(true). If you set up your scene graph with a > StackPane as the root and a WebView node is the only child of the > root, then you should be able to accomplish the same thing. > > -- Kevin > > > BoydEdmondson-NebulaSoftware wrote: >> http://bugs.java.com, ID's of JI-9028282 and JI-9028283. >> >> Boyd >> >> -----Original Message----- >> From: BoydEdmondson-NebulaSoftware Sent: January 5, 2016 5:31 AM >> To: 'Guru Hb' >> Cc: 'openjfx-dev at openjdk.java.net' >> Subject: RE: Full Screen Mode in JavaFX WebView >> >> setPrefWidth/Height() do not help. >> >> I submitted a request for enhancement to support >> https://fullscreen.spec.whatwg.org. >> I submitted a bug for WebView hanging on >> http://browserbench.org/JetStream compliance test. >> >> Boyd >> >> -----Original Message----- >> From: BoydEdmondson-NebulaSoftware Sent: January 4, 2016 8:36 AM >> To: 'Guru Hb' >> Cc: openjfx-dev at openjdk.java.net >> Subject: RE: Full Screen Mode in JavaFX WebView >> >> I'll give that a try, thanks. >> >> The application works fine in all other browsers I've tested. It just >> fails in WebView. I'll log defects as you suggest. >> >> Boyd >> >> -----Original Message----- >> From: Guru Hb [mailto:guru.hb at oracle.com] Sent: January 4, 2016 8:33 AM >> To: BoydEdmondson-NebulaSoftware >> Cc: openjfx-dev at openjdk.java.net >> Subject: RE: Full Screen Mode in JavaFX WebView >> >> Please see comments embedded >> -----Original Message----- >> From: BoydEdmondson-NebulaSoftware >> [mailto:BoydEdmondson at nebulasoftware.com] Sent: Monday, January 04, >> 2016 7:01 PM >> To: openjfx-dev at openjdk.java.net >> Subject: Full Screen Mode in JavaFX WebView >> >> I have a custom Java application that uses JavaFX WebView to create a >> web browser (which uses WebKit). I am trying to get the browser full >> screen mode to work (https://fullscreen.spec.whatwg.org/). >> >> >> >> How can I get full screen mode to work in WebKit? >> [WebView is an Embedded component and current it doesn't have full >> screen context menu (Like what we see in browser). WebView exposes >> two api setPrefWidth & setPrefHeight, you can try setting it to max >> allowable view port size based on screen resolution. In addition (But >> I don't suggest), set the stage or group border to 0. But do NOTE >> that there won't be scroll bars visible, But you can drag the webpage] >> >> >> I'm also trying to get WebKit's Web Inspector to work in my browser >> to help me debug this issue. How can I activate Web Inspector in >> JavaFX WebView? >> [Sorry, Web Inspector is not enabled in this port (Webkit port of >> JavaFX), alternatively you could debug the application on Chrome or >> Safari. If you find a difference in the Rendering, JavaScript or >> other defect, feel free to log a defect ref >> https://wiki.openjdk.java.net/display/OpenJFX/Submitting+a+Bug+Report] >> Thanks for any information. From philip.race at oracle.com Tue Jan 5 16:11:01 2016 From: philip.race at oracle.com (Philip Race) Date: Tue, 05 Jan 2016 08:11:01 -0800 Subject: including fonts In-Reply-To: <568BC69B.6000800@tbee.org> References: <5688F638.8090108@tbee.org> <568935AF.7010609@tbee.org> <568948DC.9020300@tbee.org> <568A286B.1000503@tbee.org> <568ACB51.6000508@oracle.com> <568AE5E4.20402@oracle.com> <568AE827.9000602@oracle.com> <568BC69B.6000800@tbee.org> Message-ID: <568BEB15.3080800@oracle.com> Hi, That was a bit too vague for me to know what you mean. Also there is no relationship with "AWT" (actually "Java 2D") fonts. The Java FX API and implementation is completely independent of anything in the core Java SE platform. One point that might not have been clear enough is that you shouldn't expect (for example) DirectWrite or CoreText to understand the semantics of CSS and directly support accepting CSS style parameters and managing CSS contexts. All of that needs to belong to an "application layer" which is what the brower really is, and sits on top of those platform APIs. And in this case the equivalent is the FX CSS implementation which sits on top of the FX font API. -phil. On 1/5/16, 5:35 AM, Tom Eugelink wrote: > It should, but it does not. It seems the whole font management is > based on AWT Font and that is missing a lot of CSS features. > > Tom > > On 4-1-2016 22:46, Phil Race wrote: >> Hi, >> >> I'm not certain I understand what it is that is missing. >> I don't think Font.loadFont would need to accept the CSS parameters >> and do the CSS-style lookup. @font-face should populate a CSS table >> of names and styles. I expect that is what browsers do. >> The CSS lookup code would then consult this internal table of fonts >> loaded >> for the current CSS context and then ask the font system to use the one >> that corresponds. If there is no match then it would be assumed it is a >> request for a system provided font. >> >> One thing that might be missing in Font.loadFont() is a way to keep >> the CSS >> loaded fonts partioned. And there's a need for deriving a font with >> different attributes >> as simple as a different size. >> >> >> -phil. >> >> >> On 01/04/2016 01:36 PM, David Grieve wrote: >>> The reason CSS ignores everything but src is that there is no public >>> API in Font for providing the additional information. >>> >>> CSS uses Font.loadFont to load a font from a @font-face src url. See >>> com/sun/javafx/css/StyleManager.java >>> >>> On 1/4/16 2:43 PM, Phil Race wrote: >>>> Hi, >>>> >>>> I can't speak authoritatively on the CSS implementation because I >>>> am not >>>> familiar with it but here are some thoughts and observations that >>>> might help. >>>> >>>> Suppose you have : >>>> @font-face { >>>> font-family: RobotoMedium >>>> src: url("robotomedium.ttf" >>>> } >>>> >>>> My reading of the W3C spec. is that the name you specify as >>>> font-family >>>> is used by CSS as the family name regardless of the *actual* name >>>> of the font >>>> but I don't think FX can be working like that if it ignores >>>> font-family. >>>> >>>> If CSS is ignoring everything except src that seems like >>>> you then need to know for sure yourself what the family + style of >>>> the font is >>>> and per that bug then use it via fx-font using the actual name+style. >>>> This suggests CSS is loading the font into the list of fonts >>>> available to be used >>>> by creating fonts directly from JavaFX API. >>>> This seems to be confirmed by you seeing that Font.getFontNames() >>>> reports these. >>>> >>>> So you'd need to do the following for both font files >>>> ie. >>>> >>>> @font-face { >>>> font-family: BlahBlahDoesNotMatterApparently >>>> src: url("robotomedium.ttf") >>>> } >>>> >>>> >>>> @font-face { >>>> font-family: BlahBlahDoesNotMatterEither >>>> src: url("robotomediumitalic.ttf") >>>> } >>>> >>>> and reference as : >>>> >>>> -fx-font: normal normal 12 "Roboto Medium" >>>> -fx-font: italic normal 12 "Roboto Medium" >>>> >>>> If this does not work then I don't know what CSS might be doing in >>>> its lookup. >>>> The comment about only the last one loaded being available does not >>>> add up to me >>>> unless CSS is doing some buggy filtering or remembering of its own. >>>> Perhaps explicitly specifying "normal" will fix that. >>>> >>>> -phil. >>>> >>>> On 01/04/2016 12:08 AM, Tom Eugelink wrote: >>>>> No problem, thanks for the suggestion! >>>>> >>>>> What I expect to be the cause is that the attributes in >>>>> @font-face, specifying if a font is italic or not, are not >>>>> supported. And they probably aren't populated based on the TTF >>>>> metadata either. But before I dive too deep, maybe someone can >>>>> prevent me from swimming in the wrong direction. >>>>> >>>>> Tom >>>>> >>>>> >>>>> On 4-1-2016 00:02, cogmission (David Ray) wrote: >>>>>> I guess I was assuming the "ideal"/expected behavior applied? >>>>>> Sorry... >>>>>> >>>>>> On Sun, Jan 3, 2016 at 10:14 AM, Tom Eugelink >>>>> > wrote: >>>>>> >>>>>> Hi David, >>>>>> >>>>>> Which would assume that if I specify no keywords, then it >>>>>> should take the normal version. It does not. Whatever version is >>>>>> loaded last is used. >>>>>> >>>>>> Tom >>>>>> >>>>>> >>>>>> >>>>>> On 3-1-2016 17:09, cogmission (David Ray) wrote: >>>>>> >>>>>> Hi Tom, >>>>>> >>>>>> I Believe in CSS, once you establish the family you can >>>>>> access the sub-types via type keywords? >>>>>> ...via >>>>>> >>>>>> -fx-font-weight: bold,bolder etc. >>>>>> -fx-font-style: plain, italic >>>>>> >>>>>> Cheers, >>>>>> David >>>>>> >>>>>> On Sun, Jan 3, 2016 at 8:52 AM, Tom Eugelink >>>>>> >>>>> >> wrote: >>>>>> >>>>>> Addendum: >>>>>> >>>>>> If I list the font families using Font.getFamilies() >>>>>> I get "Roboto Medium" once, given that both TTF files are added >>>>>> using @font-face. But if I examine Font.getFontNames() I get >>>>>> separate entries for "Roboto Medium" and "Roboto Medium Italic". >>>>>> Closer examination of the font loading reveals that indeed each >>>>>> font has its own distinct name and some fonts shared the same >>>>>> family name. That makes sense. >>>>>> >>>>>> The thing is that in CSS -as far as I can see- fonts >>>>>> can only accessed through its family name, not its own name. >>>>>> >>>>>> Tom >>>>>> >>>>>> >>>>>> >>>>>> On 3-1-2016 11:21, Tom Eugelink wrote: >>>>>> >>>>>> I'm currently including Google's Roboto font in >>>>>> JFXtras and making it easily available to other users. I noticed >>>>>> that the font-family attribute in font-face is ignored, and you >>>>>> have to use the name as it is specified in the TTF file. I found >>>>>> https://bugs.openjdk.java.net/browse/JDK-8094516 which says >>>>>> "/Please note that all @font?face descriptors are ignored except >>>>>> for the src descriptor./" That pretty much explains what is going >>>>>> on. >>>>>> >>>>>> Now, Roboto comes in different styles, condensed, >>>>>> bold, etc, but also italic. However, italic is a separate TTF >>>>>> file, so you have a Roboto-Medium.ttf and a >>>>>> Roboto-MediumItalic.ttf. The name of the font inside these two >>>>>> TTF files is the same, so when I use "font-family: 'Roboto >>>>>> Medium'" whatever ever font is defined last by font-face is used, >>>>>> and the other is not accessible. >>>>>> >>>>>> My question is: is the way Roboto does Italic, >>>>>> with the same font name in the TTF file, a bug of Roboto, or is >>>>>> this common? >>>>>> >>>>>> Tom >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- /With kind regards,/ >>>>>> David Ray >>>>>> Java Solutions Architect >>>>>> *Cortical.io * >>>>>> Sponsor of: HTM.java >>>>>> d.ray at cortical.io >>>>>> > >>>>>> http://cortical.io >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> /With kind regards,/ >>>>>> David Ray >>>>>> Java Solutions Architect >>>>>> *Cortical.io * >>>>>> Sponsor of: HTM.java >>>>>> d.ray at cortical.io >>>>>> http://cortical.io >>>>> >>>> >>> >> > From kevin.rushforth at oracle.com Tue Jan 5 16:42:19 2016 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Tue, 05 Jan 2016 08:42:19 -0800 Subject: Full Screen Mode in JavaFX WebView In-Reply-To: <48eae408b5534b108464ba758e7c22c7@NebulaSoftware3.NebulaSoftware.com> References: <1da9ff5c1b1045a98811f4754f8d53d7@NebulaSoftware3.NebulaSoftware.com> <64720a1d57c04b779ef79e6f2a7bdd24@NebulaSoftware3.NebulaSoftware.com> <568BDF8A.5050800@oracle.com> <568BE2AC.6060700@jugs.org> <48eae408b5534b108464ba758e7c22c7@NebulaSoftware3.NebulaSoftware.com> Message-ID: <568BF26B.9050800@oracle.com> That might work, if implementing it directly turns out to be too much effort or is not a good fit. -- Kevin BoydEdmondson-NebulaSoftware wrote: > My theory is that one's Java code could override the JavaScript callbacks (defined at https://fullscreen.spec.whatwg.org, such as "element.requestFullscreen()" and "document.exitFullscreen()") and make the Stage go full screen and possibly do JavaScript on the element to style it with "width=100%;height=100%;". > > So, if WebKit took the requestFullscreen() call, then Java could override it with application explicit customized support, and then WebView would have "implemented" full screen mode (by allowing Java applications to get the necessary notification hooks). > > Boyd > > -----Original Message----- > From: openjfx-dev [mailto:openjfx-dev-bounces at openjdk.java.net] On Behalf Of Dr. Michael Paus > Sent: January 5, 2016 7:35 AM > To: openjfx-dev at openjdk.java.net > Subject: Re: Full Screen Mode in JavaFX WebView > > If I navigate with my WebView to a page with an embedded video player, > like for example youtube, > and I then hit the full-screen button of this player how would my > application know that the web page > would now like to be shown in full-screen mode, so that I can handle > that in the way you explained? > > Am 05.01.16 um 16:21 schrieb Kevin Rushforth: > >> Thank you for filing the RFE. Since WebView is an embedded component >> in a JavaFX scene graph, I'm not sure how easily we can (or whether we >> want to) implement browser full screen, but we can take a look at it >> and see whether it makes sense as a future enhancement. >> >> Note that a JavaFX application Stage can become full-screen via >> Stage.setFullScreen(true). If you set up your scene graph with a >> StackPane as the root and a WebView node is the only child of the >> root, then you should be able to accomplish the same thing. >> >> -- Kevin >> >> >> BoydEdmondson-NebulaSoftware wrote: >> >>> http://bugs.java.com, ID's of JI-9028282 and JI-9028283. >>> >>> Boyd >>> >>> -----Original Message----- >>> From: BoydEdmondson-NebulaSoftware Sent: January 5, 2016 5:31 AM >>> To: 'Guru Hb' >>> Cc: 'openjfx-dev at openjdk.java.net' >>> Subject: RE: Full Screen Mode in JavaFX WebView >>> >>> setPrefWidth/Height() do not help. >>> >>> I submitted a request for enhancement to support >>> https://fullscreen.spec.whatwg.org. >>> I submitted a bug for WebView hanging on >>> http://browserbench.org/JetStream compliance test. >>> >>> Boyd >>> >>> -----Original Message----- >>> From: BoydEdmondson-NebulaSoftware Sent: January 4, 2016 8:36 AM >>> To: 'Guru Hb' >>> Cc: openjfx-dev at openjdk.java.net >>> Subject: RE: Full Screen Mode in JavaFX WebView >>> >>> I'll give that a try, thanks. >>> >>> The application works fine in all other browsers I've tested. It just >>> fails in WebView. I'll log defects as you suggest. >>> >>> Boyd >>> >>> -----Original Message----- >>> From: Guru Hb [mailto:guru.hb at oracle.com] Sent: January 4, 2016 8:33 AM >>> To: BoydEdmondson-NebulaSoftware >>> Cc: openjfx-dev at openjdk.java.net >>> Subject: RE: Full Screen Mode in JavaFX WebView >>> >>> Please see comments embedded >>> -----Original Message----- >>> From: BoydEdmondson-NebulaSoftware >>> [mailto:BoydEdmondson at nebulasoftware.com] Sent: Monday, January 04, >>> 2016 7:01 PM >>> To: openjfx-dev at openjdk.java.net >>> Subject: Full Screen Mode in JavaFX WebView >>> >>> I have a custom Java application that uses JavaFX WebView to create a >>> web browser (which uses WebKit). I am trying to get the browser full >>> screen mode to work (https://fullscreen.spec.whatwg.org/). >>> >>> >>> >>> How can I get full screen mode to work in WebKit? >>> [WebView is an Embedded component and current it doesn't have full >>> screen context menu (Like what we see in browser). WebView exposes >>> two api setPrefWidth & setPrefHeight, you can try setting it to max >>> allowable view port size based on screen resolution. In addition (But >>> I don't suggest), set the stage or group border to 0. But do NOTE >>> that there won't be scroll bars visible, But you can drag the webpage] >>> >>> >>> I'm also trying to get WebKit's Web Inspector to work in my browser >>> to help me debug this issue. How can I activate Web Inspector in >>> JavaFX WebView? >>> [Sorry, Web Inspector is not enabled in this port (Webkit port of >>> JavaFX), alternatively you could debug the application on Chrome or >>> Safari. If you find a difference in the Rendering, JavaScript or >>> other defect, feel free to log a defect ref >>> https://wiki.openjdk.java.net/display/OpenJFX/Submitting+a+Bug+Report] >>> Thanks for any information. >>> > > From tbee at tbee.org Tue Jan 5 17:44:12 2016 From: tbee at tbee.org (Tom Eugelink) Date: Tue, 5 Jan 2016 18:44:12 +0100 Subject: including fonts In-Reply-To: <568BEB15.3080800@oracle.com> References: <5688F638.8090108@tbee.org> <568935AF.7010609@tbee.org> <568948DC.9020300@tbee.org> <568A286B.1000503@tbee.org> <568ACB51.6000508@oracle.com> <568AE5E4.20402@oracle.com> <568AE827.9000602@oracle.com> <568BC69B.6000800@tbee.org> <568BEB15.3080800@oracle.com> Message-ID: <568C00EC.90505@tbee.org> You are right, the PrismFontLoader is used to load the font. I was mistaken because of the use of the Toolkit class. Interestingly, in PrismFontFactory a text is appended to the family if the font is italic or bold (e.g. Roboto italic.italic). So the information is recorded. I need to dig deeper to find out where this is going wrong. Tom On 5-1-2016 17:11, Philip Race wrote: > Hi, > That was a bit too vague for me to know what you mean. > > Also there is no relationship with "AWT" (actually "Java 2D") fonts. > The Java FX API and implementation is completely independent of > anything in the core Java SE platform. > > One point that might not have been clear enough is that you > shouldn't expect (for example) DirectWrite or CoreText to > understand the semantics of CSS and directly support accepting > CSS style parameters and managing CSS contexts. All of that > needs to belong to an "application layer" which is what the brower really is, > and sits on top of those platform APIs. > And in this case the equivalent is the FX CSS implementation which sits > on top of the FX font API. > > -phil. > > On 1/5/16, 5:35 AM, Tom Eugelink wrote: >> It should, but it does not. It seems the whole font management is based on AWT Font and that is missing a lot of CSS features. >> >> Tom >> >> On 4-1-2016 22:46, Phil Race wrote: >>> Hi, >>> >>> I'm not certain I understand what it is that is missing. >>> I don't think Font.loadFont would need to accept the CSS parameters >>> and do the CSS-style lookup. @font-face should populate a CSS table >>> of names and styles. I expect that is what browsers do. >>> The CSS lookup code would then consult this internal table of fonts loaded >>> for the current CSS context and then ask the font system to use the one >>> that corresponds. If there is no match then it would be assumed it is a >>> request for a system provided font. >>> >>> One thing that might be missing in Font.loadFont() is a way to keep the CSS >>> loaded fonts partioned. And there's a need for deriving a font with different attributes >>> as simple as a different size. >>> >>> >>> -phil. >>> >>> >>> On 01/04/2016 01:36 PM, David Grieve wrote: >>>> The reason CSS ignores everything but src is that there is no public API in Font for providing the additional information. >>>> >>>> CSS uses Font.loadFont to load a font from a @font-face src url. See com/sun/javafx/css/StyleManager.java >>>> >>>> On 1/4/16 2:43 PM, Phil Race wrote: >>>>> Hi, >>>>> >>>>> I can't speak authoritatively on the CSS implementation because I am not >>>>> familiar with it but here are some thoughts and observations that might help. >>>>> >>>>> Suppose you have : >>>>> @font-face { >>>>> font-family: RobotoMedium >>>>> src: url("robotomedium.ttf" >>>>> } >>>>> >>>>> My reading of the W3C spec. is that the name you specify as font-family >>>>> is used by CSS as the family name regardless of the *actual* name of the font >>>>> but I don't think FX can be working like that if it ignores font-family. >>>>> >>>>> If CSS is ignoring everything except src that seems like >>>>> you then need to know for sure yourself what the family + style of the font is >>>>> and per that bug then use it via fx-font using the actual name+style. >>>>> This suggests CSS is loading the font into the list of fonts available to be used >>>>> by creating fonts directly from JavaFX API. >>>>> This seems to be confirmed by you seeing that Font.getFontNames() >>>>> reports these. >>>>> >>>>> So you'd need to do the following for both font files >>>>> ie. >>>>> >>>>> @font-face { >>>>> font-family: BlahBlahDoesNotMatterApparently >>>>> src: url("robotomedium.ttf") >>>>> } >>>>> >>>>> >>>>> @font-face { >>>>> font-family: BlahBlahDoesNotMatterEither >>>>> src: url("robotomediumitalic.ttf") >>>>> } >>>>> >>>>> and reference as : >>>>> >>>>> -fx-font: normal normal 12 "Roboto Medium" >>>>> -fx-font: italic normal 12 "Roboto Medium" >>>>> >>>>> If this does not work then I don't know what CSS might be doing in its lookup. >>>>> The comment about only the last one loaded being available does not add up to me >>>>> unless CSS is doing some buggy filtering or remembering of its own. >>>>> Perhaps explicitly specifying "normal" will fix that. >>>>> >>>>> -phil. >>>>> >>>>> On 01/04/2016 12:08 AM, Tom Eugelink wrote: >>>>>> No problem, thanks for the suggestion! >>>>>> >>>>>> What I expect to be the cause is that the attributes in @font-face, specifying if a font is italic or not, are not supported. And they probably aren't populated based on the TTF metadata either. But before I dive too deep, maybe someone can prevent me from swimming in the wrong direction. >>>>>> >>>>>> Tom >>>>>> >>>>>> >>>>>> On 4-1-2016 00:02, cogmission (David Ray) wrote: >>>>>>> I guess I was assuming the "ideal"/expected behavior applied? Sorry... >>>>>>> >>>>>>> On Sun, Jan 3, 2016 at 10:14 AM, Tom Eugelink > wrote: >>>>>>> >>>>>>> Hi David, >>>>>>> >>>>>>> Which would assume that if I specify no keywords, then it should take the normal version. It does not. Whatever version is loaded last is used. >>>>>>> >>>>>>> Tom >>>>>>> >>>>>>> >>>>>>> >>>>>>> On 3-1-2016 17:09, cogmission (David Ray) wrote: >>>>>>> >>>>>>> Hi Tom, >>>>>>> >>>>>>> I Believe in CSS, once you establish the family you can access the sub-types via type keywords? >>>>>>> ...via >>>>>>> >>>>>>> -fx-font-weight: bold,bolder etc. >>>>>>> -fx-font-style: plain, italic >>>>>>> >>>>>>> Cheers, >>>>>>> David >>>>>>> >>>>>>> On Sun, Jan 3, 2016 at 8:52 AM, Tom Eugelink >> wrote: >>>>>>> >>>>>>> Addendum: >>>>>>> >>>>>>> If I list the font families using Font.getFamilies() I get "Roboto Medium" once, given that both TTF files are added using @font-face. But if I examine Font.getFontNames() I get separate entries for "Roboto Medium" and "Roboto Medium Italic". Closer examination of the font loading reveals that indeed each font has its own distinct name and some fonts shared the same family name. That makes sense. >>>>>>> >>>>>>> The thing is that in CSS -as far as I can see- fonts can only accessed through its family name, not its own name. >>>>>>> >>>>>>> Tom >>>>>>> >>>>>>> >>>>>>> >>>>>>> On 3-1-2016 11:21, Tom Eugelink wrote: >>>>>>> >>>>>>> I'm currently including Google's Roboto font in JFXtras and making it easily available to other users. I noticed that the font-family attribute in font-face is ignored, and you have to use the name as it is specified in the TTF file. I found https://bugs.openjdk.java.net/browse/JDK-8094516 which says "/Please note that all @font?face descriptors are ignored except for the src descriptor./" That pretty much explains what is going on. >>>>>>> >>>>>>> Now, Roboto comes in different styles, condensed, bold, etc, but also italic. However, italic is a separate TTF file, so you have a Roboto-Medium.ttf and a Roboto-MediumItalic.ttf. The name of the font inside these two TTF files is the same, so when I use "font-family: 'Roboto Medium'" whatever ever font is defined last by font-face is used, and the other is not accessible. >>>>>>> >>>>>>> My question is: is the way Roboto does Italic, with the same font name in the TTF file, a bug of Roboto, or is this common? >>>>>>> >>>>>>> Tom >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- /With kind regards,/ >>>>>>> David Ray >>>>>>> Java Solutions Architect >>>>>>> *Cortical.io * >>>>>>> Sponsor of: HTM.java >>>>>>> d.ray at cortical.io > >>>>>>> http://cortical.io >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> /With kind regards,/ >>>>>>> David Ray >>>>>>> Java Solutions Architect >>>>>>> *Cortical.io * >>>>>>> Sponsor of: HTM.java >>>>>>> d.ray at cortical.io >>>>>>> http://cortical.io >>>>>> >>>>> >>>> >>> >> From kevin.rushforth at oracle.com Wed Jan 6 00:08:28 2016 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Tue, 05 Jan 2016 16:08:28 -0800 Subject: [9] Review request: 8145604: Change minimum version of OS X SDK to 10.9 Message-ID: <568C5AFC.8010408@oracle.com> Please review the following change to the OS X build files to require a minimum version of SDK 10.9. https://bugs.openjdk.java.net/browse/JDK-8145604 http://cr.openjdk.java.net/~kcr/8145604/webrev.01/ The bulk of the changes are in media, so anyone who wishes to test this should do: gradle -PCOMPILE_MEDIA=true clean sdk Thanks to Dave D for the media Makefile changes. -- Kevin From murali.billa at oracle.com Wed Jan 6 07:33:58 2016 From: murali.billa at oracle.com (Murali Billa) Date: Tue, 5 Jan 2016 23:33:58 -0800 (PST) Subject: [9] review request: JDK-8146512 Table Borders are not drawn properly Message-ID: Hi Kevin, Alexander, Guru, Please review the fix for below issue : JIRA: https://bugs.openjdk.java.net/browse/JDK-8146512 Webrev: http://cr.openjdk.java.net/~arajkumar/murali/8146512/webrev.00/ Root Cause: Table Borders are not drawn properly in web sites like wikipedia. There is a regression with r153510 (http://trac.webkit.org/changeset/153510) and r154622 (http://trac.webkit.org/changeset/154622) from 8u60, which involves drawing dotted line and painting collapsed border. The commits r153510 and r154622 caused regressions in websites like wikipedia where table borders are not drawn properly. Fix: Applying webkit patch http://trac.webkit.org/changeset/169814 and Verified the fix for above mentioned website. Also below DRT cases ran and passed. fast/table/border-collapsing/collapsed-borders-adjoining-sections-vertical-rl.html fast/table/border-collapsing/collapsed-borders-painted-once-on-inner-cells.html fast/table/border-collapsing/dotted-collapsed-border.html Thanks, Murali From David.Hill at Oracle.com Wed Jan 6 21:37:33 2016 From: David.Hill at Oracle.com (David Hill) Date: Wed, 06 Jan 2016 16:37:33 -0500 Subject: Jake review: Pass java.library.path through gradle junit worker workaround Message-ID: <568D891D.6000209@Oracle.com> bug: https://bugs.openjdk.java.net/browse/JDK-8146565 webrev: http://cr.openjdk.java.net/~ddhill/8146565 -- David Hill Java Embedded Development "A man's feet should be planted in his country, but his eyes should survey the world." -- George Santayana (1863 - 1952) From kevin.rushforth at oracle.com Wed Jan 6 22:39:39 2016 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Wed, 06 Jan 2016 14:39:39 -0800 Subject: [9] review request: JDK-8146512 Table Borders are not drawn properly In-Reply-To: References: Message-ID: <568D97AB.7010708@oracle.com> As a reminder: please put the details of the bug evaluation and description of the fix in the JIRA issue (not in e-mail, although a short summary of the fix is fine for e-mail). Thanks. -- Kevin Murali Billa wrote: > > > > Hi Kevin, Alexander, Guru, > > > > Please review the fix for below issue : > > > > JIRA: https://bugs.openjdk.java.net/browse/JDK-8146512 > > > > Webrev: > http://cr.openjdk.java.net/~arajkumar/murali/8146512/webrev.00/ > > > > > > > *Root Cause*: Table Borders are not drawn properly in web sites like wikipedia. > There is a regression with r153510 (http://trac.webkit.org/changeset/153510) and r154622 (http://trac.webkit.org/changeset/154622) from 8u60, which involves drawing dotted line and painting collapsed border. The commits r153510 and r154622 caused regressions in websites like wikipedia where table borders are not drawn properly. > > > *Fix*: Applying webkit patch http://trac.webkit.org/changeset/169814 and Verified the fix for above mentioned website. > > > Also below DRT cases ran and passed. > > > fast/table/border-collapsing/collapsed-borders-adjoining-sections-vertical-rl.html > > > fast/table/border-collapsing/collapsed-borders-painted-once-on-inner-cells.html > > fast/table/border-collapsing/dotted-collapsed-border.html > > > > Thanks, > > Murali > > > > > From guru.hb at oracle.com Thu Jan 7 09:28:32 2016 From: guru.hb at oracle.com (Guru Hb) Date: Thu, 7 Jan 2016 01:28:32 -0800 (PST) Subject: [9] Review request for 8146177 : SVG "Copy Image to Clipboard" action causes JVM Crash in WebView In-Reply-To: <2efd6ecd-2204-4d66-8ecc-0bb2977f1a09@default> References: <2efd6ecd-2204-4d66-8ecc-0bb2977f1a09@default> Message-ID: Hi Arun, Alexander & Kevin, JBS : https://bugs.openjdk.java.net/browse/JDK-8146177 Webrev : http://cr.openjdk.java.net/~ghb/8146177/webrev.00/ RC and Solution updated in JIRA, fix tested on Windows, Ubuntu & OS X. Thanks, Guru From David.Hill at Oracle.com Thu Jan 7 22:09:37 2016 From: David.Hill at Oracle.com (David Hill) Date: Thu, 07 Jan 2016 17:09:37 -0500 Subject: jake review: Enable web module tests in jake Message-ID: <568EE221.6040802@Oracle.com> https://bugs.openjdk.java.net/browse/JDK-8146107 http://cr.openjdk.java.net/~ddhill/88146107/ Tests pass for me except for the one described in JDK-8146641 -- David Hill Java Embedded Development "A man's feet should be planted in his country, but his eyes should survey the world." -- George Santayana (1863 - 1952) From a.ankit.srivastava at oracle.com Fri Jan 8 11:44:20 2016 From: a.ankit.srivastava at oracle.com (Ankit Srivastava) Date: Fri, 8 Jan 2016 03:44:20 -0800 (PST) Subject: Review Request defect 8089427 Message-ID: <038b5161-d5b2-463e-acd5-df89a88c7832@default> Hi Kevin, Alexander, Guru, Please review the patch http://cr.openjdk.java.net/~arajkumar/ankit/8089427/webrev.00/ For issue : JIRA: https://bugs.openjdk.java.net/browse/JDK-8089427 DRT test media/W3C/audio/canPlayType/canPlayType_supported_but_no_codecs_parameter_2.html fails Comments updated in JIRA Regards, Ankit From David.Hill at Oracle.com Fri Jan 8 15:57:22 2016 From: David.Hill at Oracle.com (David Hill) Date: Fri, 08 Jan 2016 10:57:22 -0500 Subject: jake review: Correct Jake test configuration for cross builds Message-ID: <568FDC62.7090105@Oracle.com> Kevin: https://bugs.openjdk.java.net/browse/JDK-8146692 http://cr.openjdk.java.net/~ddhill/8146692/ Sorry, bigger change due to the change in indent. -- David Hill Java Embedded Development "A man's feet should be planted in his country, but his eyes should survey the world." -- George Santayana (1863 - 1952) From a.ankit.srivastava at oracle.com Sun Jan 10 03:17:34 2016 From: a.ankit.srivastava at oracle.com (Ankit Srivastava) Date: Sat, 9 Jan 2016 19:17:34 -0800 (PST) Subject: Review request for JIRA# 8090160 8090252 8089111 Message-ID: <43097951-25c8-4c86-8870-c539af9d8b0c@default> Hi Arun, Kevin, Alexander, Please review the fix for below JIRA defects : JIRA: https://bugs.openjdk.java.net/browse/JDK-8090160?filter=-1 JIRA: https://bugs.openjdk.java.net/browse/JDK-8090252?filter=-1 JIRA: https://bugs.openjdk.java.net/browse/JDK-8089111?filter=-1 Webrev: http://cr.openjdk.java.net/~arajkumar/ankit/8090160/webrev.01/ Above mentioned JIRA defect consist of media related below mentioned DRT Webrev is for below DRT test cases : LayoutTests/media/video-fast-seek.html LayoutTests/media/video-canvas-drawing-output.html LayoutTests/media/video-seek-multiple.html Regards, Ankit From peter.penzov at gmail.com Sun Jan 10 10:22:39 2016 From: peter.penzov at gmail.com (Peter Penzov) Date: Sun, 10 Jan 2016 12:22:39 +0200 Subject: report defect Message-ID: Hi, I want to open defect about JavaFX charts. More information here: http://stackoverflow.com/questions/34571154/limit-width-size-of-stacked-bar-chart/34699937?noredirect=1#comment57153895_34699937 Can you give me some information how to report it? BR, Peter From mp at jugs.org Sun Jan 10 10:40:07 2016 From: mp at jugs.org (Dr. Michael Paus) Date: Sun, 10 Jan 2016 11:40:07 +0100 Subject: report defect In-Reply-To: References: Message-ID: <56923507.207@jugs.org> You can report your issue here: http://bugreport.java.com/ Don't forget the JavaFX label. Am 10.01.16 um 11:22 schrieb Peter Penzov: > Hi, > I want to open defect about JavaFX charts. More information here: > > http://stackoverflow.com/questions/34571154/limit-width-size-of-stacked-bar-chart/34699937?noredirect=1#comment57153895_34699937 > > Can you give me some information how to report it? > > BR, > Peter From anthony.vanelverdinghe at gmail.com Sun Jan 10 14:02:51 2016 From: anthony.vanelverdinghe at gmail.com (Anthony Vanelverdinghe) Date: Sun, 10 Jan 2016 15:02:51 +0100 Subject: JavaFX WebView TLS/SSL Certificate Revocation Check In-Reply-To: References: <568AF0D2.90001@oracle.com> Message-ID: <5692648B.4020903@gmail.com> Hi Michael I just tested this and everything works as expected, i.e.: - JavaFX' WebView uses OCSP when the 3 related properties are set (using WireShark to verify) - https://revoked.grc.com fails when using OCSP, and succeeds when not - https://www.coinbase.com succeeds either way So apparently this is something specific about your environment and/or application (my environment is Java 8u66 on Windows 10, and the test case I used is below). Therefore, I think it would be best if you'd file an issue at http://bugs.java.com with a minimal test case & detailed information about your environment. This will help the OpenJFX team to reproduce your issue, and help you to follow up on it. Kind regards, Anthony PS: the test case I ran (imports omitted for brevity): public class TestOcsp extends Application { @Override public void start(Stage primaryStage) { Security.setProperty("ocsp.enable", "true"); System.setProperty("com.sun.net.ssl.checkRevocation", "true"); System.setProperty("com.sun.security.enableCRLDP", "true"); WebView view = new WebView(); primaryStage.setScene(new Scene(view, 800, 600)); primaryStage.show(); Platform.runLater(() -> { WebEngine engine = view.getEngine(); Worker loadWorker = engine.getLoadWorker(); loadWorker.stateProperty().addListener((property, oldState, newState) -> System.out.println(oldState + " -> " + newState)); // engine.load("https://revoked.grc.com/"); engine.load("https://www.coinbase.com/"); }); } } On 5/01/2016 1:03, mike.ennen at gmail.com (Michael Ennen) wrote: > Kevin, > > After some further exploration I see that indeed certificate revocation > does seem to be enabled through: > > Security.setProperty("ocsp.enable", "true"); > System.setProperty("com.sun.security.enableCRLDP", "true"); > System.setProperty("com.sun.net.ssl.checkRevocation", "true"); > > However, this only seems to active CRL (as WireShark and oscp debug > properties both show no OSCP related activity) and furthermore, and more > importantly, this will cause JavaFX WebView to throw an SSL handshake > failed message (which, by the way, could certainly be more informative and > better implemented by passing along the exception cause Throwable instance) > for apparent false-positives. That is, just try connected to, for example, > https://www.coinbase.com/ with the 3 properties above enabled (it fails). > > Thanks, > > On Mon, Jan 4, 2016 at 3:23 PM, Kevin Rushforth > wrote: > >> Try the following: >> >> System.setProperty("com.sun.net.ssl.checkRevocation", "true"); >> >> -- Kevin >> >> >> Michael Ennen wrote: >> >>> Hello, >>> >>> I will keep this short and brief. If one attempts to use the WebView >>> control to load the following page: >>> >>> https://revoked.grc.com/ >>> >>> The page is loaded, SSL handshake completes successfully, and it is >>> displayed and no exceptions are thrown >>> (e.g. webView.getEngine().getLoadWorker().getException() is null) and the >>> WorkerState goes to Worker.State.SUCCEEDED. >>> >>> However, the certificate of this page is indeed revoked. >>> >>> I understand that the WebView uses HttpsUrlConnection under the covers, >>> and >>> so I did some googling about OSCP/CRL (which are certificate revocation >>> protocols, for lack of a better term). It seems that OSCP can be enabled >>> via: >>> >>> Security.setProperty("ocsp.enable", "true"); >>> >>> and, as a fallback, CRL can be enabled via: >>> >>> System.setProperty("com.sun.security.enableCRLDP", "true"); >>> >>> However, neither of these make any difference in regards to the successful >>> outcome posted above. >>> >>> One really disgusting workaround to this problem would be to write a >>> TrustManager (which is extremely difficult in my estimation, and prone to >>> error) that checks for certificate revocation (by using, for example, >>> the sun.security.provider.certpath.OSCPChecker class) but since there is >>> no >>> way to hook into the validation check of an existing TrustManager, all of >>> the existing functionality would have to be duplicated. >>> >>> Considering the WebView can be used essentially as a browser (especially >>> given the fact that it is based on WebKit) I think this is quite a serious >>> issue (and indeed is a serious issue for my particular application). >>> >>> Has anyone run into this problem and come up with a solution? Is this a >>> known bug? Is there anything I can do to fix it? >>> >>> Thanks very much, >>> >>> >>> >>> >>> > From murali.billa at oracle.com Mon Jan 11 08:26:57 2016 From: murali.billa at oracle.com (Murali Billa) Date: Mon, 11 Jan 2016 00:26:57 -0800 (PST) Subject: [9] review request: JDK-8146715 Input fields accepting characters beyond maxlength attribute In-Reply-To: References: Message-ID: Hi Arun, Alexander, kevin, Please review the fix for below issue : JIRA: https://bugs.openjdk.java.net/browse/JDK-8146715 Webrev: http://cr.openjdk.java.net/~mbilla/8146715/webrev.00/ Issue: This issue is webkit regression from 8u60 and fixed with webkit patch http://trac.webkit.org/changeset/177098 Thanks, Murali From kevin.rushforth at oracle.com Mon Jan 11 22:59:49 2016 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Mon, 11 Jan 2016 14:59:49 -0800 Subject: 9-dev unlocked following sanity testing Message-ID: <569433E5.5040404@oracle.com> From murali.billa at oracle.com Tue Jan 12 08:33:09 2016 From: murali.billa at oracle.com (Murali Billa) Date: Tue, 12 Jan 2016 00:33:09 -0800 (PST) Subject: [9] review request: JDK-8090061 [WebView] replace "char*" with "const char*" where appropriate In-Reply-To: References: Message-ID: <71fce3c1-1390-45da-9ee2-ce638a8f7692@default> Hi Arun, Alexander, kevin, Please review the fix for below issue : JIRA: https://bugs.openjdk.java.net/browse/JDK-8090061 Webrev: http://cr.openjdk.java.net/~mbilla/8090061/webrev.00/ Issue: This issue is related to changing JNI functions signature(BackForwardListJava.cpp - functions initMethod, initCtor) from char* to const char* as webkit jni code expecting const char*. Thanks, Murali From dmitry.cherepanov at oracle.com Tue Jan 12 10:21:20 2016 From: dmitry.cherepanov at oracle.com (Dmitry Cherepanov) Date: Tue, 12 Jan 2016 13:21:20 +0300 Subject: [9] Review request for 8088039: [launcher] Change Windows and Linux to use JLI rather than JNI Message-ID: <5694D3A0.5040800@oracle.com> Chris, Please review the following fix https://bugs.openjdk.java.net/browse/JDK-8088039 http://cr.openjdk.java.net/~dcherepanov/8088039/webrev.v0/ Thanks, Dmitry From David.Hill at Oracle.com Tue Jan 12 17:04:46 2016 From: David.Hill at Oracle.com (David Hill) Date: Tue, 12 Jan 2016 12:04:46 -0500 Subject: review: Refactor systemTests for clear separation of tests Message-ID: <5695322E.4050404@Oracle.com> Kevin, https://bugs.openjdk.java.net/browse/JDK-8145203 http://cr.openjdk.java.net/~ddhill/8145203 tested using: gradle -PFULL_TEST=true :systemTests:test as well as a full tests. There are intermittent issues with timeouts in some of the Monocle tests that I believe were there before this refactor. I am continuing to look at this issue but would deal with that in a separate bug. -- David Hill Java Embedded Development "A man's feet should be planted in his country, but his eyes should survey the world." -- George Santayana (1863 - 1952) From kevin.rushforth at oracle.com Tue Jan 12 23:05:40 2016 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Tue, 12 Jan 2016 15:05:40 -0800 Subject: [9] Review request: 8144490: Update assemblyIdentity version in javapackager manifest for Verona Message-ID: <569586C4.4070301@oracle.com> Chris, Please review the following: https://bugs.openjdk.java.net/browse/JDK-8144490 http://cr.openjdk.java.net/~kcr/8144490/webrev.00/ This fixes the assemblyVersion in the javapackager.exe manifest. The javapackager is DOA without this fix as reported in: https://bugs.openjdk.java.net/browse/JDK-8146934 -- Kevin From guru.hb at oracle.com Wed Jan 13 09:26:53 2016 From: guru.hb at oracle.com (Guru Hb) Date: Wed, 13 Jan 2016 01:26:53 -0800 (PST) Subject: [9] Review request for 8146898 : Webview - Bug in JavaScript Date() constructor after Feb 28 2034 In-Reply-To: References: <2efd6ecd-2204-4d66-8ecc-0bb2977f1a09@default> Message-ID: <15a2a081-054d-4d82-8fff-632d43936d90@default> Hi Alexander & Kevin, JBS : https://bugs.openjdk.java.net/browse/JDK-8146898 Webrev : http://cr.openjdk.java.net/~ghb/8146898/webrev.00/ RC and Solution updated in JIRA, fix tested on Windows & Ubuntu. Thanks, Guru From chien.yang at oracle.com Wed Jan 13 19:33:45 2016 From: chien.yang at oracle.com (Chien Yang) Date: Wed, 13 Jan 2016 11:33:45 -0800 Subject: Code Review Request For JDK-8090185: Ubuntu: switching to fullscreen from primary stage in browser displays grey screen Message-ID: <5696A699.3040105@oracle.com> Hi Kevin, Please review the proposed fix as we have investigated yesterday: The fix is to check and handle correctly when there is change in the underlaying nativeWindow. This is the case happened on Linux when we do fullscreen in Applet mode. Passed dev-build-lite run on Linux and Mac. JIRA: https://bugs.openjdk.java.net/browse/JDK-8090185 Webrev: http://cr.openjdk.java.net/~ckyang/JDK-8090185/webrev.00/ Thanks, - Chien From vadim.pakhnushev at oracle.com Wed Jan 13 22:39:29 2016 From: vadim.pakhnushev at oracle.com (Vadim Pakhnushev) Date: Thu, 14 Jan 2016 01:39:29 +0300 Subject: [9] Review request for 8146916: FXCollections.unmodifiableObservableSet does not implement Set::contains Message-ID: <5696D221.70502@oracle.com> Kevin, Could you please take a look at the fix: https://bugs.openjdk.java.net/browse/JDK-8146916 http://cr.openjdk.java.net/~vadim/8146916/webrev.00/ Thanks, Vadim From Michael.Doswald at schiller.ch Thu Jan 14 12:52:51 2016 From: Michael.Doswald at schiller.ch (Doswald Michael) Date: Thu, 14 Jan 2016 12:52:51 +0000 Subject: [PATCH] Decrease Toolkit.firePulse allocation rate In-Reply-To: <1452684855376.67184@schiller.ch> References: <1452684855376.67184@schiller.ch> Message-ID: <1452775916583.19435@schiller.ch> While profiling a JavaFX application that runs on embedded hardware, I have found that the Toolkit.firePulse method creates more garbage than necessary. In an application that simply animates an object without doing much else, I see that the?firePulse method?allocates?a fair amount of?objects (compared to the overall number of allocated objects).?I have written a small patch?that?decreases?the allocation rate in?said method.?Since I'm not sure if such?tweaks are?desired in the?JavaFX codebase,?I didn't open a JIRA issue.?I'm happy to do so if?they are. The?following?small application?animates a single circle on screen.?The allocation?rate?of?the 'JavaFX Application Thread' is as follows (measured with jvisualvm): openjfx?8u HEAD:????????~ 65 KB/s after start,?~?49 KB/s after JIT compilation kicked in with patch:????????????????????~ 25 KB/s, doesn't seem to change when JIT kicks in public class AllocateApp extends Application { ??? public static void main(String... args) { ????? Application.launch(args); ??? } ??? @Override ??? public void start(Stage primaryStage) throws Exception { ??????? Circle circle = new Circle(10, 25, 10); ??????? Timeline timeline = new Timeline(new KeyFrame(Duration.seconds(2), new KeyValue(circle.centerXProperty(), 490))); ??????? timeline.setCycleCount(Timeline.INDEFINITE); ??????? timeline.setAutoReverse(true); ??????? timeline.play(); ??????? primaryStage.setScene(new Scene(new Pane(circle), 500, 50)); ??????? primaryStage.show(); ??? } } The patch below only creates a single List object instead of three WeakHashMaps to make a local copy of the TKPulseListeners. It also uses the number of listeners in the maps to estimate the size of the list.?The patch uses WeakReference objects in the?list, which I doubt is necessary, but it emulates the?previous behaviour more accurately.?I believe?it would be?possible to?change that to a strong reference for the following?reasons: a)?The list is local and?the strong references would?only be?there for the?time the?firePulse method is run b)?The code would become more readable (less generics parameters, null-guard not necessary in loop) c) Getting rid of the WeakReference objects would decrease garbage generation even more (down to ~ 21 KB/s) Regards Michael diff -r f1c3eb85af4d modules/graphics/src/main/java/com/sun/javafx/tk/Toolkit.java --- a/modules/graphics/src/main/java/com/sun/javafx/tk/Toolkit.java?? ?Fri Jan 08 08:11:51 2016 -0800 +++ b/modules/graphics/src/main/java/com/sun/javafx/tk/Toolkit.java?? ?Wed Jan 13 10:43:27 2016 +0100 @@ -51,7 +51,6 @@ ?import javafx.scene.shape.StrokeType; ?import javafx.stage.FileChooser.ExtensionFilter; ?import javafx.stage.Modality; -import javafx.stage.Stage; ?import javafx.stage.StageStyle; ?import javafx.stage.Window; ?import java.io.File; @@ -94,6 +93,8 @@ ?import com.sun.scenario.effect.Color4f; ?import com.sun.scenario.effect.FilterContext; ?import com.sun.scenario.effect.Filterable; +import java.lang.ref.WeakReference; +import javafx.util.Pair; ? ? ?public abstract class Toolkit { @@ -362,32 +363,36 @@ ???????? // and those changes propogated to scene before it gets its pulse to update ? ???????? // Copy of listener map -??????? final Map stagePulseList = -??????????????? new WeakHashMap(); -??????? final Map scenePulseList = -??????????????? new WeakHashMap(); -??????? final Map postScenePulseList = -??????????????? new WeakHashMap(); +??????? final List,AccessControlContext>> listenersList; ? ???????? synchronized (this) { -??????????? stagePulseList.putAll(stagePulseListeners); -??????????? scenePulseList.putAll(scenePulseListeners); -??????????? postScenePulseList.putAll(postScenePulseListeners); +????????? listenersList = new ArrayList<>(stagePulseListeners.size()+scenePulseListeners.size()+postScenePulseListeners.size()); +????????? copyListeners(stagePulseListeners, listenersList); +????????? copyListeners(scenePulseListeners, listenersList); +????????? copyListeners(postScenePulseListeners, listenersList); ???????? } -??????? for (Map.Entry entry : stagePulseList.entrySet()) { -??????????? runPulse(entry.getKey(), entry.getValue()); -??????? } -??????? for (Map.Entry entry : scenePulseList.entrySet()) { -??????????? runPulse(entry.getKey(), entry.getValue()); -??????? } -??????? for (Map.Entry entry : postScenePulseList.entrySet()) { -??????????? runPulse(entry.getKey(), entry.getValue()); + +??????? for (int idx = 0, max = listenersList.size(); idx < max; idx++) { +????????? Pair, AccessControlContext> listenerEntry = listenersList.get(idx); +????????? TKPulseListener pulseListener = listenerEntry.getKey().get(); +????????? if (pulseListener != null) { +??????????? runPulse(pulseListener, listenerEntry.getValue()); +????????? } ???????? } ? ???????? if (lastTkPulseListener != null) { ???????????? runPulse(lastTkPulseListener, lastTkPulseAcc); ???????? } ???? } + +??? private void copyListeners(Map listenerMap, List,AccessControlContext>> listenersList) { +??????? if (!listenerMap.isEmpty()) { +??????????? for (Map.Entry entry : listenerMap.entrySet()) { +??????????????? listenersList.add(new Pair<>(new WeakReference<>(entry.getKey()), entry.getValue())); +??????????? } +??????? } +??? } + ???? public void addStageTkPulseListener(TKPulseListener listener) { ???????? if (listener == null) { ???????????? return; From kevin.rushforth at oracle.com Thu Jan 14 14:26:22 2016 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Thu, 14 Jan 2016 06:26:22 -0800 Subject: [PATCH] Decrease Toolkit.firePulse allocation rate In-Reply-To: <1452775916583.19435@schiller.ch> References: <1452684855376.67184@schiller.ch> <1452775916583.19435@schiller.ch> Message-ID: <5697B00E.6020307@oracle.com> Hi Michael, If you would like to file an RFE, that would be fine. Before you do, please see the following page on contributing to an OpenJDK project such as OpenJFX: http://openjdk.java.net/contribute/ In particular, we need a signed Oracle Contributor Agreement (OCA) from you before we can evaluate your patch. As part of this, we will also need tests to verify that there is no functional regression, and a way to measure the improvement. Thanks! -- Kevin Doswald Michael wrote: > While profiling a JavaFX application that runs on embedded hardware, I have found that the Toolkit.firePulse method creates more garbage than necessary. In an application that simply animates an object without doing much else, I see that the firePulse method allocates a fair amount of objects (compared to the overall number of allocated objects). I have written a small patch that decreases the allocation rate in said method. Since I'm not sure if such tweaks are desired in the JavaFX codebase, I didn't open a JIRA issue. I'm happy to do so if they are. > > The following small application animates a single circle on screen. The allocation rate of the 'JavaFX Application Thread' is as follows (measured with jvisualvm): > openjfx 8u HEAD: ~ 65 KB/s after start, ~ 49 KB/s after JIT compilation kicked in > with patch: ~ 25 KB/s, doesn't seem to change when JIT kicks in > > public class AllocateApp extends Application { > public static void main(String... args) { > Application.launch(args); > } > > @Override > public void start(Stage primaryStage) throws Exception { > Circle circle = new Circle(10, 25, 10); > > Timeline timeline = new Timeline(new KeyFrame(Duration.seconds(2), new KeyValue(circle.centerXProperty(), 490))); > timeline.setCycleCount(Timeline.INDEFINITE); > timeline.setAutoReverse(true); > timeline.play(); > > primaryStage.setScene(new Scene(new Pane(circle), 500, 50)); > primaryStage.show(); > } > } > > > The patch below only creates a single List object instead of three WeakHashMaps to make a local copy of the TKPulseListeners. It also uses the number of listeners in the maps to estimate the size of the list. The patch uses WeakReference objects in the list, which I doubt is necessary, but it emulates the previous behaviour more accurately. I believe it would be possible to change that to a strong reference for the following reasons: > a) The list is local and the strong references would only be there for the time the firePulse method is run > b) The code would become more readable (less generics parameters, null-guard not necessary in loop) > c) Getting rid of the WeakReference objects would decrease garbage generation even more (down to ~ 21 KB/s) > > > Regards > Michael > > diff -r f1c3eb85af4d modules/graphics/src/main/java/com/sun/javafx/tk/Toolkit.java > --- a/modules/graphics/src/main/java/com/sun/javafx/tk/Toolkit.java Fri Jan 08 08:11:51 2016 -0800 > +++ b/modules/graphics/src/main/java/com/sun/javafx/tk/Toolkit.java Wed Jan 13 10:43:27 2016 +0100 > @@ -51,7 +51,6 @@ > import javafx.scene.shape.StrokeType; > import javafx.stage.FileChooser.ExtensionFilter; > import javafx.stage.Modality; > -import javafx.stage.Stage; > import javafx.stage.StageStyle; > import javafx.stage.Window; > import java.io.File; > @@ -94,6 +93,8 @@ > import com.sun.scenario.effect.Color4f; > import com.sun.scenario.effect.FilterContext; > import com.sun.scenario.effect.Filterable; > +import java.lang.ref.WeakReference; > +import javafx.util.Pair; > > > public abstract class Toolkit { > @@ -362,32 +363,36 @@ > // and those changes propogated to scene before it gets its pulse to update > > // Copy of listener map > - final Map stagePulseList = > - new WeakHashMap(); > - final Map scenePulseList = > - new WeakHashMap(); > - final Map postScenePulseList = > - new WeakHashMap(); > + final List,AccessControlContext>> listenersList; > > synchronized (this) { > - stagePulseList.putAll(stagePulseListeners); > - scenePulseList.putAll(scenePulseListeners); > - postScenePulseList.putAll(postScenePulseListeners); > + listenersList = new ArrayList<>(stagePulseListeners.size()+scenePulseListeners.size()+postScenePulseListeners.size()); > + copyListeners(stagePulseListeners, listenersList); > + copyListeners(scenePulseListeners, listenersList); > + copyListeners(postScenePulseListeners, listenersList); > } > - for (Map.Entry entry : stagePulseList.entrySet()) { > - runPulse(entry.getKey(), entry.getValue()); > - } > - for (Map.Entry entry : scenePulseList.entrySet()) { > - runPulse(entry.getKey(), entry.getValue()); > - } > - for (Map.Entry entry : postScenePulseList.entrySet()) { > - runPulse(entry.getKey(), entry.getValue()); > + > + for (int idx = 0, max = listenersList.size(); idx < max; idx++) { > + Pair, AccessControlContext> listenerEntry = listenersList.get(idx); > + TKPulseListener pulseListener = listenerEntry.getKey().get(); > + if (pulseListener != null) { > + runPulse(pulseListener, listenerEntry.getValue()); > + } > } > > if (lastTkPulseListener != null) { > runPulse(lastTkPulseListener, lastTkPulseAcc); > } > } > + > + private void copyListeners(Map listenerMap, List,AccessControlContext>> listenersList) { > + if (!listenerMap.isEmpty()) { > + for (Map.Entry entry : listenerMap.entrySet()) { > + listenersList.add(new Pair<>(new WeakReference<>(entry.getKey()), entry.getValue())); > + } > + } > + } > + > public void addStageTkPulseListener(TKPulseListener listener) { > if (listener == null) { > return; > > > > > > > From David.Hill at Oracle.com Thu Jan 14 17:23:33 2016 From: David.Hill at Oracle.com (David Hill) Date: Thu, 14 Jan 2016 12:23:33 -0500 Subject: review: Move systemTest shims to proper module Message-ID: <5697D995.7010905@Oracle.com> Missed this in the previous systemTests rework: https://bugs.openjdk.java.net/browse/JDK-8147398 http://cr.openjdk.java.net/~ddhill/8147398/ Will submit to 9-dev though it really only affects Jake. -- David Hill Java Embedded Development "A man's feet should be planted in his country, but his eyes should survey the world." -- George Santayana (1863 - 1952) From David.Hill at Oracle.com Thu Jan 14 19:46:29 2016 From: David.Hill at Oracle.com (David Hill) Date: Thu, 14 Jan 2016 14:46:29 -0500 Subject: review: Refactor swing Tests to match the rest of the tests Message-ID: <5697FB15.4080202@Oracle.com> Refactor swing Tests to match the rest of the tests https://bugs.openjdk.java.net/browse/JDK-8147416 http://cr.openjdk.java.net/~ddhill/8147416/ -- David Hill Java Embedded Development "A man's feet should be planted in his country, but his eyes should survey the world." -- George Santayana (1863 - 1952) From james.graham at oracle.com Thu Jan 14 20:09:37 2016 From: james.graham at oracle.com (Jim Graham) Date: Thu, 14 Jan 2016 12:09:37 -0800 Subject: [PATCH] Decrease Toolkit.firePulse allocation rate In-Reply-To: <1452775916583.19435@schiller.ch> References: <1452684855376.67184@schiller.ch> <1452775916583.19435@schiller.ch> Message-ID: <56980081.4080201@oracle.com> How often are listeners added and removed? It might make more sense to make them copy-on-write instead...? ...jim On 1/14/16 4:52 AM, Doswald Michael wrote: > While profiling a JavaFX application that runs on embedded hardware, I have found that the Toolkit.firePulse method creates more garbage than necessary. In an application that simply animates an object without doing much else, I see that the firePulse method allocates a fair amount of objects (compared to the overall number of allocated objects). I have written a small patch that decreases the allocation rate in said method. Since I'm not sure if such tweaks are desired in the JavaFX codebase, I didn't open a JIRA issue. I'm happy to do so if they are. > > The following small application animates a single circle on screen. The allocation rate of the 'JavaFX Application Thread' is as follows (measured with jvisualvm): > openjfx 8u HEAD: ~ 65 KB/s after start, ~ 49 KB/s after JIT compilation kicked in > with patch: ~ 25 KB/s, doesn't seem to change when JIT kicks in > > public class AllocateApp extends Application { > public static void main(String... args) { > Application.launch(args); > } > > @Override > public void start(Stage primaryStage) throws Exception { > Circle circle = new Circle(10, 25, 10); > > Timeline timeline = new Timeline(new KeyFrame(Duration.seconds(2), new KeyValue(circle.centerXProperty(), 490))); > timeline.setCycleCount(Timeline.INDEFINITE); > timeline.setAutoReverse(true); > timeline.play(); > > primaryStage.setScene(new Scene(new Pane(circle), 500, 50)); > primaryStage.show(); > } > } > > > The patch below only creates a single List object instead of three WeakHashMaps to make a local copy of the TKPulseListeners. It also uses the number of listeners in the maps to estimate the size of the list. The patch uses WeakReference objects in the list, which I doubt is necessary, but it emulates the previous behaviour more accurately. I believe it would be possible to change that to a strong reference for the following reasons: > a) The list is local and the strong references would only be there for the time the firePulse method is run > b) The code would become more readable (less generics parameters, null-guard not necessary in loop) > c) Getting rid of the WeakReference objects would decrease garbage generation even more (down to ~ 21 KB/s) > > > Regards > Michael > > diff -r f1c3eb85af4d modules/graphics/src/main/java/com/sun/javafx/tk/Toolkit.java > --- a/modules/graphics/src/main/java/com/sun/javafx/tk/Toolkit.java Fri Jan 08 08:11:51 2016 -0800 > +++ b/modules/graphics/src/main/java/com/sun/javafx/tk/Toolkit.java Wed Jan 13 10:43:27 2016 +0100 > @@ -51,7 +51,6 @@ > import javafx.scene.shape.StrokeType; > import javafx.stage.FileChooser.ExtensionFilter; > import javafx.stage.Modality; > -import javafx.stage.Stage; > import javafx.stage.StageStyle; > import javafx.stage.Window; > import java.io.File; > @@ -94,6 +93,8 @@ > import com.sun.scenario.effect.Color4f; > import com.sun.scenario.effect.FilterContext; > import com.sun.scenario.effect.Filterable; > +import java.lang.ref.WeakReference; > +import javafx.util.Pair; > > > public abstract class Toolkit { > @@ -362,32 +363,36 @@ > // and those changes propogated to scene before it gets its pulse to update > > // Copy of listener map > - final Map stagePulseList = > - new WeakHashMap(); > - final Map scenePulseList = > - new WeakHashMap(); > - final Map postScenePulseList = > - new WeakHashMap(); > + final List,AccessControlContext>> listenersList; > > synchronized (this) { > - stagePulseList.putAll(stagePulseListeners); > - scenePulseList.putAll(scenePulseListeners); > - postScenePulseList.putAll(postScenePulseListeners); > + listenersList = new ArrayList<>(stagePulseListeners.size()+scenePulseListeners.size()+postScenePulseListeners.size()); > + copyListeners(stagePulseListeners, listenersList); > + copyListeners(scenePulseListeners, listenersList); > + copyListeners(postScenePulseListeners, listenersList); > } > - for (Map.Entry entry : stagePulseList.entrySet()) { > - runPulse(entry.getKey(), entry.getValue()); > - } > - for (Map.Entry entry : scenePulseList.entrySet()) { > - runPulse(entry.getKey(), entry.getValue()); > - } > - for (Map.Entry entry : postScenePulseList.entrySet()) { > - runPulse(entry.getKey(), entry.getValue()); > + > + for (int idx = 0, max = listenersList.size(); idx < max; idx++) { > + Pair, AccessControlContext> listenerEntry = listenersList.get(idx); > + TKPulseListener pulseListener = listenerEntry.getKey().get(); > + if (pulseListener != null) { > + runPulse(pulseListener, listenerEntry.getValue()); > + } > } > > if (lastTkPulseListener != null) { > runPulse(lastTkPulseListener, lastTkPulseAcc); > } > } > + > + private void copyListeners(Map listenerMap, List,AccessControlContext>> listenersList) { > + if (!listenerMap.isEmpty()) { > + for (Map.Entry entry : listenerMap.entrySet()) { > + listenersList.add(new Pair<>(new WeakReference<>(entry.getKey()), entry.getValue())); > + } > + } > + } > + > public void addStageTkPulseListener(TKPulseListener listener) { > if (listener == null) { > return; > > > > > > > > From murali.billa at oracle.com Thu Jan 14 22:08:52 2016 From: murali.billa at oracle.com (Murali Billa) Date: Thu, 14 Jan 2016 14:08:52 -0800 (PST) Subject: [9] review request: JDK-8147410 Crash with long selector list In-Reply-To: References: Message-ID: Hi Alexander, kevin, Please review the fix for below issue : JIRA: https://bugs.openjdk.java.net/browse/JDK-8147410 Webrev: http://cr.openjdk.java.net/~mbilla/8147410/ Issue: This crash is webkit regression in 8u60 and fixed in JDK 9 version. Thanks, Murali From mike.ennen at gmail.com Fri Jan 15 05:21:47 2016 From: mike.ennen at gmail.com (Michael Ennen) Date: Thu, 14 Jan 2016 22:21:47 -0700 Subject: Windows 7 WebView Text Rendering Message-ID: Hello, I am using Java 8u66 on Windows 7 and the text rendering in a WebView is super blurry. For comparison purposes, I created a simple test that shows a WebView displaying a paragraph and next to it a standard Label showing the same paragraph. http://imgur.com/36RYvf8 (Sorry I don't have a better place to upload the screenshot). The page I am displaying is the following:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed sed blandit magna, ut mattis ligula. Donec vestibulum ut neque id condimentum. Cras blandit erat ac tincidunt bibendum. Nulla dapibus arcu risus, at tincidunt leo facilisis sit amet. Donec imperdiet lectus diam, nec egestas sapien luctus nec. Praesent auctor ligula sed sem dictum venenatis. Donec non dapibus turpis. Aliquam dictum euismod sapien id bibendum. Quisque at accumsan eros. Quisque eleifend maximus justo at tempor. Curabitur ut mi ut justo auctor malesuada non at mi. Integer augue neque, ultrices sit amet augue a, interdum ultricies nibh. Sed imperdiet diam et eros maximus ultrices. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

The Java code I am using to create the WebView is: WebView webView = new WebView(); webView.setPrefSize(410, 620); webView.getEngine().load(getClass().getResource("/web/test.html").toExternalForm()); Essentially, a incredibly bare-bones example. This text rendering happens on every page I have tried to load (e.g. actual websites). System info: OS Name: Microsoft Windows 7 Ultimate OS Version: 6.1.7601 Service Pack 1 Build 7601 java version "1.8.0_66" Java(TM) SE Runtime Environment (build 1.8.0_66-b17) Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode) Although this is not a functionality breaking issue (e.g. not a showstopper), it really is a serious issue in my eyes because of just how qualities are of the rendered texts. Thanks very much, -- Michael Ennen From Michael.Doswald at schiller.ch Fri Jan 15 09:25:02 2016 From: Michael.Doswald at schiller.ch (Doswald Michael) Date: Fri, 15 Jan 2016 09:25:02 +0000 Subject: AW: [PATCH] Decrease Toolkit.firePulse allocation rate In-Reply-To: <56980081.4080201@oracle.com> References: <1452684855376.67184@schiller.ch> <1452775916583.19435@schiller.ch>,<56980081.4080201@oracle.com> Message-ID: <1452849845873.13228@schiller.ch> On 1/14/16 8:09 PM, Jim Graham wrote: > How often are listeners added and removed? It might make more sense to > make them copy-on-write instead...? That is a good point. As far as I can see, every window adds a stage listener when it is shown and removes it if it is closed. Every scene adds/removes a scene listener. So the listener maps are changed rarely. The post scene pulse listener seems to be used for the snapshot functionality. Although I can only see that such a listener is added, but it seems it will never be removed again. I will try to revise my patch and open an RFE as suggested by Kevin as soon as I handed in my OCA. Regards, Michael >On 1/14/16 4:52 AM, Doswald Michael wrote: >> While profiling a JavaFX application that runs on embedded hardware, I have found that the Toolkit.firePulse method creates more garbage than necessary. In an application that simply animates an object without doing much else, I see that the firePulse method allocates a fair amount of objects (compared to the overall number of allocated objects). I have written a small patch that decreases the allocation rate in said method. Since I'm not sure if such tweaks are desired in the JavaFX codebase, I didn't open a JIRA issue. I'm happy to do so if they are. >> >> The following small application animates a single circle on screen. The allocation rate of the 'JavaFX Application Thread' is as follows (measured with jvisualvm): >> openjfx 8u HEAD: ~ 65 KB/s after start, ~ 49 KB/s after JIT compilation kicked in >> with patch: ~ 25 KB/s, doesn't seem to change when JIT kicks in >> >> public class AllocateApp extends Application { >> public static void main(String... args) { >> Application.launch(args); >> } >> >> @Override >> public void start(Stage primaryStage) throws Exception { >> Circle circle = new Circle(10, 25, 10); >> >> Timeline timeline = new Timeline(new KeyFrame(Duration.seconds(2), new KeyValue(circle.centerXProperty(), 490))); >> timeline.setCycleCount(Timeline.INDEFINITE); >> timeline.setAutoReverse(true); >> timeline.play(); >> >> primaryStage.setScene(new Scene(new Pane(circle), 500, 50)); >> primaryStage.show(); >> } >> } >> >> >> The patch below only creates a single List object instead of three WeakHashMaps to make a local copy of the TKPulseListeners. It also uses the number of listeners in the maps to estimate the size of the list. The patch uses WeakReference objects in the list, which I doubt is necessary, but it emulates the previous behaviour more accurately. I believe it would be possible to change that to a strong reference for the following reasons: >> a) The list is local and the strong references would only be there for the time the firePulse method is run >> b) The code would become more readable (less generics parameters, null-guard not necessary in loop) >> c) Getting rid of the WeakReference objects would decrease garbage generation even more (down to ~ 21 KB/s) >> >> >> Regards >> Michael >> >> diff -r f1c3eb85af4d modules/graphics/src/main/java/com/sun/javafx/tk/Toolkit.java >> --- a/modules/graphics/src/main/java/com/sun/javafx/tk/Toolkit.java Fri Jan 08 08:11:51 2016 -0800 >> +++ b/modules/graphics/src/main/java/com/sun/javafx/tk/Toolkit.java Wed Jan 13 10:43:27 2016 +0100 >> @@ -51,7 +51,6 @@ >> import javafx.scene.shape.StrokeType; >> import javafx.stage.FileChooser.ExtensionFilter; >> import javafx.stage.Modality; >> -import javafx.stage.Stage; >> import javafx.stage.StageStyle; >> import javafx.stage.Window; >> import java.io.File; >> @@ -94,6 +93,8 @@ >> import com.sun.scenario.effect.Color4f; >> import com.sun.scenario.effect.FilterContext; >> import com.sun.scenario.effect.Filterable; >> +import java.lang.ref.WeakReference; >> +import javafx.util.Pair; >> >> >> public abstract class Toolkit { >> @@ -362,32 +363,36 @@ >> // and those changes propogated to scene before it gets its pulse to update >> >> // Copy of listener map >> - final Map stagePulseList = >> - new WeakHashMap(); >> - final Map scenePulseList = >> - new WeakHashMap(); >> - final Map postScenePulseList = >> - new WeakHashMap(); >> + final List,AccessControlContext>> listenersList; >> >> synchronized (this) { >> - stagePulseList.putAll(stagePulseListeners); >> - scenePulseList.putAll(scenePulseListeners); >> - postScenePulseList.putAll(postScenePulseListeners); >> + listenersList = new ArrayList<>(stagePulseListeners.size()+scenePulseListeners.size()+postScenePulseListeners.size()); >> + copyListeners(stagePulseListeners, listenersList); >> + copyListeners(scenePulseListeners, listenersList); >> + copyListeners(postScenePulseListeners, listenersList); >> } >> - for (Map.Entry entry : stagePulseList.entrySet()) { >> - runPulse(entry.getKey(), entry.getValue()); >> - } >> - for (Map.Entry entry : scenePulseList.entrySet()) { >> - runPulse(entry.getKey(), entry.getValue()); >> - } >> - for (Map.Entry entry : postScenePulseList.entrySet()) { >> - runPulse(entry.getKey(), entry.getValue()); >> + >> + for (int idx = 0, max = listenersList.size(); idx < max; idx++) { >> + Pair, AccessControlContext> listenerEntry = listenersList.get(idx); >> + TKPulseListener pulseListener = listenerEntry.getKey().get(); >> + if (pulseListener != null) { >> + runPulse(pulseListener, listenerEntry.getValue()); >> + } >> } >> >> if (lastTkPulseListener != null) { >> runPulse(lastTkPulseListener, lastTkPulseAcc); >> } >> } >> + >> + private void copyListeners(Map listenerMap, List,AccessControlContext>> listenersList) { >> + if (!listenerMap.isEmpty()) { >> + for (Map.Entry entry : listenerMap.entrySet()) { >> + listenersList.add(new Pair<>(new WeakReference<>(entry.getKey()), entry.getValue())); >> + } >> + } >> + } >> + >> public void addStageTkPulseListener(TKPulseListener listener) { >> if (listener == null) { >> return; >> >> >> >> >> >> >> >> From David.Hill at Oracle.com Fri Jan 15 13:31:07 2016 From: David.Hill at Oracle.com (David Hill) Date: Fri, 15 Jan 2016 08:31:07 -0500 Subject: review: move systemsTest block later in build.gradle Message-ID: <5698F49B.5030801@Oracle.com> A simple move of a code block... https://bugs.openjdk.java.net/browse/JDK-8147454 http://cr.openjdk.java.net/~ddhill/8147454/ -- David Hill Java Embedded Development "A man's feet should be planted in his country, but his eyes should survey the world." -- George Santayana (1863 - 1952) From David.Hill at Oracle.com Fri Jan 15 14:09:05 2016 From: David.Hill at Oracle.com (David Hill) Date: Fri, 15 Jan 2016 09:09:05 -0500 Subject: review: correct systemTest monocle.TestLog Message-ID: <5698FD81.705@Oracle.com> 1) fix dependancy on org.junit - a shim can't have one. 2) rename to include Shim in the name for tests consistency. https://bugs.openjdk.java.net/browse/JDK-8147455 http://cr.openjdk.java.net/~ddhill/8147455/ -- David Hill Java Embedded Development "A man's feet should be planted in his country, but his eyes should survey the world." -- George Santayana (1863 - 1952) From vadim.pakhnushev at oracle.com Fri Jan 15 14:32:00 2016 From: vadim.pakhnushev at oracle.com (Vadim Pakhnushev) Date: Fri, 15 Jan 2016 17:32:00 +0300 Subject: In(Sanity) Testing Mondays Message-ID: <569902E0.7030608@oracle.com> Reminder, Monday is our weekly sanity testing. You can find your testing assignment at: https://wiki.openjdk.java.net/display/OpenJFX/Sanity+Testing Also please remember that the repo will be locked from 1am PST until 1pm PST. Happy testing! Thanks, Vadim From kevin.rushforth at oracle.com Fri Jan 15 15:47:52 2016 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Fri, 15 Jan 2016 07:47:52 -0800 Subject: In(Sanity) Testing Mondays In-Reply-To: <569902E0.7030608@oracle.com> References: <569902E0.7030608@oracle.com> Message-ID: <569914A8.3090300@oracle.com> Since Monday is a US holiday, testing will be a little lighter than usual. I won't be around to send the unlock message so just consider it unlocked at 1pm Pacific on Monday. -- Kevin Vadim Pakhnushev wrote: > Reminder, Monday is our weekly sanity testing. > > You can find your testing assignment at: > https://wiki.openjdk.java.net/display/OpenJFX/Sanity+Testing > > Also please remember that the repo will be locked from 1am PST until > 1pm PST. > > Happy testing! > > Thanks, > Vadim From david.hill at oracle.com Fri Jan 15 15:55:01 2016 From: david.hill at oracle.com (David Hill) Date: Fri, 15 Jan 2016 07:55:01 -0800 (PST) Subject: review: two Swing test related Message-ID: Kevin, To enable Swing tests in Jake, two changesets. fix resources for Swing test (via 9-dev) https://bugs.openjdk.java.net/browse/JDK-8147459 http://cr.openjdk.java.net/~ddhill/8147459/ Enable swing tests in Jake https://bugs.openjdk.java.net/browse/JDK-8147415 http://cr.openjdk.java.net/~ddhill/8147415/ From kevin.rushforth at oracle.com Fri Jan 15 16:26:05 2016 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Fri, 15 Jan 2016 08:26:05 -0800 Subject: PLEASE READ: Changes needed to make and keep JavaFX repos "jcheck clean" Message-ID: <56991D9D.4010708@oracle.com> All, This is a bit long, but please read it if you are a JavaFX developer who either pushes or authors changesets (or hopes to do so soon). EXECUTIVE SUMMARY We plan to enable jcheck in the (I hope) not too distant future. We will need help from all developers to follow best practices to make the transition as painless as possible, specifically you will need to take extra care in creating changesets prior to pushing them to our forest. DETAILS I think all OpenJFX committers are (painfully) aware that JavaFX lacks the automatic updating JBS issues provided by hgupdater, including: * Adding the changeset URL as a comment when a changeset is pushed * Resolving the JIRA issue as fixed * Creating a backport record if necessary * Updating the "resolved in build" field In order to enable hgupdater we need to enable jcheck for the OpenJFX repositories in each forest. In addition to the primary benefit of allowing us to use hgupdater, the other benefit jcheck gives us is enforcing good practices, like making sure we don't have DOS line endings and other whitespace issues that serve only as sources of merge conflict and inconsistency. I have filed an umbrella task [1] in JBS to track the necessary tasks needed to enable jcheck, and I will be filing individual RFEs (or bugs) to track the specific tasks. This will require some additional restrictions on changesets. The three main things that developers need to be aware of are: 1. Changeset comments must adhere to the proper format defined in the openjdk Wiki [2]. This means that *all* non-merge changesets must start with a 7 digit bug ID, followed by a colon ":" followed by the bug title. It also means that every changeset must have a unique bug ID. No more "quick and dirty" fixes like "Oops, fix the build" or "[TOYS] added a quick test program" or "Follow-on fix for 8888888". We should get in the habit now, so I will be monitoring and sending private e-mail to you if I see a non-compliant changeset. This rule does not apply to sandboxes like jake since these changesets will never be pushed directly to mainline. The only variance is that the "Reviewed-by" field is still optional for FX, but if present it must following the correct format. 2. White space rules will be enforced. Specifically, jcheck will disallow TAB characters, DOS-style line endings, or trailing white space in any source code file. 3. No executable files are allowed. In UNIX parlance this means that every managed file in our repo must have "644" as the permission. I don't think this will cause us problem in practice. NEXT STEPS For the existing files in the repo, we will have a "flag day" where I (with help from Dave Hill who has volunteered to assist) will push two changesets to each repository: one changeset to fix the file permissions (#3 above) and one to fix the whitespace (#2 above). This will likely happen in the next week or so, after the 8u72 changes are synced back into 8u-dev (and corresponding changes synced back into 9-dev), but ideally before we fork the stabilization repos for 8u76. I will follow-on with more information, specifically the details of the "flag day" and what you can do to help ensure that it stays clean, but wanted to give a heads-up that this was coming. Let me know if you have any questions. -- Kevin [1] https://bugs.openjdk.java.net/browse/JDK-8145561 [2] http://openjdk.java.net/guide/producingChangeset.html From chris.bensen at oracle.com Fri Jan 15 17:02:09 2016 From: chris.bensen at oracle.com (Chris Bensen) Date: Fri, 15 Jan 2016 09:02:09 -0800 Subject: [9] Review request for 8146169: Javapackager displays version as 8.0 instead of 9.0 for JDK9 Message-ID: <6EDA0858-2549-4655-A753-861ACAEC5107@oracle.com> Kevin, Please review the following fix https://bugs.openjdk.java.net/browse/JDK-8146169 http://cr.openjdk.java.net/~cbensen/JDK-8146169/webrev.00/ Thanks, Chris From vadim.pakhnushev at oracle.com Fri Jan 15 17:05:17 2016 From: vadim.pakhnushev at oracle.com (Vadim Pakhnushev) Date: Fri, 15 Jan 2016 20:05:17 +0300 Subject: [9] Review request for 8145565: Stage.show() blocked for several minutes Message-ID: <569926CD.6050906@oracle.com> Kevin, Jonathan, Could you please take a look at the fix: https://bugs.openjdk.java.net/browse/JDK-8145565 http://cr.openjdk.java.net/~vadim/8145565/webrev.00/ Thanks, Vadim From tom.schindl at bestsolution.at Fri Jan 15 18:32:16 2016 From: tom.schindl at bestsolution.at (Tom Schindl) Date: Fri, 15 Jan 2016 19:32:16 +0100 Subject: RT-46214 - TreeTableView performance Message-ID: <56993B30.2030205@bestsolution.at> Hi, I've just filed https://bugs.openjdk.java.net/browse/RT-46214 but I wanted to post to the list asking if others have also observed this behavior. The problem is the TreeTableView rebuilds its cell and rows on each and every add operation which naturally is not very effecient. 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 kevin.rushforth at oracle.com Fri Jan 15 18:40:39 2016 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Fri, 15 Jan 2016 10:40:39 -0800 Subject: RT-46214 - TreeTableView performance In-Reply-To: <56993B30.2030205@bestsolution.at> References: <56993B30.2030205@bestsolution.at> Message-ID: <56993D27.90001@oracle.com> The RT project is supposed to be read-only. I will check why that didn't happen. In the mean time please do not file bugs in that project. All bugs, including JavaFX bugs, use the JDK project. Thanks. -- Kevin Tom Schindl wrote: > Hi, > > I've just filed https://bugs.openjdk.java.net/browse/RT-46214 but I > wanted to post to the list asking if others have also observed this > behavior. > > The problem is the TreeTableView rebuilds its cell and rows on each and > every add operation which naturally is not very effecient. > > Tom > > From kevin.rushforth at oracle.com Fri Jan 15 18:42:51 2016 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Fri, 15 Jan 2016 10:42:51 -0800 Subject: RT-46214 - TreeTableView performance In-Reply-To: <56993D27.90001@oracle.com> References: <56993B30.2030205@bestsolution.at> <56993D27.90001@oracle.com> Message-ID: <56993DAB.7060004@oracle.com> Moved to: https://bugs.openjdk.java.net/browse/JDK-8147483 The RT number (RT-46214) will redirect to that. -- Kevin Kevin Rushforth wrote: > The RT project is supposed to be read-only. I will check why that > didn't happen. In the mean time please do not file bugs in that > project. All bugs, including JavaFX bugs, use the JDK project. > > Thanks. > > -- Kevin > > > Tom Schindl wrote: >> Hi, >> >> I've just filed https://bugs.openjdk.java.net/browse/RT-46214 but I >> wanted to post to the list asking if others have also observed this >> behavior. >> >> The problem is the TreeTableView rebuilds its cell and rows on each and >> every add operation which naturally is not very effecient. >> >> Tom >> >> From tom.schindl at bestsolution.at Fri Jan 15 18:49:57 2016 From: tom.schindl at bestsolution.at (Tom Schindl) Date: Fri, 15 Jan 2016 19:49:57 +0100 Subject: RT-46214 - TreeTableView performance In-Reply-To: <56993DAB.7060004@oracle.com> References: <56993B30.2030205@bestsolution.at> <56993D27.90001@oracle.com> <56993DAB.7060004@oracle.com> Message-ID: <56993F55.7070800@bestsolution.at> Ups sorry! Tom On 15.01.16 19:42, Kevin Rushforth wrote: > Moved to: > > https://bugs.openjdk.java.net/browse/JDK-8147483 > > The RT number (RT-46214) will redirect to that. > > -- Kevin > > > Kevin Rushforth wrote: >> The RT project is supposed to be read-only. I will check why that >> didn't happen. In the mean time please do not file bugs in that >> project. All bugs, including JavaFX bugs, use the JDK project. >> >> Thanks. >> >> -- Kevin >> >> >> Tom Schindl wrote: >>> Hi, >>> >>> I've just filed https://bugs.openjdk.java.net/browse/RT-46214 but I >>> wanted to post to the list asking if others have also observed this >>> behavior. >>> >>> The problem is the TreeTableView rebuilds its cell and rows on each and >>> every add operation which naturally is not very effecient. >>> >>> 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 kevin.rushforth at oracle.com Fri Jan 15 18:51:48 2016 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Fri, 15 Jan 2016 10:51:48 -0800 Subject: RT-46214 - TreeTableView performance In-Reply-To: <56993F55.7070800@bestsolution.at> References: <56993B30.2030205@bestsolution.at> <56993D27.90001@oracle.com> <56993DAB.7060004@oracle.com> <56993F55.7070800@bestsolution.at> Message-ID: <56993FC4.60608@oracle.com> No problem. JBS shouldn't have let you do it. :) -- Kevin Tom Schindl wrote: > Ups sorry! > > Tom > > On 15.01.16 19:42, Kevin Rushforth wrote: > >> Moved to: >> >> https://bugs.openjdk.java.net/browse/JDK-8147483 >> >> The RT number (RT-46214) will redirect to that. >> >> -- Kevin >> >> >> Kevin Rushforth wrote: >> >>> The RT project is supposed to be read-only. I will check why that >>> didn't happen. In the mean time please do not file bugs in that >>> project. All bugs, including JavaFX bugs, use the JDK project. >>> >>> Thanks. >>> >>> -- Kevin >>> >>> >>> Tom Schindl wrote: >>> >>>> Hi, >>>> >>>> I've just filed https://bugs.openjdk.java.net/browse/RT-46214 but I >>>> wanted to post to the list asking if others have also observed this >>>> behavior. >>>> >>>> The problem is the TreeTableView rebuilds its cell and rows on each and >>>> every add operation which naturally is not very effecient. >>>> >>>> Tom >>>> >>>> >>>> > > > From David.Hill at Oracle.com Fri Jan 15 23:28:10 2016 From: David.Hill at Oracle.com (David Hill) Date: Fri, 15 Jan 2016 18:28:10 -0500 Subject: review: Enable swing tests in Jake Message-ID: <5699808A.3020304@Oracle.com> https://bugs.openjdk.java.net/browse/JDK-8147415 http://cr.openjdk.java.net/~ddhill/8147415 -- David Hill Java Embedded Development "A man's feet should be planted in his country, but his eyes should survey the world." -- George Santayana (1863 - 1952) From David.Hill at Oracle.com Fri Jan 15 23:30:13 2016 From: David.Hill at Oracle.com (David Hill) Date: Fri, 15 Jan 2016 18:30:13 -0500 Subject: review: Enable swing tests in Jake In-Reply-To: <5699808A.3020304@Oracle.com> References: <5699808A.3020304@Oracle.com> Message-ID: <56998105.5080507@Oracle.com> sorry ignore, this was stuck in my email client. Kevin reviewed this already. Have a nice long weekend, obviously I need one. Dave On 1/15/16, 6:28 PM, David Hill wrote: > > https://bugs.openjdk.java.net/browse/JDK-8147415 > http://cr.openjdk.java.net/~ddhill/8147415 > -- David Hill Java Embedded Development "A man's feet should be planted in his country, but his eyes should survey the world." -- George Santayana (1863 - 1952) From jonathan.giles at oracle.com Sun Jan 17 20:10:12 2016 From: jonathan.giles at oracle.com (Jonathan Giles) Date: Mon, 18 Jan 2016 09:10:12 +1300 Subject: RT-46214 - TreeTableView performance In-Reply-To: <56993B30.2030205@bestsolution.at> References: <56993B30.2030205@bestsolution.at> Message-ID: <569BF524.5040607@oracle.com> I can't look into this in depth immediately, but I do recall working on this some months back, and I'm fairly sure I resolved it for JDK 9. I just quickly run the test application attached to JBS-8147483 and can not see the cells being recreated (after the initial creation). I will follow this up later today and will track down the relevant changeset (if I am right), or comment further on the issue (if I am wrong). -- Jonathan On 16/01/16 7:32 AM, Tom Schindl wrote: > Hi, > > I've just filed https://bugs.openjdk.java.net/browse/RT-46214 but I > wanted to post to the list asking if others have also observed this > behavior. > > The problem is the TreeTableView rebuilds its cell and rows on each and > every add operation which naturally is not very effecient. > > Tom > From felix.bembrick at gmail.com Sun Jan 17 20:32:00 2016 From: felix.bembrick at gmail.com (Felix Bembrick) Date: Mon, 18 Jan 2016 07:32:00 +1100 Subject: Feature matrix Message-ID: <0CEF5B38-89B4-4AD0-962E-EEA853A24634@gmail.com> I think developers would find it useful if there was a maintained spreadsheet that was kept as current as possible that details each major JavaFX feature and the status of its implementation on each platform. The values could be something like "FULL" (the feature is fully implemented and working), "PARTIAL" (the feature is available but is not complete or suitable for production apps yet), "NONE" (the feature has not been implemented at all yet but will be eventually) and "NEVER" (for whatever reason, the feature will never be implemented on this platform). This would be so helpful for developers targeting multiple platforms to know in advance which features are going to work on each platform as opposed to banging their head against a wall trying to make a non-functional feature work on a particular platform. Ideally this would be hosted and maintained by Oracle though I suspect Gluon would have more information, especially for mobile platforms, and so it would be a nice addition to the Gluon website. Does anyone else think they would find this useful? Could someone from Oracle and Gluon please respond? Felix From krueger at lesspain.de Mon Jan 18 11:08:25 2016 From: krueger at lesspain.de (=?UTF-8?Q?Robert_Kr=C3=BCger?=) Date: Mon, 18 Jan 2016 12:08:25 +0100 Subject: Feature matrix In-Reply-To: <0CEF5B38-89B4-4AD0-962E-EEA853A24634@gmail.com> References: <0CEF5B38-89B4-4AD0-962E-EEA853A24634@gmail.com> Message-ID: Superuseful for sure! On Sun, Jan 17, 2016 at 9:32 PM, Felix Bembrick wrote: > I think developers would find it useful if there was a maintained > spreadsheet that was kept as current as possible that details each major > JavaFX feature and the status of its implementation on each platform. > > The values could be something like "FULL" (the feature is fully > implemented and working), "PARTIAL" (the feature is available but is not > complete or suitable for production apps yet), "NONE" (the feature has not > been implemented at all yet but will be eventually) and "NEVER" (for > whatever reason, the feature will never be implemented on this platform). > > This would be so helpful for developers targeting multiple platforms to > know in advance which features are going to work on each platform as > opposed to banging their head against a wall trying to make a > non-functional feature work on a particular platform. > > Ideally this would be hosted and maintained by Oracle though I suspect > Gluon would have more information, especially for mobile platforms, and so > it would be a nice addition to the Gluon website. > > Does anyone else think they would find this useful? Could someone from > Oracle and Gluon please respond? > > Felix -- Robert Kr?ger Managing Partner Lesspain GmbH & Co. KG www.lesspain-software.com From murali.billa at oracle.com Mon Jan 18 12:00:38 2016 From: murali.billa at oracle.com (Murali Billa) Date: Mon, 18 Jan 2016 04:00:38 -0800 (PST) Subject: Windows 7 WebView Text Rendering In-Reply-To: References: Message-ID: <91129e24-29b4-4013-adde-8894f9089eee@default> Hi Michael, Can you mention what is the resolution/scale under which you are loading the content in webview? Thanks, Murali -----Original Message----- From: Michael Ennen [mailto:mike.ennen at gmail.com] Sent: Friday, January 15, 2016 10:52 AM To: openjfx-dev at openjdk.java.net Subject: Windows 7 WebView Text Rendering Hello, I am using Java 8u66 on Windows 7 and the text rendering in a WebView is super blurry. For comparison purposes, I created a simple test that shows a WebView displaying a paragraph and next to it a standard Label showing the same paragraph. http://imgur.com/36RYvf8 (Sorry I don't have a better place to upload the screenshot). The page I am displaying is the following:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed sed blandit magna, ut mattis ligula. Donec vestibulum ut neque id condimentum. Cras blandit erat ac tincidunt bibendum. Nulla dapibus arcu risus, at tincidunt leo facilisis sit amet. Donec imperdiet lectus diam, nec egestas sapien luctus nec. Praesent auctor ligula sed sem dictum venenatis. Donec non dapibus turpis. Aliquam dictum euismod sapien id bibendum. Quisque at accumsan eros. Quisque eleifend maximus justo at tempor. Curabitur ut mi ut justo auctor malesuada non at mi. Integer augue neque, ultrices sit amet augue a, interdum ultricies nibh. Sed imperdiet diam et eros maximus ultrices. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

The Java code I am using to create the WebView is: WebView webView = new WebView(); webView.setPrefSize(410, 620); webView.getEngine().load(getClass().getResource("/web/test.html").toExternalForm()); Essentially, a incredibly bare-bones example. This text rendering happens on every page I have tried to load (e.g. actual websites). System info: OS Name: Microsoft Windows 7 Ultimate OS Version: 6.1.7601 Service Pack 1 Build 7601 java version "1.8.0_66" Java(TM) SE Runtime Environment (build 1.8.0_66-b17) Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode) Although this is not a functionality breaking issue (e.g. not a showstopper), it really is a serious issue in my eyes because of just how qualities are of the rendered texts. Thanks very much, -- Michael Ennen From mike.ennen at gmail.com Mon Jan 18 19:26:42 2016 From: mike.ennen at gmail.com (Michael Ennen) Date: Mon, 18 Jan 2016 12:26:42 -0700 Subject: Windows 7 WebView Text Rendering In-Reply-To: <91129e24-29b4-4013-adde-8894f9089eee@default> References: <91129e24-29b4-4013-adde-8894f9089eee@default> Message-ID: Murali, Resolution: 3440x1440 DPI (as reported by JavaFX): 120 Scale: (If by scale you mean the text size in Control Panel\All Control Panel Items\Display) Medium (125%) If that's not what you meant by scale please inform and I will get you the correct info. Thanks On Mon, Jan 18, 2016 at 5:00 AM, Murali Billa wrote: > Hi Michael, > > Can you mention what is the resolution/scale under which you are loading > the content in webview? > > Thanks, > Murali > > -----Original Message----- > From: Michael Ennen [mailto:mike.ennen at gmail.com] > Sent: Friday, January 15, 2016 10:52 AM > To: openjfx-dev at openjdk.java.net > Subject: Windows 7 WebView Text Rendering > > Hello, > > I am using Java 8u66 on Windows 7 and the text rendering in a WebView is > super blurry. For comparison purposes, I created a simple test that shows a > WebView displaying a paragraph and next to it a standard Label showing the > same paragraph. > > http://imgur.com/36RYvf8 > > (Sorry I don't have a better place to upload the screenshot). > > The page I am displaying is the following: > > > >

> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed sed > blandit magna, ut mattis ligula. Donec vestibulum > ut neque id condimentum. Cras blandit erat ac tincidunt bibendum. > Nulla dapibus arcu risus, at tincidunt leo > facilisis sit amet. Donec imperdiet lectus diam, nec egestas sapien > luctus nec. Praesent auctor ligula sed sem > dictum venenatis. Donec non dapibus turpis. Aliquam dictum euismod > sapien id bibendum. Quisque at accumsan eros. > Quisque eleifend maximus justo at tempor. Curabitur ut mi ut justo > auctor malesuada non at mi. Integer augue neque, > ultrices sit amet augue a, interdum ultricies nibh. Sed imperdiet diam > et eros maximus ultrices. Pellentesque > habitant morbi tristique senectus et netus et malesuada fames ac > turpis egestas. >

> > > > The Java code I am using to create the WebView is: > > WebView webView = new WebView(); > webView.setPrefSize(410, 620); > > webView.getEngine().load(getClass().getResource("/web/test.html").toExternalForm()); > > Essentially, a incredibly bare-bones example. > > This text rendering happens on every page I have tried to load (e.g. > actual websites). > > System info: > > OS Name: Microsoft Windows 7 Ultimate > OS Version: 6.1.7601 Service Pack 1 Build 7601 > > java version "1.8.0_66" > Java(TM) SE Runtime Environment (build 1.8.0_66-b17) Java HotSpot(TM) > 64-Bit Server VM (build 25.66-b17, mixed mode) > > Although this is not a functionality breaking issue (e.g. not a > showstopper), it really is a serious issue in my eyes because of just how > qualities are of the rendered texts. > > Thanks very much, > -- > Michael Ennen > -- Michael Ennen From vadim.pakhnushev at oracle.com Tue Jan 19 15:25:05 2016 From: vadim.pakhnushev at oracle.com (Vadim Pakhnushev) Date: Tue, 19 Jan 2016 18:25:05 +0300 Subject: [9] Review request for 8145567: Slider: snapToTicks not honoured on changing to true Message-ID: <569E5551.1020102@oracle.com> Jonathan, Could you please take a look at the fix: https://bugs.openjdk.java.net/browse/JDK-8145567 http://cr.openjdk.java.net/~vadim/8145567/webrev.00/ Thanks, Vadim From swpalmer at gmail.com Tue Jan 19 16:09:58 2016 From: swpalmer at gmail.com (Scott Palmer) Date: Tue, 19 Jan 2016 11:09:58 -0500 Subject: StringBinding and null Message-ID: So I just discovered that: ObjectProperty objectPropertyString = new SimpleObjectProperty<>(null); StringBinding stringBinding = objectPropertyString.asString(); stringBinding.get() == null --> FALSE stringBinding.get().equals("null") --> TRUE I care because this fails to do what I want: Button okayButton; ComboBox combo; //... BooleanBinding dontHaveValue = Bindings.isEmpty(combo.valueProperty().asString()); okayButton.disableProperty().bind(dontHaveValue); The behaviour is understandable and obviously too late to change even if we wanted to (which we probably don't). But I wonder if StringBinding can be tweaked so you can enable the pass through of null if you choose to? If others agree I will open an issue. Scott From leif.samuelsson at oracle.com Tue Jan 19 19:45:50 2016 From: leif.samuelsson at oracle.com (Leif Samuelsson) Date: Tue, 19 Jan 2016 11:45:50 -0800 Subject: [9] Review request for 8144983: TabPane disabled pseudo-class cascades until invisibility Message-ID: <569E926E.3080803@oracle.com> Hi Jonathan, Please review this fix for modena.css. The patch is in JIRA. https://bugs.openjdk.java.net/browse/JDK-8144983 Thanks, Leif From danielhilst at gmail.com Tue Jan 19 20:19:58 2016 From: danielhilst at gmail.com (Daniel.) Date: Tue, 19 Jan 2016 18:19:58 -0200 Subject: VNC alternative for JavaFX running directly on framebuffer. In-Reply-To: <55C363DA.2060200@Oracle.com> References: <55C363DA.2060200@Oracle.com> Message-ID: Hi every body, sorry about reviving an old message but, Is there anyone tried this: http://comtel2000.github.io/jfxvnc/ ? Best regards, 2015-08-06 10:40 GMT-03:00 David Hill : > On 8/6/15, 9:36 AM, Daniel. wrote: > >> Hi all, >> >> I'm running applications on Freescale's iMX.6 using JavaFX. It's known >> that it doesn't uses X but directly access the framebuffer instead, so >> x11vnc doesn't applies. I need to export the video input/output as VNC >> does. >> >> Does anybody knows an alternative solution for this? >> >> Best regards, >> - dhs >> >> I did have an older Glass module running with VNC at one point, mostly as > a demonstration, but that was left behind when we moved to Monocle. > > The structure of Monocle is such that it would not take too much to make > it VNC compatible, the biggest effort actually is the input mapping. I > would probably stuff it in to the "headless" support we have in there. > > I don't have bandwidth to take on something like this right now, as fun as > it would be. > > Dave > > -- > David Hill > Java Embedded Development > > "A man's feet should be planted in his country, but his eyes should survey > the world." > -- George Santayana (1863 - 1952) > > -- *"Do or do not. There is no try"* *Yoda Master* From johan.vos at gluonhq.com Tue Jan 19 20:47:40 2016 From: johan.vos at gluonhq.com (Johan Vos) Date: Tue, 19 Jan 2016 21:47:40 +0100 Subject: Feature matrix In-Reply-To: <0CEF5B38-89B4-4AD0-962E-EEA853A24634@gmail.com> References: <0CEF5B38-89B4-4AD0-962E-EEA853A24634@gmail.com> Message-ID: Hi Felix, I think this is a good idea. If someone creates a matrix with the different modules, I'm happy to fill the cells I have knowledge about. - Johan On Sun, Jan 17, 2016 at 9:32 PM, Felix Bembrick wrote: > I think developers would find it useful if there was a maintained > spreadsheet that was kept as current as possible that details each major > JavaFX feature and the status of its implementation on each platform. > > The values could be something like "FULL" (the feature is fully > implemented and working), "PARTIAL" (the feature is available but is not > complete or suitable for production apps yet), "NONE" (the feature has not > been implemented at all yet but will be eventually) and "NEVER" (for > whatever reason, the feature will never be implemented on this platform). > > This would be so helpful for developers targeting multiple platforms to > know in advance which features are going to work on each platform as > opposed to banging their head against a wall trying to make a > non-functional feature work on a particular platform. > > Ideally this would be hosted and maintained by Oracle though I suspect > Gluon would have more information, especially for mobile platforms, and so > it would be a nice addition to the Gluon website. > > Does anyone else think they would find this useful? Could someone from > Oracle and Gluon please respond? > > Felix From kevin.rushforth at oracle.com Tue Jan 19 21:10:52 2016 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Tue, 19 Jan 2016 13:10:52 -0800 Subject: Changes for January 2016 CPU release (8u71/8u72) synced into FX 8u-dev and 9-dev Message-ID: <569EA65C.30100@oracle.com> I have synced the OpenJFX changes from the just-released January 2016 CPU release (8u71/8u72) into 8u and into 9. Here is a webrev of the FX 8u72 changes for those who are interested in the changes, but don't want to wade through the 58 separate changesets I just pushed (most of which are tag or merge changesets). http://cr.openjdk.java.net/~kcr/8u72-8u-sync/webrev/ The webrev for 9 is almost identical, but here it is if anyone is interested: http://cr.openjdk.java.net/~kcr/9-cpu-1601-sync/webrev/ -- Kevin From kevin.rushforth at oracle.com Wed Jan 20 02:02:17 2016 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Tue, 19 Jan 2016 18:02:17 -0800 Subject: PLEASE READ: Changes needed to make and keep JavaFX repos "jcheck clean" In-Reply-To: <56991D9D.4010708@oracle.com> References: <56991D9D.4010708@oracle.com> Message-ID: <569EEAA9.50402@oracle.com> We are targeting this Friday, Jan 22 as "white-space cleanup day" for 9-dev and 8u-dev. The reason for this accelerated timeline is that we want to do it before RDP2 (RampDown Phase 2) of 8u76 to minimize the merge conflicts that could otherwise happen. Two things to note: 1) Dave will check in a script (and a gradle task to run the script) to help check and fix white space problems so that we stay clean 2) We will send out detailed instructions on how to run the script(s) to avoid problems and/or how to configure jcheck to manually do the checking (you won't be able to run it via an hg hook yet). -- Kevin Kevin Rushforth wrote: > All, > > This is a bit long, but please read it if you are a JavaFX developer > who either pushes or authors changesets (or hopes to do so soon). > > EXECUTIVE SUMMARY > > We plan to enable jcheck in the (I hope) not too distant future. We > will need help from all developers to follow best practices to make > the transition as painless as possible, specifically you will need to > take extra care in creating changesets prior to pushing them to our > forest. > > > DETAILS > > I think all OpenJFX committers are (painfully) aware that JavaFX lacks > the automatic updating JBS issues provided by hgupdater, including: > > * Adding the changeset URL as a comment when a changeset is pushed > * Resolving the JIRA issue as fixed > * Creating a backport record if necessary > * Updating the "resolved in build" field > > In order to enable hgupdater we need to enable jcheck for the OpenJFX > repositories in each forest. In addition to the primary benefit of > allowing us to use hgupdater, the other benefit jcheck gives us is > enforcing good practices, like making sure we don't have DOS line > endings and other whitespace issues that serve only as sources of > merge conflict and inconsistency. > > I have filed an umbrella task [1] in JBS to track the necessary tasks > needed to enable jcheck, and I will be filing individual RFEs (or > bugs) to track the specific tasks. > > This will require some additional restrictions on changesets. The > three main things that developers need to be aware of are: > > 1. Changeset comments must adhere to the proper format defined in the > openjdk Wiki [2]. This means that *all* non-merge changesets must > start with a 7 digit bug ID, followed by a colon ":" followed by the > bug title. It also means that every changeset must have a unique bug > ID. No more "quick and dirty" fixes like "Oops, fix the build" or > "[TOYS] added a quick test program" or "Follow-on fix for 8888888". We > should get in the habit now, so I will be monitoring and sending > private e-mail to you if I see a non-compliant changeset. This rule > does not apply to sandboxes like jake since these changesets will > never be pushed directly to mainline. The only variance is that the > "Reviewed-by" field is still optional for FX, but if present it must > following the correct format. > > 2. White space rules will be enforced. Specifically, jcheck will > disallow TAB characters, DOS-style line endings, or trailing white > space in any source code file. > > 3. No executable files are allowed. In UNIX parlance this means that > every managed file in our repo must have "644" as the permission. I > don't think this will cause us problem in practice. > > > NEXT STEPS > > For the existing files in the repo, we will have a "flag day" where I > (with help from Dave Hill who has volunteered to assist) will push two > changesets to each repository: one changeset to fix the file > permissions (#3 above) and one to fix the whitespace (#2 above). This > will likely happen in the next week or so, after the 8u72 changes are > synced back into 8u-dev (and corresponding changes synced back into > 9-dev), but ideally before we fork the stabilization repos for 8u76. > > I will follow-on with more information, specifically the details of > the "flag day" and what you can do to help ensure that it stays clean, > but wanted to give a heads-up that this was coming. > > Let me know if you have any questions. > > -- Kevin > > [1] https://bugs.openjdk.java.net/browse/JDK-8145561 > [2] http://openjdk.java.net/guide/producingChangeset.html > From Dell.Green at ideaworks.co.uk Wed Jan 20 05:22:37 2016 From: Dell.Green at ideaworks.co.uk (Dell Green) Date: Wed, 20 Jan 2016 05:22:37 +0000 Subject: VNC alternative for JavaFX running directly on framebuffer. Message-ID: I am pretty sure that when i built an operating system for mx6 using yocto project I had the option for it to spit out x11 versions of libegl.so libs instead of framebuffer, although I was only interested in framebuffer option. Dell Green R&D Software Manager t: (+44)203 668 9870 206 Great Portland Street London W1W 5QJ This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you are not the intended recipient or the person responsible for delivering the email to the intended recipient, be advised that you have received this email in error and that any use, dissemination, forwarding, printing, or copying of this email is strictly prohibited. Any views or opinions presented are solely those of the author and do not necessarily represent those of Ideaworks Limited. Ideaworks (London) Limited, 206 Great Portland Street, London, W1W 5QJ. Company Registration No. 3943726 From michael.heinrichs at netopyr.com Wed Jan 20 07:21:25 2016 From: michael.heinrichs at netopyr.com (Michael Heinrichs) Date: Wed, 20 Jan 2016 08:21:25 +0100 Subject: StringBinding and null In-Reply-To: References: Message-ID: <8B51FD96-9CCD-421D-9D9D-7809E3E67D61@netopyr.com> Hi Scott, if I remember correctly, the behavior you observe and would like to change is actually not defined in StringBinding, but in the method asString(). You can fix it by defining your own StringBinding. It is a one-liner, guess you are way better off doing it yourself than waiting for such a change to make it into the official release. ;) Cheers, Michael > On 19 Jan 2016, at 17:09, Scott Palmer wrote: > > So I just discovered that: > > ObjectProperty objectPropertyString = new > SimpleObjectProperty<>(null); > StringBinding stringBinding = objectPropertyString.asString(); > > stringBinding.get() == null --> FALSE > > stringBinding.get().equals("null") --> TRUE > > > I care because this fails to do what I want: > > Button okayButton; > ComboBox combo; > //... > BooleanBinding dontHaveValue = > Bindings.isEmpty(combo.valueProperty().asString()); > okayButton.disableProperty().bind(dontHaveValue); > > The behaviour is understandable and obviously too late to change even if we > wanted to (which we probably don't). But I wonder if StringBinding can be > tweaked so you can enable the pass through of null if you choose to? > > If others agree I will open an issue. > > Scott From alice.Kober-Sotzek at zeiss.com Wed Jan 20 15:51:36 2016 From: alice.Kober-Sotzek at zeiss.com (Kober-Sotzek, Alice) Date: Wed, 20 Jan 2016 15:51:36 +0000 Subject: Comment for JDK-8147823 - ListView's selected items list contains null elements although no items are null Message-ID: Hi, could someone please add the following lines as comment to the issue JDK-8147823 (https://bugs.openjdk.java.net/browse/JDK-8147823)? Thank you very much. This bug was very likely introduced by the fix for JDK-8093204 (https://bugs.openjdk.java.net/browse/JDK-8093204) which is contained in changeset http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/81af9caad4e2. The following test code, which tries to simulate the issue, should illustrate the difference. It contains the implementation of MultipleSelectionModelBase.createListFromBitSet(..).get(..) from 8u60 (currently active) and the one from 8u40 (commented out). When the version of this method of 8u40 is used, the output is: Set all bits Selected indices list: [0, 1, 2] Cleared 0. Selected indices list: [1, 2] Cleared 1. Selected indices list: [2] Selected indices list (second call without changes): [2] However, when the version of this method of 8u60 is used, a -1 shows up as index (which results in the null elements the bug report mentions). Set all bits Selected indices list: [0, 1, 2] Cleared 0. Selected indices list: [1, 2] Cleared 1. Selected indices list: [-1] Selected indices list (second call without changes): [2] Test code: import java.util.BitSet; import java.util.concurrent.atomic.AtomicInteger; import java.util.function.IntSupplier; import com.sun.javafx.scene.control.ReadOnlyUnbackedObservableList; public class CreateListFromBitsetTester { public static void main(String[] args) { BitSet selectedIndices = new BitSet(); AtomicInteger itemCounter = new AtomicInteger(0); ReadOnlyUnbackedObservableList selectedIndicesSeq = createListFromBitSet(selectedIndices, itemCounter::get); selectedIndices.set(0); selectedIndices.set(1); selectedIndices.set(2); itemCounter.set(3); System.out.println("Set all bits"); System.out.println("Selected indices list: " + selectedIndicesSeq); selectedIndices.clear(0); System.out.println("Cleared 0."); itemCounter.set(2); System.out.println("Selected indices list: " + selectedIndicesSeq); selectedIndices.clear(1); System.out.println("Cleared 1."); itemCounter.set(1); System.out.println("Selected indices list: " + selectedIndicesSeq); System.out.println("Selected indices list (second call without changes): " + selectedIndicesSeq); } // This code is normally contained in MultipleSelectionModelBase. private static ReadOnlyUnbackedObservableList createListFromBitSet(final BitSet bitset, IntSupplier itemCounter) { return new ReadOnlyUnbackedObservableList() { private int lastGetIndex = -1; private int lastGetValue = -1; // This code is from 8u60. @Override public Integer get(int index) { final int itemCount = itemCounter.getAsInt(); if (index < 0 || index >= itemCount) return -1; if (index == (lastGetIndex + 1) && lastGetValue < itemCount) { // we're iterating forward in order, short circuit for // performance reasons (RT-39776) lastGetIndex++; lastGetValue = bitset.nextSetBit(lastGetValue + 1); return lastGetValue; } else if (index == (lastGetIndex - 1) && lastGetValue > 0) { // we're iterating backward in order, short circuit for // performance reasons (RT-39776) lastGetIndex--; lastGetValue = bitset.previousSetBit(lastGetValue - 1); return lastGetValue; } else { for (lastGetIndex = 0, lastGetValue = bitset.nextSetBit(0); lastGetValue >= 0 || lastGetIndex == index; lastGetIndex++, lastGetValue = bitset.nextSetBit(lastGetValue + 1)) { if (lastGetIndex == index) { return lastGetValue; } } } return -1; } // This code is from 8u40. // @Override public Integer get(int index) { // if (index < 0 || index >= itemCounter.getAsInt()) return -1; // // for (int pos = 0, val = bitset.nextSetBit(0); // val >= 0 || pos == index; // pos++, val = bitset.nextSetBit(val+1)) { // if (pos == index) return val; // } // // return -1; // } @Override public int size() { return bitset.cardinality(); } @Override public boolean contains(Object o) { if (o instanceof Number) { Number n = (Number) o; int index = n.intValue(); return index >= 0 && index < bitset.length() && bitset.get(index); } return false; } }; } } Thanks, Alice From danielhilst at gmail.com Wed Jan 20 16:43:45 2016 From: danielhilst at gmail.com (Daniel.) Date: Wed, 20 Jan 2016 14:43:45 -0200 Subject: VNC alternative for JavaFX running directly on framebuffer. In-Reply-To: References: Message-ID: Hi Dell, thanks for the reply I have both versions of libegl.so compiled and installed, the framebuffer variants are at /opt/VIVANTE-fb. When I run it with x11 variants and run x11vnc I can connect to the vnc server, can see the application screen, but the inputs doesn't work. I've tested with: SERVER: x11vnc: 0.9.13 lastmod: 2011-08-10 CLIENTS: Vinagre(3.19.2 @ linux) and UltraVNC(1.0.2 @ windows) I'll try to monitor X input events to see what is happening, Best regards, 2016-01-20 3:22 GMT-02:00 Dell Green : > > > I am pretty sure that when i built an operating system for mx6 using yocto project I had the option for it to spit out x11 versions of libegl.so libs instead of framebuffer, although I was only interested in framebuffer option. > > Dell Green > R&D Software Manager > t: (+44)203 668 9870 > > > > > 206 Great Portland Street > London W1W 5QJ > > This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you are not the intended recipient or the person responsible for delivering the email to the intended recipient, be advised that you have received this email in error and that any use, dissemination, forwarding, printing, or copying of this email is strictly prohibited. Any views or opinions presented are solely those of the author and do not necessarily represent those of Ideaworks Limited. Ideaworks (London) Limited, 206 Great Portland Street, London, W1W 5QJ. Company Registration No. 3943726 -- "Do or do not. There is no try" Yoda Master From danielhilst at gmail.com Wed Jan 20 18:28:41 2016 From: danielhilst at gmail.com (Daniel.) Date: Wed, 20 Jan 2016 16:28:41 -0200 Subject: VNC alternative for JavaFX running directly on framebuffer. In-Reply-To: References: Message-ID: I've also tried running with these: -Dglass.platform=Monocle -Dmonocle.platform=VNC -Dprism.order=sw I can see the 5901 port in listening, can connect to it but got a blackscreen. At the console I got this flood BufferOverflowException:, any idea? Here is the full line and first messages: java -Dglass.platform=Monocle -Dmonocle.platform=VNC -Dprism.order=sw -Dprism.verbose=true -Xms256m -Xmx256m -Duser.timezone=GMT br.ind.csi.andon.ui.MainApp andon.ini Prism pipeline init order: sw Using native-based Pisces rasterizer Using dirty region optimizations Using system sized mask for primitives Not forcing power of 2 sizes for textures Using hardware CLAMP_TO_ZERO mode Opting in for HiDPI pixel scaling *** Fallback to Prism SW pipeline Prism pipeline name = com.sun.prism.sw.SWPipeline (X) Got class = class com.sun.prism.sw.SWPipeline Initialized prism pipeline: com.sun.prism.sw.SWPipeline vsync: true vpipe: false Loading Prism common native library ... succeeded. Exception in thread "JavaFX Application Thread" java.nio.BufferOverflowException at java.nio.IntBuffer.put(IntBuffer.java:769) at com.sun.glass.ui.monocle.Framebuffer.composePixels(Framebuffer.java:168) at com.sun.glass.ui.monocle.HeadlessScreen.uploadPixels(HeadlessScreen.java:118) at com.sun.glass.ui.monocle.MonocleView._uploadPixels(MonocleView.java:95) at com.sun.glass.ui.View.uploadPixels(View.java:771) at com.sun.prism.PresentableState.uploadPixels(PresentableState.java:295) at com.sun.javafx.tk.quantum.SceneState.access$001(SceneState.java:40) at com.sun.javafx.tk.quantum.SceneState.lambda$uploadPixels$307(SceneState.java:123) at com.sun.glass.ui.monocle.RunnableProcessor.runLoop(RunnableProcessor.java:92) at com.sun.glass.ui.monocle.RunnableProcessor.run(RunnableProcessor.java:51) at java.lang.Thread.run(Thread.java:745) java.nio.BufferOverflowException at java.nio.DirectIntBufferU.put(DirectIntBufferU.java:363) at com.sun.javafx.tk.quantum.UploadingPainter.run(UploadingPainter.java:153) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) .... Best regards, 2016-01-20 14:43 GMT-02:00 Daniel. : > Hi Dell, thanks for the reply > > I have both versions of libegl.so compiled and installed, the > framebuffer variants are at /opt/VIVANTE-fb. When I run it with x11 > variants and run x11vnc I can connect to the vnc server, can see the > application screen, but the inputs doesn't work. I've tested with: > > SERVER: x11vnc: 0.9.13 lastmod: 2011-08-10 > CLIENTS: Vinagre(3.19.2 @ linux) and UltraVNC(1.0.2 @ windows) > > I'll try to monitor X input events to see what is happening, > > Best regards, > > 2016-01-20 3:22 GMT-02:00 Dell Green : >> >> >> I am pretty sure that when i built an operating system for mx6 using yocto project I had the option for it to spit out x11 versions of libegl.so libs instead of framebuffer, although I was only interested in framebuffer option. >> >> Dell Green >> R&D Software Manager >> t: (+44)203 668 9870 >> >> >> >> >> 206 Great Portland Street >> London W1W 5QJ >> >> This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you are not the intended recipient or the person responsible for delivering the email to the intended recipient, be advised that you have received this email in error and that any use, dissemination, forwarding, printing, or copying of this email is strictly prohibited. Any views or opinions presented are solely those of the author and do not necessarily represent those of Ideaworks Limited. Ideaworks (London) Limited, 206 Great Portland Street, London, W1W 5QJ. Company Registration No. 3943726 > > > > -- > "Do or do not. There is no try" > Yoda Master -- "Do or do not. There is no try" Yoda Master From jonathan.giles at oracle.com Thu Jan 21 02:00:00 2016 From: jonathan.giles at oracle.com (Jonathan Giles) Date: Thu, 21 Jan 2016 15:00:00 +1300 Subject: [Review request] 8090477: Customizable visibility timing for Tooltip Message-ID: <56A03BA0.2070008@oracle.com> Kevin, Please review the latest patch attached here: https://bugs.openjdk.java.net/browse/JDK-8090477 Thanks -- -- Jonathan From chris.bensen at oracle.com Thu Jan 21 16:47:40 2016 From: chris.bensen at oracle.com (Chris Bensen) Date: Thu, 21 Jan 2016 08:47:40 -0800 Subject: [9] 8147492: [packager] javapackager.exe support for unicode Message-ID: Kevin, Please review the following fix https://bugs.openjdk.java.net/browse/JDK-8147492 http://cr.openjdk.java.net/~cbensen/JDK-8147492/webrev.00/ Thanks, Chris From kevin.rushforth at oracle.com Thu Jan 21 23:18:34 2016 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Thu, 21 Jan 2016 15:18:34 -0800 Subject: PLEASE READ: jcheck cleanup Friday, 22-Jan-2016 morning, repo will be locked Message-ID: <56A1674A.70803@oracle.com> All, ACTION: Observe the repo lock time tomorrow and then take steps to keep your changesets "jcheck clean". * 9-dev and 8u-dev will be locked Friday, Jan 22 between 8:00 am and noon Pacific (although I hope to finish sooner). * After we open back up, use the new checkWhiteSpace script or run "hg jcheck" before pushing. More on this when we open back up (don't fix up any white-space issues before tomorrow). * Please make sure that you use proper hg commit messages from now on. As previously announced we will have a "jcheck cleanup" day tomorrow. In preparation for this, I ask for your assistance by not pushing any chanegsets after 8:00 am Pacific tomorrow to either 9-dev or 8u-dev. I expect it will take 2 - 4 hours for us to make the changes to all needed forests and then do a verification step, which will include looking at the patches to ensure no changes other than white space and doing a full test build on Mac, Linux, Windows. With the help of Dave's handy checkWhiteSpace script, I will push a changeset tomorrow to fix: https://bugs.openjdk.java.net/browse/JDK-8147967 I will also push a changeset to address the errant hg tags to fix: https://bugs.openjdk.java.net/browse/JDK-8146907 Let me know if you have any questions. Thanks! -- Kevin From tom.schindl at bestsolution.at Fri Jan 22 12:30:01 2016 From: tom.schindl at bestsolution.at (Tom Schindl) Date: Fri, 22 Jan 2016 13:30:01 +0100 Subject: Mac OSX and German Keyboard Layout (Y/Z) Message-ID: <56A220C9.8030104@bestsolution.at> Hi, I just discovered that the KeyCode reported by JavaFX on OS-X with a german keyboard layout (where eg z and y are interchanged) is wrong. If you press a Z you get as the KeyCode.Y and for Y you get KeyCode.Z - this Y/Z problem. I don't think that I as a java-dev need to deal with that and if you look at other toolkits (swing, swt) they handle this transparently for me! I've attached you a javafx and swing application and you'll notice that swing reports always the correct keycode (no matter if my keyboard layout is english or german) and javafx is wrong on german keyboards. FX: > package application; > > import javafx.application.Application; > import javafx.scene.Scene; > import javafx.scene.control.TextField; > import javafx.scene.layout.BorderPane; > import javafx.stage.Stage; > > > public class Main extends Application { > @Override > public void start(Stage primaryStage) { > try { > BorderPane root = new BorderPane(); > > TextField f = new TextField(); > f.setOnKeyPressed( e -> { > System.err.println("KeyCode: " + e.getCode()); > }); > > root.setCenter(f); > > Scene scene = new Scene(root,400,400); > primaryStage.setScene(scene); > primaryStage.show(); > } catch(Exception e) { > e.printStackTrace(); > } > } > > public static void main(String[] args) { > launch(args); > } > } Swing: > package application; > > import java.awt.event.KeyEvent; > import java.awt.event.KeyListener; > > import javax.swing.JFrame; > import javax.swing.JTextField; > > public class SampleSwing extends JFrame { > public SampleSwing() { > JTextField textField = new JTextField(); > textField.addKeyListener(new KeyListener() { > > @Override > public void keyTyped(KeyEvent e) { > // TODO Auto-generated method stub > > } > > @Override > public void keyReleased(KeyEvent e) { > // TODO Auto-generated method stub > > } > > @Override > public void keyPressed(KeyEvent e) { > System.err.println((char)e.getKeyCode()); > } > }); > getContentPane().add(textField); > } > > public static void main(String[] args) { > new SampleSwing().setVisible(true); > > } > } 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 chris.bensen at oracle.com Fri Jan 22 15:45:28 2016 From: chris.bensen at oracle.com (Chris Bensen) Date: Fri, 22 Jan 2016 07:45:28 -0800 Subject: [9] 8147492: [packager] javapackager.exe support for unicode In-Reply-To: References: Message-ID: Kevin, Just realized I forgot to add your email address to this. Thanks, Chris > On Jan 21, 2016, at 8:47 AM, Chris Bensen wrote: > > Kevin, > > Please review the following fix > > https://bugs.openjdk.java.net/browse/JDK-8147492 > http://cr.openjdk.java.net/~cbensen/JDK-8147492/webrev.00/ > > Thanks, > Chris From vadim.pakhnushev at oracle.com Fri Jan 22 15:45:44 2016 From: vadim.pakhnushev at oracle.com (Vadim Pakhnushev) Date: Fri, 22 Jan 2016 18:45:44 +0300 Subject: In(Sanity) Testing Mondays Message-ID: <56A24EA8.6080402@oracle.com> Reminder, Monday is our weekly sanity testing. You can find your testing assignment at: https://wiki.openjdk.java.net/display/OpenJFX/Sanity+Testing Also please remember that the repo will be locked from 1am PST until 1pm PST. Happy testing! Thanks, Vadim From kevin.rushforth at oracle.com Fri Jan 22 20:24:02 2016 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Fri, 22 Jan 2016 12:24:02 -0800 Subject: PLEASE READ: jcheck cleanup Friday, 22-Jan-2016 morning, repo will be locked In-Reply-To: <56A1674A.70803@oracle.com> References: <56A1674A.70803@oracle.com> Message-ID: <56A28FE2.4030206@oracle.com> This is taking a bit longer than anticipated due to some server issues, so the FX 9-dev and 8u-dev repos are still locked. ETA for 9-dev is 1:30 pm Pacific and 8u-dev is 2:30 pm Pacific. -- Kevin Kevin Rushforth wrote: > All, > > ACTION: Observe the repo lock time tomorrow and then take steps to > keep your changesets "jcheck clean". > > * 9-dev and 8u-dev will be locked Friday, Jan 22 between 8:00 am and > noon Pacific (although I hope to finish sooner). > > * After we open back up, use the new checkWhiteSpace script or run "hg > jcheck" before pushing. More on this when we open back up (don't fix > up any white-space issues before tomorrow). > > * Please make sure that you use proper hg commit messages from now on. > > > As previously announced we will have a "jcheck cleanup" day tomorrow. > In preparation for this, I ask for your assistance by not pushing any > chanegsets after 8:00 am Pacific tomorrow to either 9-dev or 8u-dev. I > expect it will take 2 - 4 hours for us to make the changes to all > needed forests and then do a verification step, which will include > looking at the patches to ensure no changes other than white space and > doing a full test build on Mac, Linux, Windows. > > With the help of Dave's handy checkWhiteSpace script, I will push a > changeset tomorrow to fix: > https://bugs.openjdk.java.net/browse/JDK-8147967 > > I will also push a changeset to address the errant hg tags to fix: > https://bugs.openjdk.java.net/browse/JDK-8146907 > > Let me know if you have any questions. > > Thanks! > > -- Kevin > From kevin.rushforth at oracle.com Fri Jan 22 21:56:36 2016 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Fri, 22 Jan 2016 13:56:36 -0800 Subject: 9-dev is unlocked In-Reply-To: <56A28FE2.4030206@oracle.com> References: <56A1674A.70803@oracle.com> <56A28FE2.4030206@oracle.com> Message-ID: <56A2A594.5080801@oracle.com> I have finished the white space cleanup for 9-dev, so it is unlocked now. Thanks for Dave Hill for his excellent work on the script to find and fix white space and file permission issues, and to Chien Yang and Dave for their help in testing this. We are now "jcheck clean" as far as white space goes. We will run the checkWhiteSpace script regularly to ensure that we stay that way. Here is where you all come in. It is now the shared responsibility of all developers to ensure that no bad white space creeps back into the repo. This means that you need to run "gradle checkrepo" before you push. We will soon wire up that task to the "gradle test" task so it will be even easier to spot. I will send out instructions on running jcheck later, but for now, please use the checkWhiteSpace script either directly or via "gradle checkrepo". Let me know if you have any questions. Thanks. -- Kevin From kevin.rushforth at oracle.com Fri Jan 22 23:54:45 2016 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Fri, 22 Jan 2016 15:54:45 -0800 Subject: 9-dev is unlocked In-Reply-To: <56A2A594.5080801@oracle.com> References: <56A1674A.70803@oracle.com> <56A28FE2.4030206@oracle.com> <56A2A594.5080801@oracle.com> Message-ID: <56A2C145.1070304@oracle.com> 8-dev is unlocked now. Thank you for your patience. -- Kevin Kevin Rushforth wrote: > I have finished the white space cleanup for 9-dev, so it is unlocked > now. Thanks for Dave Hill for his excellent work on the script to find > and fix white space and file permission issues, and to Chien Yang and > Dave for their help in testing this. > > We are now "jcheck clean" as far as white space goes. We will run the > checkWhiteSpace script regularly to ensure that we stay that way. Here > is where you all come in. > > It is now the shared responsibility of all developers to ensure that > no bad white space creeps back into the repo. This means that you need > to run "gradle checkrepo" before you push. We will soon wire up that > task to the "gradle test" task so it will be even easier to spot. > > I will send out instructions on running jcheck later, but for now, > please use the checkWhiteSpace script either directly or via "gradle > checkrepo". > > Let me know if you have any questions. > > Thanks. > > -- Kevin > From kevin.rushforth at oracle.com Fri Jan 22 23:58:28 2016 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Fri, 22 Jan 2016 15:58:28 -0800 Subject: 8u-dev is unlocked In-Reply-To: <56A2C145.1070304@oracle.com> References: <56A1674A.70803@oracle.com> <56A28FE2.4030206@oracle.com> <56A2A594.5080801@oracle.com> <56A2C145.1070304@oracle.com> Message-ID: <56A2C224.9040608@oracle.com> Correcting the subject line. 8u-dev is unlocked (for approved changesets only). -- Kevin Kevin Rushforth wrote: > 8-dev is unlocked now. Thank you for your patience. > > -- Kevin > > > Kevin Rushforth wrote: >> I have finished the white space cleanup for 9-dev, so it is unlocked >> now. Thanks for Dave Hill for his excellent work on the script to >> find and fix white space and file permission issues, and to Chien >> Yang and Dave for their help in testing this. >> >> We are now "jcheck clean" as far as white space goes. We will run the >> checkWhiteSpace script regularly to ensure that we stay that way. >> Here is where you all come in. >> >> It is now the shared responsibility of all developers to ensure that >> no bad white space creeps back into the repo. This means that you >> need to run "gradle checkrepo" before you push. We will soon wire up >> that task to the "gradle test" task so it will be even easier to spot. >> >> I will send out instructions on running jcheck later, but for now, >> please use the checkWhiteSpace script either directly or via "gradle >> checkrepo". >> >> Let me know if you have any questions. >> >> Thanks. >> >> -- Kevin >> From a.ankit.srivastava at oracle.com Mon Jan 25 11:19:52 2016 From: a.ankit.srivastava at oracle.com (Ankit Srivastava) Date: Mon, 25 Jan 2016 03:19:52 -0800 (PST) Subject: Please review the patch for JDK-8148114 Message-ID: Hi Guru, Kevin, Alexander, Please review the fix for below JIRA defects : JBS: https://bugs.openjdk.java.net/browse/JDK-8148114 Webrev: http://cr.openjdk.java.net/~arajkumar/ankit/8148114/webrev.00/ Enabling BLOB macro in JavaFX to use more efficient FileSystem API's. Added a JUnit test case for the same. Regards, Ankit From jan.gassen at me.com Mon Jan 25 15:43:23 2016 From: jan.gassen at me.com (Jan Gassen) Date: Mon, 25 Jan 2016 16:43:23 +0100 Subject: JavaFX menu bar on OS X Message-ID: <113D556E-E89F-464C-B77F-2E18D156C99D@me.com> Hi all, I recently did some work on customising the application menu of JavaFX apps on OS X, i.e. adding additional menu items or renaming existing ones. I added all these changes to a little project called NSMenuFX but I?d also like to contribute parts to OpenJFX. There already seems to be a related ticket at https://bugs.openjdk.java.net/browse/JDK-8091517 I?m new to this list and just got my OCA processed, but I don?t really know how to continue. If you think this is a good idea, it?d be great if you could give me a hand :) BR Jan From kevin.rushforth at oracle.com Mon Jan 25 21:07:08 2016 From: kevin.rushforth at oracle.com (Kevin Rushforth) Date: Mon, 25 Jan 2016 13:07:08 -0800 Subject: 9-dev unlocked following sanity testing Message-ID: <56A68E7C.7070304@oracle.com> From jonathan.giles at oracle.com Mon Jan 25 22:19:07 2016 From: jonathan.giles at oracle.com (Jonathan Giles) Date: Tue, 26 Jan 2016 11:19:07 +1300 Subject: Committing (rather than cancelling) cell changes on focus loss Message-ID: <56A69F5B.1040102@oracle.com> Hi all, I've been aware for a very long time that many people would love to see the default behavior for the ListView / TreeView / TableView / TreeTableView controls change from being 'cancel edit on focus lost' to 'commit edit on focus lost' when users are editing the value of a cell. I believe the main JBS issue is this one: https://bugs.openjdk.java.net/browse/JDK-8089514 I've developed a proposal on how this can be changed without breaking any APIs. Additionally, the semantics don't change by default - all current users won't be impacted, only those that opt-in by overriding a new protected method. I've posted a brief summary of the proposed changes as a comment in the JBS issue linked above. I am very keen to hear thoughts in the JBS issue (don't spam the list!), and let's see how things shape up from this discussion. -- -- Jonathan From paskokv at gmail.com Tue Jan 26 07:47:18 2016 From: paskokv at gmail.com (Konstantin Pasko) Date: Tue, 26 Jan 2016 08:47:18 +0100 Subject: Committing (rather than cancelling) cell changes on focus loss In-Reply-To: <56A69F5B.1040102@oracle.com> References: <56A69F5B.1040102@oracle.com> Message-ID: Hi, speaking about UX and TableView / TreeTableView: I've "discovered" a strange behaviour of those controls, that differs from Swing JTable or WPF's Datagrid. When I selected a row and then removed it -- another row gets selected (JavaFX). When I selected a row and then removed it -- nothing is selected any more (JTable & WPF). Is it by design or should I file a bug? Unfortunately I can't find a page with TableView / TreeTableView UX specification any more, but this behaviour is not specified there. It causes a problem in the application I'm working on, where the selection has a business meaning. Regards, Konstantin 2016-01-25 23:19 GMT+01:00 Jonathan Giles : > Hi all, > > I've been aware for a very long time that many people would love to see > the default behavior for the ListView / TreeView / TableView / > TreeTableView controls change from being 'cancel edit on focus lost' to > 'commit edit on focus lost' when users are editing the value of a cell. > > I believe the main JBS issue is this one: > https://bugs.openjdk.java.net/browse/JDK-8089514 > > I've developed a proposal on how this can be changed without breaking any > APIs. Additionally, the semantics don't change by default - all current > users won't be impacted, only those that opt-in by overriding a new > protected method. I've posted a brief summary of the proposed changes as a > comment in the JBS issue linked above. I am very keen to hear thoughts in > the JBS issue (don't spam the list!), and let's see how things shape up > from this discussion. > > -- > > > -- Jonathan > > From jonathan.giles at oracle.com Tue Jan 26 07:48:55 2016 From: jonathan.giles at oracle.com (Jonathan Giles) Date: Tue, 26 Jan 2016 20:48:55 +1300 Subject: Committing (rather than cancelling) cell changes on focus loss In-Reply-To: References: <56A69F5B.1040102@oracle.com> Message-ID: <56A724E7.3000008@oracle.com> This was by (UX) design, but that does not always mean it is right. As usual, file issues and we can discuss what the default should be. -- Jonathan On 26/01/16 8:47 PM, Konstantin Pasko wrote: > Hi, > > speaking about UX and TableView / TreeTableView: > I've "discovered" a strange behaviour of those controls, that differs > from Swing JTable or WPF's Datagrid. > When I selected a row and then removed it -- another row gets selected > (JavaFX). > When I selected a row and then removed it -- nothing is selected any > more (JTable & WPF). > > Is it by design or should I file a bug? Unfortunately I can't find a > page with TableView / TreeTableView UX specification any more, but > this behaviour is not specified there. > > It causes a problem in the application I'm working on, where the > selection has a business meaning. > > Regards, > Konstantin > > 2016-01-25 23:19 GMT+01:00 Jonathan Giles >: > > Hi all, > > I've been aware for a very long time that many people would love > to see the default behavior for the ListView / TreeView / > TableView / TreeTableView controls change from being 'cancel edit > on focus lost' to 'commit edit on focus lost' when users are > editing the value of a cell. > > I believe the main JBS issue is this one: > https://bugs.openjdk.java.net/browse/JDK-8089514 > > I've developed a proposal on how this can be changed without > breaking any APIs. Additionally, the semantics don't change by > default - all current users won't be impacted, only those that > opt-in by overriding a new protected method. I've posted a brief > summary of the proposed changes as a comment in the JBS issue > linked above. I am very keen to hear thoughts in the JBS issue > (don't spam the list!), and let's see how things shape up from > this discussion. > > -- > > > -- Jonathan > > From a.ankit.srivastava at oracle.com Wed Jan 27 06:32:40 2016 From: a.ankit.srivastava at oracle.com (Ankit Srivastava) Date: Tue, 26 Jan 2016 22:32:40 -0800 (PST) Subject: Please review the patch for JDK-8148114 In-Reply-To: References: Message-ID: Hi Guru, Kevin, Alexander, Please review the fix for below JIRA defects : JBS: https://bugs.openjdk.java.net/browse/JDK-8148114 Webrev: http://cr.openjdk.java.net/~arajkumar/ankit/8148114/webrev.01/ Enabling BLOB macro in JavaFX to use more efficient FileSystem API's. Added a JUnit test case for the same. Incorporated Murali review comment changes. Regards, Ankit From: Ankit Srivastava Sent: Monday, January 25, 2016 4:50 PM To: Kevin Rushforth; Alexander Zvegintsev; Guru Hb Cc: openjfx-dev at openjdk.java.net Subject: Please review the patch for JDK-8148114 Hi Guru, Kevin, Alexander, Please review the fix for below JIRA defects : JBS: https://bugs.openjdk.java.net/browse/JDK-8148114 Webrev: http://cr.openjdk.java.net/~arajkumar/ankit/8148114/webrev.00/ Enabling BLOB macro in JavaFX to use more efficient FileSystem API's. Added a JUnit test case for the same. Regards, Ankit From chien.yang at oracle.com Wed Jan 27 21:37:49 2016 From: chien.yang at oracle.com (Chien Yang) Date: Wed, 27 Jan 2016 13:37:49 -0800 Subject: Code Review Request For JDK-8147010: Update JavaFX for move of sun.misc.PerformanceLogger to sun.awt.util Message-ID: <56A938AD.30806@oracle.com> Hi Kevin, Please review the proposed fix: JIRA: https://bugs.openjdk.java.net/browse/JDK-8147010 Webrev: http://cr.openjdk.java.net/~ckyang/JDK-8147010/webrev.00/ Thanks, - Chien From mike.ennen at gmail.com Wed Jan 27 22:41:18 2016 From: mike.ennen at gmail.com (Michael Ennen) Date: Wed, 27 Jan 2016 15:41:18 -0700 Subject: JavaFX menu bar on OS X In-Reply-To: <113D556E-E89F-464C-B77F-2E18D156C99D@me.com> References: <113D556E-E89F-464C-B77F-2E18D156C99D@me.com> Message-ID: Just want to say I think this is a good idea (and also potentially necessary given JDK 9 changes (unless of course every internal API that is used in NSMenuFX is being ported to public API)). On Mon, Jan 25, 2016 at 8:43 AM, Jan Gassen wrote: > Hi all, > > I recently did some work on customising the application menu of JavaFX > apps on OS X, i.e. adding additional menu items or renaming existing ones. > I added all these changes to a little project called NSMenuFX but I?d also > like to contribute parts to OpenJFX. There already seems to be a related > ticket at https://bugs.openjdk.java.net/browse/JDK-8091517 > > I?m new to this list and just got my OCA processed, but I don?t really > know how to continue. If you think this is a good idea, it?d be great if > you could give me a hand :) > > BR > Jan -- Michael Ennen From fastegal at swingempire.de Fri Jan 29 13:14:05 2016 From: fastegal at swingempire.de (fastegal at swingempire.de) Date: Fri, 29 Jan 2016 14:14:05 +0100 Subject: TableCellSkinBase: columnVisibility/Width should be protected Message-ID: <20160129141405.Horde.2jX1HnboguNBRPF2zbIrQg1@webmail.df.eu> On the move into public, its abstract methods columnVisibility/Width/Property changed scope from protected to package - this makes the base class rather useless for extension: it's main job is sync'ing the cell's visible property to the column's visible property and triggering and doing the cell's layout. Both are possible only, if subclasses provide the column properties. Would suggest to change scope back to protected. Or any special reasons for not doing it? Cheers Jeanette From fastegal at swingempire.de Fri Jan 29 13:33:52 2016 From: fastegal at swingempire.de (fastegal at swingempire.de) Date: Fri, 29 Jan 2016 14:33:52 +0100 Subject: TableCellSkinBase: columnVisibility/Width should be protected In-Reply-To: <20160129141405.Horde.2jX1HnboguNBRPF2zbIrQg1@webmail.df.eu> References: <20160129141405.Horde.2jX1HnboguNBRPF2zbIrQg1@webmail.df.eu> Message-ID: <20160129143352.Horde._togGFawyWWJL9fMxDWCyQ6@webmail.df.eu> just noticed that I can't even compile any subclass, so filed a bug: https://bugs.openjdk.java.net/browse/JDK-8148573 Zitat von fastegal at swingempire.de: > On the move into public, its abstract methods columnVisibility/Width/Property > changed scope from protected to package - this makes the base class > rather useless > for extension: it's main job is sync'ing the cell's visible property to the > column's visible property and triggering and doing the cell's layout. > Both are possible only, if subclasses provide the column properties. > > Would suggest to change scope back to protected. Or any special reasons for > not doing it? > > Cheers > Jeanette From vadim.pakhnushev at oracle.com Fri Jan 29 14:50:30 2016 From: vadim.pakhnushev at oracle.com (Vadim Pakhnushev) Date: Fri, 29 Jan 2016 17:50:30 +0300 Subject: In(Sanity) Testing Mondays Message-ID: <56AB7C36.4060300@oracle.com> Reminder, Monday is our weekly sanity testing. You can find your testing assignment at: https://wiki.openjdk.java.net/display/OpenJFX/Sanity+Testing Also please remember that the repo will be locked from 1am PST until 1pm PST. Happy testing! Thanks, Vadim From David.Hill at Oracle.com Fri Jan 29 18:06:38 2016 From: David.Hill at Oracle.com (David Hill) Date: Fri, 29 Jan 2016 13:06:38 -0500 Subject: review for: 8148489: conditional execution of unstable tests Message-ID: <56ABAA2E.8040405@Oracle.com> Kevin, https://bugs.openjdk.java.net/browse/JDK-8148489 webrev: http://cr.openjdk.java.net/~ddhill/8148489/ @Test public void unstable_test_check() { assumeTrue(Boolean.getBoolean("unstable.test")); assertTrue(false); } ignored by default, failed as expected with -PUNSTABLE_TEST=true -- David Hill Java Embedded Development "A man's feet should be planted in his country, but his eyes should survey the world." -- George Santayana (1863 - 1952) From leif.samuelsson at oracle.com Fri Jan 29 19:13:58 2016 From: leif.samuelsson at oracle.com (Leif Samuelsson) Date: Fri, 29 Jan 2016 11:13:58 -0800 Subject: [9] Request for API review: 8143158 [Text, TextFlow] Make public API from internal "impl" APIs In-Reply-To: <565B9893.9010008@oracle.com> References: <565B9893.9010008@oracle.com> Message-ID: <56ABB9F6.1010704@oracle.com> Just a reminder. The proposed API for TextFlow is kept simple as described in JIRA. Thanks, Leif On 2015-11-29 16:30, Leif Samuelsson wrote: > Kevin, Phil, et al, > > Please review the proposed new API for Text and TextFlow to open up > existing internal methods for text selection, etc. > > Most of the new Text API is simply renaming of formerly deprecated > methods, while the TextFlow API is added to expose underlying layout > functionality and matches the corresponding Text API. > > https://bugs.openjdk.java.net/browse/JDK-8143158 > > Code review will follow. > > Thanks, > Leif From chien.yang at oracle.com Sat Jan 30 07:06:47 2016 From: chien.yang at oracle.com (Chien Yang) Date: Fri, 29 Jan 2016 23:06:47 -0800 Subject: Code Review Request For JDK-8140306: Add regression test for JDK-8136495 Message-ID: <56AC6107.8030506@oracle.com> Hi Kevin, Please review the proposed robot test: http://cr.openjdk.java.net/~ckyang/JDK-8140306/webrev.00/ I have verified that it works well on Mac, Linux and Windows. Thanks, - Chien From jonathan.giles at oracle.com Sun Jan 31 19:57:59 2016 From: jonathan.giles at oracle.com (Jonathan Giles) Date: Mon, 1 Feb 2016 08:57:59 +1300 Subject: TableCellSkinBase: columnVisibility/Width should be protected In-Reply-To: <20160129141405.Horde.2jX1HnboguNBRPF2zbIrQg1@webmail.df.eu> References: <20160129141405.Horde.2jX1HnboguNBRPF2zbIrQg1@webmail.df.eu> Message-ID: <56AE6747.1070502@oracle.com> In moving most of the skin code to public API (as part of JEP 253), I worked with the plan of minimising the API as much as possible, and would then spend time this year bringing API back out in a more considered way (as opposed to dumping all skin code, warts and all, into public API and making mistakes). I am happyto make more API public, and have been encouraging people heavily at conferences to start playing with JDK 9 _today_. Your bug is now on my radar - I will look into it ASAP. -- Jonathan On 30/01/16 2:14 AM, fastegal at swingempire.de wrote: > > On the move into public, its abstract methods > columnVisibility/Width/Property > changed scope from protected to package - this makes the base class > rather useless > for extension: it's main job is sync'ing the cell's visible property > to the > column's visible property and triggering and doing the cell's layout. > Both are possible only, if subclasses provide the column properties. > > Would suggest to change scope back to protected. Or any special > reasons for > not doing it? > > Cheers > Jeanette >