[Webkit-unassigned] [Bug 156115] Remove arbitrary limit on pushState and replaceState

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Apr 4 09:58:12 PDT 2016


--- Comment #2 from James Keane <james.keane at flipp.com> ---
(In reply to comment #1)

> The current history item really only needs to be updated exactly once - Right before the current history item moves to a new history item.

While that may be the case, it goes against the spirit of the API i.e. of allowing the state or URL to be replaced when convenient, otherwise why provide a method at all?

What you are describing may in fact be a better way to fix this issue in WebKit itself while hiding platform specific memory limitations.

Not being familiar with WebKit myself, how is this:
> for(var i = 0; i < 1000; i++) document.location.hash = String(i);
limited, protected, or otherwise made 'safe' in a similar manner?

As for Section 7.7.4 it states (emphasis mine):
> In addition, a user agent could *ignore calls* to pushState() that are invoked on a timer, or from event listeners that are not triggered in response to a clear user action, or that are invoked in rapid succession.

Which is *not* WebKit's behaviour in this case, as it is not merely ignoring those calls.

Also in Section 7.7.4, the paragraph you reference, labelled 'Security', is discussing history hijacking, in which a nefarious page prevents a user from using the back button to leave a page; which does not appear relevant to this discussion.

You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20160404/39c523f6/attachment-0001.html>

More information about the webkit-unassigned mailing list