OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 751 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
762 browser::NavigateParams params(browser, extension_url, | 762 browser::NavigateParams params(browser, extension_url, |
763 content::PAGE_TRANSITION_START_PAGE); | 763 content::PAGE_TRANSITION_START_PAGE); |
764 params.tabstrip_add_types = add_type; | 764 params.tabstrip_add_types = add_type; |
765 params.disposition = disposition; | 765 params.disposition = disposition; |
766 | 766 |
767 if (disposition == CURRENT_TAB) { | 767 if (disposition == CURRENT_TAB) { |
768 TabContents* existing_tab = browser->GetSelectedTabContents(); | 768 TabContents* existing_tab = browser->GetSelectedTabContents(); |
769 TabStripModel* model = browser->tabstrip_model(); | 769 TabStripModel* model = browser->tabstrip_model(); |
770 int tab_index = model->GetWrapperIndex(existing_tab); | 770 int tab_index = model->GetWrapperIndex(existing_tab); |
771 | 771 |
772 existing_tab->OpenURL(OpenURLParams(extension_url, existing_tab->GetURL(), | 772 existing_tab->OpenURL(OpenURLParams( |
773 disposition, content::PAGE_TRANSITION_LINK, false)); | 773 extension_url, |
| 774 content::Referrer(existing_tab->GetURL(), |
| 775 WebKit::WebReferrerPolicyDefault), |
| 776 disposition, content::PAGE_TRANSITION_LINK, false)); |
774 if (params.tabstrip_add_types & TabStripModel::ADD_PINNED) { | 777 if (params.tabstrip_add_types & TabStripModel::ADD_PINNED) { |
775 model->SetTabPinned(tab_index, true); | 778 model->SetTabPinned(tab_index, true); |
776 tab_index = model->GetWrapperIndex(existing_tab); | 779 tab_index = model->GetWrapperIndex(existing_tab); |
777 } | 780 } |
778 if (params.tabstrip_add_types & TabStripModel::ADD_ACTIVE) | 781 if (params.tabstrip_add_types & TabStripModel::ADD_ACTIVE) |
779 model->ActivateTabAt(tab_index, true); | 782 model->ActivateTabAt(tab_index, true); |
780 | 783 |
781 contents = existing_tab; | 784 contents = existing_tab; |
782 } else { | 785 } else { |
783 browser::Navigate(¶ms); | 786 browser::Navigate(¶ms); |
(...skipping 2178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2962 /////////////////////////////////////////////////////////////////////////////// | 2965 /////////////////////////////////////////////////////////////////////////////// |
2963 // Browser, PageNavigator implementation: | 2966 // Browser, PageNavigator implementation: |
2964 | 2967 |
2965 // TODO(adriansc): Remove this method once refactoring changed all call sites. | 2968 // TODO(adriansc): Remove this method once refactoring changed all call sites. |
2966 TabContents* Browser::OpenURL(const GURL& url, | 2969 TabContents* Browser::OpenURL(const GURL& url, |
2967 const GURL& referrer, | 2970 const GURL& referrer, |
2968 WindowOpenDisposition disposition, | 2971 WindowOpenDisposition disposition, |
2969 content::PageTransition transition) { | 2972 content::PageTransition transition) { |
2970 // For specifying a referrer, use the version of OpenURL taking OpenURLParams. | 2973 // For specifying a referrer, use the version of OpenURL taking OpenURLParams. |
2971 DCHECK(referrer.is_empty()); | 2974 DCHECK(referrer.is_empty()); |
2972 return OpenURLFromTab(NULL, | 2975 return OpenURLFromTab(NULL, OpenURLParams( |
2973 OpenURLParams(url, referrer, disposition, transition, | 2976 url, content::Referrer(), disposition, transition, false)); |
2974 false)); | |
2975 } | 2977 } |
2976 | 2978 |
2977 TabContents* Browser::OpenURL(const OpenURLParams& params) { | 2979 TabContents* Browser::OpenURL(const OpenURLParams& params) { |
2978 return OpenURLFromTab(NULL, params); | 2980 return OpenURLFromTab(NULL, params); |
2979 } | 2981 } |
2980 | 2982 |
2981 /////////////////////////////////////////////////////////////////////////////// | 2983 /////////////////////////////////////////////////////////////////////////////// |
2982 // Browser, CommandUpdater::CommandUpdaterDelegate implementation: | 2984 // Browser, CommandUpdater::CommandUpdaterDelegate implementation: |
2983 | 2985 |
2984 void Browser::ExecuteCommand(int id) { | 2986 void Browser::ExecuteCommand(int id) { |
(...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3379 | 3381 |
3380 /////////////////////////////////////////////////////////////////////////////// | 3382 /////////////////////////////////////////////////////////////////////////////// |
3381 // Browser, TabContentsDelegate implementation: | 3383 // Browser, TabContentsDelegate implementation: |
3382 | 3384 |
3383 TabContents* Browser::OpenURLFromTab(TabContents* source, | 3385 TabContents* Browser::OpenURLFromTab(TabContents* source, |
3384 const OpenURLParams& params) { | 3386 const OpenURLParams& params) { |
3385 browser::NavigateParams nav_params(this, params.url, params.transition); | 3387 browser::NavigateParams nav_params(this, params.url, params.transition); |
3386 nav_params.source_contents = | 3388 nav_params.source_contents = |
3387 tabstrip_model()->GetTabContentsAt( | 3389 tabstrip_model()->GetTabContentsAt( |
3388 tabstrip_model()->GetWrapperIndex(source)); | 3390 tabstrip_model()->GetWrapperIndex(source)); |
3389 nav_params.referrer = params.referrer; | 3391 nav_params.referrer = params.referrer.url; |
3390 nav_params.disposition = params.disposition; | 3392 nav_params.disposition = params.disposition; |
3391 nav_params.tabstrip_add_types = TabStripModel::ADD_NONE; | 3393 nav_params.tabstrip_add_types = TabStripModel::ADD_NONE; |
3392 nav_params.window_action = browser::NavigateParams::SHOW_WINDOW; | 3394 nav_params.window_action = browser::NavigateParams::SHOW_WINDOW; |
3393 nav_params.user_gesture = true; | 3395 nav_params.user_gesture = true; |
3394 nav_params.override_encoding = params.override_encoding; | 3396 nav_params.override_encoding = params.override_encoding; |
3395 nav_params.is_renderer_initiated = params.is_renderer_initiated; | 3397 nav_params.is_renderer_initiated = params.is_renderer_initiated; |
3396 browser::Navigate(&nav_params); | 3398 browser::Navigate(&nav_params); |
3397 | 3399 |
3398 return nav_params.target_contents ? | 3400 return nav_params.target_contents ? |
3399 nav_params.target_contents->tab_contents() : NULL; | 3401 nav_params.target_contents->tab_contents() : NULL; |
(...skipping 1922 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5322 window_->GetLocationBar()->ShowFirstRunBubble(bubble_type); | 5324 window_->GetLocationBar()->ShowFirstRunBubble(bubble_type); |
5323 } else { | 5325 } else { |
5324 GlobalErrorService* service = | 5326 GlobalErrorService* service = |
5325 GlobalErrorServiceFactory::GetForProfile(profile()); | 5327 GlobalErrorServiceFactory::GetForProfile(profile()); |
5326 GlobalError* error = service->GetFirstGlobalErrorWithBubbleView(); | 5328 GlobalError* error = service->GetFirstGlobalErrorWithBubbleView(); |
5327 if (error) { | 5329 if (error) { |
5328 error->ShowBubbleView(this); | 5330 error->ShowBubbleView(this); |
5329 } | 5331 } |
5330 } | 5332 } |
5331 } | 5333 } |
OLD | NEW |