-
Bug
-
Resolution: Cannot Reproduce
-
P3
-
7u6
-
Windows 7 version 6.1 running on x86
See the attached textShadow.html file. It contains a canvas (in the top left corner) that paints a small box below the mouse cursor (when the mouse cursor moves across the canvas). There is also a SPAN element matched by a rule that contains a text-shadow property.
When you open textShadow.html in WebView and the mentioned CSS rule is commented out then this page works as expected, i.e., the red box is painted below the mouse cursor.
When you open textShadow.html in WebView and the CSS rule is not commented out then the canvas is not repainted correctly, i.e., the red box is not painted and the following exceptions are thrown repeatedly:
java.nio.BufferUnderflowException
at java.nio.DirectByteBuffer.get(DirectByteBuffer.java:235)
at java.nio.ByteBuffer.get(ByteBuffer.java:675)
at com.sun.prism.j2d.J2DTexture$IntArgbPreUpdater.updateFromByteBuffer(J2DTexture.java:410)
at com.sun.prism.j2d.J2DTexture.update(J2DTexture.java:170)
at com.sun.prism.j2d.J2DTexture.update(J2DTexture.java:138)
at com.sun.prism.impl.BaseResourceFactory.createTexture(BaseResourceFactory.java:132)
at com.sun.prism.impl.BaseResourceFactory.getCachedTexture(BaseResourceFactory.java:100)
at com.sun.javafx.sg.prism.NGImageView.renderContent(NGImageView.java:115)
at com.sun.javafx.sg.prism.NodeEffectInput.getImageDataForBoundedNode(NodeEffectInput.java:192)
at com.sun.javafx.sg.prism.NodeEffectInput.filter(NodeEffectInput.java:85)
at com.sun.scenario.effect.FilterEffect.filter(FilterEffect.java:167)
at com.sun.scenario.effect.Offset.filter(Offset.java:161)
at com.sun.scenario.effect.Merge.filter(Merge.java:147)
at com.sun.scenario.effect.DelegateEffect.filter(DelegateEffect.java:68)
at com.sun.scenario.effect.impl.prism.PrEffectHelper.render(PrEffectHelper.java:156)
at com.sun.javafx.sg.prism.NGNode$EffectFilter.render(NGNode.java:748)
at com.sun.javafx.sg.prism.NGNode.renderEffect(NGNode.java:494)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:185)
at com.sun.javafx.sg.prism.NGImageView.doRender(NGImageView.java:97)
at com.sun.javafx.sg.prism.NGImageView.doRender(NGImageView.java:20)
at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1145)
at com.sun.webpane.sg.prism.WCGraphicsPrismContext.render(WCGraphicsPrismContext.java:964)
at com.sun.webpane.sg.prism.WCGraphicsPrismContext.access$200(WCGraphicsPrismContext.java:47)
at com.sun.webpane.sg.prism.WCGraphicsPrismContext$7.doPaint(WCGraphicsPrismContext.java:679)
at com.sun.webpane.sg.prism.WCGraphicsPrismContext$Composite.paint(WCGraphicsPrismContext.java:1228)
at com.sun.webpane.sg.prism.WCGraphicsPrismContext.drawImage(WCGraphicsPrismContext.java:668)
at com.sun.webpane.platform.graphics.GraphicsDecoder.drawImage(GraphicsDecoder.java:424)
at com.sun.webpane.platform.graphics.GraphicsDecoder.decode(GraphicsDecoder.java:166)
at com.sun.webpane.platform.graphics.WCRenderQueue.decode(WCRenderQueue.java:67)
at com.sun.webpane.platform.WebPage.paint2GC(WebPage.java:661)
at com.sun.webpane.platform.WebPage.paint(WebPage.java:640)
at com.sun.javafx.sg.prism.NGWebView.renderContent(NGWebView.java:71)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:187)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:39)
at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1145)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:204)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:420)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:187)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:39)
at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1145)
at com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:117)
at com.sun.javafx.tk.quantum.AbstractPainter.paintImpl(AbstractPainter.java:181)
at com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:73)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at com.sun.prism.render.RenderJob.run(RenderJob.java:37)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:98)
at java.lang.Thread.run(Thread.java:662)
java.lang.IllegalStateException: Unbalanced saveState/restoreState
at com.sun.webpane.sg.prism.WCGraphicsPrismContext.dispose(WCGraphicsPrismContext.java:1475)
at com.sun.webpane.sg.prism.WCPageBackBufferImpl.disposeGraphics(WCPageBackBufferImpl.java:32)
at com.sun.webpane.platform.WebPage.paint(WebPage.java:642)
at com.sun.javafx.sg.prism.NGWebView.renderContent(NGWebView.java:71)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:187)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:39)
at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1145)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:204)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:420)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:187)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:39)
at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1145)
at com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:117)
at com.sun.javafx.tk.quantum.AbstractPainter.paintImpl(AbstractPainter.java:181)
at com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:73)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at com.sun.prism.render.RenderJob.run(RenderJob.java:37)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:98)
at java.lang.Thread.run(Thread.java:662)
When you open textShadow.html in WebView and the mentioned CSS rule is commented out then this page works as expected, i.e., the red box is painted below the mouse cursor.
When you open textShadow.html in WebView and the CSS rule is not commented out then the canvas is not repainted correctly, i.e., the red box is not painted and the following exceptions are thrown repeatedly:
java.nio.BufferUnderflowException
at java.nio.DirectByteBuffer.get(DirectByteBuffer.java:235)
at java.nio.ByteBuffer.get(ByteBuffer.java:675)
at com.sun.prism.j2d.J2DTexture$IntArgbPreUpdater.updateFromByteBuffer(J2DTexture.java:410)
at com.sun.prism.j2d.J2DTexture.update(J2DTexture.java:170)
at com.sun.prism.j2d.J2DTexture.update(J2DTexture.java:138)
at com.sun.prism.impl.BaseResourceFactory.createTexture(BaseResourceFactory.java:132)
at com.sun.prism.impl.BaseResourceFactory.getCachedTexture(BaseResourceFactory.java:100)
at com.sun.javafx.sg.prism.NGImageView.renderContent(NGImageView.java:115)
at com.sun.javafx.sg.prism.NodeEffectInput.getImageDataForBoundedNode(NodeEffectInput.java:192)
at com.sun.javafx.sg.prism.NodeEffectInput.filter(NodeEffectInput.java:85)
at com.sun.scenario.effect.FilterEffect.filter(FilterEffect.java:167)
at com.sun.scenario.effect.Offset.filter(Offset.java:161)
at com.sun.scenario.effect.Merge.filter(Merge.java:147)
at com.sun.scenario.effect.DelegateEffect.filter(DelegateEffect.java:68)
at com.sun.scenario.effect.impl.prism.PrEffectHelper.render(PrEffectHelper.java:156)
at com.sun.javafx.sg.prism.NGNode$EffectFilter.render(NGNode.java:748)
at com.sun.javafx.sg.prism.NGNode.renderEffect(NGNode.java:494)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:185)
at com.sun.javafx.sg.prism.NGImageView.doRender(NGImageView.java:97)
at com.sun.javafx.sg.prism.NGImageView.doRender(NGImageView.java:20)
at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1145)
at com.sun.webpane.sg.prism.WCGraphicsPrismContext.render(WCGraphicsPrismContext.java:964)
at com.sun.webpane.sg.prism.WCGraphicsPrismContext.access$200(WCGraphicsPrismContext.java:47)
at com.sun.webpane.sg.prism.WCGraphicsPrismContext$7.doPaint(WCGraphicsPrismContext.java:679)
at com.sun.webpane.sg.prism.WCGraphicsPrismContext$Composite.paint(WCGraphicsPrismContext.java:1228)
at com.sun.webpane.sg.prism.WCGraphicsPrismContext.drawImage(WCGraphicsPrismContext.java:668)
at com.sun.webpane.platform.graphics.GraphicsDecoder.drawImage(GraphicsDecoder.java:424)
at com.sun.webpane.platform.graphics.GraphicsDecoder.decode(GraphicsDecoder.java:166)
at com.sun.webpane.platform.graphics.WCRenderQueue.decode(WCRenderQueue.java:67)
at com.sun.webpane.platform.WebPage.paint2GC(WebPage.java:661)
at com.sun.webpane.platform.WebPage.paint(WebPage.java:640)
at com.sun.javafx.sg.prism.NGWebView.renderContent(NGWebView.java:71)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:187)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:39)
at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1145)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:204)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:420)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:187)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:39)
at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1145)
at com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:117)
at com.sun.javafx.tk.quantum.AbstractPainter.paintImpl(AbstractPainter.java:181)
at com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:73)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at com.sun.prism.render.RenderJob.run(RenderJob.java:37)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:98)
at java.lang.Thread.run(Thread.java:662)
java.lang.IllegalStateException: Unbalanced saveState/restoreState
at com.sun.webpane.sg.prism.WCGraphicsPrismContext.dispose(WCGraphicsPrismContext.java:1475)
at com.sun.webpane.sg.prism.WCPageBackBufferImpl.disposeGraphics(WCPageBackBufferImpl.java:32)
at com.sun.webpane.platform.WebPage.paint(WebPage.java:642)
at com.sun.javafx.sg.prism.NGWebView.renderContent(NGWebView.java:71)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:187)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:39)
at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1145)
at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:204)
at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:420)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:187)
at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:39)
at com.sun.javafx.sg.BaseNode.render(BaseNode.java:1145)
at com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:117)
at com.sun.javafx.tk.quantum.AbstractPainter.paintImpl(AbstractPainter.java:181)
at com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:73)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at com.sun.prism.render.RenderJob.run(RenderJob.java:37)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:98)
at java.lang.Thread.run(Thread.java:662)