diff options
Diffstat (limited to 'ext')
| -rw-r--r-- | ext/bg/js/settings/main.js | 17 | 
1 files changed, 16 insertions, 1 deletions
| diff --git a/ext/bg/js/settings/main.js b/ext/bg/js/settings/main.js index 55472a7b..cf0f08db 100644 --- a/ext/bg/js/settings/main.js +++ b/ext/bg/js/settings/main.js @@ -28,7 +28,22 @@ function getOptionsFullMutable() {  async function formRead(options) {      options.general.enable = $('#enable').prop('checked'); -    options.general.enableClipboardPopups = $('#enable-clipboard-popups').prop('checked'); +    const enableClipboardPopups = $('#enable-clipboard-popups').prop('checked'); +    if (enableClipboardPopups) { +        options.general.enableClipboardPopups = await new Promise((resolve, _reject) => { +            chrome.permissions.request( +                {permissions: ['clipboardRead']}, +                (granted) => { +                    if (!granted) { +                        $('#enable-clipboard-popups').prop('checked', false); +                    } +                    resolve(granted); +                } +            ); +        }); +    } else { +        options.general.enableClipboardPopups = false; +    }      options.general.showGuide = $('#show-usage-guide').prop('checked');      options.general.compactTags = $('#compact-tags').prop('checked');      options.general.compactGlossaries = $('#compact-glossaries').prop('checked'); |