Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
fbd3a083
V
vscode
项目概览
掘金者说
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
fbd3a083
编写于
4月 17, 2018
作者:
M
Matt Bierner
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Pass Webview into ExtHostWebviewPanel instead of creating it inside the ctor
上级
5d37bdf5
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
9 addition
and
8 deletion
+9
-8
src/vs/workbench/api/node/extHostWebview.ts
src/vs/workbench/api/node/extHostWebview.ts
+9
-8
未找到文件。
src/vs/workbench/api/node/extHostWebview.ts
浏览文件 @
fbd3a083
...
...
@@ -92,9 +92,10 @@ export class ExtHostWebview implements vscode.Webview {
export
class
ExtHostWebviewPanel
implements
vscode
.
WebviewPanel
{
private
readonly
_handle
:
WebviewPanelHandle
;
private
readonly
_proxy
:
MainThreadWebviewsShape
;
private
readonly
_viewType
:
string
;
private
readonly
_options
:
vscode
.
WebviewPanelOptions
;
private
readonly
_
proxy
:
MainThreadWebviewsShape
;
private
readonly
_
webview
:
ExtHostWebview
;
private
_isDisposed
:
boolean
=
false
;
private
_viewColumn
:
vscode
.
ViewColumn
;
private
_visible
:
boolean
=
true
;
...
...
@@ -105,23 +106,21 @@ export class ExtHostWebviewPanel implements vscode.WebviewPanel {
public
readonly
onDidChangeViewStateEmitter
=
new
Emitter
<
vscode
.
WebviewPanelOnDidChangeViewStateEvent
>
();
public
readonly
onDidChangeViewState
:
Event
<
vscode
.
WebviewPanelOnDidChangeViewStateEvent
>
=
this
.
onDidChangeViewStateEmitter
.
event
;
private
_webview
:
ExtHostWebview
;
constructor
(
handle
:
WebviewPanelHandle
,
proxy
:
MainThreadWebviewsShape
,
viewType
:
string
,
title
:
string
,
viewColumn
:
vscode
.
ViewColumn
,
editorOptions
:
vscode
.
WebviewPanelOptions
,
webview
Options
:
vscode
.
WebviewOptions
webview
:
ExtHostWebview
)
{
this
.
_handle
=
handle
;
this
.
_proxy
=
proxy
;
this
.
_viewType
=
viewType
;
this
.
_options
=
editorOptions
;
this
.
_viewColumn
=
viewColumn
;
this
.
_webview
=
new
ExtHostWebview
(
handle
,
proxy
,
title
,
webviewOptions
)
;
this
.
_webview
=
webview
;
}
public
dispose
()
{
...
...
@@ -213,7 +212,8 @@ export class ExtHostWebviews implements ExtHostWebviewsShape {
const
handle
=
ExtHostWebviews
.
webviewHandlePool
++
+
''
;
this
.
_proxy
.
$createWebviewPanel
(
handle
,
viewType
,
title
,
typeConverters
.
fromViewColumn
(
viewColumn
),
options
,
extensionFolderPath
);
const
panel
=
new
ExtHostWebviewPanel
(
handle
,
this
.
_proxy
,
viewType
,
title
,
viewColumn
,
options
,
options
);
const
webview
=
new
ExtHostWebview
(
handle
,
this
.
_proxy
,
title
,
options
);
const
panel
=
new
ExtHostWebviewPanel
(
handle
,
this
.
_proxy
,
viewType
,
viewColumn
,
options
,
webview
);
this
.
_webviewPanels
.
set
(
handle
,
panel
);
return
panel
;
}
...
...
@@ -269,14 +269,15 @@ export class ExtHostWebviews implements ExtHostWebviewsShape {
title
:
string
,
state
:
any
,
position
:
Position
,
options
:
vscode
.
WebviewOptions
options
:
vscode
.
WebviewOptions
&
vscode
.
WebviewPanelOptions
):
Thenable
<
void
>
{
const
serializer
=
this
.
_serializers
.
get
(
viewType
);
if
(
!
serializer
)
{
return
TPromise
.
wrapError
(
new
Error
(
`No serializer found for '
${
viewType
}
'`
));
}
const
revivedPanel
=
new
ExtHostWebviewPanel
(
webviewHandle
,
this
.
_proxy
,
viewType
,
title
,
typeConverters
.
toViewColumn
(
position
),
options
as
vscode
.
WebviewPanelOptions
,
options
as
vscode
.
WebviewOptions
);
const
webview
=
new
ExtHostWebview
(
webviewHandle
,
this
.
_proxy
,
title
,
options
);
const
revivedPanel
=
new
ExtHostWebviewPanel
(
webviewHandle
,
this
.
_proxy
,
viewType
,
typeConverters
.
toViewColumn
(
position
),
options
,
webview
);
this
.
_webviewPanels
.
set
(
webviewHandle
,
revivedPanel
);
return
serializer
.
deserializeWebviewPanel
(
revivedPanel
,
state
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录