Index: cc/quads/draw_quad.h |
diff --git a/cc/quads/draw_quad.h b/cc/quads/draw_quad.h |
index 0e26b6329f080e76b05a50488cdc720a3df87b39..e320c34c1b7955b6eb50a8cb873f8ab71c9f47f7 100644 |
--- a/cc/quads/draw_quad.h |
+++ b/cc/quads/draw_quad.h |
@@ -96,9 +96,6 @@ class CC_EXPORT DrawQuad { |
return !opaque_rect.Contains(visible_rect); |
} |
- typedef base::Callback<ResourceId(ResourceId)> ResourceIteratorCallback; |
- virtual void IterateResources(const ResourceIteratorCallback& callback) = 0; |
- |
// Is the left edge of this tile aligned with the originating layer's |
// left edge? |
bool IsLeftEdge() const { return !rect.x(); } |
@@ -127,6 +124,24 @@ class CC_EXPORT DrawQuad { |
void AsValueInto(base::trace_event::TracedValue* value) const; |
+ struct CC_EXPORT Resources { |
+ static const size_t kMaxResourceIdCount = 4; |
+ Resources(); |
+ |
+ ResourceId* begin() { return ids; } |
+ ResourceId* end() { |
+ DCHECK(IsCountValid()); |
+ return ids + count; |
+ } |
+ |
+ bool IsCountValid() const { return count <= kMaxResourceIdCount; } |
+ |
+ size_t count; |
+ ResourceId ids[kMaxResourceIdCount]; |
+ }; |
+ |
+ Resources resources; |
+ |
protected: |
DrawQuad(); |