diff options
author | kinuko <kinuko@chromium.org> | 2016-02-03 14:54:37 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-02-03 22:55:42 +0000 |
commit | ccbf2c957e8f11cb640b653459e252c584a11901 (patch) | |
tree | 5c0289745fe111eabea81d1ab88fee959e82eff8 /WATCHLISTS | |
parent | 1cd95ec7f2d52a8152aec6c871b0e9a805eef1b6 (diff) | |
download | chromium_src-ccbf2c957e8f11cb640b653459e252c584a11901.zip chromium_src-ccbf2c957e8f11cb640b653459e252c584a11901.tar.gz chromium_src-ccbf2c957e8f11cb640b653459e252c584a11901.tar.bz2 |
ResourceDispatcher: clarify RequestPeer's ownership
https://goo.gl/WUyPxQ has more detailed problem description and
rough design for this change. In short, this patch does:
- Let each RequestPeer owned by the module that is talking to the peer, i.e.
ResourceDispatcher owns the first RequestPeer in the chain and each
RequestPeer owns its next peer in the chain.
- Introduce WebURLLoaderImpl::RequestPeerImpl as a (non-refcounted) RequestPeer.
instance. RequestPeerImpl owns a ref to WebURLLoaderImpl::Context and it's
solely owned by ResourceDispatcher (or its previous peer).
- Remove self-protect refptr's in the code but instead make PendingRequestInfo
always get deleted asyncly, so that it is always guaranteed that it is kept
alive while the incoming message is being handled.
If this looks fine I'll remove
RequestPeer::OnReceivedCompletedResponse in a follow-up patch
(and add a new test for the new code)
BUG=507170
TEST=existing tests
Review URL: https://codereview.chromium.org/1657483002
Cr-Commit-Position: refs/heads/master@{#373373}
Diffstat (limited to 'WATCHLISTS')
0 files changed, 0 insertions, 0 deletions