Bug 257269 - Speedometer 3 hits Webkit's replaceState/pushState limits
Summary: Speedometer 3 hits Webkit's replaceState/pushState limits
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: History (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Ryosuke Niwa
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2023-05-24 11:00 PDT by Ryosuke Niwa
Modified: 2023-05-24 18:23 PDT (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ryosuke Niwa 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?
Comment 1 Geoffrey Garen 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.
Comment 2 Ryosuke Niwa 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.
Comment 3 Ryosuke Niwa 2023-05-24 12:26:55 PDT
Pull request: https://github.com/WebKit/WebKit/pull/14301
Comment 4 EWS 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.
Comment 5 Radar WebKit Bug Importer 2023-05-24 18:23:17 PDT
<rdar://problem/109806715>