Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
5ec2e40b
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,发现更多精彩内容 >>
提交
5ec2e40b
编写于
11月 25, 2019
作者:
M
Matt Bierner
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fixing webview getting disposed after rename
For #83961
上级
e1edd6b4
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
14 addition
and
7 deletion
+14
-7
src/vs/workbench/api/browser/mainThreadWebview.ts
src/vs/workbench/api/browser/mainThreadWebview.ts
+11
-5
src/vs/workbench/contrib/customEditor/browser/customEditorInput.ts
...rkbench/contrib/customEditor/browser/customEditorInput.ts
+3
-2
未找到文件。
src/vs/workbench/api/browser/mainThreadWebview.ts
浏览文件 @
5ec2e40b
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
*--------------------------------------------------------------------------------------------*/
import
{
onUnexpectedError
}
from
'
vs/base/common/errors
'
;
import
{
onUnexpectedError
}
from
'
vs/base/common/errors
'
;
import
{
Disposable
,
IDisposable
}
from
'
vs/base/common/lifecycle
'
;
import
{
Disposable
,
IDisposable
,
DisposableStore
}
from
'
vs/base/common/lifecycle
'
;
import
{
Schemas
}
from
'
vs/base/common/network
'
;
import
{
Schemas
}
from
'
vs/base/common/network
'
;
import
{
isWeb
}
from
'
vs/base/common/platform
'
;
import
{
isWeb
}
from
'
vs/base/common/platform
'
;
import
{
startsWith
}
from
'
vs/base/common/strings
'
;
import
{
startsWith
}
from
'
vs/base/common/strings
'
;
...
@@ -330,14 +330,20 @@ export class MainThreadWebviews extends Disposable implements extHostProtocol.Ma
...
@@ -330,14 +330,20 @@ export class MainThreadWebviews extends Disposable implements extHostProtocol.Ma
}
}
private
hookupWebviewEventDelegate
(
handle
:
extHostProtocol
.
WebviewPanelHandle
,
input
:
WebviewInput
)
{
private
hookupWebviewEventDelegate
(
handle
:
extHostProtocol
.
WebviewPanelHandle
,
input
:
WebviewInput
)
{
input
.
webview
.
onDidClickLink
((
uri
:
URI
)
=>
this
.
onDidClickLink
(
handle
,
uri
));
const
disposables
=
new
DisposableStore
();
input
.
webview
.
onMessage
((
message
:
any
)
=>
this
.
_proxy
.
$onMessage
(
handle
,
message
));
input
.
onDisposeWebview
(()
=>
{
disposables
.
add
(
input
.
webview
.
onDidClickLink
((
uri
:
URI
)
=>
this
.
onDidClickLink
(
handle
,
uri
)));
disposables
.
add
(
input
.
webview
.
onMessage
((
message
:
any
)
=>
{
this
.
_proxy
.
$onMessage
(
handle
,
message
);
}));
disposables
.
add
(
input
.
onDisposeWebview
(()
=>
{
this
.
_proxy
.
$onDidDisposeWebviewPanel
(
handle
).
finally
(()
=>
{
this
.
_proxy
.
$onDidDisposeWebviewPanel
(
handle
).
finally
(()
=>
{
this
.
_webviewInputs
.
delete
(
handle
);
this
.
_webviewInputs
.
delete
(
handle
);
});
});
}));
disposables
.
add
(
input
.
webview
.
onMissingCsp
((
extension
:
ExtensionIdentifier
)
=>
this
.
_proxy
.
$onMissingCsp
(
handle
,
extension
.
value
)));
input
.
onDispose
(()
=>
{
disposables
.
dispose
();
});
});
input
.
webview
.
onMissingCsp
((
extension
:
ExtensionIdentifier
)
=>
this
.
_proxy
.
$onMissingCsp
(
handle
,
extension
.
value
));
}
}
private
updateWebviewViewStates
()
{
private
updateWebviewViewStates
()
{
...
...
src/vs/workbench/contrib/customEditor/browser/customEditorInput.ts
浏览文件 @
5ec2e40b
...
@@ -7,7 +7,9 @@ import { memoize } from 'vs/base/common/decorators';
...
@@ -7,7 +7,9 @@ import { memoize } from 'vs/base/common/decorators';
import
{
Lazy
}
from
'
vs/base/common/lazy
'
;
import
{
Lazy
}
from
'
vs/base/common/lazy
'
;
import
{
basename
}
from
'
vs/base/common/path
'
;
import
{
basename
}
from
'
vs/base/common/path
'
;
import
{
isEqual
}
from
'
vs/base/common/resources
'
;
import
{
isEqual
}
from
'
vs/base/common/resources
'
;
import
{
assertIsDefined
}
from
'
vs/base/common/types
'
;
import
{
URI
}
from
'
vs/base/common/uri
'
;
import
{
URI
}
from
'
vs/base/common/uri
'
;
import
{
generateUuid
}
from
'
vs/base/common/uuid
'
;
import
{
IFileDialogService
}
from
'
vs/platform/dialogs/common/dialogs
'
;
import
{
IFileDialogService
}
from
'
vs/platform/dialogs/common/dialogs
'
;
import
{
IEditorModel
,
ITextEditorOptions
}
from
'
vs/platform/editor/common/editor
'
;
import
{
IEditorModel
,
ITextEditorOptions
}
from
'
vs/platform/editor/common/editor
'
;
import
{
IInstantiationService
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
IInstantiationService
}
from
'
vs/platform/instantiation/common/instantiation
'
;
...
@@ -18,7 +20,6 @@ import { ICustomEditorModel, ICustomEditorService } from 'vs/workbench/contrib/c
...
@@ -18,7 +20,6 @@ import { ICustomEditorModel, ICustomEditorService } from 'vs/workbench/contrib/c
import
{
WebviewEditorOverlay
}
from
'
vs/workbench/contrib/webview/browser/webview
'
;
import
{
WebviewEditorOverlay
}
from
'
vs/workbench/contrib/webview/browser/webview
'
;
import
{
IWebviewWorkbenchService
,
LazilyResolvedWebviewEditorInput
}
from
'
vs/workbench/contrib/webview/browser/webviewWorkbenchService
'
;
import
{
IWebviewWorkbenchService
,
LazilyResolvedWebviewEditorInput
}
from
'
vs/workbench/contrib/webview/browser/webviewWorkbenchService
'
;
import
{
IEditorService
}
from
'
vs/workbench/services/editor/common/editorService
'
;
import
{
IEditorService
}
from
'
vs/workbench/services/editor/common/editorService
'
;
import
{
assertIsDefined
}
from
'
vs/base/common/types
'
;
export
class
CustomFileEditorInput
extends
LazilyResolvedWebviewEditorInput
{
export
class
CustomFileEditorInput
extends
LazilyResolvedWebviewEditorInput
{
...
@@ -163,7 +164,7 @@ export class CustomFileEditorInput extends LazilyResolvedWebviewEditorInput {
...
@@ -163,7 +164,7 @@ export class CustomFileEditorInput extends LazilyResolvedWebviewEditorInput {
return
this
.
instantiationService
.
createInstance
(
CustomFileEditorInput
,
return
this
.
instantiationService
.
createInstance
(
CustomFileEditorInput
,
uri
,
uri
,
this
.
viewType
,
this
.
viewType
,
this
.
id
,
generateUuid
()
,
new
Lazy
(()
=>
webview
));
new
Lazy
(()
=>
webview
));
}
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录