| 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
|
|
|