Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(335)

Unified Diff: components/machine_intelligence/ranker_model_loader.cc

Issue 2925733002: Move ranker_model_loader to a new component. (Closed)
Patch Set: Adressing sdefresne's comments. Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/machine_intelligence/ranker_model_loader.cc
diff --git a/components/translate/core/browser/ranker_model_loader.cc b/components/machine_intelligence/ranker_model_loader.cc
similarity index 88%
rename from components/translate/core/browser/ranker_model_loader.cc
rename to components/machine_intelligence/ranker_model_loader.cc
index eb8175977c4f284b7204288d514ca2d79e88b13b..927cd2cdf305f1f584f0316d64afff1b16b51291 100644
--- a/components/translate/core/browser/ranker_model_loader.cc
+++ b/components/machine_intelligence/ranker_model_loader.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "components/translate/core/browser/ranker_model_loader.h"
+#include "components/machine_intelligence/ranker_model_loader.h"
#include <utility>
@@ -20,18 +20,13 @@
#include "base/task_runner_util.h"
#include "base/task_scheduler/post_task.h"
#include "base/threading/sequenced_task_runner_handle.h"
-#include "components/translate/core/browser/proto/ranker_model.pb.h"
-#include "components/translate/core/browser/ranker_model.h"
-#include "components/translate/core/browser/translate_url_fetcher.h"
+#include "components/machine_intelligence/proto/ranker_model.pb.h"
+#include "components/machine_intelligence/ranker_model.h"
+#include "components/machine_intelligence/ranker_url_fetcher.h"
-namespace translate {
+namespace machine_intelligence {
namespace {
-using chrome_intelligence::RankerModel;
-using chrome_intelligence::RankerModelProto;
-
-constexpr int kUrlFetcherId = 2;
-
// The minimum duration, in minutes, between download attempts.
constexpr int kMinRetryDelayMins = 3;
@@ -96,6 +91,7 @@ void SaveToFile(const GURL& model_url,
RankerModelLoader::RankerModelLoader(
ValidateModelCallback validate_model_cb,
OnModelAvailableCallback on_model_available_cb,
+ net::URLRequestContextGetter* request_context_getter,
base::FilePath model_path,
GURL model_url,
std::string uma_prefix)
@@ -104,18 +100,19 @@ RankerModelLoader::RankerModelLoader(
base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN})),
validate_model_cb_(std::move(validate_model_cb)),
on_model_available_cb_(std::move(on_model_available_cb)),
+ request_context_getter_(request_context_getter),
model_path_(std::move(model_path)),
model_url_(std::move(model_url)),
uma_prefix_(std::move(uma_prefix)),
- url_fetcher_(base::MakeUnique<TranslateURLFetcher>(kUrlFetcherId)),
+ url_fetcher_(base::MakeUnique<RankerURLFetcher>()),
weak_ptr_factory_(this) {}
RankerModelLoader::~RankerModelLoader() {
- DCHECK(sequence_checker_.CalledOnValidSequence());
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
}
void RankerModelLoader::NotifyOfRankerActivity() {
- DCHECK(sequence_checker_.CalledOnValidSequence());
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
switch (state_) {
case LoaderState::NOT_STARTED:
if (!model_path_.empty()) {
@@ -142,7 +139,7 @@ void RankerModelLoader::NotifyOfRankerActivity() {
}
void RankerModelLoader::StartLoadFromFile() {
- DCHECK(sequence_checker_.CalledOnValidSequence());
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
DCHECK_EQ(state_, LoaderState::NOT_STARTED);
DCHECK(!model_path_.empty());
state_ = LoaderState::LOADING_FROM_FILE;
@@ -154,7 +151,7 @@ void RankerModelLoader::StartLoadFromFile() {
}
void RankerModelLoader::OnFileLoaded(const std::string& data) {
- DCHECK(sequence_checker_.CalledOnValidSequence());
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
DCHECK_EQ(state_, LoaderState::LOADING_FROM_FILE);
// Record the duration of the download.
@@ -201,7 +198,7 @@ void RankerModelLoader::OnFileLoaded(const std::string& data) {
}
void RankerModelLoader::StartLoadFromURL() {
- DCHECK(sequence_checker_.CalledOnValidSequence());
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
DCHECK_EQ(state_, LoaderState::IDLE);
DCHECK(model_url_.is_valid());
@@ -219,9 +216,11 @@ void RankerModelLoader::StartLoadFromURL() {
load_start_time_ = base::TimeTicks::Now();
next_earliest_download_time_ =
load_start_time_ + base::TimeDelta::FromMinutes(kMinRetryDelayMins);
- bool request_started = url_fetcher_->Request(
- model_url_, base::Bind(&RankerModelLoader::OnURLFetched,
- weak_ptr_factory_.GetWeakPtr()));
+ bool request_started =
+ url_fetcher_->Request(model_url_,
+ base::Bind(&RankerModelLoader::OnURLFetched,
+ weak_ptr_factory_.GetWeakPtr()),
+ request_context_getter_.get());
// |url_fetcher_| maintains a request retry counter. If all allowed attempts
// have already been exhausted, then the loader is finished and has abandoned
@@ -233,10 +232,8 @@ void RankerModelLoader::StartLoadFromURL() {
}
}
-void RankerModelLoader::OnURLFetched(int /* id */,
- bool success,
- const std::string& data) {
- DCHECK(sequence_checker_.CalledOnValidSequence());
+void RankerModelLoader::OnURLFetched(bool success, const std::string& data) {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
DCHECK_EQ(state_, LoaderState::LOADING_FROM_URL);
// Record the duration of the download.
@@ -280,9 +277,9 @@ void RankerModelLoader::OnURLFetched(int /* id */,
on_model_available_cb_.Run(std::move(model));
}
-std::unique_ptr<chrome_intelligence::RankerModel>
-RankerModelLoader::CreateAndValidateModel(const std::string& data) {
- DCHECK(sequence_checker_.CalledOnValidSequence());
+std::unique_ptr<RankerModel> RankerModelLoader::CreateAndValidateModel(
+ const std::string& data) {
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
MyScopedHistogramTimer timer(uma_prefix_ + kParsetimerHistogram);
auto model = RankerModel::FromString(data);
if (ReportModelStatus(model ? validate_model_cb_.Run(*model)
@@ -295,7 +292,7 @@ RankerModelLoader::CreateAndValidateModel(const std::string& data) {
RankerModelStatus RankerModelLoader::ReportModelStatus(
RankerModelStatus model_status) {
- DCHECK(sequence_checker_.CalledOnValidSequence());
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
base::HistogramBase* histogram = base::LinearHistogram::FactoryGet(
uma_prefix_ + kModelStatusHistogram, 1,
static_cast<int>(RankerModelStatus::MAX),
@@ -306,4 +303,4 @@ RankerModelStatus RankerModelLoader::ReportModelStatus(
return model_status;
}
-} // namespace translate
+} // namespace machine_intelligence
« no previous file with comments | « components/machine_intelligence/ranker_model_loader.h ('k') | components/machine_intelligence/ranker_model_loader_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698