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

Side by Side Diff: net/http/http_stream_factory_impl_job.cc

Issue 332313003: Add Finch experiment for selectively bypassing proxies. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: callback design (not yet done) Created 6 years, 6 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 (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 "net/http/http_stream_factory_impl_job.h" 5 #include "net/http/http_stream_factory_impl_job.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 643 matching lines...) Expand 10 before | Expand all | Expand 10 after
654 DCHECK(!pac_request_); 654 DCHECK(!pac_request_);
655 655
656 next_state_ = STATE_RESOLVE_PROXY_COMPLETE; 656 next_state_ = STATE_RESOLVE_PROXY_COMPLETE;
657 657
658 if (request_info_.load_flags & LOAD_BYPASS_PROXY) { 658 if (request_info_.load_flags & LOAD_BYPASS_PROXY) {
659 proxy_info_.UseDirect(); 659 proxy_info_.UseDirect();
660 return OK; 660 return OK;
661 } 661 }
662 662
663 return session_->proxy_service()->ResolveProxy( 663 return session_->proxy_service()->ResolveProxy(
664 request_info_.url, &proxy_info_, io_callback_, &pac_request_, net_log_); 664 request_info_.url, request_info_.load_flags, &proxy_info_, io_callback_,
665 &pac_request_, net_log_);
665 } 666 }
666 667
667 int HttpStreamFactoryImpl::Job::DoResolveProxyComplete(int result) { 668 int HttpStreamFactoryImpl::Job::DoResolveProxyComplete(int result) {
668 pac_request_ = NULL; 669 pac_request_ = NULL;
669 670
670 if (result == OK) { 671 if (result == OK) {
671 // Remove unsupported proxies from the list. 672 // Remove unsupported proxies from the list.
672 proxy_info_.RemoveProxiesWithoutScheme( 673 proxy_info_.RemoveProxiesWithoutScheme(
673 ProxyServer::SCHEME_DIRECT | ProxyServer::SCHEME_QUIC | 674 ProxyServer::SCHEME_DIRECT | ProxyServer::SCHEME_QUIC |
674 ProxyServer::SCHEME_HTTP | ProxyServer::SCHEME_HTTPS | 675 ProxyServer::SCHEME_HTTP | ProxyServer::SCHEME_HTTPS |
(...skipping 798 matching lines...) Expand 10 before | Expand all | Expand 10 after
1473 1474
1474 if (job_status_ == STATUS_SUCCEEDED && other_job_status_ == STATUS_BROKEN) { 1475 if (job_status_ == STATUS_SUCCEEDED && other_job_status_ == STATUS_BROKEN) {
1475 HistogramBrokenAlternateProtocolLocation( 1476 HistogramBrokenAlternateProtocolLocation(
1476 BROKEN_ALTERNATE_PROTOCOL_LOCATION_HTTP_STREAM_FACTORY_IMPL_JOB_MAIN); 1477 BROKEN_ALTERNATE_PROTOCOL_LOCATION_HTTP_STREAM_FACTORY_IMPL_JOB_MAIN);
1477 session_->http_server_properties()->SetBrokenAlternateProtocol( 1478 session_->http_server_properties()->SetBrokenAlternateProtocol(
1478 HostPortPair::FromURL(request_info_.url)); 1479 HostPortPair::FromURL(request_info_.url));
1479 } 1480 }
1480 } 1481 }
1481 1482
1482 } // namespace net 1483 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698