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 cr.exportPath('print_preview'); | 5 cr.exportPath('print_preview'); |
6 | 6 |
7 /** | 7 /** |
8 * @typedef {{selectSaveAsPdfDestination: boolean, | 8 * @typedef {{selectSaveAsPdfDestination: boolean, |
9 * layoutSettings.portrait: boolean, | 9 * layoutSettings.portrait: boolean, |
10 * pageRange: string, | 10 * pageRange: string, |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
50 global.onDidGetPreviewPageCount = | 50 global.onDidGetPreviewPageCount = |
51 this.onDidGetPreviewPageCount_.bind(this); | 51 this.onDidGetPreviewPageCount_.bind(this); |
52 global.onDidPreviewPage = this.onDidPreviewPage_.bind(this); | 52 global.onDidPreviewPage = this.onDidPreviewPage_.bind(this); |
53 global.updatePrintPreview = this.onUpdatePrintPreview_.bind(this); | 53 global.updatePrintPreview = this.onUpdatePrintPreview_.bind(this); |
54 global.onDidGetAccessToken = this.onDidGetAccessToken_.bind(this); | 54 global.onDidGetAccessToken = this.onDidGetAccessToken_.bind(this); |
55 global.autoCancelForTesting = this.autoCancelForTesting_.bind(this); | 55 global.autoCancelForTesting = this.autoCancelForTesting_.bind(this); |
56 global.onPrivetPrinterChanged = this.onPrivetPrinterChanged_.bind(this); | 56 global.onPrivetPrinterChanged = this.onPrivetPrinterChanged_.bind(this); |
57 global.onPrivetCapabilitiesSet = | 57 global.onPrivetCapabilitiesSet = |
58 this.onPrivetCapabilitiesSet_.bind(this); | 58 this.onPrivetCapabilitiesSet_.bind(this); |
59 global.onPrivetPrintFailed = this.onPrivetPrintFailed_.bind(this); | 59 global.onPrivetPrintFailed = this.onPrivetPrintFailed_.bind(this); |
60 global.onExtensionPrintersAdded = | |
61 this.onExtensionPrintersAdded_.bind(this); | |
62 global.onExtensionCapabilitiesSet = | |
63 this.onExtensionCapabilitiesSet_.bind(this); | |
60 global.onEnableManipulateSettingsForTest = | 64 global.onEnableManipulateSettingsForTest = |
61 this.onEnableManipulateSettingsForTest_.bind(this); | 65 this.onEnableManipulateSettingsForTest_.bind(this); |
62 global.printPresetOptionsFromDocument = | 66 global.printPresetOptionsFromDocument = |
63 this.onPrintPresetOptionsFromDocument_.bind(this); | 67 this.onPrintPresetOptionsFromDocument_.bind(this); |
64 }; | 68 }; |
65 | 69 |
66 /** | 70 /** |
67 * Event types dispatched from the Chromium native layer. | 71 * Event types dispatched from the Chromium native layer. |
68 * @enum {string} | 72 * @enum {string} |
69 * @const | 73 * @const |
(...skipping 18 matching lines...) Expand all Loading... | |
88 PREVIEW_GENERATION_DONE: | 92 PREVIEW_GENERATION_DONE: |
89 'print_preview.NativeLayer.PREVIEW_GENERATION_DONE', | 93 'print_preview.NativeLayer.PREVIEW_GENERATION_DONE', |
90 PREVIEW_GENERATION_FAIL: | 94 PREVIEW_GENERATION_FAIL: |
91 'print_preview.NativeLayer.PREVIEW_GENERATION_FAIL', | 95 'print_preview.NativeLayer.PREVIEW_GENERATION_FAIL', |
92 PRINT_TO_CLOUD: 'print_preview.NativeLayer.PRINT_TO_CLOUD', | 96 PRINT_TO_CLOUD: 'print_preview.NativeLayer.PRINT_TO_CLOUD', |
93 SETTINGS_INVALID: 'print_preview.NativeLayer.SETTINGS_INVALID', | 97 SETTINGS_INVALID: 'print_preview.NativeLayer.SETTINGS_INVALID', |
94 PRIVET_PRINTER_CHANGED: 'print_preview.NativeLayer.PRIVET_PRINTER_CHANGED', | 98 PRIVET_PRINTER_CHANGED: 'print_preview.NativeLayer.PRIVET_PRINTER_CHANGED', |
95 PRIVET_CAPABILITIES_SET: | 99 PRIVET_CAPABILITIES_SET: |
96 'print_preview.NativeLayer.PRIVET_CAPABILITIES_SET', | 100 'print_preview.NativeLayer.PRIVET_CAPABILITIES_SET', |
97 PRIVET_PRINT_FAILED: 'print_preview.NativeLayer.PRIVET_PRINT_FAILED', | 101 PRIVET_PRINT_FAILED: 'print_preview.NativeLayer.PRIVET_PRINT_FAILED', |
102 EXTENSION_PRINTERS_ADDED: | |
103 'print_preview.NativeLayer.EXTENSION_PRINTERS_ADDED', | |
104 EXTENSION_CAPABILITIES_SET: | |
105 'print_preview.NativeLayer.EXTENSION_CAPABILITIES_SET', | |
98 PRINT_PRESET_OPTIONS: 'print_preview.NativeLayer.PRINT_PRESET_OPTIONS', | 106 PRINT_PRESET_OPTIONS: 'print_preview.NativeLayer.PRINT_PRESET_OPTIONS', |
99 }; | 107 }; |
100 | 108 |
101 /** | 109 /** |
102 * Constant values matching printing::DuplexMode enum. | 110 * Constant values matching printing::DuplexMode enum. |
103 * @enum {number} | 111 * @enum {number} |
104 */ | 112 */ |
105 NativeLayer.DuplexMode = { | 113 NativeLayer.DuplexMode = { |
106 SIMPLEX: 0, | 114 SIMPLEX: 0, |
107 LONG_EDGE: 1, | 115 LONG_EDGE: 1, |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
170 /** | 178 /** |
171 * Requests the privet destination's printing capabilities. A | 179 * Requests the privet destination's printing capabilities. A |
172 * PRIVET_CAPABILITIES_SET event will be dispatched in response. | 180 * PRIVET_CAPABILITIES_SET event will be dispatched in response. |
173 * @param {string} destinationId ID of the destination. | 181 * @param {string} destinationId ID of the destination. |
174 */ | 182 */ |
175 startGetPrivetDestinationCapabilities: function(destinationId) { | 183 startGetPrivetDestinationCapabilities: function(destinationId) { |
176 chrome.send('getPrivetPrinterCapabilities', [destinationId]); | 184 chrome.send('getPrivetPrinterCapabilities', [destinationId]); |
177 }, | 185 }, |
178 | 186 |
179 /** | 187 /** |
188 * Requests that extension system dispatches an event requesting the list of | |
189 * extension managed printers. | |
190 */ | |
191 startGetExtensionDestinations: function() { | |
192 chrome.send('getExtensionPrinters'); | |
193 }, | |
194 | |
195 /** | |
196 * Requests an extension destination's printing capabilities. A | |
197 * EXTENSION_CAPABILITIES_SET event will be dispatched in response. | |
198 * @param {string} extensionId The ID of the extension from which the | |
199 * capabilities should be requested. | |
200 * @param {string} printerId The ID of the printer whose capabilities are | |
201 * requested. | |
202 */ | |
203 startGetExtensionDestinationCapabilities: function(extensionId, printerId) { | |
204 chrome.send('getExtensionPrinterCapabilities', [extensionId, printerId]); | |
205 }, | |
206 | |
207 /** | |
180 * Requests the destination's printing capabilities. A CAPABILITIES_SET | 208 * Requests the destination's printing capabilities. A CAPABILITIES_SET |
181 * event will be dispatched in response. | 209 * event will be dispatched in response. |
182 * @param {string} destinationId ID of the destination. | 210 * @param {string} destinationId ID of the destination. |
183 */ | 211 */ |
184 startGetLocalDestinationCapabilities: function(destinationId) { | 212 startGetLocalDestinationCapabilities: function(destinationId) { |
185 chrome.send('getPrinterCapabilities', [destinationId]); | 213 chrome.send('getPrinterCapabilities', [destinationId]); |
186 }, | 214 }, |
187 | 215 |
188 /** | 216 /** |
189 * @param {!print_preview.Destination} destination Destination to print to. | 217 * @param {!print_preview.Destination} destination Destination to print to. |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
292 */ | 320 */ |
293 startPrint: function(destination, printTicketStore, cloudPrintInterface, | 321 startPrint: function(destination, printTicketStore, cloudPrintInterface, |
294 documentInfo, opt_isOpenPdfInPreview, | 322 documentInfo, opt_isOpenPdfInPreview, |
295 opt_showSystemDialog) { | 323 opt_showSystemDialog) { |
296 assert(printTicketStore.isTicketValid(), | 324 assert(printTicketStore.isTicketValid(), |
297 'Trying to print when ticket is not valid'); | 325 'Trying to print when ticket is not valid'); |
298 | 326 |
299 assert(!opt_showSystemDialog || (cr.isWindows && destination.isLocal), | 327 assert(!opt_showSystemDialog || (cr.isWindows && destination.isLocal), |
300 'Implemented for Windows only'); | 328 'Implemented for Windows only'); |
301 | 329 |
330 // TODO(tbarzic): Implement this. | |
331 assert(!destination.isExtension, | |
332 'Printing to extension printers not yet implemented.'); | |
333 | |
302 var ticket = { | 334 var ticket = { |
303 'pageRange': printTicketStore.pageRange.getDocumentPageRanges(), | 335 'pageRange': printTicketStore.pageRange.getDocumentPageRanges(), |
304 'mediaSize': printTicketStore.mediaSize.getValue(), | 336 'mediaSize': printTicketStore.mediaSize.getValue(), |
305 'pageCount': printTicketStore.pageRange.getPageNumberSet().size, | 337 'pageCount': printTicketStore.pageRange.getPageNumberSet().size, |
306 'landscape': printTicketStore.landscape.getValue(), | 338 'landscape': printTicketStore.landscape.getValue(), |
307 'color': this.getNativeColorModel_(destination, printTicketStore.color), | 339 'color': this.getNativeColorModel_(destination, printTicketStore.color), |
308 'headerFooterEnabled': printTicketStore.headerFooter.getValue(), | 340 'headerFooterEnabled': printTicketStore.headerFooter.getValue(), |
309 'marginsType': printTicketStore.marginsType.getValue(), | 341 'marginsType': printTicketStore.marginsType.getValue(), |
310 'generateDraftData': true, // TODO(rltoscano): What should this be? | 342 'generateDraftData': true, // TODO(rltoscano): What should this be? |
311 'duplex': printTicketStore.duplex.getValue() ? | 343 'duplex': printTicketStore.duplex.getValue() ? |
(...skipping 401 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
713 * @private | 745 * @private |
714 */ | 746 */ |
715 onPrivetPrintFailed_: function(http_error) { | 747 onPrivetPrintFailed_: function(http_error) { |
716 var privetPrintFailedEvent = | 748 var privetPrintFailedEvent = |
717 new Event(NativeLayer.EventType.PRIVET_PRINT_FAILED); | 749 new Event(NativeLayer.EventType.PRIVET_PRINT_FAILED); |
718 privetPrintFailedEvent.httpError = http_error; | 750 privetPrintFailedEvent.httpError = http_error; |
719 this.dispatchEvent(privetPrintFailedEvent); | 751 this.dispatchEvent(privetPrintFailedEvent); |
720 }, | 752 }, |
721 | 753 |
722 /** | 754 /** |
755 * @param {Array.<{extensionId: string, | |
756 * id: string, | |
757 * name: string, | |
758 * description: (string|undefined)}>} printers The list | |
759 * containing information about printers added by an extension. | |
760 * @param {boolean} done Whether this is the final list of extension | |
761 * managed printers. | |
762 */ | |
763 onExtensionPrintersAdded_: function(printers, done) { | |
764 var event = new Event(NativeLayer.EventType.EXTENSION_PRINTERS_ADDED); | |
765 event.printers = printers; | |
766 event.done = done; | |
767 this.dispatchEvent(event); | |
768 }, | |
769 | |
770 /** | |
771 * Called when an extension responds to a request for an extension printer | |
772 * capabilities. | |
773 * @param {string} extensionId The ID of extension that manages the printer. | |
774 * @param {string} printerId The printer's ID (within the extension's | |
775 * space). | |
776 * @param {Object} capabilities The reported printer capabilities. | |
Aleksey Shlyapnikov
2015/02/03 20:18:24
!Object or can they be null?
tbarzic
2015/02/04 02:21:23
Done.
| |
777 */ | |
778 onExtensionCapabilitiesSet_: function(extensionId, | |
779 printerId, | |
780 capabilities) { | |
781 var event = new Event(NativeLayer.EventType.EXTENSION_CAPABILITIES_SET); | |
782 event.extensionID = extensionId; | |
Aleksey Shlyapnikov
2015/02/03 20:18:24
extensionId
tbarzic
2015/02/04 02:21:23
removed
| |
783 event.printerID = printerId; | |
Aleksey Shlyapnikov
2015/02/03 20:18:24
printerId
tbarzic
2015/02/04 02:21:23
Done.
| |
784 event.capabilities = capabilities; | |
785 this.dispatchEvent(event); | |
786 }, | |
787 | |
788 /** | |
723 * Allows for onManipulateSettings to be called | 789 * Allows for onManipulateSettings to be called |
724 * from the native layer. | 790 * from the native layer. |
725 * @private | 791 * @private |
726 */ | 792 */ |
727 onEnableManipulateSettingsForTest_: function() { | 793 onEnableManipulateSettingsForTest_: function() { |
728 global.onManipulateSettingsForTest = | 794 global.onManipulateSettingsForTest = |
729 this.onManipulateSettingsForTest_.bind(this); | 795 this.onManipulateSettingsForTest_.bind(this); |
730 }, | 796 }, |
731 | 797 |
732 /** | 798 /** |
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
956 return this.serializedAppStateStr_; | 1022 return this.serializedAppStateStr_; |
957 } | 1023 } |
958 }; | 1024 }; |
959 | 1025 |
960 // Export | 1026 // Export |
961 return { | 1027 return { |
962 NativeInitialSettings: NativeInitialSettings, | 1028 NativeInitialSettings: NativeInitialSettings, |
963 NativeLayer: NativeLayer | 1029 NativeLayer: NativeLayer |
964 }; | 1030 }; |
965 }); | 1031 }); |
OLD | NEW |