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 /** | 7 /** |
8 * @return {number} Width of a scrollbar in pixels | 8 * @return {number} Width of a scrollbar in pixels |
9 */ | 9 */ |
10 function getScrollbarWidth() { | 10 function getScrollbarWidth() { |
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
248 document.addEventListener('mousemove', this.handleMouseEvent_.bind(this)); | 248 document.addEventListener('mousemove', this.handleMouseEvent_.bind(this)); |
249 | 249 |
250 // Parse open pdf parameters. | 250 // Parse open pdf parameters. |
251 this.paramsParser_ = | 251 this.paramsParser_ = |
252 new OpenPDFParamsParser(this.getNamedDestination_.bind(this)); | 252 new OpenPDFParamsParser(this.getNamedDestination_.bind(this)); |
253 this.navigator_ = new Navigator(this.browserApi_.getStreamInfo().originalUrl, | 253 this.navigator_ = new Navigator(this.browserApi_.getStreamInfo().originalUrl, |
254 this.viewport_, this.paramsParser_, | 254 this.viewport_, this.paramsParser_, |
255 onNavigateInCurrentTab, onNavigateInNewTab); | 255 onNavigateInCurrentTab, onNavigateInNewTab); |
256 this.viewportScroller_ = | 256 this.viewportScroller_ = |
257 new ViewportScroller(this.viewport_, this.plugin_, window); | 257 new ViewportScroller(this.viewport_, this.plugin_, window); |
| 258 |
| 259 // Request translated strings. |
| 260 chrome.resourcesPrivate.getStrings('pdf', this.handleStrings_.bind(this)); |
258 } | 261 } |
259 | 262 |
260 PDFViewer.prototype = { | 263 PDFViewer.prototype = { |
261 /** | 264 /** |
262 * @private | 265 * @private |
263 * Handle key events. These may come from the user directly or via the | 266 * Handle key events. These may come from the user directly or via the |
264 * scripting API. | 267 * scripting API. |
265 * @param {KeyboardEvent} e the event to handle. | 268 * @param {KeyboardEvent} e the event to handle. |
266 */ | 269 */ |
267 handleKeyEvent_: function(e) { | 270 handleKeyEvent_: function(e) { |
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
532 while (this.delayedScriptingMessages_.length > 0) | 535 while (this.delayedScriptingMessages_.length > 0) |
533 this.handleScriptingMessage(this.delayedScriptingMessages_.shift()); | 536 this.handleScriptingMessage(this.delayedScriptingMessages_.shift()); |
534 | 537 |
535 if (this.isMaterial_) | 538 if (this.isMaterial_) |
536 this.toolbarManager_.hideToolbarsAfterTimeout(); | 539 this.toolbarManager_.hideToolbarsAfterTimeout(); |
537 } | 540 } |
538 }, | 541 }, |
539 | 542 |
540 /** | 543 /** |
541 * @private | 544 * @private |
| 545 * Load a dictionary of translated strings into the UI. Used as a callback for |
| 546 * chrome.resourcesPrivate. |
| 547 * @param {Object} strings Dictionary of translated strings |
| 548 */ |
| 549 handleStrings_: function(strings) { |
| 550 this.passwordScreen_.text = strings.passwordPrompt; |
| 551 if (!this.isMaterial_) { |
| 552 this.progressBar_.text = strings.pageLoading; |
| 553 if (!this.isPrintPreview_) |
| 554 this.progressBar_.style.visibility = 'visible'; |
| 555 } |
| 556 this.errorScreen_.text = strings.pageLoadFailed; |
| 557 }, |
| 558 |
| 559 /** |
| 560 * @private |
542 * An event handler for handling password-submitted events. These are fired | 561 * An event handler for handling password-submitted events. These are fired |
543 * when an event is entered into the password screen. | 562 * when an event is entered into the password screen. |
544 * @param {Object} event a password-submitted event. | 563 * @param {Object} event a password-submitted event. |
545 */ | 564 */ |
546 onPasswordSubmitted_: function(event) { | 565 onPasswordSubmitted_: function(event) { |
547 this.plugin_.postMessage({ | 566 this.plugin_.postMessage({ |
548 type: 'getPasswordComplete', | 567 type: 'getPasswordComplete', |
549 password: event.detail.password | 568 password: event.detail.password |
550 }); | 569 }); |
551 }, | 570 }, |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
611 this.navigator_.navigate(message.data.url, message.data.newTab); | 630 this.navigator_.navigate(message.data.url, message.data.newTab); |
612 break; | 631 break; |
613 case 'setScrollPosition': | 632 case 'setScrollPosition': |
614 var position = this.viewport_.position; | 633 var position = this.viewport_.position; |
615 if (message.data.x !== undefined) | 634 if (message.data.x !== undefined) |
616 position.x = message.data.x; | 635 position.x = message.data.x; |
617 if (message.data.y !== undefined) | 636 if (message.data.y !== undefined) |
618 position.y = message.data.y; | 637 position.y = message.data.y; |
619 this.viewport_.position = position; | 638 this.viewport_.position = position; |
620 break; | 639 break; |
621 case 'setTranslatedStrings': | |
622 this.passwordScreen_.text = message.data.getPasswordString; | |
623 if (!this.isMaterial_) { | |
624 this.progressBar_.text = message.data.loadingString; | |
625 if (!this.isPrintPreview_) | |
626 this.progressBar_.style.visibility = 'visible'; | |
627 } | |
628 this.errorScreen_.text = message.data.loadFailedString; | |
629 break; | |
630 case 'cancelStreamUrl': | 640 case 'cancelStreamUrl': |
631 chrome.mimeHandlerPrivate.abortStream(); | 641 chrome.mimeHandlerPrivate.abortStream(); |
632 break; | 642 break; |
633 case 'metadata': | 643 case 'metadata': |
634 if (message.data.title) { | 644 if (message.data.title) { |
635 document.title = message.data.title; | 645 document.title = message.data.title; |
636 } else { | 646 } else { |
637 document.title = | 647 document.title = |
638 getFilenameFromURL(this.browserApi_.getStreamInfo().originalUrl); | 648 getFilenameFromURL(this.browserApi_.getStreamInfo().originalUrl); |
639 } | 649 } |
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
872 * Each bookmark is an Object containing a: | 882 * Each bookmark is an Object containing a: |
873 * - title | 883 * - title |
874 * - page (optional) | 884 * - page (optional) |
875 * - array of children (themselves bookmarks) | 885 * - array of children (themselves bookmarks) |
876 * @type {Array} the top-level bookmarks of the PDF. | 886 * @type {Array} the top-level bookmarks of the PDF. |
877 */ | 887 */ |
878 get bookmarks() { | 888 get bookmarks() { |
879 return this.bookmarks_; | 889 return this.bookmarks_; |
880 } | 890 } |
881 }; | 891 }; |
OLD | NEW |