Commit ca65cc4a authored by Matt Menard's avatar Matt Menard Committed by Chromium LUCI CQ

16+ print servers scaling disabled

This ensures when the print-server-scaling flag is disabled that print
servers acts identically for >16 servers as it does for <=16 servers.
This fixes a regression.

Bug: b:168650771
Change-Id: I6ed183bdb87fdd2440dea7893884310ccf5e60cf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2626118
Commit-Queue: Matt Menard <mattme@google.com>
Reviewed-by: default avatarSean Kau <skau@chromium.org>
Cr-Commit-Position: refs/heads/master@{#843910}
parent 7c012bb2
...@@ -11,12 +11,14 @@ ...@@ -11,12 +11,14 @@
#include "base/containers/flat_map.h" #include "base/containers/flat_map.h"
#include "base/containers/flat_set.h" #include "base/containers/flat_set.h"
#include "base/sequenced_task_runner.h" #include "base/sequenced_task_runner.h"
#include "base/test/scoped_feature_list.h"
#include "base/test/task_environment.h" #include "base/test/task_environment.h"
#include "base/threading/sequenced_task_runner_handle.h" #include "base/threading/sequenced_task_runner_handle.h"
#include "chrome/browser/chromeos/printing/print_servers_provider.h" #include "chrome/browser/chromeos/printing/print_servers_provider.h"
#include "chrome/browser/chromeos/printing/server_printers_provider.h" #include "chrome/browser/chromeos/printing/server_printers_provider.h"
#include "chrome/common/pref_names.h" #include "chrome/common/pref_names.h"
#include "chrome/test/base/testing_browser_process.h" #include "chrome/test/base/testing_browser_process.h"
#include "chromeos/constants/chromeos_features.h"
#include "components/prefs/pref_service.h" #include "components/prefs/pref_service.h"
#include "components/sync_preferences/testing_pref_service_syncable.h" #include "components/sync_preferences/testing_pref_service_syncable.h"
#include "content/public/test/browser_task_environment.h" #include "content/public/test/browser_task_environment.h"
...@@ -87,6 +89,10 @@ class FakePrintServersProvider : public PrintServersProvider { ...@@ -87,6 +89,10 @@ class FakePrintServersProvider : public PrintServersProvider {
class PrintServersManagerTest : public testing::Test, class PrintServersManagerTest : public testing::Test,
public PrintServersManager::Observer { public PrintServersManager::Observer {
public: public:
void SetUp() override {
scoped_feature_list_.InitWithFeatures(
{chromeos::features::kPrintServerScaling}, {});
}
PrintServersManagerTest() { PrintServersManagerTest() {
auto server_printers_provider = auto server_printers_provider =
std::make_unique<FakeServerPrintersProvider>(); std::make_unique<FakeServerPrintersProvider>();
...@@ -118,6 +124,8 @@ class PrintServersManagerTest : public testing::Test, ...@@ -118,6 +124,8 @@ class PrintServersManagerTest : public testing::Test,
// Everything from PrintServersProvider must be called on Chrome_UIThread // Everything from PrintServersProvider must be called on Chrome_UIThread
content::BrowserTaskEnvironment task_environment_; content::BrowserTaskEnvironment task_environment_;
base::test::ScopedFeatureList scoped_feature_list_;
// Captured printer lists from observer callbacks. // Captured printer lists from observer callbacks.
base::flat_map<PrinterClass, std::vector<Printer>> observed_printers_; base::flat_map<PrinterClass, std::vector<Printer>> observed_printers_;
......
...@@ -5,11 +5,13 @@ ...@@ -5,11 +5,13 @@
#include "chrome/browser/chromeos/printing/print_servers_policy_provider.h" #include "chrome/browser/chromeos/printing/print_servers_policy_provider.h"
#include "base/bind.h" #include "base/bind.h"
#include "base/feature_list.h"
#include "chrome/browser/browser_process.h" #include "chrome/browser/browser_process.h"
#include "chrome/browser/chromeos/printing/print_servers_provider.h" #include "chrome/browser/chromeos/printing/print_servers_provider.h"
#include "chrome/browser/chromeos/printing/print_servers_provider_factory.h" #include "chrome/browser/chromeos/printing/print_servers_provider_factory.h"
#include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile.h"
#include "chrome/common/pref_names.h" #include "chrome/common/pref_names.h"
#include "chromeos/constants/chromeos_features.h"
namespace chromeos { namespace chromeos {
...@@ -85,6 +87,9 @@ void PrintServersPolicyProvider::OnServersChanged( ...@@ -85,6 +87,9 @@ void PrintServersPolicyProvider::OnServersChanged(
ServerPrintersFetchingMode PrintServersPolicyProvider::GetFetchingMode( ServerPrintersFetchingMode PrintServersPolicyProvider::GetFetchingMode(
const std::map<GURL, PrintServer>& all_servers) { const std::map<GURL, PrintServer>& all_servers) {
if (!base::FeatureList::IsEnabled(chromeos::features::kPrintServerScaling)) {
return ServerPrintersFetchingMode::kStandard;
}
return all_servers.size() <= kMaxRecords return all_servers.size() <= kMaxRecords
? ServerPrintersFetchingMode::kStandard ? ServerPrintersFetchingMode::kStandard
: ServerPrintersFetchingMode::kSingleServerOnly; : ServerPrintersFetchingMode::kSingleServerOnly;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment