@nativescript/canvas-polyfill 2.0.0-rc.1 → 2.0.0-rc.10

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.
@@ -1,6 +1,6 @@
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
5
  import { Svg } from '@nativescript/canvas-svg';
6
6
  // declare var NSUUID, java, NSData, android;
@@ -135,33 +135,42 @@ export class HTMLImageElement extends HTMLElement {
135
135
  this._load();
136
136
  }
137
137
  }
138
- async _load() {
138
+ _load() {
139
139
  this._loading = true;
140
+ const async = this.decoding !== 'sync';
140
141
  if (this.src && typeof this.src === 'string') {
141
142
  if (this.src.startsWith('blob:nativescript/')) {
142
143
  const data = URL.InternalAccessor.getData(this.src);
143
144
  const buffer = Blob.InternalAccessor.getBuffer(data.blob);
144
145
  let isSvg = data?.type?.indexOf('svg') > -1;
145
- let src;
146
- let d;
147
- if (!isSvg) {
148
- try {
149
- d = new TextDecoder();
150
- src = d.decode(buffer);
151
- if (typeof src === 'string') {
152
- isSvg = src.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;
153
152
  }
154
- }
155
- catch (error) { }
156
- }
157
- if (isSvg) {
158
- d = d ?? new TextDecoder();
159
- src = src ?? d.decode(buffer);
160
- try {
161
- const svg = await Svg.fromSrc(src);
162
- const data = svg.data;
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) => {
163
172
  this._asset
164
- .loadFromBytes(svg.width, svg.height, data)
173
+ .loadFromEncodedBytes(buffer)
165
174
  .then((done) => {
166
175
  this.width = this._asset.width;
167
176
  this.height = this._asset.height;
@@ -170,39 +179,60 @@ export class HTMLImageElement extends HTMLElement {
170
179
  this._dispatchDecode(done);
171
180
  })
172
181
  .catch((e) => {
173
- this.dispatchEvent({ type: 'error', target: this, e });
182
+ this.dispatchEvent({ type: 'error', target: this, error: e, e });
174
183
  this._onerror?.();
175
184
  this._loading = false;
176
185
  this._dispatchDecode();
177
186
  });
178
- return;
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
+ }
179
227
  }
180
228
  catch (e) {
181
- this.dispatchEvent({ type: 'error', target: this, error: e });
229
+ this.dispatchEvent({ type: 'error', target: this, error: e, e });
182
230
  this._onerror?.();
183
231
  this._loading = false;
184
232
  this._dispatchDecode();
185
- return;
186
233
  }
187
234
  }
188
- else {
189
- this._asset
190
- .loadFromEncodedBytes(buffer)
191
- .then((done) => {
192
- this.width = this._asset.width;
193
- this.height = this._asset.height;
194
- this.complete = done;
195
- this._loading = false;
196
- this._dispatchDecode(done);
197
- })
198
- .catch((e) => {
199
- this.dispatchEvent({ type: 'error', target: this, e });
200
- this._onerror?.();
201
- this._loading = false;
202
- this._dispatchDecode();
203
- });
204
- return;
205
- }
235
+ return;
206
236
  }
207
237
  if (this.src.startsWith && this.src.startsWith('data:')) {
208
238
  // is base64 - convert and try again;
@@ -215,67 +245,64 @@ export class HTMLImageElement extends HTMLElement {
215
245
  this._dispatchDecode();
216
246
  return;
217
247
  }
218
- (async () => {
219
- try {
220
- const MIME = getMIMEforBase64String(base64result);
221
- const dir = knownFolders.temp().path;
222
- if (global.isIOS) {
223
- NSSCanvasHelpers.handleBase64Image(MIME, dir, base64result, (error, localUri) => {
224
- if (error) {
225
- if (global.__debug_browser_polyfill_image) {
226
- console.log(`nativescript-browser-polyfill: Error:`, error.message);
227
- }
228
- this.dispatchEvent({ type: 'error', target: this, error });
229
- this._onerror?.();
230
- this._loading = false;
231
- this._dispatchDecode();
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);
232
256
  }
233
- else {
234
- this.localUri = localUri;
235
- 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();
236
276
  }
237
- });
238
- }
239
- if (global.isAndroid) {
240
- const ref = new WeakRef(this);
241
- com.github.triniwiz.async.Async2.Base64.base64ToFile(base64result, dir + '/', new com.github.triniwiz.async.Async2.Base64.Callback({
242
- success(response) {
243
- const owner = ref.get();
244
- if (owner) {
245
- owner.localUri = response.toString();
246
- owner._load();
247
- }
248
- },
249
- error(error, message) {
250
- if (global.__debug_browser_polyfill_image) {
251
- console.log(`nativescript-browser-polyfill: Error:`, message);
252
- }
253
- const owner = ref.get();
254
- if (owner) {
255
- owner.dispatchEvent({ type: 'error', target: ref.get(), message });
256
- owner._onerror?.();
257
- owner._loading = false;
258
- owner._dispatchDecode?.();
259
- }
260
- },
261
- }));
262
- }
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
+ }));
263
291
  }
264
- catch (error) {
265
- // this.dispatchEvent({type: 'loading', target: this });
266
- if (global.__debug_browser_polyfill_image) {
267
- console.log(`nativescript-browser-polyfill: Error:`, error.message);
268
- }
269
- this.dispatchEvent({ type: 'error', target: this, error });
270
- this._onerror?.();
271
- this._loading = false;
272
- this._dispatchDecode?.();
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);
273
297
  }
274
- })();
298
+ this.dispatchEvent({ type: 'error', target: this, error });
299
+ this._onerror?.();
300
+ this._loading = false;
301
+ this._dispatchDecode?.();
302
+ }
275
303
  return;
276
304
  }
277
305
  this.dispatchEvent({ type: 'loading', target: this });
278
- let async = this.decoding !== 'sync';
279
306
  if (this.src.startsWith('http')) {
280
307
  if (!async) {
281
308
  const loaded = this._asset.fromUrlSync(this.src);
@@ -287,11 +314,30 @@ export class HTMLImageElement extends HTMLElement {
287
314
  success = true;
288
315
  }
289
316
  else {
290
- this.dispatchEvent({ type: 'error', target: this });
291
- this._onerror?.();
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
+ }
333
+ }
334
+ else {
335
+ this.dispatchEvent({ type: 'error', target: this });
336
+ this._onerror?.();
337
+ this._loading = false;
338
+ this._dispatchDecode(success);
339
+ }
292
340
  }
293
- this._loading = false;
294
- this._dispatchDecode(success);
295
341
  }
296
342
  else {
297
343
  this._asset
@@ -304,10 +350,24 @@ export class HTMLImageElement extends HTMLElement {
304
350
  this._dispatchDecode(true);
305
351
  })
306
352
  .catch((e) => {
307
- this.dispatchEvent({ type: 'error', target: this, error: e });
308
- this._onerror?.();
309
- this._loading = false;
310
- this._dispatchDecode();
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) => {
359
+ this.width = this._asset.width;
360
+ this.height = this._asset.height;
361
+ this.complete = done;
362
+ this._loading = false;
363
+ this._dispatchDecode(done);
364
+ })
365
+ .catch((_) => {
366
+ this.dispatchEvent({ type: 'error', target: this, error: e });
367
+ this._onerror?.();
368
+ this._loading = false;
369
+ this._dispatchDecode();
370
+ });
311
371
  });
312
372
  }
313
373
  }
@@ -327,10 +387,29 @@ export class HTMLImageElement extends HTMLElement {
327
387
  this._dispatchDecode(true);
328
388
  }
329
389
  else {
330
- this.dispatchEvent({ type: 'error', target: this });
331
- this._onerror?.();
332
- this._loading = false;
333
- this._dispatchDecode();
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
+ }
406
+ }
407
+ else {
408
+ this.dispatchEvent({ type: 'error', target: this });
409
+ this._onerror?.();
410
+ this._loading = false;
411
+ this._dispatchDecode();
412
+ }
334
413
  }
335
414
  }
336
415
  else {
@@ -344,10 +423,24 @@ export class HTMLImageElement extends HTMLElement {
344
423
  this._dispatchDecode(true);
345
424
  })
346
425
  .catch((e) => {
347
- this.dispatchEvent({ type: 'error', target: this, e });
348
- this._onerror?.();
349
- this._loading = false;
350
- this._dispatchDecode();
426
+ Svg.fromSrc(this.src)
427
+ .then((svg) => {
428
+ const data = svg.data;
429
+ return this._asset.loadFromBytes(svg.width, svg.height, data);
430
+ })
431
+ .then((done) => {
432
+ this.width = this._asset.width;
433
+ this.height = this._asset.height;
434
+ this.complete = done;
435
+ this._loading = false;
436
+ this._dispatchDecode(done);
437
+ })
438
+ .catch((_) => {
439
+ this.dispatchEvent({ type: 'error', target: this, e });
440
+ this._onerror?.();
441
+ this._loading = false;
442
+ this._dispatchDecode();
443
+ });
351
444
  });
