提交 d2a5c573 编写于 作者: A Alex Dima

Fixes #24483: Disable usage of translate3d when pixel ratio is not an integer on Chrome 56

上级 98105e03
......@@ -16,6 +16,13 @@ import { FastDomNode } from 'vs/base/browser/fastDomNode';
import { CharWidthRequest, CharWidthRequestType, readCharWidths } from 'vs/editor/browser/config/charWidthReader';
import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
// See https://github.com/Microsoft/vscode/issues/24483
const isChromev56 = (
navigator.userAgent.indexOf('Chrome/56.') >= 0
/* Edge likes to impersonate Chrome sometimes */
&& navigator.userAgent.indexOf('Edge/') === -1
);
class CSSBasedConfigurationCache {
private _keys: { [key: string]: BareFontInfo; };
......@@ -369,7 +376,20 @@ export class Configuration extends CommonEditorConfiguration {
}
protected _getCanUseTranslate3d(): boolean {
return browser.canUseTranslate3d && browser.getZoomLevel() === 0;
if (!browser.canUseTranslate3d) {
return false;
}
if (browser.getZoomLevel() !== 0) {
return false;
}
if (isChromev56) {
const pixelRatio = browser.getPixelRatio();
if (Math.floor(pixelRatio) !== pixelRatio) {
// Not an integer
return false;
}
}
return true;
}
protected _getPixelRatio(): number {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册