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 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
121 // recompute the associated resources for a LayoutObject. | 121 // recompute the associated resources for a LayoutObject. |
122 // TODO(fs): Avoid passing in a useless StyleDifference, but instead compare | 122 // TODO(fs): Avoid passing in a useless StyleDifference, but instead compare |
123 // oldStyle/newStyle to see which resources changed to be able to selectively | 123 // oldStyle/newStyle to see which resources changed to be able to selectively |
124 // rebuild individual resources, instead of all of them. | 124 // rebuild individual resources, instead of all of them. |
125 if (layoutObjectCanHaveResources(layoutObject)) { | 125 if (layoutObjectCanHaveResources(layoutObject)) { |
126 SVGResourcesCache& cache = resourcesCache(layoutObject->document()); | 126 SVGResourcesCache& cache = resourcesCache(layoutObject->document()); |
127 cache.removeResourcesFromLayoutObject(layoutObject); | 127 cache.removeResourcesFromLayoutObject(layoutObject); |
128 cache.addResourcesFromLayoutObject(layoutObject, newStyle); | 128 cache.addResourcesFromLayoutObject(layoutObject, newStyle); |
129 } | 129 } |
130 | 130 |
131 bool needLayout = false; | |
132 | |
133 if (layoutObject->isSVGResourceContainer()) | |
fs
2017/01/23 12:44:24
What if we only toggle 'visibility' on the <rect>?
| |
134 needLayout = diff.needsPaintInvalidation(); | |
135 | |
131 LayoutSVGResourceContainer::markForLayoutAndParentResourceInvalidation( | 136 LayoutSVGResourceContainer::markForLayoutAndParentResourceInvalidation( |
132 layoutObject, false); | 137 layoutObject, needLayout); |
133 } | 138 } |
134 | 139 |
135 void SVGResourcesCache::clientWasAddedToTree(LayoutObject* layoutObject, | 140 void SVGResourcesCache::clientWasAddedToTree(LayoutObject* layoutObject, |
136 const ComputedStyle& newStyle) { | 141 const ComputedStyle& newStyle) { |
137 if (!layoutObject->node()) | 142 if (!layoutObject->node()) |
138 return; | 143 return; |
139 LayoutSVGResourceContainer::markForLayoutAndParentResourceInvalidation( | 144 LayoutSVGResourceContainer::markForLayoutAndParentResourceInvalidation( |
140 layoutObject, false); | 145 layoutObject, false); |
141 | 146 |
142 if (!layoutObjectCanHaveResources(layoutObject)) | 147 if (!layoutObjectCanHaveResources(layoutObject)) |
(...skipping 19 matching lines...) Expand all Loading... | |
162 ASSERT(layoutObject); | 167 ASSERT(layoutObject); |
163 | 168 |
164 SVGResources* resources = cachedResourcesForLayoutObject(layoutObject); | 169 SVGResources* resources = cachedResourcesForLayoutObject(layoutObject); |
165 if (resources) | 170 if (resources) |
166 resources->removeClientFromCache(layoutObject); | 171 resources->removeClientFromCache(layoutObject); |
167 SVGResourcesCache& cache = resourcesCache(layoutObject->document()); | 172 SVGResourcesCache& cache = resourcesCache(layoutObject->document()); |
168 cache.removeResourcesFromLayoutObject(layoutObject); | 173 cache.removeResourcesFromLayoutObject(layoutObject); |
169 } | 174 } |
170 | 175 |
171 } // namespace blink | 176 } // namespace blink |
OLD | NEW |