123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- // Copyright 2019 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #include "printing/printing_features.h"
- #include "build/build_config.h"
- #include "printing/buildflags/buildflags.h"
- #if BUILDFLAG(ENABLE_OOP_PRINTING)
- #include "base/metrics/field_trial_params.h"
- #endif
- namespace printing {
- namespace features {
- #if BUILDFLAG(IS_MAC)
- // Use the CUPS IPP printing backend instead of the original CUPS backend that
- // calls the deprecated PPD API.
- const base::Feature kCupsIppPrintingBackend{"CupsIppPrintingBackend",
- base::FEATURE_ENABLED_BY_DEFAULT};
- #endif // BUILDFLAG(IS_MAC)
- #if BUILDFLAG(IS_WIN)
- // When using PostScript level 3 printing, render text with Type 42 fonts if
- // possible.
- const base::Feature kPrintWithPostScriptType42Fonts{
- "PrintWithPostScriptType42Fonts", base::FEATURE_DISABLED_BY_DEFAULT};
- // When using GDI printing, avoid rasterization if possible.
- const base::Feature kPrintWithReducedRasterization{
- "PrintWithReducedRasterization", base::FEATURE_DISABLED_BY_DEFAULT};
- // Read printer capabilities with XPS when use XPS for printing.
- const base::Feature kReadPrinterCapabilitiesWithXps{
- "ReadPrinterCapabilitiesWithXps", base::FEATURE_DISABLED_BY_DEFAULT};
- // Use XPS for printing instead of GDI.
- const base::Feature kUseXpsForPrinting{"UseXpsForPrinting",
- base::FEATURE_DISABLED_BY_DEFAULT};
- // Use XPS for printing instead of GDI for printing PDF documents. This is
- // independent of `kUseXpsForPrinting`; can use XPS for PDFs even if still using
- // GDI for modifiable content.
- const base::Feature kUseXpsForPrintingFromPdf{
- "UseXpsForPrintingFromPdf", base::FEATURE_DISABLED_BY_DEFAULT};
- bool IsXpsPrintCapabilityRequired() {
- return base::FeatureList::IsEnabled(features::kUseXpsForPrinting) ||
- base::FeatureList::IsEnabled(features::kUseXpsForPrintingFromPdf);
- }
- bool ShouldPrintUsingXps(bool source_is_pdf) {
- return base::FeatureList::IsEnabled(source_is_pdf
- ? features::kUseXpsForPrintingFromPdf
- : features::kUseXpsForPrinting);
- }
- #endif // BUILDFLAG(IS_WIN)
- #if BUILDFLAG(ENABLE_OOP_PRINTING)
- // Enables printing interactions with the operating system to be performed
- // out-of-process.
- const base::Feature kEnableOopPrintDrivers{"EnableOopPrintDrivers",
- base::FEATURE_DISABLED_BY_DEFAULT};
- const base::FeatureParam<bool> kEnableOopPrintDriversJobPrint{
- &kEnableOopPrintDrivers, "JobPrint", false};
- const base::FeatureParam<bool> kEnableOopPrintDriversSandbox{
- &kEnableOopPrintDrivers, "Sandbox", false};
- #endif // BUILDFLAG(ENABLE_OOP_PRINTING)
- #if BUILDFLAG(ENABLE_PRINT_CONTENT_ANALYSIS)
- // Enables scanning of to-be-printed pages and documents for sensitive data if
- // the OnPrintEnterpriseConnector policy is enabled.
- const base::Feature kEnablePrintContentAnalysis{
- "EnablePrintContentAnalysis", base::FEATURE_DISABLED_BY_DEFAULT};
- #endif // BUILDFLAG(ENABLE_PRINT_CONTENT_ANALYSIS)
- } // namespace features
- } // namespace printing
|