Chromium Code Reviews| Index: content/public/browser/resource_request_info.h |
| diff --git a/content/public/browser/resource_request_info.h b/content/public/browser/resource_request_info.h |
| index 7f0d825d7f0060f4d70993db026c32f665f8a792..9d718a3c32f3834909b6c99395e17e70f21ca955 100644 |
| --- a/content/public/browser/resource_request_info.h |
| +++ b/content/public/browser/resource_request_info.h |
| @@ -20,6 +20,7 @@ class URLRequest; |
| namespace content { |
| class NavigationUIData; |
| +class RenderFrameHost; |
| class ResourceContext; |
| class WebContents; |
| @@ -73,6 +74,14 @@ class ResourceRequestInfo { |
| // non-null. |
| using WebContentsGetter = base::Callback<WebContents*(void)>; |
| + // A callback that returns a pointer to a RenderFrameHost. The callback can |
| + // always be used, but it may return nullptr: if the info used to |
| + // instantiate the callback can no longer be used to return a |
| + // RenderFrameHost, nullptr will be returned instead. |
| + // The callback should only run on the UI thread and it should always be |
| + // non-null. |
| + using RenderFrameHostGetter = base::Callback<RenderFrameHost*(void)>; |
| + |
| // Returns a callback that returns a pointer to the WebContents this request |
| // is associated with, or nullptr if it no longer exists or the request is |
| // not associated with a WebContents. The callback should only run on the UI |
| @@ -81,6 +90,14 @@ class ResourceRequestInfo { |
| // example, requests made by a ServiceWorker. |
| virtual WebContentsGetter GetWebContentsGetterForRequest() const = 0; |
| + // Returns a callback that returns a pointer to the RenderFrameHost this |
| + // request is associated with, or nullptry if it no longer exists or the |
| + // request is not associated with a RenderFrameHost. This callback should |
| + // only be run on the UI thread. |
| + // Note: Not all resource requests will be owned by a RenderFrameHost. For |
| + // example, requests made by a ServiceWorker. |
|
clamy
2017/04/14 13:56:09
Looking at the implementation, this comment is sim
Charlie Harrison
2017/04/14 14:02:25
I think returning nullptr here for navigations is
jkarlin
2017/04/14 17:50:20
I spoke with clamy@ and csharrison@. We agreed on
|
| + virtual RenderFrameHostGetter GetRenderFrameHostGetterForRequest() const = 0; |
| + |
| // Returns the associated ResourceContext. |
| virtual ResourceContext* GetContext() const = 0; |
| @@ -103,6 +120,8 @@ class ResourceRequestInfo { |
| // Returns the FrameTreeNode ID for this frame. This ID is browser-global and |
| // uniquely identifies a frame that hosts content. |
| + // Note: Returns -1 for all requests except PlzNavigate requests. |
| + // TODO(jkarlin): Set the id for all requests from frames. |
| virtual int GetFrameTreeNodeId() const = 0; |
| // The IPC route identifier of the RenderFrame. |