Chromium Code Reviews| Index: chrome/browser/extensions/menu_manager.cc |
| diff --git a/chrome/browser/extensions/menu_manager.cc b/chrome/browser/extensions/menu_manager.cc |
| index 95993c9906ec963d80a5a8d44210152a3ea07fcf..6fccd4f8772b4352bb8b95c26a63245e462e5522 100644 |
| --- a/chrome/browser/extensions/menu_manager.cc |
| +++ b/chrome/browser/extensions/menu_manager.cc |
| @@ -883,25 +883,37 @@ void MenuManager::RemoveAllIncognitoContextItems() { |
| RemoveContextMenuItem(*remove_iter); |
| } |
| -MenuItem::ExtensionKey::ExtensionKey() : webview_instance_id(0) {} |
| - |
| -MenuItem::ExtensionKey::ExtensionKey(const std::string& extension_id, |
| - int webview_instance_id) |
| - : extension_id(extension_id), webview_instance_id(webview_instance_id) {} |
| +MenuItem::ExtensionKey::ExtensionKey() |
| + : webview_embedder_process_id(0), webview_instance_id(0) {} |
| MenuItem::ExtensionKey::ExtensionKey(const std::string& extension_id) |
| - : extension_id(extension_id), webview_instance_id(0) {} |
| + : extension_id(extension_id), |
| + webview_embedder_process_id(0), |
| + webview_instance_id(0) { |
| + DCHECK(!extension_id.empty()); |
| +} |
| + |
| +MenuItem::ExtensionKey::ExtensionKey(int webview_embedder_process_id, |
| + int webview_instance_id) |
| + : webview_embedder_process_id(webview_embedder_process_id), |
| + webview_instance_id(webview_instance_id) { |
| + DCHECK(webview_embedder_process_id && webview_instance_id); |
| +} |
| bool MenuItem::ExtensionKey::operator==(const ExtensionKey& other) const { |
| return extension_id == other.extension_id && |
| - webview_instance_id == other.webview_instance_id; |
| + webview_instance_id == other.webview_instance_id && |
| + webview_embedder_process_id == other.webview_embedder_process_id; |
| } |
| bool MenuItem::ExtensionKey::operator<(const ExtensionKey& other) const { |
| - if (extension_id != other.extension_id) |
| - return extension_id < other.extension_id; |
| + if (webview_embedder_process_id != other.webview_embedder_process_id) |
| + return webview_embedder_process_id < other.webview_embedder_process_id; |
| + |
| + if (webview_instance_id != other.webview_instance_id) |
| + return webview_instance_id < other.webview_instance_id; |
| - return webview_instance_id < other.webview_instance_id; |
| + return extension_id < other.extension_id; |
|
lazyboy
2015/06/19 20:34:59
Is there any reason why you put this at the end? i
paulmeyer
2015/06/23 13:43:28
Done.
|
| } |
| bool MenuItem::ExtensionKey::operator!=(const ExtensionKey& other) const { |
| @@ -909,7 +921,8 @@ bool MenuItem::ExtensionKey::operator!=(const ExtensionKey& other) const { |
| } |
| bool MenuItem::ExtensionKey::empty() const { |
| - return extension_id.empty() && !webview_instance_id; |
| + return extension_id.empty() && !webview_embedder_process_id && |
| + !webview_instance_id; |
| } |
| MenuItem::Id::Id() : incognito(false), uid(0) {} |