Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
99912f58
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,发现更多精彩内容 >>
提交
99912f58
编写于
8月 15, 2019
作者:
M
Matt Bierner
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Remove webview svg whitelist
This is no longer required
上级
967b4339
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
1 addition
and
74 deletion
+1
-74
src/vs/platform/product/common/product.ts
src/vs/platform/product/common/product.ts
+0
-1
src/vs/workbench/api/browser/mainThreadCodeInsets.ts
src/vs/workbench/api/browser/mainThreadCodeInsets.ts
+0
-1
src/vs/workbench/contrib/extensions/browser/extensionEditor.ts
...s/workbench/contrib/extensions/browser/extensionEditor.ts
+1
-3
src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts
.../contrib/extensions/browser/extensionsWorkbenchService.ts
+0
-8
src/vs/workbench/contrib/extensions/common/extensions.ts
src/vs/workbench/contrib/extensions/common/extensions.ts
+0
-1
src/vs/workbench/contrib/webview/browser/webviewEditorService.ts
...workbench/contrib/webview/browser/webviewEditorService.ts
+0
-1
src/vs/workbench/contrib/webview/common/webview.ts
src/vs/workbench/contrib/webview/common/webview.ts
+0
-2
src/vs/workbench/contrib/webview/electron-browser/webviewElement.ts
...kbench/contrib/webview/electron-browser/webviewElement.ts
+0
-57
未找到文件。
src/vs/platform/product/common/product.ts
浏览文件 @
99912f58
...
...
@@ -46,7 +46,6 @@ export interface IProductConfiguration {
readonly
extensionImportantTips
:
{
[
id
:
string
]:
{
name
:
string
;
pattern
:
string
;
isExtensionPack
?:
boolean
};
};
readonly
exeBasedExtensionTips
:
{
[
id
:
string
]:
IExeBasedExtensionTip
;
};
readonly
extensionKeywords
:
{
[
extension
:
string
]:
readonly
string
[];
};
readonly
extensionAllowedBadgeProviders
:
readonly
string
[];
readonly
extensionAllowedProposedApi
:
readonly
string
[];
readonly
keymapExtensionTips
:
readonly
string
[];
readonly
crashReporter
:
{
...
...
src/vs/workbench/api/browser/mainThreadCodeInsets.ts
浏览文件 @
99912f58
...
...
@@ -90,7 +90,6 @@ export class MainThreadEditorInsets implements MainThreadEditorInsetsShape {
const
webview
=
this
.
_webviewService
.
createWebview
(
''
+
handle
,
{
enableFindWidget
:
false
,
allowSvgs
:
false
,
extension
:
{
id
:
extensionId
,
location
:
URI
.
revive
(
extensionLocation
)
}
},
{
allowScripts
:
options
.
enableScripts
,
...
...
src/vs/workbench/contrib/extensions/browser/extensionEditor.ts
浏览文件 @
99912f58
...
...
@@ -572,9 +572,7 @@ export class ExtensionEditor extends BaseEditor {
{
enableFindWidget
:
true
,
},
{
svgWhiteList
:
this
.
extensionsWorkbenchService
.
allowedBadgeProviders
,
});
{});
webviewElement
.
mountTo
(
template
.
content
);
this
.
contentDisposables
.
add
(
webviewElement
.
onDidFocus
(()
=>
this
.
fireOnDidFocus
()));
const
removeLayoutParticipant
=
arrays
.
insert
(
this
.
layoutParticipants
,
webviewElement
);
...
...
src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts
浏览文件 @
99912f58
...
...
@@ -484,7 +484,6 @@ export class ExtensionsWorkbenchService extends Disposable implements IExtension
private
readonly
_onChange
:
Emitter
<
IExtension
|
undefined
>
=
new
Emitter
<
IExtension
|
undefined
>
();
get
onChange
():
Event
<
IExtension
|
undefined
>
{
return
this
.
_onChange
.
event
;
}
private
_extensionAllowedBadgeProviders
:
string
[]
|
undefined
;
private
installing
:
IExtension
[]
=
[];
constructor
(
...
...
@@ -1020,13 +1019,6 @@ export class ExtensionsWorkbenchService extends Disposable implements IExtension
return
changed
;
}
get
allowedBadgeProviders
():
string
[]
{
if
(
!
this
.
_extensionAllowedBadgeProviders
)
{
this
.
_extensionAllowedBadgeProviders
=
(
this
.
productService
.
extensionAllowedBadgeProviders
||
[]).
map
(
s
=>
s
.
toLowerCase
());
}
return
this
.
_extensionAllowedBadgeProviders
;
}
private
_activityCallBack
:
(()
=>
void
)
|
null
=
null
;
private
updateActivity
():
void
{
if
((
this
.
localExtensions
&&
this
.
localExtensions
.
local
.
some
(
e
=>
e
.
state
===
ExtensionState
.
Installing
||
e
.
state
===
ExtensionState
.
Uninstalling
))
...
...
src/vs/workbench/contrib/extensions/common/extensions.ts
浏览文件 @
99912f58
...
...
@@ -91,7 +91,6 @@ export interface IExtensionsWorkbenchService {
setEnablement
(
extensions
:
IExtension
|
IExtension
[],
enablementState
:
EnablementState
):
Promise
<
void
>
;
open
(
extension
:
IExtension
,
sideByside
?:
boolean
):
Promise
<
any
>
;
checkForUpdates
():
Promise
<
void
>
;
allowedBadgeProviders
:
string
[];
}
export
const
ConfigurationKey
=
'
extensions
'
;
...
...
src/vs/workbench/contrib/webview/browser/webviewEditorService.ts
浏览文件 @
99912f58
...
...
@@ -244,7 +244,6 @@ export class WebviewEditorService implements IWebviewEditorService {
private
createWebiew
(
id
:
string
,
extension
:
{
location
:
URI
;
id
:
ExtensionIdentifier
;
}
|
undefined
,
options
:
WebviewInputOptions
)
{
return
this
.
_webviewService
.
createWebviewEditorOverlay
(
id
,
{
allowSvgs
:
true
,
extension
:
extension
,
enableFindWidget
:
options
.
enableFindWidget
,
retainContextWhenHidden
:
options
.
retainContextWhenHidden
...
...
src/vs/workbench/contrib/webview/common/webview.ts
浏览文件 @
99912f58
...
...
@@ -41,7 +41,6 @@ export interface IWebviewService {
export
const
WebviewResourceScheme
=
'
vscode-resource
'
;
export
interface
WebviewOptions
{
readonly
allowSvgs
?:
boolean
;
readonly
extension
?:
{
readonly
location
:
URI
;
readonly
id
?:
ExtensionIdentifier
;
...
...
@@ -53,7 +52,6 @@ export interface WebviewOptions {
export
interface
WebviewContentOptions
{
readonly
allowScripts
?:
boolean
;
readonly
svgWhiteList
?:
string
[];
readonly
localResourceRoots
?:
ReadonlyArray
<
URI
>
;
readonly
portMapping
?:
ReadonlyArray
<
modes
.
IWebviewPortMapping
>
;
readonly
enableCommandUris
?:
boolean
;
...
...
src/vs/workbench/contrib/webview/electron-browser/webviewElement.ts
浏览文件 @
99912f58
...
...
@@ -9,7 +9,6 @@ import { Emitter, Event } from 'vs/base/common/event';
import
{
once
}
from
'
vs/base/common/functional
'
;
import
{
Disposable
}
from
'
vs/base/common/lifecycle
'
;
import
{
isMacintosh
}
from
'
vs/base/common/platform
'
;
import
{
endsWith
}
from
'
vs/base/common/strings
'
;
import
{
URI
}
from
'
vs/base/common/uri
'
;
import
*
as
modes
from
'
vs/editor/common/modes
'
;
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
...
...
@@ -137,51 +136,6 @@ class WebviewPortMappingProvider extends Disposable {
}
}
class
SvgBlocker
extends
Disposable
{
private
readonly
_onDidBlockSvg
=
this
.
_register
(
new
Emitter
<
void
>
());
public
readonly
onDidBlockSvg
=
this
.
_onDidBlockSvg
.
event
;
constructor
(
session
:
WebviewSession
,
private
readonly
_options
:
WebviewContentOptions
,
)
{
super
();
session
.
onBeforeRequest
(
async
(
details
)
=>
{
if
(
details
.
url
.
indexOf
(
'
.svg
'
)
>
0
)
{
const
uri
=
URI
.
parse
(
details
.
url
);
if
(
uri
&&
!
uri
.
scheme
.
match
(
/file/i
)
&&
endsWith
(
uri
.
path
,
'
.svg
'
)
&&
!
this
.
isAllowedSvg
(
uri
))
{
this
.
_onDidBlockSvg
.
fire
();
return
{
cancel
:
true
};
}
}
return
undefined
;
});
session
.
onHeadersReceived
((
details
)
=>
{
const
headers
:
any
=
details
.
responseHeaders
;
const
contentType
:
string
[]
=
headers
[
'
content-type
'
]
||
headers
[
'
Content-Type
'
];
if
(
contentType
&&
Array
.
isArray
(
contentType
)
&&
contentType
.
some
(
x
=>
x
.
toLowerCase
().
indexOf
(
'
image/svg
'
)
>=
0
))
{
const
uri
=
URI
.
parse
(
details
.
url
);
if
(
uri
&&
!
this
.
isAllowedSvg
(
uri
))
{
this
.
_onDidBlockSvg
.
fire
();
return
{
cancel
:
true
};
}
}
return
undefined
;
});
}
private
isAllowedSvg
(
uri
:
URI
):
boolean
{
if
(
this
.
_options
.
svgWhiteList
)
{
return
this
.
_options
.
svgWhiteList
.
indexOf
(
uri
.
authority
.
toLowerCase
())
>=
0
;
}
return
false
;
}
}
class
WebviewKeyboardHandler
extends
Disposable
{
private
_ignoreMenuShortcut
=
false
;
...
...
@@ -335,11 +289,6 @@ export class ElectronWebviewBasedWebview extends Disposable implements Webview {
tunnelService
,
));
if
(
!
this
.
_options
.
allowSvgs
)
{
const
svgBlocker
=
this
.
_register
(
new
SvgBlocker
(
session
,
this
.
content
.
options
));
svgBlocker
.
onDidBlockSvg
(()
=>
this
.
onDidBlockSvg
());
}
this
.
_register
(
new
WebviewKeyboardHandler
(
this
.
_webview
));
this
.
_register
(
addDisposableListener
(
this
.
_webview
,
'
console-message
'
,
function
(
e
:
{
level
:
number
;
message
:
string
;
line
:
number
;
sourceId
:
string
;
})
{
...
...
@@ -584,12 +533,6 @@ export class ElectronWebviewBasedWebview extends Disposable implements Webview {
this
.
_send
(
'
message
'
,
data
);
}
private
onDidBlockSvg
()
{
this
.
sendMessage
({
name
:
'
vscode-did-block-svg
'
});
}
private
style
(
theme
:
ITheme
):
void
{
const
{
styles
,
activeTheme
}
=
getWebviewThemeData
(
theme
,
this
.
_configurationService
);
this
.
_send
(
'
styles
'
,
{
styles
,
activeTheme
});
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录