@@ -29,6 +29,7 @@ extension DomWindowExtension on DomWindow {
29
29
external int ? get innerHeight;
30
30
external int ? get innerWidth;
31
31
external DomNavigator get navigator;
32
+ external DomVisualViewport ? get visualViewport;
32
33
external DomPerformance get performance;
33
34
Future <Object ?> fetch (String url) =>
34
35
js_util.promiseToFuture (js_util.callMethod (this , 'fetch' , < String > [url]));
@@ -50,6 +51,7 @@ external DomWindow get domWindow;
50
51
class DomNavigator {}
51
52
52
53
extension DomNavigatorExtension on DomNavigator {
54
+ external DomClipboard ? get clipboard;
53
55
external int ? get maxTouchPoints;
54
56
external String get vendor;
55
57
external String get language;
@@ -62,13 +64,15 @@ extension DomNavigatorExtension on DomNavigator {
62
64
class DomDocument {}
63
65
64
66
extension DomDocumentExtension on DomDocument {
67
+ external DomElement ? get documentElement;
65
68
external DomElement ? querySelector (String selectors);
66
69
List <DomElement > querySelectorAll (String selectors) =>
67
70
js_util.callMethod <List <Object ?>>(
68
71
this , 'querySelectorAll' , < Object > [selectors]).cast <DomElement >();
69
72
DomElement createElement (String name, [Object ? options]) =>
70
73
js_util.callMethod (this , 'createElement' ,
71
74
< Object > [name, if (options != null ) options]) as DomElement ;
75
+ external bool execCommand (String commandId);
72
76
external DomHTMLScriptElement ? get currentScript;
73
77
external DomElement createElementNS (
74
78
String namespaceURI, String qualifiedName);
@@ -167,6 +171,8 @@ DomElement createDomElement(String tag) => domDocument.createElement(tag);
167
171
extension DomElementExtension on DomElement {
168
172
List <DomElement > get children =>
169
173
js_util.getProperty <List <Object ?>>(this , 'children' ).cast <DomElement >();
174
+ external int get clientHeight;
175
+ external int get clientWidth;
170
176
external String get id;
171
177
external set id (String id);
172
178
external set innerHtml (String ? html);
@@ -254,6 +260,7 @@ extension DomCSSStyleDeclarationExtension on DomCSSStyleDeclaration {
254
260
set flexDirection (String value) => setProperty ('flex-direction' , value);
255
261
set alignItems (String value) => setProperty ('align-items' , value);
256
262
set margin (String value) => setProperty ('margin' , value);
263
+ set background (String value) => setProperty ('background' , value);
257
264
String get width => getPropertyValue ('width' );
258
265
String get height => getPropertyValue ('height' );
259
266
String get position => getPropertyValue ('position' );
@@ -308,6 +315,7 @@ extension DomCSSStyleDeclarationExtension on DomCSSStyleDeclaration {
308
315
String get flexDirection => getPropertyValue ('flex-direction' );
309
316
String get alignItems => getPropertyValue ('align-items' );
310
317
String get margin => getPropertyValue ('margin' );
318
+ String get background=> getPropertyValue ('background' );
311
319
312
320
external String getPropertyValue (String property);
313
321
void setProperty (String propertyName, String value, [String ? priority]) {
@@ -325,6 +333,7 @@ class DomHTMLElement extends DomElement {}
325
333
326
334
extension DomHTMLElementExtension on DomHTMLElement {
327
335
int get offsetWidth => js_util.getProperty <num >(this , 'offsetWidth' ) as int ;
336
+ external void focus ();
328
337
}
329
338
330
339
@JS ()
@@ -376,6 +385,13 @@ class DomHTMLDivElement extends DomHTMLElement {}
376
385
DomHTMLDivElement createDomHTMLDivElement () =>
377
386
domDocument.createElement ('div' ) as DomHTMLDivElement ;
378
387
388
+ @JS ()
389
+ @staticInterop
390
+ class DomHTMLSpanElement extends DomHTMLElement {}
391
+
392
+ DomHTMLSpanElement createDomHTMLSpanElement () =>
393
+ domDocument.createElement ('span' ) as DomHTMLSpanElement ;
394
+
379
395
@JS ()
380
396
@staticInterop
381
397
class DomHTMLButtonElement extends DomHTMLElement {}
@@ -610,6 +626,39 @@ extension DomFontFaceSetExtension on DomFontFaceSet {
610
626
external void clear ();
611
627
}
612
628
629
+ @JS ()
630
+ @staticInterop
631
+ class DomVisualViewport extends DomEventTarget {}
632
+
633
+ extension DomVisualViewportExtension on DomVisualViewport {
634
+ external num ? get height;
635
+ external num ? get width;
636
+ }
637
+
638
+ @JS ()
639
+ @staticInterop
640
+ class DomHTMLTextAreaElement extends DomHTMLElement {}
641
+
642
+ DomHTMLTextAreaElement createDomHTMLTextAreaElement () =>
643
+ domDocument.createElement ('textarea' ) as DomHTMLTextAreaElement ;
644
+
645
+ extension DomHTMLTextAreaElementExtension on DomHTMLTextAreaElement {
646
+ external set value (String ? value);
647
+ external void select ();
648
+ }
649
+
650
+ @JS ()
651
+ @staticInterop
652
+ class DomClipboard extends DomEventTarget {}
653
+
654
+ extension DomClipboardExtension on DomClipboard {
655
+ Future <String > readText () =>
656
+ js_util.promiseToFuture <String >(js_util.callMethod (this , 'readText' , < Object > []));
657
+
658
+ Future <dynamic > writeText (String data) =>
659
+ js_util.promiseToFuture (js_util.callMethod (this , 'readText' , < Object > [data]));
660
+ }
661
+
613
662
extension DomResponseExtension on DomResponse {
614
663
Future <dynamic > arrayBuffer () => js_util
615
664
.promiseToFuture (js_util.callMethod (this , 'arrayBuffer' , < Object > []));
0 commit comments