This commit is contained in:
Fabian Freund
2025-02-03 15:09:04 +01:00
parent 36acd46318
commit 025ecaf2e3
132 changed files with 4431 additions and 1644 deletions
@@ -0,0 +1,34 @@
import 'package:flutter_mozilla_components/src/pigeons/gecko.g.dart';
final _apiInstance = GeckoDeleteBrowsingDataController();
class GeckoDeleteBrowserDataService {
final GeckoDeleteBrowsingDataController _api;
GeckoDeleteBrowserDataService({GeckoDeleteBrowsingDataController? api})
: _api = api ?? _apiInstance;
Future<void> deleteTabs() {
return _api.deleteTabs();
}
Future<void> deleteBrowsingHistory() {
return _api.deleteBrowsingHistory();
}
Future<void> deleteCookiesAndSiteData() {
return _api.deleteCookiesAndSiteData();
}
Future<void> deleteCachedFiles() {
return _api.deleteCachedFiles();
}
Future<void> deleteSitePermissions() {
return _api.deleteSitePermissions();
}
Future<void> deleteDownloads() {
return _api.deleteDownloads();
}
}
@@ -8,7 +8,71 @@ class GeckoEngineSettingsService {
GeckoEngineSettingsService({GeckoEngineSettingsApi? api})
: _api = api ?? _apiInstance;
Future<void> javaScriptEnabled(bool state) {
return _api.javaScriptEnabled(state);
Future<void> setDefaultSettings(GeckoEngineSettings settings,
{bool updateRuntime = true}) {
return updateRuntime
? _api.updateRuntimeSettings(settings)
: _api.setDefaultSettings(settings);
}
Future<void> javascriptEnabled(bool state) {
return _api.updateRuntimeSettings(
GeckoEngineSettings(javascriptEnabled: state),
);
}
Future<void> trackingProtectionPolicy(TrackingProtectionPolicy state) {
return _api.updateRuntimeSettings(
GeckoEngineSettings(trackingProtectionPolicy: state),
);
}
Future<void> httpsOnlyMode(HttpsOnlyMode state) {
return _api
.updateRuntimeSettings(GeckoEngineSettings(httpsOnlyMode: state));
}
Future<void> globalPrivacyControlEnabled(bool state) {
return _api.updateRuntimeSettings(
GeckoEngineSettings(globalPrivacyControlEnabled: state),
);
}
Future<void> preferredColorScheme(ColorScheme state) {
return _api.updateRuntimeSettings(
GeckoEngineSettings(preferredColorScheme: state),
);
}
Future<void> cookieBannerHandlingMode(CookieBannerHandlingMode state) {
return _api.updateRuntimeSettings(
GeckoEngineSettings(cookieBannerHandlingMode: state),
);
}
Future<void> cookieBannerHandlingModePrivateBrowsing(
CookieBannerHandlingMode state,
) {
return _api.updateRuntimeSettings(
GeckoEngineSettings(cookieBannerHandlingModePrivateBrowsing: state),
);
}
Future<void> cookieBannerHandlingGlobalRules(bool state) {
return _api.updateRuntimeSettings(
GeckoEngineSettings(cookieBannerHandlingGlobalRules: state),
);
}
Future<void> cookieBannerHandlingGlobalRulesSubFrames(bool state) {
return _api.updateRuntimeSettings(
GeckoEngineSettings(cookieBannerHandlingGlobalRulesSubFrames: state),
);
}
Future<void> webContentIsolationStrategy(WebContentIsolationStrategy state) {
return _api.updateRuntimeSettings(
GeckoEngineSettings(webContentIsolationStrategy: state),
);
}
}
@@ -142,12 +142,14 @@ class GeckoTabService {
}
Future<String> duplicateTab({
String? selectTabId,
required String? selectTabId,
required String? newContextId,
bool selectNewTab = true,
}) {
return _api.duplicateTab(
selectTabId: selectTabId,
selectNewTab: selectNewTab,
newContextId: newContextId,
);
}