Index: blimp/engine/renderer/blob_channel_sender_proxy.cc |
diff --git a/blimp/engine/renderer/blob_channel_sender_proxy.cc b/blimp/engine/renderer/blob_channel_sender_proxy.cc |
index 1e8e7660a58a82d55bc6e17b648032d5dc8f2104..4c466abf5eaff0fb0c44538dd8e3db8031a13cad 100644 |
--- a/blimp/engine/renderer/blob_channel_sender_proxy.cc |
+++ b/blimp/engine/renderer/blob_channel_sender_proxy.cc |
@@ -4,6 +4,7 @@ |
#include "blimp/engine/renderer/blob_channel_sender_proxy.h" |
+#include <unordered_map> |
#include <utility> |
#include "blimp/common/blob_cache/id_util.h" |
@@ -61,13 +62,17 @@ mojo::ScopedSharedBufferHandle SharedMemoryBlob::CreateRemoteHandle() { |
} // namespace |
BlobChannelSenderProxy::BlobChannelSenderProxy() |
- : BlobChannelSenderProxy(GetConnectedBlobChannel()) {} |
+ : blob_channel_(GetConnectedBlobChannel()), weak_factory_(this) { |
+ blob_channel_->GetCachedBlobIds( |
+ base::Bind(&BlobChannelSenderProxy::OnGetCacheStateComplete, |
+ weak_factory_.GetWeakPtr())); |
+} |
BlobChannelSenderProxy::~BlobChannelSenderProxy() {} |
BlobChannelSenderProxy::BlobChannelSenderProxy( |
mojom::BlobChannelPtr blob_channel) |
- : blob_channel_(std::move(blob_channel)) {} |
+ : blob_channel_(std::move(blob_channel)), weak_factory_(this) {} |
// static |
std::unique_ptr<BlobChannelSenderProxy> BlobChannelSenderProxy::CreateForTest( |
@@ -110,5 +115,21 @@ void BlobChannelSenderProxy::DeliverBlob(const std::string& id) { |
blob_channel_->DeliverBlob(id); |
} |
+std::vector<BlobChannelSender::CacheStateEntry> |
+BlobChannelSenderProxy::GetCachedBlobIds() const { |
+ NOTREACHED(); |
+ return std::vector<BlobChannelSender::CacheStateEntry>(); |
+} |
+ |
+void BlobChannelSenderProxy::OnGetCacheStateComplete( |
+ const std::unordered_map<std::string, bool>& cache_state) { |
+ VLOG(1) << "Received cache state from browser (" << cache_state.size() |
+ << " items)"; |
+ replication_state_.clear(); |
+ for (const auto& next_item : cache_state) { |
+ replication_state_[next_item.first] = next_item.second; |
+ } |
+} |
+ |
} // namespace engine |
} // namespace blimp |