| Index: mojo/services/network/url_loader_impl.cc
|
| diff --git a/mojo/services/network/url_loader_impl.cc b/mojo/services/network/url_loader_impl.cc
|
| index 955a49c2e958484272fd7896de24912b26b723d1..89e64b8922ca1a99b7ba693fa21d2a9eadb9eb04 100644
|
| --- a/mojo/services/network/url_loader_impl.cc
|
| +++ b/mojo/services/network/url_loader_impl.cc
|
| @@ -94,6 +94,16 @@ class UploadDataPipeElementReader : public net::UploadElementReader {
|
| DISALLOW_COPY_AND_ASSIGN(UploadDataPipeElementReader);
|
| };
|
|
|
| +bool IsValidCacheMode(int cache_mode) {
|
| + switch (cache_mode) {
|
| + case URLRequest::CACHE_MODE_DEFAULT:
|
| + case URLRequest::CACHE_MODE_BYPASS_CACHE:
|
| + case URLRequest::CACHE_MODE_ONLY_FROM_CACHE:
|
| + return true;
|
| + }
|
| + return false;
|
| +}
|
| +
|
| } // namespace
|
|
|
| // Each body fetcher takes ownership of a net::URLRequest and stream its data
|
| @@ -495,6 +505,12 @@ void URLLoaderImpl::StartInternal(URLRequestPtr request) {
|
| DCHECK(!url_request_);
|
| DCHECK(!redirect_info_);
|
|
|
| + if (!IsValidCacheMode(request->cache_mode)) {
|
| + // Unknown cache mode. The request must fail.
|
| + delete this;
|
| + return;
|
| + }
|
| +
|
| if (interceptor_index_ >= 0 &&
|
| interceptor_index_ < static_cast<int>(interceptors_.size())) {
|
| interceptors_[interceptor_index_]->InterceptRequest(
|
| @@ -537,10 +553,15 @@ void URLLoaderImpl::StartInternal(URLRequestPtr request) {
|
| new net::ElementsUploadDataStream(element_readers.Pass(), 0)));
|
| }
|
| int load_flags = 0;
|
| - if (request->bypass_cache)
|
| - load_flags |= net::LOAD_BYPASS_CACHE;
|
| - if (request->only_from_cache)
|
| - load_flags |= net::LOAD_ONLY_FROM_CACHE;
|
| + switch (request->cache_mode) {
|
| + case URLRequest::CACHE_MODE_DEFAULT:
|
| + break;
|
| + case URLRequest::CACHE_MODE_BYPASS_CACHE:
|
| + load_flags |= net::LOAD_BYPASS_CACHE;
|
| + case URLRequest::CACHE_MODE_ONLY_FROM_CACHE:
|
| + load_flags |= net::LOAD_ONLY_FROM_CACHE;
|
| + break;
|
| + }
|
| if (load_flags)
|
| url_request_->SetLoadFlags(load_flags);
|
|
|
|
|