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 |
(...skipping 19 matching lines...) Expand all Loading... |
30 class RenderStyle; | 30 class RenderStyle; |
31 class RenderSVGResourceContainer; | 31 class RenderSVGResourceContainer; |
32 class SVGResources; | 32 class SVGResources; |
33 | 33 |
34 class SVGResourcesCache { | 34 class SVGResourcesCache { |
35 WTF_MAKE_NONCOPYABLE(SVGResourcesCache); WTF_MAKE_FAST_ALLOCATED; | 35 WTF_MAKE_NONCOPYABLE(SVGResourcesCache); WTF_MAKE_FAST_ALLOCATED; |
36 public: | 36 public: |
37 SVGResourcesCache(); | 37 SVGResourcesCache(); |
38 ~SVGResourcesCache(); | 38 ~SVGResourcesCache(); |
39 | 39 |
40 void addResourcesFromRenderObject(RenderObject*, const RenderStyle*); | |
41 void removeResourcesFromRenderObject(RenderObject*); | |
42 static SVGResources* cachedResourcesForRenderObject(const RenderObject*); | 40 static SVGResources* cachedResourcesForRenderObject(const RenderObject*); |
43 | 41 |
| 42 // Called from all SVG renderers addChild() methods. |
| 43 static void clientWasAddedToTree(RenderObject*, const RenderStyle* newStyle)
; |
| 44 |
| 45 // Called from all SVG renderers removeChild() methods. |
| 46 static void clientWillBeRemovedFromTree(RenderObject*); |
| 47 |
44 // Called from all SVG renderers destroy() methods - except for RenderSVGRes
ourceContainer. | 48 // Called from all SVG renderers destroy() methods - except for RenderSVGRes
ourceContainer. |
45 static void clientDestroyed(RenderObject*); | 49 static void clientDestroyed(RenderObject*); |
46 | 50 |
47 // Called from all SVG renderers layout() methods. | 51 // Called from all SVG renderers layout() methods. |
48 static void clientLayoutChanged(RenderObject*); | 52 static void clientLayoutChanged(RenderObject*); |
49 | 53 |
50 // Called from all SVG renderers styleDidChange() methods. | 54 // Called from all SVG renderers styleDidChange() methods. |
51 static void clientStyleChanged(RenderObject*, StyleDifference, const RenderS
tyle* newStyle); | 55 static void clientStyleChanged(RenderObject*, StyleDifference, const RenderS
tyle* newStyle); |
52 | 56 |
53 // Called from all SVG renderers updateFromElement() methods. | |
54 static void clientUpdatedFromElement(RenderObject*, const RenderStyle* newSt
yle); | |
55 | |
56 // Called from RenderSVGResourceContainer::willBeDestroyed(). | 57 // Called from RenderSVGResourceContainer::willBeDestroyed(). |
57 static void resourceDestroyed(RenderSVGResourceContainer*); | 58 static void resourceDestroyed(RenderSVGResourceContainer*); |
58 | 59 |
59 private: | 60 private: |
| 61 void addResourcesFromRenderObject(RenderObject*, const RenderStyle*); |
| 62 void removeResourcesFromRenderObject(RenderObject*); |
| 63 |
60 HashMap<const RenderObject*, SVGResources*> m_cache; | 64 HashMap<const RenderObject*, SVGResources*> m_cache; |
61 }; | 65 }; |
62 | 66 |
63 } | 67 } |
64 | 68 |
65 #endif | 69 #endif |
66 #endif | 70 #endif |
OLD | NEW |