diff options
-rw-r--r-- | ext/bg/js/settings/clipboard-popups-controller.js | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/ext/bg/js/settings/clipboard-popups-controller.js b/ext/bg/js/settings/clipboard-popups-controller.js index 77fae305..294663f9 100644 --- a/ext/bg/js/settings/clipboard-popups-controller.js +++ b/ext/bg/js/settings/clipboard-popups-controller.js @@ -36,25 +36,16 @@ class ClipboardPopupsController { } async _onEnableClipboardPopupsChanged(e) { - const enableClipboardPopups = e.target.checked; - const options = await this._settingsController.getOptionsMutable(); - - if (enableClipboardPopups) { - options.general.enableClipboardPopups = await new Promise((resolve) => { - chrome.permissions.request( - {permissions: ['clipboardRead']}, - (granted) => { - if (!granted) { - this._checkbox.checked = false; - } - resolve(granted); - } - ); + const checkbox = e.currentTarget; + let value = checkbox.checked; + + if (value) { + value = await new Promise((resolve) => { + chrome.permissions.request({permissions: ['clipboardRead']}, resolve); }); - } else { - options.general.enableClipboardPopups = false; + checkbox.checked = value; } - await this._settingsController.save(); + await this._settingsController.setProfileSetting('general.enableClipboardPopups', value); } } |