Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(346)

Unified Diff: third_party/WebKit/Source/platform/graphics/paint/TransformPaintPropertyNode.h

Issue 2729243002: Improve performance of GeometryMapper cache. (Closed)
Patch Set: none Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/WebKit/Source/platform/graphics/paint/GeometryMapperTransformCache.cpp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Source/platform/graphics/paint/TransformPaintPropertyNode.h
diff --git a/third_party/WebKit/Source/platform/graphics/paint/TransformPaintPropertyNode.h b/third_party/WebKit/Source/platform/graphics/paint/TransformPaintPropertyNode.h
index 76844fb8d94561ee2542d86cc923ad7a799f78c9..691c56edcb58e1f6644da16e81a5e662cb1163b1 100644
--- a/third_party/WebKit/Source/platform/graphics/paint/TransformPaintPropertyNode.h
+++ b/third_party/WebKit/Source/platform/graphics/paint/TransformPaintPropertyNode.h
@@ -9,6 +9,7 @@
#include "platform/geometry/FloatPoint3D.h"
#include "platform/graphics/CompositingReasons.h"
#include "platform/graphics/CompositorElementId.h"
+#include "platform/graphics/paint/GeometryMapperTransformCache.h"
#include "platform/graphics/paint/ScrollPaintPropertyNode.h"
#include "platform/transforms/TransformationMatrix.h"
#include "wtf/PassRefPtr.h"
@@ -207,6 +208,20 @@ class PLATFORM_EXPORT TransformPaintPropertyNode
m_compositorElementId(compositorElementId),
m_scroll(scroll) {}
+ // For access to getTransformCache() and setCachedTransform.
+ friend class GeometryMapper;
+ friend class GeometryMapperTest;
+
+ GeometryMapperTransformCache& getTransformCache() const {
+ return const_cast<TransformPaintPropertyNode*>(this)->getTransformCache();
+ }
+
+ GeometryMapperTransformCache& getTransformCache() {
+ if (!m_geometryMapperTransformCache)
+ m_geometryMapperTransformCache.reset(new GeometryMapperTransformCache());
+ return *m_geometryMapperTransformCache.get();
+ }
+
RefPtr<const TransformPaintPropertyNode> m_parent;
TransformationMatrix m_matrix;
FloatPoint3D m_origin;
@@ -215,6 +230,8 @@ class PLATFORM_EXPORT TransformPaintPropertyNode
CompositingReasons m_directCompositingReasons;
CompositorElementId m_compositorElementId;
RefPtr<ScrollPaintPropertyNode> m_scroll;
+
+ std::unique_ptr<GeometryMapperTransformCache> m_geometryMapperTransformCache;
};
// Redeclared here to avoid ODR issues.
« no previous file with comments | « third_party/WebKit/Source/platform/graphics/paint/GeometryMapperTransformCache.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698