Index: Source/core/svg/SVGFitToViewBox.h |
diff --git a/Source/core/svg/SVGFitToViewBox.h b/Source/core/svg/SVGFitToViewBox.h |
index 1e0daef3debc526f1f80bc4fb5fc9e3400e466f6..3d21953dcbb47d66c26d8eae5ad94be21ae0ecfa 100644 |
--- a/Source/core/svg/SVGFitToViewBox.h |
+++ b/Source/core/svg/SVGFitToViewBox.h |
@@ -73,7 +73,21 @@ public: |
virtual void trace(Visitor*); |
protected: |
- explicit SVGFitToViewBox(SVGElement*, PropertyMapPolicy = PropertyMapPolicyAdd); |
+ SVGFitToViewBox(); |
+ |
+ // FIXME: Oilpan: the construction of this mixin requires heap allocation, |
+ // which cannot be safely done with Oilpan until the object that include |
+ // this mixin have had its vptr initialized -- so as to be able to |
+ // accurately trace the entire object should a GC strike while constructing |
+ // the mixin. |
+ // |
+ // Try to come up with a more natural alternative and solution that doesn't |
+ // require hoisting the constructor code for mixins into a separate method |
+ // like initialize(). It makes construction of these heap-allocation mixins |
+ // safe in the meantime, however. |
+ // |
+ void initialize(SVGElement* contextElement, PropertyMapPolicy = PropertyMapPolicyAdd); |
+ |
void updateViewBox(const FloatRect&); |
void clearViewBox() { m_viewBox = nullptr; } |
void clearPreserveAspectRatio() { m_preserveAspectRatio = nullptr; } |