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

Unified Diff: components/translate/content/renderer/translate_helper.cc

Issue 461633002: Refactor language detection logic to allow non-static CLD data sources. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase and merge Created 6 years, 3 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/translate/content/renderer/translate_helper.cc
diff --git a/components/translate/content/renderer/translate_helper.cc b/components/translate/content/renderer/translate_helper.cc
index 5aff9c8c259e2a73ca4ec61a91ed18986a2134da..e09ba3133a88dfab78a14af339c9f924aab1df6b 100644
--- a/components/translate/content/renderer/translate_helper.cc
+++ b/components/translate/content/renderer/translate_helper.cc
@@ -13,6 +13,8 @@
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
#include "components/translate/content/common/translate_messages.h"
+#include "components/translate/content/renderer/renderer_cld_data_provider.h"
+#include "components/translate/content/renderer/static_renderer_cld_data_provider.h"
#include "components/translate/core/common/translate_constants.h"
#include "components/translate/core/common/translate_metrics.h"
#include "components/translate/core/common/translate_util.h"
@@ -82,7 +84,8 @@ TranslateHelper::TranslateHelper(content::RenderView* render_view,
: content::RenderViewObserver(render_view),
page_seq_no_(0),
translation_pending_(false),
- cld_data_provider_(translate::CreateRendererCldDataProviderFor(this)),
+ cld_data_provider_(
+ static_cast<translate::RendererCldDataProvider*>(NULL)),
cld_data_polling_started_(false),
cld_data_polling_canceled_(false),
deferred_page_capture_(false),
@@ -91,6 +94,16 @@ TranslateHelper::TranslateHelper(content::RenderView* render_view,
extension_group_(extension_group),
extension_scheme_(extension_scheme),
weak_method_factory_(this) {
+ if (!translate::RendererCldDataProvider::IsInitialized()) {
+ // No provider is yet set for this renderer process. Initialize one now.
+ translate::RendererCldDataProvider* provider;
+
+ // Note: Customize the data source and provider here, as desired.
Andrew Hayden (chromium.org) 2014/09/26 10:22:49 This comment should look like the other one for ma
Andrew Hayden (chromium.org) 2014/10/28 15:18:39 Done.
+ provider = new translate::StaticRendererCldDataProvider();
+
+ translate::RendererCldDataProvider::Set(provider, false);
+ }
+ cld_data_provider_.reset(translate::RendererCldDataProvider::Get());
}
TranslateHelper::~TranslateHelper() {

Powered by Google App Engine
This is Rietveld 408576698