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

Side by Side Diff: chrome/browser/resources/print_preview/data/destination_store.js

Issue 11194020: Creates GCP promo for ChromeOS users with no cloud printers. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Merge with trunk. Created 8 years, 2 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 cr.define('print_preview', function() { 5 cr.define('print_preview', function() {
6 'use strict'; 6 'use strict';
7 7
8 /** 8 /**
9 * A data store that stores destinations and dispatches events when the data 9 * A data store that stores destinations and dispatches events when the data
10 * store changes. 10 * store changes.
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 DESTINATION_SEARCH_STARTED: 136 DESTINATION_SEARCH_STARTED:
137 'print_preview.DestinationStore.DESTINATION_SEARCH_STARTED', 137 'print_preview.DestinationStore.DESTINATION_SEARCH_STARTED',
138 DESTINATION_SELECT: 'print_preview.DestinationStore.DESTINATION_SELECT', 138 DESTINATION_SELECT: 'print_preview.DestinationStore.DESTINATION_SELECT',
139 DESTINATIONS_INSERTED: 139 DESTINATIONS_INSERTED:
140 'print_preview.DestinationStore.DESTINATIONS_INSERTED', 140 'print_preview.DestinationStore.DESTINATIONS_INSERTED',
141 SELECTED_DESTINATION_CAPABILITIES_READY: 141 SELECTED_DESTINATION_CAPABILITIES_READY:
142 'print_preview.DestinationStore.SELECTED_DESTINATION_CAPABILITIES_READY' 142 'print_preview.DestinationStore.SELECTED_DESTINATION_CAPABILITIES_READY'
143 }; 143 };
144 144
145 /** 145 /**
146 * Number of built-in print destinations. This includes the "Save as PDF"
147 * destination.
148 * @type {number}
149 * @const
150 */
151 DestinationStore.BUILT_IN_DESTINATION_COUNT = 1;
152
153 /**
154 * Delay in milliseconds before the destination store ignores the initial 146 * Delay in milliseconds before the destination store ignores the initial
155 * destination ID and just selects any printer (since the initial destination 147 * destination ID and just selects any printer (since the initial destination
156 * was not found). 148 * was not found).
157 * @type {number} 149 * @type {number}
158 * @const 150 * @const
159 * @private 151 * @private
160 */ 152 */
161 DestinationStore.AUTO_SELECT_TIMEOUT_ = 15000; 153 DestinationStore.AUTO_SELECT_TIMEOUT_ = 15000;
162 154
163 /** 155 /**
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
276 this.tracker_.add( 268 this.tracker_.add(
277 this.cloudPrintInterface_, 269 this.cloudPrintInterface_,
278 cloudprint.CloudPrintInterface.EventType.PRINTER_FAILED, 270 cloudprint.CloudPrintInterface.EventType.PRINTER_FAILED,
279 this.onCloudPrintPrinterFailed_.bind(this)); 271 this.onCloudPrintPrinterFailed_.bind(this));
280 // Fetch initial destination if its a cloud destination. 272 // Fetch initial destination if its a cloud destination.
281 if (this.isInAutoSelectMode_ && !this.isInitialDestinationLocal_) { 273 if (this.isInAutoSelectMode_ && !this.isInitialDestinationLocal_) {
282 this.cloudPrintInterface_.printer(this.initialDestinationId_); 274 this.cloudPrintInterface_.printer(this.initialDestinationId_);
283 } 275 }
284 }, 276 },
285 277
278 /**
279 * @return {boolean} Whether only default cloud destinations have been
280 * loaded.
281 */
282 hasOnlyDefaultCloudDestinations: function() {
283 return this.destinations_.every(function(dest) {
284 return dest.isLocal ||
285 dest.id == print_preview.Destination.GooglePromotedId.DOCS ||
286 dest.id == print_preview.Destination.GooglePromotedId.FEDEX;
287 });
288 },
289
286 /** @param {!print_preview.Destination} Destination to select. */ 290 /** @param {!print_preview.Destination} Destination to select. */
287 selectDestination: function(destination) { 291 selectDestination: function(destination) {
288 this.selectedDestination_ = destination; 292 this.selectedDestination_ = destination;
289 this.selectedDestination_.isRecent = true; 293 this.selectedDestination_.isRecent = true;
290 this.isInAutoSelectMode_ = false; 294 this.isInAutoSelectMode_ = false;
291 if (this.autoSelectTimeout_ != null) { 295 if (this.autoSelectTimeout_ != null) {
292 clearTimeout(this.autoSelectTimeout_); 296 clearTimeout(this.autoSelectTimeout_);
293 this.autoSelectTimeout_ = null; 297 this.autoSelectTimeout_ = null;
294 } 298 }
295 if (destination.id == print_preview.Destination.GooglePromotedId.FEDEX && 299 if (destination.id == print_preview.Destination.GooglePromotedId.FEDEX &&
(...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after
634 'No destinations were loaded before auto-select timeout expired'); 638 'No destinations were loaded before auto-select timeout expired');
635 this.selectDestination(this.destinations_[0]); 639 this.selectDestination(this.destinations_[0]);
636 } 640 }
637 }; 641 };
638 642
639 // Export 643 // Export
640 return { 644 return {
641 DestinationStore: DestinationStore 645 DestinationStore: DestinationStore
642 }; 646 };
643 }); 647 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/print_preview/data/app_state.js ('k') | chrome/browser/resources/print_preview/metrics.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698