src/vs/workbench/electron-sandbox/parts/dialogs/dialog.contribution.ts/DialogHandlerContribution/processDialogs
class DialogHandlerContribution:	private async processDialogs(): Promise<void> {
		while (this.model.dialogs.length) {
			this.currentDialog = this.model.dialogs[0];

			let result: IDialogResult | undefined = undefined;

			// Confirm
			if (this.currentDialog.args.confirmArgs) {
				const args = this.currentDialog.args.confirmArgs;
				result = this.useCustomDialog ? await this.browserImpl.confirm(args.confirmation) : await this.nativeImpl.confirm(args.confirmation);
			}

			// Input (custom only)
			else if (this.currentDialog.args.inputArgs) {
				const args = this.currentDialog.args.inputArgs;
				result = await this.browserImpl.input(args.severity, args.message, args.buttons, args.inputs, args.options);
			}

			// Message
			else if (this.currentDialog.args.showArgs) {
				const args = this.currentDialog.args.showArgs;
				result = (this.useCustomDialog || args.options?.custom) ?
					await this.browserImpl.show(args.severity, args.message, args.buttons, args.options) :
					await this.nativeImpl.show(args.severity, args.message, args.buttons, args.options);
			}

			// About
			else {
				await this.nativeImpl.about();
			}

			this.currentDialog.close(result);
			this.currentDialog = undefined;
		}
	}