| Index: headless/public/util/generic_url_request_job.cc
|
| diff --git a/headless/public/util/generic_url_request_job.cc b/headless/public/util/generic_url_request_job.cc
|
| index 4cf9bdd257cff27157b88b9279bd6988f9b5083d..8a78ac24a1b84614421b699f932730d719f754ce 100644
|
| --- a/headless/public/util/generic_url_request_job.cc
|
| +++ b/headless/public/util/generic_url_request_job.cc
|
| @@ -12,6 +12,7 @@
|
| #include "content/public/browser/render_frame_host.h"
|
| #include "content/public/browser/resource_request_info.h"
|
| #include "content/public/browser/web_contents.h"
|
| +#include "headless/public/headless_browser_context.h"
|
| #include "headless/public/util/url_request_dispatcher.h"
|
| #include "net/base/io_buffer.h"
|
| #include "net/base/net_errors.h"
|
| @@ -42,13 +43,15 @@ GenericURLRequestJob::GenericURLRequestJob(
|
| net::NetworkDelegate* network_delegate,
|
| URLRequestDispatcher* url_request_dispatcher,
|
| std::unique_ptr<URLFetcher> url_fetcher,
|
| - Delegate* delegate)
|
| + Delegate* delegate,
|
| + HeadlessBrowserContext* headless_browser_context)
|
| : ManagedDispatchURLRequestJob(request,
|
| network_delegate,
|
| url_request_dispatcher),
|
| url_fetcher_(std::move(url_fetcher)),
|
| origin_task_runner_(base::ThreadTaskRunnerHandle::Get()),
|
| delegate_(delegate),
|
| + headless_browser_context_(headless_browser_context),
|
| request_resource_info_(
|
| content::ResourceRequestInfo::ForRequest(request_)),
|
| request_id_(next_request_id_++),
|
| @@ -199,7 +202,13 @@ int GenericURLRequestJob::GetFrameTreeNodeId() const {
|
| int render_process_id;
|
| int render_frame_id;
|
| if (content::ResourceRequestInfo::GetRenderFrameForRequest(
|
| - request_, &render_process_id, &render_frame_id)) {
|
| + request_, &render_process_id, &render_frame_id) &&
|
| + render_process_id != -1) {
|
| + if (headless_browser_context_) {
|
| + return headless_browser_context_->GetFrameTreeNodeId(render_process_id,
|
| + render_frame_id);
|
| + }
|
| + // TODO(alexclarke): Remove this.
|
| content::RenderFrameHost* render_frame_host =
|
| content::RenderFrameHost::FromID(render_process_id, render_frame_id);
|
| DCHECK(render_frame_host);
|
|
|