Suppress unresponsive event when showing menu
This commit is contained in:
		
					parent
					
						
							
								7848608198
							
						
					
				
			
			
				commit
				
					
						8269e7b1ef
					
				
			
		
					 2 changed files with 8 additions and 0 deletions
				
			
		|  | @ -5,6 +5,7 @@ | |||
| #import "atom/browser/api/atom_api_menu_mac.h" | ||||
| 
 | ||||
| #include "atom/browser/native_window.h" | ||||
| #include "atom/browser/unresponsive_suppressor.h" | ||||
| #include "base/message_loop/message_loop.h" | ||||
| #include "base/strings/sys_string_conversions.h" | ||||
| #include "brightray/browser/inspectable_web_contents.h" | ||||
|  | @ -67,6 +68,9 @@ void MenuMac::PopupAt(Window* window, int x, int y, int positioning_item) { | |||
|   if (rightmostMenuPoint > screenRight) | ||||
|     position.x = position.x - [menu size].width; | ||||
| 
 | ||||
|   // Don't emit unresponsive event when showing menu. | ||||
|   atom::UnresponsiveSuppressor suppressor; | ||||
| 
 | ||||
|   // Show the menu. | ||||
|   [menu popUpMenuPositioningItem:item atLocation:position inView:view]; | ||||
| } | ||||
|  |  | |||
|  | @ -5,6 +5,7 @@ | |||
| #include "atom/browser/api/atom_api_menu_views.h" | ||||
| 
 | ||||
| #include "atom/browser/native_window_views.h" | ||||
| #include "atom/browser/unresponsive_suppressor.h" | ||||
| #include "content/public/browser/render_widget_host_view.h" | ||||
| #include "ui/gfx/screen.h" | ||||
| #include "ui/views/controls/menu/menu_runner.h" | ||||
|  | @ -36,6 +37,9 @@ void MenuViews::PopupAt(Window* window, int x, int y, int positioning_item) { | |||
|     location = gfx::Point(origin.x() + x, origin.y() + y); | ||||
|   } | ||||
| 
 | ||||
|   // Don't emit unresponsive event when showing menu.
 | ||||
|   atom::UnresponsiveSuppressor suppressor; | ||||
| 
 | ||||
|   // Show the menu.
 | ||||
|   views::MenuRunner menu_runner( | ||||
|       model(), | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Cheng Zhao
				Cheng Zhao