Title: [239601] trunk/Source/WebCore
- Revision
- 239601
- Author
- [email protected]
- Date
- 2019-01-03 15:47:59 -0800 (Thu, 03 Jan 2019)
Log Message
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):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (239600 => 239601)
--- trunk/Source/WebCore/ChangeLog 2019-01-03 23:25:57 UTC (rev 239600)
+++ trunk/Source/WebCore/ChangeLog 2019-01-03 23:47:59 UTC (rev 239601)
@@ -1,3 +1,21 @@
+2019-01-03 Simon Fraser <[email protected]>
+
+ 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 <[email protected]>
Potential infinite recursion in isFrameFamiliarWith(Frame&, Frame&)
Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp (239600 => 239601)
--- trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp 2019-01-03 23:25:57 UTC (rev 239600)
+++ trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp 2019-01-03 23:47:59 UTC (rev 239601)
@@ -1806,6 +1806,9 @@
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());
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes