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

Issue 2260623002: Race TCP connection to proxies with QUIC connections (Closed)

Created:
4 years, 4 months ago by tbansal1
Modified:
4 years, 3 months ago
CC:
chromium-reviews, cbentzel+watch_chromium.org, Zhongyi Shi
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Race TCP connections to proxies with QUIC connections After the default job finishes proxy resolution, it queries ProxyDelegate on whether the resolved proxy supports an alternative proxy server or not. If yes, a new job is started. This job is provided the alternative proxy server, and races with the main job. If the alternative proxy server is found to be broken, the ProxyDelegate is notified. Changes to DataReductionProxyDelegate will be in a subsequent CL. BUG=343579 Committed: https://crrev.com/c3308d79532cd022c3394d6f3b0773958307d2be Cr-Commit-Position: refs/heads/master@{#414884}

Patch Set 1 #

Total comments: 26

Patch Set 2 : Rebased, Addressed Ryan, Cherie comments #

Total comments: 25

Patch Set 3 : Addressed Cherie's comments #

Total comments: 10

Patch Set 4 : Addressed ryansturm and Cherie's comments #

Total comments: 4

Patch Set 5 : Changed ProxyDelegate functions to pure virtual #

Total comments: 2

Patch Set 6 : Rebased #

Total comments: 6

Patch Set 7 : Fixed failing test, addressed bengr comments #

Patch Set 8 : PS #

Patch Set 9 : Test fix #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1163 lines, -43 lines) Patch
M components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate.h View 1 2 3 4 1 chunk +6 lines, -0 lines 0 comments Download
M components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate.cc View 1 2 3 4 1 chunk +8 lines, -0 lines 0 comments Download
M net/base/proxy_delegate.h View 1 2 3 4 1 chunk +15 lines, -0 lines 0 comments Download
M net/base/test_proxy_delegate.h View 1 2 3 2 chunks +22 lines, -0 lines 0 comments Download
M net/base/test_proxy_delegate.cc View 1 2 3 2 chunks +19 lines, -1 line 0 comments Download
M net/http/http_stream_factory_impl.cc View 1 2 3 1 chunk +19 lines, -1 line 0 comments Download
M net/http/http_stream_factory_impl_job.h View 1 2 3 4 5 6 9 chunks +49 lines, -5 lines 0 comments Download
M net/http/http_stream_factory_impl_job.cc View 1 2 3 4 5 6 7 8 10 chunks +97 lines, -0 lines 0 comments Download
M net/http/http_stream_factory_impl_job_controller.h View 1 4 chunks +22 lines, -0 lines 0 comments Download
M net/http/http_stream_factory_impl_job_controller.cc View 1 2 3 5 chunks +113 lines, -0 lines 0 comments Download
M net/http/http_stream_factory_impl_job_controller_unittest.cc View 1 2 3 4 5 6 7 19 chunks +208 lines, -13 lines 0 comments Download
M net/http/http_stream_factory_impl_unittest.cc View 1 2 3 5 chunks +281 lines, -22 lines 0 comments Download
M net/http/http_stream_factory_test_util.h View 1 2 3 3 chunks +15 lines, -0 lines 0 comments Download
M net/http/http_stream_factory_test_util.cc View 1 2 3 3 chunks +25 lines, -1 line 0 comments Download
M net/proxy/proxy_service_unittest.cc View 1 2 3 4 2 chunks +12 lines, -0 lines 0 comments Download
M net/quic/chromium/quic_network_transaction_unittest.cc View 1 6 chunks +246 lines, -0 lines 0 comments Download
M net/websockets/websocket_end_to_end_test.cc View 1 2 3 4 1 chunk +6 lines, -0 lines 0 comments Download

Messages

