1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
# Disables translation and removes the "Translate to" context menu when --translate-script-url flag is not set
--- chrome/browser/renderer_context_menu/render_view_context_menu.cc.orig
+++ chrome/browser/renderer_context_menu/render_view_context_menu.cc
@@ -133,6 +133,7 @@
#include "components/spellcheck/common/spellcheck_common.h"
#include "components/spellcheck/spellcheck_buildflags.h"
#include "components/strings/grit/components_strings.h"
+#include "components/translate/core/common/translate_switches.h"
#include "components/translate/core/browser/translate_download_manager.h"
#include "components/translate/core/browser/translate_manager.h"
#include "components/translate/core/browser/translate_prefs.h"
@@ -1751,6 +1752,8 @@ void RenderViewContextMenu::AppendPageIt
menu_model_.AddSeparator(ui::NORMAL_SEPARATOR);
}
+ const base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess();
+ if (command_line.HasSwitch(translate::switches::kTranslateScriptURL)) {
ChromeTranslateClient* chrome_translate_client =
ChromeTranslateClient::FromWebContents(embedder_web_contents_);
const bool canTranslate =
@@ -1772,6 +1775,7 @@ void RenderViewContextMenu::AppendPageIt
IDC_CONTENT_CONTEXT_TRANSLATE,
l10n_util::GetStringFUTF16(IDS_CONTENT_CONTEXT_TRANSLATE, language));
}
+ } // if (command_line.HasSwitch(translate::switches::kTranslateScriptURL))
}
void RenderViewContextMenu::AppendExitFullscreenItem() {
--- components/translate/core/browser/translate_language_list.cc.orig
+++ components/translate/core/browser/translate_language_list.cc
@@ -11,6 +11,7 @@
#include "base/bind.h"
#include "base/check.h"
+#include "base/command_line.h"
#include "base/json/json_reader.h"
#include "base/lazy_instance.h"
#include "base/notreached.h"
@@ -23,6 +24,7 @@
#include "components/translate/core/browser/translate_event_details.h"
#include "components/translate/core/browser/translate_url_fetcher.h"
#include "components/translate/core/browser/translate_url_util.h"
+#include "components/translate/core/common/translate_switches.h"
#include "components/translate/core/common/translate_util.h"
#include "net/base/url_util.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
@@ -219,6 +221,9 @@ GURL TranslateLanguageList::TranslateLan
}
void TranslateLanguageList::RequestLanguageList() {
+ const base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess();
+ if (!command_line.HasSwitch(translate::switches::kTranslateScriptURL))
+ return;
// If resource requests are not allowed, we'll get a callback when they are.
if (!resource_requests_allowed_) {
request_pending_ = true;
--- components/translate/core/browser/translate_manager.cc.orig
+++ components/translate/core/browser/translate_manager.cc
@@ -887,8 +887,9 @@ void TranslateManager::FilterIsTranslate
->LogAutofillAssistantDeferredTriggerDecision();
}
- if (!ignore_missing_key_for_testing_ &&
- !::google_apis::HasAPIKeyConfigured()) {
+ const base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess();
+ if (!command_line.HasSwitch(translate::switches::kTranslateScriptURL) ||
+ (!ignore_missing_key_for_testing_ && !::google_apis::HasAPIKeyConfigured())) {
// Without an API key, translate won't work, so don't offer to translate in
// the first place. Leave kOfferTranslateEnabled on, though, because that
// settings syncs and we don't want to turn off translate everywhere else.
--- components/translate/core/browser/translate_ranker_impl.cc.orig
+++ components/translate/core/browser/translate_ranker_impl.cc
@@ -156,12 +156,9 @@ TranslateRankerImpl::TranslateRankerImpl
ukm::UkmRecorder* ukm_recorder)
: ukm_recorder_(ukm_recorder),
is_uma_logging_enabled_(false),
- is_query_enabled_(base::FeatureList::IsEnabled(kTranslateRankerQuery)),
- is_enforcement_enabled_(
- base::FeatureList::IsEnabled(kTranslateRankerEnforcement)),
- is_previous_language_matches_override_enabled_(
- base::FeatureList::IsEnabled(
- translate::kTranslateRankerPreviousLanguageMatchesOverride)) {
+ is_query_enabled_(false),
+ is_enforcement_enabled_(false),
+ is_previous_language_matches_override_enabled_(false) {
if (is_query_enabled_ || is_enforcement_enabled_) {
model_loader_ = std::make_unique<assist_ranker::RankerModelLoaderImpl>(
base::BindRepeating(&ValidateModel),
@@ -235,6 +232,8 @@ bool TranslateRankerImpl::ShouldOfferTra
// (or become False).
const bool kDefaultResponse = true;
+ return kDefaultResponse;
+
translate_event->set_ranker_request_timestamp_sec(
(base::TimeTicks::Now() - base::TimeTicks()).InSeconds());
translate_event->set_ranker_version(GetModelVersion());
--- components/translate/core/browser/translate_script.cc.orig
+++ components/translate/core/browser/translate_script.cc
@@ -137,8 +137,13 @@ void TranslateScript::OnScriptFetchCompl
server_params.c_str());
GURL security_origin = translate::GetTranslateSecurityOrigin();
- base::StringAppendF(&data_, "var securityOrigin = '%s';",
- security_origin.spec().c_str());
+ const base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess();
+ if (command_line.HasSwitch(translate::switches::kTranslateScriptURL)) {
+ base::StringAppendF(&data_, "var securityOrigin = '%s';",
+ security_origin.spec().c_str());
+ } else {
+ base::StringAppendF(&data_, "var securityOrigin = '';");
+ }
// Load embedded translate.js.
data_.append(ui::ResourceBundle::GetSharedInstance().LoadDataResourceString(
|