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

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

Issue 2975663003: Print Preview: Fix followup issues for removing global JS functions (Closed)
Patch Set: Created 3 years, 5 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
« no previous file with comments | « no previous file | chrome/browser/resources/print_preview/data/invitation_store.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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.
11 * @param {!print_preview.NativeLayer} nativeLayer Used to fetch local print 11 * @param {!print_preview.NativeLayer} nativeLayer Used to fetch local print
12 * destinations. 12 * destinations.
13 * @param {!print_preview.UserInfo} userInfo User information repository. 13 * @param {!print_preview.UserInfo} userInfo User information repository.
14 * @param {!print_preview.AppState} appState Application state. 14 * @param {!print_preview.AppState} appState Application state.
15 * @param {!WebUIListenerTracker} listenerTracker Tracker for WebUI listeners
16 * added in DestinationStore constructor.
15 * @constructor 17 * @constructor
16 * @extends {cr.EventTarget} 18 * @extends {cr.EventTarget}
17 */ 19 */
18 function DestinationStore(nativeLayer, userInfo, appState) { 20 function DestinationStore(nativeLayer, userInfo, appState, listenerTracker) {
19 cr.EventTarget.call(this); 21 cr.EventTarget.call(this);
20 22
21 /** 23 /**
22 * Used to fetch local print destinations. 24 * Used to fetch local print destinations.
23 * @private {!print_preview.NativeLayer} 25 * @private {!print_preview.NativeLayer}
24 */ 26 */
25 this.nativeLayer_ = nativeLayer; 27 this.nativeLayer_ = nativeLayer;
26 28
27 /** 29 /**
28 * User information repository. 30 * User information repository.
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 173
172 /** 174 /**
173 * Whether to default to the system default printer instead of the most 175 * Whether to default to the system default printer instead of the most
174 * recent destination. 176 * recent destination.
175 * @private {boolean} 177 * @private {boolean}
176 */ 178 */
177 this.useSystemDefaultAsDefault_ = 179 this.useSystemDefaultAsDefault_ =
178 loadTimeData.getBoolean('useSystemDefaultPrinter'); 180 loadTimeData.getBoolean('useSystemDefaultPrinter');
179 181
180 this.reset_(); 182 this.reset_();
183
184 this.addWebUIEventListeners_(listenerTracker);
181 } 185 }
182 186
183 /** 187 /**
184 * Event types dispatched by the data store. 188 * Event types dispatched by the data store.
185 * @enum {string} 189 * @enum {string}
186 */ 190 */
187 DestinationStore.EventType = { 191 DestinationStore.EventType = {
188 DESTINATION_SEARCH_DONE: 192 DESTINATION_SEARCH_DONE:
189 'print_preview.DestinationStore.DESTINATION_SEARCH_DONE', 193 'print_preview.DestinationStore.DESTINATION_SEARCH_DONE',
190 DESTINATION_SEARCH_STARTED: 194 DESTINATION_SEARCH_STARTED:
(...skipping 351 matching lines...) Expand 10 before | Expand all | Expand 10 after
542 get isCloudDestinationSearchInProgress() { 546 get isCloudDestinationSearchInProgress() {
543 return !!this.cloudPrintInterface_ && 547 return !!this.cloudPrintInterface_ &&
544 this.cloudPrintInterface_.isCloudDestinationSearchInProgress; 548 this.cloudPrintInterface_.isCloudDestinationSearchInProgress;
545 }, 549 },
546 550
547 /** 551 /**
548 * Starts listening for relevant WebUI events and adds the listeners to 552 * Starts listening for relevant WebUI events and adds the listeners to
549 * |listenerTracker|. |listenerTracker| is responsible for removing the 553 * |listenerTracker|. |listenerTracker| is responsible for removing the
550 * listeners when necessary. 554 * listeners when necessary.
551 * @param {!WebUIListenerTracker} listenerTracker 555 * @param {!WebUIListenerTracker} listenerTracker
556 * @private
552 */ 557 */
553 addWebUIEventListeners: function(listenerTracker) { 558 addWebUIEventListeners_: function(listenerTracker) {
554 listenerTracker.add( 559 listenerTracker.add(
555 'privet-printer-added', this.onPrivetPrinterAdded_.bind(this)); 560 'privet-printer-added', this.onPrivetPrinterAdded_.bind(this));
556 listenerTracker.add( 561 listenerTracker.add(
557 'extension-printers-added', 562 'extension-printers-added',
558 this.onExtensionPrintersAdded_.bind(this)); 563 this.onExtensionPrintersAdded_.bind(this));
559 listenerTracker.add( 564 listenerTracker.add(
560 'reload-printer-list', this.onDestinationsReload.bind(this)); 565 'reload-printer-list', this.onDestinationsReload.bind(this));
561 }, 566 },
562 567
563 /** 568 /**
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after
872 new RegExp('^' + id.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + '$'), 877 new RegExp('^' + id.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + '$'),
873 null /*displayNameRegExp*/, false /*skipVirtualDestinations*/); 878 null /*displayNameRegExp*/, false /*skipVirtualDestinations*/);
874 }, 879 },
875 880
876 /** 881 /**
877 * Sets the destination store's Google Cloud Print interface. 882 * Sets the destination store's Google Cloud Print interface.
878 * @param {!cloudprint.CloudPrintInterface} cloudPrintInterface Interface 883 * @param {!cloudprint.CloudPrintInterface} cloudPrintInterface Interface
879 * to set. 884 * to set.
880 */ 885 */
881 setCloudPrintInterface: function(cloudPrintInterface) { 886 setCloudPrintInterface: function(cloudPrintInterface) {
887 assert(this.cloudPrintInterface_ == null);
882 this.cloudPrintInterface_ = cloudPrintInterface; 888 this.cloudPrintInterface_ = cloudPrintInterface;
883 this.tracker_.add( 889 this.tracker_.add(
884 this.cloudPrintInterface_, 890 this.cloudPrintInterface_,
885 cloudprint.CloudPrintInterfaceEventType.SEARCH_DONE, 891 cloudprint.CloudPrintInterfaceEventType.SEARCH_DONE,
886 this.onCloudPrintSearchDone_.bind(this)); 892 this.onCloudPrintSearchDone_.bind(this));
887 this.tracker_.add( 893 this.tracker_.add(
888 this.cloudPrintInterface_, 894 this.cloudPrintInterface_,
889 cloudprint.CloudPrintInterfaceEventType.SEARCH_FAILED, 895 cloudprint.CloudPrintInterfaceEventType.SEARCH_FAILED,
890 this.onCloudPrintSearchDone_.bind(this)); 896 this.onCloudPrintSearchDone_.bind(this));
891 this.tracker_.add( 897 this.tracker_.add(
(...skipping 760 matching lines...) Expand 10 before | Expand all | Expand 10 after
1652 */ 1658 */
1653 getKey_: function(destination) { 1659 getKey_: function(destination) {
1654 return this.getDestinationKey_( 1660 return this.getDestinationKey_(
1655 destination.origin, destination.id, destination.account); 1661 destination.origin, destination.id, destination.account);
1656 } 1662 }
1657 }; 1663 };
1658 1664
1659 // Export 1665 // Export
1660 return {DestinationStore: DestinationStore}; 1666 return {DestinationStore: DestinationStore};
1661 }); 1667 });
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/resources/print_preview/data/invitation_store.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698