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 e0265ab1d0bf30f6f981c84b433e7c228288b2a5..11a8f3cf1683e4a4df55d15860e2c2d7ac413cca 100644 |
| --- a/chrome/browser/resources/print_preview.js |
| +++ b/chrome/browser/resources/print_preview.js |
| @@ -30,6 +30,8 @@ const MANAGE_PRINTERS = 'Manage Printers'; |
| // State of the print preview settings. |
| var printSettings = new PrintSettings(); |
| +var defaultOrLastUsedPrinterName = ''; |
| + |
| /** |
| * Window onload handler, sets up the page and starts print preview by getting |
| * the printer list. |
| @@ -355,7 +357,8 @@ function setDefaultPrinter(printer) { |
| // Add a placeholder value so the printer list looks valid. |
| addDestinationListOption('', '', true, true); |
| if (printer) { |
| - $('printer-list')[0].value = printer; |
| + defaultOrLastUsedPrinterName = printer; |
| + $('printer-list')[0].value = defaultOrLastUsedPrinterName; |
| updateControlsWithSelectedPrinterCapabilities(); |
| } |
| chrome.send('getPrinters'); |
| @@ -365,23 +368,16 @@ function setDefaultPrinter(printer) { |
| * Fill the printer list drop down. |
| * Called from PrintPreviewHandler::SendPrinterList(). |
| * @param {Array} printers Array of printer info objects. |
| - * @param {number} defaultPrinterIndex The index of the default printer. |
| */ |
| -function setPrinters(printers, defaultPrinterIndex) { |
| +function setPrinters(printers) { |
|
dpapad
2011/06/07 01:07:44
Since we already know the default printer, there i
|
| var printerList = $('printer-list'); |
| // If there exists a dummy printer value, then setDefaultPrinter() already |
| // requested a preview, so no need to do it again. |
| var needPreview = (printerList[0].value == ''); |
| for (var i = 0; i < printers.length; ++i) { |
| - // Check if we are looking at the default printer. |
| - if (i == defaultPrinterIndex) { |
| - // If the default printer from setDefaultPrinter() does not match the |
| - // enumerated value, (re)generate the print preview. |
| - if (printers[i].deviceName != printerList[0].value) |
| - needPreview = true; |
| - } |
| + var isDefault = (printers[i].deviceName == defaultOrLastUsedPrinterName); |
| addDestinationListOption(printers[i].printerName, printers[i].deviceName, |
| - i == defaultPrinterIndex, false); |
| + isDefault, false); |
| } |
| // Remove the dummy printer added in setDefaultPrinter(). |
| @@ -391,8 +387,11 @@ function setPrinters(printers, defaultPrinterIndex) { |
| addDestinationListOption('', '', false, true); |
| // Adding option for saving PDF to disk. |
| + console.log(defaultOrLastUsedPrinterName == PRINT_TO_PDF); |
| addDestinationListOption(localStrings.getString('printToPDF'), |
| - PRINT_TO_PDF, false, false); |
| + PRINT_TO_PDF, |
| + defaultOrLastUsedPrinterName == PRINT_TO_PDF, |
| + false); |
| addDestinationListOption('', '', false, true); |
| // Add an option to manage printers. |