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

Unified Diff: chrome/browser/translate/chrome_translate_client.cc

Issue 424123003: Replace the use of CLD_DATA_FROM* and CLD-related ifdefs with runtime checks. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 6 years, 5 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: chrome/browser/translate/chrome_translate_client.cc
diff --git a/chrome/browser/translate/chrome_translate_client.cc b/chrome/browser/translate/chrome_translate_client.cc
index 6131d498fddfe69b3b1972f58e72a830abffe58d..afcbcf34d54681099f60b691ed42966d408ddf8e 100644
--- a/chrome/browser/translate/chrome_translate_client.cc
+++ b/chrome/browser/translate/chrome_translate_client.cc
@@ -7,6 +7,7 @@
#include <vector>
#include "base/logging.h"
+#include "base/path_service.h"
#include "base/prefs/pref_service.h"
#include "base/strings/string_split.h"
#include "chrome/browser/chrome_notification_types.h"
@@ -20,8 +21,10 @@
#include "chrome/browser/ui/browser_window.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/browser/ui/translate/translate_bubble_factory.h"
+#include "chrome/common/chrome_paths.h"
#include "chrome/common/pref_names.h"
#include "components/infobars/core/infobar.h"
+#include "components/translate/content/common/cld_data_source.h"
#include "components/translate/content/common/translate_messages.h"
#include "components/translate/core/browser/language_state.h"
#include "components/translate/core/browser/page_translated_details.h"
@@ -40,20 +43,12 @@
#include "net/http/http_status_code.h"
#include "url/gurl.h"
-#if defined(CLD_DATA_FROM_STANDALONE)
-#include "base/path_service.h"
-#include "chrome/common/chrome_paths.h"
-#include "components/translate/content/browser/data_file_browser_cld_data_provider.h"
-#endif
-
namespace {
// The maximum number of attempts we'll do to see if the page has finshed
// loading before giving up the translation
const int kMaxTranslateLoadCheckAttempts = 20;
-#if defined(CLD_DATA_FROM_STANDALONE)
-// This build uses a standalone CLD2 data file.
// TODO(andrewhayden): Make the data file path into a gyp/gn define
// If you change this, also update standalone_cld_data_harness.cc
// accordingly!
@@ -62,20 +57,6 @@ const base::FilePath::CharType kCldDataFileName[] =
bool g_cld_file_path_initialized_ = false;
-void InitCldFilePath() {
- VLOG(1) << "Initializing CLD file path for the first time.";
- base::FilePath path;
- if (!PathService::Get(chrome::DIR_USER_DATA, &path)) {
- LOG(WARNING) << "Unable to locate user data directory";
- return; // Chrome isn't properly installed
- }
- g_cld_file_path_initialized_ = true;
- path = path.Append(kCldDataFileName);
- VLOG(1) << "Setting CLD data file path: " << path.value();
- translate::SetCldDataFilePath(path);
-}
-#endif
-
} // namespace
DEFINE_WEB_CONTENTS_USER_DATA_KEY(ChromeTranslateClient);
@@ -89,10 +70,22 @@ ChromeTranslateClient::ChromeTranslateClient(content::WebContents* web_contents)
cld_data_provider_(
translate::CreateBrowserCldDataProviderFor(web_contents)),
weak_pointer_factory_(this) {
-#if defined(CLD_DATA_FROM_STANDALONE)
- if (!g_cld_file_path_initialized_)
- InitCldFilePath();
-#endif
+ // Customization: for the standalone data source, we configure the path to
+ // CLD data immediately on startup.
+ if (translate::CldDataSource::ShouldUseStandaloneDataFile() &&
+ !g_cld_file_path_initialized_) {
+ VLOG(1) << "Initializing CLD file path for the first time.";
+ base::FilePath path;
+ if (!PathService::Get(chrome::DIR_USER_DATA, &path)) {
+ // Chrome isn't properly installed
+ LOG(WARNING) << "Unable to locate user data directory";
+ } else {
+ g_cld_file_path_initialized_ = true;
+ path = path.Append(kCldDataFileName);
+ VLOG(1) << "Setting CLD data file path: " << path.value();
+ translate::SetCldDataFilePath(path);
+ }
+ }
}
ChromeTranslateClient::~ChromeTranslateClient() {

Powered by Google App Engine
This is Rietveld 408576698