352
445
  }
353
446
  }
@@ -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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"}
@@ -3,6 +3,7 @@ import { Http } from '../http/http';
3
3
  import { HttpError, ProgressEvent } from '../http/http-request-common';
4
4
  import { FileManager } from '../file/file';
5
5
  import { knownFolders, path as filePath, File as fsFile, Utils } from '@nativescript/core';
6
+ import { Helpers } from '@nativescript/canvas/helpers';
6
7
  var XMLHttpRequestResponseType;
7
8
  (function (XMLHttpRequestResponseType) {
8
9
  XMLHttpRequestResponseType["empty"] = "";
@@ -394,6 +395,100 @@ export class TNSXMLHttpRequest {
394
395
  }
395
396
  return;
396
397
  }
398
+ if (!path) {
399
+ const startEvent = new ProgressEvent('loadstart', this._lastProgress);
400
+ if (this.onloadstart) {
401
+ this.onloadstart(startEvent);
402
+ }
403
+ this.emitEvent('loadstart', startEvent);
404
+ this._updateReadyStateChange(this.LOADING);
405
+ if (this._request.url.startsWith('data:')) {
406
+ const split = this._request.url.split(',');
407
+ const mime = split[0];
408
+ const base64result = split[1];
409
+ if (mime && base64result) {
410
+ Helpers.base64DecodeAsync(base64result)
411
+ .then((result) => {
412
+ this._headers['Content-Type'] = mime;
413
+ const data = result[1];
414
+ this._response = data ?? '';
415
+ this._responseText = data[0] ?? '';
416
+ this._status = 200;
417
+ this._responseURL = this._request.url;
418
+ const size = data?.byteLength ?? 0;
419
+ this._lastProgress = {
420
+ lengthComputable: true,
421
+ loaded: size,
422
+ total: size,
423
+ target: this,
424
+ };
425
+ const progressEvent = new ProgressEvent('progress', this._lastProgress);
426
+ if (this.onprogress) {
427
+ this.onprogress(progressEvent);
428
+ }
429
+ this.emitEvent('progress', progressEvent);
430
+ this._addToStringOnResponse();
431
+ const loadEvent = new ProgressEvent('load', this._lastProgress);
432
+ if (this.onload) {
433
+ this.onload(loadEvent);
434
+ }
435
+ this.emitEvent('load', loadEvent);
436
+ const loadendEvent = new ProgressEvent('loadend', this._lastProgress);
437
+ if (this.onloadend) {
438
+ this.onloadend(loadendEvent);
439
+ }
440
+ this.emitEvent('loadend', loadendEvent);
441
+ this._updateReadyStateChange(this.DONE);
442
+ })
443
+ .catch((_) => {
444
+ const errorEvent = new ProgressEvent('error', this._lastProgress);
445
+ this._status = 0;
446
+ this._responseText = '';
447
+ this._responseType = '';
448
+ this._responseURL = '';
449
+ this._lastProgress = {
450
+ lengthComputable: false,
451
+ loaded: 0,
452
+ total: 0,
453
+ target: this,
454
+ };
455
+ if (this.onerror) {
456
+ this.onerror(errorEvent);
457
+ }
458
+ this.emitEvent('error', errorEvent);
459
+ const loadendEvent = new ProgressEvent('loadend', this._lastProgress);
460
+ if (this.onloadend) {
461
+ this.onloadend(loadendEvent);
462
+ }
463
+ this.emitEvent('loadend', loadendEvent);
464
+ this._updateReadyStateChange(this.DONE);
465
+ });
466
+ return;
467
+ }
468
+ }
469
+ const errorEvent = new ProgressEvent('error', this._lastProgress);
470
+ this._status = 0;
471
+ this._responseText = '';
472
+ this._responseType = '';
473
+ this._responseURL = '';
474
+ this._lastProgress = {
475
+ lengthComputable: false,
476
+ loaded: 0,
477
+ total: 0,
478
+ target: this,
479
+ };
480
+ if (this.onerror) {
481
+ this.onerror(errorEvent);
482
+ }
483
+ this.emitEvent('error', errorEvent);
484
+ const loadendEvent = new ProgressEvent('loadend', this._lastProgress);
485
+ if (this.onloadend) {
486
+ this.onloadend(loadendEvent);
487
+ }
488
+ this.emitEvent('loadend', loadendEvent);
489
+ this._updateReadyStateChange(this.DONE);
490
+ return;
491
+ }
397
492
  const url = new URL(`file://${path}`);
398
493
  const responseURL = url.href;
399
494
  let contentLength = -1;