Add a feature flag to use the CUPS IPP printing backend on macOS

Add |printing::features::kCupsIppPrintingBackend| and the corresponding
UI in chrome://flags for switching printing backends on macOS.

The existing CUPS backend calls the deprecated PPD API. In a future CL,
the switch will allow use of the CUPS IPP backend, which uses an
up-to-date API for fetching printer attributes and managing printers.

The flag does not do anything yet.

Bug: 226176
Change-Id: Ifbacfbd1872eb7c47b3130694de920a94f42fc15
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2063220
Commit-Queue: Daniel Hosseinian <[email protected]>
Reviewed-by: Lei Zhang <[email protected]>
Reviewed-by: Sean Kau <[email protected]>
Cr-Commit-Position: refs/heads/master@{#750018}
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index 47003ef..eec9412 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -3372,6 +3372,13 @@
 #endif  // BUILDFLAG(ENABLE_PDF)
 
 #if BUILDFLAG(ENABLE_PRINTING)
+#if defined(OS_MACOSX)
+    {"cups-ipp-printing-backend",
+     flag_descriptions::kCupsIppPrintingBackendName,
+     flag_descriptions::kCupsIppPrintingBackendDescription, kOsMac,
+     FEATURE_VALUE_TYPE(printing::features::kCupsIppPrintingBackend)},
+#endif  // defined(OS_MACOSX)
+
 #if defined(OS_WIN)
     {"use-xps-for-printing", flag_descriptions::kUseXpsForPrintingName,
      flag_descriptions::kUseXpsForPrintingDescription, kOsWin,