summaryrefslogtreecommitdiffstats
path: root/views/view.cc
diff options
context:
space:
mode:
authormnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-14 08:21:25 +0000
committermnissler@chromium.org <mnissler@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-14 08:21:25 +0000
commit1aa365531b5367051df6588eacf2fb6a6dd396c1 (patch)
tree42e5686efc7484917b25ad6b5b90773c0f295439 /views/view.cc
parent9fb3102a8332d0c49dc5c49733b7eb13c1d2a0b8 (diff)
downloadchromium_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.cc5
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() {