* Improve parsing of srcset according to whatwg spec; e.g. srcset="http://example.com/size400,300/img.jpg 640w"
* Trim/normalise the output in order to conform to prior version; solely to keep tests happy
* Add test case for embedded commas in a srcset url as well as support for future possible parenthesis in descriptor string
* Drop 'future proof' test as it causes an error message in test output
* chore: reorder options
* feat: enable to mask texts
* feat: add the default mask function
* refactor: rename options to identify the difference between mask text and mask input
* test: add tests about masking
* speed up addHoverClass on large style sheets
* longer strings first to prevent accidental partial matches
* can add hover class when there is a multi selector with the same prefix
* tweak performance
* pick nested branch
* iframe snapshot
* temp: add bundle file to git
* revert ignore file
* refactor iframe impl
1. do callback one iframe is loaded, let rrweb handle the rest
2. handle iframe as normal element in rebuild
* rename hook function
* Extract method (isElementBlocked) and add tests
* Add blockSelector argument to snapshot
If blockSelector is passed, it will be matched against the element.
Reasoning: Mutating class names can get messy, so providing another hook
helps keep code clean by using data-attributes instead.
* Preserve original quotes when rewriting CSS url() paths - important for inline SVG files which often have spaces
* Found an example in the wild with the 'charset=' part left off. This is supported by https://css-tricks.com/lodge/svg/09-svg-data-uris/ ... not sure why we aren't just testing for the 'data:' prefix here?
* Not sure why this is now coming back with a double quote after recent changes here; it's supposed to preserve the single quote from style.css??
* 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
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.
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.