impelement geckoview intent handling via viewport api; fix lints and ui issues

This commit is contained in:
Fabian Freund
2026-01-13 11:03:26 +01:00
parent 5e446f1b92
commit 849823f5df
18 changed files with 960 additions and 33 deletions
@@ -171,6 +171,18 @@ GeckoSuggestionsService engineSuggestionsService(Ref ref) {
return service;
}
@Riverpod(keepAlive: true)
GeckoViewportService viewportService(Ref ref) {
final service = GeckoViewportService();
service.setUp();
ref.onDispose(() async {
await service.dispose();
});
return service;
}
@Riverpod(keepAlive: true)
class EngineReadyState extends _$EngineReadyState {
@override
@@ -246,6 +246,53 @@ final class EngineSuggestionsServiceProvider
String _$engineSuggestionsServiceHash() =>
r'1ec1192f0c5c86cecc7ad448ee2b039f7a48e32b';
@ProviderFor(viewportService)
final viewportServiceProvider = ViewportServiceProvider._();
final class ViewportServiceProvider
extends
$FunctionalProvider<
GeckoViewportService,
GeckoViewportService,
GeckoViewportService
>
with $Provider<GeckoViewportService> {
ViewportServiceProvider._()
: super(
from: null,
argument: null,
retry: null,
name: r'viewportServiceProvider',
isAutoDispose: false,
dependencies: null,
$allTransitiveDependencies: null,
);
@override
String debugGetCreateSourceHash() => _$viewportServiceHash();
@$internal
@override
$ProviderElement<GeckoViewportService> $createElement(
$ProviderPointer pointer,
) => $ProviderElement(pointer);
@override
GeckoViewportService create(Ref ref) {
return viewportService(ref);
}
/// {@macro riverpod.override_with_value}
Override overrideWithValue(GeckoViewportService value) {
return $ProviderOverride(
origin: this,
providerOverride: $SyncValueProvider<GeckoViewportService>(value),
);
}
}
String _$viewportServiceHash() => r'bab39db3180bb6a1cf8c055966b7f5910b41b424';
@ProviderFor(EngineReadyState)
final engineReadyStateProvider = EngineReadyStateProvider._();