* Electron version: 1.7.9
* Operating system: macOS 10.12.6

### Expected behavior

Often Electron apps want to get in front of `openExternal` calls to prevent them, or display a "are you sure you want to open" dialog for possibly unsafe url schemes like `ssh://`. At the moment, you can either blanket deny these or allow all for a give host via a `permissionRequestHandler`. It would be helpful for the permission handler to be given the url that the window is attempting to navigate to better determine the action it should take.


```
 $ git clone git@github.com:gerges/electron-quick-start.git -b  feat/set-permission-handler-openexternal-url
 $ npm install
 $ npm run start
```
atom/browser/atom_resource_dispatcher_host_delegate.cc
net::URLRequest* request,
    const base::FilePath& plugin_path,
    const std::string& mime_type,
    GURL* origin,
    std::string* payload) {
  const content::ResourceRequestInfo* info =
      content::ResourceRequestInfo::ForRequest(request);
  int render_process_host_id;
  int render_frame_id;
  if (!info->GetAssociatedRenderFrame(&render_process_host_id,
                                      &render_frame_id)) {
    return false;
  }
  if (mime_type == "application/pdf") {
    *origin = GURL(kPdfViewerUIOrigin);
    content::BrowserThread::PostTask(
        BrowserThread::UI, FROM_HERE,
        base::Bind(&OnPdfResourceIntercepted, request->url(),
                   render_process_host_id, render_frame_id,
                   info->GetWebContentsGetterForRequest()));
    return true;
  }
  return false;
}
}