mirror of
https://github.com/gorhill/uBlock.git
synced 2026-03-11 09:04:36 +00:00
[mv3][firefox] Fix instanceof quirk; fine tune picker CSS
Related feedback: https://github.com/uBlockOrigin/uBOL-home/discussions/548
This commit is contained in:
parent
801b4679e9
commit
d8fb800f30
2 changed files with 18 additions and 23 deletions
|
|
@ -38,6 +38,7 @@
|
|||
#ubol-picker textarea {
|
||||
border: 0;
|
||||
box-sizing: border-box;
|
||||
font-size: var(--monospace-size);
|
||||
min-height: 5em;
|
||||
resize: none;
|
||||
width: 100%;
|
||||
|
|
@ -49,7 +50,7 @@
|
|||
color: var(--ink-2);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
font-size: small;
|
||||
font-size: var(--monospace-size);
|
||||
gap: 0.25em;
|
||||
}
|
||||
#ubol-picker .resultsetWidgets > span:first-of-type {
|
||||
|
|
@ -75,7 +76,7 @@
|
|||
|
||||
#ubol-picker #candidateFilters {
|
||||
font-family: monospace;
|
||||
font-size: small;
|
||||
font-size: var(--monospace-size);
|
||||
max-height: min(20em, 30vh);
|
||||
min-height: 6em;
|
||||
overflow-y: auto;
|
||||
|
|
@ -111,7 +112,7 @@
|
|||
color: var(--ink-2);
|
||||
column-gap: 0;
|
||||
display: grid;
|
||||
font-size: small;
|
||||
font-size: var(--font-size-smaller);
|
||||
grid-template: auto / 1fr 1fr;
|
||||
justify-items: stretch;
|
||||
user-select: none;
|
||||
|
|
|
|||
|
|
@ -33,6 +33,8 @@ export const webextFlavor = (( ) => {
|
|||
return extURL.startsWith('moz-extension:') ? 'firefox' : 'chromium';
|
||||
})();
|
||||
|
||||
const notAnObject = a => typeof a !== 'object' || a === null;
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
// The extension's service worker can be evicted at any time, so when we
|
||||
|
|
@ -47,72 +49,64 @@ export function sendMessage(msg) {
|
|||
/******************************************************************************/
|
||||
|
||||
export async function localRead(key) {
|
||||
if ( browser.storage instanceof Object === false ) { return; }
|
||||
if ( browser.storage.local instanceof Object === false ) { return; }
|
||||
if ( notAnObject(browser?.storage?.local) ) { return; }
|
||||
try {
|
||||
const bin = await browser.storage.local.get(key);
|
||||
if ( bin instanceof Object === false ) { return; }
|
||||
if ( notAnObject(bin) ) { return; }
|
||||
return bin[key] ?? undefined;
|
||||
} catch {
|
||||
}
|
||||
}
|
||||
|
||||
export async function localWrite(key, value) {
|
||||
if ( browser.storage instanceof Object === false ) { return; }
|
||||
if ( browser.storage.local instanceof Object === false ) { return; }
|
||||
if ( notAnObject(browser?.storage?.local) ) { return; }
|
||||
return browser.storage.local.set({ [key]: value });
|
||||
}
|
||||
|
||||
export async function localRemove(key) {
|
||||
if ( browser.storage instanceof Object === false ) { return; }
|
||||
if ( browser.storage.local instanceof Object === false ) { return; }
|
||||
if ( notAnObject(browser?.storage?.local) ) { return; }
|
||||
return browser.storage.local.remove(key);
|
||||
}
|
||||
|
||||
export async function localKeys() {
|
||||
if ( browser.storage instanceof Object === false ) { return; }
|
||||
if ( browser.storage.local instanceof Object === false ) { return; }
|
||||
if ( notAnObject(browser?.storage?.local) ) { return; }
|
||||
if ( browser.storage.local.getKeys ) {
|
||||
return browser.storage.local.getKeys();
|
||||
}
|
||||
const bin = await browser.storage.local.get(null);
|
||||
if ( bin instanceof Object === false ) { return; }
|
||||
if ( notAnObject(bin) ) { return; }
|
||||
return Object.keys(bin);
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
export async function sessionRead(key) {
|
||||
if ( browser.storage instanceof Object === false ) { return; }
|
||||
if ( browser.storage.session instanceof Object === false ) { return; }
|
||||
if ( notAnObject(browser?.storage?.session) ) { return; }
|
||||
try {
|
||||
const bin = await browser.storage.session.get(key);
|
||||
if ( bin instanceof Object === false ) { return; }
|
||||
if ( notAnObject(bin) ) { return; }
|
||||
return bin[key] ?? undefined;
|
||||
} catch {
|
||||
}
|
||||
}
|
||||
|
||||
export async function sessionWrite(key, value) {
|
||||
if ( browser.storage instanceof Object === false ) { return; }
|
||||
if ( browser.storage.session instanceof Object === false ) { return; }
|
||||
if ( notAnObject(browser?.storage?.session) ) { return; }
|
||||
return browser.storage.session.set({ [key]: value });
|
||||
}
|
||||
|
||||
export async function sessionRemove(key) {
|
||||
if ( browser.storage instanceof Object === false ) { return; }
|
||||
if ( browser.storage.session instanceof Object === false ) { return; }
|
||||
if ( notAnObject(browser?.storage?.session) ) { return; }
|
||||
return browser.storage.session.remove(key);
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
export async function adminRead(key) {
|
||||
if ( browser.storage instanceof Object === false ) { return; }
|
||||
if ( browser.storage.managed instanceof Object === false ) { return; }
|
||||
if ( browser?.storage?.managed instanceof Object === false ) { return; }
|
||||
try {
|
||||
const bin = await browser.storage.managed.get(key);
|
||||
if ( bin instanceof Object === false ) { return; }
|
||||
if ( notAnObject(bin) ) { return; }
|
||||
return bin[key] ?? undefined;
|
||||
} catch {
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue