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

Unified Diff: chrome/browser/resources/print_preview/data/ticket_items/page_range.js

Issue 12209086: Page range comparisons should use document size. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/resources/print_preview/data/ticket_items/page_range.js
diff --git a/chrome/browser/resources/print_preview/data/ticket_items/page_range.js b/chrome/browser/resources/print_preview/data/ticket_items/page_range.js
index 2fc715217f0b56c82e52de1eafb0d87717850f69..d5b2b6ab839eff2d7e6c68b7902b2538cd989bb2 100644
--- a/chrome/browser/resources/print_preview/data/ticket_items/page_range.js
+++ b/chrome/browser/resources/print_preview/data/ticket_items/page_range.js
@@ -24,13 +24,21 @@ cr.define('print_preview.ticket_items', function() {
this.documentInfo_ = documentInfo;
};
+ /**
+ * Impossibly large page number.
+ * @type {number}
+ * @const
+ * @private
+ */
+ PageRange.MAX_PAGE_NUMBER_ = 1000000000;
+
PageRange.prototype = {
__proto__: print_preview.ticket_items.TicketItem.prototype,
/** @override */
wouldValueBeValid: function(value) {
- return value == '' ||
- isPageRangeTextValid(value, this.documentInfo_.pageCount);
+ return null != pageRangeTextToPageRanges(value,
+ this.documentInfo_.pageCount);
},
/**
@@ -38,13 +46,9 @@ cr.define('print_preview.ticket_items', function() {
* page range string.
*/
getPageNumberSet: function() {
- if (this.isValid()) {
- return print_preview.PageNumberSet.parse(
- this.getValue(), this.documentInfo_.pageCount);
- } else {
- return print_preview.PageNumberSet.parse(
- this.getDefaultValueInternal(), this.documentInfo_.pageCount);
- }
+ var pageNumberList = pageRangeTextToPageList(
+ this.getValue(), this.documentInfo_.pageCount);
+ return new print_preview.PageNumberSet(pageNumberList);
},
/** @override */
@@ -60,7 +64,28 @@ cr.define('print_preview.ticket_items', function() {
/** @override */
getCapabilityNotAvailableValueInternal: function() {
return '';
- }
+ },
+
+ /**
+ * @return {!Array.<object.<{from: number, to: number}>>} A list of page
+ * ranges.
+ */
+ getPageRanges: function() {
+ var page_ranges = pageRangeTextToPageRanges(this.getValue());
+ return page_ranges ? page_ranges : [];
+ },
+
+ /**
+ * @return {!Array.<object.<{from: number, to: number}>>} A list of page
+ * ranges suitable for use in the native layer.
+ * TODO(vitalybuka): this should be removed when native layer switched to
+ * page ranges.
+ */
+ getDocumentPageRanges: function() {
+ var page_ranges = pageRangeTextToPageRanges(this.getValue(),
+ this.documentInfo_.pageCount);
+ return page_ranges ? page_ranges : [];
+ },
};
// Export

Powered by Google App Engine
This is Rietveld 408576698