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/webui/chrome_web_contents_handler.h" | 5 #include "chrome/browser/ui/webui/chrome_web_contents_handler.h" |
6 | 6 |
7 #include "chrome/browser/profiles/profile.h" | 7 #include "chrome/browser/profiles/profile.h" |
8 #include "chrome/browser/ui/browser.h" | 8 #include "chrome/browser/ui/browser.h" |
9 #include "chrome/browser/ui/browser_finder.h" | 9 #include "chrome/browser/ui/browser_finder.h" |
10 #include "chrome/browser/ui/browser_navigator.h" | 10 #include "chrome/browser/ui/browser_navigator.h" |
(...skipping 26 matching lines...) Expand all Loading... |
37 | 37 |
38 Profile* profile = Profile::FromBrowserContext(context); | 38 Profile* profile = Profile::FromBrowserContext(context); |
39 | 39 |
40 chrome::HostDesktopType desktop_type = chrome::HOST_DESKTOP_TYPE_NATIVE; | 40 chrome::HostDesktopType desktop_type = chrome::HOST_DESKTOP_TYPE_NATIVE; |
41 if (source) { | 41 if (source) { |
42 Browser* source_browser = chrome::FindBrowserWithWebContents(source); | 42 Browser* source_browser = chrome::FindBrowserWithWebContents(source); |
43 if (source_browser) | 43 if (source_browser) |
44 desktop_type = source_browser->host_desktop_type(); | 44 desktop_type = source_browser->host_desktop_type(); |
45 } | 45 } |
46 | 46 |
47 Browser* browser = browser::FindTabbedBrowser(profile, false, desktop_type); | 47 Browser* browser = chrome::FindTabbedBrowser(profile, false, desktop_type); |
48 const bool browser_created = !browser; | 48 const bool browser_created = !browser; |
49 if (!browser) | 49 if (!browser) |
50 browser = new Browser( | 50 browser = new Browser( |
51 Browser::CreateParams(Browser::TYPE_TABBED, profile, desktop_type)); | 51 Browser::CreateParams(Browser::TYPE_TABBED, profile, desktop_type)); |
52 chrome::NavigateParams nav_params(browser, params.url, params.transition); | 52 chrome::NavigateParams nav_params(browser, params.url, params.transition); |
53 nav_params.referrer = params.referrer; | 53 nav_params.referrer = params.referrer; |
54 if (source && source->IsCrashed() && | 54 if (source && source->IsCrashed() && |
55 params.disposition == CURRENT_TAB && | 55 params.disposition == CURRENT_TAB && |
56 params.transition == content::PAGE_TRANSITION_LINK) { | 56 params.transition == content::PAGE_TRANSITION_LINK) { |
57 nav_params.disposition = NEW_FOREGROUND_TAB; | 57 nav_params.disposition = NEW_FOREGROUND_TAB; |
(...skipping 29 matching lines...) Expand all Loading... |
87 | 87 |
88 Profile* profile = Profile::FromBrowserContext(context); | 88 Profile* profile = Profile::FromBrowserContext(context); |
89 | 89 |
90 chrome::HostDesktopType desktop_type = chrome::HOST_DESKTOP_TYPE_NATIVE; | 90 chrome::HostDesktopType desktop_type = chrome::HOST_DESKTOP_TYPE_NATIVE; |
91 if (source) { | 91 if (source) { |
92 Browser* source_browser = chrome::FindBrowserWithWebContents(source); | 92 Browser* source_browser = chrome::FindBrowserWithWebContents(source); |
93 if (source_browser) | 93 if (source_browser) |
94 desktop_type = source_browser->host_desktop_type(); | 94 desktop_type = source_browser->host_desktop_type(); |
95 } | 95 } |
96 | 96 |
97 Browser* browser = browser::FindTabbedBrowser(profile, false, desktop_type); | 97 Browser* browser = chrome::FindTabbedBrowser(profile, false, desktop_type); |
98 const bool browser_created = !browser; | 98 const bool browser_created = !browser; |
99 if (!browser) | 99 if (!browser) |
100 browser = new Browser( | 100 browser = new Browser( |
101 Browser::CreateParams(Browser::TYPE_TABBED, profile, desktop_type)); | 101 Browser::CreateParams(Browser::TYPE_TABBED, profile, desktop_type)); |
102 chrome::NavigateParams params(browser, new_contents); | 102 chrome::NavigateParams params(browser, new_contents); |
103 params.source_contents = source; | 103 params.source_contents = source; |
104 params.disposition = disposition; | 104 params.disposition = disposition; |
105 params.window_bounds = initial_pos; | 105 params.window_bounds = initial_pos; |
106 params.window_action = chrome::NavigateParams::SHOW_WINDOW; | 106 params.window_action = chrome::NavigateParams::SHOW_WINDOW; |
107 params.user_gesture = true; | 107 params.user_gesture = true; |
108 chrome::Navigate(¶ms); | 108 chrome::Navigate(¶ms); |
109 | 109 |
110 // Close the browser if chrome::Navigate created a new one. | 110 // Close the browser if chrome::Navigate created a new one. |
111 if (browser_created && (browser != params.browser)) | 111 if (browser_created && (browser != params.browser)) |
112 browser->window()->Close(); | 112 browser->window()->Close(); |
113 } | 113 } |
OLD | NEW |