Commit 95547ceb authored by dpapad's avatar dpapad Committed by Chromium LUCI CQ

PDF Viewer: Disable zoom in/out shortcuts in Presentation mode.

Bug: 1148478
Change-Id: I4cfaac4bf9c81993592e4e191957d2eab21b1002
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2580184Reviewed-by: default avatarJohn Lee <johntlee@chromium.org>
Commit-Queue: dpapad <dpapad@chromium.org>
Cr-Commit-Position: refs/heads/master@{#835327}
parent 9aac6f8a
...@@ -491,8 +491,17 @@ export class PDFViewerElement extends PDFViewerBaseElement { ...@@ -491,8 +491,17 @@ export class PDFViewerElement extends PDFViewerBaseElement {
return; return;
} }
// Disable further key handling when in Presentation mode.
if (document.fullscreenElement !== null) { if (document.fullscreenElement !== null) {
// Disable zoom shortcuts in Presentation mode.
let hasModifier = e.ctrlKey;
// <if expr="is_macosx">
hasModifier = e.metaKey;
// </if>
if (hasModifier && (e.key === '=' || e.key === '-')) {
e.preventDefault();
}
// Disable further key handling when in Presentation mode.
return; return;
} }
......
...@@ -135,6 +135,7 @@ js_library("fullscreen_test") { ...@@ -135,6 +135,7 @@ js_library("fullscreen_test") {
"//chrome/browser/resources/pdf:constants", "//chrome/browser/resources/pdf:constants",
"//chrome/browser/resources/pdf:pdf_viewer", "//chrome/browser/resources/pdf:pdf_viewer",
"//third_party/polymer/v3_0/components-chromium/iron-test-helpers:mock-interactions", "//third_party/polymer/v3_0/components-chromium/iron-test-helpers:mock-interactions",
"//ui/webui/resources/js:cr.m",
] ]
externs_list = [ "$externs_path/test.js" ] externs_list = [ "$externs_path/test.js" ]
} }
......
...@@ -5,7 +5,9 @@ ...@@ -5,7 +5,9 @@
import {eventToPromise} from 'chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/_test_resources/webui/test_util.m.js'; import {eventToPromise} from 'chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/_test_resources/webui/test_util.m.js';
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 {pressAndReleaseKeyOn} from 'chrome://resources/polymer/v3_0/iron-test-helpers/mock-interactions.js'; import {pressAndReleaseKeyOn} from 'chrome://resources/polymer/v3_0/iron-test-helpers/mock-interactions.js';
import {createWheelEvent} from './test_util.js'; import {createWheelEvent} from './test_util.js';
const viewer = /** @type {!PDFViewerElement} */ ( const viewer = /** @type {!PDFViewerElement} */ (
...@@ -101,7 +103,23 @@ const tests = [ ...@@ -101,7 +103,23 @@ const tests = [
chrome.test.assertEq(0, viewer.viewport.getMostVisiblePage()); chrome.test.assertEq(0, viewer.viewport.getMostVisiblePage());
chrome.test.succeed(); chrome.test.succeed();
} },
async function testZoomKeyboardShortcutsDisabled() {
await ensureFullscreen();
async function keydown(key) {
const whenKeydown = eventToPromise('keydown', viewer);
pressAndReleaseKeyOn(viewer, 0, isMac ? 'meta' : 'ctrl', key);
return await whenKeydown;
}
let e = await keydown('=');
chrome.test.assertTrue(e.defaultPrevented);
e = await keydown('-');
chrome.test.assertTrue(e.defaultPrevented);
chrome.test.succeed();
},
]; ];
chrome.test.runTests(tests); chrome.test.runTests(tests);
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