net: Reset UploadDataStream on HttpNetworkTransaction destruction

Make UploadDataStream::Reset public.
Call Reset() from HttpNetworkTransaction's dtor.
Add tests.

BUG=244725
TEST=net_unittests --gtest_filter="*HttpNetworkTransactionTest.CancelDuringInitRequestBody*"

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@226433 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/net/http/http_network_transaction.cc b/net/http/http_network_transaction.cc
index a63a2aa..9e24da8 100644
--- a/net/http/http_network_transaction.cc
+++ b/net/http/http_network_transaction.cc
@@ -163,6 +163,9 @@
       }
     }
   }
+
+  if (request_ && request_->upload_data_stream)
+    request_->upload_data_stream->Reset();  // Invalidate pending callbacks.
 }
 
 int HttpNetworkTransaction::Start(const HttpRequestInfo* request_info,