Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(49)

Side by Side Diff: third_party/WebKit/Source/core/loader/DocumentThreadableLoader.h

Issue 2420603003: Make DocumentThreadableLoader's cross origin logic clearer in terms of layering (Closed)
Patch Set: Rebase Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009, 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2009, 2012 Google Inc. All rights reserved.
3 * Copyright (C) 2013, Intel Corporation 3 * Copyright (C) 2013, Intel Corporation
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are 6 * modification, are permitted provided that the following conditions are
7 * met: 7 * met:
8 * 8 *
9 * * Redistributions of source code must retain the above copyright 9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 // m_client. 139 // m_client.
140 void handlePreflightFailure(const String& url, 140 void handlePreflightFailure(const String& url,
141 const String& errorDescription); 141 const String& errorDescription);
142 // Investigates the response for the preflight request. If successful, 142 // Investigates the response for the preflight request. If successful,
143 // the actual request will be made later in handleSuccessfulFinish(). 143 // the actual request will be made later in handleSuccessfulFinish().
144 void handlePreflightResponse(const ResourceResponse&); 144 void handlePreflightResponse(const ResourceResponse&);
145 void handleError(const ResourceError&); 145 void handleError(const ResourceError&);
146 146
147 void loadRequestAsync(const ResourceRequest&, ResourceLoaderOptions); 147 void loadRequestAsync(const ResourceRequest&, ResourceLoaderOptions);
148 void loadRequestSync(const ResourceRequest&, ResourceLoaderOptions); 148 void loadRequestSync(const ResourceRequest&, ResourceLoaderOptions);
149
150 void prepareCrossOriginRequest(ResourceRequest&);
149 void loadRequest(const ResourceRequest&, ResourceLoaderOptions); 151 void loadRequest(const ResourceRequest&, ResourceLoaderOptions);
150 bool isAllowedRedirect(const KURL&) const; 152 bool isAllowedRedirect(const KURL&) const;
151 // Returns DoNotAllowStoredCredentials if m_forceDoNotAllowStoredCredentials 153 // Returns DoNotAllowStoredCredentials if m_forceDoNotAllowStoredCredentials
152 // is set. Otherwise, just returns allowCredentials value of 154 // is set. Otherwise, just returns allowCredentials value of
153 // m_resourceLoaderOptions. 155 // m_resourceLoaderOptions.
154 StoredCredentials effectiveAllowCredentials() const; 156 StoredCredentials effectiveAllowCredentials() const;
155 157
156 // TODO(hiroshige): After crbug.com/633696 is fixed, 158 // TODO(hiroshige): After crbug.com/633696 is fixed,
157 // - Remove RawResourceClientStateChecker logic, 159 // - Remove RawResourceClientStateChecker logic,
158 // - Make DocumentThreadableLoader to be a ResourceOwner and remove this 160 // - Make DocumentThreadableLoader to be a ResourceOwner and remove this
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
227 // Max number of times that this DocumentThreadableLoader can follow 229 // Max number of times that this DocumentThreadableLoader can follow
228 // cross-origin redirects. This is used to limit the number of redirects. But 230 // cross-origin redirects. This is used to limit the number of redirects. But
229 // this value is not the max number of total redirects allowed, because 231 // this value is not the max number of total redirects allowed, because
230 // same-origin redirects are not counted here. 232 // same-origin redirects are not counted here.
231 int m_corsRedirectLimit; 233 int m_corsRedirectLimit;
232 234
233 WebURLRequest::FetchRedirectMode m_redirectMode; 235 WebURLRequest::FetchRedirectMode m_redirectMode;
234 236
235 // Holds the referrer after a redirect response was received. This referrer is 237 // Holds the referrer after a redirect response was received. This referrer is
236 // used to populate the HTTP Referer header when following the redirect. 238 // used to populate the HTTP Referer header when following the redirect.
237 bool m_didRedirect; 239 bool m_overrideReferrer;
238 Referrer m_referrerAfterRedirect; 240 Referrer m_referrerAfterRedirect;
239 241
240 RawResourceClientStateChecker m_checker; 242 RawResourceClientStateChecker m_checker;
241 }; 243 };
242 244
243 } // namespace blink 245 } // namespace blink
244 246
245 #endif // DocumentThreadableLoader_h 247 #endif // DocumentThreadableLoader_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698