Index: chrome/browser/tab_contents/render_view_context_menu.cc |
=================================================================== |
--- chrome/browser/tab_contents/render_view_context_menu.cc (revision 50770) |
+++ chrome/browser/tab_contents/render_view_context_menu.cc (working copy) |
@@ -41,6 +41,7 @@ |
#include "chrome/common/chrome_switches.h" |
#include "chrome/common/pref_names.h" |
#include "chrome/common/url_constants.h" |
+#include "gfx/favicon_size.h" |
#include "grit/generated_resources.h" |
#include "net/base/escape.h" |
#include "net/url_request/url_request.h" |
@@ -195,6 +196,7 @@ |
menu_model_.AddSubMenu(menu_id, title, submenu); |
RecursivelyAppendExtensionItems(submenu_items, submenu, index); |
} |
+ SetExtensionIcon(extension_id); |
} |
void RenderViewContextMenu::RecursivelyAppendExtensionItems( |
@@ -253,6 +255,20 @@ |
} |
} |
+void RenderViewContextMenu::SetExtensionIcon(const std::string& extension_id) { |
+ ExtensionsService* service = profile_->GetExtensionsService(); |
+ ExtensionMenuManager* menu_manager = service->menu_manager(); |
+ |
+ int index = menu_model_.GetItemCount() - 1; |
+ DCHECK(index >= 0); |
+ |
+ const SkBitmap& icon = menu_manager->GetIconForExtension(extension_id); |
+ DCHECK(icon.width() == kFavIconSize); |
+ DCHECK(icon.height() == kFavIconSize); |
+ |
+ menu_model_.SetIcon(index, icon); |
+} |
+ |
void RenderViewContextMenu::AppendAllExtensionItems() { |
extension_item_map_.clear(); |
ExtensionsService* service = profile_->GetExtensionsService(); |