Total messages: 72 (48 generated)
tbansal1
rch, bengr: ptal. The core changes are in net/http/http_stream_factory_impl_job.cc and net/http/http_stream_factory_impl_job_controller.cc. The rest of the ...
4 years, 4 months ago (2016-08-18 20:22:24 UTC) #5
Ryan Hamilton
+zhongyi: PTAL. Once you're happy, I'll dive in.
4 years, 4 months ago (2016-08-18 22:17:29 UTC) #7
tbansal1
On 2016/08/18 22:17:29, Ryan Hamilton wrote: > +zhongyi: PTAL. Once you're happy, I'll dive in. ...
4 years, 4 months ago (2016-08-18 22:20:07 UTC) #8
RyanSturm
https://codereview.chromium.org/2260623002/diff/1/net/base/proxy_delegate.h File net/base/proxy_delegate.h (right): https://codereview.chromium.org/2260623002/diff/1/net/base/proxy_delegate.h#newcode71 net/base/proxy_delegate.h:71: // GetAlternativeProxy is called after the proxy is resolved ...
4 years, 4 months ago (2016-08-19 19:03:23 UTC) #12
Zhongyi Shi
Looking good. I haven't look on the tests yet, let's work on the job controller ...
4 years, 4 months ago (2016-08-19 23:08:42 UTC) #13
tbansal1
Ryan, Cherie: PTAL. Thanks. https://codereview.chromium.org/2260623002/diff/1/net/base/proxy_delegate.h File net/base/proxy_delegate.h (right): https://codereview.chromium.org/2260623002/diff/1/net/base/proxy_delegate.h#newcode71 net/base/proxy_delegate.h:71: // GetAlternativeProxy is called after ...
4 years, 4 months ago (2016-08-20 01:53:39 UTC) #17
Zhongyi Shi
The tests looking good, the FailedAlternativeProxy might need more work after we figure out how ...
4 years, 4 months ago (2016-08-20 06:15:40 UTC) #20
tbansal1
ryansturm, zhongyi: ptal. Thanks! https://codereview.chromium.org/2260623002/diff/1/net/http/http_stream_factory_impl_job.h File net/http/http_stream_factory_impl_job.h (right): https://codereview.chromium.org/2260623002/diff/1/net/http/http_stream_factory_impl_job.h#newcode100 net/http/http_stream_factory_impl_job.h:100: // Invoked when |job| has ...
4 years, 4 months ago (2016-08-22 15:42:33 UTC) #22
RyanSturm
lgtm % 1 comment https://codereview.chromium.org/2260623002/diff/80001/net/http/http_stream_factory_impl_job_controller_unittest.cc File net/http/http_stream_factory_impl_job_controller_unittest.cc (right): https://codereview.chromium.org/2260623002/diff/80001/net/http/http_stream_factory_impl_job_controller_unittest.cc#newcode689 net/http/http_stream_factory_impl_job_controller_unittest.cc:689: // Verifies that the alternative ...
4 years, 4 months ago (2016-08-22 16:24:41 UTC) #23
Zhongyi Shi
Thanks for the patience. Almost there :) I am always a little picky on the ...
4 years, 4 months ago (2016-08-23 05:42:33 UTC) #24
tbansal1
Cherie: ptal. https://codereview.chromium.org/2260623002/diff/40001/net/http/http_stream_factory_impl_job.cc File net/http/http_stream_factory_impl_job.cc (right): https://codereview.chromium.org/2260623002/diff/40001/net/http/http_stream_factory_impl_job.cc#newcode1551 net/http/http_stream_factory_impl_job.cc:1551: !other_job_alternative_proxy_server_.is_valid()) { On 2016/08/23 05:42:33, Zhongyi Shi ...
4 years, 3 months ago (2016-08-23 20:56:41 UTC) #32
Zhongyi Shi
job controller (+unittests) lgtm. Sorry about the delay. Recommend rch@ to review the rest.
4 years, 3 months ago (2016-08-25 08:53:24 UTC) #33
tbansal1
rch: ptal. thanks.
4 years, 3 months ago (2016-08-25 18:00:34 UTC) #34
Ryan Hamilton
Looks great! One nit. https://codereview.chromium.org/2260623002/diff/200001/net/base/proxy_delegate.h File net/base/proxy_delegate.h (right): https://codereview.chromium.org/2260623002/diff/200001/net/base/proxy_delegate.h#newcode80 net/base/proxy_delegate.h:80: ProxyServer* alternative_proxy_server) const {} nit: ...
4 years, 3 months ago (2016-08-25 18:39:29 UTC) #35
tbansal1
https://codereview.chromium.org/2260623002/diff/200001/net/base/proxy_delegate.h File net/base/proxy_delegate.h (right): https://codereview.chromium.org/2260623002/diff/200001/net/base/proxy_delegate.h#newcode80 net/base/proxy_delegate.h:80: ProxyServer* alternative_proxy_server) const {} On 2016/08/25 18:39:28, Ryan Hamilton ...
4 years, 3 months ago (2016-08-25 18:42:02 UTC) #36
Ryan Hamilton
https://codereview.chromium.org/2260623002/diff/200001/net/base/proxy_delegate.h File net/base/proxy_delegate.h (right): https://codereview.chromium.org/2260623002/diff/200001/net/base/proxy_delegate.h#newcode80 net/base/proxy_delegate.h:80: ProxyServer* alternative_proxy_server) const {} On 2016/08/25 18:42:02, tbansal1 wrote: ...
4 years, 3 months ago (2016-08-25 18:50:26 UTC) #37
tbansal1
rch: ptal. thanks. https://codereview.chromium.org/2260623002/diff/200001/net/base/proxy_delegate.h File net/base/proxy_delegate.h (right): https://codereview.chromium.org/2260623002/diff/200001/net/base/proxy_delegate.h#newcode80 net/base/proxy_delegate.h:80: ProxyServer* alternative_proxy_server) const {} On 2016/08/25 ...
4 years, 3 months ago (2016-08-25 20:20:20 UTC) #38
Ryan Hamilton
lgtm! https://codereview.chromium.org/2260623002/diff/220001/components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate.cc File components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate.cc (right): https://codereview.chromium.org/2260623002/diff/220001/components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate.cc#newcode101 components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate.cc:101: net::ProxyServer* alternative_proxy_server) const {} Presumably you're doing to ...
4 years, 3 months ago (2016-08-25 21:09:34 UTC) #39
tbansal1
https://codereview.chromium.org/2260623002/diff/220001/components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate.cc File components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate.cc (right): https://codereview.chromium.org/2260623002/diff/220001/components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate.cc#newcode101 components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate.cc:101: net::ProxyServer* alternative_proxy_server) const {} On 2016/08/25 21:09:34, Ryan Hamilton ...
4 years, 3 months ago (2016-08-25 21:12:18 UTC) #40
bengr
lgtm https://codereview.chromium.org/2260623002/diff/240001/components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate.h File components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate.h (right): https://codereview.chromium.org/2260623002/diff/240001/components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate.h#newcode68 components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate.h:68: void OnAlternativeProxyBroken( The term "Bad" is used in ...
4 years, 3 months ago (2016-08-26 17:34:11 UTC) #45
tbansal1
https://codereview.chromium.org/2260623002/diff/240001/components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate.h File components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate.h (right): https://codereview.chromium.org/2260623002/diff/240001/components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate.h#newcode68 components/data_reduction_proxy/core/browser/data_reduction_proxy_delegate.h:68: void OnAlternativeProxyBroken( On 2016/08/26 17:34:10, bengr wrote: > The ...
4 years, 3 months ago (2016-08-26 17:44:48 UTC) #48
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2260623002/360001
4 years, 3 months ago (2016-08-27 05:13:46 UTC) #68
commit-bot: I haz the power
Committed patchset #9 (id:360001)
4 years, 3 months ago (2016-08-27 10:26:02 UTC) #70
commit-bot: I haz the power
4 years, 3 months ago (2016-08-27 10:28:52 UTC) #72
Message was sent while issue was closed.
Patchset 9 (id:??) landed as
https://crrev.com/c3308d79532cd022c3394d6f3b0773958307d2be
Cr-Commit-Position: refs/heads/master@{#414884}

Powered by Google App Engine
This is Rietveld 408576698