Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
REGRESSION (r238090): After showing the Find banner or tab bar, hit t…
…ests are vertically offset (or painting is not offset)

https://bugs.webkit.org/show_bug.cgi?id=193124
rdar://problem/46755409

Reviewed by Tim Horton.

Top content inset feeds into scrolling tree geometry, so when it changes we need to trigger
an update of the root scrolling node, which happens via RenderLayerBacking::updateGeometry().
So set a dirty bit on the root layer in frameViewDidChangeSize(), which is called from the code
path that runs when top content inset changes.

Find banner behavior is not easily testable. platform/mac/fast/events/content-inset-hit-testing.html did not detect the regression.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::frameViewDidChangeSize):


Canonical link: https://commits.webkit.org/207629@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@239601 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
smfr committed Jan 3, 2019
1 parent 0cec239 commit 294d7c9
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 0 deletions.
18 changes: 18 additions & 0 deletions Source/WebCore/ChangeLog
@@ -1,3 +1,21 @@
2019-01-03 Simon Fraser <simon.fraser@apple.com>

REGRESSION (r238090): After showing the Find banner or tab bar, hit tests are vertically offset (or painting is not offset)
https://bugs.webkit.org/show_bug.cgi?id=193124
rdar://problem/46755409

Reviewed by Tim Horton.

Top content inset feeds into scrolling tree geometry, so when it changes we need to trigger
an update of the root scrolling node, which happens via RenderLayerBacking::updateGeometry().
So set a dirty bit on the root layer in frameViewDidChangeSize(), which is called from the code
path that runs when top content inset changes.

Find banner behavior is not easily testable. platform/mac/fast/events/content-inset-hit-testing.html did not detect the regression.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::frameViewDidChangeSize):

2019-01-03 Chris Dumez <cdumez@apple.com>

Potential infinite recursion in isFrameFamiliarWith(Frame&, Frame&)
Expand Down
3 changes: 3 additions & 0 deletions Source/WebCore/rendering/RenderLayerCompositor.cpp
Expand Up @@ -1806,6 +1806,9 @@ void RenderLayerCompositor::frameViewDidChangeLocation(const IntPoint& contentsO

void RenderLayerCompositor::frameViewDidChangeSize()
{
if (auto* layer = m_renderView.layer())
layer->setNeedsCompositingGeometryUpdate();

if (m_clipLayer) {
const FrameView& frameView = m_renderView.frameView();
m_clipLayer->setSize(frameView.sizeForVisibleContent());
Expand Down

0 comments on commit 294d7c9

Please sign in to comment.