summaryrefslogtreecommitdiffstats
path: root/chromium/chrome/browser/resources/settings/printing_page/cups_printer_dialog_util.js
diff options
context:
space:
mode:
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.js37
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,
};
});