initial multi user feature

This commit is contained in:
Fabian Freund
2025-11-27 07:51:16 +01:00
parent 6d3c2757c3
commit 00d0599dde
49 changed files with 1341 additions and 258 deletions
@@ -123,10 +123,10 @@ class GeckoAddonService extends GeckoAddonEvents {
);
}
void dispose() {
unawaited(_browserExtensionSubject.close());
unawaited(_pageExtensionSubject.close());
unawaited(_browserIconSubject.close());
unawaited(_pageIconSubject.close());
Future<void> dispose() async {
await _browserExtensionSubject.close();
await _pageExtensionSubject.close();
await _browserIconSubject.close();
await _pageIconSubject.close();
}
}
@@ -18,11 +18,17 @@ class GeckoBrowserService {
}
Future<void> initialize(
String profileFolder,
LogLevel logLevel,
ContentBlocking contentBlocking,
AddonCollection? addonCollection,
) {
return _api.initialize(logLevel, contentBlocking, addonCollection);
return _api.initialize(
profileFolder,
logLevel,
contentBlocking,
addonCollection,
);
}
Future<bool> showNativeFragment() {
@@ -210,23 +210,23 @@ class GeckoEventService extends GeckoStateEvents {
);
}
void dispose() {
unawaited(_viewStateSubject.close());
unawaited(_engineStateSubject.close());
unawaited(_tabListSubject.close());
unawaited(_selectedTabSubject.close());
unawaited(_tabContentSubject.close());
unawaited(_historySubject.close());
unawaited(_readerableSubject.close());
unawaited(_securityInfoSubject.close());
unawaited(_iconChangeSubject.close());
unawaited(_iconUpdateSubject.close());
unawaited(_thumbnailSubject.close());
unawaited(_findResultsSubject.close());
unawaited(_longPressSubject.close());
unawaited(_scrollEventSubject.close());
unawaited(_tabAddedSubject.close());
unawaited(_prefUpdateSubject.close());
unawaited(_siteAssignementSubject.close());
Future<void> dispose() async {
await _viewStateSubject.close();
await _engineStateSubject.close();
await _tabListSubject.close();
await _selectedTabSubject.close();
await _tabContentSubject.close();
await _historySubject.close();
await _readerableSubject.close();
await _securityInfoSubject.close();
await _iconChangeSubject.close();
await _iconUpdateSubject.close();
await _thumbnailSubject.close();
await _findResultsSubject.close();
await _longPressSubject.close();
await _scrollEventSubject.close();
await _tabAddedSubject.close();
await _prefUpdateSubject.close();
await _siteAssignementSubject.close();
}
}
@@ -48,7 +48,7 @@ class GeckoReaderableService extends ReaderViewController {
);
}
void dispose() {
unawaited(_appearanceVisibility.close());
Future<void> dispose() async {
await _appearanceVisibility.close();
}
}
@@ -60,7 +60,7 @@ class GeckoSuggestionsService extends GeckoSuggestionEvents {
);
}
void dispose() {
unawaited(_suggestionsSubject.close());
Future<void> dispose() async {
await _suggestionsSubject.close();
}
}
@@ -32,7 +32,7 @@ class GeckoTabContentService extends GeckoTabContentEvents {
_contentSubject.addWhenMoreRecent(timestamp, content.tabId, content);
}
void dispose() {
unawaited(_contentSubject.close());
Future<void> dispose() async {
await _contentSubject.close();
}
}
@@ -3574,14 +3574,14 @@ class GeckoBrowserApi {
}
}
Future<void> initialize(LogLevel logLevel, ContentBlocking contentBlocking, AddonCollection? addonCollection) async {
Future<void> initialize(String profileFolder, LogLevel logLevel, ContentBlocking contentBlocking, AddonCollection? addonCollection) async {
final String pigeonVar_channelName = 'dev.flutter.pigeon.flutter_mozilla_components.GeckoBrowserApi.initialize$pigeonVar_messageChannelSuffix';
final BasicMessageChannel<Object?> pigeonVar_channel = BasicMessageChannel<Object?>(
pigeonVar_channelName,
pigeonChannelCodec,
binaryMessenger: pigeonVar_binaryMessenger,
);
final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(<Object?>[logLevel, contentBlocking, addonCollection]);
final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(<Object?>[profileFolder, logLevel, contentBlocking, addonCollection]);
final List<Object?>? pigeonVar_replyList =
await pigeonVar_sendFuture as List<Object?>?;
if (pigeonVar_replyList == null) {