Index: Source/core/frame/FrameView.cpp |
diff --git a/Source/core/frame/FrameView.cpp b/Source/core/frame/FrameView.cpp |
index 80bbf1b9c1caa164c41519188afb2ff8c9b8d76d..c22e19f8bfb14fb892ebb6f639e6a977459a7f07 100644 |
--- a/Source/core/frame/FrameView.cpp |
+++ b/Source/core/frame/FrameView.cpp |
@@ -1268,6 +1268,22 @@ LayoutRect FrameView::viewportConstrainedVisibleContentRect() const |
return viewportRect; |
} |
+bool FrameView::hasVisibleViewportConstrainedObjects() const |
+{ |
+ const ViewportConstrainedObjectSet* objects = viewportConstrainedObjects(); |
+ if (!objects) |
+ return false; |
+ for (const RenderObject* renderer : *objects) { |
+ RenderLayer* layer = toRenderBoxModelObject(renderer)->layer(); |
+ if (layer) { |
+ layer->updateDescendantDependentFlags(); |
+ if (!layer->subtreeIsInvisible()) |
+ return true; |
+ } |
+ } |
+ return false; |
+} |
+ |
void FrameView::viewportConstrainedVisibleContentSizeChanged(bool widthChanged, bool heightChanged) |
{ |
if (!hasViewportConstrainedObjects()) |