Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
30f83907
V
vscode
项目概览
xxadev
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
30f83907
编写于
4月 18, 2017
作者:
B
Benjamin Pasero
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Disable `translate3D` for list when scaling (fixes #24599)
上级
c4d5d01c
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
40 addition
and
26 deletion
+40
-26
src/vs/base/browser/browser.ts
src/vs/base/browser/browser.ts
+28
-1
src/vs/base/browser/ui/list/listView.ts
src/vs/base/browser/ui/list/listView.ts
+10
-3
src/vs/base/browser/ui/scrollbar/scrollableElement.ts
src/vs/base/browser/ui/scrollbar/scrollableElement.ts
+1
-1
src/vs/editor/browser/config/configuration.ts
src/vs/editor/browser/config/configuration.ts
+1
-21
未找到文件。
src/vs/base/browser/browser.ts
浏览文件 @
30f83907
...
...
@@ -124,7 +124,34 @@ export const isChrome = (userAgent.indexOf('Chrome') >= 0);
export
const
isSafari
=
(
userAgent
.
indexOf
(
'
Chrome
'
)
===
-
1
)
&&
(
userAgent
.
indexOf
(
'
Safari
'
)
>=
0
);
export
const
isIPad
=
(
userAgent
.
indexOf
(
'
iPad
'
)
>=
0
);
export
const
canUseTranslate3d
=
!
isFirefox
;
const
isChromev56
=
(
navigator
.
userAgent
.
indexOf
(
'
Chrome/56.
'
)
>=
0
// Edge likes to impersonate Chrome sometimes
&&
navigator
.
userAgent
.
indexOf
(
'
Edge/
'
)
===
-
1
);
export
const
supportsTranslate3d
=
!
isFirefox
;
export
function
canUseTranslate3d
():
boolean
{
if
(
!
supportsTranslate3d
)
{
return
false
;
}
if
(
getZoomLevel
()
!==
0
)
{
return
false
;
}
// see https://github.com/Microsoft/vscode/issues/24483
if
(
isChromev56
)
{
const
pixelRatio
=
getPixelRatio
();
if
(
Math
.
floor
(
pixelRatio
)
!==
pixelRatio
)
{
// Not an integer
return
false
;
}
}
return
true
;
}
export
const
enableEmptySelectionClipboard
=
isWebKit
;
...
...
src/vs/base/browser/ui/list/listView.ts
浏览文件 @
30f83907
...
...
@@ -13,6 +13,8 @@ import { ScrollEvent, ScrollbarVisibility } from 'vs/base/common/scrollable';
import
{
RangeMap
,
IRange
,
relativeComplement
,
each
}
from
'
./rangeMap
'
;
import
{
IDelegate
,
IRenderer
}
from
'
./list
'
;
import
{
RowCache
,
IRow
}
from
'
./rowCache
'
;
import
{
isWindows
}
from
"
vs/base/common/platform
"
;
import
{
canUseTranslate3d
}
from
"
vs/base/browser/browser
"
;
interface
IItem
<
T
>
{
id
:
string
;
...
...
@@ -179,9 +181,14 @@ export class ListView<T> implements IDisposable {
rangesToInsert
.
forEach
(
range
=>
each
(
range
,
i
=>
this
.
insertItemInDOM
(
this
.
items
[
i
],
i
)));
rangesToRemove
.
forEach
(
range
=>
each
(
range
,
i
=>
this
.
removeItemFromDOM
(
this
.
items
[
i
])));
const
transform
=
`translate3d(0px, -
${
renderTop
}
px, 0px)`
;
this
.
rowsContainer
.
style
.
transform
=
transform
;
this
.
rowsContainer
.
style
.
webkitTransform
=
transform
;
if
(
canUseTranslate3d
()
&&
!
isWindows
/* Windows: translate3d breaks subpixel-antialias (ClearType) unless a background is defined */
)
{
const
transform
=
`translate3d(0px, -
${
renderTop
}
px, 0px)`
;
this
.
rowsContainer
.
style
.
transform
=
transform
;
this
.
rowsContainer
.
style
.
webkitTransform
=
transform
;
}
else
{
this
.
rowsContainer
.
style
.
top
=
`-
${
renderTop
}
px`
;
}
this
.
lastRenderTop
=
renderTop
;
this
.
lastRenderHeight
=
renderHeight
;
}
...
...
src/vs/base/browser/ui/scrollbar/scrollableElement.ts
浏览文件 @
30f83907
...
...
@@ -398,7 +398,7 @@ export class DomScrollableElement extends ScrollableElement {
function
resolveOptions
(
opts
:
ScrollableElementCreationOptions
):
ScrollableElementResolvedOptions
{
let
result
:
ScrollableElementResolvedOptions
=
{
canUseTranslate3d
:
opts
.
canUseTranslate3d
&&
Browser
.
canUse
Translate3d
,
canUseTranslate3d
:
opts
.
canUseTranslate3d
&&
Browser
.
supports
Translate3d
,
lazyRender
:
(
typeof
opts
.
lazyRender
!==
'
undefined
'
?
opts
.
lazyRender
:
false
),
className
:
(
typeof
opts
.
className
!==
'
undefined
'
?
opts
.
className
:
''
),
useShadows
:
(
typeof
opts
.
useShadows
!==
'
undefined
'
?
opts
.
useShadows
:
true
),
...
...
src/vs/editor/browser/config/configuration.ts
浏览文件 @
30f83907
...
...
@@ -16,13 +16,6 @@ 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
;
};
...
...
@@ -376,20 +369,7 @@ export class Configuration extends CommonEditorConfiguration {
}
protected
_getCanUseTranslate3d
():
boolean
{
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
;
return
browser
.
canUseTranslate3d
();
}
protected
_getPixelRatio
():
number
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录