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

Side by Side 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: Introduce RootViewTargeter Created 6 years, 3 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/views/view_targeter.h" 5 #include "ui/views/view_targeter.h"
6 6
7 #include "ui/events/event_target.h" 7 #include "ui/events/event_target.h"
8 #include "ui/views/focus/focus_manager.h" 8 #include "ui/views/focus/focus_manager.h"
9 #include "ui/views/view.h" 9 #include "ui/views/view.h"
10 #include "ui/views/view_targeter_delegate.h" 10 #include "ui/views/view_targeter_delegate.h"
(...skipping 21 matching lines...) Expand all
32 View* view = static_cast<View*>(root); 32 View* view = static_cast<View*>(root);
33 33
34 if (event->IsKeyEvent()) 34 if (event->IsKeyEvent())
35 return FindTargetForKeyEvent(view, *static_cast<ui::KeyEvent*>(event)); 35 return FindTargetForKeyEvent(view, *static_cast<ui::KeyEvent*>(event));
36 36
37 if (event->IsScrollEvent()) { 37 if (event->IsScrollEvent()) {
38 return FindTargetForScrollEvent(view, 38 return FindTargetForScrollEvent(view,
39 *static_cast<ui::ScrollEvent*>(event)); 39 *static_cast<ui::ScrollEvent*>(event));
40 } 40 }
41 41
42 if (event->IsGestureEvent())
43 return FindTargetForGestureEvent(view, *(event->AsGestureEvent()));
44
42 NOTREACHED() << "ViewTargeter does not yet support this event type."; 45 NOTREACHED() << "ViewTargeter does not yet support this event type.";
43 return NULL; 46 return NULL;
44 } 47 }
45 48
46 ui::EventTarget* ViewTargeter::FindNextBestTarget( 49 ui::EventTarget* ViewTargeter::FindNextBestTarget(
47 ui::EventTarget* previous_target, 50 ui::EventTarget* previous_target,
48 ui::Event* event) { 51 ui::Event* event) {
52 if (!previous_target)
53 return NULL;
54
55 if (event->IsGestureEvent()) {
56 return FindNextBestTargetForGestureEvent(previous_target,
57 *(event->AsGestureEvent()));
58 }
59
49 return previous_target->GetParentTarget(); 60 return previous_target->GetParentTarget();
50 } 61 }
51 62
52 bool ViewTargeter::SubtreeCanAcceptEvent( 63 bool ViewTargeter::SubtreeCanAcceptEvent(
53 ui::EventTarget* target, 64 ui::EventTarget* target,
54 const ui::LocatedEvent& event) const { 65 const ui::LocatedEvent& event) const {
55 NOTREACHED(); 66 NOTREACHED();
56 return false; 67 return false;
57 } 68 }
58 69
59 bool ViewTargeter::EventLocationInsideBounds( 70 bool ViewTargeter::EventLocationInsideBounds(
60 ui::EventTarget* target, 71 ui::EventTarget* target,
61 const ui::LocatedEvent& event) const { 72 const ui::LocatedEvent& event) const {
62 NOTREACHED(); 73 NOTREACHED();
63 return false; 74 return false;
64 } 75 }
65 76
66 View* ViewTargeter::FindTargetForKeyEvent(View* root, const ui::KeyEvent& key) { 77 View* ViewTargeter::FindTargetForKeyEvent(View* root, const ui::KeyEvent& key) {
67 if (root->GetFocusManager()) 78 if (root->GetFocusManager())
68 return root->GetFocusManager()->GetFocusedView(); 79 return root->GetFocusManager()->GetFocusedView();
69 return NULL; 80 return NULL;
70 } 81 }
71 82
72 View* ViewTargeter::FindTargetForScrollEvent(View* root, 83 View* ViewTargeter::FindTargetForScrollEvent(View* root,
73 const ui::ScrollEvent& scroll) { 84 const ui::ScrollEvent& scroll) {
74 gfx::Rect rect(scroll.location(), gfx::Size(1, 1)); 85 gfx::Rect rect(scroll.location(), gfx::Size(1, 1));
75 return root->GetEffectiveViewTargeter()->TargetForRect(root, rect); 86 return root->GetEffectiveViewTargeter()->TargetForRect(root, rect);
76 } 87 }
77 88
89 View* ViewTargeter::FindTargetForGestureEvent(View* root,
90 const ui::GestureEvent& gesture) {
91 NOTREACHED();
tdanderson 2014/08/26 20:21:15 There are currently no call-sites that will hit th
sadrul 2014/08/27 22:49:54 Add a TODO or a comment here as well, so that in c
tdanderson 2014/08/27 23:25:57 Done.
92 return NULL;
93 }
94
95 ui::EventTarget* ViewTargeter::FindNextBestTargetForGestureEvent(
96 ui::EventTarget* previous_target,
97 const ui::GestureEvent& gesture) {
98 NOTREACHED();
99 return NULL;
100 }
101
78 } // namespace views 102 } // namespace views
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698