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 MetaFoxLogo from '../../../components/ui/metafox-logo';
|
||||||
import { SUPPORT_REQUEST_LINK } from '../../../helpers/constants/common';
|
import { SUPPORT_REQUEST_LINK } from '../../../helpers/constants/common';
|
||||||
import { DEFAULT_ROUTE } from '../../../helpers/constants/routes';
|
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';
|
import { EVENT } from '../../../../shared/constants/metametrics';
|
||||||
|
|
||||||
export default class EndOfFlowScreen extends PureComponent {
|
export default class EndOfFlowScreen extends PureComponent {
|
||||||
@ -51,7 +51,7 @@ export default class EndOfFlowScreen extends PureComponent {
|
|||||||
this._removeBeforeUnload();
|
this._removeBeforeUnload();
|
||||||
await this._onOnboardingComplete();
|
await this._onOnboardingComplete();
|
||||||
if (onboardingInitiator) {
|
if (onboardingInitiator) {
|
||||||
await returnToOnboardingInitiator(onboardingInitiator);
|
await returnToOnboardingInitiatorTab(onboardingInitiator);
|
||||||
}
|
}
|
||||||
history.push(DEFAULT_ROUTE);
|
history.push(DEFAULT_ROUTE);
|
||||||
};
|
};
|
||||||
|
@ -1,25 +1,17 @@
|
|||||||
import browser from 'webextension-polyfill';
|
import browser from 'webextension-polyfill';
|
||||||
import log from 'loglevel';
|
import log from 'loglevel';
|
||||||
|
|
||||||
const returnToOnboardingInitiatorTab = async (onboardingInitiator) => {
|
export const returnToOnboardingInitiatorTab = async (onboardingInitiator) => {
|
||||||
const tab = await new Promise((resolve) => {
|
let tab;
|
||||||
browser.tabs.update(
|
try {
|
||||||
onboardingInitiator.tabId,
|
tab = await browser.tabs.update(onboardingInitiator.id, {
|
||||||
{ active: true },
|
active: true,
|
||||||
// eslint-disable-next-line no-shadow
|
});
|
||||||
(tab) => {
|
} catch (error) {
|
||||||
if (tab) {
|
log.debug(
|
||||||
resolve(tab);
|
`An error occurred while updating tabs in returnToOnboardingInitiatorTab: ${error.message}`,
|
||||||
} else {
|
|
||||||
// silence console message about unchecked error
|
|
||||||
if (browser.runtime.lastError) {
|
|
||||||
log.debug(browser.runtime.lastError);
|
|
||||||
}
|
|
||||||
resolve();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
);
|
);
|
||||||
});
|
}
|
||||||
|
|
||||||
if (tab) {
|
if (tab) {
|
||||||
window.close();
|
window.close();
|
||||||
@ -28,29 +20,7 @@ const returnToOnboardingInitiatorTab = async (onboardingInitiator) => {
|
|||||||
log.warn(
|
log.warn(
|
||||||
`Setting current tab to onboarding initiator has failed; falling back to redirect`,
|
`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);
|
window.location.assign(onboardingInitiator.location);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -12,7 +12,7 @@ import {
|
|||||||
} from '../../../../helpers/constants/routes';
|
} from '../../../../helpers/constants/routes';
|
||||||
import { exportAsFile } from '../../../../helpers/utils/util';
|
import { exportAsFile } from '../../../../helpers/utils/util';
|
||||||
import { EVENT } from '../../../../../shared/constants/metametrics';
|
import { EVENT } from '../../../../../shared/constants/metametrics';
|
||||||
import { returnToOnboardingInitiator } from '../../onboarding-initiator-util';
|
import { returnToOnboardingInitiatorTab } from '../../onboarding-initiator-util';
|
||||||
|
|
||||||
export default class RevealSeedPhrase extends PureComponent {
|
export default class RevealSeedPhrase extends PureComponent {
|
||||||
static contextTypes = {
|
static contextTypes = {
|
||||||
@ -79,7 +79,7 @@ export default class RevealSeedPhrase extends PureComponent {
|
|||||||
await Promise.all([setCompletedOnboarding(), setSeedPhraseBackedUp(false)]);
|
await Promise.all([setCompletedOnboarding(), setSeedPhraseBackedUp(false)]);
|
||||||
|
|
||||||
if (onboardingInitiator) {
|
if (onboardingInitiator) {
|
||||||
await returnToOnboardingInitiator(onboardingInitiator);
|
await returnToOnboardingInitiatorTab(onboardingInitiator);
|
||||||
}
|
}
|
||||||
history.replace(DEFAULT_ROUTE);
|
history.replace(DEFAULT_ROUTE);
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user