@nativescript/canvas-polyfill 2.0.0-webgpu.9 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/DOM/CSSStyleDeclaration.d.ts +8 -0
  2. package/DOM/CSSStyleDeclaration.js +20 -0
  3. package/DOM/CSSStyleDeclaration.js.map +1 -0
  4. package/DOM/Document.d.ts +3 -0
  5. package/DOM/Document.js +24 -105
  6. package/DOM/Document.js.map +1 -1
  7. package/DOM/Element.d.ts +7 -0
  8. package/DOM/Element.js +80 -2
  9. package/DOM/Element.js.map +1 -1
  10. package/DOM/EventTarget.d.ts +6 -1
  11. package/DOM/EventTarget.js +34 -31
  12. package/DOM/EventTarget.js.map +1 -1
  13. package/DOM/HTMLBodyElement.d.ts +3 -0
  14. package/DOM/HTMLBodyElement.js +4 -0
  15. package/DOM/HTMLBodyElement.js.map +1 -0
  16. package/DOM/HTMLCanvasElement.d.ts +4 -0
  17. package/DOM/HTMLCanvasElement.js +10 -0
  18. package/DOM/HTMLCanvasElement.js.map +1 -1
  19. package/DOM/HTMLDivElement.d.ts +2 -0
  20. package/DOM/HTMLDivElement.js +8 -0
  21. package/DOM/HTMLDivElement.js.map +1 -1
  22. package/DOM/HTMLElement.d.ts +11 -1
  23. package/DOM/HTMLElement.js +82 -0
  24. package/DOM/HTMLElement.js.map +1 -1
  25. package/DOM/HTMLHeadElement.d.ts +3 -0
  26. package/DOM/HTMLHeadElement.js +4 -0
  27. package/DOM/HTMLHeadElement.js.map +1 -0
  28. package/DOM/HTMLHtmlElement.d.ts +3 -0
  29. package/DOM/HTMLHtmlElement.js +4 -0
  30. package/DOM/HTMLHtmlElement.js.map +1 -0
  31. package/DOM/HTMLImageElement.d.ts +6 -0
  32. package/DOM/HTMLImageElement.js +316 -90
  33. package/DOM/HTMLImageElement.js.map +1 -1
  34. package/DOM/HTMLVideoElement.d.ts +5 -1
  35. package/DOM/HTMLVideoElement.js +17 -2
  36. package/DOM/HTMLVideoElement.js.map +1 -1
  37. package/DOM/Node.d.ts +13 -0
  38. package/DOM/Node.js +22 -2
  39. package/DOM/Node.js.map +1 -1
  40. package/DOM/Text.d.ts +1 -0
  41. package/DOM/Text.js +2 -0
  42. package/DOM/Text.js.map +1 -1
  43. package/DOM/domUtils.d.ts +2 -0
  44. package/DOM/domUtils.js +51 -0
  45. package/DOM/domUtils.js.map +1 -0
  46. package/DOM/svg/SVGElement.js +3 -3
  47. package/DOM/svg/SVGElement.js.map +1 -1
  48. package/MutationObserver.d.ts +4 -3
  49. package/MutationObserver.js +22 -12
  50. package/MutationObserver.js.map +1 -1
  51. package/async/file/file.android.js +6 -4
  52. package/async/file/file.android.js.map +1 -1
  53. package/async/file/file.ios.js +6 -4
  54. package/async/file/file.ios.js.map +1 -1
  55. package/async/http/http.ios.js +1 -1
  56. package/async/http/http.ios.js.map +1 -1
  57. package/async/xhr/TNSXMLHttpRequest.d.ts +2 -2
  58. package/async/xhr/TNSXMLHttpRequest.js +163 -78
  59. package/async/xhr/TNSXMLHttpRequest.js.map +1 -1
  60. package/index.d.ts +2 -0
  61. package/index.js +8 -11
  62. package/index.js.map +1 -1
  63. package/localStorage.js +32 -30
  64. package/localStorage.js.map +1 -1
  65. package/navigator.d.ts +4 -1
  66. package/navigator.js +16 -3
  67. package/navigator.js.map +1 -1
  68. package/package.json +6 -6
  69. package/performance.js +43 -20
  70. package/performance.js.map +1 -1
  71. package/platforms/android/async-release.aar +0 -0
  72. package/process.js +1 -0
  73. package/process.js.map +1 -1
  74. package/urlBlobPatch.d.ts +1 -0
  75. package/urlBlobPatch.js +123 -0
  76. package/urlBlobPatch.js.map +1 -0
  77. package/window.js +69 -33
  78. package/window.js.map +1 -1
  79. package/workerPatch.d.ts +3 -0
  80. package/workerPatch.js +13 -0
  81. package/workerPatch.js.map +1 -0
  82. package/URL.android.d.ts +0 -46
  83. package/URL.android.js +0 -444
  84. package/URL.android.js.map +0 -1
  85. package/URL.ios.d.ts +0 -51
  86. package/URL.ios.js +0 -661
  87. package/URL.ios.js.map +0 -1
