Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1514)

Unified Diff: chrome/browser/renderer_context_menu/render_view_context_menu.h

Issue 432003007: Separate chrome independent part from RVContextMenu (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 168fb20c9673e9ae6aefc2836c66fa063526de42..6d6249310fc56776d939fc57e232ec4f06b0e5dd 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,24 @@ 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);
+ static void InitCustomIdRnages();
lazyboy 2014/08/01 07:59:34 Ranges typo.
oshima 2014/08/01 10:38:44 This was no longer necessary. removed.
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.em
- 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 +80,17 @@ class RenderViewContextMenu : public ui::SimpleMenuModel::Delegate,
static bool MenuItemMatchesParams(const content::ContextMenuParams& params,
const extensions::MenuItem* item);
+ // RenderViewContextMenu:
lazyboy 2014/08/01 07:59:34 RenderViewContextMenuBase nit: also sort them?
oshima 2014/08/01 10:38:44 Done
+ virtual void RecordUsedItem(int id) OVERRIDE;
+ virtual void RecordShownItem(int id) OVERRIDE;
+ virtual void HandleAuthorizeAllPlugins() OVERRIDE;
+ virtual void InitMenu() OVERRIDE;
+ 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 +115,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 +160,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);
};

Powered by Google App Engine
This is Rietveld 408576698