Mojo: Refactor URLLoader interface.

This change simplifies the URLLoader interface, eliminating the URLLoaderClient interface. The URLResponse now includes the DataPipeConsumerHandle for the response body stream as well as information about a possible redirect response.

One nice thing about this change is that you can now pass around the URLResponsePtr without also having to pass around the DataPipeConsumerHandle for the response body stream.

This didn't enable me to eliminate ResponseDetails as I think that structure should include not only the URLResponse but also the URLLoader used to generate the response. (That enables the LaunchInstance to get destroyed immediately after delegating the response to the handler app as it no longer needs to stick around to keep the URLLoader alive.) The recipient of the URLLoader might be interested in calling the new QueryStatus method to find out more information about the URL load (e.g., Blink wants to know the encoded size of a response body, which may not be available at the time when response headers are received).

Review URL: https://codereview.chromium.org/373373002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@282535 0039d316-1c4b-4281-b951-d872f2087c98


CrOS-Libchrome-Original-Commit: 91025cc6f9b1a97696de8b6d59fd141579eb7b61
14 files changed
tree: 7e44a2b3766624176373087785736eac3c46f23d
  1. base/
  2. build/
  3. components/
  4. dbus/
  5. device/
  6. ipc/
  7. mojo/
  8. testing/
  9. third_party/
  10. ui/