Index: cc/surfaces/surface_aggregator.cc |
diff --git a/cc/surfaces/surface_aggregator.cc b/cc/surfaces/surface_aggregator.cc |
index b4123d01d48c3c376d6f7a19dd2ccd741c4dcab7..1f645f238c2f73ec65f3d585767adaf4c9bf95ac 100644 |
--- a/cc/surfaces/surface_aggregator.cc |
+++ b/cc/surfaces/surface_aggregator.cc |
@@ -170,6 +170,15 @@ bool SurfaceAggregator::ValidateResources( |
provider_->ReceiveFromChild(child_id, frame_data->resource_list); |
ResourceProvider::ResourceIdSet referenced_resources; |
+ size_t reserve_size = |
+ std::max(static_cast<size_t>(1), frame_data->resource_list.size()); |
danakj
2015/04/25 17:16:44
why the Max 1?
|
+#if defined(COMPILER_MSVC) |
+ referenced_resources.reserve(reserve_size); |
+#elif defined(COMPILER_GCC) |
+ // Pre-standard hash-tables only implement resize, which behaves similarly |
danakj
2015/04/25 17:16:44
wow really? I'm surprised this is all we have in o
|
+ // to reserve for these keys. |
+ referenced_resources.resize(reserve_size); |
+#endif |
bool invalid_frame = false; |
DrawQuad::ResourceIteratorCallback remap = |