| Index: chrome/browser/ui/browser_navigator.cc
|
| diff --git a/chrome/browser/ui/browser_navigator.cc b/chrome/browser/ui/browser_navigator.cc
|
| index fe927a641ab3009c89db21017f327784acf5f4e8..b42ce647c1335f476cb0cdd138613136c6913752 100644
|
| --- a/chrome/browser/ui/browser_navigator.cc
|
| +++ b/chrome/browser/ui/browser_navigator.cc
|
| @@ -292,11 +292,19 @@ class ScopedBrowserShower {
|
| : params_(params) {
|
| }
|
| ~ScopedBrowserShower() {
|
| - if (params_->window_action == chrome::NavigateParams::SHOW_WINDOW_INACTIVE)
|
| + if (params_->window_action ==
|
| + chrome::NavigateParams::SHOW_WINDOW_INACTIVE) {
|
| params_->browser->window()->ShowInactive();
|
| - else if (params_->window_action == chrome::NavigateParams::SHOW_WINDOW)
|
| + } else if (params_->window_action == chrome::NavigateParams::SHOW_WINDOW) {
|
| params_->browser->window()->Show();
|
| + // If a user gesture opened a popup window, focus the contents.
|
| + if (params_->user_gesture && params_->disposition == NEW_POPUP &&
|
| + params_->target_contents) {
|
| + params_->target_contents->Focus();
|
| + }
|
| + }
|
| }
|
| +
|
| private:
|
| chrome::NavigateParams* params_;
|
| DISALLOW_COPY_AND_ASSIGN(ScopedBrowserShower);
|
|
|