Chromium Code Reviews| Index: ui/views/view_targeter.cc |
| diff --git a/ui/views/view_targeter.cc b/ui/views/view_targeter.cc |
| index 547c40213900106a320a6f19d077d609e8e921dc..fda0213d35548179fb9e61ccfb525cf068e00ad3 100644 |
| --- a/ui/views/view_targeter.cc |
| +++ b/ui/views/view_targeter.cc |
| @@ -27,23 +27,17 @@ View* ViewTargeter::TargetForRect(View* root, const gfx::Rect& rect) const { |
| return delegate_->TargetForRect(root, rect); |
| } |
| -gfx::RectF ViewTargeter::BoundsForEvent(const ui::LocatedEvent& event) const { |
| - gfx::RectF event_bounds(event.location_f(), gfx::SizeF(1, 1)); |
| - if (event.IsGestureEvent()) { |
| - const ui::GestureEvent& gesture = *(event.AsGestureEvent()); |
| - event_bounds = gesture.details().bounding_box_f(); |
| - } |
| - |
| - return event_bounds; |
| -} |
| - |
| ui::EventTarget* ViewTargeter::FindTargetForEvent(ui::EventTarget* root, |
| ui::Event* event) { |
| View* view = static_cast<View*>(root); |
| + |
| if (event->IsKeyEvent()) |
| return FindTargetForKeyEvent(view, *static_cast<ui::KeyEvent*>(event)); |
| - else if (event->IsScrollEvent()) |
| - return EventTargeter::FindTargetForEvent(root, event); |
| + |
| + if (event->IsScrollEvent()) { |
| + return FindTargetForScrollEvent(view, |
| + *static_cast<ui::ScrollEvent*>(event)); |
| + } |
| NOTREACHED() << "ViewTargeter does not yet support this event type."; |
| return NULL; |
| @@ -55,38 +49,15 @@ ui::EventTarget* ViewTargeter::FindNextBestTarget( |
| return previous_target->GetParentTarget(); |
| } |
| -bool ViewTargeter::SubtreeCanAcceptEvent( |
| - ui::EventTarget* target, |
| - const ui::LocatedEvent& event) const { |
| - views::View* view = static_cast<views::View*>(target); |
| - if (!view->visible()) |
| - return false; |
| - |
| - if (!view->CanProcessEventsWithinSubtree()) |
| - return false; |
| - |
| - return true; |
| -} |
| - |
| -bool ViewTargeter::EventLocationInsideBounds( |
| - ui::EventTarget* target, |
| - const ui::LocatedEvent& event) const { |
| - views::View* view = static_cast<views::View*>(target); |
| - gfx::Rect rect(event.location(), gfx::Size(1, 1)); |
| - gfx::RectF rect_in_view_coords_f(rect); |
| - if (view->parent()) |
| - View::ConvertRectToTarget(view->parent(), view, &rect_in_view_coords_f); |
| - gfx::Rect rect_in_view_coords = gfx::ToEnclosingRect(rect_in_view_coords_f); |
| - |
| - // TODO(tdanderson): Don't call into HitTestRect() directly here. |
| - // See crbug.com/370579. |
| - return view->HitTestRect(rect_in_view_coords); |
| +View* ViewTargeter::FindTargetForKeyEvent(View* root, const ui::KeyEvent& key) { |
| + if (root->GetFocusManager()) |
| + return root->GetFocusManager()->GetFocusedView(); |
| + return NULL; |
| } |
| -View* ViewTargeter::FindTargetForKeyEvent(View* view, const ui::KeyEvent& key) { |
| - if (view->GetFocusManager()) |
| - return view->GetFocusManager()->GetFocusedView(); |
| - return NULL; |
| +View* ViewTargeter::FindTargetForScrollEvent(View* root, |
| + const ui::ScrollEvent& scroll) { |
| + return root->GetEventHandlerForPoint(scroll.location()); |
|
sadrul
2014/07/29 18:06:50
This should directly call into the delegate, somet
tdanderson
2014/07/29 19:40:45
Is your suggestion about correctness or is it abou
tdanderson
2014/08/01 15:53:07
I forget the outcome of our in-person chat about t
|
| } |
| -} // namespace aura |
| +} // namespace views |