Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 // TODO(rltoscano): Move data/* into print_preview.data namespace | 5 // TODO(rltoscano): Move data/* into print_preview.data namespace |
| 6 | 6 |
| 7 var localStrings = new LocalStrings(templateData); | 7 var localStrings = new LocalStrings(templateData); |
| 8 | 8 |
| 9 <include src="component.js"/> | 9 <include src="component.js"/> |
| 10 | 10 |
| (...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 278 print_preview.NativeLayer.EventType.SETTINGS_INVALID, | 278 print_preview.NativeLayer.EventType.SETTINGS_INVALID, |
| 279 this.onSettingsInvalid_.bind(this)); | 279 this.onSettingsInvalid_.bind(this)); |
| 280 this.tracker.add( | 280 this.tracker.add( |
| 281 this.nativeLayer_, | 281 this.nativeLayer_, |
| 282 print_preview.NativeLayer.EventType.DISABLE_SCALING, | 282 print_preview.NativeLayer.EventType.DISABLE_SCALING, |
| 283 this.onDisableScaling_.bind(this)); | 283 this.onDisableScaling_.bind(this)); |
| 284 this.tracker.add( | 284 this.tracker.add( |
| 285 this.nativeLayer_, | 285 this.nativeLayer_, |
| 286 print_preview.NativeLayer.EventType.PRIVET_PRINT_FAILED, | 286 print_preview.NativeLayer.EventType.PRIVET_PRINT_FAILED, |
| 287 this.onPrivetPrintFailed_.bind(this)); | 287 this.onPrivetPrintFailed_.bind(this)); |
| 288 | 288 this.tracker.add( |
| 289 this.nativeLayer_, | |
| 290 print_preview.NativeLayer.EventType.MANIPULATE_SETTINGS, | |
| 291 this.onManipulateSettings_.bind(this)); | |
| 289 | 292 |
| 290 this.tracker.add( | 293 this.tracker.add( |
| 291 $('system-dialog-link'), | 294 $('system-dialog-link'), |
| 292 'click', | 295 'click', |
| 293 this.openSystemPrintDialog_.bind(this)); | 296 this.openSystemPrintDialog_.bind(this)); |
| 294 this.tracker.add( | 297 this.tracker.add( |
| 295 $('cloud-print-dialog-link'), | 298 $('cloud-print-dialog-link'), |
| 296 'click', | 299 'click', |
| 297 this.onCloudPrintDialogLinkClick_.bind(this)); | 300 this.onCloudPrintDialogLinkClick_.bind(this)); |
| 298 this.tracker.add( | 301 this.tracker.add( |
| (...skipping 385 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 684 this.isPreviewGenerationInProgress_ = true; | 687 this.isPreviewGenerationInProgress_ = true; |
| 685 }, | 688 }, |
| 686 | 689 |
| 687 /** | 690 /** |
| 688 * Called when the preview area's preview generation is complete. | 691 * Called when the preview area's preview generation is complete. |
| 689 * @private | 692 * @private |
| 690 */ | 693 */ |
| 691 onPreviewGenerationDone_: function() { | 694 onPreviewGenerationDone_: function() { |
| 692 this.isPreviewGenerationInProgress_ = false; | 695 this.isPreviewGenerationInProgress_ = false; |
| 693 this.printHeader_.isPrintButtonEnabled = true; | 696 this.printHeader_.isPrintButtonEnabled = true; |
| 697 if (global['onManipulateSettings']) { | |
|
ivandavid
2014/06/17 22:59:16
This makes it so that the chrome.send() is only us
| |
| 698 chrome.send('UILoadedForTest'); | |
|
Lei Zhang
2014/06/17 23:22:20
Although this is just 1 line, consider putting it
ivandavid
2014/06/18 00:25:59
Done. Made a function in native_layer.js since tha
| |
| 699 } | |
| 694 this.printIfReady_(); | 700 this.printIfReady_(); |
| 695 }, | 701 }, |
| 696 | 702 |
| 697 /** | 703 /** |
| 698 * Called when the preview area's preview failed to load. | 704 * Called when the preview area's preview failed to load. |
| 699 * @private | 705 * @private |
| 700 */ | 706 */ |
| 701 onPreviewGenerationFail_: function() { | 707 onPreviewGenerationFail_: function() { |
| 702 this.isPreviewGenerationInProgress_ = false; | 708 this.isPreviewGenerationInProgress_ = false; |
| 703 this.printHeader_.isPrintButtonEnabled = false; | 709 this.printHeader_.isPrintButtonEnabled = false; |
| (...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 882 * @param {Event} event Event object representing the failure. | 888 * @param {Event} event Event object representing the failure. |
| 883 * @private | 889 * @private |
| 884 */ | 890 */ |
| 885 onPrivetPrintFailed_: function(event) { | 891 onPrivetPrintFailed_: function(event) { |
| 886 console.error('Privet printing failed with error code ' + | 892 console.error('Privet printing failed with error code ' + |
| 887 event.httpError); | 893 event.httpError); |
| 888 this.printHeader_.setErrorMessage( | 894 this.printHeader_.setErrorMessage( |
| 889 localStrings.getString('couldNotPrint')); | 895 localStrings.getString('couldNotPrint')); |
| 890 }, | 896 }, |
| 891 | 897 |
| 898 onManipulateSettings_: function(event) { | |
| 899 if (event.messageName == 'SAVE_AS_PDF') { | |
| 900 this.destinationStore_.selectDefaultDestination_(); | |
| 901 } | |
| 902 else if (event.messageName == 'LAYOUT_SETTINGS') { | |
| 903 if (event.layoutSettings == 'LANDSCAPE') { | |
| 904 var landscape = document.getElementsByClassName( | |
| 905 'layout-settings-landscape-radio')[0]; | |
| 906 if (landscape) { | |
|
Lei Zhang
2014/06/17 23:22:20
So if your source page is a PDF and not HTML, then
| |
| 907 landscape.click(); | |
| 908 } | |
| 909 } else if (event.layoutSettings == 'PORTRAIT') { | |
| 910 //chrome.send('UILoadedForTest'); | |
|
Lei Zhang
2014/06/17 23:22:20
remove
| |
| 911 var portrait = document.getElementsByClassName( | |
| 912 'layout-settings-portrait-radio')[0]; | |
| 913 if (portrait) { | |
| 914 portrait.click(); | |
| 915 } | |
| 916 } | |
| 917 } | |
| 918 else if (event.messageName == 'PAGE_NUMBERS') { | |
| 919 if (event.pageNumbers != '') { | |
| 920 var pageSettingsCustomInput = document.getElementsByClassName( | |
| 921 'page-settings-custom-input')[0]; | |
| 922 if (pageSettingsCustomInput) { | |
| 923 pageSettingsCustomInput.value = event.pageSettings; | |
| 924 } | |
| 925 } else { | |
| 926 chrome.send('UILoadedForTest'); | |
| 927 } | |
| 928 } | |
| 929 else if (event.messageName == 'HEADERS_AND_FOOTERS') { | |
| 930 if (event.headersAndFooters == false) { | |
|
Lei Zhang
2014/06/17 23:22:20
There's 2x2 matrix of possibilities, where the axi
| |
| 931 var headerFooterCheckbox = document.getElementsByClassName( | |
| 932 'header-footer-checkbox'); | |
| 933 if (headerFooterCheckbox) { | |
| 934 this.otherOptionsSettings_.headerFooterCheckbox_.click(); | |
| 935 } | |
| 936 } else { | |
| 937 chrome.send('UILoadedForTest'); | |
| 938 } | |
| 939 } | |
| 940 else if (event.messageName == 'BACKGROUND_COLORS_AND_IMAGES') { | |
| 941 if (event.backgroundColorsAndImages == true) { | |
| 942 var backgroundCheckbox = document.getElementsByClassName( | |
| 943 'css-background-checkbox')[0]; | |
| 944 if (backgroundCheckbox) { | |
| 945 this.otherOptionsSettings_.cssBackgroundCheckbox_.click(); | |
| 946 } | |
| 947 } else { | |
| 948 chrome.send('UILoadedForTest'); | |
| 949 } | |
| 950 } | |
| 951 else if (event.messageName == 'MARGINS') { | |
| 952 var marginSettingsSelect = | |
| 953 document.getElementsByClassName('margin-settings-select')[0]; | |
| 954 var index = parseInt(event.margins, 10); | |
| 955 if (marginSettingsSelect && index != 0) { | |
| 956 marginSettingsSelect.selectedIndex = index; | |
|
Lei Zhang
2014/06/17 23:22:20
Is this sufficient to cause the PDF to re-render?
ivandavid
2014/06/18 00:25:59
It wasn't. I 'fired' on event which now causes the
| |
| 957 chrome.send('UILoadedForTest'); | |
|
Lei Zhang
2014/06/17 23:22:20
nit: If you compare this to line 959, one of the t
| |
| 958 } else { | |
| 959 chrome.send('UILoadedForTest'); | |
| 960 } | |
| 961 } | |
| 962 }, | |
| 963 | |
| 892 /** | 964 /** |
| 893 * Called when the open-cloud-print-dialog link is clicked. Opens the Google | 965 * Called when the open-cloud-print-dialog link is clicked. Opens the Google |
| 894 * Cloud Print web dialog. | 966 * Cloud Print web dialog. |
| 895 * @private | 967 * @private |
| 896 */ | 968 */ |
| 897 onCloudPrintDialogLinkClick_: function() { | 969 onCloudPrintDialogLinkClick_: function() { |
| 898 assert(this.uiState_ == PrintPreview.UiState_.READY, | 970 assert(this.uiState_ == PrintPreview.UiState_.READY, |
| 899 'Opening Google Cloud Print dialog when not in ready state: ' + | 971 'Opening Google Cloud Print dialog when not in ready state: ' + |
| 900 this.uiState_); | 972 this.uiState_); |
| 901 setIsVisible($('cloud-print-dialog-throbber'), true); | 973 setIsVisible($('cloud-print-dialog-throbber'), true); |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1034 <include src="search/recent_destination_list.js"/> | 1106 <include src="search/recent_destination_list.js"/> |
| 1035 <include src="search/destination_list_item.js"/> | 1107 <include src="search/destination_list_item.js"/> |
| 1036 <include src="search/destination_search.js"/> | 1108 <include src="search/destination_search.js"/> |
| 1037 <include src="search/search_box.js"/> | 1109 <include src="search/search_box.js"/> |
| 1038 <include src="search/fedex_tos.js"/> | 1110 <include src="search/fedex_tos.js"/> |
| 1039 | 1111 |
| 1040 window.addEventListener('DOMContentLoaded', function() { | 1112 window.addEventListener('DOMContentLoaded', function() { |
| 1041 printPreview = new print_preview.PrintPreview(); | 1113 printPreview = new print_preview.PrintPreview(); |
| 1042 printPreview.initialize(); | 1114 printPreview.initialize(); |
| 1043 }); | 1115 }); |
| OLD | NEW |