[cr149] TranslateLanguageList with TranslateUrlFetcher arg
This change corrects several places to pass `TranslateUrlFetcher` into `TranslateLanguageList`. Chromium changes: https://chromium.googlesource.com/chromium/src/+/6aef37c345ee6449713a213c04878417dd87d0c4 commit 6aef37c345ee6449713a213c04878417dd87d0c4 Author: Danilo Françoso Tedeschi <danft@google.com> Date: Wed Apr 8 06:26:11 2026 -0700 Replace static DisableUpdate with dependency injection for TranslateLanguageList. This change removes the global static flag `update_is_disabled` from TranslateLanguageList and instead allows injecting a TranslateUrlFetcher instance. This improves testability by allowing mock fetchers to be used without relying on global state. TranslateDownloadManager now has a setter for its TranslateLanguageList. Change-Id: I739659aba52e95e6236e0b5d85fd9672b090c864 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7719220 Reviewed-by: Basia Zimirska <basiaz@google.com> Commit-Queue: Danilo Françoso Tedeschi <danft@google.com> Cr-Commit-Position: refs/heads/main@{#1611437}
This commit is contained in:
@@ -16,6 +16,7 @@ namespace translate {
|
||||
|
||||
class TranslateLanguageList : public TranslateLanguageList_ChromiumImpl {
|
||||
public:
|
||||
using TranslateLanguageList_ChromiumImpl::TranslateLanguageList_ChromiumImpl;
|
||||
void SetResourceRequestsAllowed(bool allowed) override;
|
||||
};
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
#include "components/translate/core/browser/translate_download_manager.h"
|
||||
#include "components/translate/core/browser/translate_pref_names.h"
|
||||
#include "components/translate/core/browser/translate_prefs.h"
|
||||
#include "components/translate/core/browser/translate_url_fetcher.h"
|
||||
#include "components/translate/core/common/translate_constants.h"
|
||||
#include "components/variations/variations_associated_data.h"
|
||||
#include "google_apis/google_api_keys.h"
|
||||
@@ -77,6 +78,18 @@ class TestNetworkChangeNotifier {
|
||||
std::unique_ptr<net::test::MockNetworkChangeNotifier> mock_notifier_;
|
||||
};
|
||||
|
||||
class DummyTranslateUrlFetcher : public translate::TranslateUrlFetcher {
|
||||
public:
|
||||
DummyTranslateUrlFetcher() = default;
|
||||
~DummyTranslateUrlFetcher() override = default;
|
||||
|
||||
bool Request(const GURL& url, Callback callback, bool is_incognito) override {
|
||||
return true;
|
||||
}
|
||||
|
||||
State state() const override { return IDLE; }
|
||||
};
|
||||
|
||||
// A language model that just returns its instance variable.
|
||||
class MockLanguageModel : public language::LanguageModel {
|
||||
public:
|
||||
@@ -119,10 +132,11 @@ class TranslateManagerTest : public ::testing::Test {
|
||||
mock_language_model_({MockLanguageModel::LanguageDetails("en", 1.0)}) {}
|
||||
|
||||
void SetUp() override {
|
||||
// Ensure we're not requesting a server-side translate language list.
|
||||
TranslateLanguageList::DisableUpdate();
|
||||
|
||||
manager_->ResetForTesting();
|
||||
|
||||
// Ensure we're not requesting a server-side translate language list.
|
||||
manager_->set_language_list(std::make_unique<TranslateLanguageList>(
|
||||
std::make_unique<DummyTranslateUrlFetcher>()));
|
||||
}
|
||||
|
||||
void TearDown() override {
|
||||
|
||||
Reference in New Issue
Block a user