diff options
author | tdanderson@chromium.org <tdanderson@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-08-05 22:28:50 +0000 |
---|---|---|
committer | tdanderson@chromium.org <tdanderson@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-08-05 22:28:50 +0000 |
commit | 11f57949d5726af24f66cdec331347afe14bfc8e (patch) | |
tree | 6361fd6140dd6f3e9d94108477163a83901afcc5 /ui/views/view.h | |
parent | a58554aaf521e3c2f61a86f7b9bf34d2a5204525 (diff) | |
download | chromium_src-11f57949d5726af24f66cdec331347afe14bfc8e.zip chromium_src-11f57949d5726af24f66cdec331347afe14bfc8e.tar.gz chromium_src-11f57949d5726af24f66cdec331347afe14bfc8e.tar.bz2 |
Do not call into EventTargeter methods from ViewTargeter
Now that hit-testing for views (crbug.com/388838) and
event-targeting for views (crbug.com/391845) use
ViewTargeterDelegate to define custom behaviour for
these operations (instead of the now-obsolete
approach of subclassing ViewTargeter itself), we
should not be calling into EventTargeter for this
purpose. Changes in this CL:
* Finding the target of a scroll event is now
performed correctly by using the logic in
ViewTargeterDelegate and its overrides.
* The dead code
ViewTargeter::SubtreeCanAcceptEvent(),
ViewTargeter::EventLocationInsideBounds(),
and ViewTargeter::BoundsForEvent() have been
removed along with their corresponding tests.
* The class-level documentation for ViewTargeter
and ViewTargeterDelegate has been updated
to clarify the purpose of these classes.
BUG=395387,370579
TEST=ViewTargeterTest.*
Review URL: https://codereview.chromium.org/426443002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@287620 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/views/view.h')
-rw-r--r-- | ui/views/view.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/ui/views/view.h b/ui/views/view.h index 38d9928..858fde3 100644 --- a/ui/views/view.h +++ b/ui/views/view.h @@ -704,6 +704,13 @@ class VIEWS_EXPORT View : public ui::LayerDelegate, // ViewTargeter. scoped_ptr<ViewTargeter> SetEventTargeter(scoped_ptr<ViewTargeter> targeter); + // Returns the ViewTargeter installed on |this| if one exists, + // otherwise returns the ViewTargeter installed on our root view. + // The return value is guaranteed to be non-null. + ViewTargeter* GetEffectiveViewTargeter() const; + + ViewTargeter* targeter() const { return targeter_.get(); } + // Overridden from ui::EventTarget: virtual bool CanAcceptEvent(const ui::Event& event) OVERRIDE; virtual ui::EventTarget* GetParentTarget() OVERRIDE; @@ -712,8 +719,6 @@ class VIEWS_EXPORT View : public ui::LayerDelegate, virtual void ConvertEventToTarget(ui::EventTarget* target, ui::LocatedEvent* event) OVERRIDE; - ViewTargeter* targeter() const { return targeter_.get(); } - // Overridden from ui::EventHandler: virtual void OnKeyEvent(ui::KeyEvent* event) OVERRIDE; virtual void OnMouseEvent(ui::MouseEvent* event) OVERRIDE; @@ -1390,11 +1395,6 @@ class VIEWS_EXPORT View : public ui::LayerDelegate, bool ProcessMouseDragged(const ui::MouseEvent& event); void ProcessMouseReleased(const ui::MouseEvent& event); - // Returns the ViewTargeter installed on |this| if one exists, - // otherwise returns the ViewTargeter installed on our root view. - // The return value is guaranteed to be non-null. - ViewTargeter* GetEffectiveViewTargeter() const; - // Accelerators -------------------------------------------------------------- // Registers this view's keyboard accelerators that are not registered to |