Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
df43efe4
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,发现更多精彩内容 >>
提交
df43efe4
编写于
9月 26, 2017
作者:
A
Alex Dima
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fixes #34779: Do not trim long text in the current page if a screen reader is known to be attached
上级
4368d0f4
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
15 addition
and
13 deletion
+15
-13
src/vs/editor/browser/controller/textAreaHandler.ts
src/vs/editor/browser/controller/textAreaHandler.ts
+1
-1
src/vs/editor/browser/controller/textAreaState.ts
src/vs/editor/browser/controller/textAreaState.ts
+12
-10
src/vs/editor/test/browser/controller/imeTester.ts
src/vs/editor/test/browser/controller/imeTester.ts
+1
-1
src/vs/editor/test/browser/controller/textAreaState.test.ts
src/vs/editor/test/browser/controller/textAreaState.test.ts
+1
-1
未找到文件。
src/vs/editor/browser/controller/textAreaHandler.ts
浏览文件 @
df43efe4
...
...
@@ -182,7 +182,7 @@ export class TextAreaHandler extends ViewPart {
return
TextAreaState
.
EMPTY
;
}
return
PagedScreenReaderStrategy
.
fromEditorSelection
(
currentState
,
simpleModel
,
this
.
_selections
[
0
]);
return
PagedScreenReaderStrategy
.
fromEditorSelection
(
currentState
,
simpleModel
,
this
.
_selections
[
0
]
,
this
.
_accessibilitySupport
===
platform
.
AccessibilitySupport
.
Unknown
);
},
deduceModelPosition
:
(
viewAnchorPosition
:
Position
,
deltaOffset
:
number
,
lineFeedCnt
:
number
):
Position
=>
{
...
...
src/vs/editor/browser/controller/textAreaState.ts
浏览文件 @
df43efe4
...
...
@@ -241,7 +241,7 @@ export class PagedScreenReaderStrategy {
return
new
Range
(
startLineNumber
,
1
,
endLineNumber
+
1
,
1
);
}
public
static
fromEditorSelection
(
previousState
:
TextAreaState
,
model
:
ISimpleModel
,
selection
:
Range
):
TextAreaState
{
public
static
fromEditorSelection
(
previousState
:
TextAreaState
,
model
:
ISimpleModel
,
selection
:
Range
,
trimLongText
:
boolean
):
TextAreaState
{
let
selectionStartPage
=
PagedScreenReaderStrategy
.
_getPageOfLine
(
selection
.
startLineNumber
);
let
selectionStartPageRange
=
PagedScreenReaderStrategy
.
_getRangeForPage
(
selectionStartPage
);
...
...
@@ -273,15 +273,17 @@ export class PagedScreenReaderStrategy {
// Chromium handles very poorly text even of a few thousand chars
// Cut text to avoid stalling the entire UI
const
LIMIT_CHARS
=
500
;
if
(
pretext
.
length
>
LIMIT_CHARS
)
{
pretext
=
pretext
.
substring
(
pretext
.
length
-
LIMIT_CHARS
,
pretext
.
length
);
}
if
(
posttext
.
length
>
LIMIT_CHARS
)
{
posttext
=
posttext
.
substring
(
0
,
LIMIT_CHARS
);
}
if
(
text
.
length
>
2
*
LIMIT_CHARS
)
{
text
=
text
.
substring
(
0
,
LIMIT_CHARS
)
+
String
.
fromCharCode
(
8230
)
+
text
.
substring
(
text
.
length
-
LIMIT_CHARS
,
text
.
length
);
if
(
trimLongText
)
{
const
LIMIT_CHARS
=
500
;
if
(
pretext
.
length
>
LIMIT_CHARS
)
{
pretext
=
pretext
.
substring
(
pretext
.
length
-
LIMIT_CHARS
,
pretext
.
length
);
}
if
(
posttext
.
length
>
LIMIT_CHARS
)
{
posttext
=
posttext
.
substring
(
0
,
LIMIT_CHARS
);
}
if
(
text
.
length
>
2
*
LIMIT_CHARS
)
{
text
=
text
.
substring
(
0
,
LIMIT_CHARS
)
+
String
.
fromCharCode
(
8230
)
+
text
.
substring
(
text
.
length
-
LIMIT_CHARS
,
text
.
length
);
}
}
return
new
TextAreaState
(
pretext
+
text
+
posttext
,
pretext
.
length
,
pretext
.
length
+
text
.
length
,
new
Position
(
selection
.
startLineNumber
,
selection
.
startColumn
),
new
Position
(
selection
.
endLineNumber
,
selection
.
endColumn
));
...
...
src/vs/editor/test/browser/controller/imeTester.ts
浏览文件 @
df43efe4
...
...
@@ -100,7 +100,7 @@ function doCreateTest(description: string, inputStr: string, expectedStr: string
const
selection
=
new
Range
(
1
,
1
+
cursorOffset
,
1
,
1
+
cursorOffset
+
cursorLength
);
return
PagedScreenReaderStrategy
.
fromEditorSelection
(
currentState
,
model
,
selection
);
return
PagedScreenReaderStrategy
.
fromEditorSelection
(
currentState
,
model
,
selection
,
true
);
},
deduceModelPosition
:
(
viewAnchorPosition
:
Position
,
deltaOffset
:
number
,
lineFeedCnt
:
number
):
Position
=>
{
return
null
;
...
...
src/vs/editor/test/browser/controller/textAreaState.test.ts
浏览文件 @
df43efe4
...
...
@@ -500,7 +500,7 @@ suite('TextAreaState', () => {
function
testPagedScreenReaderStrategy
(
lines
:
string
[],
selection
:
Selection
,
expected
:
TextAreaState
):
void
{
const
model
=
Model
.
createFromString
(
lines
.
join
(
'
\n
'
));
const
actual
=
PagedScreenReaderStrategy
.
fromEditorSelection
(
TextAreaState
.
EMPTY
,
model
,
selection
);
const
actual
=
PagedScreenReaderStrategy
.
fromEditorSelection
(
TextAreaState
.
EMPTY
,
model
,
selection
,
true
);
assert
.
ok
(
actual
.
equals
(
expected
));
model
.
dispose
();
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录