Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/vitest-dev/vitest. Next generation testing framework powered by Vite. vitest.dev
test testing-tools vite
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364diff --git a/dist/rrweb-snapshot.js b/dist/rrweb-snapshot.jsindex 1c0fc62d7ede018a7797d3e707c73fa803166d2d..eadcceb088ac1deef08655eb2ed1cdb95fdb515b 100644--- a/dist/rrweb-snapshot.js+++ b/dist/rrweb-snapshot.js@@ -603,7 +603,7 @@ function genId() { return _id++; } function getValidTagName(element) {- if (element instanceof HTMLFormElement) {+ if (Object.prototype.toString.call(element) === "[object HTMLFormElement]") { return "form"; } const processedTagName = toLowerCase(element.tagName);@@ -612,8 +612,16 @@ function getValidTagName(element) { } return processedTagName; }-let canvasService;-let canvasCtx;+const canvasServices = new WeakMap();+function getCanvasService(doc) {+ let service = canvasServices.get(doc);+ if (!service) {+ const canvas = doc.createElement("canvas");+ service = { canvas, context: canvas.getContext("2d") };+ canvasServices.set(doc, service);+ }+ return service;+} const SRCSET_NOT_SPACES = /^[^ \t\n\r\u000c]+/; const SRCSET_COMMAS_OR_SPACES = /^[, \t\n\r\u000c]+/; function getAbsoluteSrcsetString(doc, attributeValue) {@@ -1056,10 +1064,7 @@ function serializeElementNode(n, options) { } } if (tagName === "img" && inlineImages) {- if (!canvasService) {- canvasService = doc.createElement("canvas");- canvasCtx = canvasService.getContext("2d");- }+ const { canvas: canvasService, context: canvasCtx } = getCanvasService(doc); const image = n; const imageSrc = image.currentSrc || image.getAttribute("src") || "<unknown-src>"; const priorCrossOrigin = image.crossOrigin;@@ -1536,6 +1541,18 @@ const pseudoClassPlugin = { if (selector.includes(":hover")) { rule2.selector += ",\n" + selector.replace(/:hover/g, ".\\:hover"); }+ if (selector.includes(":active")) {+ rule2.selector += ",\n" + selector.replace(/:active/g, ".\\:active");+ }+ if (selector.includes(":focus-visible")) {+ rule2.selector += ",\n" + selector.replace(/:focus-visible/g, ".\\:focus-visible");+ }+ if (selector.includes(":focus-within")) {+ rule2.selector += ",\n" + selector.replace(/:focus-within/g, ".\\:focus-within");+ }+ if (/:focus(?![-\w])/.test(selector)) {+ rule2.selector += ",\n" + selector.replace(/:focus(?![-\w])/g, ".\\:focus");+ } }); } };