| Index: chrome/browser/resources/print_preview/margin_settings.js
|
| diff --git a/chrome/browser/resources/print_preview/margin_settings.js b/chrome/browser/resources/print_preview/margin_settings.js
|
| index 11577c22508f3aa6f908a88ef00cd7ed814efe20..206a4b37bb295be7c34d2b938de313269974cdfb 100644
|
| --- a/chrome/browser/resources/print_preview/margin_settings.js
|
| +++ b/chrome/browser/resources/print_preview/margin_settings.js
|
| @@ -129,9 +129,9 @@ cr.define('print_preview', function() {
|
| this.pageWidth_ = -1;
|
| // Holds the height of the page in points.
|
| this.pageHeight_ = -1;
|
| - // The last selected margin option.
|
| - this.lastSelectedOption_ = MarginSettings.MARGINS_VALUE_DEFAULT;
|
| -
|
| + // @type {boolean} True if the margins UI should be diplayed when the next
|
| + // |customEvents.PDF_LOADED| event occurs.
|
| + this.forceMarginsUIOnPDFLoad_ = false;
|
| // Holds the currently updated default page layout values.
|
| this.currentDefaultPageLayout = null;
|
| // Holds the default page layout values when the custom margins was last
|
| @@ -203,6 +203,19 @@ cr.define('print_preview', function() {
|
| },
|
|
|
| /**
|
| + * Sets |this.customMargins_| according to |margins|.
|
| + * @param {{marginLeft: number, marginTop: number, marginRight: bottom,
|
| + * marginRight: number}} margins An object holding the four margin
|
| + * values.
|
| + */
|
| + set customMargins(margins) {
|
| + this.customMargins_.left = margins.marginLeft;
|
| + this.customMargins_.top = margins.marginTop;
|
| + this.customMargins_.right = margins.marginRight;
|
| + this.customMargins_.bottom = margins.marginBottom;
|
| + },
|
| +
|
| + /**
|
| * @return {number} The value of the selected margin option.
|
| */
|
| get selectedMarginsValue() {
|
| @@ -214,10 +227,17 @@ cr.define('print_preview', function() {
|
| * Sets the current margin selection to |lastUsedMarginsType|.
|
| * @param {number} lastUsedMarginsType An integer value identifying a margin
|
| * type according to MarginType enum in printing/print_job_constants.h.
|
| + * @param {Object} lastUsedMargins The last used margins. It is only used if
|
| + * |lastUsedMarginsType == MarginSettings.MARGINS_VALUE_CUSTOM|,
|
| + * otherwise it is undefined.
|
| */
|
| - setLastUsedMarginsType: function(lastUsedMarginsType) {
|
| + setLastUsedMargins: function(lastUsedMarginsType, lastUsedMargins) {
|
| + this.forceMarginsUIOnPDFLoad_ =
|
| + lastUsedMarginsType == MarginSettings.MARGINS_VALUE_CUSTOM;
|
| this.marginList_.selectedIndex =
|
| this.getMarginOptionIndexByValue_(lastUsedMarginsType);
|
| + if (lastUsedMargins)
|
| + this.customMargins = lastUsedMargins;
|
| },
|
|
|
| /**
|
| @@ -532,8 +552,6 @@ cr.define('print_preview', function() {
|
| this.onDefaultMinimumNoMarginsSelected_();
|
| else if (this.isCustomMarginsSelected())
|
| this.onCustomMarginsSelected_();
|
| -
|
| - this.lastSelectedOption_ = this.selectedMarginsValue;
|
| },
|
|
|
| /**
|
| @@ -627,7 +645,6 @@ cr.define('print_preview', function() {
|
| MarginSettings.OPTION_INDEX_DEFAULT].selected = true;
|
| this.removeCustomMarginEventListeners_();
|
| this.forceDisplayingMarginLines_ = true;
|
| - this.lastSelectedOption_ = MarginSettings.MARGINS_VALUE_DEFAULT;
|
| }
|
| },
|
|
|
| @@ -636,14 +653,22 @@ cr.define('print_preview', function() {
|
| * @private
|
| */
|
| onPDFLoaded_: function() {
|
| - if (!previewModifiable)
|
| + if (!previewModifiable) {
|
| fadeOutOption(this.marginsOption_);
|
| + return;
|
| + }
|
| +
|
| + if (this.forceMarginsUIOnPDFLoad_) {
|
| + this.onCustomMarginsSelected_();
|
| + this.forceMarginsUIOnPDFLoad_ = false;
|
| + }
|
| }
|
| };
|
|
|
| return {
|
| MarginSettings: MarginSettings,
|
| PageLayout: PageLayout,
|
| + setLastUsedMargins: MarginSettings.prototype.setLastUsedMargins,
|
| setNumberFormatAndMeasurementSystem:
|
| MarginSettings.setNumberFormatAndMeasurementSystem,
|
| };
|
|
|