[Pkg-javascript-commits] [pdf.js] 02/174: [Firefox] Handle the user modifying the "mousewheel.with_meta.action" and "mousewheel.with_control.action" prefs (bug 1170063)
David Prévot
taffit at moszumanska.debian.org
Thu Nov 19 18:44:57 UTC 2015
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch master
in repository pdf.js.
commit 633d51fc222f40bd9da8271b2c346dac1d936f93
Author: Jonas Jenwald <jonas.jenwald at gmail.com>
Date: Tue Jun 2 13:17:02 2015 +0200
[Firefox] Handle the user modifying the "mousewheel.with_meta.action" and "mousewheel.with_control.action" prefs (bug 1170063)
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1170063.
The bug only mentions the <kbd>Meta</kbd> key, but given that a similar situation can occur for <kbd>Ctrl</kbd>, it seemed reasonable to also handle that case in the same patch.
The only possible caveat with the patch is that because of the use of `shadow`, things won't work perfectly if either of the prefs are changed *while* the viewer is active. In this case a reload is required in order for it to work correctly, but given that the issue this patch fixes should be quite rare anyway, that seems OK.
---
extensions/firefox/content/PdfStreamConverter.jsm | 6 ++++++
web/viewer.js | 17 +++++++++++++++++
2 files changed, 23 insertions(+)
diff --git a/extensions/firefox/content/PdfStreamConverter.jsm b/extensions/firefox/content/PdfStreamConverter.jsm
index 14b12be..0e91716 100644
--- a/extensions/firefox/content/PdfStreamConverter.jsm
+++ b/extensions/firefox/content/PdfStreamConverter.jsm
@@ -423,6 +423,12 @@ ChromeActions.prototype = {
}
return true;
},
+ supportedMouseWheelZoomModifierKeys: function() {
+ return {
+ ctrlKey: getIntPref('mousewheel.with_control.action', 3) === 3,
+ metaKey: getIntPref('mousewheel.with_meta.action', 1) === 3,
+ };
+ },
reportTelemetry: function (data) {
var probeInfo = JSON.parse(data);
switch (probeInfo.type) {
diff --git a/web/viewer.js b/web/viewer.js
index 32ed428..53d2984 100644
--- a/web/viewer.js
+++ b/web/viewer.js
@@ -394,6 +394,18 @@ var PDFViewerApplication = {
return PDFJS.shadow(this, 'loadingBar', bar);
},
+ get supportedMouseWheelZoomModifierKeys() {
+ var support = {
+ ctrlKey: true,
+ metaKey: true,
+ };
+//#if (FIREFOX || MOZCENTRAL)
+// support = FirefoxCom.requestSync('supportedMouseWheelZoomModifierKeys');
+//#endif
+
+ return PDFJS.shadow(this, 'supportedMouseWheelZoomModifierKeys', support);
+ },
+
//#if (FIREFOX || MOZCENTRAL)
initPassiveLoading: function pdfViewInitPassiveLoading() {
function FirefoxComDataRangeTransport(length, initialData) {
@@ -1845,6 +1857,11 @@ function handleMouseWheel(evt) {
PDFViewerApplication.scrollPresentationMode(ticks *
MOUSE_WHEEL_DELTA_FACTOR);
} else if (evt.ctrlKey || evt.metaKey) {
+ var support = PDFViewerApplication.supportedMouseWheelZoomModifierKeys;
+ if ((evt.ctrlKey && !support.ctrlKey) ||
+ (evt.metaKey && !support.metaKey)) {
+ return;
+ }
// Only zoom the pages, not the entire viewer.
evt.preventDefault();
PDFViewerApplication[direction](Math.abs(ticks));
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/pdf.js.git
More information about the Pkg-javascript-commits
mailing list