<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>210278</bug_id>
          
          <creation_ts>2020-04-09 07:44:58 -0700</creation_ts>
          <short_desc>[ macOS debug wk2 ] REGRESSION(r259761): ASSERTION FAILED: !needsLayout() on fast/events/scroll-subframe-in-rendering-update.html</short_desc>
          <delta_ts>2020-04-09 16:51:06 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Scrolling</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=210244</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=210311</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>210041</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jacob Uphoff">jacob_uphoff</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tsavell</cc>
    
    <cc>webkit-bot-watchers-bugzilla</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1639633</commentid>
    <comment_count>0</comment_count>
    <who name="Jacob Uphoff">jacob_uphoff</who>
    <bug_when>2020-04-09 07:44:58 -0700</bug_when>
    <thetext>fast/events/scroll-subframe-in-rendering-update.html

This test started to flaky crash with an assertion failure and first failure was seen on r259732 for macOS debug wk2.

History:

https://results.webkit.org/?suite=layout-tests&amp;test=fast%2Fevents%2Fscroll-subframe-in-rendering-update.html&amp;platform=mac&amp;style=debug&amp;flavor=wk2

Log:

No crash log found for com.apple.WebKit.WebContent.Development:16610.

stdout:

stderr:
ASSERTION FAILED: !needsLayout()
./page/FrameView.cpp(4276) : virtual void WebCore::FrameView::paintContents(WebCore::GraphicsContext &amp;, const WebCore::IntRect &amp;, WebCore::Widget::SecurityOriginPaintPolicy, WebCore::EventRegionContext *)
1   0x27e312cf9 WTFCrash
2   0x260fe0c6b WTFCrashWithInfo(int, char const*, char const*, int)
3   0x2646da016 WebCore::FrameView::paintContents(WebCore::GraphicsContext&amp;, WebCore::IntRect const&amp;, WebCore::Widget::SecurityOriginPaintPolicy, WebCore::EventRegionContext*)
4   0x2649522b4 WebCore::ScrollView::paint(WebCore::GraphicsContext&amp;, WebCore::IntRect const&amp;, WebCore::Widget::SecurityOriginPaintPolicy, WebCore::EventRegionContext*)
5   0x2651dc56b WebCore::RenderWidget::paintContents(WebCore::PaintInfo&amp;, WebCore::LayoutPoint const&amp;)
6   0x2651dce27 WebCore::RenderWidget::paint(WebCore::PaintInfo&amp;, WebCore::LayoutPoint const&amp;)
7   0x265061cd4 WebCore::RenderLayer::collectEventRegionForFragments(WTF::Vector&lt;WebCore::LayerFragment, 1ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt; const&amp;, WebCore::GraphicsContext&amp;, WebCore::RenderLayer::LayerPaintingInfo const&amp;)
8   0x26505dedf WebCore::RenderLayer::paintLayerContents(WebCore::GraphicsContext&amp;, WebCore::RenderLayer::LayerPaintingInfo const&amp;, WTF::OptionSet&lt;WebCore::RenderLayer::PaintLayerFlag&gt;)
9   0x2650a9119 WebCore::RenderLayerBacking::paintIntoLayer(WebCore::GraphicsLayer const*, WebCore::GraphicsContext&amp;, WebCore::IntRect const&amp;, WTF::OptionSet&lt;WebCore::PaintBehavior&gt;, WebCore::EventRegionContext*)::$_5::operator()(WebCore::RenderLayer&amp;, WTF::OptionSet&lt;WebCore::RenderLayer::PaintLayerFlag&gt;) const
10  0x2650a89d2 WebCore::RenderLayerBacking::paintIntoLayer(WebCore::GraphicsLayer const*, WebCore::GraphicsContext&amp;, WebCore::IntRect const&amp;, WTF::OptionSet&lt;WebCore::PaintBehavior&gt;, WebCore::EventRegionContext*)
11  0x2650a5da0 WebCore::RenderLayerBacking::updateEventRegion()::$_2::operator()(WebCore::GraphicsLayer&amp;) const
12  0x2650a59c4 WebCore::RenderLayerBacking::updateEventRegion()
13  0x2650b3147 WebCore::RenderLayerCompositor::updateBackingAndHierarchy(WebCore::RenderLayer&amp;, WTF::Vector&lt;WTF::Ref&lt;WebCore::GraphicsLayer, WTF::DumbPtrTraits&lt;WebCore::GraphicsLayer&gt; &gt;, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt;&amp;, WebCore::RenderLayerCompositor::UpdateBackingTraversalState&amp;, WebCore::ScrollingTreeState&amp;, WTF::OptionSet&lt;WebCore::RenderLayerCompositor::UpdateLevel&gt;)
14  0x2650b354e WebCore::RenderLayerCompositor::updateBackingAndHierarchy(WebCore::RenderLayer&amp;, WTF::Vector&lt;WTF::Ref&lt;WebCore::GraphicsLayer, WTF::DumbPtrTraits&lt;WebCore::GraphicsLayer&gt; &gt;, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt;&amp;, WebCore::RenderLayerCompositor::UpdateBackingTraversalState&amp;, WebCore::ScrollingTreeState&amp;, WTF::OptionSet&lt;WebCore::RenderLayerCompositor::UpdateLevel&gt;)
15  0x2650b3602 WebCore::RenderLayerCompositor::updateBackingAndHierarchy(WebCore::RenderLayer&amp;, WTF::Vector&lt;WTF::Ref&lt;WebCore::GraphicsLayer, WTF::DumbPtrTraits&lt;WebCore::GraphicsLayer&gt; &gt;, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt;&amp;, WebCore::RenderLayerCompositor::UpdateBackingTraversalState&amp;, WebCore::ScrollingTreeState&amp;, WTF::OptionSet&lt;WebCore::RenderLayerCompositor::UpdateLevel&gt;)
16  0x2650b0950 WebCore::RenderLayerCompositor::updateCompositingLayers(WebCore::CompositingUpdateType, WebCore::RenderLayer*)
17  0x2646c90c3 WebCore::FrameView::updateCompositingLayersAfterLayout()
18  0x2646cb997 WebCore::FrameView::didLayout(WTF::WeakPtr&lt;WebCore::RenderElement&gt;)
19  0x2647111a7 WebCore::FrameViewLayoutContext::layout()
20  0x2646a5f25 WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive()
21  0x26473a3ae WebCore::Page::layoutIfNeeded()
22  0x26473a50a WebCore::Page::updateRendering()
23  0x105cc5686 WebKit::WebPage::updateRendering()
24  0x105706854 WebKit::TiledCoreAnimationDrawingArea::updateRendering(WebKit::TiledCoreAnimationDrawingArea::UpdateRenderingType)
25  0x10570b02d WebKit::TiledCoreAnimationDrawingArea::updateRenderingRunLoopCallback()
26  0x10571b318 WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea(WebKit::WebPage&amp;, WebKit::WebPageCreationParameters const&amp;)::$_0::operator()() const
27  0x10571b2ce WTF::Detail::CallableWrapper&lt;WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea(WebKit::WebPage&amp;, WebKit::WebPageCreationParameters const&amp;)::$_0, void&gt;::call()
28  0x260ff3612 WTF::Function&lt;void ()&gt;::operator()() const
29  0x2649e35c0 WebCore::RunLoopObserver::runLoopObserverFired()
30  0x2649e3520 WebCore::RunLoopObserver::runLoopObserverFired(__CFRunLoopObserver*, unsigned long, void*)
31  0x7fff349984f5 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__
LEAK: 2 WebPageProxy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639635</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-09 07:45:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/61517389&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639641</commentid>
    <comment_count>2</comment_count>
    <who name="Jacob Uphoff">jacob_uphoff</who>
    <bug_when>2020-04-09 07:58:13 -0700</bug_when>
    <thetext>Reproduced with command: &apos;run-webkit-tests --iterations 2000 --exit-after-n-failures 1 --exit-after-n-crashes-or-timeouts 1 --debug-rwt-logging --no-retry --force --no-build -f --debug --root /Volumes/Data/tmp/MacDebug fast/events/scroll-subframe-in-rendering-update.html&apos;
