Summary: | undo manager retains RefPtr to nodes in documents that would otherwise have been GC'ed | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Ryosuke Niwa <rniwa> | ||||
Component: | HTML Editing | Assignee: | Ryosuke Niwa <rniwa> | ||||
Status: | NEW --- | ||||||
Severity: | Normal | CC: | abarth, ap, cmarcelo, darin, enrica, gregsimon, sam | ||||
Priority: | P2 | ||||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Bug Depends on: | |||||||
Bug Blocks: | 74059 | ||||||
Attachments: |
|
Description
Ryosuke Niwa
2012-02-19 14:04:07 PST
Since none of our editing actions do cross-frame editing, we should be able to delete all UndoStep objects that belong to an unloaded frame. When are the undo steps currently cleared? (In reply to comment #2) > When are the undo steps currently cleared? It's cleared when the page is unloaded in FrameLoader::closeURL. Created attachment 127761 [details]
proof of concept wip patch
Comment on attachment 127761 [details]
proof of concept wip patch
Here's my attempt to mitigate this issue. I'm removing all undo step objects when the frame is destroyed. For Mac port, this can be done by creating targets for each "host" document and then removing all targets when the corresponding frame is destroyed.
I probably need to hash out the details but it compiles & loads pages as is.
|