Chromium Code Reviews| Index: third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceContainer.cpp |
| diff --git a/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceContainer.cpp b/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceContainer.cpp |
| index 6bfb64b4d40e99dad8fb6f6fbf6be7633253c801..df089013fedd076323a7e0e071fa671afc638946 100644 |
| --- a/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceContainer.cpp |
| +++ b/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceContainer.cpp |
| @@ -309,6 +309,21 @@ void LayoutSVGResourceContainer::markForLayoutAndParentResourceInvalidation( |
| if (current->isSVGResourceContainer()) { |
| // This will process the rest of the ancestors. |
| toLayoutSVGResourceContainer(current)->removeAllClientsFromCache(); |
| + |
| + LayoutSVGResourceContainer* container = |
|
fs
2017/01/19 13:24:41
The line just above here will call markAllClientsF
|
| + toLayoutSVGResourceContainer(current); |
| + |
| + if (object->style()->visibility() == EVisibility::kVisible) { |
| + for (auto client : container->clients()) { |
| + LayoutRect boundingBox = client->visualRect(); |
| + if (client->style()->visibility() == EVisibility::kVisible && |
| + !boundingBox.width() && !boundingBox.height()) { |
| + client->setNeedsLayout( |
| + LayoutInvalidationReason::SvgResourceInvalidated); |
| + } |
| + } |
| + } |
| + |
| break; |
| } |