Found Failures using Iterations on Debug WK2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639673</commentid>
    <comment_count>3</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-04-09 09:21:34 -0700</bug_when>
    <thetext>Oops. I checked the wrong view in RenderWidget::paint(). Need to check that m_widget does not need layout. Not the view() of the RenderWidget.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639676</commentid>
    <comment_count>4</comment_count>
      <attachid>395962</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-04-09 09:27:11 -0700</bug_when>
    <thetext>Created attachment 395962
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639779</commentid>
    <comment_count>5</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2020-04-09 12:23:44 -0700</bug_when>
    <thetext>*** Bug 210244 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639788</commentid>
    <comment_count>6</comment_count>
      <attachid>395962</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-09 12:40:01 -0700</bug_when>
    <thetext>Comment on attachment 395962
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=395962&amp;action=review

&gt; Source/WebCore/ChangeLog:10
&gt; +        Only EventRegion paint the contents of the widget if the widget is a frame view that
&gt; +        does not need layout.

This says what the patch does. But where’s the explanation of why?

Might even want the reason why as a comment in the source code.

Not arguing for something super-wordy, but the relevant question for comments is always &quot;why&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639797</commentid>
    <comment_count>7</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-04-09 12:51:23 -0700</bug_when>
    <thetext>Thanks for the review. I will add a why: you don&apos;t paint a widget before it layed out. Otherwise, you hit the assertion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639835</commentid>
    <comment_count>8</comment_count>
      <attachid>396001</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-04-09 13:38:26 -0700</bug_when>
    <thetext>Created attachment 396001
