-
Bug
-
Resolution: Cannot Reproduce
-
P4
-
None
-
jfx21
-
generic
-
generic
ADDITIONAL SYSTEM INFORMATION :
MacBook Pro M3 / Os X 14.5 and above / Adoptium Java 21.0.4 LTS JDK / JavaFx 21.0.4
A DESCRIPTION OF THE PROBLEM :
When using the webview component in a JavaFX application to display a login web page, after trying to login, the web application is doing (multiple) redirects. During this redirect, a Fatal error ocurs which can not be try/cached.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. Create a Webview component
2. Add a listener to the webengine component
3. Let the web application do (multiple) redirects
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
The new web page should be visible
ACTUAL -
Complete crash of the application
---------- BEGIN SOURCE ----------
@FXML
public WebView webView;
WebEngine webEngine = webView.getEngine();
String portalUrl = "some url";
String redirectUrl = "some url";
...
private void addListeners() {
// Add listener to the url property
// If url changes, login was executed
webEngine.locationProperty().addListener(
new ChangeListener<String>() {
@Override public void changed(ObservableValue ov, String oldState, String newState) {
if(oldState != null){
if (!oldState.equals(newState)) {
if(newState.indexOf(redirectUrl) == 0){
// We are on our final destination
// Do stuff
}else if(newState.indexOf("?error=")>-1){
webEngine.load(portalUrl);
}
}
}
}
});
if(!"".equals(portalUrl)){
webEngine.load(portalUrl);
}
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Not yet found
FREQUENCY : always
MacBook Pro M3 / Os X 14.5 and above / Adoptium Java 21.0.4 LTS JDK / JavaFx 21.0.4
A DESCRIPTION OF THE PROBLEM :
When using the webview component in a JavaFX application to display a login web page, after trying to login, the web application is doing (multiple) redirects. During this redirect, a Fatal error ocurs which can not be try/cached.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. Create a Webview component
2. Add a listener to the webengine component
3. Let the web application do (multiple) redirects
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
The new web page should be visible
ACTUAL -
Complete crash of the application
---------- BEGIN SOURCE ----------
@FXML
public WebView webView;
WebEngine webEngine = webView.getEngine();
String portalUrl = "some url";
String redirectUrl = "some url";
...
private void addListeners() {
// Add listener to the url property
// If url changes, login was executed
webEngine.locationProperty().addListener(
new ChangeListener<String>() {
@Override public void changed(ObservableValue ov, String oldState, String newState) {
if(oldState != null){
if (!oldState.equals(newState)) {
if(newState.indexOf(redirectUrl) == 0){
// We are on our final destination
// Do stuff
}else if(newState.indexOf("?error=")>-1){
webEngine.load(portalUrl);
}
}
}
}
});
if(!"".equals(portalUrl)){
webEngine.load(portalUrl);
}
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Not yet found
FREQUENCY : always