Index: cc/playback/display_list_raster_source.h |
diff --git a/cc/playback/display_list_raster_source.h b/cc/playback/display_list_raster_source.h |
index 8c06c8d68637dc5175b18bf8d93ee57ace1a8bc9..c1e83a3ee7d706346effe124bdc9c8c804325352 100644 |
--- a/cc/playback/display_list_raster_source.h |
+++ b/cc/playback/display_list_raster_source.h |
@@ -18,6 +18,7 @@ |
namespace cc { |
class DisplayItemList; |
class DrawImage; |
+class ImageDecodeController; |
class CC_EXPORT DisplayListRasterSource |
: public base::RefCountedThreadSafe<DisplayListRasterSource> { |
@@ -106,6 +107,10 @@ class CC_EXPORT DisplayListRasterSource |
scoped_refptr<DisplayListRasterSource> CreateCloneWithoutLCDText() const; |
+ // Image decode controller should be set once. Its lifetime has to exceed that |
+ // of the raster source, since the raster source will access it during raster. |
+ void SetImageDecodeController(ImageDecodeController* image_decode_controller); |
+ |
protected: |
friend class base::RefCountedThreadSafe<DisplayListRasterSource>; |
@@ -132,6 +137,10 @@ class CC_EXPORT DisplayListRasterSource |
// threads with multi-threaded Ganesh. Make this const or remove it. |
bool should_attempt_to_use_distance_field_text_; |
+ // In practice, this is only set once before raster begins, so it's ok with |
+ // respect to threading. |
+ ImageDecodeController* image_decode_controller_; |
+ |
private: |
// Called when analyzing a tile. We can use AnalysisCanvas as |
// SkPicture::AbortCallback, which allows us to early out from analysis. |