Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(42)

Unified Diff: ui/views/view_targeter.cc

Issue 426443002: Do not call into EventTargeter methods from ViewTargeter (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698