OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> | 2 * Copyright (C) 2004, 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> |
3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010 Rob Buis <buis@kde.org> |
4 * Copyright (C) 2007 Apple Inc. All rights reserved. | 4 * Copyright (C) 2007 Apple Inc. All rights reserved. |
5 * Copyright (C) 2014 Google, Inc. | 5 * Copyright (C) 2014 Google, Inc. |
6 * | 6 * |
7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
267 if (widthOrHeightChanged | 267 if (widthOrHeightChanged |
268 || attrName == SVGNames::xAttr | 268 || attrName == SVGNames::xAttr |
269 || attrName == SVGNames::yAttr) { | 269 || attrName == SVGNames::yAttr) { |
270 updateRelativeLengthsOrViewBox = true; | 270 updateRelativeLengthsOrViewBox = true; |
271 updateRelativeLengthsInformation(); | 271 updateRelativeLengthsInformation(); |
272 invalidateRelativeLengthClients(); | 272 invalidateRelativeLengthClients(); |
273 | 273 |
274 // At the SVG/HTML boundary (aka LayoutSVGRoot), the width and | 274 // At the SVG/HTML boundary (aka LayoutSVGRoot), the width and |
275 // height attributes can affect the replaced size so we need | 275 // height attributes can affect the replaced size so we need |
276 // to mark it for updating. | 276 // to mark it for updating. |
277 // | |
278 // FIXME: For width/height animated as XML attributes on SVG | |
279 // roots, there is an attribute synchronization missing. See | |
280 // http://crbug.com/364807 | |
281 if (widthOrHeightChanged) { | 277 if (widthOrHeightChanged) { |
282 LayoutObject* layoutObject = this->layoutObject(); | 278 LayoutObject* layoutObject = this->layoutObject(); |
283 if (layoutObject && layoutObject->isSVGRoot()) { | 279 if (layoutObject && layoutObject->isSVGRoot()) { |
284 invalidateSVGPresentationAttributeStyle(); | 280 invalidateSVGPresentationAttributeStyle(); |
285 setNeedsStyleRecalc(LocalStyleChange, StyleChangeReasonForTracin
g::create(StyleChangeReason::SVGContainerSizeChange)); | 281 setNeedsStyleRecalc(LocalStyleChange, StyleChangeReasonForTracin
g::create(StyleChangeReason::SVGContainerSizeChange)); |
286 } | 282 } |
287 } else { | 283 } else { |
288 invalidateSVGPresentationAttributeStyle(); | 284 invalidateSVGPresentationAttributeStyle(); |
289 setNeedsStyleRecalc(LocalStyleChange, | 285 setNeedsStyleRecalc(LocalStyleChange, |
290 StyleChangeReasonForTracing::fromAttribute(attrName)); | 286 StyleChangeReasonForTracing::fromAttribute(attrName)); |
(...skipping 472 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
763 visitor->trace(m_width); | 759 visitor->trace(m_width); |
764 visitor->trace(m_height); | 760 visitor->trace(m_height); |
765 visitor->trace(m_translation); | 761 visitor->trace(m_translation); |
766 visitor->trace(m_timeContainer); | 762 visitor->trace(m_timeContainer); |
767 visitor->trace(m_viewSpec); | 763 visitor->trace(m_viewSpec); |
768 SVGGraphicsElement::trace(visitor); | 764 SVGGraphicsElement::trace(visitor); |
769 SVGFitToViewBox::trace(visitor); | 765 SVGFitToViewBox::trace(visitor); |
770 } | 766 } |
771 | 767 |
772 } // namespace blink | 768 } // namespace blink |
OLD | NEW |