Index: chrome/browser/search_engines/template_url_model.h |
diff --git a/chrome/browser/search_engines/template_url_model.h b/chrome/browser/search_engines/template_url_model.h |
index 5b7623402a75c4b2207edca77f8f6864c4926e1e..8bab7cb61c7e368b4c0563b5f05aa0767eb045f3 100644 |
--- a/chrome/browser/search_engines/template_url_model.h |
+++ b/chrome/browser/search_engines/template_url_model.h |
@@ -1,4 +1,4 @@ |
-// Copyright (c) 2009 The Chromium Authors. All rights reserved. |
+// Copyright (c) 2010 The Chromium Authors. All rights reserved. |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
@@ -13,6 +13,7 @@ |
#include "chrome/common/notification_registrar.h" |
#include "testing/gtest/include/gtest/gtest_prod.h" |
+class Extension; |
class PrefService; |
class Profile; |
@@ -136,6 +137,20 @@ class TemplateURLModel : public WebDataServiceConsumer, |
// date passed in. |
void RemoveAutoGeneratedSince(base::Time created_after); |
+ // If the given extension has an omnibox keyword, adds a TemplateURL for that |
+ // keyword. Only 1 keyword is allowed for a given extension. If the keyword |
+ // already exists for this extension, does nothing. |
+ void RegisterExtensionKeyword(Extension* extension); |
+ |
+ // Removes the TemplateURL containing the keyword for the given extension, |
+ // if any. |
+ void UnregisterExtensionKeyword(Extension* extension); |
+ |
+ // Returns the TemplateURL associated with the keyword for this extension. |
+ // This works by checking the extension ID, not the keyword, so it will work |
+ // even if the user changed the keyword. |
+ const TemplateURL* GetTemplateURLForExtension(Extension* extension) const; |
+ |
// Returns the set of URLs describing the keywords. The elements are owned |
// by TemplateURLModel and should not be deleted. |
std::vector<const TemplateURL*> GetTemplateURLs() const; |
@@ -186,6 +201,12 @@ class TemplateURLModel : public WebDataServiceConsumer, |
// number changes. |
void RemoveDuplicatePrepopulateIDs(std::vector<const TemplateURL*>* urls); |
+ // Returns the locale-direction-adjusted short name for the given keyword. |
+ // Also sets the out param to indicate whether the keyword belongs to an |
+ // extension. |
+ std::wstring GetKeywordShortName(const std::wstring& keyword, |
+ bool* is_extension_keyword); |
+ |
// NotificationObserver method. TemplateURLModel listens for three |
// notification types: |
// . NOTIFY_HISTORY_URL_VISITED: adds keyword search terms if the visit |
@@ -351,6 +372,9 @@ class TemplateURLModel : public WebDataServiceConsumer, |
// increasing integer that is initialized from the database. |
TemplateURL::IDType next_id_; |
+ // List of extension IDs waiting for Load to have keywords registered. |
+ std::vector<std::string> pending_extension_ids_; |
+ |
DISALLOW_EVIL_CONSTRUCTORS(TemplateURLModel); |
}; |