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

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

Issue 587013003: Add Print Preview UI to accept and reject printer sharing invitations. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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/data/destination_store.js
diff --git a/chrome/browser/resources/print_preview/data/destination_store.js b/chrome/browser/resources/print_preview/data/destination_store.js
index 10124417a84b9d2e9776bc87b3ef70b557f8da28..0a9cf280c0e96735ef5d01b35054528c963c21de 100644
--- a/chrome/browser/resources/print_preview/data/destination_store.js
+++ b/chrome/browser/resources/print_preview/data/destination_store.js
@@ -364,6 +364,10 @@ cr.define('print_preview', function() {
this.cloudPrintInterface_,
cloudprint.CloudPrintInterface.EventType.PRINTER_FAILED,
this.onCloudPrintPrinterFailed_.bind(this));
+ this.tracker_.add(
+ this.cloudPrintInterface_,
+ cloudprint.CloudPrintInterface.EventType.PROCESS_INVITE_DONE,
+ this.onCloudPrintProcessInviteDone_.bind(this));
},
/**
@@ -511,6 +515,13 @@ cr.define('print_preview', function() {
}
},
+ /** Initiates loading of all known destination types. */
+ startLoadAllDestinations: function() {
+ this.startLoadCloudDestinations();
+ this.startLoadLocalDestinations();
+ this.startLoadPrivetDestinations();
+ },
+
/**
* Wait for a privet device to be registered.
*/
@@ -836,6 +847,20 @@ cr.define('print_preview', function() {
},
/**
+ * Called when printer sharing invitation was processed successfully.
+ * @param {Event} event Contains detailed information about the invite and
+ * newly accepted destination (if known).
+ * @private
+ */
+ onCloudPrintProcessInviteDone_: function(event) {
+ if (event.accept && event.printer) {
+ // Hint the destination list to promote this new destination.
+ event.printer.isRecent = true;
Vitaly Buka (NO REVIEWS) 2014/09/22 01:25:15 Please add metricts somewhere to count accepts and
+ this.insertDestination_(event.printer);
+ }
+ },
+
+ /**
* Called when a Privet printer is added to the local network.
* @param {object} event Contains information about the added printer.
* @private
@@ -875,9 +900,7 @@ cr.define('print_preview', function() {
this.reset_();
this.isInAutoSelectMode_ = true;
this.createLocalPdfPrintDestination_();
- this.startLoadLocalDestinations();
- this.startLoadCloudDestinations();
- this.startLoadPrivetDestinations();
+ this.startLoadAllDestinations();
},
// TODO(vitalybuka): Remove three next functions replacing Destination.id

Powered by Google App Engine
This is Rietveld 408576698