OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/search_engines/search_provider_install_data.h" | 5 #include "chrome/browser/search_engines/search_provider_install_data.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <functional> | 8 #include <functional> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 27 matching lines...) Expand all Loading... |
38 ScopedVector<TemplateURL> template_url_copies; | 38 ScopedVector<TemplateURL> template_url_copies; |
39 TemplateURL* default_provider_copy = NULL; | 39 TemplateURL* default_provider_copy = NULL; |
40 TemplateURLService::TemplateURLVector original_template_urls = | 40 TemplateURLService::TemplateURLVector original_template_urls = |
41 template_url_service->GetTemplateURLs(); | 41 template_url_service->GetTemplateURLs(); |
42 TemplateURL* original_default_provider = | 42 TemplateURL* original_default_provider = |
43 template_url_service->GetDefaultSearchProvider(); | 43 template_url_service->GetDefaultSearchProvider(); |
44 for (TemplateURLService::TemplateURLVector::const_iterator it = | 44 for (TemplateURLService::TemplateURLVector::const_iterator it = |
45 original_template_urls.begin(); | 45 original_template_urls.begin(); |
46 it != original_template_urls.end(); | 46 it != original_template_urls.end(); |
47 ++it) { | 47 ++it) { |
48 template_url_copies.push_back(new TemplateURL(NULL, (*it)->data())); | 48 template_url_copies.push_back(new TemplateURL((*it)->data())); |
49 if (*it == original_default_provider) | 49 if (*it == original_default_provider) |
50 default_provider_copy = template_url_copies.back(); | 50 default_provider_copy = template_url_copies.back(); |
51 } | 51 } |
52 BrowserThread::PostTask(BrowserThread::IO, | 52 BrowserThread::PostTask(BrowserThread::IO, |
53 FROM_HERE, | 53 FROM_HERE, |
54 base::Bind(callback, | 54 base::Bind(callback, |
55 base::Passed(template_url_copies.Pass()), | 55 base::Passed(template_url_copies.Pass()), |
56 base::Unretained(default_provider_copy))); | 56 base::Unretained(default_provider_copy))); |
57 } | 57 } |
58 | 58 |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
172 | 172 |
173 // Indicates if the two inputs have the same security origin. | 173 // Indicates if the two inputs have the same security origin. |
174 // |requested_origin| should only be a security origin (no path, etc.). | 174 // |requested_origin| should only be a security origin (no path, etc.). |
175 // It is ok if |template_url| is NULL. | 175 // It is ok if |template_url| is NULL. |
176 static bool IsSameOrigin(const GURL& requested_origin, | 176 static bool IsSameOrigin(const GURL& requested_origin, |
177 TemplateURL* template_url, | 177 TemplateURL* template_url, |
178 const SearchTermsData& search_terms_data) { | 178 const SearchTermsData& search_terms_data) { |
179 DCHECK(requested_origin == requested_origin.GetOrigin()); | 179 DCHECK(requested_origin == requested_origin.GetOrigin()); |
180 DCHECK(template_url->GetType() != TemplateURL::OMNIBOX_API_EXTENSION); | 180 DCHECK(template_url->GetType() != TemplateURL::OMNIBOX_API_EXTENSION); |
181 return requested_origin == | 181 return requested_origin == |
182 TemplateURLService::GenerateSearchURLUsingTermsData(template_url, | 182 TemplateURLService::GenerateSearchURL(template_url, |
183 search_terms_data).GetOrigin(); | 183 search_terms_data).GetOrigin(); |
184 } | 184 } |
185 | 185 |
186 } // namespace | 186 } // namespace |
187 | 187 |
188 SearchProviderInstallData::SearchProviderInstallData( | 188 SearchProviderInstallData::SearchProviderInstallData( |
189 Profile* profile, | 189 Profile* profile, |
190 content::RenderProcessHost* host) | 190 content::RenderProcessHost* host) |
191 : template_url_service_(TemplateURLServiceFactory::GetForProfile(profile)), | 191 : template_url_service_(TemplateURLServiceFactory::GetForProfile(profile)), |
192 google_base_url_(UIThreadSearchTermsData(profile).GoogleBaseURLValue()), | 192 google_base_url_(UIThreadSearchTermsData(profile).GoogleBaseURLValue()), |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
277 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 277 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
278 | 278 |
279 if (!template_url) { | 279 if (!template_url) { |
280 default_search_origin_.clear(); | 280 default_search_origin_.clear(); |
281 return; | 281 return; |
282 } | 282 } |
283 | 283 |
284 DCHECK(template_url->GetType() != TemplateURL::OMNIBOX_API_EXTENSION); | 284 DCHECK(template_url->GetType() != TemplateURL::OMNIBOX_API_EXTENSION); |
285 | 285 |
286 IOThreadSearchTermsData search_terms_data(google_base_url_); | 286 IOThreadSearchTermsData search_terms_data(google_base_url_); |
287 const GURL url(TemplateURLService::GenerateSearchURLUsingTermsData( | 287 const GURL url(TemplateURLService::GenerateSearchURL( |
288 template_url, search_terms_data)); | 288 template_url, search_terms_data)); |
289 if (!url.is_valid() || !url.has_host()) { | 289 if (!url.is_valid() || !url.has_host()) { |
290 default_search_origin_.clear(); | 290 default_search_origin_.clear(); |
291 return; | 291 return; |
292 } | 292 } |
293 default_search_origin_ = url.GetOrigin().spec(); | 293 default_search_origin_ = url.GetOrigin().spec(); |
294 } | 294 } |
295 | 295 |
296 void SearchProviderInstallData::OnLoadFailed() { | 296 void SearchProviderInstallData::OnLoadFailed() { |
297 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 297 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
(...skipping 13 matching lines...) Expand all Loading... |
311 | 311 |
312 std::for_each(closure_queue.begin(), | 312 std::for_each(closure_queue.begin(), |
313 closure_queue.end(), | 313 closure_queue.end(), |
314 std::mem_fun_ref(&base::Closure::Run)); | 314 std::mem_fun_ref(&base::Closure::Run)); |
315 | 315 |
316 // Since we expect this request to be rare, clear out the information. This | 316 // Since we expect this request to be rare, clear out the information. This |
317 // also keeps the responses current as the search providers change. | 317 // also keeps the responses current as the search providers change. |
318 provider_map_.reset(); | 318 provider_map_.reset(); |
319 SetDefault(NULL); | 319 SetDefault(NULL); |
320 } | 320 } |
OLD | NEW |