Add new certificateProvider extension API.
[chromium-blink-merge.git] / chrome / browser / resources / print_preview / search / cloud_destination_list.js
blobe8c671009c9493c16e5dea9af173f5b7f4be79dc
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
3 // found in the LICENSE file.
5 cr.define('print_preview', function() {
6   'use strict';
8   /**
9    * Sub-class of a destination list that shows cloud-based destinations.
10    * @param {!cr.EventTarget} eventTarget Event target to pass to destination
11    *     items for dispatching SELECT events.
12    * @constructor
13    * @extends {print_preview.DestinationList}
14    */
15   function CloudDestinationList(eventTarget) {
16     print_preview.DestinationList.call(
17         this,
18         eventTarget,
19         loadTimeData.getString('cloudDestinationsTitle'),
20         loadTimeData.getString('manage'));
21   };
23   CloudDestinationList.prototype = {
24     __proto__: print_preview.DestinationList.prototype,
26     /** @override */
27     updateDestinations: function(destinations) {
28       // Change the action link from "Manage..." to "Setup..." if user only has
29       // Docs and FedEx printers.
30       var docsId = print_preview.Destination.GooglePromotedId.DOCS;
31       var fedexId = print_preview.Destination.GooglePromotedId.FEDEX;
32       if ((destinations.length == 1 && destinations[0].id == docsId) ||
33           (destinations.length == 2 &&
34            ((destinations[0].id == docsId && destinations[1].id == fedexId) ||
35             (destinations[0].id == fedexId && destinations[1].id == docsId)))) {
36         this.setActionLinkTextInternal(
37             loadTimeData.getString('setupCloudPrinters'));
38       } else {
39         this.setActionLinkTextInternal(loadTimeData.getString('manage'));
40       }
41       print_preview.DestinationList.prototype.updateDestinations.call(
42           this, destinations);
43     }
44   };
46   return {
47     CloudDestinationList: CloudDestinationList
48   };
49 });