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

Issue 2298823002: Resetting the HttpRequestInfo pointers in HttpNetworkTransaction and streams (Closed)

Created:
4 years, 3 months ago by shivanisha
Modified:
4 years, 2 months ago
CC:
Bryan McQuade, cbentzel+watch_chromium.org, chromium-reviews, jkarlin
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Resetting the HttpRequestInfo pointers in HttpNetworkTransaction and the underlying streams. This is being done to allow sharing of HttpNetworkTransaction across various HttpCache::Transactions which might involve the network transaction and streams to outlive the request info's owner HttpRequestInfo. This approach is taken instead of making a copy of request info because in addition to making the memory footprint larger (headers could be couple of thousands Kilobytes), it does not seem right to have a copy of a request info whose URLRequestHttpJob does not exist anymore. Also HttpRequestInfo contains a pointer to the upload data stream which cannot be copied and having its pointer around after its owner URLRequest has died is incorrect. BUG=472740 Committed: https://crrev.com/0b44085daafa86fe2e6cb11b369c3120082af8dc Cr-Commit-Position: refs/heads/master@{#425974}

Patch Set 1 #

Patch Set 2 : Initial patch #

Patch Set 3 : Initial patch #

Patch Set 4 : Initial patch #

Patch Set 5 : Initial patch #

Patch Set 6 : Initial patch #

Total comments: 20

Patch Set 7 : (Intermediate patch-Ignore) Removed GetUploadProgress plumbing and incorporated other feedback. #

Patch Set 8 : (Intermediate patch-Ignore) Rebased, removed Upload progress plumbing, incorporated other feedback. #

Patch Set 9 : (Intermediate patch-Ignore) Rebased, removed Upload progress plumbing, incorporated other feedback. #

Patch Set 10 : (Intermediate patch-Ignore) rebased, removed upload progress plumbing, incorporated other feedback. #

Patch Set 11 : (Intermediate patch-Ignore) Rebased, Reviewed upload progress plumbing and other feedback. #

Patch Set 12 : (Intermediate patch-Ignore) Rebased, Removed upload progress plumbing and other feedback. #

Patch Set 13 : (Intermediate patch-Ignore) Rebased, Removed Upload Progress plumbing, feedback #

Patch Set 14 : Rebased, removed upload progress plumbing, feedback. (Rebased till refs/heads/master@{#417381}) #

Total comments: 16

Patch Set 15 : Feedback incorporated and Upload progress plumbing removal moved to another CL #

Patch Set 16 : Rebased till refs/heads/master@{#425377} #

Unified diffs Side-by-side diffs Delta from patch set Stats (+66 lines, -20 lines) Patch
M net/http/http_basic_state.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +3 lines, -1 line 0 comments Download
M net/http/http_basic_state.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 3 chunks +7 lines, -9 lines 0 comments Download
M net/http/http_network_transaction.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +5 lines, -0 lines 0 comments Download
M net/http/http_network_transaction.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 4 chunks +14 lines, -6 lines 0 comments Download
M net/http/http_stream.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +3 lines, -1 line 0 comments Download
M net/http/http_stream_parser.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +1 line, -1 line 0 comments Download
M net/http/http_stream_parser.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +6 lines, -0 lines 0 comments Download
M net/http/http_transaction.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +4 lines, -0 lines 0 comments Download
M net/quic/chromium/quic_http_stream.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +2 lines, -0 lines 0 comments Download
M net/quic/chromium/quic_http_stream.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +9 lines, -1 line 0 comments Download
M net/spdy/spdy_http_stream.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +3 lines, -0 lines 0 comments Download
M net/spdy/spdy_http_stream.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +9 lines, -1 line 0 comments Download

Messages

Total messages: 92 (68 generated)
shivanisha
Hi Matt, Randy, Please take a look at this CL. This is a pre-requisite for ...
4 years, 3 months ago (2016-08-31 20:51:41 UTC) #20
mmenke
https://codereview.chromium.org/2298823002/diff/90001/net/http/http_basic_state.h File net/http/http_basic_state.h (right): https://codereview.chromium.org/2298823002/diff/90001/net/http/http_basic_state.h#newcode68 net/http/http_basic_state.h:68: std::string request_method_; Why do we need these? Generating the ...
4 years, 3 months ago (2016-08-31 21:57:59 UTC) #21
Randy Smith (Not in Mondays)
Initial comments. My biggest concern is the possible conflict in the requirements for the interface ...
4 years, 3 months ago (2016-09-01 20:18:31 UTC) #24
shivanisha
https://codereview.chromium.org/2298823002/diff/90001/net/http/http_network_transaction.h File net/http/http_network_transaction.h (right): https://codereview.chromium.org/2298823002/diff/90001/net/http/http_network_transaction.h#newcode51 net/http/http_network_transaction.h:51: : public HttpTransaction, On 2016/09/01 at 20:18:31, Randy Smith ...
4 years, 3 months ago (2016-09-01 20:30:59 UTC) #25
shivanisha
https://codereview.chromium.org/2298823002/diff/90001/net/spdy/spdy_http_stream.cc File net/spdy/spdy_http_stream.cc (right): https://codereview.chromium.org/2298823002/diff/90001/net/spdy/spdy_http_stream.cc#newcode103 net/spdy/spdy_http_stream.cc:103: return upload_progress_; On 2016/09/01 at 20:30:59, shivanisha wrote: > ...
4 years, 3 months ago (2016-09-01 20:32:12 UTC) #26
mmenke
On 2016/09/01 20:32:12, shivanisha wrote: > https://codereview.chromium.org/2298823002/diff/90001/net/spdy/spdy_http_stream.cc > File net/spdy/spdy_http_stream.cc (right): > > https://codereview.chromium.org/2298823002/diff/90001/net/spdy/spdy_http_stream.cc#newcode103 > ...
4 years, 3 months ago (2016-09-01 20:34:39 UTC) #27
Randy Smith (Not in Mondays)
https://codereview.chromium.org/2298823002/diff/90001/net/http/http_network_transaction.h File net/http/http_network_transaction.h (right): https://codereview.chromium.org/2298823002/diff/90001/net/http/http_network_transaction.h#newcode51 net/http/http_network_transaction.h:51: : public HttpTransaction, On 2016/09/01 20:30:59, shivanisha wrote: > ...
4 years, 3 months ago (2016-09-02 16:44:05 UTC) #28
shivanisha
On 2016/09/02 at 16:44:05, rdsmith wrote: > https://codereview.chromium.org/2298823002/diff/90001/net/http/http_network_transaction.h > File net/http/http_network_transaction.h (right): > > https://codereview.chromium.org/2298823002/diff/90001/net/http/http_network_transaction.h#newcode51 ...
4 years, 3 months ago (2016-09-08 20:37:25 UTC) #49
shivanisha
https://codereview.chromium.org/2298823002/diff/90001/net/http/http_basic_state.h File net/http/http_basic_state.h (right): https://codereview.chromium.org/2298823002/diff/90001/net/http/http_basic_state.h#newcode68 net/http/http_basic_state.h:68: std::string request_method_; On 2016/08/31 at 21:57:59, mmenke wrote: > ...
4 years, 3 months ago (2016-09-08 20:43:54 UTC) #50
shivanisha
On 2016/09/08 at 20:37:25, shivanisha wrote: > On 2016/09/02 at 16:44:05, rdsmith wrote: > > ...
4 years, 3 months ago (2016-09-09 15:39:37 UTC) #51
Randy Smith (Not in Mondays)
Any chance we can do the upload progress plumbing in a separate CL?
4 years, 3 months ago (2016-09-09 16:51:16 UTC) #52
shivanisha
On 2016/09/09 at 16:51:16, rdsmith wrote: > Any chance we can do the upload progress ...
4 years, 3 months ago (2016-09-09 16:56:46 UTC) #53
shivanisha
On 2016/09/09 at 16:56:46, shivanisha wrote: > On 2016/09/09 at 16:51:16, rdsmith wrote: > > ...
4 years, 3 months ago (2016-09-09 16:58:26 UTC) #54
shivanisha
On 2016/09/09 at 16:58:26, shivanisha wrote: > On 2016/09/09 at 16:56:46, shivanisha wrote: > > ...
4 years, 3 months ago (2016-09-09 17:02:30 UTC) #55
Randy Smith (Not in Mondays)
On 2016/09/09 16:56:46, shivanisha wrote: > On 2016/09/09 at 16:51:16, rdsmith wrote: > > Any ...
4 years, 3 months ago (2016-09-09 17:07:53 UTC) #56
shivanisha
On 2016/09/09 at 17:02:30, shivanisha wrote: > On 2016/09/09 at 16:58:26, shivanisha wrote: > > ...
4 years, 3 months ago (2016-09-09 17:22:19 UTC) #57
Randy Smith (Not in Mondays)
I'm happy with the request_info reset logic. I need to grok the upload progress plumbing ...
4 years, 3 months ago (2016-09-09 17:28:24 UTC) #58
Randy Smith (Not in Mondays)
Still LGTM. (Shivani and I had an offline discussion and concluded that the upload progress ...
4 years, 3 months ago (2016-09-09 20:56:43 UTC) #61
mmenke
I'll defer to Randy here.
4 years, 3 months ago (2016-09-09 21:00:16 UTC) #62
shivanisha
Thanks for the review! Incorporated the latest feedback. https://codereview.chromium.org/2298823002/diff/250001/content/browser/loader/resource_dispatcher_host_unittest.cc File content/browser/loader/resource_dispatcher_host_unittest.cc (right): https://codereview.chromium.org/2298823002/diff/250001/content/browser/loader/resource_dispatcher_host_unittest.cc#newcode904 content/browser/loader/resource_dispatcher_host_unittest.cc:904: } ...
4 years, 3 months ago (2016-09-13 19:58:34 UTC) #75
Randy Smith (Not in Mondays)
Still LGTM. Thanks!
4 years, 3 months ago (2016-09-13 22:23:53 UTC) #78
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/2298823002/350001
4 years, 2 months ago (2016-10-18 14:15:21 UTC) #89
commit-bot: I haz the power
Committed patchset #16 (id:350001)
4 years, 2 months ago (2016-10-18 15:48:42 UTC) #90
commit-bot: I haz the power
4 years, 2 months ago (2016-10-18 15:51:19 UTC) #92
Message was sent while issue was closed.
Patchset 16 (id:??) landed as
https://crrev.com/0b44085daafa86fe2e6cb11b369c3120082af8dc
Cr-Commit-Position: refs/heads/master@{#425974}

Powered by Google App Engine
This is Rietveld 408576698