Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8125259

text-shadow CSS property makes WebView unstable

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: P3 P3
    • 8
    • 7u6
    • javafx
    • Windows 7 version 6.1 running on x86

    • web

      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)

            ant Anton Tarasov (Inactive)
            jstola Jan Štola
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported: