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

Side by Side Diff: chrome/browser/resources/print_preview/print_preview_utils.js

Issue 8605001: Print Preview: Fixing code style issues reported by gsjlint. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebasing Created 9 years, 1 month 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
« no previous file with comments | « chrome/browser/resources/print_preview/print_preview_cloud.js ('k') | no next file » | 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 /** 5 /**
6 * Returns true if |toTest| contains only digits. Leading and trailing
7 * whitespace is allowed.
8 * @param {string} toTest The string to be tested. 6 * @param {string} toTest The string to be tested.
7 * @return {boolean} True if |toTest| contains only digits. Leading and trailing
8 * whitespace is allowed.
9 */ 9 */
10 function isInteger(toTest) { 10 function isInteger(toTest) {
11 var numericExp = /^\s*[0-9]+\s*$/; 11 var numericExp = /^\s*[0-9]+\s*$/;
12 return numericExp.test(toTest); 12 return numericExp.test(toTest);
13 } 13 }
14 14
15 /** 15 /**
16 * Returns true if |value| is a valid non zero positive integer. 16 * Returns true if |value| is a valid non zero positive integer.
17 * @param {string} value The string to be tested. 17 * @param {string} value The string to be tested.
18 * 18 *
19 * @return {boolean} true if the |value| is valid non zero positive integer. 19 * @return {boolean} true if the |value| is valid non zero positive integer.
20 */ 20 */
21 function isPositiveInteger(value) { 21 function isPositiveInteger(value) {
22 return isInteger(value) && parseInt(value, 10) > 0; 22 return isInteger(value) && parseInt(value, 10) > 0;
23 } 23 }
24 24
25 /** 25 /**
26 * Returns true if the contents of the two arrays are equal. 26 * Returns true if the contents of the two arrays are equal.
27 * @param {Array} array1 The first array. 27 * @param {Array} array1 The first array.
28 * @param {Array} array1 The second array. 28 * @param {Array} array2 The second array.
29 * 29 *
30 * @return {boolean} true if the arrays are equal. 30 * @return {boolean} true if the arrays are equal.
31 */ 31 */
32 function areArraysEqual(array1, array2) { 32 function areArraysEqual(array1, array2) {
33 if (array1.length != array2.length) 33 if (array1.length != array2.length)
34 return false; 34 return false;
35 for (var i = 0; i < array1.length; i++) 35 for (var i = 0; i < array1.length; i++)
36 if(array1[i] != array2[i]) 36 if (array1[i] != array2[i])
37 return false; 37 return false;
38 return true; 38 return true;
39 } 39 }
40 40
41 /** 41 /**
42 * Removes duplicate elements from |inArray| and returns a new array. 42 * Removes duplicate elements from |inArray| and returns a new array.
43 * |inArray| is not affected. It assumes that |inArray| is already sorted. 43 * |inArray| is not affected. It assumes that |inArray| is already sorted.
44 * 44 * @param {array} inArray The array to be processed.
45 * @param {Array} inArray The array to be processed. 45 * @return {array} The array after processing.
46 */ 46 */
47 function removeDuplicates(inArray) { 47 function removeDuplicates(inArray) {
48 var out = []; 48 var out = [];
49 49
50 if(inArray.length == 0) 50 if (inArray.length == 0)
51 return out; 51 return out;
52 52
53 out.push(inArray[0]); 53 out.push(inArray[0]);
54 for (var i = 1; i < inArray.length; ++i) 54 for (var i = 1; i < inArray.length; ++i)
55 if(inArray[i] != inArray[i - 1]) 55 if (inArray[i] != inArray[i - 1])
56 out.push(inArray[i]); 56 out.push(inArray[i]);
57 return out; 57 return out;
58 } 58 }
59 59
60 /** 60 /**
61 * Checks if |pageRangeText| represents a valid page selection. 61 * Checks if |pageRangeText| represents a valid page selection.
62 * A valid selection has a parsable format and every page identifier is 62 * A valid selection has a parsable format and every page identifier is
63 * <= |totalPageCount| unless wildcards are used (see examples). 63 * <= |totalPageCount| unless wildcards are used (see examples).
64 * Example: "1-4, 9, 3-6, 10, 11" is valid, assuming |totalPageCount| >= 11. 64 * Example: "1-4, 9, 3-6, 10, 11" is valid, assuming |totalPageCount| >= 11.
65 * Example: "1-4, 6-6" is valid, assuming |totalPageCount| >= 6. 65 * Example: "1-4, 6-6" is valid, assuming |totalPageCount| >= 6.
66 * Example: "2-" is valid, assuming |totalPageCount| >= 2, means from 2 to the 66 * Example: "2-" is valid, assuming |totalPageCount| >= 2, means from 2 to the
67 * end. 67 * end.
68 * Example: "1-10000" is valid, regardless of |totalPageCount|, means from 1 to 68 * Example: "1-10000" is valid, regardless of |totalPageCount|, means from 1 to
69 * the end if |totalPageCount| < 10000. 69 * the end if |totalPageCount| < 10000.
70 * Example: "1-4dsf, 11" is invalid regardless of |totalPageCount|. 70 * Example: "1-4dsf, 11" is invalid regardless of |totalPageCount|.
71 * Example: "4-2, 11, -6" is invalid regardless of |totalPageCount|. 71 * Example: "4-2, 11, -6" is invalid regardless of |totalPageCount|.
72 * 72 *
73 * Note: If |totalPageCount| is undefined the validation does not take 73 * Note: If |totalPageCount| is undefined the validation does not take
74 * |totalPageCount| into account. 74 * |totalPageCount| into account.
75 * Example: "34853253" is valid. 75 * Example: "34853253" is valid.
76 * Example: "1-4, 9, 3-6, 10, 11" is valid. 76 * Example: "1-4, 9, 3-6, 10, 11" is valid.
77 * 77 *
78 * @param {string} pageRangeText The text to be checked.
79 * @param {number} totalPageCount The total number of pages.
78 * @return {boolean} true if the |pageRangeText| is valid. 80 * @return {boolean} true if the |pageRangeText| is valid.
79 */ 81 */
80 function isPageRangeTextValid(pageRangeText, totalPageCount) { 82 function isPageRangeTextValid(pageRangeText, totalPageCount) {
81 var regex = /^\s*([0-9]+)\s*-\s*([0-9]*)\s*$/; 83 var regex = /^\s*([0-9]+)\s*-\s*([0-9]*)\s*$/;
82 var successfullyParsed = 0; 84 var successfullyParsed = 0;
83 85
84 // Splitting around commas. 86 // Splitting around commas.
85 var parts = pageRangeText.split(/,/); 87 var parts = pageRangeText.split(/,/);
86 88
87 for (var i = 0; i < parts.length; ++i) { 89 for (var i = 0; i < parts.length; ++i) {
(...skipping 17 matching lines...) Expand all
105 } 107 }
106 return successfullyParsed > 0; 108 return successfullyParsed > 0;
107 } 109 }
108 110
109 /** 111 /**
110 * Returns a list of all pages specified in |pagesRangeText|. The pages are 112 * Returns a list of all pages specified in |pagesRangeText|. The pages are
111 * listed in the order they appear in |pageRangeText| and duplicates are not 113 * listed in the order they appear in |pageRangeText| and duplicates are not
112 * eliminated. If |pageRangeText| is not valid according to 114 * eliminated. If |pageRangeText| is not valid according to
113 * isPageRangeTextValid(), or |totalPageCount| is undefined an empty list is 115 * isPageRangeTextValid(), or |totalPageCount| is undefined an empty list is
114 * returned. 116 * returned.
115 * 117 * @param {string} pageRangeText The text to be checked.
116 * @return {Array} 118 * @param {number} totalPageCount The total number of pages.
119 * @return {array} A list of all pages.
117 */ 120 */
118 function pageRangeTextToPageList(pageRangeText, totalPageCount) { 121 function pageRangeTextToPageList(pageRangeText, totalPageCount) {
119 var pageList = []; 122 var pageList = [];
120 if ((totalPageCount && !isPageRangeTextValid(pageRangeText, totalPageCount)) 123 if ((totalPageCount && !isPageRangeTextValid(pageRangeText, totalPageCount))
121 || !totalPageCount) { 124 || !totalPageCount) {
122 return pageList; 125 return pageList;
123 } 126 }
124 127
125 var regex = /^\s*([0-9]+)\s*-\s*([0-9]*)\s*$/; 128 var regex = /^\s*([0-9]+)\s*-\s*([0-9]*)\s*$/;
126 var parts = pageRangeText.split(/,/); 129 var parts = pageRangeText.split(/,/);
(...skipping 12 matching lines...) Expand all
139 if (isPositiveInteger(singlePageNumber) && 142 if (isPositiveInteger(singlePageNumber) &&
140 singlePageNumber <= totalPageCount) { 143 singlePageNumber <= totalPageCount) {
141 pageList.push(singlePageNumber); 144 pageList.push(singlePageNumber);
142 } 145 }
143 } 146 }
144 } 147 }
145 return pageList; 148 return pageList;
146 } 149 }
147 150
148 /** 151 /**
149 * Returns the contents of |pageList| in ascending order and without any 152 * @param {array} pageList The list to be processed.
150 * duplicates. |pageList| is not affected. 153 * @return {array} The contents of |pageList| in ascending order and without any
151 * 154 * duplicates. |pageList| is not affected.
152 * @return {Array}
153 */ 155 */
154 function pageListToPageSet(pageList) { 156 function pageListToPageSet(pageList) {
155 var pageSet = []; 157 var pageSet = [];
156 if (pageList.length == 0) 158 if (pageList.length == 0)
157 return pageSet; 159 return pageSet;
158 pageSet = pageList.slice(0); 160 pageSet = pageList.slice(0);
159 pageSet.sort(function(a,b) { return a - b; }); 161 pageSet.sort(function(a, b) { return a - b; });
160 pageSet = removeDuplicates(pageSet); 162 pageSet = removeDuplicates(pageSet);
161 return pageSet; 163 return pageSet;
162 } 164 }
163 165
164 /** 166 /**
165 * Converts |pageSet| to page ranges. It squashes whenever possible. 167 * Converts |pageSet| to page ranges. It squashes whenever possible.
166 * Example: '1-2,3,5-7' becomes 1-3,5-7. 168 * Example: '1-2,3,5-7' becomes 1-3,5-7.
167 * 169 *
170 * @param {array} pageSet The set of pages to be processed. Callers should
171 * ensure that no duplicates exist.
168 * @return {Array} an array of page range objects. A page range object has 172 * @return {Array} an array of page range objects. A page range object has
169 * fields 'from' and 'to'. 173 * fields 'from' and 'to'.
170 */ 174 */
171 function pageSetToPageRanges(pageSet) { 175 function pageSetToPageRanges(pageSet) {
172 var pageRanges = []; 176 var pageRanges = [];
173 for (var i = 0; i < pageSet.length; ++i) { 177 for (var i = 0; i < pageSet.length; ++i) {
174 tempFrom = pageSet[i]; 178 tempFrom = pageSet[i];
175 while (i + 1 < pageSet.length && pageSet[i + 1] == pageSet[i] + 1) 179 while (i + 1 < pageSet.length && pageSet[i + 1] == pageSet[i] + 1)
176 ++i; 180 ++i;
177 tempTo = pageSet[i]; 181 tempTo = pageSet[i];
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
236 } 240 }
237 241
238 /** 242 /**
239 * Converts |value| from points to millimeters. 243 * Converts |value| from points to millimeters.
240 * @param {number} value The number in points. 244 * @param {number} value The number in points.
241 * @return {number} |value| in millimeters. 245 * @return {number} |value| in millimeters.
242 */ 246 */
243 function convertPointsToMillimeters(value) { 247 function convertPointsToMillimeters(value) {
244 return value / POINTS_PER_MILLIMETER; 248 return value / POINTS_PER_MILLIMETER;
245 } 249 }
OLDNEW
« no previous file with comments | « chrome/browser/resources/print_preview/print_preview_cloud.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698