Bug 257269

Summary: Speedometer 3 hits Webkit's replaceState/pushState limits
Product: WebKit Reporter: Ryosuke Niwa <rniwa>
Component: HistoryAssignee: Ryosuke Niwa <rniwa>
Status: RESOLVED FIXED    
Severity: Normal CC: achristensen, annevk, beidson, cdumez, ggaren, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Ryosuke Niwa
Reported 2023-05-24 11:00:44 PDT
Speedometer 3 being developed at https://github.com/WebKit/Speedometer is hitting WebKit's 30s limit for replaceState/pushState. Do we really need to limit this at 100 in 30s? Or can the limit be higher like 1000 in 30s?
Attachments
Geoffrey Garen
Comment 1 2023-05-24 11:22:11 PDT
I believe the goal of this limit was to avoid DoS of the UI process, which might include client app behaviors outside WebKit's control, when updating history data structures and UI. As long as a test case for 1000 / 30s, where the payload is the maximum size, does not cause serious responsiveness issues in WebKit browsers, upping the limit is probably fine.
Ryosuke Niwa
Comment 2 2023-05-24 12:24:35 PDT
It seems mildly problematic to have this limit only in WebKit. It can lead to WebKit-only bugs / failures.
Ryosuke Niwa
Comment 3 2023-05-24 12:26:55 PDT
EWS
Comment 4 2023-05-24 18:22:43 PDT
Committed 264499@main (451d10e21bf9): <https://commits.webkit.org/264499@main> Reviewed commits have been landed. Closing PR #14301 and removing active labels.
Radar WebKit Bug Importer
Comment 5 2023-05-24 18:23:17 PDT
Note You need to log in before you can comment on or make changes to this bug.