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

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: added DCHECK Created 6 years, 4 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
« no previous file with comments | « ui/views/view_targeter.h ('k') | ui/views/view_targeter_delegate.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/view_targeter.cc
diff --git a/ui/views/view_targeter.cc b/ui/views/view_targeter.cc
index 547c40213900106a320a6f19d077d609e8e921dc..99c28fe78755440bd24d4d3b046198fab9a6d212 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;
@@ -58,35 +52,27 @@ ui::EventTarget* ViewTargeter::FindNextBestTarget(
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;
+ NOTREACHED();
+ return false;
}
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);
+ NOTREACHED();
+ return false;
}
-View* ViewTargeter::FindTargetForKeyEvent(View* view, const ui::KeyEvent& key) {
- if (view->GetFocusManager())
- return view->GetFocusManager()->GetFocusedView();
+View* ViewTargeter::FindTargetForKeyEvent(View* root, const ui::KeyEvent& key) {
+ if (root->GetFocusManager())
+ return root->GetFocusManager()->GetFocusedView();
return NULL;
}
-} // namespace aura
+View* ViewTargeter::FindTargetForScrollEvent(View* root,
+ const ui::ScrollEvent& scroll) {
+ gfx::Rect rect(scroll.location(), gfx::Size(1, 1));
+ return root->GetEffectiveViewTargeter()->TargetForRect(root, rect);
+}
+
+} // namespace views
« no previous file with comments | « ui/views/view_targeter.h ('k') | ui/views/view_targeter_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698