@@ -1,12 +1,14 @@
1
1
  import { knownFolders, Image } from '@nativescript/core';
2
2
  // @ts-ignore
3
- import { ImageAsset } from '@nativescript/canvas';
3
+ import { ImageAsset, TextDecoder } from '@nativescript/canvas';
4
4
  import { HTMLElement } from './HTMLElement';
5
+ import { Svg } from '@nativescript/canvas-svg';
6
+ // declare var NSUUID, java, NSData, android;
5
7
  const b64Extensions = {
6
8
  '/': 'jpg',
7
9
  i: 'png',
8
10
  R: 'gif',
9
- // U: 'webp',
11
+ U: 'webp',
10
12
  };
11
13
  function b64WithoutPrefix(b64) {
12
14
  return b64.split(',')[1];
@@ -18,6 +20,10 @@ function getMIMEforBase64String(b64) {
18
20
  }
19
21
  const first = input.charAt(0);
20
22
  const mime = b64Extensions[first];
23
+ // todo support webp on ios
24
+ if (__IOS__ && mime === 'webp') {
25
+ throw new Error('Unknown Base64 MIME type: ' + b64);
26
+ }
21
27
  if (!mime) {
22
28
  throw new Error('Unknown Base64 MIME type: ' + b64);
23
29
  }
@@ -33,6 +39,12 @@ export class HTMLImageElement extends HTMLElement {
33
39
  get src() {
34
40
  return this.localUri;
35
41
  }
42
+ get naturalWidth() {
43
+ return this.width;
44
+ }
45
+ get naturalHeight() {
46
+ return this.height;
47
+ }
36
48
  set src(value) {
37
49
  this.localUri = value;
38
50
  this._load();
@@ -59,6 +71,34 @@ export class HTMLImageElement extends HTMLElement {
59
71
  this.onload();
60
72
  }
61
73
  }
74
+ _dispatchDecode(success = false) {
75
+ for (const promise of this._decodingQueue) {
76
+ if (success) {
77
+ promise.resolve();
78
+ }
79
+ else {
80
+ promise.reject();
81
+ }
82
+ }
83
+ this._decodingQueue = [];
84
+ }
85
+ decode() {
86
+ if (!this.src) {
87
+ return Promise.reject(new Error('Invalid image request.'));
88
+ }
89
+ if (!this._loading && !this.complete) {
90
+ return new Promise((resolve, reject) => {
91
+ this._decodingQueue.push({ resolve, reject });
92
+ this._load();
93
+ });
94
+ }
95
+ else if (this._loading) {
96
+ return new Promise((resolve, reject) => {
97
+ this._decodingQueue.push({ resolve, reject });
98
+ });
99
+ }
100
+ return Promise.resolve();
101
+ }
62
102
  // we're {N} :D
63
103
  static _fromSvg(svg) {
64
104
  const img = new HTMLImageElement();
@@ -79,6 +119,8 @@ export class HTMLImageElement extends HTMLElement {
79
119
  this.width = 0;
80
120
  this.height = 0;
81
121
  this.decoding = 'auto';
122
+ this._loading = false;
123
+ this._decodingQueue = [];
82
124
  this.nativeElement = new Image();
83
125
  if (!this.nativeElement.__domElement) {
84
126
  this.nativeElement.__domElement = new DOMParser().parseFromString('<img></img>', 'text/html').documentElement;
@@ -94,135 +136,319 @@ export class HTMLImageElement extends HTMLElement {
94
136
  }
95
137
  }
96
138
  _load() {
97
- if (this.src) {
98
- if (typeof this.src === 'string' && this.src.startsWith && this.src.startsWith('data:')) {
139
+ this._loading = true;
140
+ const async = this.decoding !== 'sync';
141
+ if (this.src && typeof this.src === 'string') {
142
+ if (this.src.startsWith('blob:nativescript/')) {
143
+ const data = URL.InternalAccessor.getData(this.src);
144
+ const buffer = Blob.InternalAccessor.getBuffer(data.blob);
145
+ let isSvg = data?.type?.indexOf('svg') > -1;
146
+ const d = new TextDecoder();
147
+ if (async) {
148
+ d.decodeAsync(buffer)
149
+ .then((res) => {
150
+ if (typeof res === 'string') {
151
+ isSvg = res.indexOf('<svg') > -1;
152
+ }
153
+ return isSvg ? res : null;
154
+ })
155
+ .then((res) => {
156
+ if (typeof res === 'string') {
157
+ return Svg.fromSrc(res)
158
+ .then((svg) => {
159
+ const data = svg.data;
160
+ return this._asset.loadFromBytes(svg.width, svg.height, data);
161
+ })
162
+ .then((done) => {
163
+ this.width = this._asset.width;
164
+ this.height = this._asset.height;
165
+ this.complete = done;
166
+ this._loading = false;
167
+ this._dispatchDecode(done);
168
+ });
169
+ }
170
+ })
171
+ .catch((e) => {
172
+ this._asset
173
+ .loadFromEncodedBytes(buffer)
174
+ .then((done) => {
175
+ this.width = this._asset.width;
176
+ this.height = this._asset.height;
177
+ this.complete = done;
178
+ this._loading = false;
179
+ this._dispatchDecode(done);
180
+ })
181
+ .catch((e) => {
182
+ this.dispatchEvent({ type: 'error', target: this, error: e, e });
183
+ this._onerror?.();
184
+ this._loading = false;
185
+ this._dispatchDecode();
186
+ });
187
+ });
188
+ }
189
+ else {
190
+ try {
191
+ const src = d.decode(buffer);
192
+ if (typeof src === 'string') {
193
+ isSvg = src.indexOf('<svg') > -1;
194
+ }
195
+ const svg = Svg.fromSrcSync(this.src);
196
+ if (svg) {
197
+ if (this._asset.loadFromBytesSync(svg.width, svg.height, svg.data)) {
198
+ this.width = this._asset.width;
199
+ this.height = this._asset.height;
200
+ this.complete = true;
201
+ this._loading = false;
202
+ this._dispatchDecode(true);
203
+ }
204
+ else {
205
+ this.dispatchEvent({ type: 'error', target: this });
206
+ this._onerror?.();
207
+ this._loading = false;
208
+ this._dispatchDecode();
209
+ }
210
+ }
211
+ else {
212
+ const loaded = this._asset.fromFileSync(src);
213
+ if (loaded) {
214
+ this.width = this._asset.width;
215
+ this.height = this._asset.height;
216
+ this.complete = true;
217
+ this._loading = false;
218
+ this._dispatchDecode(true);
219
+ }
220
+ else {
221
+ this.dispatchEvent({ type: 'error', target: this });
222
+ this._onerror?.();
223
+ this._loading = false;
224
+ this._dispatchDecode();
225
+ }
226
+ }
227
+ }
228
+ catch (e) {
229
+ this.dispatchEvent({ type: 'error', target: this, error: e, e });
230
+ this._onerror?.();
231
+ this._loading = false;
232
+ this._dispatchDecode();
233
+ }
234
+ }
235
+ return;
236
+ }
237
+ if (this.src.startsWith && this.src.startsWith('data:')) {
99
238
  // is base64 - convert and try again;
100
239
  this._base64 = this.src;
101
240
  const base64result = this.src.split(',')[1];
102
241
  if (!base64result) {
242
+ this.dispatchEvent({ type: 'error', target: this, error: new Error('Invalid image request.') });
243
+ this._onerror?.();
244
+ this._loading = false;
245
+ this._dispatchDecode();
103
246
  return;
104
247
  }
105
- (async () => {
106
- try {
107
- const MIME = getMIMEforBase64String(base64result);
108
- const dir = knownFolders.documents().path;
109
- if (global.isIOS) {
110
- NSSCanvasHelpers.handleBase64Image(MIME, dir, base64result, (error, localUri) => {
111
- if (error) {
112
- if (global.__debug_browser_polyfill_image) {
113
- console.log(`nativescript-browser-polyfill: Error:`, error.message);
114
- }
115
- this.dispatchEvent({ type: 'error', target: this, error });
116
- this._onerror?.();
248
+ try {
249
+ const MIME = getMIMEforBase64String(base64result);
250
+ const dir = knownFolders.temp().path;
251
+ if (__IOS__) {
252
+ NSSCanvasHelpers.handleBase64Image(MIME, dir, base64result, (error, localUri) => {
253
+ if (error) {
254
+ if (global.__debug_browser_polyfill_image) {
255
+ console.log(`nativescript-browser-polyfill: Error:`, error.message);
117
256
  }
118
- else {
119
- this.localUri = localUri;
120
- this._load();
257
+ this.dispatchEvent({ type: 'error', target: this, error });
258
+ this._onerror?.();
259
+ this._loading = false;
260
+ this._dispatchDecode();
261
+ }
262
+ else {
263
+ this.localUri = localUri;
264
+ this._load();
265
+ }
266
+ });
267
+ }
268
+ if (__ANDROID__) {
269
+ const ref = new WeakRef(this);
270
+ com.github.triniwiz.async.Async2.Base64.base64ToFile(base64result, dir + '/', new com.github.triniwiz.async.Async2.Base64.Callback({
271
+ success(response) {
272
+ const owner = ref.get();
273
+ if (owner) {
274
+ owner.localUri = response.toString();
275
+ owner._load();
121
276
  }
122
- });
123
- }
124
- if (global.isAndroid) {
125
- const ref = new WeakRef(this);
126
- com.github.triniwiz.async.Async2.Base64.base64ToFile(base64result, dir + '/', new com.github.triniwiz.async.Async2.Base64.Callback({
127
- success(response) {
128
- const owner = ref.get();
129
- if (owner) {
130
- owner.localUri = response.toString();
131
- owner._load();
132
- }
133
- },
134
- error(error, message) {
135
- if (global.__debug_browser_polyfill_image) {
136
- console.log(`nativescript-browser-polyfill: Error:`, message);
137
- }
138
- const owner = ref.get();
139
- if (owner) {
140
- owner.dispatchEvent({ type: 'error', target: ref.get(), message });
141
- owner._onerror?.();
142
- }
143
- },
144
- }));
145
- }
277
+ },
278
+ error(error, message) {
279
+ if (global.__debug_browser_polyfill_image) {
280
+ console.log(`nativescript-browser-polyfill: Error:`, message);
281
+ }
282
+ const owner = ref.get();
283
+ if (owner) {
284
+ owner.dispatchEvent({ type: 'error', target: ref.get(), message });
285
+ owner._onerror?.();
286
+ owner._loading = false;
287
+ owner._dispatchDecode?.();
288
+ }
289
+ },
290
+ }));
146
291
  }
147
- catch (error) {
148
- // this.dispatchEvent({type: 'loading', target: this });
149
- if (global.__debug_browser_polyfill_image) {
150
- console.log(`nativescript-browser-polyfill: Error:`, error.message);
151
- }
152
- this.dispatchEvent({ type: 'error', target: this, error });
153
- this._onerror?.();
292
+ }
293
+ catch (error) {
294
+ // this.dispatchEvent({type: 'loading', target: this });
295
+ if (global.__debug_browser_polyfill_image) {
296
+ console.log(`nativescript-browser-polyfill: Error:`, error.message);
154
297
  }
155
- })();
298
+ this.dispatchEvent({ type: 'error', target: this, error });
299
+ this._onerror?.();
300
+ this._loading = false;
301
+ this._dispatchDecode?.();
302
+ }
156
303
  return;
157
304
  }
158
- if (typeof this.src === 'string') {
159
- this.dispatchEvent({ type: 'loading', target: this });
160
- let async = this.decoding !== 'sync';
161
- if (this.src.startsWith('http')) {
162
- if (!async) {
163
- const loaded = this._asset.fromUrlSync(this.src);
164
- if (loaded) {
165
- this.width = this._asset.width;
166
- this.height = this._asset.height;
167
- this.complete = true;
168
- this._onload?.();
305
+ this.dispatchEvent({ type: 'loading', target: this });
306
+ if (this.src.startsWith('http')) {
307
+ if (!async) {
308
+ const loaded = this._asset.fromUrlSync(this.src);
309
+ let success = false;
310
+ if (loaded) {
311
+ this.width = this._asset.width;
312
+ this.height = this._asset.height;
313
+ this.complete = true;
314
+ success = true;
315
+ }
316
+ else {
317
+ // try svg ?
318
+ const svg = Svg.fromSrcSync(this.src);
319
+ if (svg) {
320
+ if (this._asset.loadFromBytesSync(svg.width, svg.height, svg.data)) {
321
+ this.width = this._asset.width;
322
+ this.height = this._asset.height;
323
+ this.complete = true;
324
+ this._loading = false;
325
+ this._dispatchDecode(true);
326
+ }
327
+ else {
328
+ this.dispatchEvent({ type: 'error', target: this });
329
+ this._onerror?.();
330
+ this._loading = false;
331
+ this._dispatchDecode(success);
332
+ }
169
333
  }
170
334
  else {
171
335
  this.dispatchEvent({ type: 'error', target: this });
172
336
  this._onerror?.();
337
+ this._loading = false;
338
+ this._dispatchDecode(success);
173
339
  }
174
340
  }
175
- else {
176
- this._asset
177
- .fromUrl(this.src)
178
- .then(() => {
341
+ }
342
+ else {
343
+ this._asset
344
+ .fromUrl(this.src)
345
+ .then(() => {
346
+ this.width = this._asset.width;
347
+ this.height = this._asset.height;
348
+ this.complete = true;
349
+ this._loading = false;
350
+ this._dispatchDecode(true);
351
+ })
352
+ .catch((e) => {
353
+ Svg.fromSrc(this.src)
354
+ .then((svg) => {
355
+ const data = svg.data;
356
+ return this._asset.loadFromBytes(svg.width, svg.height, data);
357
+ })
358
+ .then((done) => {
179
359
  this.width = this._asset.width;
180
360
  this.height = this._asset.height;
181
- this.complete = true;
182
- this._onload?.();
361
+ this.complete = done;
362
+ this._loading = false;
363
+ this._dispatchDecode(done);
183
364
  })
184
- .catch((e) => {
185
- this.dispatchEvent({ type: 'error', target: this, e });
365
+ .catch((_) => {
366
+ this.dispatchEvent({ type: 'error', target: this, error: e });
186
367
  this._onerror?.();
368
+ this._loading = false;
369
+ this._dispatchDecode();
187
370
  });
188
- }
371
+ });
189
372
  }
190
- else {
191
- this.complete = false;
192
- let src = this.src;
193
- if (src.startsWith('~')) {
194
- src = knownFolders.currentApp().path + src.replace('~', '');
373
+ }
374
+ else {
375
+ this.complete = false;
376
+ let src = this.src;
377
+ if (src.startsWith('~')) {
378
+ src = knownFolders.currentApp().path + src.replace('~', '');
379
+ }
380
+ if (!async) {
381
+ const loaded = this._asset.fromFileSync(src);
382
+ if (loaded) {
383
+ this.width = this._asset.width;
384
+ this.height = this._asset.height;
385
+ this.complete = true;
386
+ this._loading = false;
387
+ this._dispatchDecode(true);
195
388
  }
196
- if (!async) {
197
- const loaded = this._asset.fromFileSync(src);
198
- if (loaded) {
199
- this.width = this._asset.width;
200
- this.height = this._asset.height;
201
- this.complete = true;
202
- this._onload?.();
389
+ else {
390
+ // try svg ?
391
+ const svg = Svg.fromSrcSync(this.src);
392
+ if (svg) {
393
+ if (this._asset.loadFromBytesSync(svg.width, svg.height, svg.data)) {
394
+ this.width = this._asset.width;
395
+ this.height = this._asset.height;
396
+ this.complete = true;
397
+ this._loading = false;
398
+ this._dispatchDecode(true);
399
+ }
400
+ else {
401
+ this.dispatchEvent({ type: 'error', target: this });
402
+ this._onerror?.();
403
+ this._loading = false;
404
+ this._dispatchDecode();
405
+ }
203
406
  }
204
407
  else {
205
408
  this.dispatchEvent({ type: 'error', target: this });
206
409
  this._onerror?.();
410
+ this._loading = false;
411
+ this._dispatchDecode();
207
412
  }
208
413
  }
209
- else {
210
- this._asset
211
- .fromFile(src)
414
+ }
415
+ else {
416
+ this._asset
417
+ .fromFile(src)
418
+ .then((done) => {
419
+ this.width = this._asset.width;
420
+ this.height = this._asset.height;
421
+ this.complete = true;
422
+ this._loading = false;
423
+ this._dispatchDecode(true);
424
+ })
425
+ .catch((e) => {
426
+ Svg.fromSrc(this.src)
427
+ .then((svg) => {
428
+ const data = svg.data;
429
+ return this._asset.loadFromBytes(svg.width, svg.height, data);
430
+ })
212
431
  .then((done) => {
213
432
  this.width = this._asset.width;
214
433
  this.height = this._asset.height;
215
- this.complete = true;
216
- this._onload?.();
434
+ this.complete = done;
435
+ this._loading = false;
436
+ this._dispatchDecode(done);
217
437
  })
218
- .catch((e) => {
438
+ .catch((_) => {
219
439
  this.dispatchEvent({ type: 'error', target: this, e });
220
440
  this._onerror?.();
441
+ this._loading = false;
442
+ this._dispatchDecode();
221
443
  });
222
- }
444
+ });
223
445
  }
224
446
  }
225
447
  }
448
+ else {
449
+ this._loading = false;
450
+ this._dispatchDecode();
451
+ }
226
452
  }
227
453
  }
228
454
  //# sourceMappingURL=HTMLImageElement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HTMLImageElement.js","sourceRoot":"","sources":["../../../../packages/canvas-polyfill/DOM/HTMLImageElement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HTMLImageElement.js","sourceRoot":"","sources":["../../../../packages/canvas-polyfill/DOM/HTMLImageElement.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,16 @@ export declare class HTMLVideoElement extends HTMLElement {
4
4
  constructor();
5
5
  canPlayType(type: any): '' | 'probably' | 'maybe';
6
6
  requestVideoFrameCallback(callback: Function): void;
7
+ cancelVideoFrameCallback(callback: Function): void;
8
+ get readyState(): any;
7
9
  get autoplay(): boolean;
8
10
  set autoplay(value: boolean);
9
11
  get muted(): boolean;
10
12
  set muted(value: boolean);
11
13
  get controls(): boolean;
12
14
  set controls(value: boolean);
15
+ get currentTime(): number;
16
+ set currentTime(value: number);
13
17
  get loop(): boolean;
14
18
  set loop(value: boolean);
15
19
  get src(): string;
@@ -18,6 +22,6 @@ export declare class HTMLVideoElement extends HTMLElement {
18
22
  get width(): any;
19
23
  set height(value: any);
20
24
  get height(): any;
21
- play(): void;
25
+ play(): any;
22
26
  pause(): void;
23
27
  }
@@ -30,7 +30,13 @@ export class HTMLVideoElement extends HTMLElement {
30
30
  }
31
31
  }
32
32
  requestVideoFrameCallback(callback) {
33
- this._video?.requestVideoFrameCallback(callback);
33
+ this._video?.requestVideoFrameCallback?.(callback);
34
+ }
35
+ cancelVideoFrameCallback(callback) {
36
+ this._video?.cancelVideoFrameCallback?.(callback);
37
+ }
38
+ get readyState() {
39
+ return this._video?.readyState ?? 0;
34
40
  }
35
41
  get autoplay() {
36
42
  return this._video?.autoplay ?? false;
@@ -56,6 +62,14 @@ export class HTMLVideoElement extends HTMLElement {
56
62
  this._video.controls = value;
57
63
  }
58
64
  }
65
+ get currentTime() {
66
+ return this._video?.currentTime ?? 0;
67
+ }
68
+ set currentTime(value) {
69
+ if (this._video) {
70
+ this._video.currentTime = value;
71
+ }
72
+ }
59
73
  get loop() {
60
74
  return this._video?.loop ?? false;
61
75
  }
@@ -90,8 +104,9 @@ export class HTMLVideoElement extends HTMLElement {
90
104
  }
91
105
  play() {
92
106
  if (this._video) {
93
- this._video.play();
107
+ return this._video.play();
94
108
  }
109
+ return Promise.reject('Video element is not supported');
95
110
  }
96
111
  pause() {
97
112
  if (this._video) {
@@ -1 +1 @@
1
- {"version":3,"file":"HTMLVideoElement.js","sourceRoot":"","sources":["../../../../packages/canvas-polyfill/DOM/HTMLVideoElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,IAAI,KAAU,CAAC;AAEf,MAAM,OAAO,gBAAiB,SAAQ,WAAW;IAGhD;QACC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,IAAI,CAAC;gBACJ,aAAa;gBACb,MAAM,KAAK,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;gBACpD,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACrB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;QACf,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC;YACvC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;YAEjC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;gBACtC,IAAI,CAAC,aAAa,CAAC,YAAY,GAAG,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC,eAAwB,CAAC;YAC5H,CAAC;QACF,CAAC;IACF,CAAC;IAED,WAAW,CAAC,IAAI;QACf,eAAe;QACf,QAAQ,IAAI,EAAE,CAAC;YACd,KAAK,WAAW,CAAC;YACjB,KAAK,WAAW;gBACf,OAAO,UAAU,CAAC;YACnB;gBACC,OAAO,EAAE,CAAC;QACZ,CAAC;IACF,CAAC;IAED,yBAAyB,CAAC,QAAkB;QAC3C,IAAI,CAAC,MAAM,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,KAAK,CAAC;IACvC,CAAC;IAED,IAAI,QAAQ,CAAC,KAAc;QAC1B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC9B,CAAC;IACF,CAAC;IAED,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,CAAC;IACpC,CAAC;IAED,IAAI,KAAK,CAAC,KAAc;QACvB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAC3B,CAAC;IACF,CAAC;IAED,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,KAAK,CAAC;IACvC,CAAC;IAED,IAAI,QAAQ,CAAC,KAAc;QAC1B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC9B,CAAC;IACF,CAAC;IAED,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,KAAK,CAAC;IACnC,CAAC;IAED,IAAI,IAAI,CAAC,KAAc;QACtB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;QAC1B,CAAC;IACF,CAAC;IAED,IAAI,GAAG;QACN,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,IAAI,GAAG,CAAC,KAAa;QACpB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC;QACzB,CAAC;IACF,CAAC;IAED,IAAI,KAAK,CAAC,KAAK;QACd,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAY,CAAC;QAClC,CAAC;IACF,CAAC;IAED,IAAI,KAAK;QACR,OAAQ,IAAI,CAAC,MAAM,EAAE,KAAa,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,MAAM,CAAC,KAAK;QACf,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,KAAY,CAAC;QACnC,CAAC;IACF,CAAC;IAED,IAAI,MAAM;QACT,OAAQ,IAAI,CAAC,MAAM,EAAE,MAAc,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI;QACH,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;IACF,CAAC;IAED,KAAK;QACJ,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;IACF,CAAC;CACD"}
1
+ {"version":3,"file":"HTMLVideoElement.js","sourceRoot":"","sources":["../../../../packages/canvas-polyfill/DOM/HTMLVideoElement.ts"],"names":[],"mappings":"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"}
package/DOM/Node.d.ts CHANGED
@@ -1,13 +1,26 @@
1
1
  import { EventTarget } from './EventTarget';
2
2
  export declare class Node extends EventTarget {
3
+ static ELEMENT_NODE: number;
4
+ static ATTRIBUTE_NODE: number;
5
+ static TEXT_NODE: number;
6
+ static CDATA_SECTION_NODE: number;
7
+ static PROCESSING_INSTRUCTION_NODE: number;
8
+ static COMMENT_NODE: number;
9
+ static DOCUMENT_NODE: number;
10
+ static DOCUMENT_TYPE_NODE: number;
11
+ static DOCUMENT_FRAGMENT_NODE: number;
3
12
  className: any;
13
+ nodeType: number;
4
14
  readonly nodeName: string;
5
15
  _ownerDocument: Document;
16
+ get isConnected(): boolean;
6
17
  get ownerDocument(): Document;
18
+ get childNodes(): any;
7
19
  constructor(nodeName: string);
8
20
  append(view: any): void;
9
21
  appendChild(view: any): void;
10
22
  insertBefore(view: any): void;
11
23
  removeChild(view: any): void;
12
24
  compareDocumentPosition(otherNode: any): 1 | 8;
25
+ contains(otherNode: Node): boolean;
13
26
  }