Skip to content

Commit

Permalink
Move OS-specific printing features into single feature file
Browse files Browse the repository at this point in the history
Given that there are so few printing-specific features, have them all
in one file instead of multiple very small files for each OS.

ChromeOS did not use the printing::features namespace for the flags
before, so update that throughout for consistency.

Change-Id: I30d062236d404d7f53c212333ddfcc8c27968503
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2031867
Commit-Queue: Alan Screen <awscreen@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Daniel Hosseinian <dhoss@chromium.org>
Cr-Commit-Position: refs/heads/master@{#737228}
  • Loading branch information
Alan Screen authored and Commit Bot committed Jan 31, 2020
1 parent 113d014 commit 2215769
Show file tree
Hide file tree
Showing 11 changed files with 25 additions and 46 deletions.
3 changes: 1 addition & 2 deletions chrome/browser/about_flags.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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",
Expand Down
4 changes: 2 additions & 2 deletions components/printing/browser/printer_capabilities.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down Expand Up @@ -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)

Expand Down
5 changes: 3 additions & 2 deletions components/printing/common/cloud_print_cdd_conversion.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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) {
Expand Down
2 changes: 0 additions & 2 deletions printing/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -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 += [
Expand Down
4 changes: 2 additions & 2 deletions printing/backend/cups_ipp_util.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down Expand Up @@ -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)

Expand Down
4 changes: 2 additions & 2 deletions printing/backend/cups_ipp_util_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Expand Down Expand Up @@ -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",
Expand Down
5 changes: 3 additions & 2 deletions printing/printing_context_chromeos.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down Expand Up @@ -154,7 +154,8 @@ std::vector<ScopedCupsOption> 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<std::string, std::vector<std::string>> multival;
for (const auto& setting : settings.advanced_settings()) {
Expand Down
6 changes: 6 additions & 0 deletions printing/printing_features.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
6 changes: 6 additions & 0 deletions printing/printing_features.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
13 changes: 0 additions & 13 deletions printing/printing_features_chromeos.cc

This file was deleted.

19 changes: 0 additions & 19 deletions printing/printing_features_chromeos.h

This file was deleted.

0 comments on commit 2215769

Please sign in to comment.