mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-26 03:29:00 +01:00
- introduce trusted api
- disable settings sync in untrusted workspace
This commit is contained in:
@@ -11,7 +11,14 @@ export class WebUserDataAutoSyncEnablementService extends UserDataAutoSyncEnable
|
||||
private get workbenchEnvironmentService(): IWorkbenchEnvironmentService { return <IWorkbenchEnvironmentService>this.environmentService; }
|
||||
private enabled: boolean | undefined = undefined;
|
||||
|
||||
canToggleEnablement(): boolean {
|
||||
return this.isTrusted() && super.canToggleEnablement();
|
||||
}
|
||||
|
||||
isEnabled(): boolean {
|
||||
if (!this.isTrusted()) {
|
||||
return false;
|
||||
}
|
||||
if (this.enabled === undefined) {
|
||||
this.enabled = this.workbenchEnvironmentService.options?.settingsSyncOptions?.enabled;
|
||||
}
|
||||
@@ -22,6 +29,9 @@ export class WebUserDataAutoSyncEnablementService extends UserDataAutoSyncEnable
|
||||
}
|
||||
|
||||
setEnablement(enabled: boolean) {
|
||||
if (!this.canToggleEnablement()) {
|
||||
throw new Error('Cannot toggle enablement');
|
||||
}
|
||||
if (this.enabled !== enabled) {
|
||||
this.enabled = enabled;
|
||||
super.setEnablement(enabled);
|
||||
@@ -31,4 +41,8 @@ export class WebUserDataAutoSyncEnablementService extends UserDataAutoSyncEnable
|
||||
}
|
||||
}
|
||||
|
||||
private isTrusted(): boolean {
|
||||
return !!this.workbenchEnvironmentService.options?.workspaceProvider?.trusted;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user