1
1
import 'dart:convert' ;
2
2
import 'dart:math' ;
3
+ import 'dart:ui_web' as ui_web;
3
4
4
5
import 'package:flutter/material.dart' ;
5
6
import 'package:flutter_html/flutter_html.dart' ;
6
- import 'package:flutter_html_iframe/shims/dart_ui.dart' as ui;
7
- // ignore: avoid_web_libraries_in_flutter
8
- import 'dart:html' as html;
9
7
10
8
import 'package:webview_flutter/webview_flutter.dart' ;
11
9
@@ -21,34 +19,38 @@ class IframeWidget extends StatelessWidget {
21
19
22
20
@override
23
21
Widget build (BuildContext context) {
24
- final givenWidth =
25
- double .tryParse (extensionContext.attributes['width' ] ?? "" );
26
- final givenHeight =
27
- double .tryParse (extensionContext.attributes['height' ] ?? "" );
22
+ final givenWidth = double .tryParse (
23
+ extensionContext.attributes['width' ] ?? "" ,
24
+ );
25
+ final givenHeight = double .tryParse (
26
+ extensionContext.attributes['height' ] ?? "" ,
27
+ );
28
28
final html.IFrameElement iframe = html.IFrameElement ()
29
29
..width = (givenWidth ?? (givenHeight ?? 150 ) * 2 ).toString ()
30
30
..height = (givenHeight ?? (givenWidth ?? 300 ) / 2 ).toString ()
31
31
..src = extensionContext.attributes['src' ]
32
32
..style.border = 'none' ;
33
33
final String createdViewId = _getRandString (10 );
34
- ui.platformViewRegistry
35
- .registerViewFactory (createdViewId, (int viewId) => iframe);
34
+ ui_web.platformViewRegistry.registerViewFactory (
35
+ createdViewId,
36
+ (int viewId) => iframe,
37
+ );
36
38
return SizedBox (
37
- width: double .tryParse (extensionContext.attributes['width' ] ?? "" ) ??
39
+ width:
40
+ double .tryParse (extensionContext.attributes['width' ] ?? "" ) ??
38
41
(double .tryParse (extensionContext.attributes['height' ] ?? "" ) ??
39
42
150 ) *
40
43
2 ,
41
- height: double .tryParse (extensionContext.attributes['height' ] ?? "" ) ??
44
+ height:
45
+ double .tryParse (extensionContext.attributes['height' ] ?? "" ) ??
42
46
(double .tryParse (extensionContext.attributes['width' ] ?? "" ) ?? 300 ) /
43
47
2 ,
44
48
child: CssBoxWidget (
45
49
style: extensionContext.styledElement! .style,
46
50
childIsReplaced: true ,
47
51
child: Directionality (
48
52
textDirection: extensionContext.styledElement! .style.direction! ,
49
- child: HtmlElementView (
50
- viewType: createdViewId,
51
- ),
53
+ child: HtmlElementView (viewType: createdViewId),
52
54
),
53
55
),
54
56
);
0 commit comments