summaryrefslogtreecommitdiff
path: root/ext/js/background
diff options
context:
space:
mode:
Diffstat (limited to 'ext/js/background')
-rw-r--r--ext/js/background/backend.js19
1 files changed, 18 insertions, 1 deletions
diff --git a/ext/js/background/backend.js b/ext/js/background/backend.js
index 5f42b4c9..db6cfada 100644
--- a/ext/js/background/backend.js
+++ b/ext/js/background/backend.js
@@ -239,7 +239,7 @@ class Backend {
const options = this._getProfileOptions({current: true});
if (options.general.showGuide) {
- this._openWelcomeGuidePage();
+ this._openWelcomeGuidePageOnce();
}
this._clipboardMonitor.on('change', this._onClipboardTextChange.bind(this));
@@ -2152,6 +2152,23 @@ class Backend {
return textReplacements;
}
+ async _openWelcomeGuidePageOnce() {
+ if (isObject(chrome.storage) && isObject(chrome.storage.session)) {
+ // Chrome
+ chrome.storage.session.get(['openedWelcomePage']).then((result) => {
+ if (!result.openedWelcomePage) {
+ this._openWelcomeGuidePage();
+ chrome.storage.session.set({'openedWelcomePage': true});
+ }
+ });
+ } else {
+ // Firefox (storage.session is not supported yet)
+ // NOTE: This means that the welcome page will repeatedly open in Firefox
+ // until they support storage.session.
+ this._openWelcomeGuidePage();
+ }
+ }
+
async _openWelcomeGuidePage() {
await this._createTab(chrome.runtime.getURL('/welcome.html'));
}