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

Side by Side Diff: components/cronet/android/cronet_url_request_adapter.cc

Issue 860893002: [Cronet] Allow UrlRequest bypass cache (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased Created 5 years, 10 months 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 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cronet_url_request_adapter.h" 5 #include "cronet_url_request_adapter.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/location.h" 8 #include "base/location.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "components/cronet/android/cronet_url_request_context_adapter.h" 10 #include "components/cronet/android/cronet_url_request_context_adapter.h"
(...skipping 10 matching lines...) Expand all
21 21
22 CronetURLRequestAdapter::CronetURLRequestAdapter( 22 CronetURLRequestAdapter::CronetURLRequestAdapter(
23 CronetURLRequestContextAdapter* context, 23 CronetURLRequestContextAdapter* context,
24 scoped_ptr<CronetURLRequestAdapterDelegate> delegate, 24 scoped_ptr<CronetURLRequestAdapterDelegate> delegate,
25 const GURL& url, 25 const GURL& url,
26 net::RequestPriority priority) 26 net::RequestPriority priority)
27 : context_(context), 27 : context_(context),
28 delegate_(delegate.Pass()), 28 delegate_(delegate.Pass()),
29 initial_url_(url), 29 initial_url_(url),
30 initial_priority_(priority), 30 initial_priority_(priority),
31 initial_method_("GET") { 31 initial_method_("GET"),
32 load_flags_(context->default_load_flags()) {
32 } 33 }
33 34
34 CronetURLRequestAdapter::~CronetURLRequestAdapter() { 35 CronetURLRequestAdapter::~CronetURLRequestAdapter() {
35 DCHECK(IsOnNetworkThread()); 36 DCHECK(IsOnNetworkThread());
36 } 37 }
37 38
38 void CronetURLRequestAdapter::AddRequestHeader(const std::string& name, 39 void CronetURLRequestAdapter::AddRequestHeader(const std::string& name,
39 const std::string& value) { 40 const std::string& value) {
40 DCHECK(!IsOnNetworkThread()); 41 DCHECK(!IsOnNetworkThread());
41 initial_request_headers_.SetHeader(name, value); 42 initial_request_headers_.SetHeader(name, value);
42 } 43 }
43 44
45 void CronetURLRequestAdapter::DisableCache() {
46 DCHECK(!IsOnNetworkThread());
47 load_flags_ |= net::LOAD_DISABLE_CACHE;
48 }
49
44 bool CronetURLRequestAdapter::PostTaskToNetworkThread( 50 bool CronetURLRequestAdapter::PostTaskToNetworkThread(
45 const tracked_objects::Location& from_here, 51 const tracked_objects::Location& from_here,
46 const base::Closure& task) { 52 const base::Closure& task) {
47 DCHECK(!IsOnNetworkThread()); 53 DCHECK(!IsOnNetworkThread());
48 return context_->GetNetworkTaskRunner()->PostTask(from_here, task); 54 return context_->GetNetworkTaskRunner()->PostTask(from_here, task);
49 } 55 }
50 56
51 bool CronetURLRequestAdapter::IsOnNetworkThread() const { 57 bool CronetURLRequestAdapter::IsOnNetworkThread() const {
52 return context_->GetNetworkTaskRunner()->BelongsToCurrentThread(); 58 return context_->GetNetworkTaskRunner()->BelongsToCurrentThread();
53 } 59 }
54 60
55 void CronetURLRequestAdapter::Start() { 61 void CronetURLRequestAdapter::Start() {
56 DCHECK(IsOnNetworkThread()); 62 DCHECK(IsOnNetworkThread());
57 VLOG(1) << "Starting chromium request: " 63 VLOG(1) << "Starting chromium request: "
58 << initial_url_.possibly_invalid_spec().c_str() 64 << initial_url_.possibly_invalid_spec().c_str()
59 << " priority: " << RequestPriorityToString(initial_priority_); 65 << " priority: " << RequestPriorityToString(initial_priority_);
60 url_request_ = context_->GetURLRequestContext()->CreateRequest( 66 url_request_ = context_->GetURLRequestContext()->CreateRequest(
61 initial_url_, net::DEFAULT_PRIORITY, this, NULL); 67 initial_url_, net::DEFAULT_PRIORITY, this, NULL);
62 url_request_->SetLoadFlags(context_->default_load_flags()); 68 url_request_->SetLoadFlags(load_flags_);
63 url_request_->set_method(initial_method_); 69 url_request_->set_method(initial_method_);
64 url_request_->SetExtraRequestHeaders(initial_request_headers_); 70 url_request_->SetExtraRequestHeaders(initial_request_headers_);
65 url_request_->SetPriority(initial_priority_); 71 url_request_->SetPriority(initial_priority_);
66 url_request_->Start(); 72 url_request_->Start();
67 } 73 }
68 74
69 void CronetURLRequestAdapter::FollowDeferredRedirect() { 75 void CronetURLRequestAdapter::FollowDeferredRedirect() {
70 DCHECK(IsOnNetworkThread()); 76 DCHECK(IsOnNetworkThread());
71 77
72 url_request_->FollowDeferredRedirect(); 78 url_request_->FollowDeferredRedirect();
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 DCHECK_EQ(request, url_request_); 155 DCHECK_EQ(request, url_request_);
150 if (url_request_->status().is_success()) 156 if (url_request_->status().is_success())
151 return false; 157 return false;
152 VLOG(1) << "Error " << url_request_->status().error() 158 VLOG(1) << "Error " << url_request_->status().error()
153 << " on chromium request: " << initial_url_.possibly_invalid_spec(); 159 << " on chromium request: " << initial_url_.possibly_invalid_spec();
154 delegate_->OnError(url_request_->status().error()); 160 delegate_->OnError(url_request_->status().error());
155 return true; 161 return true;
156 } 162 }
157 163
158 } // namespace cronet 164 } // namespace cronet
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698