WebView + Youtube = NullPointerException

Tobias Bley tobi at ultramixer.com
Mon Oct 12 07:26:16 UTC 2015


Hi,

we tried to replace our in house Java based browser rapper (Webkit on Mac, InternetExplorer on Windows) with WebView. But that’s currently not possible because of NullPointerException and graphic errors (texture failures).

Here is a simple test case: https://github.com/UltraMixer/JavaFXPerformanceTest/blob/master/src/main/java/com/ultramixer/javafxperformancetest/WebViewYoutubeTest.java

The test class loads a video in youtube.com and resizes the window periodically. After just a few seconds WebView is thrown NullPointerExceptions and shows up render issues….

Outstanding resource locks detected:
ES2 Vram Pool: 536.788.704 used (100,0%), 536.870.912 target (100,0%), 536.870.912 max
46 total resources being managed
average resource age is 0,1 frames
0 resources at maximum supported age (0,0%)
41 resources marked permanent (89,1%)
3 resources have had mismatched locks (6,5%)
3 resources locked (6,5%)
42 resources contain interesting data (91,3%)
0 resources disappeared (0,0%)

java.lang.NullPointerException
	at com.sun.javafx.webkit.prism.WCPageBackBufferImpl.validate(WCPageBackBufferImpl.java:115)
	at com.sun.webkit.WebPage.paint(WebPage.java:644)
	at com.sun.javafx.sg.prism.web.NGWebView.renderContent(NGWebView.java:96)
	at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2053)
	at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1945)
	at com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:474)
	at com.sun.javafx.tk.quantum.ViewPainter.paintImpl(ViewPainter.java:327)
	at com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:91)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
	at com.sun.javafx.tk.RenderJob.run(RenderJob.java:58)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:125)
	at java.lang.Thread.run(Thread.java:745)


Tested with: Java 1.8.0_60 and 1.8.0_66 on Mac OS X 10.11 (MacBookPro Retina)

Best regards,
Tobi





More information about the openjfx-dev mailing list