| 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.
|
|
|