<?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>208672</bug_id>
          
          <creation_ts>2020-03-05 16:12:40 -0800</creation_ts>
          <short_desc>Make it possible to safely access CALayers and PlatformCALayerCocoa objects on the scrolling thread</short_desc>
          <delta_ts>2021-05-20 19:13:56 -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=226062</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>
          
          
          <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>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>jamesr</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>pdr</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>1626374</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-03-05 16:12:40 -0800</bug_when>
    <thetext>Make it possible to safely access CALayers and PlatformCALayerCocoa objects on the scrolling thread</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626378</commentid>
    <comment_count>1</comment_count>
      <attachid>392644</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-03-05 16:20:59 -0800</bug_when>
    <thetext>Created attachment 392644
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626379</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-05 16:21:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/60106163&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626464</commentid>
    <comment_count>3</comment_count>
      <attachid>392644</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-03-05 19:44:43 -0800</bug_when>
    <thetext>Comment on attachment 392644
Patch

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

&gt; Source/WebCore/ChangeLog:13
&gt; +        when pushing GraphicsLayer changes to CA, and when destroying GraphicsLayers which tears down their associated

What about PlatformCALayerCustom... are we sure they&apos;re not mutated in other cases than these?

&gt; Source/WebCore/page/scrolling/ScrollingTree.h:220
&gt; +private:

Why? This was already the case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626671</commentid>
    <comment_count>4</comment_count>
      <attachid>392644</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-03-06 08:17:00 -0800</bug_when>
    <thetext>Comment on attachment 392644
Patch

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

&gt; Source/WebCore/platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:88
&gt; +static Lock&amp; layerToPlatformLayerMapMutex()
&gt; +{
&gt; +    static LazyNeverDestroyed&lt;Lock&gt; mutex;
&gt; +    static std::once_flag initializeMutex;
&gt; +    std::call_once(initializeMutex, [] {
&gt; +        mutex.construct();
&gt; +    });
&gt; +    return mutex.get();
&gt; +}

I think you can just do 

static Lock lock;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1626751</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-03-06 11:07:39 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/258006/webkit</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392644</attachid>
            <date>2020-03-05 16:20:59 -0800</date>
            <delta_ts>2020-03-06 08:17:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208672-20200305162058.patch</filename>
            <type>text/plain</type>
            <size>9652</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU3OTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGM4ZGE3NzZkY2VkN2Ix
