Chromium Code Reviews| Index: chrome/browser/resources/pdf/pdf.js |
| diff --git a/chrome/browser/resources/pdf/pdf.js b/chrome/browser/resources/pdf/pdf.js |
| index 97b7fa095aed2354f975e821e937f50c8b7af3ba..ef52bbb9045d4f8221ff9835c60b946113cf32a8 100644 |
| --- a/chrome/browser/resources/pdf/pdf.js |
| +++ b/chrome/browser/resources/pdf/pdf.js |
| @@ -197,6 +197,23 @@ function PDFViewer(browserApi) { |
| PDFViewer.prototype = { |
| /** |
| * @private |
| + * Whether keydown events should currently be ignored. Events are ignored when |
| + * an editable element has focus, to allow for proper editing controls. |
| + * @return {boolean} True if keydown events should be ignored. |
| + */ |
| + shouldIgnoreKeyEvents_: function() { |
| + var activeElement = document.activeElement; |
| + while (activeElement.shadowRoot != null) { |
| + activeElement = activeElement.shadowRoot.activeElement; |
| + } |
|
raymes
2015/06/02 01:12:04
nit: no {} to be consistent
tsergeant
2015/06/02 05:00:39
Done.
|
| + |
| + return (activeElement.isContentEditable || |
| + activeElement.tagName == 'INPUT' || |
| + activeElement.tagName == 'TEXTAREA'); |
| + }, |
|
raymes
2015/06/02 01:12:03
We should be able to move this out of PDFViewer an
tsergeant
2015/06/02 05:00:39
Done.
|
| + |
| + /** |
| + * @private |
| * Handle key events. These may come from the user directly or via the |
| * scripting API. |
| * @param {KeyboardEvent} e the event to handle. |
| @@ -206,6 +223,8 @@ PDFViewer.prototype = { |
| // Certain scroll events may be sent from outside of the extension. |
| var fromScriptingAPI = e.fromScriptingAPI; |
| + if (this.shouldIgnoreKeyEvents_() || e.defaultPrevented) return; |
|
raymes
2015/06/02 01:12:03
nit: return on a newline
tsergeant
2015/06/02 05:00:39
Done.
|
| + |
| var pageUpHandler = function() { |
| // Go to the previous page if we are fit-to-page. |
| if (this.viewport_.fittingType == Viewport.FittingType.FIT_TO_PAGE) { |