Bug 1642570 Comment 10 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

I think removing this [intentional check](https://searchfox.org/mozilla-central/rev/44d99b6b8d84abed2d20386cc2e62cd90da41cc3/toolkit/components/satchel/FormHistoryChild.jsm#101-104) might not be the right way to deal with this bug.

I did a test on both Safari and Chrome, both don't save  input to form history when `value == defaultValue`, however, it seems that Chrome does something extra. In my test, if you modify the `defaultValue` on the fly (which is what react is doing now?), after submitting the form, Chrome compares the value with the **initial** `defaultValue`, not the `defaultValue`  updated by the script. The behavior make it look like Chrome doesn't compare `value == defaultValue`, but actually it does.

I test this example: https://codesandbox.io/embed/material-demo-y5mlt
Safari has the same behavior with us. Chrome doesn't have this issue probably because the mentioned trick above.

In summary, removing the  `value == defaultValue` will make us behave differently with other browsers. In my opinion, it won't be a better design either. If this is something we need to fix, I'd suggest using a workaround to address this special case and not change the general behavior.
I think removing this [intentional check](https://searchfox.org/mozilla-central/rev/44d99b6b8d84abed2d20386cc2e62cd90da41cc3/toolkit/components/satchel/FormHistoryChild.jsm#101-104) might not be the right way to deal with this bug.

I did a test on both Safari and Chrome, both don't save  input to form history when `value == defaultValue`, however, it seems that Chrome does something extra. In my test, if you modify the `defaultValue` on the fly (which is what react is doing now?), after submitting the form, Chrome compares the value with the **initial** `defaultValue`, not the `defaultValue`  updated by the script afterwards. The behavior make it look like Chrome doesn't compare `value == defaultValue`, but actually it does.

I test this example: https://codesandbox.io/embed/material-demo-y5mlt
Safari has the same behavior with us. Chrome doesn't have this issue probably because the trick mentioned above.

In summary, removing the  `value == defaultValue` will make us behave differently with other browsers. In my opinion, it won't be a better design either. If this is something we need to fix, I'd suggest using a workaround to address this special case and not change the general behavior.

Back to Bug 1642570 Comment 10