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

Unified Diff: storage/browser/blob/blob_async_builder_host.h

Issue 1853333003: [BlobAsync] Faster shortcuttin, make renderer controller leaky & alive. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: comment Created 4 years, 8 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: storage/browser/blob/blob_async_builder_host.h
diff --git a/storage/browser/blob/blob_async_builder_host.h b/storage/browser/blob/blob_async_builder_host.h
index 0b7fff5f7ffbff1358272df7c29b1d6b83d1152f..10a1a5283d0949420cff8482a00be125e0cd6776 100644
--- a/storage/browser/blob/blob_async_builder_host.h
+++ b/storage/browser/blob/blob_async_builder_host.h
@@ -72,7 +72,8 @@ class STORAGE_EXPORT BlobAsyncBuilderHost {
const std::set<std::string>& referenced_blob_uuids,
BlobStorageContext* context);
- // This method begins the construction of the blob given the descriptions.
+ // This method begins the construction of the blob given the descriptions. The
+ // blob uuid MUST be building in this object.
// When we return:
// * DONE: The blob is finished transfering right away, and is now
// successfully saved in the context.
@@ -99,8 +100,8 @@ class STORAGE_EXPORT BlobAsyncBuilderHost {
// This removes the BlobBuildingState from our map and flags the blob as
// broken in the context. This can be called both from our own logic to cancel
- // the blob, or from the DispatcherHost (Renderer). If the blob isn't being
- // built then we do nothing.
+ // the blob, or from the DispatcherHost (Renderer). The blob MUST be being
+ // built in this builder.
// Note: if the blob isn't in the context (renderer dereferenced it before we
// finished constructing), then we don't bother touching the context.
void CancelBuildingBlob(const std::string& uuid,
@@ -112,6 +113,8 @@ class STORAGE_EXPORT BlobAsyncBuilderHost {
// are any references being held by anyone.
void CancelAll(BlobStorageContext* context);
+ bool IsEmpty() const { return async_blob_map_.empty(); }
+
size_t blob_building_count() const { return async_blob_map_.size(); }
bool IsBeingBuilt(const std::string& key) const {

Powered by Google App Engine
This is Rietveld 408576698