[Webkit-unassigned] [Bug 196337] Strange scrolling issue on Safari 12.1 & 12.2 when display: none & display:block is used.
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Mar 28 15:25:19 PDT 2019
https://bugs.webkit.org/show_bug.cgi?id=196337
--- Comment #2 from Simon Fraser (smfr) <simon.fraser at apple.com> ---
This is the bug where updateScrollInfoAfterLayout() clobbers scroll position:
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 7.1
frame #0: 0x000000052ce951ea WebCore`WebCore::RenderLayer::scrollTo(this=0x000000056cae1e70, position={ x = 0, y = 0 }) at RenderLayer.cpp:2354:5
frame #1: 0x000000052ce98b63 WebCore`WebCore::RenderLayer::setScrollOffset(this=0x000000056cae1e70, offset={ x = 0, y = 0 }) at RenderLayer.cpp:2787:5
frame #2: 0x000000052c89a93e WebCore`WebCore::ScrollableArea::scrollPositionChanged(this=0x000000056cae1e70, position={ x = 0, y = 0 }) at ScrollableArea.cpp:166:5
frame #3: 0x000000052c89ac98 WebCore`WebCore::ScrollableArea::setScrollOffsetFromAnimation(this=0x000000056cae1e70, offset={ x = 0, y = 0 }) at ScrollableArea.cpp:229:5
frame #4: 0x000000052c88f536 WebCore`WebCore::ScrollAnimator::notifyPositionChanged(this=0x00000005712c5370, delta={ width = 0.0, height = -179.0 }) at ScrollAnimator.cpp:193:22
frame #5: 0x0000000529b211a3 WebCore`WebCore::ScrollAnimatorMac::notifyPositionChanged(this=0x00000005712c5370, delta={ width = 0.0, height = -179.0 }) at ScrollAnimatorMac.mm:858:21
frame #6: 0x0000000529b20c8c WebCore`WebCore::ScrollAnimatorMac::immediateScrollToPosition(this=0x00000005712c5370, newPosition={ x = 0.0, y = 0.0 }, clamping=Clamped) at ScrollAnimatorMac.mm:827:5
frame #7: 0x0000000529b20bb3 WebCore`WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation(this=0x00000005712c5370, offset={ x = 0.0, y = 0.0 }, clamping=Clamped) at ScrollAnimatorMac.mm:793:5
frame #8: 0x000000052c895f77 WebCore`WebCore::ScrollableArea::scrollToOffsetWithoutAnimation(this=0x000000056cae1e70, offset={ x = 0.0, y = 0.0 }, clamping=Clamped) at ScrollableArea.cpp:144:22
frame #9: 0x000000052ce94ef5 WebCore`WebCore::RenderLayer::scrollToOffset(this=0x000000056cae1e70, scrollOffset={ x = 0, y = 0 }, clamping=Clamped) at RenderLayer.cpp:2345:9
frame #10: 0x000000052ce9cb1d WebCore`WebCore::RenderLayer::updateScrollInfoAfterLayout(this=0x000000056cae1e70) at RenderLayer.cpp:3583:13
* frame #11: 0x000000052cd28a0e WebCore`WebCore::RenderBlock::updateScrollInfoAfterLayout(this=0x000000054c3015f0) at RenderBlock.cpp:588:18
frame #12: 0x000000052ce1ad30 WebCore`WebCore::RenderFlexibleBox::layoutBlock(this=0x000000054c3015f0, relayoutChildren=true, (null)={ 0px (0) }) at RenderFlexibleBox.cpp:318:5
frame #13: 0x000000052cd28adc WebCore`WebCore::RenderBlock::layout(this=0x000000054c3015f0) at RenderBlock.cpp:598:5
frame #14: 0x000000052ccc575c WebCore`WebCore::RenderElement::layoutIfNeeded(this=0x000000054c3015f0) at RenderElement.h:122:48
frame #15: 0x000000052ccc764b WebCore`WebCore::DefiniteSizeStrategy::layoutGridItemForMinSizeComputation(this=0x000000057120f020, child=0x000000054c3015f0, overrideSizeHasChanged=false) const at GridTrackSizingAlgorithm.cpp:1070:11
frame #16: 0x000000052ccc36cb WebCore`WebCore::GridTrackSizingAlgorithmStrategy::minSizeForChild(this=0x000000057120f020, child=0x000000054c3015f0) const at GridTrackSizingAlgorithm.cpp:832:5
frame #17: 0x000000052ccc27a8 WebCore`WebCore::GridTrackSizingAlgorithm::sizeTrackToFitNonSpanningItem(this=0x000000054d500c48, span=0x00007ffee1e12228, gridItem=0x000000054c3015f0, track=0x000000056fb598dc) at GridTrackSizingAlgorithm.cpp:249:66
frame #18: 0x000000052ccc7f4d WebCore`WebCore::GridTrackSizingAlgorithm::resolveIntrinsicTrackSizes(this=0x000000054d500c48) at GridTrackSizingAlgorithm.cpp:1144:25
frame #19: 0x000000052cccb75a WebCore`WebCore::GridTrackSizingAlgorithm::run(this=0x000000054d500c48) at GridTrackSizingAlgorithm.cpp:1313:9
frame #20: 0x000000052ce587be WebCore`WebCore::RenderGrid::computeTrackSizesForDefiniteSize(this=0x000000054d500a98, direction=ForRows, availableSpace={ 533px (34112) }) at RenderGrid.cpp:146:28
frame #21: 0x000000052ce59993 WebCore`WebCore::RenderGrid::layoutBlock(this=0x000000054d500a98, relayoutChildren=false, (null)={ 0px (0) }) at RenderGrid.cpp:251:13
frame #22: 0x000000052cd28adc WebCore`WebCore::RenderBlock::layout(this=0x000000054d500a98) at RenderBlock.cpp:598:5
frame #23: 0x000000052cd43382 WebCore`WebCore::RenderBlockFlow::layoutBlockChild(this=0x000000056d502e20, child=0x000000054d500a98, marginInfo=0x00007ffee1e128c8, previousFloatLogicalBottom={ 0px (0) }, maxFloatLogicalBottom={ 0px (0) }) at RenderBlockFlow.cpp:730:15
frame #24: 0x000000052cd41c84 WebCore`WebCore::RenderBlockFlow::layoutBlockChildren(this=0x000000056d502e20, relayoutChildren=false, maxFloatLogicalBottom={ 0px (0) }) at RenderBlockFlow.cpp:653:9
frame #25: 0x000000052cd40b32 WebCore`WebCore::RenderBlockFlow::layoutBlock(this=0x000000056d502e20, relayoutChildren=false, pageLogicalHeight={ 0px (0) }) at RenderBlockFlow.cpp:505:13
frame #26: 0x000000052cd28adc WebCore`WebCore::RenderBlock::layout(this=0x000000056d502e20) at RenderBlock.cpp:598:5
frame #27: 0x000000052cd43382 WebCore`WebCore::RenderBlockFlow::layoutBlockChild(this=0x000000056d501680, child=0x000000056d502e20, marginInfo=0x00007ffee1e12ef8, previousFloatLogicalBottom={ 8px (512) }, maxFloatLogicalBottom={ 0px (0) }) at RenderBlockFlow.cpp:730:15
frame #28: 0x000000052cd41c84 WebCore`WebCore::RenderBlockFlow::layoutBlockChildren(this=0x000000056d501680, relayoutChildren=false, maxFloatLogicalBottom={ 0px (0) }) at RenderBlockFlow.cpp:653:9
frame #29: 0x000000052cd40b32 WebCore`WebCore::RenderBlockFlow::layoutBlock(this=0x000000056d501680, relayoutChildren=false, pageLogicalHeight={ 0px (0) }) at RenderBlockFlow.cpp:505:13
frame #30: 0x000000052cd28adc WebCore`WebCore::RenderBlock::layout(this=0x000000056d501680) at RenderBlock.cpp:598:5
frame #31: 0x000000052cd43382 WebCore`WebCore::RenderBlockFlow::layoutBlockChild(this=0x000000054ae00b20, child=0x000000056d501680, marginInfo=0x00007ffee1e13528, previousFloatLogicalBottom={ 0px (0) }, maxFloatLogicalBottom={ 0px (0) }) at RenderBlockFlow.cpp:730:15
frame #32: 0x000000052cd41c84 WebCore`WebCore::RenderBlockFlow::layoutBlockChildren(this=0x000000054ae00b20, relayoutChildren=false, maxFloatLogicalBottom={ 0px (0) }) at RenderBlockFlow.cpp:653:9
frame #33: 0x000000052cd40b32 WebCore`WebCore::RenderBlockFlow::layoutBlock(this=0x000000054ae00b20, relayoutChildren=false, pageLogicalHeight={ 0px (0) }) at RenderBlockFlow.cpp:505:13
frame #34: 0x000000052cd28adc WebCore`WebCore::RenderBlock::layout(this=0x000000054ae00b20) at RenderBlock.cpp:598:5
frame #35: 0x000000052cfcf6d8 WebCore`WebCore::RenderView::layout(this=0x000000054ae00b20) at RenderView.cpp:241:22
frame #36: 0x000000052c6d56fc WebCore`WebCore::FrameViewLayoutContext::layout(this=0x0000000548f011e8) at FrameViewLayoutContext.cpp:212:21
frame #37: 0x000000052bbe0cb6 WebCore`WebCore::Document::updateLayout(this={ origin = https://fiddle.jshell.net, url = https://fiddle.jshell.net/blackoctopus0/7f56qx9c/2/show/, inMainFrame = 0, pageCacheState = NotInPageCache }) at Document.cpp:2070:36
frame #38: 0x000000052cfced16 WebCore`WebCore::RenderView::hitTest(this=0x000000054ae00b20, request=0x00007ffee1e140e8, location=0x00007ffee1e13da8, result=0x00007ffee1e13da8) at RenderView.cpp:147:16
frame #39: 0x000000052cfcecd4 WebCore`WebCore::RenderView::hitTest(this=0x000000054ae00b20, request=0x00007ffee1e140e8, result=0x00007ffee1e13da8) at RenderView.cpp:142:12
frame #40: 0x000000052bbf002b WebCore`WebCore::Document::prepareMouseEvent(this={ origin = https://fiddle.jshell.net, url = https://fiddle.jshell.net/blackoctopus0/7f56qx9c/2/show/, inMainFrame = 0, pageCacheState = NotInPageCache }, request=0x00007ffee1e140e8, documentPoint={ x = -776px (-49664), y = 510px (32640) }, event=0x00007ffee1e14250) at Document.cpp:3746:19
frame #41: 0x000000052c67d004 WebCore`WebCore::EventHandler::prepareMouseEvent(this=0x0000000548051080, request=0x00007ffee1e140e8, mouseEvent=0x00007ffee1e14250) at EventHandler.cpp:2467:32
frame #42: 0x000000052c67d6bb WebCore`WebCore::EventHandler::handleMouseMoveEvent(this=0x0000000548051080, platformMouseEvent=0x00007ffee1e14250, hoveredNode=0x0000000000000000, onlyUpdateScrollbars=false) at EventHandler.cpp:1964:47
frame #43: 0x0000000529d16b04 WebCore`WebCore::EventHandler::passMouseMoveEventToSubframe(this=0x00000005480fa000, mev=0x00007ffee1e14250, subframe={ origin = https://fiddle.jshell.net, url = https://fiddle.jshell.net/blackoctopus0/7f56qx9c/2/show/, isMainFrame = 0, pageCacheState = NotInPageCache }, hoveredNode=0x0000000000000000) at EventHandlerMac.mm:701:30
frame #44: 0x000000052c67d93a WebCore`WebCore::EventHandler::handleMouseMoveEvent(this=0x00000005480fa000, platformMouseEvent=0x00007ffee1e14500, hoveredNode=0x00007ffee1e143d8, onlyUpdateScrollbars=false) at EventHandler.cpp:1992:9
frame #45: 0x000000052c67d1b3 WebCore`WebCore::EventHandler::mouseMoved(this=0x00000005480fa000, event=0x00007ffee1e14500) at EventHandler.cpp:1873:19
We have other bugs about this (can't find them).
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20190328/ac3baf10/attachment.html>
More information about the webkit-unassigned
mailing list