| Index: chrome/browser/ui/cocoa/external_protocol_dialog.mm
|
| diff --git a/chrome/browser/ui/cocoa/external_protocol_dialog.mm b/chrome/browser/ui/cocoa/external_protocol_dialog.mm
|
| index 55259254491527e4ae584e078c7bf19d5d7fbca4..c57d53cbf0c868e0ac37f3da70f82cee1951f312 100644
|
| --- a/chrome/browser/ui/cocoa/external_protocol_dialog.mm
|
| +++ b/chrome/browser/ui/cocoa/external_protocol_dialog.mm
|
| @@ -21,7 +21,9 @@
|
| // static
|
| void ExternalProtocolHandler::RunExternalProtocolDialog(
|
| const GURL& url, int render_process_host_id, int routing_id) {
|
| - [[ExternalProtocolDialogController alloc] initWithGURL:&url];
|
| + [[ExternalProtocolDialogController alloc] initWithGURL:&url
|
| + renderProcessHostId:render_process_host_id
|
| + routingId:routing_id];
|
| }
|
|
|
| ///////////////////////////////////////////////////////////////////////////////
|
| @@ -35,13 +37,17 @@ void ExternalProtocolHandler::RunExternalProtocolDialog(
|
| @end
|
|
|
| @implementation ExternalProtocolDialogController
|
| -- (id)initWithGURL:(const GURL*)url {
|
| +- (id)initWithGURL:(const GURL*)url
|
| + renderProcessHostId:(int)renderProcessHostId
|
| + routingId:(int)routingId {
|
| DCHECK_EQ(base::MessageLoop::TYPE_UI, base::MessageLoop::current()->type());
|
|
|
| if (!(self = [super init]))
|
| return nil;
|
|
|
| url_ = *url;
|
| + render_process_host_id_ = renderProcessHostId;
|
| + routing_id_ = routingId;
|
| creation_time_ = base::Time::Now();
|
|
|
| base::string16 appName = [self appNameForProtocol];
|
| @@ -127,7 +133,8 @@ void ExternalProtocolHandler::RunExternalProtocolDialog(
|
| UMA_HISTOGRAM_LONG_TIMES("clickjacking.launch_url",
|
| base::Time::Now() - creation_time_);
|
|
|
| - ExternalProtocolHandler::LaunchUrlWithoutSecurityCheck(url_);
|
| + ExternalProtocolHandler::LaunchUrlWithoutSecurityCheck(
|
| + url_, render_process_host_id_, routing_id_);
|
| }
|
|
|
| [self autorelease];
|
|
|