| Summary: | SVG loses event handlers on navigating back | ||||||
|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Martin Häcker <spamfaenger> | ||||
| Component: | SVG | Assignee: | Nobody <webkit-unassigned> | ||||
| Status: | NEW --- | ||||||
| Severity: | Normal | CC: | cdumez, rniwa, sabouhallawa, webkit-bug-importer, zimmermann | ||||
| Priority: | P2 | Keywords: | InRadar | ||||
| Version: | Safari Technology Preview | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Attachments: |
|
||||||
Created attachment 365956 [details] reduction How to reproduce: * download attached reduction * serve content via http server. Possibly like this: % unzip svg-bug.zip % cd svg-bug % python3 -m http.server * open localhost:8000 (or whatever python tells you) in the browser * click on any one of the three round button-y things to trigger a navigation * navigate back via the back button, mouse gesture or command-leftarrow * try to click any of the buttons again to trigger another navigation. * observe that nothing happens * navigating forward shows the same behavior on the second page What seems to happen: I'm not exactly sure I've seen all the bugs, but at least the js event handlers are not attached anymore after the page is loaded from the navigation cache (or however it's called). In addition to that (but not quite reducible) I have seen that the entire svg is hidden on navigating back - but I can't reliably reproduce that. Proposed solution: If the page is served from a fast cache that makes no JS execute again on returning to the previous page, then that page needs to retain all the js event handlers - or it needs to trigger an actual reload.