Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(451)

Unified Diff: chrome/browser/resources/print_preview/print_preview.js

Issue 8351048: Print Preview: Making margin selection sticky (part 2/2) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Nit Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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) {
« no previous file with comments | « chrome/browser/resources/print_preview/margin_settings.js ('k') | chrome/browser/ui/webui/print_preview_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698