OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 2 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
3 * | 3 * |
4 * This library is free software; you can redistribute it and/or | 4 * This library is free software; you can redistribute it and/or |
5 * modify it under the terms of the GNU Library General Public | 5 * modify it under the terms of the GNU Library General Public |
6 * License as published by the Free Software Foundation; either | 6 * License as published by the Free Software Foundation; either |
7 * version 2 of the License, or (at your option) any later version. | 7 * version 2 of the License, or (at your option) any later version. |
8 * | 8 * |
9 * This library is distributed in the hope that it will be useful, | 9 * This library is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
12 * Library General Public License for more details. | 12 * Library General Public License for more details. |
13 * | 13 * |
14 * You should have received a copy of the GNU Library General Public License | 14 * You should have received a copy of the GNU Library General Public License |
15 * along with this library; see the file COPYING.LIB. If not, write to | 15 * along with this library; see the file COPYING.LIB. If not, write to |
16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
17 * Boston, MA 02110-1301, USA. | 17 * Boston, MA 02110-1301, USA. |
18 */ | 18 */ |
19 | 19 |
20 #include "config.h" | 20 #include "config.h" |
21 | 21 |
22 #if ENABLE(SVG) | 22 #if ENABLE(SVG) |
23 #include "RenderSVGResourceContainer.h" | 23 #include "RenderSVGResourceContainer.h" |
24 | 24 |
25 #include "RenderSVGShadowTreeRootContainer.h" | 25 #include "RenderSVGRoot.h" |
26 #include "RenderView.h" | 26 #include "RenderView.h" |
27 #include "SVGResourcesCache.h" | 27 #include "SVGResourcesCache.h" |
28 #include "SVGStyledTransformableElement.h" | 28 #include "SVGStyledTransformableElement.h" |
29 | 29 |
30 namespace WebCore { | 30 namespace WebCore { |
31 | 31 |
32 static inline SVGDocumentExtensions* svgExtensionsFromNode(Node* node) | 32 static inline SVGDocumentExtensions* svgExtensionsFromNode(Node* node) |
33 { | 33 { |
34 ASSERT(node); | 34 ASSERT(node); |
35 ASSERT(node->document()); | 35 ASSERT(node->document()); |
(...skipping 11 matching lines...) Expand all Loading... |
47 RenderSVGResourceContainer::~RenderSVGResourceContainer() | 47 RenderSVGResourceContainer::~RenderSVGResourceContainer() |
48 { | 48 { |
49 if (m_registered) | 49 if (m_registered) |
50 svgExtensionsFromNode(node())->removeResource(m_id); | 50 svgExtensionsFromNode(node())->removeResource(m_id); |
51 } | 51 } |
52 | 52 |
53 void RenderSVGResourceContainer::layout() | 53 void RenderSVGResourceContainer::layout() |
54 { | 54 { |
55 // Invalidate all resources if our layout changed. | 55 // Invalidate all resources if our layout changed. |
56 if (everHadLayout() && selfNeedsLayout()) | 56 if (everHadLayout() && selfNeedsLayout()) |
57 removeAllClientsFromCache(); | 57 RenderSVGRoot::addResourceForClientInvalidation(this); |
58 | 58 |
59 RenderSVGHiddenContainer::layout(); | 59 RenderSVGHiddenContainer::layout(); |
60 } | 60 } |
61 | 61 |
62 void RenderSVGResourceContainer::willBeDestroyed() | 62 void RenderSVGResourceContainer::willBeDestroyed() |
63 { | 63 { |
64 SVGResourcesCache::resourceDestroyed(this); | 64 SVGResourcesCache::resourceDestroyed(this); |
65 RenderSVGHiddenContainer::willBeDestroyed(); | 65 RenderSVGHiddenContainer::willBeDestroyed(); |
66 } | 66 } |
67 | 67 |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
178 | 178 |
179 SVGStyledTransformableElement* element = static_cast<SVGStyledTransformableE
lement*>(object->node()); | 179 SVGStyledTransformableElement* element = static_cast<SVGStyledTransformableE
lement*>(object->node()); |
180 AffineTransform transform = element->getScreenCTM(SVGLocatable::DisallowStyl
eUpdate); | 180 AffineTransform transform = element->getScreenCTM(SVGLocatable::DisallowStyl
eUpdate); |
181 transform *= resourceTransform; | 181 transform *= resourceTransform; |
182 return transform; | 182 return transform; |
183 } | 183 } |
184 | 184 |
185 } | 185 } |
186 | 186 |
187 #endif | 187 #endif |
OLD | NEW |