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 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
92 | 92 |
93 void BuildSetOfResources(HashSet<LayoutSVGResourceContainer*>&); | 93 void BuildSetOfResources(HashSet<LayoutSVGResourceContainer*>&); |
94 | 94 |
95 // Methods operating on all cached resources | 95 // Methods operating on all cached resources |
96 void RemoveClientFromCache(LayoutObject*, | 96 void RemoveClientFromCache(LayoutObject*, |
97 bool mark_for_invalidation = true) const; | 97 bool mark_for_invalidation = true) const; |
98 void RemoveClientFromCacheAffectingObjectBounds( | 98 void RemoveClientFromCacheAffectingObjectBounds( |
99 LayoutObject*, | 99 LayoutObject*, |
100 bool mark_for_invalidation = true) const; | 100 bool mark_for_invalidation = true) const; |
101 void ResourceDestroyed(LayoutSVGResourceContainer*); | 101 void ResourceDestroyed(LayoutSVGResourceContainer*); |
| 102 void ClearReferencesTo(LayoutSVGResourceContainer*); |
102 | 103 |
103 #ifndef NDEBUG | 104 #ifndef NDEBUG |
104 void Dump(const LayoutObject*); | 105 void Dump(const LayoutObject*); |
105 #endif | 106 #endif |
106 | 107 |
107 private: | 108 private: |
108 friend class SVGResourcesCycleSolver; | |
109 | |
110 bool HasResourceData() const; | 109 bool HasResourceData() const; |
111 | 110 |
112 // Only used by SVGResourcesCache cycle detection logic | |
113 void ResetClipper(); | |
114 void ResetFilter(); | |
115 void ResetMarkerStart(); | |
116 void ResetMarkerMid(); | |
117 void ResetMarkerEnd(); | |
118 void ResetMasker(); | |
119 void ResetFill(); | |
120 void ResetStroke(); | |
121 void ResetLinkedResource(); | |
122 | |
123 void SetClipper(LayoutSVGResourceClipper*); | 111 void SetClipper(LayoutSVGResourceClipper*); |
124 void SetFilter(LayoutSVGResourceFilter*); | 112 void SetFilter(LayoutSVGResourceFilter*); |
125 void SetMarkerStart(LayoutSVGResourceMarker*); | 113 void SetMarkerStart(LayoutSVGResourceMarker*); |
126 void SetMarkerMid(LayoutSVGResourceMarker*); | 114 void SetMarkerMid(LayoutSVGResourceMarker*); |
127 void SetMarkerEnd(LayoutSVGResourceMarker*); | 115 void SetMarkerEnd(LayoutSVGResourceMarker*); |
128 void SetMasker(LayoutSVGResourceMasker*); | 116 void SetMasker(LayoutSVGResourceMasker*); |
129 void SetFill(LayoutSVGResourcePaintServer*); | 117 void SetFill(LayoutSVGResourcePaintServer*); |
130 void SetStroke(LayoutSVGResourcePaintServer*); | 118 void SetStroke(LayoutSVGResourcePaintServer*); |
131 void SetLinkedResource(LayoutSVGResourceContainer*); | 119 void SetLinkedResource(LayoutSVGResourceContainer*); |
132 | 120 |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
192 | 180 |
193 std::unique_ptr<ClipperFilterMaskerData> clipper_filter_masker_data_; | 181 std::unique_ptr<ClipperFilterMaskerData> clipper_filter_masker_data_; |
194 std::unique_ptr<MarkerData> marker_data_; | 182 std::unique_ptr<MarkerData> marker_data_; |
195 std::unique_ptr<FillStrokeData> fill_stroke_data_; | 183 std::unique_ptr<FillStrokeData> fill_stroke_data_; |
196 LayoutSVGResourceContainer* linked_resource_; | 184 LayoutSVGResourceContainer* linked_resource_; |
197 }; | 185 }; |
198 | 186 |
199 } // namespace blink | 187 } // namespace blink |
200 | 188 |
201 #endif | 189 #endif |
OLD | NEW |