diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/core/layout/svg/layout_svg_resource_pattern.h')
-rw-r--r-- | chromium/third_party/blink/renderer/core/layout/svg/layout_svg_resource_pattern.h | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/chromium/third_party/blink/renderer/core/layout/svg/layout_svg_resource_pattern.h b/chromium/third_party/blink/renderer/core/layout/svg/layout_svg_resource_pattern.h index 4566993fe3d..62288372428 100644 --- a/chromium/third_party/blink/renderer/core/layout/svg/layout_svg_resource_pattern.h +++ b/chromium/third_party/blink/renderer/core/layout/svg/layout_svg_resource_pattern.h @@ -59,24 +59,23 @@ class LayoutSVGResourcePattern final : public LayoutSVGResourcePaintServer { } private: + void WillBeDestroyed() override; + void StyleDidChange(StyleDifference, const ComputedStyle* old_style) override; + + bool FindCycleFromSelf() const override; std::unique_ptr<PatternData> BuildPatternData( const FloatRect& object_bounding_box); sk_sp<PaintRecord> AsPaintRecord(const FloatSize&, const AffineTransform&) const; - const LayoutSVGResourceContainer* ResolveContentElement() const; - - bool should_collect_pattern_attributes_ : 1; + mutable bool should_collect_pattern_attributes_ : 1; Persistent<PatternAttributesWrapper> attributes_wrapper_; - PatternAttributes& MutableAttributes() { - NOT_DESTROYED(); - return attributes_wrapper_->Attributes(); - } const PatternAttributes& Attributes() const { NOT_DESTROYED(); return attributes_wrapper_->Attributes(); } + const PatternAttributes& EnsureAttributes() const; // FIXME: we can almost do away with this per-object map, but not quite: the // tile size can be relative to the client bounding box, and it gets captured |