@glimt/record 0.0.50 → 0.0.51

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.
package/dist/record.js CHANGED
@@ -1491,17 +1491,16 @@ function serializeElementNode(n2, options) {
1491
1491
  canvasService = doc.createElement("canvas");
1492
1492
  canvasCtx = canvasService.getContext("2d");
1493
1493
  }
1494
- let image = n2;
1495
- const imageSrc = image.currentSrc || image.getAttribute("src") || "<unknown-src>";
1494
+ const image = n2;
1495
+ let overrideImage = null;
1496
+ const imageSrc = (image.currentSrc || image.getAttribute("src") || "<unknown-src>") + "";
1496
1497
  const imageHeight = image.naturalHeight;
1497
1498
  const imageWidth = image.naturalWidth;
1498
- let hasRetried = false;
1499
1499
  const inlineImageCleanup = () => {
1500
- if (!hasRetried) return;
1501
- image = null;
1500
+ overrideImage = null;
1502
1501
  };
1503
1502
  const recordInlineImage = () => {
1504
- image.removeEventListener("error", onImageLoadError);
1503
+ (overrideImage ?? image).removeEventListener("error", onImageLoadError);
1505
1504
  try {
1506
1505
  canvasService.width = imageWidth;
1507
1506
  canvasService.height = imageHeight;
@@ -1513,17 +1512,20 @@ function serializeElementNode(n2, options) {
1513
1512
  } catch (err) {
1514
1513
  if (image.crossOrigin !== "anonymous") {
1515
1514
  if (shouldTryAnonymousFetchingOnCorsError$1()) {
1516
- image = new Image();
1517
- hasRetried = true;
1518
- image.src = imageSrc;
1519
- image.crossOrigin = "anonymous";
1520
- image.height = imageHeight;
1521
- image.width = imageWidth;
1522
- if (image.complete && image.naturalWidth !== 0) {
1515
+ overrideImage = new Image();
1516
+ overrideImage.src = imageSrc;
1517
+ overrideImage.crossOrigin = "anonymous";
1518
+ overrideImage.height = imageHeight;
1519
+ overrideImage.width = imageWidth;
1520
+ if (overrideImage.complete && overrideImage.naturalWidth !== 0) {
1523
1521
  recordInlineImage();
1524
1522
  } else {
1525
- image.addEventListener("load", recordInlineImage, { once: true });
1526
- image.addEventListener("error", onImageLoadError, { once: true });
1523
+ overrideImage.addEventListener("load", recordInlineImage, {
1524
+ once: true
1525
+ });
1526
+ overrideImage.addEventListener("error", onImageLoadError, {
1527
+ once: true
1528
+ });
1527
1529
  }
1528
1530
  return;
1529
1531
  }
@@ -1536,7 +1538,7 @@ function serializeElementNode(n2, options) {
1536
1538
  inlineImageCleanup();
1537
1539
  };
1538
1540
  const onImageLoadError = () => {
1539
- image.removeEventListener("load", recordInlineImage);
1541
+ (overrideImage ?? image).removeEventListener("load", recordInlineImage);
1540
1542
  inlineImageCleanup();
1541
1543
  };
1542
1544
  if (image.complete && image.naturalWidth !== 0) recordInlineImage();