Index: content/child/webblobregistry_impl.h |
diff --git a/content/child/webblobregistry_impl.h b/content/child/webblobregistry_impl.h |
index e438baa2bdf96256a8f96e990d0207402d1ec33a..dc6712869c7fcaf3088d40e288014b5f404e2977 100644 |
--- a/content/child/webblobregistry_impl.h |
+++ b/content/child/webblobregistry_impl.h |
@@ -6,6 +6,7 @@ |
#define CONTENT_CHILD_WEBBLOBREGISTRY_IMPL_H_ |
#include <string> |
+#include <vector> |
#include "base/memory/ref_counted.h" |
#include "third_party/WebKit/public/platform/WebBlobRegistry.h" |
@@ -14,6 +15,10 @@ namespace blink { |
class WebThreadSafeData; |
} // namespace blink |
+namespace storage { |
+class DataElement; |
+} |
+ |
namespace content { |
class ThreadSafeSender; |
@@ -43,8 +48,19 @@ class WebBlobRegistryImpl : public blink::WebBlobRegistry { |
virtual void unregisterStreamURL(const blink::WebURL& url); |
private: |
- void SendDataForBlob(const std::string& uuid_str, |
- const blink::WebThreadSafeData& data); |
+ // Sends the data in the buffer as a blob item, then resets the buffer size. |
+ void FlushBlobItemBuffer(const std::string& uuid_str, |
+ storage::DataElement* data_buffer) const; |
+ |
+ // Adds the item to the consolidating buffer, flushing the buffer if needed. |
+ // If the item is too big for the buffer, it is sent as Sync messages in |
+ // shared memory instead. |
+ void BufferBlobData(const std::string& uuid_str, |
+ const blink::WebThreadSafeData& data, |
+ storage::DataElement* data_buffer); |
+ // Sends data that is larger than the threshold. |
+ void SendOversizedDataForBlob(const std::string& uuid_str, |
+ const blink::WebThreadSafeData& data); |
scoped_refptr<ThreadSafeSender> sender_; |
}; |