Commit d8a72b4f authored by Philippe Hamel's avatar Philippe Hamel Committed by Commit Bot

Enable Ranker Enforcement by default for all platforms except Android and...

Enable Ranker Enforcement by default for all platforms except Android and Ranker Query for all platforms.

Bug: 646711
Change-Id: I87b114cd31829f2357b3e5fdce17a316c2f50312
Reviewed-on: https://chromium-review.googlesource.com/661388Reviewed-by: default avatarRachel Blum <groby@chromium.org>
Reviewed-by: default avatarAlexei Svitkine <asvitkine@chromium.org>
Commit-Queue: Philippe Hamel <hamelphi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#501666}
parent 2d8340a4
......@@ -17,6 +17,7 @@
#include "base/strings/string_util.h"
#include "base/task_runner.h"
#include "base/threading/thread_task_runner_handle.h"
#include "build/build_config.h"
#include "components/machine_intelligence/proto/ranker_model.pb.h"
#include "components/machine_intelligence/proto/translate_ranker_model.pb.h"
#include "components/machine_intelligence/ranker_model.h"
......@@ -73,11 +74,19 @@ RankerModelStatus ValidateModel(const RankerModel& model) {
} // namespace
const char kDefaultTranslateRankerModelURL[] =
"https://www.gstatic.com/chrome/intelligence/assist/ranker/models/"
"translate/2017/03/translate_ranker_model_20170329.pb.bin";
const base::Feature kTranslateRankerQuery{"TranslateRankerQuery",
base::FEATURE_DISABLED_BY_DEFAULT};
base::FEATURE_ENABLED_BY_DEFAULT};
#if defined(OS_ANDROID)
const base::Feature kTranslateRankerEnforcement{
"TranslateRankerEnforcement", base::FEATURE_DISABLED_BY_DEFAULT};
#else
const base::Feature kTranslateRankerEnforcement{
"TranslateRankerEnforcement", base::FEATURE_ENABLED_BY_DEFAULT};
#endif
const base::Feature kTranslateRankerDecisionOverride{
"TranslateRankerDecisionOverride", base::FEATURE_DISABLED_BY_DEFAULT};
......@@ -167,6 +176,10 @@ base::FilePath TranslateRankerImpl::GetModelPath(
// static
GURL TranslateRankerImpl::GetModelURL() {
if (!base::FeatureList::IsEnabled(kTranslateRankerQuery) &&
!base::FeatureList::IsEnabled(kTranslateRankerEnforcement)) {
return GURL();
}
// Allow override of the ranker model URL from the command line.
std::string raw_url;
base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
......@@ -178,6 +191,9 @@ GURL TranslateRankerImpl::GetModelURL() {
raw_url = variations::GetVariationParamValueByFeature(
kTranslateRankerQuery, switches::kTranslateRankerModelURL);
}
// If the ranker URL is still not defined, use the default.
if (raw_url.empty())
raw_url = kDefaultTranslateRankerModelURL;
DVLOG(3) << switches::kTranslateRankerModelURL << " = " << raw_url;
......
......@@ -34,6 +34,8 @@ class TranslateEventProto;
namespace translate {
extern const char kDefaultTranslateRankerModelURL[];
// Features used to enable ranker query, enforcement and logging. Note that
// enabling enforcement implies (forces) enabling queries.
extern const base::Feature kTranslateRankerQuery;
......
......@@ -169,11 +169,17 @@ TEST_F(TranslateRankerImplTest, GetVersion) {
TEST_F(TranslateRankerImplTest, ModelLoaderQueryNotEnabled) {
// If Query is not enabled, the ranker should not try to load the model.
InitFeatures({}, {kTranslateRankerQuery});
InitFeatures({}, {kTranslateRankerQuery, kTranslateRankerEnforcement});
auto ranker = GetRankerForTest(0.01f);
EXPECT_FALSE(ranker->CheckModelLoaderForTesting());
}
TEST_F(TranslateRankerImplTest, ModelLoaderQueryEnabledByDefault) {
InitFeatures({}, {kTranslateRankerEnforcement});
auto ranker = GetRankerForTest(0.01f);
EXPECT_TRUE(ranker->CheckModelLoaderForTesting());
}
TEST_F(TranslateRankerImplTest, GetModelDecision) {
InitFeatures({kTranslateRankerEnforcement}, {});
// Calculate the score using: a 50:50 accept/decline ratio; the one-hot
......
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