make safe browsing a dedicated setting

This commit is contained in:
Fabian Freund
2026-04-16 09:43:51 +02:00
parent eca74b283a
commit 2e1b29a463
8 changed files with 158 additions and 10 deletions
@@ -31,6 +31,9 @@ import 'package:weblibre/features/user/domain/repositories/general_settings.dart
part 'engine_settings_replication.g.dart';
const _safeBrowsingMalwarePref = 'browser.safebrowsing.malware.enabled';
const _safeBrowsingPhishingPref = 'browser.safebrowsing.phishing.enabled';
/// Checks if any Custom ETP setting changed between two EngineSettings instances.
bool _customEtpSettingsChanged(
GeckoEngineSettings? previous,
@@ -229,6 +232,24 @@ class EngineSettingsReplicationService
.read(preferenceFixatorProvider.notifier)
.register('pdfjs.disabled', !settings.enablePdfJs);
}
if (previous.value?.safeBrowsingMalwareEnabled !=
settings.safeBrowsingMalwareEnabled) {
await ref
.read(preferenceFixatorProvider.notifier)
.register(
_safeBrowsingMalwarePref,
settings.safeBrowsingMalwareEnabled,
);
}
if (previous.value?.safeBrowsingPhishingEnabled !=
settings.safeBrowsingPhishingEnabled) {
await ref
.read(preferenceFixatorProvider.notifier)
.register(
_safeBrowsingPhishingPref,
settings.safeBrowsingPhishingEnabled,
);
}
if (!const DeepCollectionEquality.unordered().equals(
previous.value?.locales,
settings.locales,
@@ -283,6 +304,18 @@ class EngineSettingsReplicationService
await ref
.read(preferenceFixatorProvider.notifier)
.register('pdfjs.disabled', !settings.enablePdfJs);
await ref
.read(preferenceFixatorProvider.notifier)
.register(
_safeBrowsingMalwarePref,
settings.safeBrowsingMalwareEnabled,
);
await ref
.read(preferenceFixatorProvider.notifier)
.register(
_safeBrowsingPhishingPref,
settings.safeBrowsingPhishingEnabled,
);
await ref
.read(preferenceFixatorProvider.notifier)
.register('intl.accept_languages', settings.locales.join(','));
@@ -44,7 +44,7 @@ final class EngineSettingsReplicationServiceProvider
}
String _$engineSettingsReplicationServiceHash() =>
r'81443c37d18ad82f0694cd0e1115ccdf8a0f4c06';
r'061f0b32a9c49e3bd4b76cd99993620558e0d3b2';
abstract class _$EngineSettingsReplicationService extends $Notifier<void> {
void build();