| 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.define('print_preview', function() { | 5 cr.define('print_preview', function() { |
| 6 'use strict'; | 6 'use strict'; |
| 7 | 7 |
| 8 /** | 8 /** |
| 9 * An interface to the native Chromium printing system layer. | 9 * An interface to the native Chromium printing system layer. |
| 10 * @constructor | 10 * @constructor |
| (...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 161 /** | 161 /** |
| 162 * Requests the destination's printing capabilities. A CAPABILITIES_SET | 162 * Requests the destination's printing capabilities. A CAPABILITIES_SET |
| 163 * event will be dispatched in response. | 163 * event will be dispatched in response. |
| 164 * @param {string} destinationId ID of the destination. | 164 * @param {string} destinationId ID of the destination. |
| 165 */ | 165 */ |
| 166 startGetLocalDestinationCapabilities: function(destinationId) { | 166 startGetLocalDestinationCapabilities: function(destinationId) { |
| 167 chrome.send('getPrinterCapabilities', [destinationId]); | 167 chrome.send('getPrinterCapabilities', [destinationId]); |
| 168 }, | 168 }, |
| 169 | 169 |
| 170 /** | 170 /** |
| 171 * @param {!print_preview.Destination} destination Destination to print to. |
| 172 * @param {!print_preview.ticket_items.Color} color Color ticket item. |
| 173 * @return {number} Native layer color model. |
| 174 * @private |
| 175 */ |
| 176 getNativeColorModel_: function(destination, color) { |
| 177 // For non-local printers native color model is ignored anyway. |
| 178 var option = destination.isLocal ? color.getSelectedOption() : null; |
| 179 var nativeColorModel = parseInt(option ? option.vendor_id : null); |
| 180 if (isNaN(nativeColorModel)) { |
| 181 return color.getValue() ? |
| 182 NativeLayer.ColorMode_.COLOR : NativeLayer.ColorMode_.GRAY; |
| 183 } |
| 184 return nativeColorModel; |
| 185 }, |
| 186 |
| 187 /** |
| 171 * Requests that a preview be generated. The following events may be | 188 * Requests that a preview be generated. The following events may be |
| 172 * dispatched in response: | 189 * dispatched in response: |
| 173 * - PAGE_COUNT_READY | 190 * - PAGE_COUNT_READY |
| 174 * - PAGE_LAYOUT_READY | 191 * - PAGE_LAYOUT_READY |
| 175 * - PAGE_PREVIEW_READY | 192 * - PAGE_PREVIEW_READY |
| 176 * - PREVIEW_GENERATION_DONE | 193 * - PREVIEW_GENERATION_DONE |
| 177 * - PREVIEW_GENERATION_FAIL | 194 * - PREVIEW_GENERATION_FAIL |
| 178 * @param {print_preview.Destination} destination Destination to print to. | 195 * @param {print_preview.Destination} destination Destination to print to. |
| 179 * @param {!print_preview.PrintTicketStore} printTicketStore Used to get the | 196 * @param {!print_preview.PrintTicketStore} printTicketStore Used to get the |
| 180 * state of the print ticket. | 197 * state of the print ticket. |
| 181 * @param {!print_preview.DocumentInfo} documentInfo Document data model. | 198 * @param {!print_preview.DocumentInfo} documentInfo Document data model. |
| 182 * @param {number} ID of the preview request. | 199 * @param {number} ID of the preview request. |
| 183 */ | 200 */ |
| 184 startGetPreview: function( | 201 startGetPreview: function( |
| 185 destination, printTicketStore, documentInfo, requestId) { | 202 destination, printTicketStore, documentInfo, requestId) { |
| 186 assert(printTicketStore.isTicketValidForPreview(), | 203 assert(printTicketStore.isTicketValidForPreview(), |
| 187 'Trying to generate preview when ticket is not valid'); | 204 'Trying to generate preview when ticket is not valid'); |
| 188 | 205 |
| 189 var ticket = { | 206 var ticket = { |
| 190 'pageRange': printTicketStore.pageRange.getDocumentPageRanges(), | 207 'pageRange': printTicketStore.pageRange.getDocumentPageRanges(), |
| 191 'mediaSize': printTicketStore.mediaSize.getValue(), | 208 'mediaSize': printTicketStore.mediaSize.getValue(), |
| 192 'landscape': printTicketStore.landscape.getValue(), | 209 'landscape': printTicketStore.landscape.getValue(), |
| 193 'color': printTicketStore.color.getValue() ? | 210 'color': this.getNativeColorModel_(destination, printTicketStore.color), |
| 194 NativeLayer.ColorMode_.COLOR : NativeLayer.ColorMode_.GRAY, | |
| 195 'headerFooterEnabled': printTicketStore.headerFooter.getValue(), | 211 'headerFooterEnabled': printTicketStore.headerFooter.getValue(), |
| 196 'marginsType': printTicketStore.marginsType.getValue(), | 212 'marginsType': printTicketStore.marginsType.getValue(), |
| 197 'isFirstRequest': requestId == 0, | 213 'isFirstRequest': requestId == 0, |
| 198 'requestID': requestId, | 214 'requestID': requestId, |
| 199 'previewModifiable': documentInfo.isModifiable, | 215 'previewModifiable': documentInfo.isModifiable, |
| 200 'printToPDF': | 216 'printToPDF': |
| 201 destination != null && | 217 destination != null && |
| 202 destination.id == | 218 destination.id == |
| 203 print_preview.Destination.GooglePromotedId.SAVE_AS_PDF, | 219 print_preview.Destination.GooglePromotedId.SAVE_AS_PDF, |
| 204 'printWithCloudPrint': destination != null && !destination.isLocal, | 220 'printWithCloudPrint': destination != null && !destination.isLocal, |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 256 */ | 272 */ |
| 257 startPrint: function(destination, printTicketStore, cloudPrintInterface, | 273 startPrint: function(destination, printTicketStore, cloudPrintInterface, |
| 258 documentInfo, opt_isOpenPdfInPreview) { | 274 documentInfo, opt_isOpenPdfInPreview) { |
| 259 assert(printTicketStore.isTicketValid(), | 275 assert(printTicketStore.isTicketValid(), |
| 260 'Trying to print when ticket is not valid'); | 276 'Trying to print when ticket is not valid'); |
| 261 | 277 |
| 262 var ticket = { | 278 var ticket = { |
| 263 'pageRange': printTicketStore.pageRange.getDocumentPageRanges(), | 279 'pageRange': printTicketStore.pageRange.getDocumentPageRanges(), |
| 264 'pageCount': printTicketStore.pageRange.getPageNumberSet().size, | 280 'pageCount': printTicketStore.pageRange.getPageNumberSet().size, |
| 265 'landscape': printTicketStore.landscape.getValue(), | 281 'landscape': printTicketStore.landscape.getValue(), |
| 266 'color': printTicketStore.color.getValue() ? | 282 'color': this.getNativeColorModel_(destination, printTicketStore.color), |
| 267 NativeLayer.ColorMode_.COLOR : NativeLayer.ColorMode_.GRAY, | |
| 268 'headerFooterEnabled': printTicketStore.headerFooter.getValue(), | 283 'headerFooterEnabled': printTicketStore.headerFooter.getValue(), |
| 269 'marginsType': printTicketStore.marginsType.getValue(), | 284 'marginsType': printTicketStore.marginsType.getValue(), |
| 270 'generateDraftData': true, // TODO(rltoscano): What should this be? | 285 'generateDraftData': true, // TODO(rltoscano): What should this be? |
| 271 'duplex': printTicketStore.duplex.getValue() ? | 286 'duplex': printTicketStore.duplex.getValue() ? |
| 272 NativeLayer.DuplexMode.LONG_EDGE : NativeLayer.DuplexMode.SIMPLEX, | 287 NativeLayer.DuplexMode.LONG_EDGE : NativeLayer.DuplexMode.SIMPLEX, |
| 273 'copies': printTicketStore.copies.getValueAsNumber(), | 288 'copies': printTicketStore.copies.getValueAsNumber(), |
| 274 'collate': printTicketStore.collate.getValue(), | 289 'collate': printTicketStore.collate.getValue(), |
| 275 'shouldPrintBackgrounds': printTicketStore.cssBackground.getValue(), | 290 'shouldPrintBackgrounds': printTicketStore.cssBackground.getValue(), |
| 276 'shouldPrintSelectionOnly': printTicketStore.selectionOnly.getValue(), | 291 'shouldPrintSelectionOnly': printTicketStore.selectionOnly.getValue(), |
| 277 'previewModifiable': documentInfo.isModifiable, | 292 'previewModifiable': documentInfo.isModifiable, |
| (...skipping 572 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 850 return this.serializedAppStateStr_; | 865 return this.serializedAppStateStr_; |
| 851 } | 866 } |
| 852 }; | 867 }; |
| 853 | 868 |
| 854 // Export | 869 // Export |
| 855 return { | 870 return { |
| 856 NativeInitialSettings: NativeInitialSettings, | 871 NativeInitialSettings: NativeInitialSettings, |
| 857 NativeLayer: NativeLayer | 872 NativeLayer: NativeLayer |
| 858 }; | 873 }; |
| 859 }); | 874 }); |
| OLD | NEW |