Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
5ba02362
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,发现更多精彩内容 >>
提交
5ba02362
编写于
9月 02, 2019
作者:
J
Johannes Rieken
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
remove compilerOptions/lib/webworker because it conflicts with lib/dom, #80074
上级
db0d5ee0
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
56 addition
and
16 deletion
+56
-16
src/tsconfig.json
src/tsconfig.json
+1
-2
src/vs/workbench/contrib/resources/browser/resourceServiceWorker.ts
...kbench/contrib/resources/browser/resourceServiceWorker.ts
+52
-1
src/vs/workbench/contrib/resources/browser/resourceServiceWorkerClient.ts
.../contrib/resources/browser/resourceServiceWorkerClient.ts
+0
-13
src/vs/workbench/services/extensions/worker/extensionHostWorker.ts
...rkbench/services/extensions/worker/extensionHostWorker.ts
+3
-0
未找到文件。
src/tsconfig.json
浏览文件 @
5ba02362
...
...
@@ -9,8 +9,7 @@
"lib"
:
[
"dom"
,
"es5"
,
"es2015.iterable"
,
"webworker"
"es2015.iterable"
],
"types"
:
[
"keytar"
,
...
...
src/vs/workbench/contrib/resources/browser/resourceServiceWorker.ts
浏览文件 @
5ba02362
...
...
@@ -5,7 +5,58 @@
import
{
URI
}
from
'
vs/base/common/uri
'
;
//https://stackoverflow.com/questions/56356655/structuring-a-typescript-project-with-workers/56374158#56374158
//#region --- lib.webworker.d.ts madness ---
interface
ExtendableEvent
extends
Event
{
waitUntil
(
f
:
any
):
void
;
}
interface
FetchEvent
extends
ExtendableEvent
{
readonly
clientId
:
string
;
readonly
preloadResponse
:
Promise
<
any
>
;
readonly
replacesClientId
:
string
;
readonly
request
:
Request
;
readonly
resultingClientId
:
string
;
respondWith
(
r
:
Response
|
Promise
<
Response
>
):
void
;
}
interface
ExtendableMessageEvent
extends
ExtendableEvent
{
readonly
data
:
any
;
readonly
lastEventId
:
string
;
readonly
origin
:
string
;
readonly
ports
:
ReadonlyArray
<
MessagePort
>
;
readonly
source
:
ServiceWorker
|
MessagePort
|
null
;
}
interface
ServiceWorkerGlobalScopeEventMap
{
'
activate
'
:
ExtendableEvent
;
'
fetch
'
:
FetchEvent
;
'
install
'
:
ExtendableEvent
;
'
message
'
:
ExtendableMessageEvent
;
'
messageerror
'
:
MessageEvent
;
}
interface
Clients
{
claim
():
Promise
<
void
>
;
get
(
id
:
string
):
Promise
<
any
>
;
}
interface
ServiceWorkerGlobalScope
{
readonly
clients
:
Clients
;
onactivate
:
((
this
:
ServiceWorkerGlobalScope
,
ev
:
ExtendableEvent
)
=>
any
)
|
null
;
onfetch
:
((
this
:
ServiceWorkerGlobalScope
,
ev
:
FetchEvent
)
=>
any
)
|
null
;
oninstall
:
((
this
:
ServiceWorkerGlobalScope
,
ev
:
ExtendableEvent
)
=>
any
)
|
null
;
onmessage
:
((
this
:
ServiceWorkerGlobalScope
,
ev
:
ExtendableMessageEvent
)
=>
any
)
|
null
;
onmessageerror
:
((
this
:
ServiceWorkerGlobalScope
,
ev
:
MessageEvent
)
=>
any
)
|
null
;
readonly
registration
:
ServiceWorkerRegistration
;
skipWaiting
():
Promise
<
void
>
;
addEventListener
<
K
extends
keyof
ServiceWorkerGlobalScopeEventMap
>
(
type
:
K
,
listener
:
(
this
:
ServiceWorkerGlobalScope
,
ev
:
ServiceWorkerGlobalScopeEventMap
[
K
])
=>
any
,
options
?:
boolean
|
AddEventListenerOptions
):
void
;
addEventListener
(
type
:
string
,
listener
:
EventListenerOrEventListenerObject
,
options
?:
boolean
|
AddEventListenerOptions
):
void
;
removeEventListener
<
K
extends
keyof
ServiceWorkerGlobalScopeEventMap
>
(
type
:
K
,
listener
:
(
this
:
ServiceWorkerGlobalScope
,
ev
:
ServiceWorkerGlobalScopeEventMap
[
K
])
=>
any
,
options
?:
boolean
|
EventListenerOptions
):
void
;
removeEventListener
(
type
:
string
,
listener
:
EventListenerOrEventListenerObject
,
options
?:
boolean
|
EventListenerOptions
):
void
;
}
//#endregion
declare
var
self
:
ServiceWorkerGlobalScope
;
//#region --- installing/activating
...
...
src/vs/workbench/contrib/resources/browser/resourceServiceWorkerClient.ts
浏览文件 @
5ba02362
...
...
@@ -7,14 +7,11 @@ import { Registry } from 'vs/platform/registry/common/platform';
import
{
IWorkbenchContributionsRegistry
,
Extensions
}
from
'
vs/workbench/common/contributions
'
;
import
{
LifecyclePhase
}
from
'
vs/platform/lifecycle/common/lifecycle
'
;
import
{
ILogService
}
from
'
vs/platform/log/common/log
'
;
import
{
DisposableStore
,
toDisposable
}
from
'
vs/base/common/lifecycle
'
;
class
ResourceServiceWorker
{
private
static
_url
=
require
.
toUrl
(
'
./resourceServiceWorkerMain.js
'
);
private
readonly
_disposables
=
new
DisposableStore
();
constructor
(
@
ILogService
private
readonly
_logService
:
ILogService
,
)
{
...
...
@@ -27,18 +24,8 @@ class ResourceServiceWorker {
this
.
_logService
.
error
(
'
SW#init
'
,
err
);
});
const
handler
=
(
e
:
ExtendableMessageEvent
)
=>
this
.
_handleMessage
(
e
);
navigator
.
serviceWorker
.
addEventListener
(
'
message
'
,
handler
);
this
.
_disposables
.
add
(
toDisposable
(()
=>
navigator
.
serviceWorker
.
removeEventListener
(
'
message
'
,
handler
)));
}
dispose
():
void
{
this
.
_disposables
.
dispose
();
}
private
_handleMessage
(
event
:
ExtendableMessageEvent
):
void
{
this
.
_logService
.
trace
(
'
SW
'
,
event
.
data
);
}
}
Registry
.
as
<
IWorkbenchContributionsRegistry
>
(
Extensions
.
Workbench
).
registerWorkbenchContribution
(
...
...
src/vs/workbench/services/extensions/worker/extensionHostWorker.ts
浏览文件 @
5ba02362
...
...
@@ -15,6 +15,9 @@ import 'vs/workbench/services/extensions/worker/extHost.services';
//#region --- Define, capture, and override some globals
//todo@joh do not allow extensions to call postMessage and other globals...
// declare WorkerSelf#postMessage
declare
function
postMessage
(
data
:
any
,
transferables
?:
Transferable
[]):
void
;
declare
namespace
self
{
let
close
:
any
;
let
postMessage
:
any
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录