| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Nikolas Zimmermann | 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Nikolas Zimmermann |
| 3 * <zimmermann@kde.org> | 3 * <zimmermann@kde.org> |
| 4 * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org> | 4 * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org> |
| 5 * Copyright (C) 2008 Apple Inc. All rights reserved. | 5 * Copyright (C) 2008 Apple Inc. All rights reserved. |
| 6 * Copyright (C) 2008 Alp Toker <alp@atoker.com> | 6 * Copyright (C) 2008 Alp Toker <alp@atoker.com> |
| 7 * Copyright (C) 2009 Cameron McCormack <cam@mcc.id.au> | 7 * Copyright (C) 2009 Cameron McCormack <cam@mcc.id.au> |
| 8 * | 8 * |
| 9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
| 10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
| (...skipping 1008 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1019 const ComputedStyle* style = nullptr; | 1019 const ComputedStyle* style = nullptr; |
| 1020 if (Element* parent = parentOrShadowHostElement()) { | 1020 if (Element* parent = parentOrShadowHostElement()) { |
| 1021 if (LayoutObject* layoutObject = parent->layoutObject()) | 1021 if (LayoutObject* layoutObject = parent->layoutObject()) |
| 1022 style = layoutObject->style(); | 1022 style = layoutObject->style(); |
| 1023 } | 1023 } |
| 1024 | 1024 |
| 1025 return document().ensureStyleResolver().styleForElement( | 1025 return document().ensureStyleResolver().styleForElement( |
| 1026 correspondingElement(), style, DisallowStyleSharing); | 1026 correspondingElement(), style, DisallowStyleSharing); |
| 1027 } | 1027 } |
| 1028 | 1028 |
| 1029 bool SVGElement::layoutObjectIsNeeded(const ComputedStyle& style) { |
| 1030 // SVG elements only render when inside <svg>, or if the element is an <svg> |
| 1031 // itself. |
| 1032 if (!isSVGSVGElement(*this) && |
| 1033 (!parentNode() || !parentNode()->isSVGElement())) { |
| 1034 return false; |
| 1035 } |
| 1036 |
| 1037 if (!isValid()) |
| 1038 return false; |
| 1039 |
| 1040 // Ignore display: contents, since it isn't really specified for SVG and Gecko |
| 1041 // doesn't take display into account at all for SVG (except display: none). |
| 1042 // |
| 1043 // [1]: https://www.w3.org/TR/SVG/painting.html#DisplayProperty |
| 1044 if (style.display() == EDisplay::Contents) |
| 1045 return true; |
| 1046 |
| 1047 return Element::layoutObjectIsNeeded(style); |
| 1048 } |
| 1049 |
| 1029 MutableStylePropertySet* SVGElement::animatedSMILStyleProperties() const { | 1050 MutableStylePropertySet* SVGElement::animatedSMILStyleProperties() const { |
| 1030 if (hasSVGRareData()) | 1051 if (hasSVGRareData()) |
| 1031 return svgRareData()->animatedSMILStyleProperties(); | 1052 return svgRareData()->animatedSMILStyleProperties(); |
| 1032 return nullptr; | 1053 return nullptr; |
| 1033 } | 1054 } |
| 1034 | 1055 |
| 1035 MutableStylePropertySet* SVGElement::ensureAnimatedSMILStyleProperties() { | 1056 MutableStylePropertySet* SVGElement::ensureAnimatedSMILStyleProperties() { |
| 1036 return ensureSVGRareData()->ensureAnimatedSMILStyleProperties(); | 1057 return ensureSVGRareData()->ensureAnimatedSMILStyleProperties(); |
| 1037 } | 1058 } |
| 1038 | 1059 |
| (...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1289 visitor->trace(m_className); | 1310 visitor->trace(m_className); |
| 1290 Element::trace(visitor); | 1311 Element::trace(visitor); |
| 1291 } | 1312 } |
| 1292 | 1313 |
| 1293 const AtomicString& SVGElement::eventParameterName() { | 1314 const AtomicString& SVGElement::eventParameterName() { |
| 1294 DEFINE_STATIC_LOCAL(const AtomicString, evtString, ("evt")); | 1315 DEFINE_STATIC_LOCAL(const AtomicString, evtString, ("evt")); |
| 1295 return evtString; | 1316 return evtString; |
| 1296 } | 1317 } |
| 1297 | 1318 |
| 1298 } // namespace blink | 1319 } // namespace blink |
| OLD | NEW |