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 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
158 { | 158 { |
159 ASSERT(client); | 159 ASSERT(client); |
160 ASSERT(!m_clients.isEmpty()); | 160 ASSERT(!m_clients.isEmpty()); |
161 | 161 |
162 switch (mode) { | 162 switch (mode) { |
163 case LayoutAndBoundariesInvalidation: | 163 case LayoutAndBoundariesInvalidation: |
164 case BoundariesInvalidation: | 164 case BoundariesInvalidation: |
165 client->setNeedsBoundariesUpdate(); | 165 client->setNeedsBoundariesUpdate(); |
166 break; | 166 break; |
167 case PaintInvalidation: | 167 case PaintInvalidation: |
168 client->setShouldDoFullPaintInvalidation(); | 168 // Since LayoutSVGInlineTexts don't have SVGResources (they use their |
| 169 // parent's), they will not be notified of changes to paint servers. So |
| 170 // if the client is one that could have a LayoutSVGInlineText use a |
| 171 // paint invalidation reason that will force paint invalidation of the |
| 172 // entire <text>/<tspan>/... subtree. |
| 173 client->setShouldDoFullPaintInvalidation(PaintInvalidationSVGResourceCha
nge); |
169 break; | 174 break; |
170 case ParentOnlyInvalidation: | 175 case ParentOnlyInvalidation: |
171 break; | 176 break; |
172 } | 177 } |
173 } | 178 } |
174 | 179 |
175 void LayoutSVGResourceContainer::addClient(LayoutObject* client) | 180 void LayoutSVGResourceContainer::addClient(LayoutObject* client) |
176 { | 181 { |
177 ASSERT(client); | 182 ASSERT(client); |
178 m_clients.add(client); | 183 m_clients.add(client); |
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
314 // This will process the rest of the ancestors. | 319 // This will process the rest of the ancestors. |
315 toLayoutSVGResourceContainer(current)->removeAllClientsFromCache(); | 320 toLayoutSVGResourceContainer(current)->removeAllClientsFromCache(); |
316 break; | 321 break; |
317 } | 322 } |
318 | 323 |
319 current = current->parent(); | 324 current = current->parent(); |
320 } | 325 } |
321 } | 326 } |
322 | 327 |
323 } | 328 } |
OLD | NEW |