| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Nikolas Zimmermann <zimmermann@kde
.org> | 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Nikolas Zimmermann <zimmermann@kde
.org> |
| 3 * Copyright (C) 2004, 2005, 2006, 2007 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005, 2006, 2007 Rob Buis <buis@kde.org> |
| 4 * Copyright (C) Research In Motion Limited 2009-2010. All rights reserved. | 4 * Copyright (C) Research In Motion Limited 2009-2010. All rights reserved. |
| 5 * Copyright (C) 2011 Torch Mobile (Beijing) Co. Ltd. All rights reserved. | 5 * Copyright (C) 2011 Torch Mobile (Beijing) Co. Ltd. All rights reserved. |
| 6 * Copyright (C) 2012 University of Szeged | 6 * Copyright (C) 2012 University of Szeged |
| 7 * Copyright (C) 2012 Renata Hodovan <reni@webkit.org> | 7 * Copyright (C) 2012 Renata Hodovan <reni@webkit.org> |
| 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 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 124 if (!isExternalURIReference(hrefString(), document())) | 124 if (!isExternalURIReference(hrefString(), document())) |
| 125 return &treeScope(); | 125 return &treeScope(); |
| 126 return externalDocument(); | 126 return externalDocument(); |
| 127 } | 127 } |
| 128 | 128 |
| 129 Document* SVGUseElement::externalDocument() const | 129 Document* SVGUseElement::externalDocument() const |
| 130 { | 130 { |
| 131 if (m_resource && m_resource->isLoaded()) { | 131 if (m_resource && m_resource->isLoaded()) { |
| 132 // Gracefully handle error condition. | 132 // Gracefully handle error condition. |
| 133 if (m_resource->errorOccurred()) | 133 if (m_resource->errorOccurred()) |
| 134 return 0; | 134 return nullptr; |
| 135 ASSERT(m_resource->document()); | 135 ASSERT(m_resource->document()); |
| 136 return m_resource->document(); | 136 return m_resource->document(); |
| 137 } | 137 } |
| 138 return 0; | 138 return nullptr; |
| 139 } | 139 } |
| 140 | 140 |
| 141 void transferUseWidthAndHeightIfNeeded(const SVGUseElement& use, SVGElement* sha
dowElement, const SVGElement& originalElement) | 141 void transferUseWidthAndHeightIfNeeded(const SVGUseElement& use, SVGElement* sha
dowElement, const SVGElement& originalElement) |
| 142 { | 142 { |
| 143 DEFINE_STATIC_LOCAL(const AtomicString, hundredPercentString, ("100%", Atomi
cString::ConstructFromLiteral)); | 143 DEFINE_STATIC_LOCAL(const AtomicString, hundredPercentString, ("100%", Atomi
cString::ConstructFromLiteral)); |
| 144 ASSERT(shadowElement); | 144 ASSERT(shadowElement); |
| 145 if (isSVGSymbolElement(*shadowElement)) { | 145 if (isSVGSymbolElement(*shadowElement)) { |
| 146 // Spec (<use> on <symbol>): This generated 'svg' will always have expli
cit values for attributes width and height. | 146 // Spec (<use> on <symbol>): This generated 'svg' will always have expli
cit values for attributes width and height. |
| 147 // If attributes width and/or height are provided on the 'use' element,
then these attributes | 147 // If attributes width and/or height are provided on the 'use' element,
then these attributes |
| 148 // will be transferred to the generated 'svg'. If attributes width and/o
r height are not specified, | 148 // will be transferred to the generated 'svg'. If attributes width and/o
r height are not specified, |
| (...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 458 } | 458 } |
| 459 } | 459 } |
| 460 | 460 |
| 461 LayoutObject* SVGUseElement::layoutObjectClipChild() const | 461 LayoutObject* SVGUseElement::layoutObjectClipChild() const |
| 462 { | 462 { |
| 463 if (Node* n = userAgentShadowRoot()->firstChild()) { | 463 if (Node* n = userAgentShadowRoot()->firstChild()) { |
| 464 if (n->isSVGElement() && isDirectReference(toSVGElement(*n))) | 464 if (n->isSVGElement() && isDirectReference(toSVGElement(*n))) |
| 465 return n->layoutObject(); | 465 return n->layoutObject(); |
| 466 } | 466 } |
| 467 | 467 |
| 468 return 0; | 468 return nullptr; |
| 469 } | 469 } |
| 470 | 470 |
| 471 bool SVGUseElement::buildShadowTree(SVGElement* target, SVGElement* targetInstan
ce, bool foundUse) | 471 bool SVGUseElement::buildShadowTree(SVGElement* target, SVGElement* targetInstan
ce, bool foundUse) |
| 472 { | 472 { |
| 473 ASSERT(target); | 473 ASSERT(target); |
| 474 ASSERT(targetInstance); | 474 ASSERT(targetInstance); |
| 475 | 475 |
| 476 // Spec: If the referenced object is itself a 'use', or if there are 'use' s
ubelements within the referenced | 476 // Spec: If the referenced object is itself a 'use', or if there are 'use' s
ubelements within the referenced |
| 477 // object, the instance tree will contain recursive expansion of the indirec
t references to form a complete tree. | 477 // object, the instance tree will contain recursive expansion of the indirec
t references to form a complete tree. |
| 478 if (isSVGUseElement(*target)) { | 478 if (isSVGUseElement(*target)) { |
| (...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 762 | 762 |
| 763 if (m_resource) | 763 if (m_resource) |
| 764 m_resource->removeClient(this); | 764 m_resource->removeClient(this); |
| 765 | 765 |
| 766 m_resource = resource; | 766 m_resource = resource; |
| 767 if (m_resource) | 767 if (m_resource) |
| 768 m_resource->addClient(this); | 768 m_resource->addClient(this); |
| 769 } | 769 } |
| 770 | 770 |
| 771 } | 771 } |
| OLD | NEW |