[GeckoView] Ignore Scroll/Spread-modes in the PDFViewer
setters
Rather than sprinkling pre-processor statements throughout the viewer-code, simply "disable" the relevant `PDFViewer` setters instead. Also, given that the GeckoView-specific viewer doesn't have a sidebar we don't actually need to explicitly ignore a `pageMode` during loading.
This commit is contained in:
parent
03059e1f86
commit
cca299eeb9
32
web/app.js
32
web/app.js
@ -1281,28 +1281,20 @@ const PDFViewerApplication = {
|
||||
spreadMode = stored.spreadMode | 0;
|
||||
}
|
||||
}
|
||||
// NOTE: Ignore the pageMode/pageLayout in GeckoView since there's no
|
||||
// sidebar available, nor any UI for changing the Scroll/Spread modes.
|
||||
// Always let the user preference/view history take precedence.
|
||||
if (pageMode && sidebarView === SidebarView.UNKNOWN) {
|
||||
sidebarView = apiPageModeToSidebarView(pageMode);
|
||||
}
|
||||
if (
|
||||
typeof PDFJSDev === "undefined"
|
||||
? !window.isGECKOVIEW
|
||||
: !PDFJSDev.test("GECKOVIEW")
|
||||
pageLayout &&
|
||||
scrollMode === ScrollMode.UNKNOWN &&
|
||||
spreadMode === SpreadMode.UNKNOWN
|
||||
) {
|
||||
// Always let the user preference/view history take precedence.
|
||||
if (pageMode && sidebarView === SidebarView.UNKNOWN) {
|
||||
sidebarView = apiPageModeToSidebarView(pageMode);
|
||||
}
|
||||
if (
|
||||
pageLayout &&
|
||||
scrollMode === ScrollMode.UNKNOWN &&
|
||||
spreadMode === SpreadMode.UNKNOWN
|
||||
) {
|
||||
const modes = apiPageLayoutToViewerModes(pageLayout);
|
||||
// TODO: Try to improve page-switching when using the mouse-wheel
|
||||
// and/or arrow-keys before allowing the document to control this.
|
||||
// scrollMode = modes.scrollMode;
|
||||
spreadMode = modes.spreadMode;
|
||||
}
|
||||
const modes = apiPageLayoutToViewerModes(pageLayout);
|
||||
// TODO: Try to improve page-switching when using the mouse-wheel
|
||||
// and/or arrow-keys before allowing the document to control this.
|
||||
// scrollMode = modes.scrollMode;
|
||||
spreadMode = modes.spreadMode;
|
||||
}
|
||||
|
||||
this.setInitialView(hash, {
|
||||
|
@ -265,21 +265,13 @@ class PDFScriptingManager {
|
||||
case "error":
|
||||
console.error(value);
|
||||
break;
|
||||
case "layout": {
|
||||
// NOTE: Always ignore the pageLayout in GeckoView since there's
|
||||
// no UI available to change Scroll/Spread modes for the user.
|
||||
if (
|
||||
(typeof PDFJSDev === "undefined"
|
||||
? window.isGECKOVIEW
|
||||
: PDFJSDev.test("GECKOVIEW")) ||
|
||||
isInPresentationMode
|
||||
) {
|
||||
case "layout":
|
||||
if (isInPresentationMode) {
|
||||
return;
|
||||
}
|
||||
const modes = apiPageLayoutToViewerModes(value);
|
||||
this._pdfViewer.spreadMode = modes.spreadMode;
|
||||
break;
|
||||
}
|
||||
case "page-num":
|
||||
this._pdfViewer.currentPageNumber = value + 1;
|
||||
break;
|
||||
|
@ -1842,6 +1842,15 @@ class PDFViewer {
|
||||
* The constants from {ScrollMode} should be used.
|
||||
*/
|
||||
set scrollMode(mode) {
|
||||
if (
|
||||
typeof PDFJSDev === "undefined"
|
||||
? window.isGECKOVIEW
|
||||
: PDFJSDev.test("GECKOVIEW")
|
||||
) {
|
||||
// NOTE: Always ignore the pageLayout in GeckoView since there's
|
||||
// no UI available to change Scroll/Spread modes for the user.
|
||||
return;
|
||||
}
|
||||
if (this._scrollMode === mode) {
|
||||
return; // The Scroll mode didn't change.
|
||||
}
|
||||
@ -1903,6 +1912,15 @@ class PDFViewer {
|
||||
* The constants from {SpreadMode} should be used.
|
||||
*/
|
||||
set spreadMode(mode) {
|
||||
if (
|
||||
typeof PDFJSDev === "undefined"
|
||||
? window.isGECKOVIEW
|
||||
: PDFJSDev.test("GECKOVIEW")
|
||||
) {
|
||||
// NOTE: Always ignore the pageLayout in GeckoView since there's
|
||||
// no UI available to change Scroll/Spread modes for the user.
|
||||
return;
|
||||
}
|
||||
if (this._spreadMode === mode) {
|
||||
return; // The Spread mode didn't change.
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user