diff options
author | mnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-14 08:21:25 +0000 |
---|---|---|
committer | mnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-14 08:21:25 +0000 |
commit | 1aa365531b5367051df6588eacf2fb6a6dd396c1 (patch) | |
tree | 42e5686efc7484917b25ad6b5b90773c0f295439 /views/view.cc | |
parent | 9fb3102a8332d0c49dc5c49733b7eb13c1d2a0b8 (diff) | |
download | chromium_src-1aa365531b5367051df6588eacf2fb6a6dd396c1.zip chromium_src-1aa365531b5367051df6588eacf2fb6a6dd396c1.tar.gz chromium_src-1aa365531b5367051df6588eacf2fb6a6dd396c1.tar.bz2 |
Prevent non-visible views from getting focused.
BUG=48719
TEST=FocusManagerTest.TraversalWithNonVisibleViews
Review URL: http://codereview.chromium.org/2935005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52293 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/view.cc')
-rw-r--r-- | views/view.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/views/view.cc b/views/view.cc index d3a9b98..69cf67f 100644 --- a/views/view.cc +++ b/views/view.cc @@ -264,7 +264,7 @@ void View::SetEnabled(bool state) { } bool View::IsFocusable() const { - return focusable_ && IsEnabled() && IsVisible(); + return focusable_ && IsEnabled() && IsVisibleInRootView(); } void View::SetFocusable(bool focusable) { @@ -272,7 +272,8 @@ void View::SetFocusable(bool focusable) { } bool View::IsAccessibilityFocusable() const { - return (focusable_ || accessibility_focusable_) && IsEnabled() && IsVisible(); + return (focusable_ || accessibility_focusable_) && IsEnabled() && + IsVisibleInRootView(); } FocusManager* View::GetFocusManager() { |