[mv3] Fix using Optimal as default mode when hosts permission allows it

Related issue:
https://github.com/uBlockOrigin/uBOL-home/discussions/161
This commit is contained in:
Raymond Hill 2024-12-10 10:16:35 -05:00
parent 738f93da28
commit 0e1800e68d
No known key found for this signature in database
GPG key ID: 25E1490B761470C2
2 changed files with 15 additions and 8 deletions

View file

@ -93,7 +93,11 @@ async function hasGreatPowers(origin) {
});
}
function hasOmnipotence() {
async function hasOmnipotence() {
const manifest = runtime.getManifest();
const hasOmnipotence = Array.isArray(manifest.host_permissions) &&
manifest.host_permissions.includes('<all_urls>');
if ( hasOmnipotence ) { return true; }
return browser.permissions.contains({
origins: [ '<all_urls>' ],
});
@ -436,13 +440,15 @@ async function start() {
if ( afterLevel === MODE_OPTIMAL ) {
updateDynamicRules();
registerInjectables();
process.firstRun = false;
}
}
const disableFirstRunPage = await adminRead('disableFirstRunPage');
if ( disableFirstRunPage !== true ) {
runtime.openOptionsPage();
} else {
process.firstRun = false;
const disableFirstRunPage = await adminRead('disableFirstRunPage');
if ( disableFirstRunPage !== true ) {
runtime.openOptionsPage();
} else {
process.firstRun = false;
}
}
}

View file

@ -252,10 +252,11 @@ async function writeFilteringModeDetails(afterDetails) {
localWrite('filteringModeDetails', data);
sessionWrite('filteringModeDetails', data);
readFilteringModeDetails.cache = unserializeModeDetails(data);
Promise.all([
return Promise.all([
getDefaultFilteringMode(),
getTrustedSites(),
localWrite('filteringModeDetails', data),
sessionWrite('filteringModeDetails', data),
]).then(results => {
broadcastMessage({
defaultFilteringMode: results[0],