[PDFHistory] Correctly simulate an internal destination in the pushPage
-method (PR 12493 follow-up)
The intention, in PR 12493, was that the page we're adding to the browser history should behave as if it were a "regular" internal destination (to properly convey user intent).
Unfortunately, since I didn't consider all the edge-cases correctly, it ended up behaving like a URL-hash instead which obviously wasn't intended. Note that currently this isn't a problem, however it can become an issue (in some cases) with upcoming re-factoring around `PDFHistory` and OpenAction support[1].
---
[1] I've started working on fixing the following TODO, which will require a couple of smaller tweaks here and there: 9d0ce6e79f/web/app.js (L1680-L1681)
This commit is contained in:
parent
685a60055e
commit
a10f87c7ea
@ -292,6 +292,8 @@ class PDFHistory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
this._pushOrReplaceState({
|
this._pushOrReplaceState({
|
||||||
|
// Simulate an internal destination, for `this._tryPushCurrentPosition`:
|
||||||
|
dest: null,
|
||||||
hash: `page=${pageNumber}`,
|
hash: `page=${pageNumber}`,
|
||||||
page: pageNumber,
|
page: pageNumber,
|
||||||
rotation: this.linkService.rotation,
|
rotation: this.linkService.rotation,
|
||||||
@ -458,7 +460,7 @@ class PDFHistory {
|
|||||||
// - contains an internal destination, since in this case we
|
// - contains an internal destination, since in this case we
|
||||||
// cannot ensure that the document position has actually changed.
|
// cannot ensure that the document position has actually changed.
|
||||||
// - was set through the user changing the hash of the document.
|
// - was set through the user changing the hash of the document.
|
||||||
if (this._destination.dest || !this._destination.first) {
|
if (this._destination.dest !== undefined || !this._destination.first) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// To avoid "flooding" the browser history, replace the current entry.
|
// To avoid "flooding" the browser history, replace the current entry.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user