RESOLVED FIXED 268410
Limit size of target string stored in serialized session state
https://bugs.webkit.org/show_bug.cgi?id=268410
Summary Limit size of target string stored in serialized session state
Ben Nham
Reported 2024-01-30 14:13:56 PST
We've seen some MobileSafari launches that take a long time during session restoration because the _WKSessionState object contains a back/forward list item with an absurdly large target string (like >500KB in size).
Attachments
Ben Nham
Comment 1 2024-01-30 14:14:12 PST
Ben Nham
Comment 2 2024-01-30 14:21:41 PST
EWS
Comment 3 2024-01-30 21:35:29 PST
Committed 273810@main (624a3d6250ec): <https://commits.webkit.org/273810@main> Reviewed commits have been landed. Closing PR #23537 and removing active labels.
Michael Catanzaro
Comment 4 2024-02-08 06:56:50 PST
This looks very similar to bug #264879, but unfortunately the patch that landed here is Mac-specific and therefore cannot help with that bug. (In reply to Ben Nham from comment #0) > We've seen some MobileSafari launches that take a long time during session > restoration I think this patch also doesn't help mobile Safari? It is a Mac-specific file, not a Cocoa file. It shouldn't be used on iOS. If it's used on iOS, then it's in the wrong location.
Ben Nham
Comment 5 2024-02-08 09:03:02 PST
> unfortunately the patch that landed here is Mac-specific and therefore cannot help with that bug Despite the name of this file, it compiles on all Cocoa platforms.
Ben Nham
Comment 6 2024-02-08 09:11:07 PST
That said I think if you want a fix for GTK then you'll probably have to do a platform-specific change for now given the structure of the code at the moment. For Cocoa, after looking at this some more, there are even more issues in the way this old code handles deserialization of >2MB session states. But we're going to fix that in the future. See https://bugs.webkit.org/show_bug.cgi?id=268994.
Michael Catanzaro
Comment 7 2024-02-08 09:21:26 PST
(In reply to Ben Nham from comment #5) > Despite the name of this file, it compiles on all Cocoa platforms. Well the file name is actually OK, just the location is not. It should move from Source/WebKit/UIProcess/mac to Source/WebKit/UIProcess/Cocoa. (Unfortunately moving files is hard without XCode, so I won't attempt this myself.)
Note You need to log in before you can comment on or make changes to this bug.