Index: components/renderer_context_menu/render_view_context_menu_base.h |
diff --git a/components/renderer_context_menu/render_view_context_menu_base.h b/components/renderer_context_menu/render_view_context_menu_base.h |
index 779e8bbd9297aa178665649f6a32371860e6573d..b77926f9d8f19a01f575be056f26fafeea6b5761 100644 |
--- a/components/renderer_context_menu/render_view_context_menu_base.h |
+++ b/components/renderer_context_menu/render_view_context_menu_base.h |
@@ -51,6 +51,8 @@ class RenderViewContextMenuBase : public ui::SimpleMenuModel::Delegate, |
bool enabled, |
bool hidden, |
const base::string16& title) = 0; |
+ // Set icon to the actual menu items controlled by the toolkit. |
+ virtual void SetIcon(int command_id, const gfx::Image& icon) = 0; |
}; |
static const size_t kMaxSelectionTextLength; |
@@ -104,6 +106,7 @@ class RenderViewContextMenuBase : public ui::SimpleMenuModel::Delegate, |
bool enabled, |
bool hidden, |
const base::string16& title) override; |
+ void SetIcon(int command_id, const gfx::Image& icon) override; |
content::RenderViewHost* GetRenderViewHost() const override; |
content::WebContents* GetWebContents() const override; |
content::BrowserContext* GetBrowserContext() const override; |
@@ -181,11 +184,24 @@ class RenderViewContextMenuBase : public ui::SimpleMenuModel::Delegate, |
private: |
bool AppendCustomItems(); |
- |
+ void AddCustomItemsToMenu(const std::vector<content::MenuItem>& items, |
+ size_t depth, |
+ size_t* total_items, |
+ ui::SimpleMenuModel::Delegate* delegate, |
+ ui::SimpleMenuModel* menu_model); |
+ void OnIconDownloaded(int id, |
+ int http_status_code, |
+ const GURL& image_url, |
+ const std::vector<SkBitmap>& bitmaps, |
+ const std::vector<gfx::Size>& original_bitmap_sizes); |
+ |
+ typedef std::map<int, int> IconMap; |
+ IconMap icon_map_; |
// The RenderFrameHost's IDs. |
int render_process_id_; |
scoped_ptr<ToolkitDelegate> toolkit_delegate_; |
+ base::WeakPtrFactory<RenderViewContextMenuBase> weak_ptr_factory_; |
DISALLOW_COPY_AND_ASSIGN(RenderViewContextMenuBase); |
}; |