| 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 ac4a80ae0cc7e3398a9b16a03255398d42640394..73c7a7f50ac6c37b7bbba5a2ced37c99d53a6e66 100644
|
| --- a/cc/playback/display_list_raster_source.h
|
| +++ b/cc/playback/display_list_raster_source.h
|
| @@ -21,6 +21,7 @@
|
| namespace cc {
|
| class DisplayItemList;
|
| class DrawImage;
|
| +class ImageDecodeController;
|
|
|
| class CC_EXPORT DisplayListRasterSource
|
| : public base::RefCountedThreadSafe<DisplayListRasterSource> {
|
| @@ -102,6 +103,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>;
|
|
|
| @@ -128,6 +133,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.
|
|
|