| Index: chrome/browser/renderer_context_menu/render_view_context_menu.h
|
| diff --git a/chrome/browser/renderer_context_menu/render_view_context_menu.h b/chrome/browser/renderer_context_menu/render_view_context_menu.h
|
| index 5b5932eedbe389723dccce7742d091b2821454c6..e234867fc61f00539575048dced9ea06e0166be0 100644
|
| --- a/chrome/browser/renderer_context_menu/render_view_context_menu.h
|
| +++ b/chrome/browser/renderer_context_menu/render_view_context_menu.h
|
| @@ -15,6 +15,7 @@
|
| #include "chrome/browser/extensions/context_menu_matcher.h"
|
| #include "chrome/browser/extensions/menu_manager.h"
|
| #include "components/renderer_context_menu/context_menu_content_type.h"
|
| +#include "components/renderer_context_menu/render_view_context_menu_base.h"
|
| #include "components/renderer_context_menu/render_view_context_menu_observer.h"
|
| #include "components/renderer_context_menu/render_view_context_menu_proxy.h"
|
| #include "content/public/common/context_menu_params.h"
|
| @@ -46,99 +47,20 @@ struct WebMediaPlayerAction;
|
| struct WebPluginAction;
|
| }
|
|
|
| -class RenderViewContextMenu : public ui::SimpleMenuModel::Delegate,
|
| - public RenderViewContextMenuProxy {
|
| +class RenderViewContextMenu : public RenderViewContextMenuBase {
|
| public:
|
| - // A delegate interface to communicate with the toolkit used by
|
| - // the embedder.
|
| - class ToolkitDelegate {
|
| - public:
|
| - virtual ~ToolkitDelegate() {}
|
| - // Initialize the toolkit's menu.
|
| - virtual void Init(ui::SimpleMenuModel* menu_model) = 0;
|
| -
|
| - virtual void Cancel() = 0;
|
| -
|
| - // Updates the actual menu items controlled by the toolkit.
|
| - virtual void UpdateMenuItem(int command_id,
|
| - bool enabled,
|
| - bool hidden,
|
| - const base::string16& title) = 0;
|
| - };
|
| -
|
| - static const size_t kMaxSelectionTextLength;
|
| -
|
| - // Convert a command ID so that it fits within the range for
|
| - // content context menu.
|
| - static int ConvertToContentCustomCommandId(int id);
|
| -
|
| - // True if the given id is the one generated for content context menu.
|
| - static bool IsContentCustomCommandId(int id);
|
| -
|
| RenderViewContextMenu(content::RenderFrameHost* render_frame_host,
|
| const content::ContextMenuParams& params);
|
|
|
| virtual ~RenderViewContextMenu();
|
|
|
| - // Initializes the context menu.
|
| - void Init();
|
| -
|
| - // Programmatically closes the context menu.
|
| - void Cancel();
|
| -
|
| - const ui::SimpleMenuModel& menu_model() const { return menu_model_; }
|
| - const content::ContextMenuParams& params() const { return params_; }
|
| -
|
| - // SimpleMenuModel::Delegate implementation.
|
| + // SimpleMenuModel::Delegate:
|
| virtual bool IsCommandIdChecked(int command_id) const OVERRIDE;
|
| virtual bool IsCommandIdEnabled(int command_id) const OVERRIDE;
|
| virtual void ExecuteCommand(int command_id, int event_flags) OVERRIDE;
|
| - virtual void MenuWillShow(ui::SimpleMenuModel* source) OVERRIDE;
|
| - virtual void MenuClosed(ui::SimpleMenuModel* source) OVERRIDE;
|
| -
|
| - // RenderViewContextMenuProxy implementation.
|
| - virtual void AddMenuItem(int command_id,
|
| - const base::string16& title) OVERRIDE;
|
| - virtual void AddCheckItem(int command_id,
|
| - const base::string16& title) OVERRIDE;
|
| - virtual void AddSeparator() OVERRIDE;
|
| - virtual void AddSubMenu(int command_id,
|
| - const base::string16& label,
|
| - ui::MenuModel* model) OVERRIDE;
|
| - virtual void UpdateMenuItem(int command_id,
|
| - bool enabled,
|
| - bool hidden,
|
| - const base::string16& title) OVERRIDE;
|
| - virtual content::RenderViewHost* GetRenderViewHost() const OVERRIDE;
|
| - virtual content::WebContents* GetWebContents() const OVERRIDE;
|
| - virtual content::BrowserContext* GetBrowserContext() const OVERRIDE;
|
|
|
| protected:
|
| - void set_toolkit_delegate(scoped_ptr<ToolkitDelegate> delegate) {
|
| - toolkit_delegate_ = delegate.Pass();
|
| - }
|
| -
|
| - ToolkitDelegate* toolkit_delegate() {
|
| - return toolkit_delegate_.get();
|
| - }
|
| -
|
| - void InitMenu();
|
| Profile* GetProfile();
|
| -
|
| - // Platform specific functions.
|
| - virtual bool GetAcceleratorForCommandId(
|
| - int command_id,
|
| - ui::Accelerator* accelerator) = 0;
|
| - virtual void AppendPlatformEditableItems();
|
| -
|
| - content::ContextMenuParams params_;
|
| - content::WebContents* source_web_contents_;
|
| - // The RenderFrameHost's IDs.
|
| - int render_process_id_;
|
| - int render_frame_id_;
|
| - content::BrowserContext* browser_context_;
|
| -
|
| - ui::SimpleMenuModel menu_model_;
|
| extensions::ContextMenuMatcher extension_items_;
|
|
|
| private:
|
| @@ -154,9 +76,19 @@ class RenderViewContextMenu : public ui::SimpleMenuModel::Delegate,
|
| static bool MenuItemMatchesParams(const content::ContextMenuParams& params,
|
| const extensions::MenuItem* item);
|
|
|
| + // RenderViewContextMenuBase:
|
| + virtual void InitMenu() OVERRIDE;
|
| + virtual void RecordShownItem(int id) OVERRIDE;
|
| + virtual void RecordUsedItem(int id) OVERRIDE;
|
| +#if defined(ENABLE_PLUGINS)
|
| + virtual void HandleAuthorizeAllPlugins() OVERRIDE;
|
| +#endif
|
| + virtual void NotifyMenuShown() OVERRIDE;
|
| + virtual void NotifyURLOpened(const GURL& url,
|
| + content::WebContents* new_contents) OVERRIDE;
|
| +
|
| // Gets the extension (if any) associated with the WebContents that we're in.
|
| const extensions::Extension* GetExtension() const;
|
| - bool AppendCustomItems();
|
|
|
| void AppendDeveloperItems();
|
| void AppendDevtoolsForUnpackedExtensions();
|
| @@ -181,11 +113,6 @@ class RenderViewContextMenu : public ui::SimpleMenuModel::Delegate,
|
| void AppendSpellcheckOptionsSubMenu();
|
| void AppendProtocolHandlerSubMenu();
|
|
|
| - // Opens the specified URL string in a new tab.
|
| - void OpenURL(const GURL& url, const GURL& referrer,
|
| - WindowOpenDisposition disposition,
|
| - content::PageTransition transition);
|
| -
|
| // Copy to the clipboard an image located at a point in the RenderView
|
| void CopyImageAt(int x, int y);
|
|
|
| @@ -231,17 +158,6 @@ class RenderViewContextMenu : public ui::SimpleMenuModel::Delegate,
|
| scoped_ptr<PrintPreviewContextMenuObserver> print_preview_menu_observer_;
|
| #endif
|
|
|
| - // Our observers.
|
| - mutable ObserverList<RenderViewContextMenuObserver> observers_;
|
| -
|
| - // Whether a command has been executed. Used to track whether menu observers
|
| - // should be notified of menu closing without execution.
|
| - bool command_executed_;
|
| -
|
| - scoped_ptr<ContextMenuContentType> content_type_;
|
| -
|
| - scoped_ptr<ToolkitDelegate> toolkit_delegate_;
|
| -
|
| DISALLOW_COPY_AND_ASSIGN(RenderViewContextMenu);
|
| };
|
|
|
|
|