Commit 6b2e6338 authored by Kalvin Lee's avatar Kalvin Lee Committed by Commit Bot

PpdProvider v3: cut over

This change enables the v3 PpdProvider.

Bug: chromium:888189
Test: simple-chrome deployment; set up printers
Change-Id: I01ec409ad8e53b9b733f46f5d7eeff45946e5bd9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2424855Reviewed-by: default avatarSean Kau <skau@chromium.org>
Commit-Queue: Kalvin Lee <kdlee@chromium.org>
Cr-Commit-Position: refs/heads/master@{#809535}
parent 05a1565a
...@@ -5,11 +5,12 @@ ...@@ -5,11 +5,12 @@
#include "chrome/browser/chromeos/printing/ppd_provider_factory.h" #include "chrome/browser/chromeos/printing/ppd_provider_factory.h"
#include "base/files/file_path.h" #include "base/files/file_path.h"
#include "base/time/default_clock.h"
#include "chrome/browser/browser_process.h" #include "chrome/browser/browser_process.h"
#include "chrome/browser/net/system_network_context_manager.h" #include "chrome/browser/net/system_network_context_manager.h"
#include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile.h"
#include "chromeos/printing/ppd_cache.h" #include "chromeos/printing/ppd_cache.h"
#include "chromeos/printing/ppd_provider.h" #include "chromeos/printing/ppd_provider_v3.h"
#include "components/version_info/version_info.h" #include "components/version_info/version_info.h"
#include "content/public/browser/browser_thread.h" #include "content/public/browser/browser_thread.h"
#include "google_apis/google_api_keys.h" #include "google_apis/google_api_keys.h"
...@@ -29,10 +30,20 @@ scoped_refptr<PpdProvider> CreatePpdProvider(Profile* profile) { ...@@ -29,10 +30,20 @@ scoped_refptr<PpdProvider> CreatePpdProvider(Profile* profile) {
base::FilePath ppd_cache_path = base::FilePath ppd_cache_path =
profile->GetPath().Append(FILE_PATH_LITERAL("PPDCache")); profile->GetPath().Append(FILE_PATH_LITERAL("PPDCache"));
return PpdProvider::Create(g_browser_process->GetApplicationLocale(), auto provider_config_cache =
base::BindRepeating(&GetURLLoaderFactory), PrinterConfigCache::Create(base::DefaultClock::GetInstance(),
PpdCache::Create(ppd_cache_path), base::BindRepeating(&GetURLLoaderFactory));
version_info::GetVersion());
auto manager_config_cache =
PrinterConfigCache::Create(base::DefaultClock::GetInstance(),
base::BindRepeating(&GetURLLoaderFactory));
auto metadata_manager = PpdMetadataManager::Create(
g_browser_process->GetApplicationLocale(),
base::DefaultClock::GetInstance(), std::move(manager_config_cache));
return CreateV3Provider(
version_info::GetVersion(), PpdCache::Create(ppd_cache_path),
std::move(metadata_manager), std::move(provider_config_cache));
} }
} // namespace chromeos } // namespace chromeos
...@@ -21,7 +21,7 @@ declare_args() { ...@@ -21,7 +21,7 @@ declare_args() {
# PpdProvider class. # PpdProvider class.
# TODO(crbug.com/1025995): remove this and all related scaffolding # TODO(crbug.com/1025995): remove this and all related scaffolding
# once we're ready to cut over. # once we're ready to cut over.
is_printing_ppd_provider_v3 = false is_printing_ppd_provider_v3 = true
} }
component("chromeos") { component("chromeos") {
......
...@@ -145,21 +145,18 @@ struct MethodDeferralContext { ...@@ -145,21 +145,18 @@ struct MethodDeferralContext {
// (https://crbug.com/888189). // (https://crbug.com/888189).
class PpdProviderImpl : public PpdProvider { class PpdProviderImpl : public PpdProvider {
public: public:
PpdProviderImpl(base::StringPiece browser_locale, PpdProviderImpl(const base::Version& current_version,
const base::Version& current_version,
scoped_refptr<PpdCache> cache, scoped_refptr<PpdCache> cache,
std::unique_ptr<PpdMetadataManager> metadata_manager, std::unique_ptr<PpdMetadataManager> metadata_manager,
std::unique_ptr<PrinterConfigCache> config_cache) std::unique_ptr<PrinterConfigCache> config_cache)
: browser_locale_(std::string(browser_locale)), : version_(current_version),
version_(current_version),
ppd_cache_(cache), ppd_cache_(cache),
deferral_context_(std::make_unique<MethodDeferralContext>()), deferral_context_(std::make_unique<MethodDeferralContext>()),
metadata_manager_(std::move(metadata_manager)), metadata_manager_(std::move(metadata_manager)),
config_cache_(std::move(config_cache)), config_cache_(std::move(config_cache)),
file_task_runner_(base::ThreadPool::CreateSequencedTaskRunner( file_task_runner_(base::ThreadPool::CreateSequencedTaskRunner(
{base::TaskPriority::USER_VISIBLE, base::MayBlock(), {base::TaskPriority::USER_VISIBLE, base::MayBlock(),
base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN})) { base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN})) {}
}
void ResolveManufacturers(ResolveManufacturersCallback cb) override { void ResolveManufacturers(ResolveManufacturersCallback cb) override {
// Do we need // Do we need
...@@ -938,10 +935,6 @@ class PpdProviderImpl : public PpdProvider { ...@@ -938,10 +935,6 @@ class PpdProviderImpl : public PpdProvider {
index_leaf->license)); index_leaf->license));
} }
// Locale of the browser, as returned by
// BrowserContext::GetApplicationLocale();
const std::string browser_locale_;
// Current version used to filter restricted ppds // Current version used to filter restricted ppds
const base::Version version_; const base::Version version_;
...@@ -1011,14 +1004,13 @@ scoped_refptr<PpdProvider> PpdProvider::Create( ...@@ -1011,14 +1004,13 @@ scoped_refptr<PpdProvider> PpdProvider::Create(
// free function; _not_ static // free function; _not_ static
scoped_refptr<PpdProvider> CreateV3Provider( scoped_refptr<PpdProvider> CreateV3Provider(
base::StringPiece browser_locale,
const base::Version& current_version, const base::Version& current_version,
scoped_refptr<PpdCache> cache, scoped_refptr<PpdCache> cache,
std::unique_ptr<PpdMetadataManager> metadata_manager, std::unique_ptr<PpdMetadataManager> metadata_manager,
std::unique_ptr<PrinterConfigCache> config_cache) { std::unique_ptr<PrinterConfigCache> config_cache) {
return base::MakeRefCounted<PpdProviderImpl>( return base::MakeRefCounted<PpdProviderImpl>(current_version, cache,
browser_locale, current_version, cache, std::move(metadata_manager), std::move(metadata_manager),
std::move(config_cache)); std::move(config_cache));
} }
} // namespace chromeos } // namespace chromeos
...@@ -19,7 +19,6 @@ namespace chromeos { ...@@ -19,7 +19,6 @@ namespace chromeos {
// TODO(crbug.com/888189): fold this into ppd_provider.h, // TODO(crbug.com/888189): fold this into ppd_provider.h,
// deprecating the existing static Create() method. // deprecating the existing static Create() method.
CHROMEOS_EXPORT scoped_refptr<PpdProvider> CreateV3Provider( CHROMEOS_EXPORT scoped_refptr<PpdProvider> CreateV3Provider(
base::StringPiece browser_locale,
const base::Version& current_version, const base::Version& current_version,
scoped_refptr<PpdCache> cache, scoped_refptr<PpdCache> cache,
std::unique_ptr<PpdMetadataManager> metadata_manager, std::unique_ptr<PpdMetadataManager> metadata_manager,
......
...@@ -174,8 +174,7 @@ class PpdProviderTest : public ::testing::Test { ...@@ -174,8 +174,7 @@ class PpdProviderTest : public ::testing::Test {
auto config_cache = std::make_unique<FakePrinterConfigCache>(); auto config_cache = std::make_unique<FakePrinterConfigCache>();
provider_backdoor_.config_cache = config_cache.get(); provider_backdoor_.config_cache = config_cache.get();
return CreateV3Provider(options.browser_locale, return CreateV3Provider(base::Version("40.8.6753.09"), ppd_cache_,
base::Version("40.8.6753.09"), ppd_cache_,
std::move(manager), std::move(config_cache)); std::move(manager), std::move(config_cache));
} }
......
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