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

Unified Diff: ui/views/controls/menu/menu_controller.h

Issue 2772863002: Delete MenuController Nested Message Loop (Closed)
Patch Set: remove another async flag Created 3 years, 9 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
« no previous file with comments | « ui/views/BUILD.gn ('k') | ui/views/controls/menu/menu_controller.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/controls/menu/menu_controller.h
diff --git a/ui/views/controls/menu/menu_controller.h b/ui/views/controls/menu/menu_controller.h
index 697e9a5781f25efd1c917c02607a39967087a4fd..125ec8401d258649a1372b4a4232ab9320cb8f3c 100644
--- a/ui/views/controls/menu/menu_controller.h
+++ b/ui/views/controls/menu/menu_controller.h
@@ -33,7 +33,6 @@ namespace views {
class MenuButton;
class MenuHostRootView;
class MenuItemView;
-class MenuMessageLoop;
class MouseEvent;
class SubmenuView;
class View;
@@ -123,11 +122,6 @@ class VIEWS_EXPORT MenuController
// nested menu. Ownership is not taken.
void AddNestedDelegate(internal::MenuControllerDelegate* delegate);
- // Sets whether the subsequent call to Run is asynchronous. When nesting calls
- // to Run, if a new MenuControllerDelegate has been nested, the previous
- // asynchronous state will be reapplied once nesting has ended.
- void SetAsyncRun(bool is_async);
-
// Returns the current exit type. This returns a value other than EXIT_NONE if
// the menu is being canceled.
ExitType exit_type() const { return exit_type_; }
@@ -538,13 +532,8 @@ class VIEWS_EXPORT MenuController
// Sets exit type. Calling this can terminate the active nested message-loop.
void SetExitType(ExitType type);
- // Terminates the current nested message-loop, if there is any. Returns |true|
- // if any message loop is terminated.
- bool TerminateNestedMessageLoopIfNecessary();
-
- // Performs the teardown of menus launched with |async_run_|. This will
- // notifiy the |delegate_|. If |exit_type_| is EXIT_ALL all nested
- // asynchronous runs will be exited.
+ // Performs the teardown of menus. This will notifiy the |delegate_|. If
+ // |exit_type_| is EXIT_ALL all nested runs will be exited.
void ExitAsyncRun();
// Performs the teardown of the menu launched by Run(). The selected item is
@@ -604,10 +593,9 @@ class VIEWS_EXPORT MenuController
std::list<NestedState> menu_stack_;
// When Run is invoked during an active Run, it may be called from a separate
- // MenuControllerDelegate. If not empty is means we are nested, and the
+ // MenuControllerDelegate. If not empty it means we are nested, and the
// stacked delegates should be notified instead of |delegate_|.
- typedef std::pair<internal::MenuControllerDelegate*, bool> NestedDelegate;
- std::list<NestedDelegate> delegate_stack_;
+ std::list<internal::MenuControllerDelegate*> delegate_stack_;
// As the mouse moves around submenus are not opened immediately. Instead
// they open after this timer fires.
@@ -666,10 +654,6 @@ class VIEWS_EXPORT MenuController
internal::MenuControllerDelegate* delegate_;
- // How deep we are in nested message loops. This should be at most 2 (when
- // showing a context menu from a menu).
- int message_loop_depth_;
-
// The timestamp of the event which closed the menu - or 0 otherwise.
base::TimeTicks closing_event_time_;
@@ -680,10 +664,6 @@ class VIEWS_EXPORT MenuController
// screen coordinates). Otherwise this will be (0, 0).
gfx::Point menu_start_mouse_press_loc_;
- // Controls behaviour differences between an asynchronous run, and other types
- // of run (blocking, drag and drop).
- bool async_run_;
-
// Controls behavior differences between a combobox and other types of menu
// (like a context menu).
bool is_combobox_;
@@ -700,8 +680,6 @@ class VIEWS_EXPORT MenuController
// A mask of the EventFlags for the mouse buttons currently pressed.
int current_mouse_pressed_state_;
- std::unique_ptr<MenuMessageLoop> message_loop_;
-
#if defined(USE_AURA)
std::unique_ptr<MenuPreTargetHandler> menu_pre_target_handler_;
#endif
« no previous file with comments | « ui/views/BUILD.gn ('k') | ui/views/controls/menu/menu_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698