fine grained blocking settings

This commit is contained in:
Fabian Freund
2026-06-30 07:51:11 +02:00
parent 9c2c8d4ba6
commit e6f7ccc71c
13 changed files with 221 additions and 74 deletions
@@ -80,6 +80,9 @@ class EngineSettings extends GeckoEngineSettings with FastEquatable {
@override
List<String> get locales => super.locales!;
@override
bool get useContentBlockingDatabase => super.useContentBlockingDatabase!;
// Custom Tracking Protection overrides
@override
bool get blockCookies => super.blockCookies!;
@@ -104,6 +107,9 @@ class EngineSettings extends GeckoEngineSettings with FastEquatable {
bool get allowListBaseline => super.allowListBaseline!;
@override
bool get allowListConvenience => super.allowListConvenience!;
@override
bool get blockAdsAnalyticsSocialTrackers =>
super.blockAdsAnalyticsSocialTrackers!;
// Web Content Settings
@override
@@ -196,6 +202,7 @@ class EngineSettings extends GeckoEngineSettings with FastEquatable {
required this.safeBrowsingMalwareEnabled,
required this.safeBrowsingPhishingEnabled,
required super.locales,
required super.useContentBlockingDatabase,
required super.blockCookies,
required super.customCookiePolicy,
required super.blockTrackingContent,
@@ -207,6 +214,7 @@ class EngineSettings extends GeckoEngineSettings with FastEquatable {
required super.suspectedFingerprintersScope,
required super.allowListBaseline,
required super.allowListConvenience,
required super.blockAdsAnalyticsSocialTrackers,
required super.webFontsEnabled,
required super.automaticFontSizeAdjustment,
required super.fontSizeFactor,
@@ -250,6 +258,7 @@ class EngineSettings extends GeckoEngineSettings with FastEquatable {
bool? safeBrowsingMalwareEnabled,
bool? safeBrowsingPhishingEnabled,
List<String>? locales,
bool? useContentBlockingDatabase,
bool? blockCookies,
CustomCookiePolicy? customCookiePolicy,
bool? blockTrackingContent,
@@ -261,6 +270,7 @@ class EngineSettings extends GeckoEngineSettings with FastEquatable {
TrackingScope? suspectedFingerprintersScope,
bool? allowListBaseline,
bool? allowListConvenience,
bool? blockAdsAnalyticsSocialTrackers,
bool? webFontsEnabled,
bool? automaticFontSizeAdjustment,
double? fontSizeFactor,
@@ -318,6 +328,7 @@ class EngineSettings extends GeckoEngineSettings with FastEquatable {
WidgetsBinding.instance.platformDispatcher.locales
.map((x) => x.toLanguageTag())
.toList(),
useContentBlockingDatabase: useContentBlockingDatabase ?? true,
blockCookies: blockCookies ?? true,
customCookiePolicy:
customCookiePolicy ?? CustomCookiePolicy.totalProtection,
@@ -331,6 +342,8 @@ class EngineSettings extends GeckoEngineSettings with FastEquatable {
suspectedFingerprintersScope ?? TrackingScope.all,
allowListBaseline: allowListBaseline ?? true,
allowListConvenience: allowListConvenience ?? false,
blockAdsAnalyticsSocialTrackers:
blockAdsAnalyticsSocialTrackers ?? true,
webFontsEnabled: webFontsEnabled ?? true,
automaticFontSizeAdjustment: automaticFontSizeAdjustment ?? true,
fontSizeFactor: fontSizeFactor ?? 1.0,
@@ -398,6 +411,7 @@ class EngineSettings extends GeckoEngineSettings with FastEquatable {
safeBrowsingMalwareEnabled,
safeBrowsingPhishingEnabled,
locales,
useContentBlockingDatabase,
blockCookies,
customCookiePolicy,
blockTrackingContent,
@@ -409,6 +423,7 @@ class EngineSettings extends GeckoEngineSettings with FastEquatable {
suspectedFingerprintersScope,
allowListBaseline,
allowListConvenience,
blockAdsAnalyticsSocialTrackers,
webFontsEnabled,
automaticFontSizeAdjustment,
fontSizeFactor,
@@ -77,6 +77,8 @@ abstract class _$EngineSettingsCWProxy {
EngineSettings locales(List<String>? locales);
EngineSettings useContentBlockingDatabase(bool? useContentBlockingDatabase);
EngineSettings blockCookies(bool? blockCookies);
EngineSettings customCookiePolicy(CustomCookiePolicy? customCookiePolicy);
@@ -103,6 +105,10 @@ abstract class _$EngineSettingsCWProxy {
EngineSettings allowListConvenience(bool? allowListConvenience);
EngineSettings blockAdsAnalyticsSocialTrackers(
bool? blockAdsAnalyticsSocialTrackers,
);
EngineSettings webFontsEnabled(bool? webFontsEnabled);
EngineSettings automaticFontSizeAdjustment(bool? automaticFontSizeAdjustment);
@@ -166,6 +172,7 @@ abstract class _$EngineSettingsCWProxy {
bool safeBrowsingMalwareEnabled,
bool safeBrowsingPhishingEnabled,
List<String>? locales,
bool? useContentBlockingDatabase,
bool? blockCookies,
CustomCookiePolicy? customCookiePolicy,
bool? blockTrackingContent,
@@ -177,6 +184,7 @@ abstract class _$EngineSettingsCWProxy {
TrackingScope? suspectedFingerprintersScope,
bool? allowListBaseline,
bool? allowListConvenience,
bool? blockAdsAnalyticsSocialTrackers,
bool? webFontsEnabled,
bool? automaticFontSizeAdjustment,
double? fontSizeFactor,
@@ -320,6 +328,10 @@ class _$EngineSettingsCWProxyImpl implements _$EngineSettingsCWProxy {
@override
EngineSettings locales(List<String>? locales) => call(locales: locales);
@override
EngineSettings useContentBlockingDatabase(bool? useContentBlockingDatabase) =>
call(useContentBlockingDatabase: useContentBlockingDatabase);
@override
EngineSettings blockCookies(bool? blockCookies) =>
call(blockCookies: blockCookies);
@@ -366,6 +378,11 @@ class _$EngineSettingsCWProxyImpl implements _$EngineSettingsCWProxy {
EngineSettings allowListConvenience(bool? allowListConvenience) =>
call(allowListConvenience: allowListConvenience);
@override
EngineSettings blockAdsAnalyticsSocialTrackers(
bool? blockAdsAnalyticsSocialTrackers,
) => call(blockAdsAnalyticsSocialTrackers: blockAdsAnalyticsSocialTrackers);
@override
EngineSettings webFontsEnabled(bool? webFontsEnabled) =>
call(webFontsEnabled: webFontsEnabled);
@@ -462,6 +479,7 @@ class _$EngineSettingsCWProxyImpl implements _$EngineSettingsCWProxy {
Object? safeBrowsingMalwareEnabled = const $CopyWithPlaceholder(),
Object? safeBrowsingPhishingEnabled = const $CopyWithPlaceholder(),
Object? locales = const $CopyWithPlaceholder(),
Object? useContentBlockingDatabase = const $CopyWithPlaceholder(),
Object? blockCookies = const $CopyWithPlaceholder(),
Object? customCookiePolicy = const $CopyWithPlaceholder(),
Object? blockTrackingContent = const $CopyWithPlaceholder(),
@@ -473,6 +491,7 @@ class _$EngineSettingsCWProxyImpl implements _$EngineSettingsCWProxy {
Object? suspectedFingerprintersScope = const $CopyWithPlaceholder(),
Object? allowListBaseline = const $CopyWithPlaceholder(),
Object? allowListConvenience = const $CopyWithPlaceholder(),
Object? blockAdsAnalyticsSocialTrackers = const $CopyWithPlaceholder(),
Object? webFontsEnabled = const $CopyWithPlaceholder(),
Object? automaticFontSizeAdjustment = const $CopyWithPlaceholder(),
Object? fontSizeFactor = const $CopyWithPlaceholder(),
@@ -621,6 +640,11 @@ class _$EngineSettingsCWProxyImpl implements _$EngineSettingsCWProxy {
? _value.locales
// ignore: cast_nullable_to_non_nullable
: locales as List<String>?,
useContentBlockingDatabase:
useContentBlockingDatabase == const $CopyWithPlaceholder()
? _value.useContentBlockingDatabase
// ignore: cast_nullable_to_non_nullable
: useContentBlockingDatabase as bool?,
blockCookies: blockCookies == const $CopyWithPlaceholder()
? _value.blockCookies
// ignore: cast_nullable_to_non_nullable
@@ -668,6 +692,11 @@ class _$EngineSettingsCWProxyImpl implements _$EngineSettingsCWProxy {
? _value.allowListConvenience
// ignore: cast_nullable_to_non_nullable
: allowListConvenience as bool?,
blockAdsAnalyticsSocialTrackers:
blockAdsAnalyticsSocialTrackers == const $CopyWithPlaceholder()
? _value.blockAdsAnalyticsSocialTrackers
// ignore: cast_nullable_to_non_nullable
: blockAdsAnalyticsSocialTrackers as bool?,
webFontsEnabled: webFontsEnabled == const $CopyWithPlaceholder()
? _value.webFontsEnabled
// ignore: cast_nullable_to_non_nullable
@@ -814,6 +843,7 @@ EngineSettings _$EngineSettingsFromJson(
locales: (json['locales'] as List<dynamic>?)
?.map((e) => e as String)
.toList(),
useContentBlockingDatabase: json['useContentBlockingDatabase'] as bool?,
blockCookies: json['blockCookies'] as bool?,
customCookiePolicy: $enumDecodeNullable(
_$CustomCookiePolicyEnumMap,
@@ -834,6 +864,8 @@ EngineSettings _$EngineSettingsFromJson(
),
allowListBaseline: json['allowListBaseline'] as bool?,
allowListConvenience: json['allowListConvenience'] as bool?,
blockAdsAnalyticsSocialTrackers:
json['blockAdsAnalyticsSocialTrackers'] as bool?,
webFontsEnabled: json['webFontsEnabled'] as bool?,
automaticFontSizeAdjustment: json['automaticFontSizeAdjustment'] as bool?,
fontSizeFactor: (json['fontSizeFactor'] as num?)?.toDouble(),
@@ -882,6 +914,7 @@ Map<String, dynamic> _$EngineSettingsToJson(
.webContentIsolationStrategy]!,
'enterpriseRootsEnabled': instance.enterpriseRootsEnabled,
'locales': instance.locales,
'useContentBlockingDatabase': instance.useContentBlockingDatabase,
'blockCookies': instance.blockCookies,
'customCookiePolicy':
_$CustomCookiePolicyEnumMap[instance.customCookiePolicy]!,
@@ -896,6 +929,7 @@ Map<String, dynamic> _$EngineSettingsToJson(
_$TrackingScopeEnumMap[instance.suspectedFingerprintersScope]!,
'allowListBaseline': instance.allowListBaseline,
'allowListConvenience': instance.allowListConvenience,
'blockAdsAnalyticsSocialTrackers': instance.blockAdsAnalyticsSocialTrackers,
'webFontsEnabled': instance.webFontsEnabled,
'automaticFontSizeAdjustment': instance.automaticFontSizeAdjustment,
'fontSizeFactor': instance.fontSizeFactor,