| Index: third_party/WebKit/Source/core/svg/SVGElement.cpp
|
| diff --git a/third_party/WebKit/Source/core/svg/SVGElement.cpp b/third_party/WebKit/Source/core/svg/SVGElement.cpp
|
| index 88b13cabd79b091f5a2cf4d69f8c1e4987973a16..41ce743cf7e10c025ac8df688eef8c7798bf9d70 100644
|
| --- a/third_party/WebKit/Source/core/svg/SVGElement.cpp
|
| +++ b/third_party/WebKit/Source/core/svg/SVGElement.cpp
|
| @@ -1026,6 +1026,27 @@ PassRefPtr<ComputedStyle> SVGElement::customStyleForLayoutObject() {
|
| correspondingElement(), style, DisallowStyleSharing);
|
| }
|
|
|
| +bool SVGElement::layoutObjectIsNeeded(const ComputedStyle& style) {
|
| + // SVG elements only render when inside <svg>, or if the element is an <svg>
|
| + // itself.
|
| + if (!isSVGSVGElement(*this) &&
|
| + (!parentNode() || !parentNode()->isSVGElement())) {
|
| + return false;
|
| + }
|
| +
|
| + if (!isValid())
|
| + return false;
|
| +
|
| + // Ignore display: contents, since it isn't really specified for SVG and Gecko
|
| + // doesn't take display into account at all for SVG (except display: none).
|
| + //
|
| + // [1]: https://www.w3.org/TR/SVG/painting.html#DisplayProperty
|
| + if (style.display() == EDisplay::Contents)
|
| + return true;
|
| +
|
| + return Element::layoutObjectIsNeeded(style);
|
| +}
|
| +
|
| MutableStylePropertySet* SVGElement::animatedSMILStyleProperties() const {
|
| if (hasSVGRareData())
|
| return svgRareData()->animatedSMILStyleProperties();
|
|
|