| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/ui/browser.h" | 5 #include "chrome/browser/ui/browser.h" |
| 6 | 6 |
| 7 #if defined(OS_WIN) | 7 #if defined(OS_WIN) |
| 8 #include <windows.h> | 8 #include <windows.h> |
| 9 #include <shellapi.h> | 9 #include <shellapi.h> |
| 10 #endif // OS_WIN | 10 #endif // OS_WIN |
| (...skipping 2679 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2690 GetStatusBubble()->Hide(); | 2690 GetStatusBubble()->Hide(); |
| 2691 | 2691 |
| 2692 // Update the location bar. This is synchronous. We specifically don't | 2692 // Update the location bar. This is synchronous. We specifically don't |
| 2693 // update the load state since the load hasn't started yet and updating it | 2693 // update the load state since the load hasn't started yet and updating it |
| 2694 // will put it out of sync with the actual state like whether we're | 2694 // will put it out of sync with the actual state like whether we're |
| 2695 // displaying a favicon, which controls the throbber. If we updated it here, | 2695 // displaying a favicon, which controls the throbber. If we updated it here, |
| 2696 // the throbber will show the default favicon for a split second when | 2696 // the throbber will show the default favicon for a split second when |
| 2697 // navigating away from the new tab page. | 2697 // navigating away from the new tab page. |
| 2698 ScheduleUIUpdate(contents->web_contents(), content::INVALIDATE_TYPE_URL); | 2698 ScheduleUIUpdate(contents->web_contents(), content::INVALIDATE_TYPE_URL); |
| 2699 | 2699 |
| 2700 if (contents_is_selected) | 2700 // Focus on the content if the content is active and it is user initated |
| 2701 // or if the window is active as well as the tab - or in other words: |
| 2702 // Don't focus when the user did not initate the navigation or the window |
| 2703 // and tab are not active. |
| 2704 if (contents_is_selected && (user_initiated || window()->IsActive())) |
| 2701 contents->web_contents()->Focus(); | 2705 contents->web_contents()->Focus(); |
| 2702 } | 2706 } |
| 2703 | 2707 |
| 2704 void Browser::ShowCollectedCookiesDialog(TabContentsWrapper* wrapper) { | 2708 void Browser::ShowCollectedCookiesDialog(TabContentsWrapper* wrapper) { |
| 2705 browser::ShowCollectedCookiesDialog(window()->GetNativeHandle(), wrapper); | 2709 browser::ShowCollectedCookiesDialog(window()->GetNativeHandle(), wrapper); |
| 2706 } | 2710 } |
| 2707 | 2711 |
| 2708 /////////////////////////////////////////////////////////////////////////////// | 2712 /////////////////////////////////////////////////////////////////////////////// |
| 2709 // Browser, PageNavigator implementation: | 2713 // Browser, PageNavigator implementation: |
| 2710 | 2714 |
| (...skipping 691 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3402 // Browser, content::WebContentsDelegate implementation: | 3406 // Browser, content::WebContentsDelegate implementation: |
| 3403 | 3407 |
| 3404 WebContents* Browser::OpenURLFromTab(WebContents* source, | 3408 WebContents* Browser::OpenURLFromTab(WebContents* source, |
| 3405 const OpenURLParams& params) { | 3409 const OpenURLParams& params) { |
| 3406 browser::NavigateParams nav_params(this, params.url, params.transition); | 3410 browser::NavigateParams nav_params(this, params.url, params.transition); |
| 3407 nav_params.source_contents = GetTabContentsWrapperAt( | 3411 nav_params.source_contents = GetTabContentsWrapperAt( |
| 3408 tab_strip_model_->GetWrapperIndex(source)); | 3412 tab_strip_model_->GetWrapperIndex(source)); |
| 3409 nav_params.referrer = params.referrer; | 3413 nav_params.referrer = params.referrer; |
| 3410 nav_params.disposition = params.disposition; | 3414 nav_params.disposition = params.disposition; |
| 3411 nav_params.tabstrip_add_types = TabStripModel::ADD_NONE; | 3415 nav_params.tabstrip_add_types = TabStripModel::ADD_NONE; |
| 3412 nav_params.window_action = browser::NavigateParams::SHOW_WINDOW; | 3416 |
| 3417 // Show the tab if the window and tab was already active. |
| 3418 if (GetSelectedWebContents() == source && window()->IsActive()) |
| 3419 nav_params.window_action = browser::NavigateParams::SHOW_WINDOW; |
| 3420 |
| 3413 nav_params.user_gesture = true; | 3421 nav_params.user_gesture = true; |
| 3414 nav_params.override_encoding = params.override_encoding; | 3422 nav_params.override_encoding = params.override_encoding; |
| 3415 nav_params.is_renderer_initiated = params.is_renderer_initiated; | 3423 nav_params.is_renderer_initiated = params.is_renderer_initiated; |
| 3416 nav_params.transferred_global_request_id = | 3424 nav_params.transferred_global_request_id = |
| 3417 params.transferred_global_request_id; | 3425 params.transferred_global_request_id; |
| 3418 browser::Navigate(&nav_params); | 3426 browser::Navigate(&nav_params); |
| 3419 | 3427 |
| 3420 return nav_params.target_contents ? | 3428 return nav_params.target_contents ? |
| 3421 nav_params.target_contents->web_contents() : NULL; | 3429 nav_params.target_contents->web_contents() : NULL; |
| 3422 } | 3430 } |
| (...skipping 2002 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5425 if (contents && !allow_js_access) { | 5433 if (contents && !allow_js_access) { |
| 5426 contents->web_contents()->GetController().LoadURL( | 5434 contents->web_contents()->GetController().LoadURL( |
| 5427 target_url, | 5435 target_url, |
| 5428 content::Referrer(), | 5436 content::Referrer(), |
| 5429 content::PAGE_TRANSITION_LINK, | 5437 content::PAGE_TRANSITION_LINK, |
| 5430 std::string()); // No extra headers. | 5438 std::string()); // No extra headers. |
| 5431 } | 5439 } |
| 5432 | 5440 |
| 5433 return contents != NULL; | 5441 return contents != NULL; |
| 5434 } | 5442 } |
| OLD | NEW |