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

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

Issue 480303002: Use document from preview for System Dialog printing on Windows. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Tue 08/19/2014 11:17:57.84 Created 6 years, 4 months 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 5d43e211e03b06547efc591f6b8772f2f88e4497..9a59e803640881d11c2da7a56f2c796c02d24ae1 100644
--- a/chrome/browser/resources/print_preview/print_preview.js
+++ b/chrome/browser/resources/print_preview/print_preview.js
@@ -226,6 +226,13 @@ cr.define('print_preview', function() {
* @private
*/
this.isPreviewGenerationInProgress_ = true;
+
+ /**
+ * Whether to show system dialog before next printing.
+ * @type {boolean}
+ * @private
+ */
+ this.showSystemDialog_ = false;
};
/**
@@ -520,7 +527,8 @@ cr.define('print_preview', function() {
this.printTicketStore_,
this.cloudPrintInterface_,
this.documentInfo_,
- this.uiState_ == PrintPreview.UiState_.OPENING_PDF_PREVIEW);
+ this.uiState_ == PrintPreview.UiState_.OPENING_PDF_PREVIEW,
+ this.showSystemDialog_);
}
return PrintPreview.PrintAttemptResult_.PRINTED;
},
@@ -540,6 +548,8 @@ cr.define('print_preview', function() {
* @private
*/
openSystemPrintDialog_: function() {
+ if (!this.shouldShowSystemDialogLink_())
+ return;
setIsVisible($('system-dialog-throbber'), true);
this.setIsEnabled_(false);
this.uiState_ = PrintPreview.UiState_.OPENING_NATIVE_PRINT_DIALOG;
@@ -581,9 +591,9 @@ cr.define('print_preview', function() {
this.appState_.setInitialized();
$('document-title').innerText = settings.documentTitle;
- setIsVisible($('system-dialog-link'),
- !settings.hidePrintWithSystemDialogLink &&
- !settings.isInAppKioskMode);
+ if (settings.hidePrintWithSystemDialogLink || settings.isInAppKioskMode)
+ this.shouldShowSystemDialogLink_ = function() { return false; };
Noam Samuel 2014/08/20 00:04:17 This seems like it could become fairly unreadable
Vitaly Buka (NO REVIEWS) 2014/08/20 02:42:55 Done.
+ setIsVisible($('system-dialog-link'), this.shouldShowSystemDialogLink_());
},
/**
@@ -1063,6 +1073,21 @@ cr.define('print_preview', function() {
},
/**
+ * Returns true if "Print using system dialog" link should be shown for
+ * current destination.
+ * @return {boolean} Returns true if link should be shown.
+ */
+ shouldShowSystemDialogLink_: function() {
+ if (!cr.isWindows)
+ return true;
+ var selectedDest = this.destinationStore_.selectedDestination;
+ return selectedDest &&
+ selectedDest.origin == print_preview.Destination.Origin.LOCAL &&
+ selectedDest.id !=
+ print_preview.Destination.GooglePromotedId.SAVE_AS_PDF;
+ },
+
+ /**
* Called when the open-cloud-print-dialog link is clicked. Opens the Google
* Cloud Print web dialog.
* @private
@@ -1087,6 +1112,9 @@ cr.define('print_preview', function() {
setIsVisible(
$('cloud-print-dialog-link'),
selectedDest && !cr.isChromeOS && !selectedDest.isLocal);
+ setIsVisible(
+ $('system-dialog-link'),
+ this.shouldShowSystemDialogLink_());
if (selectedDest && this.isInKioskAutoPrintMode_) {
this.onPrintButtonClick_();
}

Powered by Google App Engine
This is Rietveld 408576698