diff options
author | dmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-07 21:28:17 +0000 |
---|---|---|
committer | dmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-03-07 21:28:17 +0000 |
commit | 75f0bd6f774d472af5f31ff9483786bc9ee33b57 (patch) | |
tree | f0b3333ccfa431ea3074e5a25189520f884a66a3 | |
parent | b5f9845372bb2496aa6f6bd694e2ba4dc9523bde (diff) | |
download | chromium_src-75f0bd6f774d472af5f31ff9483786bc9ee33b57.zip chromium_src-75f0bd6f774d472af5f31ff9483786bc9ee33b57.tar.gz chromium_src-75f0bd6f774d472af5f31ff9483786bc9ee33b57.tar.bz2 |
Set the focus change reason even if calling SetFocusedViewWithReason on a
view that already has focus.
BUG=75100
TEST=Manual testing on Windows & Chrome OS
Review URL: http://codereview.chromium.org/6627041
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77183 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | views/focus/focus_manager.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/views/focus/focus_manager.cc b/views/focus/focus_manager.cc index 8e130c9..86df1f0 100644 --- a/views/focus/focus_manager.cc +++ b/views/focus/focus_manager.cc @@ -287,14 +287,15 @@ void FocusManager::SetFocusedViewWithReason( if (focused_view_ == view) return; - // Notified listeners that the focus will change. + // Update the reason for the focus change (since this is checked by + // some listeners), then notify all listeners. + focus_change_reason_ = reason; FocusChangeListenerList::const_iterator iter; for (iter = focus_change_listeners_.begin(); iter != focus_change_listeners_.end(); ++iter) { (*iter)->FocusWillChange(focused_view_, view); } - focus_change_reason_ = reason; if (focused_view_) focused_view_->Blur(); focused_view_ = view; |