Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(817)

Unified Diff: chrome/browser/ui/webui/chrome_web_contents_handler.cc

Issue 10967003: Add desktop type context to most existing instances of FindTabbedBrowser. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Moving check_deps exception to specific_include_rules after chat with Kai. Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/webui/chrome_web_contents_handler.cc
diff --git a/chrome/browser/ui/webui/chrome_web_contents_handler.cc b/chrome/browser/ui/webui/chrome_web_contents_handler.cc
index 42375bef8e9c32c06cd4a48dfbc4faaea6d08005..a52383a192507f6691df9355a043b49daf9441c9 100644
--- a/chrome/browser/ui/webui/chrome_web_contents_handler.cc
+++ b/chrome/browser/ui/webui/chrome_web_contents_handler.cc
@@ -9,6 +9,7 @@
#include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/browser_navigator.h"
#include "chrome/browser/ui/browser_window.h"
+#include "chrome/browser/ui/host_desktop.h"
#include "chrome/browser/ui/tab_contents/tab_contents.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "content/public/browser/web_contents.h"
@@ -36,10 +37,19 @@ WebContents* ChromeWebContentsHandler::OpenURLFromTab(
return NULL;
Profile* profile = Profile::FromBrowserContext(context);
- Browser* browser = browser::FindTabbedBrowser(profile, false);
+
+ chrome::HostDesktopType desktop_type = chrome::HOST_DESKTOP_TYPE_NATIVE;
+ if (source) {
+ Browser* source_browser = browser::FindBrowserWithWebContents(source);
+ if (source_browser)
+ desktop_type = source_browser->host_desktop_type();
+ }
+
+ Browser* browser = browser::FindTabbedBrowser(profile, false, desktop_type);
const bool browser_created = !browser;
if (!browser)
- browser = new Browser(Browser::CreateParams(profile));
+ browser = new Browser(
+ Browser::CreateParams(Browser::TYPE_TABBED, profile, desktop_type));
chrome::NavigateParams nav_params(browser, params.url, params.transition);
nav_params.referrer = params.referrer;
if (source && source->IsCrashed() &&
@@ -78,10 +88,19 @@ void ChromeWebContentsHandler::AddNewContents(
return;
Profile* profile = Profile::FromBrowserContext(context);
- Browser* browser = browser::FindTabbedBrowser(profile, false);
+
+ chrome::HostDesktopType desktop_type = chrome::HOST_DESKTOP_TYPE_NATIVE;
+ if (source) {
+ Browser* source_browser = browser::FindBrowserWithWebContents(source);
+ if (source_browser)
+ desktop_type = source_browser->host_desktop_type();
+ }
+
+ Browser* browser = browser::FindTabbedBrowser(profile, false, desktop_type);
const bool browser_created = !browser;
if (!browser)
- browser = new Browser(Browser::CreateParams(profile));
+ browser = new Browser(
+ Browser::CreateParams(Browser::TYPE_TABBED, profile, desktop_type));
TabContents* tab_contents =
TabContents::Factory::CreateTabContents(new_contents);
chrome::NavigateParams params(browser, tab_contents);

Powered by Google App Engine
This is Rietveld 408576698