diff --git a/platform/ui.jcef/jcef/JBCefNativeOsrHandler.java b/platform/ui.jcef/jcef/JBCefNativeOsrHandler.java index f41a7d0ede57..2ff36602180f 100644 --- a/platform/ui.jcef/jcef/JBCefNativeOsrHandler.java +++ b/platform/ui.jcef/jcef/JBCefNativeOsrHandler.java @@ -116,7 +116,10 @@ class JBCefNativeOsrHandler extends JBCefOsrHandler implements CefNativeRenderHa @Override protected Dimension getCurrentFrameSize() { SharedMemory.WithRaster frame = myCurrentFrame; - return frame == null ? null : new Dimension(frame.getWidth(), frame.getHeight()); + if (frame == null) + return null; + + return new Dimension((int)Math.ceil(frame.getWidth()/getPixelDensity()), (int)Math.ceil(frame.getHeight()/getPixelDensity())); } @Override diff --git a/platform/ui.jcef/jcef/JBCefOsrHandler.java b/platform/ui.jcef/jcef/JBCefOsrHandler.java index 26fd0c0451d1..9805a4d69036 100644 --- a/platform/ui.jcef/jcef/JBCefOsrHandler.java +++ b/platform/ui.jcef/jcef/JBCefOsrHandler.java @@ -291,12 +291,7 @@ class JBCefOsrHandler implements CefRenderHandler { } private VolatileImage createVolatileImage(Graphics2D g, int width, int height) { - VolatileImage volatileImage = myVolatileImage; - int scaledWidth = (int)Math.floor(width/getPixelDensity()); - int scaledHeight = (int)Math.floor(height/getPixelDensity()); - if (width % getPixelDensity() != 0) ++scaledWidth; - if (height % getPixelDensity() != 0) ++scaledHeight; - VolatileImage image = g.getDeviceConfiguration().createCompatibleVolatileImage(scaledWidth, scaledHeight, Transparency.TRANSLUCENT); + VolatileImage image = g.getDeviceConfiguration().createCompatibleVolatileImage(width, height, Transparency.TRANSLUCENT); {// clear image Graphics2D gimg = (Graphics2D)image.getGraphics().create();