diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/platform/graphics/paint/geometry_mapper_transform_cache.h')
-rw-r--r-- | chromium/third_party/blink/renderer/platform/graphics/paint/geometry_mapper_transform_cache.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/chromium/third_party/blink/renderer/platform/graphics/paint/geometry_mapper_transform_cache.h b/chromium/third_party/blink/renderer/platform/graphics/paint/geometry_mapper_transform_cache.h index ec25d6d76cf..b722bbf64ab 100644 --- a/chromium/third_party/blink/renderer/platform/graphics/paint/geometry_mapper_transform_cache.h +++ b/chromium/third_party/blink/renderer/platform/graphics/paint/geometry_mapper_transform_cache.h @@ -71,6 +71,13 @@ class PLATFORM_EXPORT GeometryMapperTransformCache { else ApplyFromPlaneRoot(m); } + bool has_animation_to_screen() const { +#if DCHECK_IS_ON() + CheckScreenTransformUpdated(); +#endif + return UNLIKELY(screen_transform_) ? screen_transform_->has_animation + : has_animation_to_plane_root(); + } const TransformationMatrix& to_plane_root() const { DCHECK(plane_root_transform_); @@ -100,6 +107,10 @@ class PLATFORM_EXPORT GeometryMapperTransformCache { return UNLIKELY(plane_root_transform_) ? plane_root_transform_->plane_root : root_of_2d_translation(); } + bool has_animation_to_plane_root() const { + return UNLIKELY(plane_root_transform_) && + plane_root_transform_->has_animation; + } private: friend class GeometryMapperTransformCacheTest; @@ -180,6 +191,7 @@ class PLATFORM_EXPORT GeometryMapperTransformCache { TransformationMatrix to_plane_root; TransformationMatrix from_plane_root; const TransformPaintPropertyNode* plane_root; + bool has_animation; }; std::unique_ptr<PlaneRootTransform> plane_root_transform_; @@ -187,6 +199,7 @@ class PLATFORM_EXPORT GeometryMapperTransformCache { TransformationMatrix to_screen; TransformationMatrix projection_from_screen; bool projection_from_screen_is_valid; + bool has_animation; }; std::unique_ptr<ScreenTransform> screen_transform_; |