Chromium Code Reviews| Index: chrome/browser/resources/print_preview.js |
| diff --git a/chrome/browser/resources/print_preview.js b/chrome/browser/resources/print_preview.js |
| index 9bc3731f709260e2d504da5ab2f1cc35a6328143..b08034b61e7bad16a0fa31dd8cee8a5a5bd50910 100644 |
| --- a/chrome/browser/resources/print_preview.js |
| +++ b/chrome/browser/resources/print_preview.js |
| @@ -290,12 +290,8 @@ function getDuplexMode() { |
| * @return {string} JSON string with print job settings. |
| */ |
| function getSettingsJSON() { |
| - var printerList = $('printer-list') |
| - var selectedPrinter = printerList.selectedIndex; |
| - var deviceName = ''; |
| - if (selectedPrinter >= 0) |
| - deviceName = printerList.options[selectedPrinter].value; |
| var printAll = $('all-pages').checked; |
| + var deviceName = getSelectedPrinterName(); |
| var printToPDF = (deviceName == PRINT_TO_PDF); |
| return JSON.stringify({'deviceName': deviceName, |
| @@ -310,10 +306,33 @@ function getSettingsJSON() { |
| } |
| /** |
| + * Returns the name of the selected printer or the empty string if no |
| + * printer is selected. |
| + */ |
| +function getSelectedPrinterName() { |
| + var printerList = $('printer-list') |
| + var selectedPrinter = printerList.selectedIndex; |
| + var deviceName = ''; |
| + if (selectedPrinter >= 0) |
| + deviceName = printerList.options[selectedPrinter].value; |
| + return deviceName; |
| +} |
| + |
| +/** |
| * Asks the browser to print the preview PDF based on current print settings. |
| */ |
| function printFile() { |
| - chrome.send('print', [getSettingsJSON()]); |
| + var printButton = $('print-button'); |
| + var cancelButton = $('cancel-button'); |
| + printButton.classList.add('loading'); |
| + $('print-summary').innerHTML = 'Printing...'; |
|
dpapad
2011/05/24 00:13:25
I will localize this once I get the ok for the ani
|
| + cancelButton.classList.add('loading'); |
| + |
| + if (getSelectedPrinterName() != PRINT_TO_PDF) |
| + window.setTimeout(function() { chrome.send('print', [getSettingsJSON()]); }, |
| + 1000); |
| + else |
| + chrome.send('print', [getSettingsJSON()]); |
| } |
| /** |
| @@ -338,12 +357,14 @@ function setPrinters(printers, defaultPrinterIndex) { |
| addDestinationListOption(printers[i].printerName, printers[i].deviceName, |
| i == defaultPrinterIndex, false); |
| } |
| - addDestinationListOption('','',false, true); |
| + |
| + if (printers.length != 0) |
| + addDestinationListOption('','', false, true); |
| // Adding option for saving PDF to disk. |
| addDestinationListOption(localStrings.getString('printToPDF'), |
| PRINT_TO_PDF, false, false); |
| - addDestinationListOption('','',false, true); |
| + addDestinationListOption('','', false, true); |
| // Add an option to manage printers. |
| addDestinationListOption(localStrings.getString('managePrinters'), |