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 11 matching lines...) Expand all Loading... |
22 | 22 |
23 #include "core/layout/style/StyleDifference.h" | 23 #include "core/layout/style/StyleDifference.h" |
24 #include "wtf/FastAllocBase.h" | 24 #include "wtf/FastAllocBase.h" |
25 #include "wtf/HashMap.h" | 25 #include "wtf/HashMap.h" |
26 #include "wtf/Noncopyable.h" | 26 #include "wtf/Noncopyable.h" |
27 #include "wtf/OwnPtr.h" | 27 #include "wtf/OwnPtr.h" |
28 | 28 |
29 namespace blink { | 29 namespace blink { |
30 | 30 |
31 class LayoutObject; | 31 class LayoutObject; |
32 class LayoutStyle; | 32 class ComputedStyle; |
33 class LayoutSVGResourceContainer; | 33 class LayoutSVGResourceContainer; |
34 class SVGResources; | 34 class SVGResources; |
35 | 35 |
36 class SVGResourcesCache { | 36 class SVGResourcesCache { |
37 WTF_MAKE_NONCOPYABLE(SVGResourcesCache); WTF_MAKE_FAST_ALLOCATED(SVGResource
sCache); | 37 WTF_MAKE_NONCOPYABLE(SVGResourcesCache); WTF_MAKE_FAST_ALLOCATED(SVGResource
sCache); |
38 public: | 38 public: |
39 SVGResourcesCache(); | 39 SVGResourcesCache(); |
40 ~SVGResourcesCache(); | 40 ~SVGResourcesCache(); |
41 | 41 |
42 static SVGResources* cachedResourcesForLayoutObject(const LayoutObject*); | 42 static SVGResources* cachedResourcesForLayoutObject(const LayoutObject*); |
43 | 43 |
44 // Called from all SVG layoutObjects addChild() methods. | 44 // Called from all SVG layoutObjects addChild() methods. |
45 static void clientWasAddedToTree(LayoutObject*, const LayoutStyle& newStyle)
; | 45 static void clientWasAddedToTree(LayoutObject*, const ComputedStyle& newStyl
e); |
46 | 46 |
47 // Called from all SVG layoutObjects removeChild() methods. | 47 // Called from all SVG layoutObjects removeChild() methods. |
48 static void clientWillBeRemovedFromTree(LayoutObject*); | 48 static void clientWillBeRemovedFromTree(LayoutObject*); |
49 | 49 |
50 // Called from all SVG layoutObjects destroy() methods - except for LayoutSV
GResourceContainer. | 50 // Called from all SVG layoutObjects destroy() methods - except for LayoutSV
GResourceContainer. |
51 static void clientDestroyed(LayoutObject*); | 51 static void clientDestroyed(LayoutObject*); |
52 | 52 |
53 // Called from all SVG layoutObjects layout() methods. | 53 // Called from all SVG layoutObjects layout() methods. |
54 static void clientLayoutChanged(LayoutObject*); | 54 static void clientLayoutChanged(LayoutObject*); |
55 | 55 |
56 // Called from all SVG layoutObjects styleDidChange() methods. | 56 // Called from all SVG layoutObjects styleDidChange() methods. |
57 static void clientStyleChanged(LayoutObject*, StyleDifference, const LayoutS
tyle& newStyle); | 57 static void clientStyleChanged(LayoutObject*, StyleDifference, const Compute
dStyle& newStyle); |
58 | 58 |
59 // Called from LayoutSVGResourceContainer::willBeDestroyed(). | 59 // Called from LayoutSVGResourceContainer::willBeDestroyed(). |
60 static void resourceDestroyed(LayoutSVGResourceContainer*); | 60 static void resourceDestroyed(LayoutSVGResourceContainer*); |
61 | 61 |
62 private: | 62 private: |
63 void addResourcesFromLayoutObject(LayoutObject*, const LayoutStyle&); | 63 void addResourcesFromLayoutObject(LayoutObject*, const ComputedStyle&); |
64 void removeResourcesFromLayoutObject(LayoutObject*); | 64 void removeResourcesFromLayoutObject(LayoutObject*); |
65 | 65 |
66 typedef HashMap<const LayoutObject*, OwnPtr<SVGResources>> CacheMap; | 66 typedef HashMap<const LayoutObject*, OwnPtr<SVGResources>> CacheMap; |
67 CacheMap m_cache; | 67 CacheMap m_cache; |
68 }; | 68 }; |
69 | 69 |
70 } | 70 } |
71 | 71 |
72 #endif | 72 #endif |
OLD | NEW |