--- chromium-60.0.3112.101/third_party/skia/src/utils/SkShadowUtils.cpp.mga5 2017-08-14 21:06:44.000000000 +0200 +++ chromium-60.0.3112.101/third_party/skia/src/utils/SkShadowUtils.cpp 2017-08-26 22:29:16.650000000 +0200 @@ -262,33 +262,8 @@ * the FindVisitor and let the cache destroy the Rec. We'll update the tessellations and then add * a new Rec with an adjusted size for any deletions/additions. */ -class CachedTessellations : public SkRefCnt { -public: - size_t size() const { return fAmbientSet.size() + fSpotSet.size(); } - - sk_sp<SkVertices> find(const AmbientVerticesFactory& ambient, const SkMatrix& matrix, - SkVector* translate) const { - return fAmbientSet.find(ambient, matrix, translate); - } - - sk_sp<SkVertices> add(const SkPath& devPath, const AmbientVerticesFactory& ambient, - const SkMatrix& matrix, SkVector* translate) { - return fAmbientSet.add(devPath, ambient, matrix, translate); - } - - sk_sp<SkVertices> find(const SpotVerticesFactory& spot, const SkMatrix& matrix, - SkVector* translate) const { - return fSpotSet.find(spot, matrix, translate); - } - - sk_sp<SkVertices> add(const SkPath& devPath, const SpotVerticesFactory& spot, - const SkMatrix& matrix, SkVector* translate) { - return fSpotSet.add(devPath, spot, matrix, translate); - } - -private: template <typename FACTORY, int MAX_ENTRIES> - class Set { + class CachedTessellationsSet { public: size_t size() const { return fSize; } @@ -345,8 +320,32 @@ SkRandom fRandom; }; - Set<AmbientVerticesFactory, 4> fAmbientSet; - Set<SpotVerticesFactory, 4> fSpotSet; +class CachedTessellations : public SkRefCnt { +public: + size_t size() const { return fAmbientSet.size() + fSpotSet.size(); } + + sk_sp<SkVertices> find(const AmbientVerticesFactory& ambient, const SkMatrix& matrix, + SkVector* translate) const { + return fAmbientSet.find(ambient, matrix, translate); + } + + sk_sp<SkVertices> add(const SkPath& devPath, const AmbientVerticesFactory& ambient, + const SkMatrix& matrix, SkVector* translate) { + return fAmbientSet.add(devPath, ambient, matrix, translate); + } + + sk_sp<SkVertices> find(const SpotVerticesFactory& spot, const SkMatrix& matrix, + SkVector* translate) const { + return fSpotSet.find(spot, matrix, translate); + } + + sk_sp<SkVertices> add(const SkPath& devPath, const SpotVerticesFactory& spot, + const SkMatrix& matrix, SkVector* translate) { + return fSpotSet.add(devPath, spot, matrix, translate); + } + + CachedTessellationsSet<AmbientVerticesFactory, 4> fAmbientSet; + CachedTessellationsSet<SpotVerticesFactory, 4> fSpotSet; }; /**