Chromium Code Reviews| Index: chrome/browser/resources/print_preview/print_preview.js |
| diff --git a/chrome/browser/resources/print_preview/print_preview.js b/chrome/browser/resources/print_preview/print_preview.js |
| index 04ffee4529118a18fcfe7092d53e3c59cca8957e..1d9f750cc6c02180c711be4b57de89bb75338ca3 100644 |
| --- a/chrome/browser/resources/print_preview/print_preview.js |
| +++ b/chrome/browser/resources/print_preview/print_preview.js |
| @@ -164,11 +164,33 @@ function onLoad() { |
| previewArea.showLoadingAnimation(); |
| chrome.send('getInitiatorTabTitle'); |
| - chrome.send('getDefaultPrinter'); |
| + serializeRequests(); |
| chrome.send('getNumberFormatAndMeasurementSystem'); |
| } |
| /** |
| + * Serializes requests |getNumberFormatAndMeasurementSystem|, |
| + * |getLastUsedMarginSettings| and |getDefaultPrinter|. It guarantees that |
| + * responses to those requests will arrive in the order requested. |
| + */ |
| +function serializeRequests() { |
|
kmadhusu
2011/11/03 17:35:38
If the source is pdf, we will not display margin s
vandebo (ex-Chrome)
2011/11/03 18:07:27
serializeRequests is a pretty generic name... May
|
| + var oldSetNumberFormatAndMeasurementSystem = |
| + print_preview.setNumberFormatAndMeasurementSystem; |
| + print_preview.setNumberFormatAndMeasurementSystem = |
| + function(numberFormat, measurementSystem) { |
| + oldSetNumberFormatAndMeasurementSystem(numberFormat, measurementSystem); |
| + chrome.send('getLastUsedMarginSettings'); |
| + }; |
| + var oldSetLastUsedMargins = |
| + print_preview.setLastUsedMargins.bind(marginSettings); |
| + print_preview.setLastUsedMargins = function ( |
| + lastUsedMarginType, lastUsedMargins) { |
| + oldSetLastUsedMargins(lastUsedMarginType, lastUsedMargins); |
| + chrome.send('getDefaultPrinter'); |
| + }; |
| +} |
| + |
| +/** |
| * Disables the input elements in the sidebar. |
| */ |
| function disableInputElementsInSidebar() { |
| @@ -283,7 +305,7 @@ function updateControlsWithSelectedPrinterCapabilities() { |
| lastSelectedPrinterIndex = selectedIndex; |
| // Regenerate the preview data based on selected printer settings. |
| - setDefaultValuesAndRegeneratePreview(true); |
| + setDefaultValuesAndRegeneratePreview(false); |
| } |
| } |
| @@ -303,7 +325,7 @@ function doUpdateCloudPrinterCapabilities(printer) { |
| lastSelectedPrinterIndex = selectedIndex; |
| // Regenerate the preview data based on selected printer settings. |
| - setDefaultValuesAndRegeneratePreview(true); |
| + setDefaultValuesAndRegeneratePreview(false); |
| } |
| /** |
| @@ -577,12 +599,8 @@ function fileSelectionCompleted() { |
| * @param {string} printer Name of the default printer. Empty if none. |
| * @param {string} cloudPrintData Cloud print related data to restore if |
| * the default printer is a cloud printer. |
| - * @param {number} lastUsedMarginsType Indicates the last used margins type |
| - * (matches enum MarginType in printing/print_job_constants.h. |
| */ |
| -function setDefaultPrinter(printer_name, cloudPrintData, lastUsedMarginsType) { |
| - // Setting the margin selection to the last used one. |
| - marginSettings.setLastUsedMarginsType(lastUsedMarginsType); |
| +function setDefaultPrinter(printer_name, cloudPrintData) { |
| // Add a placeholder value so the printer list looks valid. |
| addDestinationListOption('', '', true, true, true); |
| if (printer_name) { |