Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Side by Side Diff: third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceContainer.cpp

Issue 2581243003: [SPInvalidation] Update paint properties when SVG resource change (Closed)
Patch Set: Rebase Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 client->setNeedsBoundariesUpdate(); 171 client->setNeedsBoundariesUpdate();
172 break; 172 break;
173 case PaintInvalidation: 173 case PaintInvalidation:
174 // Since LayoutSVGInlineTexts don't have SVGResources (they use their 174 // Since LayoutSVGInlineTexts don't have SVGResources (they use their
175 // parent's), they will not be notified of changes to paint servers. So 175 // parent's), they will not be notified of changes to paint servers. So
176 // if the client is one that could have a LayoutSVGInlineText use a 176 // if the client is one that could have a LayoutSVGInlineText use a
177 // paint invalidation reason that will force paint invalidation of the 177 // paint invalidation reason that will force paint invalidation of the
178 // entire <text>/<tspan>/... subtree. 178 // entire <text>/<tspan>/... subtree.
179 client->setShouldDoFullPaintInvalidation( 179 client->setShouldDoFullPaintInvalidation(
180 PaintInvalidationSVGResourceChange); 180 PaintInvalidationSVGResourceChange);
181 // Invalidate paint properties to update effects if any.
182 client->setNeedsPaintPropertyUpdate();
181 break; 183 break;
182 case ParentOnlyInvalidation: 184 case ParentOnlyInvalidation:
183 break; 185 break;
184 } 186 }
185 } 187 }
186 188
187 void LayoutSVGResourceContainer::addClient(LayoutObject* client) { 189 void LayoutSVGResourceContainer::addClient(LayoutObject* client) {
188 ASSERT(client); 190 ASSERT(client);
189 m_clients.add(client); 191 m_clients.add(client);
190 clearInvalidationMask(); 192 clearInvalidationMask();
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
308 // This will process the rest of the ancestors. 310 // This will process the rest of the ancestors.
309 toLayoutSVGResourceContainer(current)->removeAllClientsFromCache(); 311 toLayoutSVGResourceContainer(current)->removeAllClientsFromCache();
310 break; 312 break;
311 } 313 }
312 314
313 current = current->parent(); 315 current = current->parent();
314 } 316 }
315 } 317 }
316 318
317 } // namespace blink 319 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698