refactor setting providers; include content blocking settings;
This commit is contained in:
@@ -54,6 +54,20 @@ class EngineSettings extends GeckoEngineSettings with FastEquatable {
|
||||
WebContentIsolationStrategy get webContentIsolationStrategy =>
|
||||
super.webContentIsolationStrategy!;
|
||||
|
||||
final QueryParameterStripping queryParameterStripping;
|
||||
|
||||
final BounceTrackingProtectionMode bounceTrackingProtectionMode;
|
||||
|
||||
@override
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
ContentBlocking get contentBlocking => ContentBlocking(
|
||||
queryParameterStripping: queryParameterStripping,
|
||||
queryParameterStrippingAllowList: '',
|
||||
queryParameterStrippingStripList:
|
||||
'__hsfp __hssc __hstc __s _bhlid _branch_match_id _branch_referrer _gl _hsenc _kx _openstat at_recipient_id at_recipient_list bbeml bsft_clkid bsft_uid dclid et_rid fb_action_ids fb_comment_id fbclid gbraid gclid guce_referrer guce_referrer_sig hsCtaTracking igshid irclickid mc_eid mkt_tok ml_subscriber ml_subscriber_hash msclkid mtm_cid oft_c oft_ck oft_d oft_id oft_ids oft_k oft_lk oft_sk oly_anon_id oly_enc_id pk_cid rb_clickid s_cid sc_customer sc_eh sc_uid srsltid ss_email_id twclid unicorn_click_id vero_conv vero_id vgo_ee wbraid wickedid yclid ymclid ysclid',
|
||||
bounceTrackingProtectionMode: bounceTrackingProtectionMode,
|
||||
);
|
||||
|
||||
EngineSettings({
|
||||
required super.javascriptEnabled,
|
||||
required super.trackingProtectionPolicy,
|
||||
@@ -66,6 +80,8 @@ class EngineSettings extends GeckoEngineSettings with FastEquatable {
|
||||
required super.cookieBannerHandlingGlobalRulesSubFrames,
|
||||
required super.webContentIsolationStrategy,
|
||||
required super.userAgent,
|
||||
required this.queryParameterStripping,
|
||||
required this.bounceTrackingProtectionMode,
|
||||
});
|
||||
|
||||
EngineSettings.withDefaults({
|
||||
@@ -79,8 +95,15 @@ class EngineSettings extends GeckoEngineSettings with FastEquatable {
|
||||
bool? cookieBannerHandlingGlobalRules,
|
||||
bool? cookieBannerHandlingGlobalRulesSubFrames,
|
||||
WebContentIsolationStrategy? webContentIsolationStrategy,
|
||||
QueryParameterStripping? queryParameterStripping,
|
||||
BounceTrackingProtectionMode? bounceTrackingProtectionMode,
|
||||
super.userAgent,
|
||||
}) : super(
|
||||
}) : queryParameterStripping =
|
||||
queryParameterStripping ?? QueryParameterStripping.disabled,
|
||||
bounceTrackingProtectionMode =
|
||||
bounceTrackingProtectionMode ??
|
||||
BounceTrackingProtectionMode.disabled,
|
||||
super(
|
||||
javascriptEnabled: javascriptEnabled ?? true,
|
||||
trackingProtectionPolicy:
|
||||
trackingProtectionPolicy ?? TrackingProtectionPolicy.strict,
|
||||
@@ -119,5 +142,7 @@ class EngineSettings extends GeckoEngineSettings with FastEquatable {
|
||||
super.cookieBannerHandlingGlobalRulesSubFrames,
|
||||
super.webContentIsolationStrategy,
|
||||
super.userAgent,
|
||||
queryParameterStripping,
|
||||
bounceTrackingProtectionMode,
|
||||
];
|
||||
}
|
||||
|
||||
@@ -41,6 +41,14 @@ abstract class _$EngineSettingsCWProxy {
|
||||
|
||||
EngineSettings userAgent(String? userAgent);
|
||||
|
||||
EngineSettings queryParameterStripping(
|
||||
QueryParameterStripping queryParameterStripping,
|
||||
);
|
||||
|
||||
EngineSettings bounceTrackingProtectionMode(
|
||||
BounceTrackingProtectionMode bounceTrackingProtectionMode,
|
||||
);
|
||||
|
||||
/// This function **does support** nullification of nullable fields. All `null` values passed to `non-nullable` fields will be ignored. You can also use `EngineSettings(...).copyWith.fieldName(...)` to override fields one at a time with nullification support.
|
||||
///
|
||||
/// Usage
|
||||
@@ -59,6 +67,8 @@ abstract class _$EngineSettingsCWProxy {
|
||||
bool? cookieBannerHandlingGlobalRulesSubFrames,
|
||||
WebContentIsolationStrategy? webContentIsolationStrategy,
|
||||
String? userAgent,
|
||||
QueryParameterStripping queryParameterStripping,
|
||||
BounceTrackingProtectionMode bounceTrackingProtectionMode,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -124,6 +134,16 @@ class _$EngineSettingsCWProxyImpl implements _$EngineSettingsCWProxy {
|
||||
@override
|
||||
EngineSettings userAgent(String? userAgent) => this(userAgent: userAgent);
|
||||
|
||||
@override
|
||||
EngineSettings queryParameterStripping(
|
||||
QueryParameterStripping queryParameterStripping,
|
||||
) => this(queryParameterStripping: queryParameterStripping);
|
||||
|
||||
@override
|
||||
EngineSettings bounceTrackingProtectionMode(
|
||||
BounceTrackingProtectionMode bounceTrackingProtectionMode,
|
||||
) => this(bounceTrackingProtectionMode: bounceTrackingProtectionMode);
|
||||
|
||||
@override
|
||||
/// This function **does support** nullification of nullable fields. All `null` values passed to `non-nullable` fields will be ignored. You can also use `EngineSettings(...).copyWith.fieldName(...)` to override fields one at a time with nullification support.
|
||||
///
|
||||
@@ -145,6 +165,8 @@ class _$EngineSettingsCWProxyImpl implements _$EngineSettingsCWProxy {
|
||||
const $CopyWithPlaceholder(),
|
||||
Object? webContentIsolationStrategy = const $CopyWithPlaceholder(),
|
||||
Object? userAgent = const $CopyWithPlaceholder(),
|
||||
Object? queryParameterStripping = const $CopyWithPlaceholder(),
|
||||
Object? bounceTrackingProtectionMode = const $CopyWithPlaceholder(),
|
||||
}) {
|
||||
return EngineSettings(
|
||||
javascriptEnabled: javascriptEnabled == const $CopyWithPlaceholder()
|
||||
@@ -201,6 +223,16 @@ class _$EngineSettingsCWProxyImpl implements _$EngineSettingsCWProxy {
|
||||
? _value.userAgent
|
||||
// ignore: cast_nullable_to_non_nullable
|
||||
: userAgent as String?,
|
||||
queryParameterStripping:
|
||||
queryParameterStripping == const $CopyWithPlaceholder()
|
||||
? _value.queryParameterStripping
|
||||
// ignore: cast_nullable_to_non_nullable
|
||||
: queryParameterStripping as QueryParameterStripping,
|
||||
bounceTrackingProtectionMode:
|
||||
bounceTrackingProtectionMode == const $CopyWithPlaceholder()
|
||||
? _value.bounceTrackingProtectionMode
|
||||
// ignore: cast_nullable_to_non_nullable
|
||||
: bounceTrackingProtectionMode as BounceTrackingProtectionMode,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -247,6 +279,14 @@ EngineSettings _$EngineSettingsFromJson(Map<String, dynamic> json) =>
|
||||
_$WebContentIsolationStrategyEnumMap,
|
||||
json['webContentIsolationStrategy'],
|
||||
),
|
||||
queryParameterStripping: $enumDecodeNullable(
|
||||
_$QueryParameterStrippingEnumMap,
|
||||
json['queryParameterStripping'],
|
||||
),
|
||||
bounceTrackingProtectionMode: $enumDecodeNullable(
|
||||
_$BounceTrackingProtectionModeEnumMap,
|
||||
json['bounceTrackingProtectionMode'],
|
||||
),
|
||||
userAgent: json['userAgent'] as String?,
|
||||
);
|
||||
|
||||
@@ -271,6 +311,11 @@ Map<String, dynamic> _$EngineSettingsToJson(
|
||||
'webContentIsolationStrategy':
|
||||
_$WebContentIsolationStrategyEnumMap[instance
|
||||
.webContentIsolationStrategy]!,
|
||||
'queryParameterStripping':
|
||||
_$QueryParameterStrippingEnumMap[instance.queryParameterStripping]!,
|
||||
'bounceTrackingProtectionMode':
|
||||
_$BounceTrackingProtectionModeEnumMap[instance
|
||||
.bounceTrackingProtectionMode]!,
|
||||
};
|
||||
|
||||
const _$TrackingProtectionPolicyEnumMap = {
|
||||
@@ -303,3 +348,16 @@ const _$WebContentIsolationStrategyEnumMap = {
|
||||
WebContentIsolationStrategy.isolateEverything: 'isolateEverything',
|
||||
WebContentIsolationStrategy.isolateHighValue: 'isolateHighValue',
|
||||
};
|
||||
|
||||
const _$QueryParameterStrippingEnumMap = {
|
||||
QueryParameterStripping.disabled: 'disabled',
|
||||
QueryParameterStripping.privateOnly: 'privateOnly',
|
||||
QueryParameterStripping.enabled: 'enabled',
|
||||
};
|
||||
|
||||
const _$BounceTrackingProtectionModeEnumMap = {
|
||||
BounceTrackingProtectionMode.disabled: 'disabled',
|
||||
BounceTrackingProtectionMode.enabled: 'enabled',
|
||||
BounceTrackingProtectionMode.enabledStandby: 'enabledStandby',
|
||||
BounceTrackingProtectionMode.enabledDryRun: 'enabledDryRun',
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user