JDK-8171307 : WebView dirty regions not rendered properly after scroll & resize
  • Type: Bug
  • Component: javafx
  • Sub-Component: web
  • Affected Version: 8,9
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: windows
  • CPU: generic
  • Submitted: 2016-12-14
  • Updated: 2018-09-06
  • Resolved: 2017-01-16
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
tbdResolved
Related Reports
Duplicate :  
Description
FULL PRODUCT VERSION :
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)

ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows [Version 10.0.10586]

A DESCRIPTION OF THE PROBLEM :
If a WebView is scrolled far enough and then enlarged, the dirty region is not properly set, causing only a part of the WebView to update on subsequent scrolling.

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. Start the sample application, preferably with -Dprism.showdirty=true
2. Wait until the website is loaded
3. Scroll all the way down
4. Enlarge the window
5. Scroll up again

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
The WebView should render normally
ACTUAL -
Only the initially visible part is updating 100% of the time, the rest of the page updates sometimes.

REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javafx.stage.Stage;

public class WebViewBug extends Application {

  public static void main(String[] args) {
    launch(args);
  }

  @Override
  public void start(Stage primaryStage) throws Exception {
    WebView webView = new WebView();
    WebEngine engine = webView.getEngine();
    engine.load("http://www.oracle.com");
    primaryStage.setScene(new Scene(webView, 200, 200));
    primaryStage.show();
  }
}

---------- END SOURCE ----------

CUSTOMER SUBMITTED WORKAROUND :
-Dprism.dirtyopts=false


Comments
Post to fix for JDK-8132675, This is no longer re-producible.
16-01-2017

Reproducible on 8gab132 onwards, De prioritising to tbd_major.
18-12-2016

Could reproduce the issue by maximizing/resizing the window using the mouse. Steps to reproduce(javac): ************************** - Run the attached file(WebViewBug.java) with JDK. - Start the sample application, preferably with -Dprism.showdirty=true - Wait until the website is loaded - Scroll all the way down - Enlarge the window [move the mouse cursor to any edge or corner of the window until a double-headed arrow appears. Once this arrow appears, click the mouse and drag it ] - Scroll up again Result: ********* OS : Microsoft Windows 7 Professional 64 bit [Version 6.1.7601], Microsoft Windows 10 Professional 64 bit [Version 10.0.10586] JDK: ++++ 8 b132 : Fail 8u111 b14 : Fail 8u112 b15 : Fail 9ea+148 : Fail ================================================================
16-12-2016

Asked submitter to try with different system whether it is reproducible or not.
15-12-2016

Verified the issue against 8,8u111,8u112,9ea on Windows 7,10 and could not reproduce the issue as reported by submitter. Steps to reproduce(javac): ************************** - Run the attached file(WebViewBug.java) with JDK. - Start the sample application, preferably with -Dprism.showdirty=true - Wait until the website is loaded - Scroll all the way down - Enlarge the window - Scroll up again Result: ********* OS : Microsoft Windows 7 Professional 64 bit [Version 6.1.7601], Microsoft Windows 10 Professional 64 bit [Version 10.0.10586] JDK: ++++ 8 b132 : Pass 8u111 b14 : Pass 8u112 b15 : Pass 9ea+148 : Pass ================================================================
15-12-2016