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

Unified Diff: content/browser/streams/stream_handle_impl.cc

Issue 281513003: Implement chrome.streamsPrivate.abort() extensions function (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/streams/stream_handle_impl.cc
diff --git a/content/browser/streams/stream_handle_impl.cc b/content/browser/streams/stream_handle_impl.cc
index d13bdc6a710ec28d85d7ca2cfbc2e38ad2288e06..6ff49621b57f10744cc10fe875906da362bc97ca 100644
--- a/content/browser/streams/stream_handle_impl.cc
+++ b/content/browser/streams/stream_handle_impl.cc
@@ -12,6 +12,15 @@
namespace content {
+namespace {
+
+void RunCloseListeners(const std::vector<base::Closure>& close_listeners) {
+ for (size_t i = 0; i < close_listeners.size(); ++i)
+ close_listeners[i].Run();
+}
+
+} // namespace
+
StreamHandleImpl::StreamHandleImpl(
const base::WeakPtr<Stream>& stream,
const GURL& original_url,
@@ -25,8 +34,9 @@ StreamHandleImpl::StreamHandleImpl(
stream_message_loop_(base::MessageLoopProxy::current().get()) {}
StreamHandleImpl::~StreamHandleImpl() {
- stream_message_loop_->PostTask(FROM_HERE,
- base::Bind(&Stream::CloseHandle, stream_));
+ stream_message_loop_->PostTaskAndReply(FROM_HERE,
+ base::Bind(&Stream::CloseHandle, stream_),
+ base::Bind(&RunCloseListeners, close_listeners_));
}
const GURL& StreamHandleImpl::GetURL() {
@@ -45,4 +55,8 @@ scoped_refptr<net::HttpResponseHeaders> StreamHandleImpl::GetResponseHeaders() {
return response_headers_;
}
+void StreamHandleImpl::AddCloseListener(const base::Closure& callback) {
+ close_listeners_.push_back(callback);
+}
+
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698