Skip to content

Commit 155171c

Browse files
committed
fix vivaldi test being stuck on startup
1 parent 9e5e469 commit 155171c

File tree

3 files changed

+13
-14
lines changed

3 files changed

+13
-14
lines changed

src/background/common.js

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -42,20 +42,19 @@ export let WRBTest = __.BUILD !== 'firefox' && CHROME &&
4242
return res;
4343
});
4444

45-
export let isVivaldi = !!(browserWindows && CHROME) && (async () => {
46-
const wnd = (await browserWindows.getAll())[0] ||
47-
await new Promise(resolve => browserWindows.onCreated.addListener(function onCreated(w) {
48-
browserWindows.onCreated.removeListener(onCreated);
49-
resolve(w);
50-
}));
51-
isVivaldi = !!(wnd && (wnd.vivExtData || wnd.extData));
52-
return isVivaldi;
53-
})();
54-
5545
export let bgBusy = global[k_busy] = (_ =>
5646
Object.assign(new Promise(cb => (_ = cb)), {[kResolve]: _})
5747
)();
5848

49+
export let isVivaldi, vivaldiTest;
50+
if (__.BUILD !== 'firefox' && CHROME && browserWindows) {
51+
vivaldiTest = (async (wnd = browserWindows.getLastFocused()) => (
52+
isVivaldi = !!((wnd = await wnd) && (wnd.vivExtData || wnd.extData))
53+
));
54+
} else {
55+
isVivaldi = false;
56+
}
57+
5958
bgPreInit.push(WRBTest);
6059
bgBusy.then(() => {
6160
bgBusy = null;

src/background/set-client-data.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import {API} from '@/js/msg-api';
33
import * as prefs from '@/js/prefs';
44
import {FIREFOX} from '@/js/ua';
55
import {isDark, setSystemDark} from './color-scheme';
6-
import {bgBusy, dataHub, isVivaldi, WRB, WRBTest} from './common';
6+
import {bgBusy, dataHub, isVivaldi, vivaldiTest, WRB, WRBTest} from './common';
77
import {stateDB} from './db';
88
import {ownPagesCommitted} from './navigation-manager';
99
import makePopupData from './popup-data';
@@ -81,7 +81,7 @@ export default async function setClientData({
8181
const jobs = /** @namespace StylusClientData */ Object.assign({
8282
apply: styleMan.getSectionsByUrl.call({sender}, pageUrl, {init: true}),
8383
dark: isDark,
84-
favicon: FIREFOX || isVivaldi,
84+
favicon: FIREFOX || (isVivaldi ?? vivaldiTest()),
8585
prefs: nondefaults,
8686
tabId: tabId ?? -1,
8787
[kBadFavs]: (page === 'edit' || page === 'install-usercss' || page === 'manage')

src/background/token-manager.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import * as URLS from '@/js/urls';
66
import {clamp, getHost} from '@/js/util';
77
import {browserWindows} from '@/js/util-webext';
88
import launchWebAuthFlow from 'webext-launch-web-auth-flow';
9-
import {isVivaldi} from './common';
9+
import {isVivaldi, vivaldiTest} from './common';
1010

1111
const AUTH = {
1212
dropbox: {
@@ -193,7 +193,7 @@ async function authUser(keys, name, interactive = false, hooks = null) {
193193
}
194194

195195
async function authUserMV2(url, interactive, redirectUri) {
196-
alwaysUseTab ??= await isVivaldi;
196+
alwaysUseTab ??= isVivaldi ?? await vivaldiTest();
197197
const width = clamp(screen.availWidth - 100, 400, 800);
198198
const height = clamp(screen.availHeight - 100, 200, 800);
199199
const wnd = !alwaysUseTab && await browserWindows.getLastFocused();

0 commit comments

Comments
 (0)