Commit e20e37c9 authored by dpapad's avatar dpapad Committed by Chromium LUCI CQ

PDF Viewer: Disable numpad zoom shortcuts in Presentation mode.

Bug: 1148478
Change-Id: Id3ac41a61fa0a16906b848511d337c4278da5c59
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2586839Reviewed-by: default avatarJohn Lee <johntlee@chromium.org>
Commit-Queue: dpapad <dpapad@chromium.org>
Cr-Commit-Position: refs/heads/master@{#836658}
parent f56eaabe
...@@ -497,7 +497,8 @@ export class PDFViewerElement extends PDFViewerBaseElement { ...@@ -497,7 +497,8 @@ export class PDFViewerElement extends PDFViewerBaseElement {
// <if expr="is_macosx"> // <if expr="is_macosx">
hasModifier = e.metaKey; hasModifier = e.metaKey;
// </if> // </if>
if (hasModifier && (e.key === '=' || e.key === '-')) { // Handle '+' and '-' buttons (both in the numpad and elsewhere).
if (hasModifier && (e.key === '=' || e.key === '-' || e.key === '+')) {
e.preventDefault(); e.preventDefault();
} }
......
...@@ -6,7 +6,7 @@ import {eventToPromise} from 'chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehja ...@@ -6,7 +6,7 @@ import {eventToPromise} from 'chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehja
import {FittingType} from 'chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/constants.js'; import {FittingType} from 'chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/constants.js';
import {PDFViewerElement} from 'chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/pdf_viewer.js'; import {PDFViewerElement} from 'chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/pdf_viewer.js';
import {isMac} from 'chrome://resources/js/cr.m.js'; import {isMac} from 'chrome://resources/js/cr.m.js';
import {pressAndReleaseKeyOn} from 'chrome://resources/polymer/v3_0/iron-test-helpers/mock-interactions.js'; import {keyDownOn} from 'chrome://resources/polymer/v3_0/iron-test-helpers/mock-interactions.js';
import {createWheelEvent} from './test_util.js'; import {createWheelEvent} from './test_util.js';
...@@ -49,9 +49,9 @@ const tests = [ ...@@ -49,9 +49,9 @@ const tests = [
async function testRotateKeyboardShortcutsDisabled() { async function testRotateKeyboardShortcutsDisabled() {
await ensureFullscreen(); await ensureFullscreen();
chrome.test.assertEq(0, viewer.viewport.getClockwiseRotations()); chrome.test.assertEq(0, viewer.viewport.getClockwiseRotations());
pressAndReleaseKeyOn(viewer, 0, 'ctrl', '['); keyDownOn(viewer, 0, 'ctrl', '[');
chrome.test.assertEq(0, viewer.viewport.getClockwiseRotations()); chrome.test.assertEq(0, viewer.viewport.getClockwiseRotations());
pressAndReleaseKeyOn(viewer, 0, 'ctrl', ']'); keyDownOn(viewer, 0, 'ctrl', ']');
chrome.test.assertEq(0, viewer.viewport.getClockwiseRotations()); chrome.test.assertEq(0, viewer.viewport.getClockwiseRotations());
chrome.test.succeed(); chrome.test.succeed();
}, },
...@@ -76,30 +76,30 @@ const tests = [ ...@@ -76,30 +76,30 @@ const tests = [
chrome.test.assertEq(0, viewer.viewport.getMostVisiblePage()); chrome.test.assertEq(0, viewer.viewport.getMostVisiblePage());
// Test arrow keys. // Test arrow keys.
pressAndReleaseKeyOn(viewer, 0, '', 'ArrowDown'); keyDownOn(viewer, 0, '', 'ArrowDown');
chrome.test.assertEq(1, viewer.viewport.getMostVisiblePage()); chrome.test.assertEq(1, viewer.viewport.getMostVisiblePage());
pressAndReleaseKeyOn(viewer, 0, '', 'ArrowUp'); keyDownOn(viewer, 0, '', 'ArrowUp');
chrome.test.assertEq(0, viewer.viewport.getMostVisiblePage()); chrome.test.assertEq(0, viewer.viewport.getMostVisiblePage());
pressAndReleaseKeyOn(viewer, 0, '', 'ArrowRight'); keyDownOn(viewer, 0, '', 'ArrowRight');
chrome.test.assertEq(1, viewer.viewport.getMostVisiblePage()); chrome.test.assertEq(1, viewer.viewport.getMostVisiblePage());
pressAndReleaseKeyOn(viewer, 0, '', 'ArrowLeft'); keyDownOn(viewer, 0, '', 'ArrowLeft');
chrome.test.assertEq(0, viewer.viewport.getMostVisiblePage()); chrome.test.assertEq(0, viewer.viewport.getMostVisiblePage());
// Test Space key. // Test Space key.
pressAndReleaseKeyOn(viewer, 0, '', ' '); keyDownOn(viewer, 0, '', ' ');
chrome.test.assertEq(1, viewer.viewport.getMostVisiblePage()); chrome.test.assertEq(1, viewer.viewport.getMostVisiblePage());
pressAndReleaseKeyOn(viewer, 0, 'shift', ' '); keyDownOn(viewer, 0, 'shift', ' ');
chrome.test.assertEq(0, viewer.viewport.getMostVisiblePage()); chrome.test.assertEq(0, viewer.viewport.getMostVisiblePage());
// Test PageUp/PageDown keys. // Test PageUp/PageDown keys.
pressAndReleaseKeyOn(viewer, 0, '', 'PageDown'); keyDownOn(viewer, 0, '', 'PageDown');
chrome.test.assertEq(1, viewer.viewport.getMostVisiblePage()); chrome.test.assertEq(1, viewer.viewport.getMostVisiblePage());
pressAndReleaseKeyOn(viewer, 0, '', 'PageUp'); keyDownOn(viewer, 0, '', 'PageUp');
chrome.test.assertEq(0, viewer.viewport.getMostVisiblePage()); chrome.test.assertEq(0, viewer.viewport.getMostVisiblePage());
chrome.test.succeed(); chrome.test.succeed();
...@@ -109,15 +109,23 @@ const tests = [ ...@@ -109,15 +109,23 @@ const tests = [
async function keydown(key) { async function keydown(key) {
const whenKeydown = eventToPromise('keydown', viewer); const whenKeydown = eventToPromise('keydown', viewer);
pressAndReleaseKeyOn(viewer, 0, isMac ? 'meta' : 'ctrl', key); keyDownOn(viewer, 0, isMac ? 'meta' : 'ctrl', key);
return await whenKeydown; return await whenKeydown;
} }
// Test case where the '+' button (which co-resides with the '=' button) is
// pressed.
let e = await keydown('='); let e = await keydown('=');
chrome.test.assertTrue(e.defaultPrevented); chrome.test.assertTrue(e.defaultPrevented);
// Test case where the '-' button is pressed.
e = await keydown('-'); e = await keydown('-');
chrome.test.assertTrue(e.defaultPrevented); chrome.test.assertTrue(e.defaultPrevented);
// Test case where the '+' button (in the numpad) is pressed.
e = await keydown('+');
chrome.test.assertTrue(e.defaultPrevented);
chrome.test.succeed(); chrome.test.succeed();
}, },
]; ];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment