summaryrefslogtreecommitdiffstats
path: root/chrome/browser/template_url.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/template_url.cc')
-rw-r--r--chrome/browser/template_url.cc17
1 files changed, 17 insertions, 0 deletions
diff --git a/chrome/browser/template_url.cc b/chrome/browser/template_url.cc
index 67f42e3c..aab5221 100644
--- a/chrome/browser/template_url.cc
+++ b/chrome/browser/template_url.cc
@@ -34,6 +34,7 @@
#include "chrome/browser/browser_process.h"
#include "chrome/browser/rlz/rlz.h"
#include "chrome/browser/google_url_tracker.h"
+#include "chrome/browser/template_url_model.h"
#include "chrome/common/gfx/favicon_size.h"
#include "net/base/escape.h"
@@ -527,6 +528,15 @@ void TemplateURL::SetURL(const std::wstring& url,
url_.Set(url, index_offset, page_offset);
}
+const std::wstring& TemplateURL::keyword() const {
+ if (autogenerate_keyword_ && keyword_.empty()) {
+ // Generate a keyword and cache it.
+ keyword_ = TemplateURLModel::GenerateKeyword(
+ TemplateURLModel::GenerateSearchURL(this).GetWithEmptyPath(), true);
+ }
+ return keyword_;
+}
+
bool TemplateURL::ShowInDefaultList() const {
return show_in_default_list() && url() && url()->SupportsReplacement();
}
@@ -561,3 +571,10 @@ GURL TemplateURL::GetFavIconURL() const {
}
return GURL();
}
+
+void TemplateURL::InvalidateCachedValues() const {
+ url_.InvalidateCachedValues();
+ suggestions_url_.InvalidateCachedValues();
+ if (autogenerate_keyword_)
+ keyword_.clear();
+}