| Index: third_party/WebKit/Source/core/frame/FrameView.cpp
|
| diff --git a/third_party/WebKit/Source/core/frame/FrameView.cpp b/third_party/WebKit/Source/core/frame/FrameView.cpp
|
| index c2bc13f9d104dfbd0107264d59ce9fdebe2ac1a5..e634f3d220955d8950297580c2e3f33d1ff669a4 100644
|
| --- a/third_party/WebKit/Source/core/frame/FrameView.cpp
|
| +++ b/third_party/WebKit/Source/core/frame/FrameView.cpp
|
| @@ -1410,10 +1410,8 @@ bool FrameView::invalidateViewportConstrainedObjects()
|
| if (layer->subtreeIsInvisible())
|
| continue;
|
|
|
| - // If the fixed layer has a blur/drop-shadow filter applied on at least one of its parents, we cannot
|
| - // scroll using the fast path, otherwise the outsets of the filter will be moved around the page.
|
| - if (layer->hasAncestorWithFilterThatMovesPixels())
|
| - return false;
|
| + // invalidate even if there is an ancestor with a filter that moves pixels.
|
| + layoutItem.setShouldDoFullPaintInvalidationIncludingNonCompositingDescendants();
|
|
|
| TRACE_EVENT_INSTANT1(
|
| TRACE_DISABLED_BY_DEFAULT("devtools.timeline.invalidationTracking"),
|
| @@ -1422,7 +1420,10 @@ bool FrameView::invalidateViewportConstrainedObjects()
|
| "data",
|
| InspectorScrollInvalidationTrackingEvent::data(*layoutObject));
|
|
|
| - layoutItem.setShouldDoFullPaintInvalidationIncludingNonCompositingDescendants();
|
| + // If the fixed layer has a blur/drop-shadow filter applied on at least one of its parents, we cannot
|
| + // scroll using the fast path, otherwise the outsets of the filter will be moved around the page.
|
| + if (layer->hasAncestorWithFilterThatMovesPixels())
|
| + return false;
|
| }
|
| return true;
|
| }
|
|
|