clear container data on exit
This commit is contained in:
@@ -63,6 +63,16 @@ class BrowserDataService extends _$BrowserDataService {
|
||||
return _service.clearDataForContext(contextId);
|
||||
}
|
||||
|
||||
Future<void> clearContainerDataOnEngineStart(
|
||||
List<String> contextIds,
|
||||
) async {
|
||||
if (!_onStartDeleted && contextIds.isNotEmpty) {
|
||||
for (final contextId in contextIds) {
|
||||
await clearDataForContext(contextId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
void build() {}
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ final class BrowserDataServiceProvider
|
||||
}
|
||||
|
||||
String _$browserDataServiceHash() =>
|
||||
r'502dff526bcf7c10c218d2d9fa2cd0f41ad25622';
|
||||
r'861943be10c4dea325484b6a28ba21f3ff0d29fa';
|
||||
|
||||
abstract class _$BrowserDataService extends $Notifier<void> {
|
||||
void build();
|
||||
|
||||
+12
@@ -46,6 +46,7 @@ import 'package:weblibre/features/geckoview/features/browser/domain/services/eng
|
||||
import 'package:weblibre/features/geckoview/features/browser/domain/services/proxy_settings_replication.dart';
|
||||
import 'package:weblibre/features/geckoview/features/history/domain/repositories/history.dart';
|
||||
import 'package:weblibre/features/geckoview/features/preferences/data/repositories/preference_observer.dart';
|
||||
import 'package:weblibre/features/geckoview/features/tabs/domain/repositories/container.dart';
|
||||
import 'package:weblibre/features/share_intent/domain/entities/shared_content.dart';
|
||||
import 'package:weblibre/features/user/data/models/general_settings.dart';
|
||||
import 'package:weblibre/features/user/domain/repositories/cache.dart';
|
||||
@@ -116,6 +117,17 @@ class _BrowserViewState extends ConsumerState<BrowserView>
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
// Clear data for containers with clearDataOnExit enabled
|
||||
final containersToClear = await ref
|
||||
.read(containerRepositoryProvider.notifier)
|
||||
.getContainersToClearOnExit();
|
||||
|
||||
if (containersToClear.isNotEmpty) {
|
||||
await ref
|
||||
.read(browserDataServiceProvider.notifier)
|
||||
.clearContainerDataOnEngineStart(containersToClear);
|
||||
}
|
||||
});
|
||||
|
||||
final hasTab = ref.watch(
|
||||
|
||||
Reference in New Issue
Block a user