majro update
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
class TurndownResults {
|
||||
final String plain;
|
||||
final String? markdown;
|
||||
|
||||
TurndownResults({required this.plain, required String markdown})
|
||||
: markdown = (plain != markdown) ? markdown : null;
|
||||
}
|
||||
@@ -13,7 +13,7 @@ class GeckoIconService {
|
||||
IconSize size = IconSize.defaultSize,
|
||||
bool isPrivate = false,
|
||||
bool waitOnNetworkLoad = true,
|
||||
}) async {
|
||||
}) {
|
||||
return _api.loadIcon(
|
||||
IconRequest(
|
||||
url: url.toString(),
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
import 'package:flutter_mozilla_components/src/domain/entities/turndown_result.dart';
|
||||
import 'package:flutter_mozilla_components/src/pigeons/gecko.g.dart';
|
||||
|
||||
final _apiInstance = GeckoTurndownApi();
|
||||
|
||||
class GeckoTurndownService {
|
||||
Future<List<TurndownResults>> turndownHtml(List<String> htmlList) async {
|
||||
final markdownResult = await _apiInstance.getMarkdown(htmlList);
|
||||
|
||||
final results =
|
||||
markdownResult
|
||||
.cast()
|
||||
.map(
|
||||
(result) => TurndownResults(
|
||||
// ignore: avoid_dynamic_calls valid
|
||||
markdown: result['fullContentMarkdown'] as String,
|
||||
// ignore: avoid_dynamic_calls valid
|
||||
plain: result['fullContentPlain'] as String,
|
||||
),
|
||||
)
|
||||
.toList();
|
||||
|
||||
return results;
|
||||
}
|
||||
}
|
||||
@@ -9,8 +9,8 @@ import 'package:flutter/services.dart';
|
||||
import 'package:flutter_mozilla_components/src/domain/services/gecko_browser.dart';
|
||||
|
||||
class GeckoView extends StatefulWidget {
|
||||
final FutureOr<void> Function()? preInitializationStep;
|
||||
final FutureOr<void> Function()? postInitializationStep;
|
||||
final Future<void> Function()? preInitializationStep;
|
||||
final Future<void> Function()? postInitializationStep;
|
||||
|
||||
const GeckoView({
|
||||
super.key,
|
||||
@@ -62,7 +62,7 @@ class _GeckoViewState extends State<GeckoView> {
|
||||
creationParams: {},
|
||||
creationParamsCodec: const StandardMessageCodec(),
|
||||
)
|
||||
..addOnPlatformViewCreatedListener((value) async {
|
||||
..addOnPlatformViewCreatedListener((value) {
|
||||
params.onPlatformViewCreated(value);
|
||||
|
||||
SchedulerBinding.instance.addPostFrameCallback((_) async {
|
||||
|
||||
@@ -3123,6 +3123,48 @@ class GeckoPrefApi {
|
||||
}
|
||||
}
|
||||
|
||||
class GeckoTurndownApi {
|
||||
/// Constructor for [GeckoTurndownApi]. 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.
|
||||
GeckoTurndownApi({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<List<Object>> getMarkdown(List<String> htmlList) async {
|
||||
final String pigeonVar_channelName = 'dev.flutter.pigeon.flutter_mozilla_components.GeckoTurndownApi.getMarkdown$pigeonVar_messageChannelSuffix';
|
||||
final BasicMessageChannel<Object?> pigeonVar_channel = BasicMessageChannel<Object?>(
|
||||
pigeonVar_channelName,
|
||||
pigeonChannelCodec,
|
||||
binaryMessenger: pigeonVar_binaryMessenger,
|
||||
);
|
||||
final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(<Object?>[htmlList]);
|
||||
final List<Object?>? pigeonVar_replyList =
|
||||
await pigeonVar_sendFuture 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 if (pigeonVar_replyList[0] == null) {
|
||||
throw PlatformException(
|
||||
code: 'null-error',
|
||||
message: 'Host platform returned null value for non-null return value.',
|
||||
);
|
||||
} else {
|
||||
return (pigeonVar_replyList[0] as List<Object?>?)!.cast<Object>();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class GeckoContainerProxyApi {
|
||||
/// Constructor for [GeckoContainerProxyApi]. The [binaryMessenger] named argument is
|
||||
/// available for dependency injection. If it is left null, the default
|
||||
|
||||
Reference in New Issue
Block a user