| Index: Source/core/loader/DocumentLoader.cpp
|
| diff --git a/Source/core/loader/DocumentLoader.cpp b/Source/core/loader/DocumentLoader.cpp
|
| index 4737a017df873c375eebb14990e4c33fdeb4691b..2b54915209e540a6b5f2aac18233a3155844fa2f 100644
|
| --- a/Source/core/loader/DocumentLoader.cpp
|
| +++ b/Source/core/loader/DocumentLoader.cpp
|
| @@ -325,11 +325,8 @@ void DocumentLoader::finishedLoading(double finishTime)
|
| clearMainResourceHandle();
|
| }
|
|
|
| -bool DocumentLoader::isPostOrRedirectAfterPost(const ResourceRequest& newRequest, const ResourceResponse& redirectResponse)
|
| +bool DocumentLoader::isRedirectAfterPost(const ResourceRequest& newRequest, const ResourceResponse& redirectResponse)
|
| {
|
| - if (newRequest.httpMethod() == "POST")
|
| - return true;
|
| -
|
| int status = redirectResponse.httpStatusCode();
|
| if (((status >= 301 && status <= 303) || status == 307)
|
| && m_originalRequest.httpMethod() == "POST")
|
| @@ -435,8 +432,7 @@ void DocumentLoader::willSendRequest(ResourceRequest& newRequest, const Resource
|
| // If we're fielding a redirect in response to a POST, force a load from origin, since
|
| // this is a common site technique to return to a page viewing some data that the POST
|
| // just modified.
|
| - // Also, POST requests always load from origin, but this does not affect subresources.
|
| - if (newRequest.cachePolicy() == UseProtocolCachePolicy && isPostOrRedirectAfterPost(newRequest, redirectResponse))
|
| + if (newRequest.cachePolicy() == UseProtocolCachePolicy && isRedirectAfterPost(newRequest, redirectResponse))
|
| newRequest.setCachePolicy(ReloadIgnoringCacheData);
|
|
|
| Frame* parent = m_frame->tree()->parent();
|
|
|