Index: ui/views/controls/menu/menu_item_view.cc |
diff --git a/ui/views/controls/menu/menu_item_view.cc b/ui/views/controls/menu/menu_item_view.cc |
index 15e7db39e64f632c32e0b4c4dd29f646515b5a0f..42f41afdaab07fdf03044a6946ab7505e80a967e 100644 |
--- a/ui/views/controls/menu/menu_item_view.cc |
+++ b/ui/views/controls/menu/menu_item_view.cc |
@@ -88,6 +88,8 @@ int MenuItemView::pref_menu_height_; |
// static |
const char MenuItemView::kViewClassName[] = "MenuItemView"; |
+// Note: This class also has a protected constructor and a common Init function |
+// to initialize both. |
MenuItemView::MenuItemView(MenuDelegate* delegate) |
: delegate_(delegate), |
controller_(NULL), |
@@ -559,6 +561,8 @@ const MenuConfig& MenuItemView::GetMenuConfig() const { |
return MenuConfig::instance(NULL); |
} |
+// Note: This class also has a public constructor and a common Init function |
+// to initialize both. |
MenuItemView::MenuItemView(MenuItemView* parent, |
int command, |
MenuItemView::Type type) |
@@ -587,6 +591,8 @@ MenuItemView::MenuItemView(MenuItemView* parent, |
MenuItemView::~MenuItemView() { |
delete submenu_; |
STLDeleteElements(&removed_items_); |
+ if (lifecycle_observer_) |
+ lifecycle_observer_->OnDeleted(this); |
} |
const char* MenuItemView::GetClassName() const { |
@@ -641,6 +647,7 @@ void MenuItemView::Init(MenuItemView* parent, |
// Assign our ID, this allows SubmenuItemView to find MenuItemViews. |
set_id(kMenuItemViewID); |
has_icons_ = false; |
+ lifecycle_observer_ = NULL; |
// Don't request enabled status from the root menu item as it is just |
// a container for real items. EMPTY items will be disabled. |