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

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

Issue 759823003: Introduce StreamRegistry::NotifyReaderAbortedBeforeRegistration() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: AbortPendingStream Created 6 years 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
« no previous file with comments | « content/browser/streams/stream_registry.h ('k') | content/browser/streams/stream_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/streams/stream_registry.cc
diff --git a/content/browser/streams/stream_registry.cc b/content/browser/streams/stream_registry.cc
index d2321c874b8e6a5a0746d4f1ccc6af62f8b58ffb..63c413b1632983c8f5fac85eb380c019c0c614d6 100644
--- a/content/browser/streams/stream_registry.cc
+++ b/content/browser/streams/stream_registry.cc
@@ -23,15 +23,21 @@ StreamRegistry::~StreamRegistry() {
DCHECK(register_observers_.empty());
}
-void StreamRegistry::RegisterStream(scoped_refptr<Stream> stream) {
+void StreamRegistry::RegisterStream(Stream* stream) {
DCHECK(CalledOnValidThread());
- DCHECK(stream.get());
+ DCHECK(stream);
DCHECK(!stream->url().is_empty());
+
+ auto aborted_url_itr = reader_aborted_urls_.find(stream->url());
+ if (aborted_url_itr != reader_aborted_urls_.end()) {
+ reader_aborted_urls_.erase(aborted_url_itr);
+ return;
+ }
streams_[stream->url()] = stream;
auto itr = register_observers_.find(stream->url());
if (itr != register_observers_.end())
- itr->second->OnStreamRegistered(stream.get());
+ itr->second->OnStreamRegistered(stream);
}
scoped_refptr<Stream> StreamRegistry::GetStream(const GURL& url) {
@@ -107,5 +113,9 @@ void StreamRegistry::RemoveRegisterObserver(const GURL& url) {
register_observers_.erase(url);
}
+void StreamRegistry::AbortPendingStream(const GURL& url) {
+ DCHECK(CalledOnValidThread());
+ reader_aborted_urls_.insert(url);
+}
} // namespace content
« no previous file with comments | « content/browser/streams/stream_registry.h ('k') | content/browser/streams/stream_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698