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

Unified Diff: ui/views/view_targeter.cc

Issue 481433006: Support targeting for gestures in ViewTargeter (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: comments addressed 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_unittest.cc » ('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 99c28fe78755440bd24d4d3b046198fab9a6d212..a0dcbe0a17cb596b293ce632ed1131f92a0f5b0d 100644
--- a/ui/views/view_targeter.cc
+++ b/ui/views/view_targeter.cc
@@ -39,6 +39,9 @@ ui::EventTarget* ViewTargeter::FindTargetForEvent(ui::EventTarget* root,
*static_cast<ui::ScrollEvent*>(event));
}
+ if (event->IsGestureEvent())
+ return FindTargetForGestureEvent(view, *(event->AsGestureEvent()));
+
NOTREACHED() << "ViewTargeter does not yet support this event type.";
return NULL;
}
@@ -46,6 +49,14 @@ ui::EventTarget* ViewTargeter::FindTargetForEvent(ui::EventTarget* root,
ui::EventTarget* ViewTargeter::FindNextBestTarget(
ui::EventTarget* previous_target,
ui::Event* event) {
+ if (!previous_target)
+ return NULL;
+
+ if (event->IsGestureEvent()) {
+ return FindNextBestTargetForGestureEvent(previous_target,
+ *(event->AsGestureEvent()));
+ }
+
return previous_target->GetParentTarget();
}
@@ -75,4 +86,22 @@ View* ViewTargeter::FindTargetForScrollEvent(View* root,
return root->GetEffectiveViewTargeter()->TargetForRect(root, rect);
}
+View* ViewTargeter::FindTargetForGestureEvent(View* root,
+ const ui::GestureEvent& gesture) {
+ // TODO(tdanderson): The only code path that performs targeting for gestures
+ // uses the ViewTargeter installed on the RootView (i.e.,
+ // a RootViewTargeter). Provide a default implementation
+ // here if we need to be able to perform gesture targeting
+ // starting at an arbitrary node in a Views tree.
+ NOTREACHED();
+ return NULL;
+}
+
+ui::EventTarget* ViewTargeter::FindNextBestTargetForGestureEvent(
+ ui::EventTarget* previous_target,
+ const ui::GestureEvent& gesture) {
+ NOTREACHED();
+ return NULL;
+}
+
} // namespace views
« no previous file with comments | « ui/views/view_targeter.h ('k') | ui/views/view_targeter_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698