Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
ae4a7512
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,发现更多精彩内容 >>
提交
ae4a7512
编写于
3月 19, 2020
作者:
R
rebornix
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Allow multiple api acquire
上级
56660bef
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
7 addition
and
3 deletion
+7
-3
src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.ts
...ntrib/notebook/browser/view/renderers/backLayerWebView.ts
+2
-0
src/vs/workbench/contrib/webview/browser/pre/main.js
src/vs/workbench/contrib/webview/browser/pre/main.js
+3
-3
src/vs/workbench/contrib/webview/browser/webview.ts
src/vs/workbench/contrib/webview/browser/webview.ts
+1
-0
src/vs/workbench/contrib/webview/browser/webviewWorkbenchService.ts
...kbench/contrib/webview/browser/webviewWorkbenchService.ts
+1
-0
未找到文件。
src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.ts
浏览文件 @
ae4a7512
...
...
@@ -297,6 +297,7 @@ export class BackLayerWebView extends Disposable {
const
webview
=
webviewService
.
createWebviewElement
(
''
+
UUID
.
generateUuid
(),
{
enableFindWidget
:
false
,
},
{
allowMultipleAPIAcquire
:
true
,
allowScripts
:
true
,
localResourceRoots
:
this
.
localResourceRootsCache
});
...
...
@@ -409,6 +410,7 @@ export class BackLayerWebView extends Disposable {
const
mixedResourceRoots
=
[...(
this
.
localResourceRootsCache
||
[]),
...
this
.
rendererRootsCache
];
this
.
webview
.
contentOptions
=
{
allowMultipleAPIAcquire
:
true
,
allowScripts
:
true
,
enableCommandUris
:
true
,
localResourceRoots
:
mixedResourceRoots
...
...
src/vs/workbench/contrib/webview/browser/pre/main.js
浏览文件 @
ae4a7512
...
...
@@ -128,7 +128,7 @@
* @param {*} [state]
* @return {string}
*/
function
getVsCodeApiScript
(
state
)
{
function
getVsCodeApiScript
(
allowMultipleAPIAcquire
,
state
)
{
return
`
const acquireVsCodeApi = (function() {
const originalPostMessage = window.parent.postMessage.bind(window.parent);
...
...
@@ -138,7 +138,7 @@
let state =
${
state
?
`JSON.parse(
${
JSON
.
stringify
(
state
)}
)`
:
undefined
}
;
return () => {
if (acquired) {
if (acquired
&& !
${
allowMultipleAPIAcquire
}
) {
throw new Error('An instance of the VS Code API has already been acquired');
}
acquired = true;
...
...
@@ -325,7 +325,7 @@
if
(
options
.
allowScripts
)
{
const
defaultScript
=
newDocument
.
createElement
(
'
script
'
);
defaultScript
.
id
=
'
_vscodeApiScript
'
;
defaultScript
.
textContent
=
getVsCodeApiScript
(
data
.
state
);
defaultScript
.
textContent
=
getVsCodeApiScript
(
options
.
allowMultipleAPIAcquire
,
data
.
state
);
newDocument
.
head
.
prepend
(
defaultScript
);
}
...
...
src/vs/workbench/contrib/webview/browser/webview.ts
浏览文件 @
ae4a7512
...
...
@@ -59,6 +59,7 @@ export interface WebviewOptions {
}
export
interface
WebviewContentOptions
{
readonly
allowMultipleAPIAcquire
?:
boolean
;
readonly
allowScripts
?:
boolean
;
readonly
localResourceRoots
?:
ReadonlyArray
<
URI
>
;
readonly
portMapping
?:
ReadonlyArray
<
modes
.
IWebviewPortMapping
>
;
...
...
src/vs/workbench/contrib/webview/browser/webviewWorkbenchService.ts
浏览文件 @
ae4a7512
...
...
@@ -36,6 +36,7 @@ export function areWebviewInputOptionsEqual(a: WebviewInputOptions, b: WebviewIn
return
a
.
enableCommandUris
===
b
.
enableCommandUris
&&
a
.
enableFindWidget
===
b
.
enableFindWidget
&&
a
.
allowScripts
===
b
.
allowScripts
&&
a
.
allowMultipleAPIAcquire
===
b
.
allowMultipleAPIAcquire
&&
a
.
retainContextWhenHidden
===
b
.
retainContextWhenHidden
&&
a
.
tryRestoreScrollPosition
===
b
.
tryRestoreScrollPosition
&&
equals
(
a
.
localResourceRoots
,
b
.
localResourceRoots
,
isEqual
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录