summaryrefslogtreecommitdiffstats
path: root/views
diff options
context:
space:
mode:
authordtseng@chromium.org <dtseng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-14 19:48:44 +0000
committerdtseng@chromium.org <dtseng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-14 19:48:44 +0000
commit54ee6fa1835a977eea259b7a638480f5cb34ed6f (patch)
tree47250c4f0fe0f404125abaa44a574054f4cc845f /views
parent05e0a1329dc6c71022800a0951bad4a84d8ee133 (diff)
downloadchromium_src-54ee6fa1835a977eea259b7a638480f5cb34ed6f.zip
chromium_src-54ee6fa1835a977eea259b7a638480f5cb34ed6f.tar.gz
chromium_src-54ee6fa1835a977eea259b7a638480f5cb34ed6f.tar.bz2
Fixes focus placement after using ctrl+tab in dialogs.
BUG=48986 TEST=none Review URL: http://codereview.chromium.org/2948010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52375 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views')
-rw-r--r--views/controls/tabbed_pane/native_tabbed_pane_win.cc14
1 files changed, 7 insertions, 7 deletions
diff --git a/views/controls/tabbed_pane/native_tabbed_pane_win.cc b/views/controls/tabbed_pane/native_tabbed_pane_win.cc
index 838991f..23b2c50 100644
--- a/views/controls/tabbed_pane/native_tabbed_pane_win.cc
+++ b/views/controls/tabbed_pane/native_tabbed_pane_win.cc
@@ -60,6 +60,13 @@ class TabLayout : public LayoutManager {
child->SetBounds(gfx::Rect(host->size()));
child->SetVisible(child == page);
}
+
+ FocusManager* focus_manager = page->GetFocusManager();
+ DCHECK(focus_manager);
+ View* focused_view = focus_manager->GetFocusedView();
+ if (focused_view && host->IsParentOf(focused_view) &&
+ !page->IsParentOf(focused_view))
+ focus_manager->SetFocusedView(page);
}
private:
@@ -367,13 +374,6 @@ void NativeTabbedPaneWin::DoSelectTabAt(int index, boolean invoke_listener) {
selected_index_ = index;
if (content_window_) {
RootView* content_root = content_window_->GetRootView();
-
- // Clear the focus if the focused view was on the tab.
- FocusManager* focus_manager = GetFocusManager();
- DCHECK(focus_manager);
- View* focused_view = focus_manager->GetFocusedView();
- if (focused_view && content_root->IsParentOf(focused_view))
- focus_manager->ClearFocus();
tab_layout_manager_->SwitchToPage(content_root, tab_views_.at(index));
}
if (invoke_listener && tabbed_pane_->listener())