Skip to content

Commit

Permalink
Fix WidgetAnnotationElement._getKeyModifier to account for Linux
Browse files Browse the repository at this point in the history
Currently the `WidgetAnnotationElement._getKeyModifier` method will always be falsy on Linux, which seems like a simple oversight. Looking at all the other `FeatureTest.platform` accesses we only handle the `isMac`-case specially, and it seems reasonable to do the same thing here.
The reason that this hasn't led to any bug reports is most likely that the `modifier`-property seems completely unused in the scripting-implementation.

Finally, with these changes we can (slightly) simplify the `FeatureTest.platform` implementation.
  • Loading branch information
Snuffleupagus committed Oct 26, 2023
1 parent fbfacf8 commit 069096e
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 4 deletions.
3 changes: 1 addition & 2 deletions src/display/annotation_layer.js
Original file line number Diff line number Diff line change
Expand Up @@ -1018,8 +1018,7 @@ class WidgetAnnotationElement extends AnnotationElement {
}

_getKeyModifier(event) {
const { isWin, isMac } = FeatureTest.platform;
return (isWin && event.ctrlKey) || (isMac && event.metaKey);
return FeatureTest.platform.isMac ? event.metaKey : event.ctrlKey;
}

_setEventListener(element, elementData, baseName, eventName, valueGetter) {
Expand Down
3 changes: 1 addition & 2 deletions src/shared/util.js
Original file line number Diff line number Diff line change
Expand Up @@ -619,10 +619,9 @@ class FeatureTest {
(typeof PDFJSDev === "undefined" || PDFJSDev.test("GENERIC")) &&
typeof navigator === "undefined"
) {
return shadow(this, "platform", { isWin: false, isMac: false });
return shadow(this, "platform", { isMac: false });
}
return shadow(this, "platform", {
isWin: navigator.platform.includes("Win"),
isMac: navigator.platform.includes("Mac"),
});
}
Expand Down

0 comments on commit 069096e

Please sign in to comment.