Workspace trust not enabled in web

This commit is contained in:
Ladislau Szomoru 2021-04-06 21:13:15 +02:00
parent 2b6df1bba9
commit 4209e2cc12
No known key found for this signature in database
GPG key ID: 2B88287CB9DB080B
3 changed files with 9 additions and 4 deletions

View file

@ -24,6 +24,7 @@ import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService'; import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService';
import { IWorkspacesService, hasWorkspaceFileExtension } from 'vs/platform/workspaces/common/workspaces'; import { IWorkspacesService, hasWorkspaceFileExtension } from 'vs/platform/workspaces/common/workspaces';
import { WORKSPACE_TRUST_ENABLED } from 'vs/workbench/services/workspaces/common/workspaceTrust'; import { WORKSPACE_TRUST_ENABLED } from 'vs/workbench/services/workspaces/common/workspaceTrust';
import { IsWebContext } from 'vs/platform/contextkey/common/contextkeys';
export class OpenFileAction extends Action { export class OpenFileAction extends Action {
@ -256,7 +257,7 @@ class WorkspaceTrustManageAction extends Action2 {
super({ super({
id: 'workbench.action.manageTrust', id: 'workbench.action.manageTrust',
title: { value: localize('manageTrustAction', "Manage Workspace Trust"), original: 'Manage Workspace Trust' }, title: { value: localize('manageTrustAction', "Manage Workspace Trust"), original: 'Manage Workspace Trust' },
precondition: ContextKeyExpr.equals(`config.${WORKSPACE_TRUST_ENABLED}`, true), precondition: ContextKeyExpr.and(IsWebContext.negate(), ContextKeyExpr.equals(`config.${WORKSPACE_TRUST_ENABLED}`, true)),
category: localize('workspacesCategory', "Workspaces"), category: localize('workspacesCategory', "Workspaces"),
f1: true f1: true
}); });

View file

@ -34,6 +34,8 @@ import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace'; import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions'; import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions';
import { IStorageService, StorageScope, StorageTarget } from 'vs/platform/storage/common/storage'; import { IStorageService, StorageScope, StorageTarget } from 'vs/platform/storage/common/storage';
import { isWeb } from 'vs/base/common/platform';
import { IsWebContext } from 'vs/platform/contextkey/common/contextkeys';
const workspaceTrustIcon = registerIcon('workspace-trust-icon', Codicon.shield, localize('workspaceTrustIcon', "Icon for workspace trust badge.")); const workspaceTrustIcon = registerIcon('workspace-trust-icon', Codicon.shield, localize('workspaceTrustIcon', "Icon for workspace trust badge."));
@ -384,7 +386,7 @@ registerAction2(class extends Action2 {
id: MenuId.GlobalActivity, id: MenuId.GlobalActivity,
group: '6_workspace_trust', group: '6_workspace_trust',
order: 40, order: 40,
when: ContextKeyExpr.and(ContextKeyExpr.equals(`config.${WORKSPACE_TRUST_ENABLED}`, true), WorkspaceTrustContext.PendingRequest.negate()) when: ContextKeyExpr.and(IsWebContext.negate(), ContextKeyExpr.equals(`config.${WORKSPACE_TRUST_ENABLED}`, true), WorkspaceTrustContext.PendingRequest.negate())
}, },
}); });
} }
@ -407,7 +409,7 @@ MenuRegistry.appendMenuItem(MenuId.GlobalActivity, {
}, },
group: '6_workspace_trust', group: '6_workspace_trust',
order: 40, order: 40,
when: ContextKeyExpr.and(ContextKeyExpr.equals(`config.${WORKSPACE_TRUST_ENABLED}`, true), WorkspaceTrustContext.PendingRequest) when: ContextKeyExpr.and(IsWebContext.negate(), ContextKeyExpr.equals(`config.${WORKSPACE_TRUST_ENABLED}`, true), WorkspaceTrustContext.PendingRequest)
}); });
// Configuration // Configuration
@ -421,6 +423,7 @@ Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration)
[WORKSPACE_TRUST_ENABLED]: { [WORKSPACE_TRUST_ENABLED]: {
type: 'boolean', type: 'boolean',
default: false, default: false,
included: !isWeb,
description: localize('workspace.trust.description', "Controls whether or not workspace trust is enabled within VS Code."), description: localize('workspace.trust.description', "Controls whether or not workspace trust is enabled within VS Code."),
} }
} }

View file

@ -16,6 +16,7 @@ import { EditorModel } from 'vs/workbench/common/editor';
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
import { dirname, resolve } from 'vs/base/common/path'; import { dirname, resolve } from 'vs/base/common/path';
import { IUriIdentityService } from 'vs/workbench/services/uriIdentity/common/uriIdentity'; import { IUriIdentityService } from 'vs/workbench/services/uriIdentity/common/uriIdentity';
import { isWeb } from 'vs/base/common/platform';
export const WORKSPACE_TRUST_ENABLED = 'security.workspace.trust.enabled'; export const WORKSPACE_TRUST_ENABLED = 'security.workspace.trust.enabled';
export const WORKSPACE_TRUST_STORAGE_KEY = 'content.trust.model.key'; export const WORKSPACE_TRUST_STORAGE_KEY = 'content.trust.model.key';
@ -429,7 +430,7 @@ export class WorkspaceTrustService extends Disposable implements IWorkspaceTrust
} }
isWorkspaceTrustEnabled(): boolean { isWorkspaceTrustEnabled(): boolean {
return this.configurationService.inspect<boolean>(WORKSPACE_TRUST_ENABLED).userValue ?? false; return isWeb ? false : this.configurationService.inspect<boolean>(WORKSPACE_TRUST_ENABLED).userValue ?? false;
} }
async requestWorkspaceTrust(options: WorkspaceTrustRequestOptions = { modal: true }): Promise<WorkspaceTrustState | undefined> { async requestWorkspaceTrust(options: WorkspaceTrustRequestOptions = { modal: true }): Promise<WorkspaceTrustState | undefined> {