|
|
Created:
9 years ago by pkotwicz Modified:
9 years ago Reviewers:
Ben Goodger (Google) CC:
chromium-reviews Base URL:
svn://svn.chromium.org/chrome/trunk/src Visibility:
Public. |
DescriptionAdded code to propagate clicks to parents of the target as well.
Tested using html5 drag demo and bookmark dragging to make sure that the patch didn't break dragging
BUG = 105886
Test = Manual
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=114117
Patch Set 1 #Patch Set 2 : Different approach #
Total comments: 3
Patch Set 3 : Changes as requested #Messages
Total messages: 15 (0 generated)
This fixes the issue. I am not sure what dragging you mean in the code comment though, so please comment =]
This fixes the issue. I am not sure what dragging you mean in the code comment though, so please comment =]
Why is this needed? We don't do anything like this in views. http://codereview.chromium.org/8788002/diff/2001/content/browser/renderer_hos... File content/browser/renderer_host/render_widget_host_view_aura.cc (right): http://codereview.chromium.org/8788002/diff/2001/content/browser/renderer_hos... content/browser/renderer_host/render_widget_host_view_aura.cc:511: return false; Was something broken by this returning true? This interferes with Windows event handling.
This is to fix the problem with the status bubble not moving out of the way when the mouse is over it (Bug 105886). As the code currently stands the mouse motion event was never propagated to the native_tab_contents_view_aura because the event is consumed by the render_widget_host_view_aura.cc. An other option would be to make native_tab_contents_view_aura PreHandleMouseEvents
On Tue, Dec 6, 2011 at 7:18 AM, <pkotwicz@chromium.org> wrote: > This is to fix the problem with the status bubble not moving out of the > way when > the mouse is over it (Bug 105886). As the code currently stands the mouse > motion > event was never propagated to the native_tab_contents_view_aura because the > event is consumed by the render_widget_host_view_aura.**cc. > > An other option would be to make native_tab_contents_view_aura > PreHandleMouseEvents > > > > http://codereview.chromium.**org/8788002/<http://codereview.chromium.org/8788... >
Oops, didn't mean to send. How is this implemented on Windows? -Ben On Tue, Dec 6, 2011 at 9:06 AM, Ben Goodger (Google) <ben@chromium.org>wrote: > > > On Tue, Dec 6, 2011 at 7:18 AM, <pkotwicz@chromium.org> wrote: > >> This is to fix the problem with the status bubble not moving out of the >> way when >> the mouse is over it (Bug 105886). As the code currently stands the mouse >> motion >> event was never propagated to the native_tab_contents_view_aura because >> the >> event is consumed by the render_widget_host_view_aura.**cc. >> >> An other option would be to make native_tab_contents_view_aura >> PreHandleMouseEvents >> >> >> >> http://codereview.chromium.**org/8788002/<http://codereview.chromium.org/8788... >> > >
In render_widget_host_view_win we return false unless native_tab_contents_view_win processes the mouse event. In render_widget_host_view_win we always return false on a mouse move. In both the windows and the gtk case the mouse event is passed to the parent via the window manager if the widget is not top level.
http://codereview.chromium.org/8788002/diff/2001/content/browser/renderer_hos... File content/browser/renderer_host/render_widget_host_view_aura.cc (right): http://codereview.chromium.org/8788002/diff/2001/content/browser/renderer_hos... content/browser/renderer_host/render_widget_host_view_aura.cc:511: return false; Which event handling in particular does it interfere with?
The desktop harness expects this to return a specific value that determines how windows then post-processes the event. Anyway, how is this implemented on windows and why does this have to be different?
How is this feature implemented I mean
http://codereview.chromium.org/8788002/diff/2001/ui/aura/desktop.cc File ui/aura/desktop.cc (right): http://codereview.chromium.org/8788002/diff/2001/ui/aura/desktop.cc#newcode472 ui/aura/desktop.cc:472: for (Window* window = target; !handled && window; window = window->parent()) { So, after discovering how this feature is implemented on windows, my objection now becomes that you're doing this here on Desktop, rather than just reconstructing the same hack in RWHVA that RWHVW has. :-)
Hacked it the same way its done on Windows. Using an aura::EventFilter would feel a bit less like a hack but would less consistent across OSes.
LGTM
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/pkotwicz@chromium.org/8788002/14001
Change committed as 114117 |