=== modified file 'src/com/goldencode/p2j/ui/client/driver/web/res/p2j.js' --- src/com/goldencode/p2j/ui/client/driver/web/res/p2j.js 2015-12-15 19:53:13 +0000 +++ src/com/goldencode/p2j/ui/client/driver/web/res/p2j.js 2015-12-15 22:28:24 +0000 @@ -20,7 +20,7 @@ ** 007 SBI 20150901 Modifications to initialization order. ** 008 SBI 20151020 Increased logging buffer size. ** 009 SBI 20151215 Fixed to take into an account that for Chrome an element style object has only -** the "getter" access function. +** the "getter" access function. Changed to detect Chrome. */ "use strict"; @@ -53,8 +53,8 @@ /** Browser detection flags. */ me.isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1; - me.isChromium = navigator.userAgent.toLowerCase().indexOf('chromium') > -1; - me.isChrome = !!window.chrome; + me.isChrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1; + me.isChromium = !!window.chrome; me.isIe = !!window.ActiveXObject; /** The default container element (if specified), or document.body. */ === modified file 'src/com/goldencode/p2j/ui/client/gui/driver/web/res/p2j.canvas_renderer.js' --- src/com/goldencode/p2j/ui/client/gui/driver/web/res/p2j.canvas_renderer.js 2015-12-09 13:24:04 +0000 +++ src/com/goldencode/p2j/ui/client/gui/driver/web/res/p2j.canvas_renderer.js 2015-12-15 22:32:04 +0000 @@ -18,6 +18,8 @@ ** 004 SBI 20151125 Move clipping logic from putImageData to drawing primitives: drawImage and ** drawLineSegment. ** 005 SBI 20151205 Changed to adjust clipping regions according to a new origin. +** 006 SBI 20151216 Changed to work around that the Chrome's implementation of getImageData +** rounds function parameters. */ "use strict"; @@ -781,7 +783,15 @@ * Pixels must be returned as non-premultiplied alpha values according to: * http://www.w3.org/TR/2dcontext/#pixel-manipulation */ - var img = ctx.getImageData(xo, yo, width, height); + var img; + if (p2j.isChrome) + { + img = ctx.getImageData(Math.round(xo), Math.round(yo), width, height); + } + else + { + img = ctx.getImageData(xo, yo, width, height); + } var data = img.data; var pixelsInBytes = width * height * 4; var offset = imgDataOffset;