mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
Fix browser.tab.get call (#14550)
* update to expect promise from browser api polyfill rather than pass callback
This commit is contained in:
parent
7da6c66ea2
commit
12a088e638
@ -5,7 +5,7 @@ import Snackbar from '../../../components/ui/snackbar';
|
||||
import MetaFoxLogo from '../../../components/ui/metafox-logo';
|
||||
import { SUPPORT_REQUEST_LINK } from '../../../helpers/constants/common';
|
||||
import { DEFAULT_ROUTE } from '../../../helpers/constants/routes';
|
||||
import { returnToOnboardingInitiator } from '../onboarding-initiator-util';
|
||||
import { returnToOnboardingInitiatorTab } from '../onboarding-initiator-util';
|
||||
import { EVENT } from '../../../../shared/constants/metametrics';
|
||||
|
||||
export default class EndOfFlowScreen extends PureComponent {
|
||||
@ -51,7 +51,7 @@ export default class EndOfFlowScreen extends PureComponent {
|
||||
this._removeBeforeUnload();
|
||||
await this._onOnboardingComplete();
|
||||
if (onboardingInitiator) {
|
||||
await returnToOnboardingInitiator(onboardingInitiator);
|
||||
await returnToOnboardingInitiatorTab(onboardingInitiator);
|
||||
}
|
||||
history.push(DEFAULT_ROUTE);
|
||||
};
|
||||
|
@ -1,25 +1,17 @@
|
||||
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();
|
||||
}
|
||||
},
|
||||
export const returnToOnboardingInitiatorTab = async (onboardingInitiator) => {
|
||||
let tab;
|
||||
try {
|
||||
tab = await browser.tabs.update(onboardingInitiator.id, {
|
||||
active: true,
|
||||
});
|
||||
} catch (error) {
|
||||
log.debug(
|
||||
`An error occurred while updating tabs in returnToOnboardingInitiatorTab: ${error.message}`,
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
if (tab) {
|
||||
window.close();
|
||||
@ -28,29 +20,7 @@ const returnToOnboardingInitiatorTab = async (onboardingInitiator) => {
|
||||
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);
|
||||
}
|
||||
};
|
||||
|
@ -12,7 +12,7 @@ import {
|
||||
} from '../../../../helpers/constants/routes';
|
||||
import { exportAsFile } from '../../../../helpers/utils/util';
|
||||
import { EVENT } from '../../../../../shared/constants/metametrics';
|
||||
import { returnToOnboardingInitiator } from '../../onboarding-initiator-util';
|
||||
import { returnToOnboardingInitiatorTab } from '../../onboarding-initiator-util';
|
||||
|
||||
export default class RevealSeedPhrase extends PureComponent {
|
||||
static contextTypes = {
|
||||
@ -79,7 +79,7 @@ export default class RevealSeedPhrase extends PureComponent {
|
||||
await Promise.all([setCompletedOnboarding(), setSeedPhraseBackedUp(false)]);
|
||||
|
||||
if (onboardingInitiator) {
|
||||
await returnToOnboardingInitiator(onboardingInitiator);
|
||||
await returnToOnboardingInitiatorTab(onboardingInitiator);
|
||||
}
|
||||
history.replace(DEFAULT_ROUTE);
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user