diff options
Diffstat (limited to 'chromium/chrome/browser/resources/settings/printing_page/cups_printer_dialog_util.js')
-rw-r--r-- | chromium/chrome/browser/resources/settings/printing_page/cups_printer_dialog_util.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/chromium/chrome/browser/resources/settings/printing_page/cups_printer_dialog_util.js b/chromium/chrome/browser/resources/settings/printing_page/cups_printer_dialog_util.js index 15542cb8d1c..46b1be62226 100644 --- a/chromium/chrome/browser/resources/settings/printing_page/cups_printer_dialog_util.js +++ b/chromium/chrome/browser/resources/settings/printing_page/cups_printer_dialog_util.js @@ -141,6 +141,40 @@ cr.define('settings.printing', function() { } } + /** + * We sort by printer type, which is based off of a maintained list in + * cups_printers_types.js. If the types are the same, we sort alphabetically. + * @param {!PrinterListEntry} first + * @param {!PrinterListEntry} second + * @return {number} + */ + function sortPrinters(first, second) { + if (first.printerType == second.printerType) { + return settings.printing.alphabeticalSort( + first.printerInfo, second.printerInfo); + } + + return first.printerType - second.printerType; + } + + /** + * @param {!CupsPrinterInfo} printer + * @param {string} searchTerm + * @return {boolean} True if the printer has |searchTerm| in its name. + */ + function matchesSearchTerm(printer, searchTerm) { + return printer.printerName.toLowerCase().includes(searchTerm.toLowerCase()); + } + + /** + * @param {!PrinterListEntry} first + * @param {!PrinterListEntry} second + * @return {boolean} + */ + function arePrinterIdsEqual(first, second) { + return first.printerInfo.printerId == second.printerInfo.printerId; + } + return { isNetworkProtocol: isNetworkProtocol, isNameAndAddressValid: isNameAndAddressValid, @@ -148,5 +182,8 @@ cr.define('settings.printing', function() { getBaseName: getBaseName, alphabeticalSort: alphabeticalSort, getErrorText: getErrorText, + sortPrinters: sortPrinters, + matchesSearchTerm: matchesSearchTerm, + arePrinterIdsEqual: arePrinterIdsEqual, }; }); |