| Index: chrome/browser/dom_ui/html_dialog_tab_contents_delegate.cc
|
| diff --git a/chrome/browser/dom_ui/html_dialog_tab_contents_delegate.cc b/chrome/browser/dom_ui/html_dialog_tab_contents_delegate.cc
|
| index 303d0719275078afdef1bcc98ed313d6376b2573..cc8ae0716c37636ff355b948cad77ec9172f9d2c 100644
|
| --- a/chrome/browser/dom_ui/html_dialog_tab_contents_delegate.cc
|
| +++ b/chrome/browser/dom_ui/html_dialog_tab_contents_delegate.cc
|
| @@ -27,22 +27,17 @@ void HtmlDialogTabContentsDelegate::Detach() {
|
| profile_ = NULL;
|
| }
|
|
|
| -Browser* HtmlDialogTabContentsDelegate::CreateBrowser() {
|
| - DCHECK(profile_);
|
| - return Browser::Create(profile_);
|
| -}
|
| -
|
| void HtmlDialogTabContentsDelegate::OpenURLFromTab(
|
| TabContents* source, const GURL& url, const GURL& referrer,
|
| WindowOpenDisposition disposition, PageTransition::Type transition) {
|
| if (profile_) {
|
| - // Force all links to open in a new window, ignoring the incoming
|
| - // disposition. This is a tabless, modal dialog so we can't just
|
| - // open it in the current frame. Code adapted from
|
| - // Browser::OpenURLFromTab() with disposition == NEW_WINDOW.
|
| - browser::NavigateParams params(CreateBrowser(), url, transition);
|
| + // Specify a NULL browser for navigation. This will cause Navigate()
|
| + // to find a browser matching params.profile or create a new one.
|
| + Browser* browser = NULL;
|
| + browser::NavigateParams params(browser, url, transition);
|
| + params.profile = profile_;
|
| params.referrer = referrer;
|
| - params.disposition = NEW_FOREGROUND_TAB;
|
| + params.disposition = disposition;
|
| params.show_window = true;
|
| browser::Navigate(¶ms);
|
| }
|
| @@ -59,11 +54,13 @@ void HtmlDialogTabContentsDelegate::AddNewContents(
|
| WindowOpenDisposition disposition, const gfx::Rect& initial_pos,
|
| bool user_gesture) {
|
| if (profile_) {
|
| - // Force this to open in a new window so that it appears at the top
|
| - // of the z-index.
|
| - browser::NavigateParams params(CreateBrowser(), new_contents);
|
| + // Specify a NULL browser for navigation. This will cause Navigate()
|
| + // to find a browser matching params.profile or create a new one.
|
| + Browser* browser = NULL;
|
| + browser::NavigateParams params(browser, new_contents);
|
| + params.profile = profile_;
|
| params.source_contents = source;
|
| - params.disposition = NEW_FOREGROUND_TAB;
|
| + params.disposition = disposition;
|
| params.window_bounds = initial_pos;
|
| params.show_window = true;
|
| browser::Navigate(¶ms);
|
| @@ -111,4 +108,3 @@ bool HtmlDialogTabContentsDelegate::ShouldAddNavigationToHistory(
|
| NavigationType::Type navigation_type) {
|
| return false;
|
| }
|
| -
|
|
|