Disable view source for Developer Tools.
[chromium-blink-merge.git] / chrome / browser / resources / print_preview / data / ticket_items / fit_to_page.js
blob1023ce1f41a49fbda14b3cdefc86c0db82c38e53
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.ticket_items', function() {
6   'use strict';
8   /**
9    * Fit-to-page ticket item whose value is a {@code boolean} that indicates
10    * whether to scale the document to fit the page.
11    * @param {!print_preview.DocumentInfo} documentInfo Information about the
12    *     document to print.
13    * @param {!print_preview.DestinationStore} destinationStore Used to determine
14    *     whether fit to page should be available.
15    * @constructor
16    * @extends {print_preview.ticket_items.TicketItem}
17    */
18   function FitToPage(documentInfo, destinationStore) {
19     print_preview.ticket_items.TicketItem.call(
20         this,
21         null /*appState*/,
22         null /*field*/,
23         destinationStore,
24         documentInfo);
25   };
27   FitToPage.prototype = {
28     __proto__: print_preview.ticket_items.TicketItem.prototype,
30     /** @override */
31     wouldValueBeValid: function(value) {
32       return true;
33     },
35     /** @override */
36     isCapabilityAvailable: function() {
37       return !this.getDocumentInfoInternal().isModifiable &&
38           (!this.getSelectedDestInternal() ||
39               this.getSelectedDestInternal().id !=
40                   print_preview.Destination.GooglePromotedId.SAVE_AS_PDF);
41     },
43     /** @override */
44     getDefaultValueInternal: function() {
45       return !this.getDocumentInfoInternal().isScalingDisabled;
46     },
48     /** @override */
49     getCapabilityNotAvailableValueInternal: function() {
50       return !this.getSelectedDestInternal() ||
51           this.getSelectedDestInternal().id !=
52               print_preview.Destination.GooglePromotedId.SAVE_AS_PDF;
53     }
54   };
56   // Export
57   return {
58     FitToPage: FitToPage
59   };
60 });