push
This commit is contained in:
@@ -4,6 +4,7 @@ export 'src/data/models/source.dart';
|
||||
export 'src/domain/entities/default_selection_actions.dart';
|
||||
export 'src/domain/services/gecko_addon.dart';
|
||||
export 'src/domain/services/gecko_cookie.dart';
|
||||
export 'src/domain/services/gecko_delete_browser_data.dart';
|
||||
export 'src/domain/services/gecko_engine_settings.dart';
|
||||
export 'src/domain/services/gecko_event.dart';
|
||||
export 'src/domain/services/gecko_find_in_page.dart';
|
||||
|
||||
+34
@@ -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();
|
||||
}
|
||||
}
|
||||
+66
-2
@@ -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,
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -10,8 +10,13 @@ import 'package:flutter_mozilla_components/src/domain/services/gecko_browser.dar
|
||||
|
||||
class GeckoView extends StatefulWidget {
|
||||
final FutureOr<void> Function()? preInitializationStep;
|
||||
final FutureOr<void> Function()? postInitializationStep;
|
||||
|
||||
const GeckoView({super.key, this.preInitializationStep});
|
||||
const GeckoView({
|
||||
super.key,
|
||||
this.preInitializationStep,
|
||||
this.postInitializationStep,
|
||||
});
|
||||
|
||||
@override
|
||||
State<GeckoView> createState() => _GeckoViewState();
|
||||
@@ -70,6 +75,7 @@ class _GeckoViewState extends State<GeckoView> {
|
||||
Duration(milliseconds: ((1000 / 60) * 2).toInt()),
|
||||
).whenComplete(() async {
|
||||
await browserService.showNativeFragment();
|
||||
await widget.postInitializationStep?.call();
|
||||
});
|
||||
});
|
||||
})
|
||||
|
||||
@@ -2334,7 +2334,7 @@ class GeckoTabsApi {
|
||||
}
|
||||
}
|
||||
|
||||
Future<String> duplicateTab({required String? selectTabId, required bool selectNewTab}) async {
|
||||
Future<String> duplicateTab({required String? selectTabId, required bool selectNewTab, required String? newContextId, }) async {
|
||||
final String pigeonVar_channelName = 'dev.flutter.pigeon.flutter_mozilla_components.GeckoTabsApi.duplicateTab$pigeonVar_messageChannelSuffix';
|
||||
final BasicMessageChannel<Object?> pigeonVar_channel = BasicMessageChannel<Object?>(
|
||||
pigeonVar_channelName,
|
||||
@@ -2342,7 +2342,7 @@ class GeckoTabsApi {
|
||||
binaryMessenger: pigeonVar_binaryMessenger,
|
||||
);
|
||||
final List<Object?>? pigeonVar_replyList =
|
||||
await pigeonVar_channel.send(<Object?>[selectTabId, selectNewTab]) as List<Object?>?;
|
||||
await pigeonVar_channel.send(<Object?>[selectTabId, selectNewTab, newContextId]) as List<Object?>?;
|
||||
if (pigeonVar_replyList == null) {
|
||||
throw _createConnectionError(pigeonVar_channelName);
|
||||
} else if (pigeonVar_replyList.length > 1) {
|
||||
@@ -3602,3 +3602,149 @@ abstract class GeckoTabContentEvents {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class GeckoDeleteBrowsingDataController {
|
||||
/// Constructor for [GeckoDeleteBrowsingDataController]. The [binaryMessenger] named argument is
|
||||
/// available for dependency injection. If it is left null, the default
|
||||
/// BinaryMessenger will be used which routes to the host platform.
|
||||
GeckoDeleteBrowsingDataController({BinaryMessenger? binaryMessenger, String messageChannelSuffix = ''})
|
||||
: pigeonVar_binaryMessenger = binaryMessenger,
|
||||
pigeonVar_messageChannelSuffix = messageChannelSuffix.isNotEmpty ? '.$messageChannelSuffix' : '';
|
||||
final BinaryMessenger? pigeonVar_binaryMessenger;
|
||||
|
||||
static const MessageCodec<Object?> pigeonChannelCodec = _PigeonCodec();
|
||||
|
||||
final String pigeonVar_messageChannelSuffix;
|
||||
|
||||
Future<void> deleteTabs() async {
|
||||
final String pigeonVar_channelName = 'dev.flutter.pigeon.flutter_mozilla_components.GeckoDeleteBrowsingDataController.deleteTabs$pigeonVar_messageChannelSuffix';
|
||||
final BasicMessageChannel<Object?> pigeonVar_channel = BasicMessageChannel<Object?>(
|
||||
pigeonVar_channelName,
|
||||
pigeonChannelCodec,
|
||||
binaryMessenger: pigeonVar_binaryMessenger,
|
||||
);
|
||||
final List<Object?>? pigeonVar_replyList =
|
||||
await pigeonVar_channel.send(null) as List<Object?>?;
|
||||
if (pigeonVar_replyList == null) {
|
||||
throw _createConnectionError(pigeonVar_channelName);
|
||||
} else if (pigeonVar_replyList.length > 1) {
|
||||
throw PlatformException(
|
||||
code: pigeonVar_replyList[0]! as String,
|
||||
message: pigeonVar_replyList[1] as String?,
|
||||
details: pigeonVar_replyList[2],
|
||||
);
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> deleteBrowsingHistory() async {
|
||||
final String pigeonVar_channelName = 'dev.flutter.pigeon.flutter_mozilla_components.GeckoDeleteBrowsingDataController.deleteBrowsingHistory$pigeonVar_messageChannelSuffix';
|
||||
final BasicMessageChannel<Object?> pigeonVar_channel = BasicMessageChannel<Object?>(
|
||||
pigeonVar_channelName,
|
||||
pigeonChannelCodec,
|
||||
binaryMessenger: pigeonVar_binaryMessenger,
|
||||
);
|
||||
final List<Object?>? pigeonVar_replyList =
|
||||
await pigeonVar_channel.send(null) as List<Object?>?;
|
||||
if (pigeonVar_replyList == null) {
|
||||
throw _createConnectionError(pigeonVar_channelName);
|
||||
} else if (pigeonVar_replyList.length > 1) {
|
||||
throw PlatformException(
|
||||
code: pigeonVar_replyList[0]! as String,
|
||||
message: pigeonVar_replyList[1] as String?,
|
||||
details: pigeonVar_replyList[2],
|
||||
);
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> deleteCookiesAndSiteData() async {
|
||||
final String pigeonVar_channelName = 'dev.flutter.pigeon.flutter_mozilla_components.GeckoDeleteBrowsingDataController.deleteCookiesAndSiteData$pigeonVar_messageChannelSuffix';
|
||||
final BasicMessageChannel<Object?> pigeonVar_channel = BasicMessageChannel<Object?>(
|
||||
pigeonVar_channelName,
|
||||
pigeonChannelCodec,
|
||||
binaryMessenger: pigeonVar_binaryMessenger,
|
||||
);
|
||||
final List<Object?>? pigeonVar_replyList =
|
||||
await pigeonVar_channel.send(null) as List<Object?>?;
|
||||
if (pigeonVar_replyList == null) {
|
||||
throw _createConnectionError(pigeonVar_channelName);
|
||||
} else if (pigeonVar_replyList.length > 1) {
|
||||
throw PlatformException(
|
||||
code: pigeonVar_replyList[0]! as String,
|
||||
message: pigeonVar_replyList[1] as String?,
|
||||
details: pigeonVar_replyList[2],
|
||||
);
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> deleteCachedFiles() async {
|
||||
final String pigeonVar_channelName = 'dev.flutter.pigeon.flutter_mozilla_components.GeckoDeleteBrowsingDataController.deleteCachedFiles$pigeonVar_messageChannelSuffix';
|
||||
final BasicMessageChannel<Object?> pigeonVar_channel = BasicMessageChannel<Object?>(
|
||||
pigeonVar_channelName,
|
||||
pigeonChannelCodec,
|
||||
binaryMessenger: pigeonVar_binaryMessenger,
|
||||
);
|
||||
final List<Object?>? pigeonVar_replyList =
|
||||
await pigeonVar_channel.send(null) as List<Object?>?;
|
||||
if (pigeonVar_replyList == null) {
|
||||
throw _createConnectionError(pigeonVar_channelName);
|
||||
} else if (pigeonVar_replyList.length > 1) {
|
||||
throw PlatformException(
|
||||
code: pigeonVar_replyList[0]! as String,
|
||||
message: pigeonVar_replyList[1] as String?,
|
||||
details: pigeonVar_replyList[2],
|
||||
);
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> deleteSitePermissions() async {
|
||||
final String pigeonVar_channelName = 'dev.flutter.pigeon.flutter_mozilla_components.GeckoDeleteBrowsingDataController.deleteSitePermissions$pigeonVar_messageChannelSuffix';
|
||||
final BasicMessageChannel<Object?> pigeonVar_channel = BasicMessageChannel<Object?>(
|
||||
pigeonVar_channelName,
|
||||
pigeonChannelCodec,
|
||||
binaryMessenger: pigeonVar_binaryMessenger,
|
||||
);
|
||||
final List<Object?>? pigeonVar_replyList =
|
||||
await pigeonVar_channel.send(null) as List<Object?>?;
|
||||
if (pigeonVar_replyList == null) {
|
||||
throw _createConnectionError(pigeonVar_channelName);
|
||||
} else if (pigeonVar_replyList.length > 1) {
|
||||
throw PlatformException(
|
||||
code: pigeonVar_replyList[0]! as String,
|
||||
message: pigeonVar_replyList[1] as String?,
|
||||
details: pigeonVar_replyList[2],
|
||||
);
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> deleteDownloads() async {
|
||||
final String pigeonVar_channelName = 'dev.flutter.pigeon.flutter_mozilla_components.GeckoDeleteBrowsingDataController.deleteDownloads$pigeonVar_messageChannelSuffix';
|
||||
final BasicMessageChannel<Object?> pigeonVar_channel = BasicMessageChannel<Object?>(
|
||||
pigeonVar_channelName,
|
||||
pigeonChannelCodec,
|
||||
binaryMessenger: pigeonVar_binaryMessenger,
|
||||
);
|
||||
final List<Object?>? pigeonVar_replyList =
|
||||
await pigeonVar_channel.send(null) as List<Object?>?;
|
||||
if (pigeonVar_replyList == null) {
|
||||
throw _createConnectionError(pigeonVar_channelName);
|
||||
} else if (pigeonVar_replyList.length > 1) {
|
||||
throw PlatformException(
|
||||
code: pigeonVar_replyList[0]! as String,
|
||||
message: pigeonVar_replyList[1] as String?,
|
||||
details: pigeonVar_replyList[2],
|
||||
);
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user