| 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
|
|
|