| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 'use strict'; | 5 'use strict'; |
| 6 | 6 |
| 7 <include src="../../../../ui/webui/resources/js/util.js"> | 7 <include src="../../../../ui/webui/resources/js/util.js"> |
| 8 <include src="pdf_scripting_api.js"> | 8 <include src="pdf_scripting_api.js"> |
| 9 <include src="viewport.js"> | 9 <include src="viewport.js"> |
| 10 | 10 |
| (...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 157 * @private | 157 * @private |
| 158 * Handle key events. These may come from the user directly or via the | 158 * Handle key events. These may come from the user directly or via the |
| 159 * scripting API. | 159 * scripting API. |
| 160 * @param {KeyboardEvent} e the event to handle. | 160 * @param {KeyboardEvent} e the event to handle. |
| 161 */ | 161 */ |
| 162 handleKeyEvent_: function(e) { | 162 handleKeyEvent_: function(e) { |
| 163 var position = this.viewport_.position; | 163 var position = this.viewport_.position; |
| 164 // Certain scroll events may be sent from outside of the extension. | 164 // Certain scroll events may be sent from outside of the extension. |
| 165 var fromScriptingAPI = e.type == 'scriptingKeypress'; | 165 var fromScriptingAPI = e.type == 'scriptingKeypress'; |
| 166 | 166 |
| 167 var pageUpHandler = function() { |
| 168 // Go to the previous page if we are fit-to-page. |
| 169 if (this.viewport_.fittingType == Viewport.FittingType.FIT_TO_PAGE) { |
| 170 this.viewport_.goToPage(this.viewport_.getMostVisiblePage() - 1); |
| 171 // Since we do the movement of the page. |
| 172 e.preventDefault(); |
| 173 } else if (fromScriptingAPI) { |
| 174 position.y -= this.viewport.size.height; |
| 175 this.viewport.position = position; |
| 176 } |
| 177 }; |
| 178 var pageDownHandler = function() { |
| 179 // Go to the next page if we are fit-to-page. |
| 180 if (this.viewport_.fittingType == Viewport.FittingType.FIT_TO_PAGE) { |
| 181 this.viewport_.goToPage(this.viewport_.getMostVisiblePage() + 1); |
| 182 // Since we do the movement of the page. |
| 183 e.preventDefault(); |
| 184 } else if (fromScriptingAPI) { |
| 185 position.y += this.viewport.size.height; |
| 186 this.viewport.position = position; |
| 187 } |
| 188 }; |
| 189 |
| 167 switch (e.keyCode) { | 190 switch (e.keyCode) { |
| 191 case 32: // Space key. |
| 192 if (e.shiftKey) |
| 193 pageUpHandler(); |
| 194 else |
| 195 pageDownHandler(); |
| 196 return; |
| 168 case 33: // Page up key. | 197 case 33: // Page up key. |
| 169 // Go to the previous page if we are fit-to-page. | 198 pageUpHandler(); |
| 170 if (this.viewport_.fittingType == Viewport.FittingType.FIT_TO_PAGE) { | |
| 171 this.viewport_.goToPage(this.viewport_.getMostVisiblePage() - 1); | |
| 172 // Since we do the movement of the page. | |
| 173 e.preventDefault(); | |
| 174 } else if (fromScriptingAPI) { | |
| 175 position.y -= this.viewport.size.height; | |
| 176 this.viewport.position = position; | |
| 177 } | |
| 178 return; | 199 return; |
| 179 case 34: // Page down key. | 200 case 34: // Page down key. |
| 180 // Go to the next page if we are fit-to-page. | 201 pageDownHandler(); |
| 181 if (this.viewport_.fittingType == Viewport.FittingType.FIT_TO_PAGE) { | |
| 182 this.viewport_.goToPage(this.viewport_.getMostVisiblePage() + 1); | |
| 183 // Since we do the movement of the page. | |
| 184 e.preventDefault(); | |
| 185 } else if (fromScriptingAPI) { | |
| 186 position.y += this.viewport.size.height; | |
| 187 this.viewport.position = position; | |
| 188 } | |
| 189 return; | 202 return; |
| 190 case 37: // Left arrow key. | 203 case 37: // Left arrow key. |
| 191 // Go to the previous page if there are no horizontal scrollbars. | 204 // Go to the previous page if there are no horizontal scrollbars. |
| 192 if (!this.viewport_.documentHasScrollbars().x) { | 205 if (!this.viewport_.documentHasScrollbars().x) { |
| 193 this.viewport_.goToPage(this.viewport_.getMostVisiblePage() - 1); | 206 this.viewport_.goToPage(this.viewport_.getMostVisiblePage() - 1); |
| 194 // Since we do the movement of the page. | 207 // Since we do the movement of the page. |
| 195 e.preventDefault(); | 208 e.preventDefault(); |
| 196 } else if (fromScriptingAPI) { | 209 } else if (fromScriptingAPI) { |
| 197 position.x -= Viewport.SCROLL_INCREMENT; | 210 position.x -= Viewport.SCROLL_INCREMENT; |
| 198 this.viewport.position = position; | 211 this.viewport.position = position; |
| (...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 526 | 539 |
| 527 /** | 540 /** |
| 528 * @type {Viewport} the viewport of the PDF viewer. | 541 * @type {Viewport} the viewport of the PDF viewer. |
| 529 */ | 542 */ |
| 530 get viewport() { | 543 get viewport() { |
| 531 return this.viewport_; | 544 return this.viewport_; |
| 532 } | 545 } |
| 533 }; | 546 }; |
| 534 | 547 |
| 535 var viewer = new PDFViewer(); | 548 var viewer = new PDFViewer(); |
| OLD | NEW |