Index: chrome/browser/extensions/extension_menu_manager.h |
diff --git a/chrome/browser/extensions/extension_menu_manager.h b/chrome/browser/extensions/extension_menu_manager.h |
index 4455ee1a16cc6c56d78a8c18b108ada2efb0e9f7..c8224d11dd70d3990bbb94822624b787f68faa83 100644 |
--- a/chrome/browser/extensions/extension_menu_manager.h |
+++ b/chrome/browser/extensions/extension_menu_manager.h |
@@ -33,9 +33,20 @@ class ExtensionMenuItem { |
// A list of ExtensionMenuItem's. |
typedef std::vector<ExtensionMenuItem*> List; |
- // An Id is a pair of |extension id|, |int| where the |int| is unique per |
- // extension. |
- typedef std::pair<std::string, int> Id; |
+ // An Id uniquely identifies a context menu item registered by an extension. |
+ struct Id { |
+ Id(); |
+ Id(Profile* profile, std::string extension_id, int uid); |
+ ~Id(); |
+ |
+ bool operator==(const Id& other) const; |
+ bool operator!=(const Id& other) const; |
+ bool operator<(const Id& other) const; |
+ |
+ Profile* profile; |
+ std::string extension_id; |
+ int uid; |
+ }; |
// For context menus, these are the contexts where an item can appear. |
enum Context { |
@@ -93,7 +104,7 @@ class ExtensionMenuItem { |
virtual ~ExtensionMenuItem(); |
// Simple accessor methods. |
- const std::string& extension_id() const { return id_.first; } |
+ const std::string& extension_id() const { return id_.extension_id; } |
const std::string& title() const { return title_; } |
const List& children() { return children_; } |
const Id& id() const { return id_; } |