blob: 26b94dea36d464c758ea31656eddc57a44d6f8a6 [file] [log] [blame]
Daniel Hosseinian7b57a422019-06-11 23:52:321// Copyright 2019 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
Alan Screen113d0142020-01-31 06:11:215#include "printing/printing_features.h"
Daniel Hosseinian7b57a422019-06-11 23:52:326
7namespace printing {
8namespace features {
9
Alan Screen22157692020-01-31 06:15:0710#if defined(OS_CHROMEOS)
11// Enables Advanced PPD Attributes.
12const base::Feature kAdvancedPpdAttributes{"AdvancedPpdAttributes",
13 base::FEATURE_ENABLED_BY_DEFAULT};
14#endif // defined(OS_CHROMEOS)
15
Alan Screenc0060762019-11-22 17:52:0616#if defined(OS_WIN)
17// Use XPS for printing instead of GDI.
18const base::Feature kUseXpsForPrinting{"UseXpsForPrinting",
19 base::FEATURE_DISABLED_BY_DEFAULT};
Alan Screen49388112019-12-13 23:34:2120
21// Use XPS for printing instead of GDI for printing PDF documents. This is
22// independent of |kUseXpsForPrinting|; can use XPS for PDFs even if still using
23// GDI for modifiable content.
24const base::Feature kUseXpsForPrintingFromPdf{
25 "UseXpsForPrintingFromPdf", base::FEATURE_DISABLED_BY_DEFAULT};
Alan Screen28aeff32020-03-01 04:46:0626
27bool IsXpsPrintCapabilityRequired() {
28 return base::FeatureList::IsEnabled(features::kUseXpsForPrinting) ||
29 base::FeatureList::IsEnabled(features::kUseXpsForPrintingFromPdf);
30}
31
32bool ShouldPrintUsingXps(bool source_is_pdf) {
33 return base::FeatureList::IsEnabled(source_is_pdf
34 ? features::kUseXpsForPrintingFromPdf
35 : features::kUseXpsForPrinting);
36}
Alan Screen113d0142020-01-31 06:11:2137#endif // defined(OS_WIN)
Alan Screenc0060762019-11-22 17:52:0638
Daniel Hosseinian7b57a422019-06-11 23:52:3239} // namespace features
40} // namespace printing