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

Unified Diff: chrome/browser/chrome_content_browser_client.cc

Issue 897673002: First step in enabling creating tabs without an Activity on Android. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@a-base-mounir
Patch Set: Created 5 years, 10 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/chrome_content_browser_client.cc
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
index 558d739fef88ca3df3e29bc61b303f012b1109b3..7caf39d87aff9142703a8c0a7daaad02d1ec79c2 100644
--- a/chrome/browser/chrome_content_browser_client.cc
+++ b/chrome/browser/chrome_content_browser_client.cc
@@ -156,6 +156,7 @@
#include "chrome/browser/chrome_browser_main_linux.h"
#elif defined(OS_ANDROID)
#include "chrome/browser/android/new_tab_page_url_handler.h"
+#include "chrome/browser/android/service_tab_launcher.h"
#include "chrome/browser/android/webapps/single_tab_mode_tab_helper.h"
#include "chrome/browser/chrome_browser_main_android.h"
#include "chrome/common/descriptors_android.h"
@@ -2509,9 +2510,10 @@ bool ChromeContentBrowserClient::CheckMediaAccessPermission(
browser_context, security_origin, type);
}
-content::WebContents* ChromeContentBrowserClient::OpenURL(
+void ChromeContentBrowserClient::OpenURL(
content::BrowserContext* browser_context,
- const content::OpenURLParams& params) {
+ const content::OpenURLParams& params,
+ base::Callback<void(content::WebContents*)> callback) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
#if !defined(OS_ANDROID) && !defined(OS_IOS)
@@ -2522,12 +2524,15 @@ content::WebContents* ChromeContentBrowserClient::OpenURL(
nav_params.user_gesture = params.user_gesture;
Navigate(&nav_params);
- return nav_params.target_contents;
+ callback.Run(nav_params.target_contents);
+#elif defined(OS_ANDROID)
+ chrome::android::ServiceTabLauncher::GetInstance()->LaunchTab(
+ browser_context, params, callback);
#else
- // TODO(mlamouri): write a chrome::Navigate() method for Android and iOS.
+ // TODO(mlamouri): write a chrome::Navigate() method for iOS.
// See https://crbug.com/448409.
mlamouri (slow - plz ping) 2015/02/09 12:07:37 I think you can remove the TODO and the mention of
Peter Beverloo 2015/02/10 17:49:37 Done.
- return nullptr;
-#endif // !defined(OS_ANDROID) && !defined(OS_IOS)
+ NOTIMPLEMENTED();
+#endif
}
content::DevToolsManagerDelegate*

Powered by Google App Engine
This is Rietveld 408576698