| Index: content/browser/renderer_host/input/synthetic_gesture_target_aura.cc
|
| diff --git a/content/browser/renderer_host/input/synthetic_gesture_target_aura.cc b/content/browser/renderer_host/input/synthetic_gesture_target_aura.cc
|
| index 2ffcfdb9ef05681e1b3654a226b31fc0d14174a2..40855ec7e6180a8a12dc8909617873e537679558 100644
|
| --- a/content/browser/renderer_host/input/synthetic_gesture_target_aura.cc
|
| +++ b/content/browser/renderer_host/input/synthetic_gesture_target_aura.cc
|
| @@ -47,11 +47,12 @@ void SyntheticGestureTargetAura::DispatchWebTouchEventToPlatform(
|
| touch_with_latency, &events, SCREEN_COORDINATES);
|
| DCHECK(conversion_success);
|
|
|
| - aura::WindowTreeHostDelegate* root_window_host_delegate =
|
| - GetWindowTreeHostDelegate();
|
| + aura::WindowEventDispatcher* dispatcher = GetWindowEventDispatcher();
|
| for (ScopedVector<ui::TouchEvent>::iterator iter = events.begin(),
|
| end = events.end(); iter != end; ++iter) {
|
| - root_window_host_delegate->OnHostTouchEvent(*iter);
|
| + ui::EventDispatchDetails details = dispatcher->OnEventFromSource(*iter);
|
| + if (details.dispatcher_destroyed)
|
| + break;
|
| }
|
| }
|
|
|
| @@ -69,7 +70,10 @@ void SyntheticGestureTargetAura::DispatchWebMouseWheelEventToPlatform(
|
| ui::MouseWheelEvent wheel_event(
|
| mouse_event, web_wheel.deltaX, web_wheel.deltaY);
|
|
|
| - GetWindowTreeHostDelegate()->OnHostMouseEvent(&wheel_event);
|
| + ui::EventDispatchDetails details =
|
| + GetWindowEventDispatcher()->OnEventFromSource(&wheel_event);
|
| + if (details.dispatcher_destroyed)
|
| + return;
|
| }
|
|
|
| namespace {
|
| @@ -136,7 +140,10 @@ void SyntheticGestureTargetAura::DispatchWebMouseEventToPlatform(
|
| int flags = WebMouseEventButtonToFlags(web_mouse.button);
|
| ui::MouseEvent mouse_event(event_type, location, location, flags, flags);
|
|
|
| - GetWindowTreeHostDelegate()->OnHostMouseEvent(&mouse_event);
|
| + ui::EventDispatchDetails details =
|
| + GetWindowEventDispatcher()->OnEventFromSource(&mouse_event);
|
| + if (details.dispatcher_destroyed)
|
| + return;
|
| }
|
|
|
| SyntheticGestureParams::GestureSourceType
|
| @@ -162,13 +169,11 @@ aura::Window* SyntheticGestureTargetAura::GetWindow() const {
|
| return window;
|
| }
|
|
|
| -aura::WindowTreeHostDelegate*
|
| -SyntheticGestureTargetAura::GetWindowTreeHostDelegate() const {
|
| - aura::Window* root_window = GetWindow()->GetRootWindow();
|
| - aura::WindowTreeHostDelegate* root_window_host_delegate =
|
| - root_window->GetDispatcher()->AsWindowTreeHostDelegate();
|
| - DCHECK(root_window_host_delegate);
|
| - return root_window_host_delegate;
|
| +aura::WindowEventDispatcher*
|
| +SyntheticGestureTargetAura::GetWindowEventDispatcher() const {
|
| + aura::WindowEventDispatcher* dispatcher = GetWindow()->GetDispatcher();
|
| + DCHECK(dispatcher);
|
| + return dispatcher;
|
| }
|
|
|
| aura::client::ScreenPositionClient*
|
|
|