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

Unified Diff: chrome/browser/external_protocol/external_protocol_handler.cc

Issue 2538353002: fix external protocol handling for OOPIFs (Closed)
Patch Set: remove unnecessary include Created 4 years 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/external_protocol/external_protocol_handler.cc
diff --git a/chrome/browser/external_protocol/external_protocol_handler.cc b/chrome/browser/external_protocol/external_protocol_handler.cc
index 2e4dcc1aaa251c9fd1a34d00cc89b0ae108ed734..2885d8a0c9b043be3b177a4f28befa7a0ae8cb03 100644
--- a/chrome/browser/external_protocol/external_protocol_handler.cc
+++ b/chrome/browser/external_protocol/external_protocol_handler.cc
@@ -82,11 +82,13 @@ void LaunchUrlWithoutSecurityCheckWithDelegate(
int render_process_host_id,
int tab_contents_id,
ExternalProtocolHandler::Delegate* delegate) {
+ content::WebContents* web_contents =
+ tab_util::GetWebContentsByID(render_process_host_id, tab_contents_id);
+
if (!delegate) {
- ExternalProtocolHandler::LaunchUrlWithoutSecurityCheck(
- url, render_process_host_id, tab_contents_id);
+ ExternalProtocolHandler::LaunchUrlWithoutSecurityCheck(url, web_contents);
} else {
- delegate->LaunchUrlWithoutSecurityCheck(url);
+ delegate->LaunchUrlWithoutSecurityCheck(url, web_contents);
}
}
@@ -222,10 +224,9 @@ void ExternalProtocolHandler::LaunchUrlWithDelegate(
// static
void ExternalProtocolHandler::LaunchUrlWithoutSecurityCheck(
const GURL& url,
- int render_process_host_id,
- int tab_contents_id) {
- content::WebContents* web_contents = tab_util::GetWebContentsByID(
- render_process_host_id, tab_contents_id);
+ content::WebContents* web_contents) {
+ // |web_contents| is only passed in to find browser context. Do not assume
+ // that the external protocol request came from the main frame.
if (!web_contents)
return;

Powered by Google App Engine
This is Rietveld 408576698