<?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>216192</bug_id>
          
          <creation_ts>2020-09-04 14:36:52 -0700</creation_ts>
          <short_desc>REGRESSION (r260571): Scrolling on weather.com in Safari causes the gradient background to flicker (fixed backgrounds)</short_desc>
          <delta_ts>2020-09-05 10:56:24 -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>
          
          
          <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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>jamesr</cc>
    
    <cc>luiz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1685855</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-09-04 14:36:52 -0700</bug_when>
    <thetext>REGRESSION (r260571): Scrolling on weather.com in Safari causes the gradient background to flicker (fixed backgrounds)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685857</commentid>
    <comment_count>1</comment_count>
      <attachid>408025</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-09-04 14:39:35 -0700</bug_when>
    <thetext>Created attachment 408025
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685858</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-09-04 14:39:37 -0700</bug_when>
    <thetext>&lt;rdar://problem/68192010&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685929</commentid>
    <comment_count>3</comment_count>
      <attachid>408025</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-04 17:01:50 -0700</bug_when>
    <thetext>Comment on attachment 408025
Patch

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

&gt; Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp:124
&gt; +    if (auto* rootNode = this-&gt;rootNode())
&gt; +        return !rootNode-&gt;hasSynchronousScrollingReasons();
&gt; +
&gt; +    return true;

Here’s how I would write this:

    auto rootNode = this-&gt;rootNode();
    return !rootNode || !rootNode-&gt;hasSynchronousScrollingReasons();

I actually find this easier to reason about than the return-based one. Not sure others agree. Another option would be:

    auto rootNode = this-&gt;rootNode();
    return rootNode &amp;&amp; rootNode-&gt;hasSynchronousScrollingReasons();

A plus for using auto rather than auto* is that we can switch to returning RefPtr from rootNode if we want to for object lifetime safety without modifying this call site.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1685976</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-09-04 18:49:11 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #3)
&gt; Comment on attachment 408025 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=408025&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp:124
&gt; &gt; +    if (auto* rootNode = this-&gt;rootNode())
&gt; &gt; +        return !rootNode-&gt;hasSynchronousScrollingReasons();
&gt; &gt; +
&gt; &gt; +    return true;
&gt; 
&gt; Here’s how I would write this:
&gt; 
&gt;     auto rootNode = this-&gt;rootNode();
&gt;     return !rootNode || !rootNode-&gt;hasSynchronousScrollingReasons();
&gt; 
&gt; I actually find this easier to reason about than the return-based one. Not
&gt; sure others agree. Another option would be:
&gt; 
&gt;     auto rootNode = this-&gt;rootNode();
&gt;     return rootNode &amp;&amp; rootNode-&gt;hasSynchronousScrollingReasons();

I think you mean !(rootNode &amp;&amp; rootNode-&gt;hasSynchronousScrollingReasons());

I tried both previous versions as I was writing the patch.
 
&gt; A plus for using auto rather than auto* is that we can switch to returning
&gt; RefPtr from rootNode if we want to for object lifetime safety without
&gt; modifying this call site.

I&apos;m not a fan of &apos;auto&apos; hiding the fact that it&apos;s a pointer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686091</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-09-05 10:56:24 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/266664/webkit</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408025</attachid>
            <date>2020-09-04 14:39:35 -0700</date>
            <delta_ts>2020-09-04 14:43:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216192-20200904143934.patch</filename>
            <type>text/plain</type>
            <size>4241</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2MzM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWQyNjEzMmFjYWNmNGUz
NjhjNGEzNGQ3MWRiNzI3MjM4ZjI1YmFjOS4uMWEyNGNiZjZkMDQxMTQzMzA4YzkyMmRkOWFiZjRm
ZjJhYTAxMmVlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTA5LTA0ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04g
KHIyNjA1NzEpOiBTY3JvbGxpbmcgb24gd2VhdGhlci5jb20gaW4gU2FmYXJpIGNhdXNlcyB0aGUg
Z3JhZGllbnQgYmFja2dyb3VuZCB0byBmbGlja2VyIChmaXhlZCBiYWNrZ3JvdW5kcykKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNjE5MgorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNjgxOTIwMTA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSWYgYSBwYWdlIGhhcyBzbG93LXNjcm9sbGluZyByZWFzb25z
LCBsaWtlIGJhY2tncm91bmQtYXR0YWNobWVudDpmaXhlZCBvbiBhIG5vbi1yb290IGVsZW1lbnQs
CisgICAgICAgIHRoZW4gd2Ugc2hvdWxkIG5ldmVyIHVwZGF0ZSBsYXllciBwb3NpdGlvbnMgb24g
dGhlIHNjcm9sbGluZyB0aHJlYWQsIHNpbmNlIHRoaXMgcmVzdWx0cworICAgICAgICBpbiBzY3Jv
bGwgcG9zaXRpb24gYmVpbmcgb3V0IG9mIHN5bmMgd2l0aCB0aGUgcGFpbnRlZCBiYWNrZ3JvdW5k
IHBvc2l0aW9uLgorCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdU
cmVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZGVkU2Nyb2xsaW5nVHJlZTo6Y2FuVXBk
YXRlTGF5ZXJzT25TY3JvbGxpbmdUaHJlYWQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6VGhy
ZWFkZWRTY3JvbGxpbmdUcmVlOjp3YWl0Rm9yUmVuZGVyaW5nVXBkYXRlQ29tcGxldGlvbk9yVGlt
ZW91dCk6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OmRlbGF5ZWRS
ZW5kZXJpbmdVcGRhdGVEZXRlY3Rpb25UaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlRo
cmVhZGVkU2Nyb2xsaW5nVHJlZTo6ZGlzcGxheURpZFJlZnJlc2hPblNjcm9sbGluZ1RocmVhZCk6
CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmg6CisKIDIw
MjAtMDgtMzAgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAg
ICAgUnViYmVyYmFuZGluZyBpbiBhbiBvdmVyZmxvdzpzY3JvbGwgY2FuIHRyaWdnZXIgcGFnZSBq
aWdnbGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9UaHJlYWRl
ZFNjcm9sbGluZ1RyZWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvVGhyZWFk
ZWRTY3JvbGxpbmdUcmVlLmNwcAppbmRleCA2NmVkMWY3MzZjMjdlODc2ZGFhNmY1MjRhODdjMGJl
YTBlMDFhZTBjLi42ZTZiYTViNjg0MThlZWI5ZWI0Y2IxM2I0MzY5ZGE0YTc0Mzc3MDNlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1Ry
ZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1RocmVhZGVkU2Nyb2xs
aW5nVHJlZS5jcHAKQEAgLTExNiw2ICsxMTYsMTQgQEAgdm9pZCBUaHJlYWRlZFNjcm9sbGluZ1Ry
ZWU6OnByb3BhZ2F0ZVN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29ucyhjb25zdCBIYXNoU2V0PFMK
ICAgICB9CiB9CiAKK2Jvb2wgVGhyZWFkZWRTY3JvbGxpbmdUcmVlOjpjYW5VcGRhdGVMYXllcnNP
blNjcm9sbGluZ1RocmVhZCgpIGNvbnN0Cit7CisgICAgaWYgKGF1dG8qIHJvb3ROb2RlID0gdGhp
cy0+cm9vdE5vZGUoKSkKKyAgICAgICAgcmV0dXJuICFyb290Tm9kZS0+aGFzU3luY2hyb25vdXNT
Y3JvbGxpbmdSZWFzb25zKCk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogdm9pZCBUaHJlYWRl
ZFNjcm9sbGluZ1RyZWU6OnNjcm9sbGluZ1RyZWVOb2RlRGlkU2Nyb2xsKFNjcm9sbGluZ1RyZWVT
Y3JvbGxpbmdOb2RlJiBub2RlLCBTY3JvbGxpbmdMYXllclBvc2l0aW9uQWN0aW9uIHNjcm9sbGlu
Z0xheWVyUG9zaXRpb25BY3Rpb24pCiB7CiAgICAgaWYgKCFtX3Njcm9sbGluZ0Nvb3JkaW5hdG9y
KQpAQCAtMjU4LDcgKzI2Niw4IEBAIHZvaWQgVGhyZWFkZWRTY3JvbGxpbmdUcmVlOjp3YWl0Rm9y
UmVuZGVyaW5nVXBkYXRlQ29tcGxldGlvbk9yVGltZW91dCgpCiAgICAgICAgIG1fc3RhdGUgPSBT
eW5jaHJvbml6YXRpb25TdGF0ZTo6RGVzeW5jaHJvbml6ZWQ7CiAgICAgICAgIC8vIEF0IHRoaXMg
cG9pbnQgd2Uga25vdyB0aGUgbWFpbiB0aHJlYWQgaXMgdGFraW5nIHRvbyBsb25nIGluIHRoZSBy
ZW5kZXJpbmcgdXBkYXRlLAogICAgICAgICAvLyBzbyB3ZSBnaXZlIHVwIHRyeWluZyB0byBzeW5j
IHdpdGggdGhlIG1haW4gdGhyZWFkIGFuZCB1cGRhdGUgbGF5ZXJzIGhlcmUgb24gdGhlIHNjcm9s
bGluZyB0aHJlYWQuCi0gICAgICAgIGFwcGx5TGF5ZXJQb3NpdGlvbnNJbnRlcm5hbCgpOworICAg
ICAgICBpZiAoY2FuVXBkYXRlTGF5ZXJzT25TY3JvbGxpbmdUaHJlYWQoKSkKKyAgICAgICAgICAg
IGFwcGx5TGF5ZXJQb3NpdGlvbnNJbnRlcm5hbCgpOwogICAgICAgICB0cmFjZVBvaW50KFNjcm9s
bGluZ1RocmVhZFJlbmRlclVwZGF0ZVN5bmNFbmQsIDEpOwogICAgIH0gZWxzZQogICAgICAgICB0
cmFjZVBvaW50KFNjcm9sbGluZ1RocmVhZFJlbmRlclVwZGF0ZVN5bmNFbmQpOwpAQCAtMjkxLDcg
KzMwMCw4IEBAIHZvaWQgVGhyZWFkZWRTY3JvbGxpbmdUcmVlOjpkZWxheWVkUmVuZGVyaW5nVXBk
YXRlRGV0ZWN0aW9uVGltZXJGaXJlZCgpCiAgICAgQVNTRVJUKFNjcm9sbGluZ1RocmVhZDo6aXND
dXJyZW50VGhyZWFkKCkpOwogCiAgICAgTG9ja0hvbGRlciB0cmVlTG9ja2VyKG1fdHJlZU11dGV4
KTsKLSAgICBhcHBseUxheWVyUG9zaXRpb25zSW50ZXJuYWwoKTsKKyAgICBpZiAoY2FuVXBkYXRl
TGF5ZXJzT25TY3JvbGxpbmdUaHJlYWQoKSkKKyAgICAgICAgYXBwbHlMYXllclBvc2l0aW9uc0lu
dGVybmFsKCk7CiAgICAgbV9zdGF0ZSA9IFN5bmNocm9uaXphdGlvblN0YXRlOjpEZXN5bmNocm9u
aXplZDsKIH0KIApAQCAtMzAyLDcgKzMxMiw3IEBAIHZvaWQgVGhyZWFkZWRTY3JvbGxpbmdUcmVl
OjpkaXNwbGF5RGlkUmVmcmVzaE9uU2Nyb2xsaW5nVGhyZWFkKCkKIAogICAgIExvY2tIb2xkZXIg
dHJlZUxvY2tlcihtX3RyZWVNdXRleCk7CiAKLSAgICBpZiAobV9zdGF0ZSAhPSBTeW5jaHJvbml6
YXRpb25TdGF0ZTo6SWRsZSkKKyAgICBpZiAobV9zdGF0ZSAhPSBTeW5jaHJvbml6YXRpb25TdGF0
ZTo6SWRsZSAmJiBjYW5VcGRhdGVMYXllcnNPblNjcm9sbGluZ1RocmVhZCgpKQogICAgICAgICBh
cHBseUxheWVyUG9zaXRpb25zSW50ZXJuYWwoKTsKIAogICAgIHN3aXRjaCAobV9zdGF0ZSkgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxp
bmdUcmVlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGlu
Z1RyZWUuaAppbmRleCAwMDcwYmI1M2NhMWU1NjgzNDNlNDgwNjllNWQzMDE0M2U4YzU2ZjYyLi5i
MjVmZjE0Y2ExMmNiMjhhN2NhMTlmMDJhYjFhZmFjNDg2YTk1MTNmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuaApAQCAt
ODEsNiArODEsOCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBkaXNwbGF5RGlkUmVmcmVzaE9uU2Ny
b2xsaW5nVGhyZWFkKCk7CiAgICAgdm9pZCB3YWl0Rm9yUmVuZGVyaW5nVXBkYXRlQ29tcGxldGlv
bk9yVGltZW91dCgpOworICAgIAorICAgIGJvb2wgY2FuVXBkYXRlTGF5ZXJzT25TY3JvbGxpbmdU
aHJlYWQoKSBjb25zdDsKIAogICAgIHZvaWQgc2NoZWR1bGVEZWxheWVkUmVuZGVyaW5nVXBkYXRl
RGV0ZWN0aW9uVGltZXIoU2Vjb25kcyk7CiAgICAgdm9pZCBkZWxheWVkUmVuZGVyaW5nVXBkYXRl
RGV0ZWN0aW9uVGltZXJGaXJlZCgpOwo=
</data>
<flag name="review"
          id="423405"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>