diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc index 5ac19a97a59c52..c771f275ac798d 100644 --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc @@ -190,7 +190,6 @@ #include "chromeos/constants/chromeos_switches.h" #include "chromeos/services/assistant/public/features.h" #include "components/arc/arc_features.h" -#include "printing/printing_features_chromeos.h" #include "third_party/cros_system_api/switches/chrome_switches.h" #include "ui/events/ozone/features.h" #endif // OS_CHROMEOS @@ -4304,7 +4303,7 @@ const FeatureEntry kFeatureEntries[] = { {"enable-advanced-ppd-attributes", flag_descriptions::kEnableAdvancedPpdAttributesName, flag_descriptions::kEnableAdvancedPpdAttributesDescription, kOsCrOS, - FEATURE_VALUE_TYPE(printing::kAdvancedPpdAttributes)}, + FEATURE_VALUE_TYPE(printing::features::kAdvancedPpdAttributes)}, #endif // defined(OS_CHROMEOS) {"allow-sync-xhr-in-page-dismissal", diff --git a/components/printing/browser/printer_capabilities.cc b/components/printing/browser/printer_capabilities.cc index cebf25b36a755e..27be5e3f980a33 100644 --- a/components/printing/browser/printer_capabilities.cc +++ b/components/printing/browser/printer_capabilities.cc @@ -35,7 +35,7 @@ #include "base/feature_list.h" #include "components/printing/browser/ipp_l10n.h" #include "components/strings/grit/components_strings.h" -#include "printing/printing_features_chromeos.h" +#include "printing/printing_features.h" #include "ui/base/l10n/l10n_util.h" #endif // defined(OS_CHROMEOS) @@ -119,7 +119,7 @@ base::Value GetPrinterCapabilitiesOnBlockingTaskRunner( if (!has_secure_protocol) info.pin_supported = false; - if (base::FeatureList::IsEnabled(printing::kAdvancedPpdAttributes)) + if (base::FeatureList::IsEnabled(printing::features::kAdvancedPpdAttributes)) PopulateAdvancedCapsLocalization(&info.advanced_capabilities); #endif // defined(OS_CHROMEOS) diff --git a/components/printing/common/cloud_print_cdd_conversion.cc b/components/printing/common/cloud_print_cdd_conversion.cc index e1718eb3c30017..524acd8b4f1ee1 100644 --- a/components/printing/common/cloud_print_cdd_conversion.cc +++ b/components/printing/common/cloud_print_cdd_conversion.cc @@ -15,7 +15,7 @@ #if defined(OS_CHROMEOS) #include "base/feature_list.h" -#include "printing/printing_features_chromeos.h" +#include "printing/printing_features.h" #endif // defined(OS_CHROMEOS) namespace printer = cloud_devices::printer; @@ -164,7 +164,8 @@ base::Value PrinterSemanticCapsAndDefaultsToCdd( pin.set_value(semantic_info.pin_supported); pin.SaveTo(&description); - if (base::FeatureList::IsEnabled(printing::kAdvancedPpdAttributes) && + if (base::FeatureList::IsEnabled( + printing::features::kAdvancedPpdAttributes) && !semantic_info.advanced_capabilities.empty()) { printer::VendorCapabilities vendor_capabilities; for (const auto& capability : semantic_info.advanced_capabilities) { diff --git a/printing/BUILD.gn b/printing/BUILD.gn index 106893dae5244c..e06e337fe1bc62 100644 --- a/printing/BUILD.gn +++ b/printing/BUILD.gn @@ -246,8 +246,6 @@ component("printing") { "printer_query_result_chromeos.h", "printing_context_no_system_dialog.cc", "printing_context_no_system_dialog.h", - "printing_features_chromeos.cc", - "printing_features_chromeos.h", ] } else if (is_android) { sources += [ diff --git a/printing/backend/cups_ipp_util.cc b/printing/backend/cups_ipp_util.cc index 12d424ae04da29..8c25cf1b40cbf7 100644 --- a/printing/backend/cups_ipp_util.cc +++ b/printing/backend/cups_ipp_util.cc @@ -27,7 +27,7 @@ #include "base/metrics/histogram_functions.h" #include "base/no_destructor.h" #include "printing/backend/ipp_handler_map.h" -#include "printing/printing_features_chromeos.h" +#include "printing/printing_features.h" #endif // defined(OS_CHROMEOS) namespace printing { @@ -408,7 +408,7 @@ void CapsAndDefaultsFromPrinter(const CupsOptionProvider& printer, #if defined(OS_CHROMEOS) printer_info->pin_supported = PinSupported(printer); - if (base::FeatureList::IsEnabled(printing::kAdvancedPpdAttributes)) + if (base::FeatureList::IsEnabled(printing::features::kAdvancedPpdAttributes)) ExtractAdvancedCapabilities(printer, printer_info); #endif // defined(OS_CHROMEOS) diff --git a/printing/backend/cups_ipp_util_unittest.cc b/printing/backend/cups_ipp_util_unittest.cc index 6fd52da10d8823..eb18cdcef609df 100644 --- a/printing/backend/cups_ipp_util_unittest.cc +++ b/printing/backend/cups_ipp_util_unittest.cc @@ -12,7 +12,7 @@ #include "base/test/scoped_feature_list.h" #include "printing/backend/cups_ipp_util.h" #include "printing/backend/cups_printer.h" -#include "printing/printing_features_chromeos.h" +#include "printing/printing_features.h" #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" @@ -316,7 +316,7 @@ TEST_F(PrintBackendCupsIppUtilTest, PinTooShort) { TEST_F(PrintBackendCupsIppUtilTest, AdvancedCaps) { base::HistogramTester histograms; base::test::ScopedFeatureList features; - features.InitAndEnableFeature(printing::kAdvancedPpdAttributes); + features.InitAndEnableFeature(printing::features::kAdvancedPpdAttributes); printer_->SetSupportedOptions( "job-creation-attributes", diff --git a/printing/printing_context_chromeos.cc b/printing/printing_context_chromeos.cc index f976bea13f83e0..f6a4988a45f233 100644 --- a/printing/printing_context_chromeos.cc +++ b/printing/printing_context_chromeos.cc @@ -28,7 +28,7 @@ #include "printing/metafile.h" #include "printing/print_job_constants.h" #include "printing/print_settings.h" -#include "printing/printing_features_chromeos.h" +#include "printing/printing_features.h" #include "printing/units.h" namespace printing { @@ -154,7 +154,8 @@ std::vector SettingsToCupsOptions( options.push_back(ConstructOption(kIppPinEncryption, kPinEncryptionNone)); } - if (base::FeatureList::IsEnabled(printing::kAdvancedPpdAttributes)) { + if (base::FeatureList::IsEnabled( + printing::features::kAdvancedPpdAttributes)) { size_t regular_attr_count = options.size(); std::map> multival; for (const auto& setting : settings.advanced_settings()) { diff --git a/printing/printing_features.cc b/printing/printing_features.cc index ab53496f7ad8a8..6aab783d25bb36 100644 --- a/printing/printing_features.cc +++ b/printing/printing_features.cc @@ -7,6 +7,12 @@ namespace printing { namespace features { +#if defined(OS_CHROMEOS) +// Enables Advanced PPD Attributes. +const base::Feature kAdvancedPpdAttributes{"AdvancedPpdAttributes", + base::FEATURE_ENABLED_BY_DEFAULT}; +#endif // defined(OS_CHROMEOS) + #if defined(OS_WIN) // Use XPS for printing instead of GDI. const base::Feature kUseXpsForPrinting{"UseXpsForPrinting", diff --git a/printing/printing_features.h b/printing/printing_features.h index e1209ec7374313..929f15a996940e 100644 --- a/printing/printing_features.h +++ b/printing/printing_features.h @@ -12,6 +12,12 @@ namespace printing { namespace features { +#if defined(OS_CHROMEOS) +// All features in alphabetical order. The features should be documented +// alongside the definition of their values in the .cc file. +PRINTING_EXPORT extern const base::Feature kAdvancedPpdAttributes; +#endif + #if defined(OS_WIN) PRINTING_EXPORT extern const base::Feature kUseXpsForPrinting; PRINTING_EXPORT extern const base::Feature kUseXpsForPrintingFromPdf; diff --git a/printing/printing_features_chromeos.cc b/printing/printing_features_chromeos.cc deleted file mode 100644 index 785161cd1baa0b..00000000000000 --- a/printing/printing_features_chromeos.cc +++ /dev/null @@ -1,13 +0,0 @@ -// 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_chromeos.h" - -namespace printing { - -// Enables Advanced PPD Attributes. -const base::Feature kAdvancedPpdAttributes{"AdvancedPpdAttributes", - base::FEATURE_ENABLED_BY_DEFAULT}; - -} // namespace printing diff --git a/printing/printing_features_chromeos.h b/printing/printing_features_chromeos.h deleted file mode 100644 index 59b1f0729d38b8..00000000000000 --- a/printing/printing_features_chromeos.h +++ /dev/null @@ -1,19 +0,0 @@ -// 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. - -#ifndef PRINTING_PRINTING_FEATURES_CHROMEOS_H_ -#define PRINTING_PRINTING_FEATURES_CHROMEOS_H_ - -#include "base/feature_list.h" -#include "printing/printing_export.h" - -namespace printing { - -// All features in alphabetical order. The features should be documented -// alongside the definition of their values in the .cc file. -PRINTING_EXPORT extern const base::Feature kAdvancedPpdAttributes; - -} // namespace printing - -#endif // PRINTING_PRINTING_FEATURES_CHROMEOS_H_