Commit Graph

44 Commits

Author SHA1 Message Date
Jason Barry
949c236e29 Fixes missing space when converting srcset to use absolute URLs (#40)
* Fixes missing space when converting srcset to use absolute URLs

* Fix integration snapshot
2026-04-01 12:00:00 +08:00
James Bradley
bfaff6b0e1 H tags (#28)
* Failing test

* Allow numbers in el name tests

* Allow numbers in el names
2026-04-01 12:00:00 +08:00
Yanzhen Yu
35070d9dcc add media state check 2026-04-01 12:00:00 +08:00
Filip Slatinac
44eddcc900 added cssText check (#23)
* added cssText check

* added testing
2026-04-01 12:00:00 +08:00
Filip Slatinac
5c23514fca replacing invalid tag names by div (#22) 2026-04-01 12:00:00 +08:00
Yanzhen Yu
5c214f42b8 add picture tag test 2026-04-01 12:00:00 +08:00
Filip Slatinac
1467f97f43 Added srcset support (#18)
* added src set as a parsed attribute

* added tests

* changed to /a

* added multiple attribute handling

* added better comment

* made snapshot ignore invalid input as if it is invalid input in the original DOM, it should stay invalid in the recreated DOM

* added extra absolute test case

* code style

* addressed comments
2026-04-01 12:00:00 +08:00
Yanzhen Yu
1fc66ffcc5 fix data url regexp 2026-04-01 12:00:00 +08:00
Yanzhen Yu
21e8affa2b Use css parser to add hover class name to selectors.
Previously we use a regexp to match all the CSS selectors and add
our hover class name to it, which has been proved not solid and
may be very slow in some situation.
Using a production ready css parser can handle this better and also
provide ability's to do more accurate things to the recorded
stylesheets.
2026-04-01 12:00:00 +08:00
Yanzhen Yu
c4da047b9f add inline option which can bypass the inline stylesheet 2026-04-01 12:00:00 +08:00
Whalefreezer
68b97e40a2 add support for css @import rules (#11) 2026-04-01 12:00:00 +08:00
Yanzhen Yu
bd42510e23 update typescript and fix test cases 2026-04-01 12:00:00 +08:00
Sam Mason
e21921a2da Make block css class optional & fix test (#6)
* Make block class optional

* Fix test by removing unexpected space space
2026-04-01 12:00:00 +08:00
Yanzhen Yu
29f2e42978 iterate style element to get css rules string 2026-04-01 12:00:00 +08:00
Yanzhen Yu
67027d8be6 handle empty url path 2026-04-01 12:00:00 +08:00
Yanzhen Yu
205d3b4aeb fix the format and use window.location 2026-04-01 12:00:00 +08:00
Daniël van de Giessen
4ed15164c9 Fixed detection of multiple consecutive CSS URLs without quotes (#4) 2026-04-01 12:00:00 +08:00
Yanzhen Yu
ca8288802f do not add origin before data uri image 2026-04-01 12:00:00 +08:00
Yanzhen Yu
2d1d3596b8 handle block element 2026-04-01 12:00:00 +08:00
Yanzhen Yu
7aa3410aea update the test snapshot 2026-04-01 12:00:00 +08:00
Yanzhen Yu
8b470ab6c8 remove _cssText attribute from style element 2026-04-01 12:00:00 +08:00
Yanzhen Yu
c458db3d8e ignore iframe src attribute 2026-04-01 12:00:00 +08:00
Yanzhen Yu
cdedca1716 complately update relative path regexp 2026-04-01 12:00:00 +08:00
Yanzhen Yu
7cb33bfe80 fix css url regexp 2026-04-01 12:00:00 +08:00
Yanzhen Yu
544ef0b3a3 bump 0.5.6 2026-04-01 12:00:00 +08:00
Yanzhen Yu
2065e00c5d Fix the regexp performance issue
Also move the addHoverClass implementation into the rebuild stage.
So if there is still some corner case we have not handled, it will
only affect the replayer part of rrweb.
2026-04-01 12:00:00 +08:00
Yanzhen Yu
efcbd0faf1 add hover class to :hover related css rules 2026-04-01 12:00:00 +08:00
Yanzhen Yu
9ff0ab9451 remove local test code 2026-04-01 12:00:00 +08:00
Yanzhen Yu
9a4c21c30f refactor rebuild implementation which mount DOM onto the target document object 2026-04-01 12:00:00 +08:00
Yanzhen Yu
19eca4da6d use document object from params instead of the one in the current scope 2026-04-01 12:00:00 +08:00
Yanzhen Yu
349d78e02b fix style content url normalizer and add some tests 2026-04-01 12:00:00 +08:00
Yanzhen Yu
f3b456270b update README and add travis 2026-04-01 12:00:00 +08:00
Yanzhen Yu
875385552d impl the extra child data attribute to align id map 2026-04-01 12:00:00 +08:00
Yanzhen Yu
e7753e1c24 change relative path into absolute path 2026-04-01 12:00:00 +08:00
Yanzhen Yu
87ff591cd1 use jest-snapshot to apply the snapshot testing 2026-04-01 12:00:00 +08:00
Yanzhen Yu
0434129b00 return id node map when rebuild 2026-04-01 12:00:00 +08:00
Yanzhen Yu
cfc8798b53 return id node map when snapshot 2026-04-01 12:00:00 +08:00
Yanzhen Yu
546743004b update declaration file 2026-04-01 12:00:00 +08:00
Yanzhen Yu
9e3e590935 add iframe tests and update urls in test file 2026-04-01 12:00:00 +08:00
Yanzhen Yu
51737d9b53 try to inline linked stylesheet when in same origin 2026-04-01 12:00:00 +08:00
Yanzhen Yu
7fadc986ec refactor the test infra: use puppeteer instead of jsdom to get rid of some hack implementations 2026-04-01 12:00:00 +08:00
Yanzhen Yu
0e35b86d87 refactor test infra so most test cases could be implemented by pure HTML 2026-04-01 12:00:00 +08:00
Yanzhen Yu
e9cf631934 replace script tag with noscript and inline the states of form field components 2026-04-01 12:00:00 +08:00
Yanzhen Yu
ed2bc918e0 setup tests 2026-04-01 12:00:00 +08:00