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