summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/platform/graphics/paint/geometry_mapper_transform_cache.h
diff options
context:
space:
mode:
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.h13
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_;