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

Side by Side Diff: chrome/browser/search_engines/template_url_service.cc

Issue 7232023: Added last_modified field to TemplateURL and database. Updated unit tests, including refactoring ... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/template_url_service.h" 5 #include "chrome/browser/search_engines/template_url_service.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/environment.h" 8 #include "base/environment.h"
9 #include "base/i18n/case_conversion.h" 9 #include "base/i18n/case_conversion.h"
10 #include "base/stl_util-inl.h" 10 #include "base/stl_util-inl.h"
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 } 95 }
96 }; 96 };
97 97
98 TemplateURLService::TemplateURLService(Profile* profile) 98 TemplateURLService::TemplateURLService(Profile* profile)
99 : profile_(profile), 99 : profile_(profile),
100 loaded_(false), 100 loaded_(false),
101 load_failed_(false), 101 load_failed_(false),
102 load_handle_(0), 102 load_handle_(0),
103 default_search_provider_(NULL), 103 default_search_provider_(NULL),
104 is_default_search_managed_(false), 104 is_default_search_managed_(false),
105 next_id_(1) { 105 next_id_(1),
106 time_provider_(&base::Time::Now) {
106 DCHECK(profile_); 107 DCHECK(profile_);
107 Init(NULL, 0); 108 Init(NULL, 0);
108 } 109 }
109 110
110 TemplateURLService::TemplateURLService(const Initializer* initializers, 111 TemplateURLService::TemplateURLService(const Initializer* initializers,
111 const int count) 112 const int count)
112 : profile_(NULL), 113 : profile_(NULL),
113 loaded_(false), 114 loaded_(false),
114 load_failed_(false), 115 load_failed_(false),
115 load_handle_(0), 116 load_handle_(0),
116 service_(NULL), 117 service_(NULL),
117 default_search_provider_(NULL), 118 default_search_provider_(NULL),
118 is_default_search_managed_(false), 119 is_default_search_managed_(false),
119 next_id_(1) { 120 next_id_(1),
121 time_provider_(&base::Time::Now) {
120 Init(initializers, count); 122 Init(initializers, count);
121 } 123 }
122 124
123 TemplateURLService::~TemplateURLService() { 125 TemplateURLService::~TemplateURLService() {
124 if (load_handle_) { 126 if (load_handle_) {
125 DCHECK(service_.get()); 127 DCHECK(service_.get());
126 service_->CancelRequest(load_handle_); 128 service_->CancelRequest(load_handle_);
127 } 129 }
128 130
129 STLDeleteElements(&template_urls_); 131 STLDeleteElements(&template_urls_);
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after
392 new_url.set_short_name(title); 394 new_url.set_short_name(title);
393 new_url.set_keyword(keyword); 395 new_url.set_keyword(keyword);
394 if ((new_url.url() && search_url.empty()) || 396 if ((new_url.url() && search_url.empty()) ||
395 (!new_url.url() && !search_url.empty()) || 397 (!new_url.url() && !search_url.empty()) ||
396 (new_url.url() && new_url.url()->url() != search_url)) { 398 (new_url.url() && new_url.url()->url() != search_url)) {
397 // The urls have changed, reset the favicon url. 399 // The urls have changed, reset the favicon url.
398 new_url.SetFaviconURL(GURL()); 400 new_url.SetFaviconURL(GURL());
399 new_url.SetURL(search_url, 0, 0); 401 new_url.SetURL(search_url, 0, 0);
400 } 402 }
401 new_url.set_safe_for_autoreplace(false); 403 new_url.set_safe_for_autoreplace(false);
404 new_url.set_last_modified(time_provider_());
402 UpdateNoNotify(url, new_url); 405 UpdateNoNotify(url, new_url);
403 NotifyObservers(); 406 NotifyObservers();
404 } 407 }
405 408
406 bool TemplateURLService::CanMakeDefault(const TemplateURL* url) { 409 bool TemplateURLService::CanMakeDefault(const TemplateURL* url) {
407 return url != GetDefaultSearchProvider() && 410 return url != GetDefaultSearchProvider() &&
408 url->url() && 411 url->url() &&
409 url->url()->SupportsReplacement() && 412 url->url()->SupportsReplacement() &&
410 !is_default_search_managed(); 413 !is_default_search_managed();
411 } 414 }
(...skipping 907 matching lines...) Expand 10 before | Expand all | Expand 10 after
1319 1322
1320 i = template_urls->erase(i); 1323 i = template_urls->erase(i);
1321 if (service_.get()) 1324 if (service_.get())
1322 service_->RemoveKeyword(*template_url); 1325 service_->RemoveKeyword(*template_url);
1323 delete template_url; 1326 delete template_url;
1324 } else { 1327 } else {
1325 ++i; 1328 ++i;
1326 } 1329 }
1327 } 1330 }
1328 } 1331 }
OLDNEW
« no previous file with comments | « chrome/browser/search_engines/template_url_service.h ('k') | chrome/browser/search_engines/template_url_service_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698