| Index: third_party/WebKit/Source/core/fetch/RawResource.cpp
|
| diff --git a/third_party/WebKit/Source/core/fetch/RawResource.cpp b/third_party/WebKit/Source/core/fetch/RawResource.cpp
|
| index 37c225d31083b9380e64516edee3504b4d1296fc..fc7a7e31db91b77e17f0f333ce70d4af0081aa32 100644
|
| --- a/third_party/WebKit/Source/core/fetch/RawResource.cpp
|
| +++ b/third_party/WebKit/Source/core/fetch/RawResource.cpp
|
| @@ -264,4 +264,74 @@ bool RawResource::canReuse(const ResourceRequest& newRequest) const
|
| return true;
|
| }
|
|
|
| +RawResourceClientStateChecker::RawResourceClientStateChecker()
|
| + : m_state(NotAddedAsClient)
|
| +{
|
| +}
|
| +
|
| +RawResourceClientStateChecker::~RawResourceClientStateChecker()
|
| +{
|
| + SECURITY_CHECK(m_state == NotAddedAsClient);
|
| +}
|
| +
|
| +void RawResourceClientStateChecker::willAddClient()
|
| +{
|
| + SECURITY_CHECK(m_state == NotAddedAsClient);
|
| + m_state = Started;
|
| +}
|
| +
|
| +void RawResourceClientStateChecker::willRemoveClient()
|
| +{
|
| + SECURITY_CHECK(m_state != NotAddedAsClient);
|
| + m_state = NotAddedAsClient;
|
| +}
|
| +
|
| +void RawResourceClientStateChecker::redirectReceived()
|
| +{
|
| + SECURITY_CHECK(m_state == Started);
|
| +}
|
| +
|
| +void RawResourceClientStateChecker::redirectBlocked()
|
| +{
|
| + SECURITY_CHECK(m_state == Started);
|
| + m_state = RedirectBlocked;
|
| +}
|
| +
|
| +void RawResourceClientStateChecker::dataSent()
|
| +{
|
| + SECURITY_CHECK(m_state == Started);
|
| +}
|
| +
|
| +void RawResourceClientStateChecker::responseReceived()
|
| +{
|
| + SECURITY_CHECK(m_state == Started);
|
| + m_state = ResponseReceived;
|
| +}
|
| +
|
| +void RawResourceClientStateChecker::setSerializedCachedMetadata()
|
| +{
|
| + SECURITY_CHECK(m_state == ResponseReceived);
|
| + m_state = SetSerializedCachedMetadata;
|
| +}
|
| +
|
| +void RawResourceClientStateChecker::dataReceived()
|
| +{
|
| + SECURITY_CHECK(m_state == ResponseReceived || m_state == SetSerializedCachedMetadata || m_state == DataReceived);
|
| + m_state = DataReceived;
|
| +}
|
| +
|
| +void RawResourceClientStateChecker::dataDownloaded()
|
| +{
|
| + SECURITY_CHECK(m_state == ResponseReceived || m_state == SetSerializedCachedMetadata || m_state == DataDownloaded);
|
| + m_state = DataDownloaded;
|
| +}
|
| +
|
| +void RawResourceClientStateChecker::notifyFinished(Resource* resource)
|
| +{
|
| + SECURITY_CHECK(m_state != NotAddedAsClient);
|
| + SECURITY_CHECK(m_state != NotifyFinished);
|
| + SECURITY_CHECK(resource->errorOccurred() || (m_state == ResponseReceived || m_state == SetSerializedCachedMetadata || m_state == DataReceived || m_state == DataDownloaded));
|
| + m_state = NotifyFinished;
|
| +}
|
| +
|
| } // namespace blink
|
|
|