| Index: chrome/browser/extensions/extension_context_menu_model.h
 | 
| diff --git a/chrome/browser/extensions/extension_context_menu_model.h b/chrome/browser/extensions/extension_context_menu_model.h
 | 
| index 4685b6c9f42def7fe89997d542f87f85b64a12f7..3fd366a4f460c1b31dcc9d1701cb39269024033e 100644
 | 
| --- a/chrome/browser/extensions/extension_context_menu_model.h
 | 
| +++ b/chrome/browser/extensions/extension_context_menu_model.h
 | 
| @@ -17,6 +17,8 @@ class Profile;
 | 
|  
 | 
|  namespace extensions {
 | 
|  class Extension;
 | 
| +class ContextMenuMatcher;
 | 
| +class ExtensionContextMenuModelTest;
 | 
|  }
 | 
|  
 | 
|  // The context menu model for extension icons.
 | 
| @@ -35,6 +37,9 @@ class ExtensionContextMenuModel
 | 
|      INSPECT_POPUP
 | 
|    };
 | 
|  
 | 
| +  // Type of action the extension icon represents.
 | 
| +  enum ActionType { NO_ACTION = 0, BROWSER_ACTION, PAGE_ACTION };
 | 
| +
 | 
|    // Delegate to handle showing an ExtensionAction popup.
 | 
|    class PopupDelegate {
 | 
|     public:
 | 
| @@ -73,6 +78,8 @@ class ExtensionContextMenuModel
 | 
|  
 | 
|   private:
 | 
|    friend class base::RefCounted<ExtensionContextMenuModel>;
 | 
| +  friend class extensions::ExtensionContextMenuModelTest;
 | 
| +
 | 
|    virtual ~ExtensionContextMenuModel();
 | 
|  
 | 
|    void InitMenu(const extensions::Extension* extension);
 | 
| @@ -81,6 +88,9 @@ class ExtensionContextMenuModel
 | 
|    // extension has been uninstalled and no longer exists.
 | 
|    const extensions::Extension* GetExtension() const;
 | 
|  
 | 
| +  // Appends the extension's context menu items.
 | 
| +  void AppendExtensionItems();
 | 
| +
 | 
|    // A copy of the extension's id.
 | 
|    std::string extension_id_;
 | 
|  
 | 
| @@ -95,9 +105,18 @@ class ExtensionContextMenuModel
 | 
|    // The delegate which handles the 'inspect popup' menu command (or NULL).
 | 
|    PopupDelegate* delegate_;
 | 
|  
 | 
| +  // The type of extension action to which this context menu is attached.
 | 
| +  ActionType action_type_;
 | 
| +
 | 
|    // Keeps track of the extension uninstall dialog.
 | 
|    scoped_ptr<extensions::ExtensionUninstallDialog> extension_uninstall_dialog_;
 | 
|  
 | 
| +  // Menu matcher for context menu items specified by the extension.
 | 
| +  scoped_ptr<extensions::ContextMenuMatcher> extension_items_;
 | 
| +
 | 
| +  // Number of extension items in this menu. Used for testing.
 | 
| +  int extension_items_count_ = 0;
 | 
| +
 | 
|    DISALLOW_COPY_AND_ASSIGN(ExtensionContextMenuModel);
 | 
|  };
 | 
|  
 | 
| 
 |