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

Unified Diff: chrome/browser/search_engines/template_url_parser.cc

Issue 14232019: Do not use a UIThreadSearchTermsData when validating a TemplateURL for which the Profile is NULL. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Move logic to GetTemplateURL. Created 7 years, 8 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/search_engines/template_url_parser.cc
diff --git a/chrome/browser/search_engines/template_url_parser.cc b/chrome/browser/search_engines/template_url_parser.cc
index 8f6db40776b6e7ac27ee8be9d594bb0b82ebede9..9ab4a1e9a70d30a273e2bed1b349f21b20607826 100644
--- a/chrome/browser/search_engines/template_url_parser.cc
+++ b/chrome/browser/search_engines/template_url_parser.cc
@@ -13,6 +13,7 @@
#include "base/string_util.h"
#include "base/strings/string_number_conversions.h"
#include "base/utf_string_conversions.h"
+#include "chrome/browser/search_engines/search_terms_data.h"
#include "chrome/browser/search_engines/template_url.h"
#include "chrome/browser/search_engines/template_url_service.h"
#include "chrome/common/url_constants.h"
@@ -309,10 +310,19 @@ TemplateURL* TemplateURLParsingContext::GetTemplateURL(
// Bail if the search URL is empty or if either TemplateURLRef is invalid.
scoped_ptr<TemplateURL> template_url(new TemplateURL(profile, data_));
- if (template_url->url().empty() || !template_url->url_ref().IsValid() ||
+ // Do not use a UIThreadSearchTermsData if a profile wasn't provided as it
+ // results in the same thing (relevant UIThreadSearchTermsData methods default
+ // to SearchTermsData methods when the profile is NULL), but prevents
+ // validity checks on non-UI threads.
Peter Kasting 2013/04/17 22:50:06 This comment is extremely confusing. I would remo
gab 2013/04/18 15:00:27 Done.
+ scoped_ptr<SearchTermsData> search_terms_data(profile ?
+ new UIThreadSearchTermsData(profile) : new SearchTermsData());
+ if (template_url->url().empty() ||
+ !template_url->url_ref().IsValidUsingTermsData(*search_terms_data) ||
(!template_url->suggestions_url().empty() &&
- !template_url->suggestions_url_ref().IsValid()))
+ !template_url->suggestions_url_ref().
+ IsValidUsingTermsData(*search_terms_data))) {
return NULL;
+ }
return template_url.release();
}

Powered by Google App Engine
This is Rietveld 408576698