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

Side by Side Diff: android_webview/browser/net/aw_url_request_context_getter.cc

Issue 1492943002: Allow replacing the HttpAuthHandlerFactory in URLRequestContextBuilder (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Not a todo Created 5 years 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "android_webview/browser/net/aw_url_request_context_getter.h" 5 #include "android_webview/browser/net/aw_url_request_context_getter.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "android_webview/browser/aw_browser_context.h" 9 #include "android_webview/browser/aw_browser_context.h"
10 #include "android_webview/browser/aw_content_browser_client.h" 10 #include "android_webview/browser/aw_content_browser_client.h"
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 218
219 net::URLRequestContextBuilder::HttpNetworkSessionParams 219 net::URLRequestContextBuilder::HttpNetworkSessionParams
220 network_session_params; 220 network_session_params;
221 ApplyCmdlineOverridesToNetworkSessionParams(&network_session_params); 221 ApplyCmdlineOverridesToNetworkSessionParams(&network_session_params);
222 builder.set_http_network_session_params(network_session_params); 222 builder.set_http_network_session_params(network_session_params);
223 builder.SetSpdyAndQuicEnabled(true, false); 223 builder.SetSpdyAndQuicEnabled(true, false);
224 224
225 scoped_ptr<net::MappedHostResolver> host_resolver(new net::MappedHostResolver( 225 scoped_ptr<net::MappedHostResolver> host_resolver(new net::MappedHostResolver(
226 net::HostResolver::CreateDefaultResolver(nullptr))); 226 net::HostResolver::CreateDefaultResolver(nullptr)));
227 ApplyCmdlineOverridesToHostResolver(host_resolver.get()); 227 ApplyCmdlineOverridesToHostResolver(host_resolver.get());
228 builder.add_http_auth_handler_factory( 228 builder.SetHttpAuthHandlerFactory(
229 "negotiate", 229 CreateAuthHandlerFactory(host_resolver.get()).Pass());
230 CreateNegotiateAuthHandlerFactory(host_resolver.get()).release());
231 builder.set_host_resolver(host_resolver.Pass()); 230 builder.set_host_resolver(host_resolver.Pass());
232 231
233 url_request_context_ = builder.Build().Pass(); 232 url_request_context_ = builder.Build().Pass();
234 233
235 job_factory_ = CreateJobFactory(&protocol_handlers_, 234 job_factory_ = CreateJobFactory(&protocol_handlers_,
236 request_interceptors_.Pass()); 235 request_interceptors_.Pass());
237 job_factory_.reset(new net::URLRequestInterceptingJobFactory( 236 job_factory_.reset(new net::URLRequestInterceptingJobFactory(
238 job_factory_.Pass(), 237 job_factory_.Pass(),
239 browser_context->GetDataReductionProxyIOData()->CreateInterceptor())); 238 browser_context->GetDataReductionProxyIOData()->CreateInterceptor()));
240 url_request_context_->set_job_factory(job_factory_.get()); 239 url_request_context_->set_job_factory(job_factory_.get());
(...skipping 25 matching lines...) Expand all
266 return net_log_.get(); 265 return net_log_.get();
267 } 266 }
268 267
269 void AwURLRequestContextGetter::SetKeyOnIO(const std::string& key) { 268 void AwURLRequestContextGetter::SetKeyOnIO(const std::string& key) {
270 DCHECK(AwBrowserContext::GetDefault()->GetDataReductionProxyIOData()); 269 DCHECK(AwBrowserContext::GetDefault()->GetDataReductionProxyIOData());
271 AwBrowserContext::GetDefault()->GetDataReductionProxyIOData()-> 270 AwBrowserContext::GetDefault()->GetDataReductionProxyIOData()->
272 request_options()->SetKeyOnIO(key); 271 request_options()->SetKeyOnIO(key);
273 } 272 }
274 273
275 scoped_ptr<net::HttpAuthHandlerFactory> 274 scoped_ptr<net::HttpAuthHandlerFactory>
276 AwURLRequestContextGetter::CreateNegotiateAuthHandlerFactory( 275 AwURLRequestContextGetter::CreateAuthHandlerFactory(
277 net::HostResolver* resolver) { 276 net::HostResolver* resolver) {
278 DCHECK(resolver); 277 DCHECK(resolver);
279 std::vector<std::string> supported_schemes = {"negotiate"}; 278
279 // In Chrome this is configurable via the AuthSchemes policy. For WebView
280 // there is no interest to have it available so far.
281 std::vector<std::string> supported_schemes = {"basic", "digest", "negotiate"};
280 http_auth_preferences_.reset(new net::HttpAuthPreferences(supported_schemes)); 282 http_auth_preferences_.reset(new net::HttpAuthPreferences(supported_schemes));
281 http_auth_preferences_->set_server_whitelist(auth_server_whitelist_); 283 http_auth_preferences_->set_server_whitelist(auth_server_whitelist_);
282 http_auth_preferences_->set_auth_android_negotiate_account_type( 284 http_auth_preferences_->set_auth_android_negotiate_account_type(
283 auth_android_negotiate_account_type_); 285 auth_android_negotiate_account_type_);
284 scoped_ptr<net::HttpAuthHandlerFactory> negotiate_factory( 286 return net::HttpAuthHandlerRegistryFactory::Create(
285 net::HttpAuthHandlerRegistryFactory::Create(http_auth_preferences_.get(), 287 http_auth_preferences_.get(), resolver);
286 resolver));
287 return negotiate_factory;
288 } 288 }
289 289
290 } // namespace android_webview 290 } // namespace android_webview
OLDNEW
« no previous file with comments | « android_webview/browser/net/aw_url_request_context_getter.h ('k') | net/url_request/url_request_context_builder.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698