Skip to content

Commit 5e2d383

Browse files
committed
fix: use ownerNode.baseURI for stringifying stylesheet urls
1 parent 40f15a5 commit 5e2d383

File tree

3 files changed

+9
-8
lines changed

3 files changed

+9
-8
lines changed

.changeset/angry-roses-beam.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"rrweb-snapshot": patch
3+
---
4+
5+
use ownerNode baseURI for stringifying stylesheet href

packages/rrweb-snapshot/src/utils.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,9 @@ export function stringifyStylesheet(s: CSSStyleSheet): string | null {
118118
return null;
119119
}
120120
let sheetHref = s.href;
121-
if (!sheetHref && s.ownerNode && s.ownerNode.ownerDocument) {
121+
if (!sheetHref && s.ownerNode) {
122122
// an inline <style> element
123-
sheetHref = s.ownerNode.ownerDocument.baseURI;
123+
sheetHref = s.ownerNode.baseURI;
124124
}
125125
const stringifiedRules = Array.from(rules, (rule: CSSRule) =>
126126
stringifyRule(rule, sheetHref),

packages/rrweb-snapshot/test/utils.test.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,7 @@ describe('utils', () => {
300300
expect(stringifyStylesheet(mockSheet)).toBe('div { margin: 0; }');
301301
});
302302

303-
it('uses ownerNode.ownerDocument.baseURI for inline styles', () => {
303+
it('uses ownerNode.baseURI for inline styles', () => {
304304
const mockFontFaceRule = {
305305
cssText: `
306306
@font-face {
@@ -311,12 +311,8 @@ describe('utils', () => {
311311
}
312312
`
313313
} as CSSRule;
314-
const mockOwnerDocument = {
315-
location: { href: 'https://example.com/page.html' },
316-
baseURI: 'https://example.com/fonts/',
317-
} as unknown as Document;
318314
const mockOwnerNode = {
319-
ownerDocument: mockOwnerDocument,
315+
baseURI: 'https://example.com/fonts/',
320316
} as unknown as Node;
321317
const mockSheet = {
322318
cssRules: [mockFontFaceRule],

0 commit comments

Comments
 (0)