To land</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639837</commentid>
    <comment_count>9</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-04-09 13:38:52 -0700</bug_when>
    <thetext>Committed r259821: &lt;https://trac.webkit.org/changeset/259821&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639898</commentid>
    <comment_count>10</comment_count>
      <attachid>396001</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-09 15:01:06 -0700</bug_when>
    <thetext>Comment on attachment 396001
To land

This isn&apos;t right. We should never be testing needsLayout() except to assert; the code simply shouldn&apos;t ever get here, and if it does, something is wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639904</commentid>
    <comment_count>11</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-09 15:04:24 -0700</bug_when>
    <thetext>That makes sense to me. Sorry I didn’t think of that when reviewing.

Do you think we should roll out immediately, or remove this when adding a real fix?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639905</commentid>
    <comment_count>12</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-04-09 15:05:29 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #10)
&gt; Comment on attachment 396001 [details]
&gt; To land
&gt; 
&gt; This isn&apos;t right. We should never be testing needsLayout() except to assert;
&gt; the code simply shouldn&apos;t ever get here, and if it does, something is wrong.
on WK1 we even early return if the tree needs layout. This patch should be reverted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639909</commentid>
    <comment_count>13</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2020-04-09 15:08:51 -0700</bug_when>
    <thetext>*** Bug 210308 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639912</commentid>
    <comment_count>14</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-04-09 15:10:00 -0700</bug_when>
    <thetext>(In reply to zalan from comment #12)
&gt; (In reply to Simon Fraser (smfr) from comment #10)
&gt; &gt; Comment on attachment 396001 [details]
&gt; &gt; To land
&gt; &gt; 
&gt; &gt; This isn&apos;t right. We should never be testing needsLayout() except to assert;
&gt; &gt; the code simply shouldn&apos;t ever get here, and if it does, something is wrong.
&gt; on WK1 we even early return if the tree needs layout. This patch should be
&gt; reverted.

Ok, I don&apos;t need the needsLayout bit. I can write in terms needsEventRegionUpdateForNonCompositedFrame()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639915</commentid>
    <comment_count>15</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2020-04-09 15:11:58 -0700</bug_when>
    <thetext>*** Bug 210307 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639916</commentid>
    <comment_count>16</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-04-09 15:13:02 -0700</bug_when>
    <thetext>Re-opening to write in terms of needsEventRegionUpdateForNonCompositedFrame()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639919</commentid>
    <comment_count>17</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-04-09 15:20:35 -0700</bug_when>
    <thetext>this stacktrace indicates that
1. we either do not manage to clean the tree properly (we come back from layout with some dirty renderers)
2. someone marks some renderers dirty after layout but still within this stacktrace (essentially between layout and paint)

ASSERTION FAILED: !needsLayout()
./page/FrameView.cpp(4276) : virtual void WebCore::FrameView::paintContents(WebCore::GraphicsContext &amp;, const WebCore::IntRect &amp;, WebCore::Widget::SecurityOriginPaintPolicy, WebCore::EventRegionContext *)
1   0x27e312cf9 WTFCrash
2   0x260fe0c6b WTFCrashWithInfo(int, char const*, char const*, int)
3   0x2646da016 WebCore::FrameView::paintContents(WebCore::GraphicsContext&amp;, WebCore::IntRect const&amp;, WebCore::Widget::SecurityOriginPaintPolicy, WebCore::EventRegionContext*)
4   0x2649522b4 WebCore::ScrollView::paint(WebCore::GraphicsContext&amp;, WebCore::IntRect const&amp;, WebCore::Widget::SecurityOriginPaintPolicy, WebCore::EventRegionContext*)
5   0x2651dc56b WebCore::RenderWidget::paintContents(WebCore::PaintInfo&amp;, WebCore::LayoutPoint const&amp;)
6   0x2651dce27 WebCore::RenderWidget::paint(WebCore::PaintInfo&amp;, WebCore::LayoutPoint const&amp;)
7   0x265061cd4 WebCore::RenderLayer::collectEventRegionForFragments(WTF::Vector&lt;WebCore::LayerFragment, 1ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt; const&amp;, WebCore::GraphicsContext&amp;, WebCore::RenderLayer::LayerPaintingInfo const&amp;)
8   0x26505dedf WebCore::RenderLayer::paintLayerContents(WebCore::GraphicsContext&amp;, WebCore::RenderLayer::LayerPaintingInfo const&amp;, WTF::OptionSet&lt;WebCore::RenderLayer::PaintLayerFlag&gt;)
9   0x2650a9119 WebCore::RenderLayerBacking::paintIntoLayer(WebCore::GraphicsLayer const*, WebCore::GraphicsContext&amp;, WebCore::IntRect const&amp;, WTF::OptionSet&lt;WebCore::PaintBehavior&gt;, WebCore::EventRegionContext*)::$_5::operator()(WebCore::RenderLayer&amp;, WTF::OptionSet&lt;WebCore::RenderLayer::PaintLayerFlag&gt;) const
10  0x2650a89d2 WebCore::RenderLayerBacking::paintIntoLayer(WebCore::GraphicsLayer const*, WebCore::GraphicsContext&amp;, WebCore::IntRect const&amp;, WTF::OptionSet&lt;WebCore::PaintBehavior&gt;, WebCore::EventRegionContext*)
11  0x2650a5da0 WebCore::RenderLayerBacking::updateEventRegion()::$_2::operator()(WebCore::GraphicsLayer&amp;) const
12  0x2650a59c4 WebCore::RenderLayerBacking::updateEventRegion()
13  0x2650b3147 WebCore::RenderLayerCompositor::updateBackingAndHierarchy(WebCore::RenderLayer&amp;, WTF::Vector&lt;WTF::Ref&lt;WebCore::GraphicsLayer, WTF::DumbPtrTraits&lt;WebCore::GraphicsLayer&gt; &gt;, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt;&amp;, WebCore::RenderLayerCompositor::UpdateBackingTraversalState&amp;, WebCore::ScrollingTreeState&amp;, WTF::OptionSet&lt;WebCore::RenderLayerCompositor::UpdateLevel&gt;)
14  0x2650b354e WebCore::RenderLayerCompositor::updateBackingAndHierarchy(WebCore::RenderLayer&amp;, WTF::Vector&lt;WTF::Ref&lt;WebCore::GraphicsLayer, WTF::DumbPtrTraits&lt;WebCore::GraphicsLayer&gt; &gt;, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt;&amp;, WebCore::RenderLayerCompositor::UpdateBackingTraversalState&amp;, WebCore::ScrollingTreeState&amp;, WTF::OptionSet&lt;WebCore::RenderLayerCompositor::UpdateLevel&gt;)
15  0x2650b3602 WebCore::RenderLayerCompositor::updateBackingAndHierarchy(WebCore::RenderLayer&amp;, WTF::Vector&lt;WTF::Ref&lt;WebCore::GraphicsLayer, WTF::DumbPtrTraits&lt;WebCore::GraphicsLayer&gt; &gt;, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt;&amp;, WebCore::RenderLayerCompositor::UpdateBackingTraversalState&amp;, WebCore::ScrollingTreeState&amp;, WTF::OptionSet&lt;WebCore::RenderLayerCompositor::UpdateLevel&gt;)
16  0x2650b0950 WebCore::RenderLayerCompositor::updateCompositingLayers(WebCore::CompositingUpdateType, WebCore::RenderLayer*)
17  0x2646c90c3 WebCore::FrameView::updateCompositingLayersAfterLayout()
18  0x2646cb997 WebCore::FrameView::didLayout(WTF::WeakPtr&lt;WebCore::RenderElement&gt;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639927</commentid>
    <comment_count>18</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-04-09 15:47:40 -0700</bug_when>
    <thetext>oh crossing frame boundaries :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639928</commentid>
    <comment_count>19</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-09 15:48:36 -0700</bug_when>
    <thetext>The issue here is that RenderLayerBacking::updateEventRegion() now crosses frame boundaries with the fake paint, but we&apos;re inside of updateCompositingLayers() on some document, with no guarantee that subframes have been laid out yet.

We need to move event region &quot;painting&quot; to some later time when all frames have been laid out, or we need event region painting to not cross frame boundaries, and have some solution for non-composited subframes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639935</commentid>
    <comment_count>20</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-04-09 15:51:10 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #19)
&gt; The issue here is that RenderLayerBacking::updateEventRegion() now crosses
&gt; frame boundaries with the fake paint, but we&apos;re inside of
&gt; updateCompositingLayers() on some document, with no guarantee that subframes
&gt; have been laid out yet.
&gt; 
&gt; We need to move event region &quot;painting&quot; to some later time when all frames
&gt; have been laid out, or we need event region painting to not cross frame
&gt; boundaries, and have some solution for non-composited subframes.
why does event region painting cross frame boundaries? Normal paint does not do it. What&apos;s so special about event regions in this context?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639962</commentid>
    <comment_count>21</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-04-09 16:45:47 -0700</bug_when>
    <thetext>Committed r259839: &lt;https://trac.webkit.org/changeset/259839&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1639964</commentid>
    <comment_count>22</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-04-09 16:51:06 -0700</bug_when>
    <thetext>(In reply to zalan from comment #20)
&gt; (In reply to Simon Fraser (smfr) from comment #19)
&gt; &gt; The issue here is that RenderLayerBacking::updateEventRegion() now crosses
&gt; &gt; frame boundaries with the fake paint, but we&apos;re inside of
&gt; &gt; updateCompositingLayers() on some document, with no guarantee that subframes
&gt; &gt; have been laid out yet.
&gt; &gt; 
&gt; &gt; We need to move event region &quot;painting&quot; to some later time when all frames
&gt; &gt; have been laid out, or we need event region painting to not cross frame
&gt; &gt; boundaries, and have some solution for non-composited subframes.
&gt; why does event region painting cross frame boundaries? Normal paint does not
&gt; do it. What&apos;s so special about event regions in this context?

I explained this to you in a pm. To summarize here, event regions are stored on compositing layers only. So, when they are triggered there is no guarantee that all frames (including non-composited frames) have layed out. See bug #210311 for more details.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395962</attachid>
            <date>2020-04-09 09:27:11 -0700</date>
            <delta_ts>2020-04-09 13:38:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210278-20200409092710.patch</filename>
            <type>text/plain</type>
            <size>1896</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5NzYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDViOWE1NDAwMDIzODNk
NTVjMzVlN2ZlNDUzZGFmYzU3MjAxYmU0MC4uY2RiMjJhZWY4Zjk0ZTUyOTY0NTk4YmE0OGJiNmVm
MDU3ODYyZjJkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA0LTA5ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbIG1hY09TIGRlYnVnIHdr
MiBdIFJFR1JFU1NJT04ocjI1OTc2Mik6IEFTU0VSVElPTiBGQUlMRUQ6ICFuZWVkc0xheW91dCgp
IG9uIGZhc3QvZXZlbnRzL3Njcm9sbC1zdWJmcmFtZS1pbi1yZW5kZXJpbmctdXBkYXRlLmh0bWwK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDI3OAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjE1MTczODk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT25seSBFdmVudFJlZ2lvbiBwYWludCB0aGUgY29u
dGVudHMgb2YgdGhlIHdpZGdldCBpZiB0aGUgd2lkZ2V0IGlzIGEgZnJhbWUgdmlldyB0aGF0Cisg
ICAgICAgIGRvZXMgbm90IG5lZWQgbGF5b3V0LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
cldpZGdldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJXaWRnZXQ6OnBhaW50KToKKwog
MjAyMC0wNC0wOCAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAg
VHJhY2sgZWRpdGFibGUgZWxlbWVudHMgb24gc2NyZWVuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJXaWRnZXQuY3BwCmluZGV4IDFjNDhkYjZhM2JiN2I3MWQxNWJhMzNkM2Y5ZmE2Yzkw
MThmZWExYWMuLmJmMWE4YmFmY2UxOTU3YTc3ZjhiN2NjZDU4MjIyN2RjMzY0MmM0OTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwCkBAIC0yOTIsNyArMjkyLDgg
QEAgdm9pZCBSZW5kZXJXaWRnZXQ6OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBM
YXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpCiAgICAgaWYgKChwYWludEluZm8ucGhhc2UgPT0gUGFp
bnRQaGFzZTo6T3V0bGluZSB8fCBwYWludEluZm8ucGhhc2UgPT0gUGFpbnRQaGFzZTo6U2VsZk91
dGxpbmUpICYmIGhhc091dGxpbmUoKSkKICAgICAgICAgcGFpbnRPdXRsaW5lKHBhaW50SW5mbywg
TGF5b3V0UmVjdChhZGp1c3RlZFBhaW50T2Zmc2V0LCBzaXplKCkpKTsKIAotICAgIGlmIChwYWlu
dEluZm8ucGhhc2UgIT0gUGFpbnRQaGFzZTo6Rm9yZWdyb3VuZCAmJiAocGFpbnRJbmZvLnBoYXNl
ICE9IFBhaW50UGhhc2U6OkV2ZW50UmVnaW9uIHx8IHZpZXcoKS5uZWVkc0xheW91dCgpKSkKKyAg
ICBib29sIG5lZWRzRXZlbnRSZWdpb25Db250ZW50UGFpbnQgPSBwYWludEluZm8ucGhhc2UgPT0g
UGFpbnRQaGFzZTo6RXZlbnRSZWdpb24gJiYgaXM8RnJhbWVWaWV3PihtX3dpZGdldCkgJiYgIWRv
d25jYXN0PEZyYW1lVmlldz4oKm1fd2lkZ2V0KS5uZWVkc0xheW91dCgpOworICAgIGlmIChwYWlu
dEluZm8ucGhhc2UgIT0gUGFpbnRQaGFzZTo6Rm9yZWdyb3VuZCAmJiAhbmVlZHNFdmVudFJlZ2lv
bkNvbnRlbnRQYWludCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKHN0eWxlKCkuaGFzQm9y
ZGVyUmFkaXVzKCkpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396001</attachid>
            <date>2020-04-09 13:38:26 -0700</date>
            <delta_ts>2020-04-09 13:38:26 -0700</delta_ts>
            <desc>To land</desc>
            <filename>bug-210278-20200409133826.patch</filename>
            <type>text/plain</type>
            <size>2019</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5ODIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDAzMDZlMWVmNTU5NTM2
NmQ3ZmZmMzk0ZGVkZTZmNWZiNjAwN2Q4OS4uYTZiMTQ1NTgyNTU3Zjc3NjIzMDM0ODhhNGJjNzg5
OTNiYWQ4MzMzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIwLTA0LTA5ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbIG1hY09TIGRlYnVnIHdr
MiBdIFJFR1JFU1NJT04ocjI1OTc2Mik6IEFTU0VSVElPTiBGQUlMRUQ6ICFuZWVkc0xheW91dCgp
IG9uIGZhc3QvZXZlbnRzL3Njcm9sbC1zdWJmcmFtZS1pbi1yZW5kZXJpbmctdXBkYXRlLmh0bWwK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMDI3OAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjE1MTczODk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
RGFyaW4gQWRsZXIuCisKKyAgICAgICAgT25seSBFdmVudFJlZ2lvbiBwYWludCB0aGUgY29udGVu
dHMgb2YgdGhlIHdpZGdldCBpZiB0aGUgd2lkZ2V0IGlzIGEgZnJhbWUgdmlldyB0aGF0CisgICAg
ICAgIGRvZXMgbm90IG5lZWQgbGF5b3V0IGJlY2F1c2UgbGF5b3V0IG11c3QgY29tZSBiZWZvcmUg
cGFpbnRpbmcuIE90aGVyd2lzZSwgYW4gYXNzZXJ0aW9uCisgICAgICAgIGZhaWx1cmUgd2lsbCBv
Y2N1ci4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyV2lkZ2V0OjpwYWludCk6CisKIDIwMjAtMDQtMDkgIFNpbW9uIEZyYXNl
ciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgZXZlbnRTZW5kZXIubW9uaXRv
cldoZWVsRXZlbnRzKCkgc2hvdWxkIGNsZWFyIGxhdGNoaW5nIHN0YXRlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyV2lkZ2V0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwCmluZGV4IDFjNDhkYjZhM2JiN2I3MWQxNWJhMzNk
M2Y5ZmE2YzkwMThmZWExYWMuLmJmMWE4YmFmY2UxOTU3YTc3ZjhiN2NjZDU4MjIyN2RjMzY0MmM0
OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJXaWRnZXQuY3BwCkBAIC0yOTIs
NyArMjkyLDggQEAgdm9pZCBSZW5kZXJXaWRnZXQ6OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJbmZv
LCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpCiAgICAgaWYgKChwYWludEluZm8ucGhh
c2UgPT0gUGFpbnRQaGFzZTo6T3V0bGluZSB8fCBwYWludEluZm8ucGhhc2UgPT0gUGFpbnRQaGFz
ZTo6U2VsZk91dGxpbmUpICYmIGhhc091dGxpbmUoKSkKICAgICAgICAgcGFpbnRPdXRsaW5lKHBh
aW50SW5mbywgTGF5b3V0UmVjdChhZGp1c3RlZFBhaW50T2Zmc2V0LCBzaXplKCkpKTsKIAotICAg
IGlmIChwYWludEluZm8ucGhhc2UgIT0gUGFpbnRQaGFzZTo6Rm9yZWdyb3VuZCAmJiAocGFpbnRJ
bmZvLnBoYXNlICE9IFBhaW50UGhhc2U6OkV2ZW50UmVnaW9uIHx8IHZpZXcoKS5uZWVkc0xheW91
dCgpKSkKKyAgICBib29sIG5lZWRzRXZlbnRSZWdpb25Db250ZW50UGFpbnQgPSBwYWludEluZm8u
cGhhc2UgPT0gUGFpbnRQaGFzZTo6RXZlbnRSZWdpb24gJiYgaXM8RnJhbWVWaWV3PihtX3dpZGdl
dCkgJiYgIWRvd25jYXN0PEZyYW1lVmlldz4oKm1fd2lkZ2V0KS5uZWVkc0xheW91dCgpOworICAg
IGlmIChwYWludEluZm8ucGhhc2UgIT0gUGFpbnRQaGFzZTo6Rm9yZWdyb3VuZCAmJiAhbmVlZHNF
dmVudFJlZ2lvbkNvbnRlbnRQYWludCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKHN0eWxl
KCkuaGFzQm9yZGVyUmFkaXVzKCkpIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>