[mv3] "Enable strict blocking" setting depends on broad host permissions

This commit is contained in:
Raymond Hill 2025-04-13 10:13:18 -04:00
parent 7c5c93f073
commit 51db128dc2
No known key found for this signature in database
GPG key ID: 25E1490B761470C2
2 changed files with 11 additions and 1 deletions

View file

@ -21,6 +21,7 @@
import {
broadcastMessage,
hasBroadHostPermissions,
hostnamesFromMatches,
isDescendantHostnameOfIter,
toBroaderHostname,
@ -255,12 +256,14 @@ async function writeFilteringModeDetails(afterDetails) {
return Promise.all([
getDefaultFilteringMode(),
getTrustedSites(),
hasBroadHostPermissions(),
localWrite('filteringModeDetails', data),
sessionWrite('filteringModeDetails', data),
]).then(results => {
broadcastMessage({
defaultFilteringMode: results[0],
trustedSites: Array.from(results[1]),
hasOmnipotence: results[2],
});
});
}

View file

@ -69,7 +69,7 @@ function renderWidgets() {
{
const input = qs$('#strictBlockMode input[type="checkbox"]');
const canStrictBlock = cachedRulesetData.defaultFilteringMode > 1;
const canStrictBlock = cachedRulesetData.hasOmnipotence;
input.checked = canStrictBlock && cachedRulesetData.strictBlockMode;
dom.attr(input, 'disabled', canStrictBlock ? null : '');
}
@ -235,6 +235,13 @@ listen.onmessage = ev => {
}
}
if ( message.hasOmnipotence !== undefined ) {
if ( message.hasOmnipotence !== local.hasOmnipotence ) {
local.hasOmnipotence = message.hasOmnipotence;
render = true;
}
}
if ( message.defaultFilteringMode !== undefined ) {
if ( message.defaultFilteringMode !== local.defaultFilteringMode ) {
local.defaultFilteringMode = message.defaultFilteringMode;