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

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

Issue 10108001: Refactor print preview web ui (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove new widget Created 8 years, 8 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 | Annotate | Revision Log
OLDNEW
(Empty)
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.
4
5 cr.define('print_preview', function() {
6 'use strict';
7
8 function ChromiumPrintTicket(capabilities) {
dpapad1 2012/04/19 22:45:01 Could you add documentation (@type,@param,@returs
Robert Toscano 2012/04/23 23:00:09 Done.
9 this.capabilities_ = capabilities;
10 this.pageRangeStr_ = null;
11 this.copiesStr_ = null;
12 this.isCollateEnabled_ = null;
13 this.isDuplexEnabled_ = null;
14 this.isLandscapeEnabled_ = null;
15 this.isColorEnabled_ = null;
16 this.marginsType_ = null;
17 this.customMargins_ = null;
18 this.isHeaderFooterEnabled_ = null;
19 };
20
21 ChromiumPrintTicket.prototype = {
22 get pageRangeStr() {
23 return this.getValue_(
24 this.capabilities_.hasPageRangeCapability,
25 this.pageRangeStr_,
26 this.capabilities_.defaultPageRangeStr,
27 '');
28 },
29
30 set pageRangeStr(pageRangeStr) {
31 this.pageRangeStr_ = pageRangeStr;
32 },
33
34 get copiesStr() {
35 return this.getValue_(
36 this.capabilities_.hasCopiesCapability,
37 this.copiesStr_,
38 this.capabilities_.defaultCopiesStr,
39 '1');
40 },
41
42 set copiesStr(copiesStr) {
43 this.copiesStr_ = copiesStr;
44 },
45
46 get isCollateEnabled() {
47 return this.getValue_(
48 this.capabilities_.hasCollateCapability,
49 this.isCollateEnabled_,
50 this.capabilities_.defaultIsCollateEnabled,
51 true);
52 },
53
54 set isCollateEnabled(isCollateEnabled) {
55 this.isCollateEnabled_ = isCollateEnabled;
56 },
57
58 get isDuplexEnabled() {
59 return this.getValue_(
60 this.capabilities_.hasDuplexCapability,
61 this.isDuplexEnabled_,
62 this.capabilities_.defaultIsDuplexEnabled,
63 true);
64 },
65
66 set isDuplexEnabled(isDuplexEnabled) {
67 this.isDuplexEnabled_ = isDuplexEnabled;
68 },
69
70 get duplexMode() {
71 return this.isDuplexEnabled ?
72 ChromiumCapabilities.DuplexMode.LONG_EDGE :
73 ChromiumCapabilities.DuplexMode.SIMPLEX;
74 },
75
76 get isLandscapeEnabled() {
77 return this.getValue_(
78 this.capabilities_.hasOrientationCapability,
79 this.isLandscapeEnabled_,
80 this.capabilities_.defaultIsLandscapeEnabled,
81 false);
82 },
83
84 set isLandscapeEnabled(isLandscapeEnabled) {
85 this.isLandscapeEnabled_ = isLandscapeEnabled;
86 },
87
88 get isColorEnabled() {
89 return this.getValue_(
90 this.capabilities_.hasColorCapability,
91 this.isColorEnabled_,
92 this.capabilities_.defaultIsColorEnabled,
93 false);
94 },
95
96 get colorMode() {
97 return this.isColorEnabled ?
98 ChromiumCapabilities.ColorMode.COLOR :
99 ChromiumCapabilities.ColorMode.GRAY;
100 },
101
102 set isColorEnabled(isColorEnabled) {
103 this.isColorEnabled_ = isColorEnabled;
104 },
105
106 get marginsType() {
107 return this.getValue_(
108 this.capabilities_.hasMarginsCapability,
109 this.marginsType_,
110 this.capabilities_.defaultMarginsType,
111 print_preview.Margins.Type.DEFAULT);
112 },
113
114 set marginsType(marginsType) {
115 this.marginsType_ = marginsType;
116 },
117
118 get customMargins() {
119 return this.getValue_(
120 this.capabilities_.hasMarginsCapability,
121 this.customMargins_,
122 this.capabilities_.defaultCustomMargins,
123 null);
124 },
125
126 set customMargins(customMargins) {
127 this.customMargins_ = customMargins;
128 },
129
130 get isHeaderFooterEnabled() {
131 return this.getValue_(
132 this.capabilities_.hasHeaderFooterCapability,
133 this.isHeaderFooterEnabled_,
134 this.capabilities_.defaultIsHeaderFooterEnabled,
135 true);
136 },
137
138 set isHeaderFooterEnabled(isHeaderFooterEnabled) {
139 this.isHeaderFooterEnabled_ = isHeaderFooterEnabled;
140 },
141
142 getValue_: function(hasCap, userVal, defaultCapVal, defaultChromiumVal) {
143 if (hasCap && userVal != null) {
144 return userVal;
145 } else if (hasCap && defaultCapVal != null) {
146 return defaultCapVal;
147 } else {
148 return defaultChromiumVal;
149 }
150 }
151 };
152
153 function ChromiumCapabilities() {
154 this.hasPageRangeCapability = false;
155 this.defaultPageRangeStr = '';
156 this.hasCopiesCapability = false;
157 this.defaultCopiesStr = '1';
158 this.hasCollateCapability = false;
159 this.defaultIsCollateEnabled = false;
160 this.hasDuplexCapability = false;
161 this.defaultIsDuplexEnabled = false;
162 this.hasOrientationCapability = false;
163 this.defaultIsLandscapeEnabled = false;
164 this.hasColorCapability = false;
165 this.defaultIsColorEnabled = false;
166 this.hasMarginsCapability = false;
167 this.defaultMarginsType = print_preview.Margins.Type.DEFAULT;
168 this.defaultCustomMargins = new print_preview.Margins(72, 72, 72, 72);
169 this.hasHeaderFooterCapability = false;
170 this.defaultIsHeaderFooterEnabled = true;
171 };
172
173 /**
174 * Constant values matching printing::DuplexMode enum.
175 * @enum {number}
176 * @private
177 */
178 ChromiumCapabilities.DuplexMode = {
179 SIMPLEX: 0,
180 LONG_EDGE: 1,
181 UNKNOWN_DUPLEX_MODE: -1
182 };
183
184 /**
185 * Enumeration of color modes used by Chromium.
186 * @enum {number}
187 * @private
188 */
189 ChromiumCapabilities.ColorMode = {
190 GRAY: 1,
191 COLOR: 2
192 };
193
194 // Export
195 return {
196 ChromiumCapabilities: ChromiumCapabilities,
197 ChromiumPrintTicket: ChromiumPrintTicket
198 };
199 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698