mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
This reverts commit f09ab8889148c406551dea1643966e3331fde4aa, reversing changes made to effc761e0ee4ea7ffb77f275b5ed650a7098d6f8. This is being temporarily reverted to make it easier to release an urgent fix for v10.15.1.
57 lines
1.5 KiB
JavaScript
57 lines
1.5 KiB
JavaScript
import browser from 'webextension-polyfill';
|
|
import log from 'loglevel';
|
|
|
|
const returnToOnboardingInitiatorTab = async (onboardingInitiator) => {
|
|
const tab = await new Promise((resolve) => {
|
|
browser.tabs.update(
|
|
onboardingInitiator.tabId,
|
|
{ active: true },
|
|
// eslint-disable-next-line no-shadow
|
|
(tab) => {
|
|
if (tab) {
|
|
resolve(tab);
|
|
} else {
|
|
// silence console message about unchecked error
|
|
if (browser.runtime.lastError) {
|
|
log.debug(browser.runtime.lastError);
|
|
}
|
|
resolve();
|
|
}
|
|
},
|
|
);
|
|
});
|
|
|
|
if (tab) {
|
|
window.close();
|
|
} else {
|
|
// this case can happen if the tab was closed since being checked with `browser.tabs.get`
|
|
log.warn(
|
|
`Setting current tab to onboarding initiator has failed; falling back to redirect`,
|
|
);
|
|
window.location.assign(onboardingInitiator.location);
|
|
}
|
|
};
|
|
|
|
export const returnToOnboardingInitiator = async (onboardingInitiator) => {
|
|
const tab = await new Promise((resolve) => {
|
|
// eslint-disable-next-line no-shadow
|
|
browser.tabs.get(onboardingInitiator.tabId, (tab) => {
|
|
if (tab) {
|
|
resolve(tab);
|
|
} else {
|
|
// silence console message about unchecked error
|
|
if (browser.runtime.lastError) {
|
|
log.debug(browser.runtime.lastError);
|
|
}
|
|
resolve();
|
|
}
|
|
});
|
|
});
|
|
|
|
if (tab) {
|
|
await returnToOnboardingInitiatorTab(onboardingInitiator);
|
|
} else {
|
|
window.location.assign(onboardingInitiator.location);
|
|
}
|
|
};
|