| 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 24919446d36ecbfa7522528dabf4aec3361e3cbe..036f549e6e5cef4863a98f9af5ed321286e0abf2 100644
|
| --- a/chrome/browser/resources/print_preview/print_preview.js
|
| +++ b/chrome/browser/resources/print_preview/print_preview.js
|
| @@ -164,9 +164,25 @@ function onLoad() {
|
| $('printer-list').onchange = updateControlsWithSelectedPrinterCapabilities;
|
|
|
| previewArea.showLoadingAnimation();
|
| - chrome.send('getInitiatorTabTitle');
|
| - chrome.send('getDefaultPrinter');
|
| - chrome.send('getNumberFormatAndMeasurementSystem');
|
| + chrome.send('getInitialSettings');
|
| +}
|
| +
|
| +/**
|
| + * @param {string} initiatorTabTitle The title of the initiator tab.
|
| + * @param {object} initialSettings An object containing all the initial
|
| + * settings.
|
| + */
|
| +function setInitialSettings(initialSettings) {
|
| + setInitiatorTabTitle(initialSettings['initiatorTabTitle']);
|
| + previewModifiable = initialSettings['previewModifiable'];
|
| + if (previewModifiable) {
|
| + print_preview.MarginSettings.setNumberFormatAndMeasurementSystem(
|
| + initialSettings['numberFormat'],
|
| + initialSettings['measurementSystem']);
|
| + marginSettings.setLastUsedMargins(initialSettings);
|
| + }
|
| + setDefaultPrinter(initialSettings['printerName'],
|
| + initialSettings['cloudPrintData']);
|
| }
|
|
|
| /**
|
| @@ -284,7 +300,9 @@ function updateControlsWithSelectedPrinterCapabilities() {
|
| lastSelectedPrinterIndex = selectedIndex;
|
|
|
| // Regenerate the preview data based on selected printer settings.
|
| - setDefaultValuesAndRegeneratePreview(true);
|
| + // Do not reset the margins if no preview request has been made.
|
| + var resetMargins = lastPreviewRequestID != initialPreviewRequestID;
|
| + setDefaultValuesAndRegeneratePreview(resetMargins);
|
| }
|
| }
|
|
|
| @@ -304,7 +322,9 @@ function doUpdateCloudPrinterCapabilities(printer) {
|
| lastSelectedPrinterIndex = selectedIndex;
|
|
|
| // Regenerate the preview data based on selected printer settings.
|
| - setDefaultValuesAndRegeneratePreview(true);
|
| + // Do not reset the margins if no preview request has been made.
|
| + var resetMargins = lastPreviewRequestID != initialPreviewRequestID;
|
| + setDefaultValuesAndRegeneratePreview(resetMargins);
|
| }
|
|
|
| /**
|
| @@ -578,18 +598,14 @@ 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(printerName, cloudPrintData) {
|
| // Add a placeholder value so the printer list looks valid.
|
| addDestinationListOption('', '', true, true, true);
|
| - if (printer_name) {
|
| - defaultOrLastUsedPrinterName = printer_name;
|
| + if (printerName) {
|
| + defaultOrLastUsedPrinterName = printerName;
|
| if (cloudPrintData) {
|
| - cloudprint.setDefaultPrinter(printer_name,
|
| + cloudprint.setDefaultPrinter(printerName,
|
| cloudPrintData,
|
| addDestinationListOptionAtPosition,
|
| doUpdateCloudPrinterCapabilities);
|
| @@ -779,16 +795,13 @@ function setPluginPreviewPageCount() {
|
| * Update the page count and check the page range.
|
| * Called from PrintPreviewUI::OnDidGetPreviewPageCount().
|
| * @param {number} pageCount The number of pages.
|
| - * @param {boolean} isModifiable Indicates whether the previewed document can be
|
| - * modified.
|
| * @param {number} previewResponseId The preview request id that resulted in
|
| * this response.
|
| */
|
| -function onDidGetPreviewPageCount(pageCount, isModifiable, previewResponseId) {
|
| +function onDidGetPreviewPageCount(pageCount, previewResponseId) {
|
| if (!isExpectedPreviewResponse(previewResponseId))
|
| return;
|
| pageSettings.updateState(pageCount);
|
| - previewModifiable = isModifiable;
|
| if (!previewModifiable && pageSettings.requestPrintPreviewIfNeeded())
|
| return;
|
|
|
| @@ -1058,8 +1071,6 @@ PrintSettings.prototype.save = function() {
|
|
|
| /**
|
| * Updates the title of the print preview tab according to |initiatorTabTitle|.
|
| - * Called from PrintPreviewUI::OnGetInitiatorTabTitle as a result of sending a
|
| - * 'getInitiatorTabTitle' message.
|
| * @param {string} initiatorTabTitle The title of the initiator tab.
|
| */
|
| function setInitiatorTabTitle(initiatorTabTitle) {
|
|
|