Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Removed optional message, and added modal parameter #117241

Merged
merged 1 commit into from Feb 22, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/vs/platform/workspace/common/workspaceTrust.ts
Expand Up @@ -45,7 +45,7 @@ export interface IWorkspaceTrustModel {
}

export interface IWorkspaceTrustRequest {
immediate: boolean;
modal: boolean;
message?: string;
}

Expand Down
6 changes: 4 additions & 2 deletions src/vs/vscode.proposed.d.ts
Expand Up @@ -2816,9 +2816,11 @@ declare module 'vscode' {

/**
* Prompt the user to chose whether to trust the current workspace
* @param message Optional message which would be displayed in the prompt
* @param modal When true, a modal dialog is used to prompt the user for workspace
* trust, otherwise a badge will be shown on the Settings activity bar item.
* Default value is true.
*/
export function requireWorkspaceTrust(message?: string): Thenable<WorkspaceTrustState>;
export function requireWorkspaceTrust(modal?: boolean): Thenable<WorkspaceTrustState>;

/**
* Event that fires when the trust state of the current workspace changes
Expand Down
4 changes: 2 additions & 2 deletions src/vs/workbench/api/browser/mainThreadWorkspace.ts
Expand Up @@ -208,8 +208,8 @@ export class MainThreadWorkspace implements MainThreadWorkspaceShape {

// --- trust ---

$requireWorkspaceTrust(message?: string): Promise<WorkspaceTrustState> {
return this._workspaceTrustService.requireWorkspaceTrust({ immediate: true, message });
$requireWorkspaceTrust(modal?: boolean): Promise<WorkspaceTrustState> {
return this._workspaceTrustService.requireWorkspaceTrust({ modal: modal ?? true });
}

private getWorkspaceTrustState(): WorkspaceTrustState {
Expand Down
4 changes: 2 additions & 2 deletions src/vs/workbench/api/common/extHost.api.impl.ts
Expand Up @@ -900,10 +900,10 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
checkRequiresWorkspaceTrust(extension);
return extHostWorkspace.trustState;
},
requireWorkspaceTrust: (message?: string) => {
requireWorkspaceTrust: (modal?: boolean) => {
checkProposedApiEnabled(extension);
checkRequiresWorkspaceTrust(extension);
return extHostWorkspace.requireWorkspaceTrust(message);
return extHostWorkspace.requireWorkspaceTrust(modal);
},
onDidChangeWorkspaceTrustState: (listener, thisArgs?, disposables?) => {
return extHostWorkspace.onDidChangeWorkspaceTrustState(listener, thisArgs, disposables);
Expand Down
2 changes: 1 addition & 1 deletion src/vs/workbench/api/common/extHost.protocol.ts
Expand Up @@ -833,7 +833,7 @@ export interface MainThreadWorkspaceShape extends IDisposable {
$saveAll(includeUntitled?: boolean): Promise<boolean>;
$updateWorkspaceFolders(extensionName: string, index: number, deleteCount: number, workspaceFoldersToAdd: { uri: UriComponents, name?: string; }[]): Promise<void>;
$resolveProxy(url: string): Promise<string | undefined>;
$requireWorkspaceTrust(message?: string): Promise<WorkspaceTrustState>
$requireWorkspaceTrust(modal?: boolean): Promise<WorkspaceTrustState>
}

export interface IFileChangeDto {
Expand Down
4 changes: 2 additions & 2 deletions src/vs/workbench/api/common/extHostWorkspace.ts
Expand Up @@ -563,8 +563,8 @@ export class ExtHostWorkspace implements ExtHostWorkspaceShape, IExtHostWorkspac
return this._workspaceTrustState;
}

requireWorkspaceTrust(message?: string): Promise<WorkspaceTrustState> {
return this._proxy.$requireWorkspaceTrust(message);
requireWorkspaceTrust(modal?: boolean): Promise<WorkspaceTrustState> {
return this._proxy.$requireWorkspaceTrust(modal);
}

$onDidChangeWorkspaceTrustState(state: WorkspaceTrustStateChangeEvent): void {
Expand Down
Expand Up @@ -116,7 +116,7 @@ export class RunAutomaticTasks extends Disposable implements IWorkbenchContribut

public static async promptForPermission(taskService: ITaskService, storageService: IStorageService, notificationService: INotificationService, workspaceTrustService: IWorkspaceTrustService,
openerService: IOpenerService, workspaceTaskResult: Map<string, WorkspaceFolderTaskResult>) {
const isWorkspaceTrusted = await workspaceTrustService.requireWorkspaceTrust({ immediate: false }) === WorkspaceTrustState.Trusted;
const isWorkspaceTrusted = await workspaceTrustService.requireWorkspaceTrust({ modal: false }) === WorkspaceTrustState.Trusted;
if (!isWorkspaceTrusted) {
return;
}
Expand Down
Expand Up @@ -69,7 +69,7 @@ export class WorkspaceTrustRequestHandler extends Disposable implements IWorkben
if (this.requestModel.trustRequest) {
this.toggleRequestBadge(true);

if (this.requestModel.trustRequest.immediate) {
if (this.requestModel.trustRequest.modal) {
const result = await this.dialogService.show(
Severity.Warning,
localize('immediateTrustRequestTitle', "Do you trust the files in this folder?"),
Expand Down
Expand Up @@ -68,7 +68,7 @@ export class ExtensionEnablementService extends Disposable implements IWorkbench
// TODO: Confirm that this is the right lifecycle phase
this.lifecycleService.when(LifecyclePhase.Eventually).then(() => {
if (this.extensionsDisabledByTrustRequirement.length > 0) {
this.workspaceTrustService.requireWorkspaceTrust({ immediate: false });
this.workspaceTrustService.requireWorkspaceTrust({ modal: false });
}
});

Expand Down Expand Up @@ -166,7 +166,7 @@ export class ExtensionEnablementService extends Disposable implements IWorkbench
const result = await Promises.settled(extensions.map(e => {
if (this._isDisabledByTrustRequirement(e)) {
return this.workspaceTrustService.requireWorkspaceTrust({
immediate: true,
modal: true,
message: 'Enabling this extension requires you to trust the contents of this workspace.'
}).then(trustState => {
if (trustState === WorkspaceTrustState.Trusted) {
Expand Down Expand Up @@ -456,7 +456,7 @@ export class ExtensionEnablementService extends Disposable implements IWorkbench
private _onDidInstallExtension({ local, error }: DidInstallExtensionEvent): void {
if (local && !error && this._isDisabledByTrustRequirement(local)) {
this.workspaceTrustService.requireWorkspaceTrust({
immediate: true,
modal: true,
message: 'Enabling this extension requires you to trust the contents of this workspace.'
});
}
Expand Down
Expand Up @@ -360,7 +360,7 @@ export class ExtensionManagementService extends Disposable implements IWorkbench
if (manifest.requiresWorkspaceTrust === 'onStart') {
const trustState = await this.workspaceTrustService.requireWorkspaceTrust(
{
immediate: true,
modal: true,
message: 'Installing this extension requires you to trust the contents of this workspace.'
});
return trustState === WorkspaceTrustState.Trusted ? Promise.resolve() : Promise.reject(canceled());
Expand Down
8 changes: 4 additions & 4 deletions src/vs/workbench/services/workspaces/common/workspaceTrust.ts
Expand Up @@ -187,7 +187,7 @@ export class WorkspaceTrustRequestModel extends Disposable implements IWorkspace
readonly onDidCompleteRequest = this._onDidCompleteRequest.event;

initiateRequest(request: IWorkspaceTrustRequest): void {
if (this.trustRequest && (!request.immediate || this.trustRequest.immediate)) {
if (this.trustRequest && (!request.modal || this.trustRequest.modal)) {
return;
}

Expand Down Expand Up @@ -323,14 +323,14 @@ export class WorkspaceTrustService extends Disposable implements IWorkspaceTrust
if (this.currentTrustState === WorkspaceTrustState.Trusted) {
return this.currentTrustState;
}
if (this.currentTrustState === WorkspaceTrustState.Untrusted && !request?.immediate) {
if (this.currentTrustState === WorkspaceTrustState.Untrusted && !request?.modal) {
return this.currentTrustState;
}

if (this._trustRequestPromise) {
if (request?.immediate &&
if (request?.modal &&
this.requestModel.trustRequest &&
!this.requestModel.trustRequest.immediate) {
!this.requestModel.trustRequest.modal) {
this.requestModel.initiateRequest(request);
}

Expand Down