| Index: cc/playback/recording_source.h
|
| diff --git a/cc/playback/recording_source.h b/cc/playback/recording_source.h
|
| index 36d0511d358ab2662128f4768900e722e9170d83..b917aaae54a10d3d7d8e48bfe3cedcfe3193846e 100644
|
| --- a/cc/playback/recording_source.h
|
| +++ b/cc/playback/recording_source.h
|
| @@ -17,11 +17,17 @@
|
| #include "ui/gfx/geometry/rect.h"
|
| #include "ui/gfx/geometry/size.h"
|
|
|
| -namespace cc {
|
| +namespace {
|
|
|
| -namespace proto {
|
| -class RecordingSource;
|
| -} // namespace proto
|
| +#ifdef NDEBUG
|
| +const bool kDefaultClearCanvasSetting = false;
|
| +#else
|
| +const bool kDefaultClearCanvasSetting = true;
|
| +#endif
|
| +
|
| +} // namespace
|
| +
|
| +namespace cc {
|
|
|
| class ClientPictureCache;
|
| class ContentLayerClient;
|
| @@ -29,6 +35,47 @@ class DisplayItemList;
|
| class RasterSource;
|
| class Region;
|
|
|
| +struct PictureLayerData {
|
| + PictureLayerData();
|
| + ~PictureLayerData();
|
| +
|
| + gfx::Size size;
|
| + int slow_down_raster_scale_factor_for_debug = 0;
|
| + bool generate_discardable_images_metadata = false;
|
| + bool requires_clear = false;
|
| + bool is_solid_color = false;
|
| + bool clear_canvas_with_debug_color = kDefaultClearCanvasSetting;
|
| + SkColor solid_color = SK_ColorTRANSPARENT;
|
| + SkColor background_color = SK_ColorTRANSPARENT;
|
| +
|
| + void reset() {
|
| + slow_down_raster_scale_factor_for_debug = 0;
|
| + generate_discardable_images_metadata = false;
|
| + requires_clear = false;
|
| + is_solid_color = false;
|
| + clear_canvas_with_debug_color = kDefaultClearCanvasSetting;
|
| + solid_color = SK_ColorTRANSPARENT;
|
| + background_color = SK_ColorTRANSPARENT;
|
| + }
|
| +};
|
| +
|
| +// Encapsulates all data received from the ContentLayerClient.
|
| +struct ContentLayerClientData {
|
| + ContentLayerClientData();
|
| + ContentLayerClientData(const ContentLayerClientData&);
|
| + ~ContentLayerClientData();
|
| +
|
| + gfx::Rect recorded_viewport;
|
| + scoped_refptr<DisplayItemList> display_list;
|
| + size_t painter_reported_memory_usage = 0;
|
| +
|
| + void reset() { painter_reported_memory_usage = 0; }
|
| +};
|
| +
|
| +namespace proto {
|
| +class RecordingSource;
|
| +} // namespace proto
|
| +
|
| class CC_EXPORT RecordingSource {
|
| public:
|
| // TODO(schenney) Remove RECORD_WITH_SK_NULL_CANVAS when we no longer
|
| @@ -43,40 +90,15 @@ class CC_EXPORT RecordingSource {
|
| RECORDING_MODE_COUNT, // Must be the last entry.
|
| };
|
|
|
| - RecordingSource();
|
| + RecordingSource(const PictureLayerData& plp_data,
|
| + const ContentLayerClientData& clc_data);
|
| virtual ~RecordingSource();
|
|
|
| - void ToProtobuf(proto::RecordingSource* proto) const;
|
| - void FromProtobuf(const proto::RecordingSource& proto,
|
| - ClientPictureCache* client_picture_cache,
|
| - std::vector<uint32_t>* used_engine_picture_ids);
|
| -
|
| - bool UpdateAndExpandInvalidation(ContentLayerClient* painter,
|
| - Region* invalidation,
|
| - const gfx::Size& layer_size,
|
| - int frame_number,
|
| - RecordingMode recording_mode);
|
| - gfx::Size GetSize() const;
|
| - void SetEmptyBounds();
|
| - void SetSlowdownRasterScaleFactor(int factor);
|
| - void SetGenerateDiscardableImagesMetadata(bool generate_metadata);
|
| - void SetBackgroundColor(SkColor background_color);
|
| - void SetRequiresClear(bool requires_clear);
|
| -
|
| - void SetNeedsDisplayRect(const gfx::Rect& layer_rect);
|
| -
|
| // These functions are virtual for testing.
|
| virtual scoped_refptr<RasterSource> CreateRasterSource(
|
| bool can_use_lcd_text) const;
|
| - virtual bool IsSuitableForGpuRasterization() const;
|
| -
|
| - gfx::Rect recorded_viewport() const { return recorded_viewport_; }
|
| -
|
| - const DisplayItemList* GetDisplayItemList();
|
|
|
| protected:
|
| - void Clear();
|
| -
|
| gfx::Rect recorded_viewport_;
|
| gfx::Size size_;
|
| int slow_down_raster_scale_factor_for_debug_;
|
| @@ -91,17 +113,8 @@ class CC_EXPORT RecordingSource {
|
| size_t painter_reported_memory_usage_;
|
|
|
| private:
|
| - void UpdateInvalidationForNewViewport(const gfx::Rect& old_recorded_viewport,
|
| - const gfx::Rect& new_recorded_viewport,
|
| - Region* invalidation);
|
| - void FinishDisplayItemListUpdate();
|
| -
|
| friend class RasterSource;
|
|
|
| - void DetermineIfSolidColor();
|
| -
|
| - InvalidationRegion invalidation_;
|
| -
|
| DISALLOW_COPY_AND_ASSIGN(RecordingSource);
|
| };
|
|
|
|
|