diff --git a/src/vs/base/browser/ui/dialog/dialog.ts b/src/vs/base/browser/ui/dialog/dialog.ts
index c19356b43559ff7d8a80dad83acb2f4ce02347fa..6f56c306563ad7b2894d2dc9a4d773f1479b9c97 100644
--- a/src/vs/base/browser/ui/dialog/dialog.ts
+++ b/src/vs/base/browser/ui/dialog/dialog.ts
@@ -40,6 +40,7 @@ export class Dialog extends Disposable {
private buttonGroup: ButtonGroup | undefined;
private styles: IDialogStyles | undefined;
private focusToReturn: HTMLElement | undefined;
+ private iconRotatingInternal: any | undefined;
constructor(private container: HTMLElement, private message: string, private buttons: string[], private options: IDialogOptions) {
super();
@@ -162,6 +163,15 @@ export class Dialog extends Disposable {
break;
case 'pending':
addClass(this.iconElement, 'icon-pending');
+ let deg = 0;
+ this.iconRotatingInternal = setInterval(() => {
+ if (this.iconElement) {
+ this.iconElement.style.transform = `rotate(${deg}deg)`;
+ deg += 45; // 360 / 8
+ } else {
+ this.iconRotatingInternal = undefined;
+ }
+ }, 125 /** 1000 / 8 */);
break;
case 'none':
case 'info':
@@ -223,6 +233,10 @@ export class Dialog extends Disposable {
this.modal = undefined;
}
+ if (this.iconRotatingInternal) {
+ this.iconRotatingInternal = undefined;
+ }
+
if (this.focusToReturn && isAncestor(this.focusToReturn, document.body)) {
this.focusToReturn.focus();
this.focusToReturn = undefined;
diff --git a/src/vs/base/browser/ui/dialog/pending-dark.svg b/src/vs/base/browser/ui/dialog/pending-dark.svg
index bbf6e8d84cfcd07f5ee5302c03b20cfcbb9e0763..97810808c33f2dab8ecd0d9db84b1ad6317d2379 100644
--- a/src/vs/base/browser/ui/dialog/pending-dark.svg
+++ b/src/vs/base/browser/ui/dialog/pending-dark.svg
@@ -1,31 +1,13 @@
diff --git a/src/vs/base/browser/ui/dialog/pending-hc.svg b/src/vs/base/browser/ui/dialog/pending-hc.svg
index 4d0b2a10c794c04541e7c12ef4634917533c8d94..73c63ba3ce20d256223b8b783c5af9d06e50fe76 100644
--- a/src/vs/base/browser/ui/dialog/pending-hc.svg
+++ b/src/vs/base/browser/ui/dialog/pending-hc.svg
@@ -1,31 +1,13 @@
diff --git a/src/vs/base/browser/ui/dialog/pending.svg b/src/vs/base/browser/ui/dialog/pending.svg
index 596cfdd60cd6104c6410be3d62c48b57618e6991..113a96cfcf20b200dcb0faa8075d495567b190f5 100644
--- a/src/vs/base/browser/ui/dialog/pending.svg
+++ b/src/vs/base/browser/ui/dialog/pending.svg
@@ -1,31 +1,13 @@