Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AMP-101866 textarea serialization fix #25

Merged
merged 3 commits into from
Aug 1, 2024

Commits on Aug 1, 2024

  1. Fix serialization and mutation of <textarea> elements (rrweb-io#1351)

    * Fix serialization and mutation of <textarea> elements taking account the duality that the value can be set in either the child node, or in the value _parameter_ (not attribute)
    
    * Backwards compatibility: Bug fix and regression test for rrweb-io#112
     - this is to fix up 'historical' recordings, as duplicate textarea content should no longer be being created at record time
     - new test shows what the snapshot generated by previous versions of rrweb used to look like, hence 'bad'
     - original 0efe23f fix either didn't work or no longer works due to childNodes being appended subsequent to this part of the code
     - during review, we also verified that the `_cssText` case should still be handled okay, as there's currently no scenario where csstext is present with css child nodes of a <style>
    
    * Masking: Fix that textarea values were being missed by the masking system if the value was recorded as a child node
     - I didn't notice that form.html was used in other tests, so lucky that I noticed that those tests also should have the 'pre value' masked out
    
    * Simplify by always storing the textarea value in the `.value` attribute (from it's DOM property) and not as a childNode. It should still be rebuilt as a childNode rather than a property
    ---------
    
    Authored-by: eoghanmurray <eoghan@getthere.ie>
    eoghanmurray authored and lewgordon-amplitude committed Aug 1, 2024
    Configuration menu
    Copy the full SHA
    f876ea5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8cb959c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    fb39603 View commit details
    Browse the repository at this point in the history