| Index: ui/arc/notification/arc_custom_notification_view.cc
|
| diff --git a/ui/arc/notification/arc_custom_notification_view.cc b/ui/arc/notification/arc_custom_notification_view.cc
|
| index b17c2344b27f5c27eac41b543205558d04edd53c..c9fe786ae25db61b62a90b1df94997dcaf5a2a7d 100644
|
| --- a/ui/arc/notification/arc_custom_notification_view.cc
|
| +++ b/ui/arc/notification/arc_custom_notification_view.cc
|
| @@ -40,7 +40,33 @@ class ArcCustomNotificationView::EventForwarder : public ui::EventHandler {
|
| return;
|
| }
|
|
|
| - owner_->OnEvent(event);
|
| + if (event->IsScrollEvent()) {
|
| + ForwardScrollEvent(event->AsScrollEvent());
|
| + } else if (event->IsMouseWheelEvent()) {
|
| + ForwardMouseWheelEvent(event->AsMouseWheelEvent());
|
| + } else if (!event->IsTouchEvent()) {
|
| + // Forward the rest events to |owner_| except touches because View
|
| + // should no longer receive touch events. See View::OnTouchEvent.
|
| + owner_->OnEvent(event);
|
| + }
|
| + }
|
| +
|
| + void ForwardScrollEvent(ui::ScrollEvent* event) {
|
| + views::Widget* widget = owner_->GetWidget();
|
| + if (!widget)
|
| + return;
|
| +
|
| + event->target()->ConvertEventToTarget(widget->GetNativeWindow(), event);
|
| + widget->OnScrollEvent(event);
|
| + }
|
| +
|
| + void ForwardMouseWheelEvent(ui::MouseWheelEvent* event) {
|
| + views::Widget* widget = owner_->GetWidget();
|
| + if (!widget)
|
| + return;
|
| +
|
| + event->target()->ConvertEventToTarget(widget->GetNativeWindow(), event);
|
| + widget->OnMouseEvent(event);
|
| }
|
|
|
| ArcCustomNotificationView* const owner_;
|
|
|