Index: chrome/browser/ui/search_engines/search_engine_tab_helper.cc |
diff --git a/chrome/browser/ui/search_engines/search_engine_tab_helper.cc b/chrome/browser/ui/search_engines/search_engine_tab_helper.cc |
index 0ae2d4332403de03702fd446ccdc56eb5d8f225e..7a722b0719678bb0f5cbc4c7a98a20058e517cab 100644 |
--- a/chrome/browser/ui/search_engines/search_engine_tab_helper.cc |
+++ b/chrome/browser/ui/search_engines/search_engine_tab_helper.cc |
@@ -10,6 +10,7 @@ |
#include "chrome/browser/ui/search_engines/search_engine_tab_helper_delegate.h" |
#include "chrome/common/render_messages.h" |
#include "chrome/common/url_constants.h" |
+#include "components/search_engines/search_terms_data.h" |
#include "components/search_engines/template_url.h" |
#include "components/search_engines/template_url_fetcher.h" |
#include "components/search_engines/template_url_service.h" |
@@ -37,7 +38,8 @@ bool IsFormSubmit(const NavigationEntry* entry) { |
} |
base::string16 GenerateKeywordFromNavigationEntry( |
- const NavigationEntry* entry) { |
+ const NavigationEntry* entry, |
+ const std::string& accept_languages) { |
// Don't autogenerate keywords for pages that are the result of form |
// submissions. |
if (IsFormSubmit(entry)) |
@@ -61,7 +63,7 @@ base::string16 GenerateKeywordFromNavigationEntry( |
if (!url.SchemeIs(url::kHttpScheme) || (url.path().length() > 1)) |
return base::string16(); |
- return TemplateURL::GenerateKeyword(url); |
+ return TemplateURL::GenerateKeyword(url, accept_languages); |
} |
void AssociateURLFetcherWithWebContents(content::WebContents* web_contents, |
@@ -143,7 +145,13 @@ void SearchEngineTabHelper::OnPageHasOSDD( |
// generate a keyword later after fetching the OSDD. |
base::string16 keyword; |
if (provider_type == TemplateURLFetcher::AUTODETECTED_PROVIDER) { |
- keyword = GenerateKeywordFromNavigationEntry(entry); |
+ std::string accept_languages; |
+ if (TemplateURLService* url_service = |
+ TemplateURLServiceFactory::GetForProfile(profile)) { |
Peter Kasting
2015/07/20 19:30:51
Don't put a statement with side effects in a condi
alshabalin
2015/07/21 08:44:19
Done.
Although I somewhat disagree. In my brain a
|
+ accept_languages = |
+ url_service->search_terms_data().GetAcceptedLanguages(); |
+ } |
+ keyword = GenerateKeywordFromNavigationEntry(entry, accept_languages); |
if (keyword.empty()) |
return; |
} |
@@ -184,16 +192,17 @@ void SearchEngineTabHelper::GenerateKeywordIfNecessary( |
if (last_index <= 0) |
return; |
- base::string16 keyword(GenerateKeywordFromNavigationEntry( |
- controller.GetEntryAtIndex(last_index - 1))); |
- if (keyword.empty()) |
- return; |
- |
TemplateURLService* url_service = |
TemplateURLServiceFactory::GetForProfile(profile); |
if (!url_service) |
return; |
+ base::string16 keyword(GenerateKeywordFromNavigationEntry( |
+ controller.GetEntryAtIndex(last_index - 1), |
+ url_service->search_terms_data().GetAcceptedLanguages())); |
Peter Kasting
2015/07/20 19:30:51
Again, get the languages off the profile prefs dir
|
+ if (keyword.empty()) |
+ return; |
+ |
if (!url_service->loaded()) { |
url_service->Load(); |
return; |