Index: Source/core/loader/DocumentThreadableLoader.h |
diff --git a/Source/core/loader/DocumentThreadableLoader.h b/Source/core/loader/DocumentThreadableLoader.h |
index 46299625af30433d7034d976bcc9dd17af5b219f..ff8c49168b9b2fbdf7282a8ad249ec06f4826921 100644 |
--- a/Source/core/loader/DocumentThreadableLoader.h |
+++ b/Source/core/loader/DocumentThreadableLoader.h |
@@ -96,7 +96,7 @@ class DocumentThreadableLoader FINAL : public ThreadableLoader, private Resource |
// the actual request will be made later in handleSuccessfulFinish(). |
void handlePreflightResponse(unsigned long identifier, const ResourceResponse&); |
- void loadRequest(const ResourceRequest&); |
+ void loadRequest(const ResourceRequest&, ResourceLoaderOptions); |
bool isAllowedRedirect(const KURL&) const; |
bool isAllowedByPolicy(const KURL&) const; |
@@ -106,6 +106,9 @@ class DocumentThreadableLoader FINAL : public ThreadableLoader, private Resource |
Document& m_document; |
const ThreadableLoaderOptions m_options; |
+ // Some items may be overridden by m_allowCredentials and |
+ // m_securityOrigin. In such a case, build a ResourceLoaderOptions with |
+ // up-to-date values from them and this variable, and use it. |
const ResourceLoaderOptions m_resourceLoaderOptions; |
StoredCredentials m_allowCredentials; |
@@ -114,7 +117,12 @@ class DocumentThreadableLoader FINAL : public ThreadableLoader, private Resource |
bool m_sameOriginRequest; |
bool m_simpleRequest; |
bool m_async; |
- OwnPtr<ResourceRequest> m_actualRequest; // non-null during Access Control preflight checks |
+ |
+ // Holds the original request and options for it during preflight |
+ // request handling phase. |
+ OwnPtr<ResourceRequest> m_actualRequest; |
+ OwnPtr<ResourceLoaderOptions> m_actualOptions; |
+ |
HTTPHeaderMap m_simpleRequestHeaders; // stores simple request headers in case of a cross-origin redirect. |
Timer<DocumentThreadableLoader> m_timeoutTimer; |
}; |