| Index: ui/views/controls/menu/menu_runner.h
|
| diff --git a/ui/views/controls/menu/menu_runner.h b/ui/views/controls/menu/menu_runner.h
|
| index 63bb56a91010ca493ffdeee350abe8f1764f5d09..1f8c63bd2268be484d6c6134cbff90c3cae425cd 100644
|
| --- a/ui/views/controls/menu/menu_runner.h
|
| +++ b/ui/views/controls/menu/menu_runner.h
|
| @@ -45,17 +45,11 @@ class MenuRunnerTestAPI;
|
| }
|
|
|
| // MenuRunner is responsible for showing (running) the menu and additionally
|
| -// owning the MenuItemView. RunMenuAt() runs a nested message loop. It is safe
|
| -// to delete MenuRunner at any point, but MenuRunner internally only deletes the
|
| -// MenuItemView *after* the nested message loop completes. If MenuRunner is
|
| -// deleted while the menu is showing the delegate of the menu is reset. This is
|
| -// done to ensure delegates aren't notified after they may have been deleted.
|
| -//
|
| -// NOTE: while you can delete a MenuRunner at any point, the nested message loop
|
| -// won't return immediately. This means if you delete the object that owns
|
| -// the MenuRunner while the menu is running, your object is effectively still
|
| -// on the stack. A return value of MENU_DELETED indicated this. In most cases
|
| -// if RunMenuAt() returns MENU_DELETED, you should return immediately.
|
| +// owning the MenuItemView. It is safe to delete MenuRunner at any point, but
|
| +// MenuRunner will not notify you of the closure caused by a deletion.
|
| +// If MenuRunner is deleted while the menu is showing the delegate of the menu
|
| +// is reset. This is done to ensure delegates aren't notified after they may
|
| +// have been deleted.
|
| //
|
| // Similarly you should avoid creating MenuRunner on the stack. Doing so means
|
| // MenuRunner may not be immediately destroyed if your object is destroyed,
|
| @@ -91,18 +85,6 @@ class VIEWS_EXPORT MenuRunner {
|
| // the caller is responsible for closing the menu upon completion of the
|
| // drag-and-drop.
|
| NESTED_DRAG = 1 << 5,
|
| -
|
| - // Used for showing a menu which does NOT block the caller. Instead the
|
| - // delegate is notified when the menu closes via OnMenuClosed.
|
| - ASYNC = 1 << 6,
|
| - };
|
| -
|
| - enum RunResult {
|
| - // Indicates RunMenuAt is returning because the MenuRunner was deleted.
|
| - MENU_DELETED,
|
| -
|
| - // Indicates RunMenuAt returned and MenuRunner was not deleted.
|
| - NORMAL_EXIT
|
| };
|
|
|
| // Creates a new MenuRunner, which may use a native menu if available.
|
| @@ -118,17 +100,14 @@ class VIEWS_EXPORT MenuRunner {
|
| MenuRunner(MenuItemView* menu, int32_t run_types);
|
| ~MenuRunner();
|
|
|
| - // Runs the menu. If this returns MENU_DELETED the method is returning
|
| - // because the MenuRunner was deleted.
|
| - // Typically callers should NOT do any processing if this returns
|
| - // MENU_DELETED.
|
| + // Runs the menu. MenuDelegate::OnMenuClosed will be notified of the results.
|
| // If |anchor| uses a |BUBBLE_..| type, the bounds will get determined by
|
| // using |bounds| as the thing to point at in screen coordinates.
|
| - RunResult RunMenuAt(Widget* parent,
|
| - MenuButton* button,
|
| - const gfx::Rect& bounds,
|
| - MenuAnchorPosition anchor,
|
| - ui::MenuSourceType source_type);
|
| + void RunMenuAt(Widget* parent,
|
| + MenuButton* button,
|
| + const gfx::Rect& bounds,
|
| + MenuAnchorPosition anchor,
|
| + ui::MenuSourceType source_type);
|
|
|
| // Returns true if we're in a nested message loop running the menu.
|
| bool IsRunning() const;
|
|
|