MDE4NTAyZTQ2YzY1N2JlZWZmNmMxODg2Zi4uYjY5ZDU4Y2JmOWI0ZDUxYmM3ZWI2ODRjNmU3ZmNi
NzM4ZWVmYjliMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIwLTAzLTA1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgaXQgcG9z
c2libGUgdG8gc2FmZWx5IGFjY2VzcyBDQUxheWVycyBhbmQgUGxhdGZvcm1DQUxheWVyQ29jb2Eg
b2JqZWN0cyBvbiB0aGUgc2Nyb2xsaW5nIHRocmVhZAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NjcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQXN5bmMgb3ZlcmZsb3cvZnJhbWUgc2Nyb2xsaW5nIG9u
IG1hY09TIGlzIGdvaW5nIHRvIGhpdC10ZXN0IHRocm91Z2ggdGhlIENBTGF5ZXIgdHJlZSBvbiB0
aGUKKyAgICAgICAgc2Nyb2xsaW5nIHRocmVhZCwgYW5kIGFjY2VzcyBQbGF0Zm9ybUNBTGF5ZXJz
IHRoYXQgaGFuZyBvZmYgQ0FMYXllcnMuIFdlIHRoZXJlZm9yZSBoYXZlIHRvIGVuc3VyZQorICAg
ICAgICB0aGF0IHRob3NlIGxheWVycyBhcmUgbm90IGdldHRpbmcgbXV0YXRlZCB3aGlsZSBoaXQt
dGVzdGluZy4KKworICAgICAgICBXZSBvbmx5IHRvdWNoIFBsYXRmb3JtQ0FMYXllcnMgYW5kIENB
TGF5ZXJzIHRocm91Z2ggdHdvIGNvZGVwYXRoczogR3JhcGhpY3NMYXllcjo6Zmx1c2hDb21wb3Np
dGluZ1N0YXRlKCkKKyAgICAgICAgd2hlbiBwdXNoaW5nIEdyYXBoaWNzTGF5ZXIgY2hhbmdlcyB0
byBDQSwgYW5kIHdoZW4gZGVzdHJveWluZyBHcmFwaGljc0xheWVycyB3aGljaCB0ZWFycyBkb3du
IHRoZWlyIGFzc29jaWF0ZWQKKyAgICAgICAgUGxhdGZvcm1DQUxheWVycyAodGhlIENBTGF5ZXJz
IHJlbWFpbiBwYXJlbnRlZCBpbiB0aGUgdHJlZSkuCisKKyAgICAgICAgVG8gcHJldmVudCBhIFBs
YXRmb3JtQ0FMYXllciBmcm9tIGJlaW5nIGRlc3Ryb3llZCB3aGlsZSBiZWluZyBhY2Nlc3NlZCBv
biB0aGUgc2Nyb2xsaW5nIHRocmVhZCwgd2UgbWFrZQorICAgICAgICBpdCBUaHJlYWRTYWZlUmVm
Q291bnRlZDw+LCBhbmQgbG9jayBhcm91bmQgZmV0Y2hpbmcgdGhlUGxhdGZvcm1DQUxheWVyIGZy
b20gdGhlIGxheWVyVG9QbGF0Zm9ybUxheWVyTWFwKCkgd2hpY2gKKyAgICAgICAgcmV0YWlucyBp
dC4KKworICAgICAgICBUbyBwcmV2ZW50IHRoZSBDQUxheWVyL1BsYXRmb3JtQ0FMYXllciB0cmVl
cyBiZWluZyBtdXRhdGVkIGR1cmluZyBsYXllciBmbHVzaGluZywgd2UgbG9jayBhcm91bmQgCisg
ICAgICAgIHJvb3RMYXllci0+Zmx1c2hDb21wb3NpdGluZ1N0YXRlKCkgaW4gUmVuZGVyTGF5ZXJD
b21wb3NpdG9yOjpmbHVzaFBlbmRpbmdMYXllckNoYW5nZXMoKS4KKworICAgICAgICBUaGUgbG9j
ayBpcyBvd25lZCBieSBTY3JvbGxpbmdUcmVlTWFjLgorCisgICAgICAgICogcGFnZS9zY3JvbGxp
bmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvci5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJU
cmVlSGl0VGVzdExvY2tlcjo6TGF5ZXJUcmVlSGl0VGVzdExvY2tlcik6CisgICAgICAgIChXZWJD
b3JlOjpMYXllclRyZWVIaXRUZXN0TG9ja2VyOjp+TGF5ZXJUcmVlSGl0VGVzdExvY2tlcik6Cisg
ICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5oOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsaW5nVHJlZTo6bG9ja0xheWVyc0ZvckhpdFRlc3RpbmcpOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsaW5nVHJlZTo6dW5sb2NrTGF5ZXJzRm9ySGl0VGVzdGluZyk6CisgICAgICAg
ICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVNYWMuaDoKKyAgICAgICAgKiBwYWdl
L3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU1hYy5tbToKKyAgICAgICAgKFNjcm9sbGluZ1Ry
ZWVNYWM6OmxvY2tMYXllcnNGb3JIaXRUZXN0aW5nKToKKyAgICAgICAgKFNjcm9sbGluZ1RyZWVN
YWM6OnVubG9ja0xheWVyc0ZvckhpdFRlc3RpbmcpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2NhL1BsYXRmb3JtQ0FMYXllci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nh
L2NvY29hL1BsYXRmb3JtQ0FMYXllckNvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6bGF5ZXJU
b1BsYXRmb3JtTGF5ZXJNYXBNdXRleCk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNBTGF5
ZXI6OnBsYXRmb3JtQ0FMYXllckZvckxheWVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9z
aXRvcjo6Zmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKToKKwogMjAyMC0wMy0wNSAgQW5kcmVzIEdv
bnphbGV6ICA8YW5kcmVzZ18yMkBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IGZvciBzZXZlcmFs
IGZhaWx1cmVzIG9mIExheW91dFRlc3RzIGluIGlzb2xhdGVkIHRyZWUgbW9kZS4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0
b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRp
bmF0b3IuaAppbmRleCBiZTAzNDY5MzA5ZGFiYWU5MjFjNzY4ODMzMjg4MGYyZTNmMDJhYmUwLi43
MzYwNTg0MzNmNTY3MTA5ZTFjYmIzZDBmNTlmMDRmOTliOTQ2OWMwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRv
ci5oCkBAIC0xNzUsNiArMTc1LDI5IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2V2ZW50VHJhY2tp
bmdSZWdpb25zRGlydHkgeyBmYWxzZSB9OwogfTsKIAorI2lmIEVOQUJMRShTQ1JPTExJTkdfVEhS
RUFEKQorY2xhc3MgTGF5ZXJUcmVlSGl0VGVzdExvY2tlciB7CitwdWJsaWM6CisgICAgTGF5ZXJU
cmVlSGl0VGVzdExvY2tlcihTY3JvbGxpbmdDb29yZGluYXRvciogc2Nyb2xsaW5nQ29vcmRpbmF0
b3IpCisgICAgeworICAgICAgICBpZiAoaXM8QXN5bmNTY3JvbGxpbmdDb29yZGluYXRvcj4oc2Ny
b2xsaW5nQ29vcmRpbmF0b3IpKSB7CisgICAgICAgICAgICBtX3Njcm9sbGluZ1RyZWUgPSBkb3du
Y2FzdDxBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yPigqc2Nyb2xsaW5nQ29vcmRpbmF0b3IpLnNj
cm9sbGluZ1RyZWUoKTsKKyAgICAgICAgICAgIGlmIChtX3Njcm9sbGluZ1RyZWUpCisgICAgICAg
ICAgICAgICAgbV9zY3JvbGxpbmdUcmVlLT5sb2NrTGF5ZXJzRm9ySGl0VGVzdGluZygpOworICAg
ICAgICB9CisgICAgfQorICAgIAorICAgIH5MYXllclRyZWVIaXRUZXN0TG9ja2VyKCkKKyAgICB7
CisgICAgICAgIGlmIChtX3Njcm9sbGluZ1RyZWUpCisgICAgICAgICAgICBtX3Njcm9sbGluZ1Ry
ZWUtPnVubG9ja0xheWVyc0ZvckhpdFRlc3RpbmcoKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAg
UmVmUHRyPFNjcm9sbGluZ1RyZWU+IG1fc2Nyb2xsaW5nVHJlZTsKK307CisjZW5kaWYKKwogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1NDUk9MTElOR19D
T09SRElOQVRPUihXZWJDb3JlOjpBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLCBpc0FzeW5jU2Ny
b2xsaW5nQ29vcmRpbmF0b3IoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdUcmVlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdUcmVlLmgKaW5kZXggZGQ1ZTU0YzEwYTgwMmQ5NjhmNWY2YmMwMmE3ZGRhYTU4NDE2
MGE3Ni4uNmUxM2M2MTQyODFhMTY5MmYyYzM1OWEzOWJkNjk3MjJkMjA5ZWZhNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaApAQCAtMTYxLDYgKzE2
MSw5IEBAIHB1YmxpYzoKICAgICBib29sIGlzTW9uaXRvcmluZ1doZWVsRXZlbnRzKCkgY29uc3Qg
eyByZXR1cm4gbV9pc01vbml0b3JpbmdXaGVlbEV2ZW50czsgfQogICAgIGJvb2wgaW5Db21taXRU
cmVlU3RhdGUoKSBjb25zdCB7IHJldHVybiBtX2luQ29tbWl0VHJlZVN0YXRlOyB9CiAKKyAgICB2
aXJ0dWFsIHZvaWQgbG9ja0xheWVyc0ZvckhpdFRlc3RpbmcoKSB7IH0KKyAgICB2aXJ0dWFsIHZv
aWQgdW5sb2NrTGF5ZXJzRm9ySGl0VGVzdGluZygpIHsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgdm9p
ZCBzZXRNYWluRnJhbWVTY3JvbGxQb3NpdGlvbihGbG9hdFBvaW50KTsKIApAQCAtMjE0LDYgKzIx
Nyw3IEBAIHByaXZhdGU6CiAgICAgTG9jayBtX3N3aXBlU3RhdGVNdXRleDsKICAgICBTd2lwZVN0
YXRlIG1fc3dpcGVTdGF0ZTsKIAorcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX2ZpeGVkT3JTdGlj
a3lOb2RlQ291bnQgeyAwIH07CiAgICAgYm9vbCBtX2lzSGFuZGxpbmdQcm9ncmFtbWF0aWNTY3Jv
bGwgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc01vbml0b3JpbmdXaGVlbEV2ZW50cyB7IGZhbHNl
IH07CkBAIC0yMjIsNyArMjI2LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fd2FzU2Nyb2xsZWRC
eURlbGVnYXRlZFNjcm9sbGluZ1NpbmNlUHJldmlvdXNDb21taXQgeyBmYWxzZSB9OwogICAgIGJv
b2wgbV9pbkNvbW1pdFRyZWVTdGF0ZSB7IGZhbHNlIH07CiB9OwotICAgIAorCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKICNkZWZpbmUgU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19TQ1JPTExJTkdf
VFJFRShUb1ZhbHVlVHlwZU5hbWUsIHByZWRpY2F0ZSkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVNYWMuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlTWFjLmgKaW5kZXggYTkwYjIzNGRk
YmRhMjk3NmYyM2JjYmJiZmIyYzNiOWU1MGE0M2QwMi4uYWRlNGE3YzRkZDFiNTgxNGI3ZTFmNGZm
YTc3ZjM5MjFhODZhOGVhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvbWFjL1Njcm9sbGluZ1RyZWVNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9tYWMvU2Nyb2xsaW5nVHJlZU1hYy5oCkBAIC0zOSw2ICszOSwxMiBAQCBwcml2YXRlOgog
ICAgIGV4cGxpY2l0IFNjcm9sbGluZ1RyZWVNYWMoQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvciYp
OwogCiAgICAgUmVmPFNjcm9sbGluZ1RyZWVOb2RlPiBjcmVhdGVTY3JvbGxpbmdUcmVlTm9kZShT
Y3JvbGxpbmdOb2RlVHlwZSwgU2Nyb2xsaW5nTm9kZUlEKSBmaW5hbDsKKworICAgIHZvaWQgbG9j
a0xheWVyc0ZvckhpdFRlc3RpbmcoKSBmaW5hbDsKKyAgICB2b2lkIHVubG9ja0xheWVyc0Zvckhp
dFRlc3RpbmcoKSBmaW5hbDsKKworICAgIC8vIFRoaXMgbG9jayBwcm90ZWN0cyB0aGUgQ0FMYXll
ci9QbGF0Zm9ybUNBTGF5ZXIgdHJlZS4KKyAgICBMb2NrIG1fbGF5ZXJIaXRUZXN0TXV0ZXg7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlTWFjLm1tCmluZGV4IDY1YzgyN2IyNmFjZGZj
NzJkYWI3MGM3MmVhMmU1Yzg2NGEyN2QyNjIuLmQ0M2I4OTE4MzZmZGIwMDBjMmY4MjMxNGJmMTdh
MGEwOGZjOGViMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21h
Yy9TY3JvbGxpbmdUcmVlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L21hYy9TY3JvbGxpbmdUcmVlTWFjLm1tCkBAIC03MSw0ICs3MSwxNCBAQCBSZWY8U2Nyb2xsaW5n
VHJlZU5vZGU+IFNjcm9sbGluZ1RyZWVNYWM6OmNyZWF0ZVNjcm9sbGluZ1RyZWVOb2RlKFNjcm9s
bGluZ05vZGVUeQogICAgIHJldHVybiBTY3JvbGxpbmdUcmVlRml4ZWROb2RlOjpjcmVhdGUoKnRo
aXMsIG5vZGVJRCk7CiB9CiAKK3ZvaWQgU2Nyb2xsaW5nVHJlZU1hYzo6bG9ja0xheWVyc0Zvckhp
dFRlc3RpbmcoKQoreworICAgIG1fbGF5ZXJIaXRUZXN0TXV0ZXgubG9jaygpOworfQorCit2b2lk
IFNjcm9sbGluZ1RyZWVNYWM6OnVubG9ja0xheWVyc0ZvckhpdFRlc3RpbmcoKQoreworICAgIG1f
bGF5ZXJIaXRUZXN0TXV0ZXgudW5sb2NrKCk7Cit9CisKICNlbmRpZiAvLyBFTkFCTEUoQVNZTkNf
U0NST0xMSU5HKSAmJiBFTkFCTEUoU0NST0xMSU5HX1RIUkVBRCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1BsYXRmb3JtQ0FMYXllci5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmgKaW5kZXggNzQx
YTVmNmE2ZGM5NzYzNjI4ZjNjNDU4Mjc5Nzk0Y2Q0OWVhMjg0ZC4uYTJiY2ZjMzNiMmNlYjhmYjNi
OGI5YTgwOWM3Y2Q2MTU2ZmQzMGZlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvUGxhdGZvcm1DQUxheWVyLmgKQEAgLTI3LDggKzI3LDggQEAKIAog
I2luY2x1ZGUgIkZsb2F0Um91bmRlZFJlY3QuaCIKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgi
Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+
CisjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1R5
cGVDYXN0cy5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtNDcsNyArNDcsNyBAQCBj
bGFzcyBQbGF0Zm9ybUNBTGF5ZXJDbGllbnQ7CiAKIHR5cGVkZWYgVmVjdG9yPFJlZlB0cjxQbGF0
Zm9ybUNBTGF5ZXI+PiBQbGF0Zm9ybUNBTGF5ZXJMaXN0OwogCi1jbGFzcyBXRUJDT1JFX0VYUE9S
VCBQbGF0Zm9ybUNBTGF5ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxQbGF0Zm9ybUNBTGF5ZXI+IHsK
K2NsYXNzIFdFQkNPUkVfRVhQT1JUIFBsYXRmb3JtQ0FMYXllciA6IHB1YmxpYyBUaHJlYWRTYWZl
UmVmQ291bnRlZDxQbGF0Zm9ybUNBTGF5ZXI+IHsKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBm
cmllbmQgY2xhc3MgUGxhdGZvcm1DQUxheWVyQ29jb2E7CiAjZWxpZiBQTEFURk9STShXSU4pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9jb2NvYS9QbGF0
Zm9ybUNBTGF5ZXJDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L2NvY29hL1BsYXRmb3JtQ0FMYXllckNvY29hLm1tCmluZGV4IGE0Y2Q5OTFlYjRlNTdhZWE3MmUw
OWUyZDcyYzZjNWU3ZDcyYTg3NDEuLjdmMWMxYjFhNDcyZTE2NzQ2ZGIzNmFhZTM0M2ZjMjkwNzk4
ZjgwYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL2Nv
Y29hL1BsYXRmb3JtQ0FMYXllckNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhL2NvY29hL1BsYXRmb3JtQ0FMYXllckNvY29hLm1tCkBAIC03NywxMSArNzcs
MjIgQEAgc3RhdGljIExheWVyVG9QbGF0Zm9ybUNBTGF5ZXJNYXAmIGxheWVyVG9QbGF0Zm9ybUxh
eWVyTWFwKCkKICAgICByZXR1cm4gbGF5ZXJNYXA7CiB9CiAKK3N0YXRpYyBMb2NrJiBsYXllclRv
UGxhdGZvcm1MYXllck1hcE11dGV4KCkKK3sKKyAgICBzdGF0aWMgTGF6eU5ldmVyRGVzdHJveWVk
PExvY2s+IG11dGV4OworICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBpbml0aWFsaXplTXV0ZXg7
CisgICAgc3RkOjpjYWxsX29uY2UoaW5pdGlhbGl6ZU11dGV4LCBbXSB7CisgICAgICAgIG11dGV4
LmNvbnN0cnVjdCgpOworICAgIH0pOworICAgIHJldHVybiBtdXRleC5nZXQoKTsKK30KKwogUmVm
UHRyPFBsYXRmb3JtQ0FMYXllcj4gUGxhdGZvcm1DQUxheWVyOjpwbGF0Zm9ybUNBTGF5ZXJGb3JM
YXllcih2b2lkKiBwbGF0Zm9ybUxheWVyKQogewogICAgIGlmICghcGxhdGZvcm1MYXllcikKLSAg
ICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRyOwogCisgICAgTG9ja0hvbGRl
ciBsb2NrKGxheWVyVG9QbGF0Zm9ybUxheWVyTWFwTXV0ZXgoKSk7CiAgICAgcmV0dXJuIGxheWVy
VG9QbGF0Zm9ybUxheWVyTWFwKCkuZ2V0KHBsYXRmb3JtTGF5ZXIpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IDY1
OTc0MzU1OGMxMmNlYjhjYjlmZjQ0ZTkxYzU2ZDc0NzdmNWYyZjMuLjdhMTg0OTNlY2RkODBjNDlm
NmZmOTFhMzhmYjBhZGNiNTNiMjc2YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbmNs
dWRlICJSZW5kZXJMYXllckNvbXBvc2l0b3IuaCIKIAorI2luY2x1ZGUgIkFzeW5jU2Nyb2xsaW5n
Q29vcmRpbmF0b3IuaCIKICNpbmNsdWRlICJDU1NBbmltYXRpb25Db250cm9sbGVyLmgiCiAjaW5j
bHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgogI2luY2x1ZGUgIkNhbnZhc1JlbmRlcmluZ0NvbnRl
eHQuaCIKQEAgLTUxNyw2ICs1MTgsOSBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Zmx1
c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKGJvb2wgaXNGbHVzaFJvb3QpCiAgICAgICAgIFNldEZvclNj
b3BlPGJvb2w+IGZsdXNoaW5nTGF5ZXJzU2NvcGUobV9mbHVzaGluZ0xheWVycywgdHJ1ZSk7CiAK
ICAgICAgICAgaWYgKGF1dG8qIHJvb3RMYXllciA9IHJvb3RHcmFwaGljc0xheWVyKCkpIHsKKyNp
ZiBFTkFCTEUoU0NST0xMSU5HX1RIUkVBRCkKKyAgICAgICAgICAgIExheWVyVHJlZUhpdFRlc3RM
b2NrZXIgbGF5ZXJMb2NrZXIoc2Nyb2xsaW5nQ29vcmRpbmF0b3IoKSk7CisjZW5kaWYKICAgICAg
ICAgICAgIEZsb2F0UmVjdCB2aXNpYmxlUmVjdCA9IHZpc2libGVSZWN0Rm9yTGF5ZXJGbHVzaGlu
ZygpOwogICAgICAgICAgICAgTE9HX1dJVEhfU1RSRUFNKENvbXBvc2l0aW5nLCAgc3RyZWFtIDw8
ICJcblJlbmRlckxheWVyQ29tcG9zaXRvciAiIDw8IHRoaXMgPDwgIiBmbHVzaFBlbmRpbmdMYXll
ckNoYW5nZXMgKGlzIHJvb3QgIiA8PCBpc0ZsdXNoUm9vdCA8PCAiKSB2aXNpYmxlIHJlY3QgIiA8
PCB2aXNpYmxlUmVjdCk7CiAgICAgICAgICAgICByb290TGF5ZXItPmZsdXNoQ29tcG9zaXRpbmdT
dGF0ZSh2aXNpYmxlUmVjdCk7Cg==
</data>
<flag name="review"
          id="408042"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>