<?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>236184</bug_id>
          
          <creation_ts>2022-02-05 16:14:11 -0800</creation_ts>
          <short_desc>[LBSE] Introduce RenderSVGModelObject aware geometry accessors in RenderLayerBacking</short_desc>
          <delta_ts>2022-02-07 06:24:20 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>SVG</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>
          
          <blocked>90738</blocked>
    
    <blocked>236194</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikolas Zimmermann">zimmermann</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</assigned_to>
          <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>rbuis</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1837809</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2022-02-05 16:14:11 -0800</bug_when>
    <thetext>Prepare RenderLayer/RenderLayerBacking for RenderSVGModelObject support:

Stop relying on renderBox() / downcast&lt;RenderBox&gt;(renderer()) to query layer geometry information, instead introduce helpers that take RenderLayerModelObject instead of RenderBox, to allow querying non-RenderBox derived renderers such as RenderSVGModelObject for geometry information.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837812</commentid>
    <comment_count>1</comment_count>
      <attachid>451009</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2022-02-05 16:17:27 -0800</bug_when>
    <thetext>Created attachment 451009
Patch, v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838063</commentid>
    <comment_count>2</comment_count>
      <attachid>451009</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2022-02-07 04:04:17 -0800</bug_when>
    <thetext>Comment on attachment 451009
Patch, v1

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

&gt; Source/WebCore/rendering/RenderLayerBacking.cpp:-3965
&gt; -        return { };

Is this safe? Previously, non RenderBox would bail out. Is there now a chance the ASSERT_NOT_REACHED in rendererBorderBoxRect will be triggered?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838072</commentid>
    <comment_count>3</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2022-02-07 04:59:11 -0800</bug_when>
    <thetext>(In reply to Rob Buis from comment #2)
&gt; Comment on attachment 451009 [details]
&gt; Patch, v1
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=451009&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderLayerBacking.cpp:-3965
&gt; &gt; -        return { };
&gt; 
&gt; Is this safe? Previously, non RenderBox would bail out. Is there now a
&gt; chance the ASSERT_NOT_REACHED in rendererBorderBoxRect will be triggered?

It Is. The ASSERT_NOT_REACHED() is mainly to document that there is no missing edge case - verified by debug layout test runs.

There are no cases in RenderLayerBacking that had a bail-out, if the renderer type was not RenderBox, it was assumed to be RenderBox (and guaranteed by RenderLayer so far). transformMatrixForProperty() was the only method that had indeed a null check on renderBox() - but I cannot see how a non-RenderBox derived object can come there (only one callosities from within GraphicsLayers -- which are only ever created for RenderBox derived renderers, that create layers).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838097</commentid>
    <comment_count>4</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2022-02-07 06:23:59 -0800</bug_when>
    <thetext>Committed r289213 (246898@trunk): &lt;https://commits.webkit.org/246898@trunk&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838098</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-07 06:24:20 -0800</bug_when>
    <thetext>&lt;rdar://problem/88569054&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451009</attachid>
            <date>2022-02-05 16:17:27 -0800</date>
            <delta_ts>2022-02-07 05:58:51 -0800</delta_ts>
            <desc>Patch, v1</desc>
            <filename>bug-236184-20220205161726.patch</filename>
            <type>text/plain</type>
            <size>10451</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGNhZjNlOTIwYTY3NTgw
Njg5ZDI0MzY4Y2EzMjFkN2U3ZTI2YjczMC4uYTFmMmM4N2U1N2M3MjNiZjQ2MzUxNGQ3YmI2OTQy
NDc0ZWZkNWQyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIyLTAyLTA1ICBOaWtv
bGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkBpZ2FsaWEuY29tPgorCisgICAgICAgIFtMQlNF
XSBJbnRyb2R1Y2UgUmVuZGVyU1ZHTW9kZWxPYmplY3QgYXdhcmUgZ2VvbWV0cnktcXVlcnkgaGVs
cGVycyBpbiBSZW5kZXJMYXllckJhY2tpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzNjE4NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIExldCBjbGlwcGluZ0xheWVyQm94KCkgdGFrZSBhIFJlbmRlckxh
eWVyTW9kZWxPYmplY3QgaW5zdGVhZCBvZiBhIFJlbmRlckJveCwgdG8KKyAgICAgICAgYWxsb3cg
Zm9yIGEgUmVuZGVyU1ZHTW9kZWxPYmplY3Qgc3BlY2lmaWMgaW1wbGVtZW50YXRpb24uIEZ1cnRo
ZXJtb3JlLCBpbnRyb2R1Y2UKKyAgICAgICAgcmVuZGVyZXJCb3JkZXJCb3hSZWN0KCksIHdoaWNo
IGNhbiBiZSB1c2VkIGluc3RlYWQgb2YgcmVuZGVyQm94KCktPmJvcmRlckJveFJlY3QoKQorICAg
ICAgICB0byBxdWVyeSBnZW9tZXRyeSBpbiB0aGUgQ1NTIGNvb3JkaW5hdGUgc3lzdGVtLiBSZW5k
ZXJTVkdNb2RlbE9iamVjdCBzcGVjaWZpY2FsbHkgb2ZmZXJzCisgICAgICAgIGEgJ2JvcmRlckJv
eFJlY3RFcXVpdmFsZW50KCknIG1ldGhvZCwgcmV0dXJuaW5nIFNWRyBnZW9tZXRyeSBpbmZvcm1h
dGlvbiBpbiB0aGUgZGVzaXJlZAorICAgICAgICBDU1MgY29vcmRpbmF0ZSBzeXN0ZW0gLSB3aGlj
aCBpcyBleHBlY3RlZCBpbiB0aGUgbGF5ZXIvY29tcG9zaXRpbmcgc3Vic3lzdGVtLgorCisgICAg
ICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMsIG5vIGNoYW5nZSBpbiBiZWhhdmlvdXIuCisK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OnJlbmRlcmVyQm9yZGVyQm94UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpjbGlwcGlu
Z0xheWVyQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRl
Q2hpbGRyZW5UcmFuc2Zvcm1BbmRBbmNob3JQb2ludCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdlb21ldHJ5KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyQmFja2luZzo6b2Zmc2V0UmVsYXRpdmVUb1JlbmRlcmVyT3JpZ2luRm9yRGVzY2VuZGFu
dExheWVycyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnN0
YXJ0QW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dHJh
bnNmb3JtTWF0cml4Rm9yUHJvcGVydHkgY29uc3QpOgorCiAyMDIyLTAyLTAzICBOaWtvbGFzIFpp
bW1lcm1hbm4gIDxuemltbWVybWFubkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtMQlNFXSBIYW5k
bGUgUmVuZGVyU1ZHU2hhcGUgaW4gU1ZHUmVuZGVyU3VwcG9ydDo6YXBwbHlTdHJva2VTdHlsZVRv
Q29udGV4dCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJCYWNraW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tp
bmcuY3BwCmluZGV4IDRlZmNmYWI1NTU3YjU1MzNiZWU5NWM5NDI4MjYxMmExNzVmNjUzMzguLmE2
NWUyYzRiNWZiMmYxMjIyZTc3ZTlkMWNhOWQzOTBmZjY4MDgwYzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCkBAIC02Niw2ICs2Niw3IEBA
CiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYS5oIgogI2luY2x1ZGUgIlJlbmRl
ck1lZGlhLmgiCiAjaW5jbHVkZSAiUmVuZGVyTW9kZWwuaCIKKyNpbmNsdWRlICJSZW5kZXJTVkdN
b2RlbE9iamVjdC5oIgogI2luY2x1ZGUgIlJlbmRlclZpZGVvLmgiCiAjaW5jbHVkZSAiUmVuZGVy
Vmlldy5oIgogI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKQEAgLTYwMywxOSAr
NjA0LDM5IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpkZXN0cm95R3JhcGhpY3NMYXllcnMo
KQogICAgIEdyYXBoaWNzTGF5ZXI6OnVucGFyZW50QW5kQ2xlYXIobV9ncmFwaGljc0xheWVyKTsK
IH0KIAorc3RhdGljIExheW91dFJlY3QgcmVuZGVyZXJCb3JkZXJCb3hSZWN0KGNvbnN0IFJlbmRl
ckxheWVyTW9kZWxPYmplY3QmIHJlbmRlcmVyKQoreworICAgIGlmIChpczxSZW5kZXJCb3g+KHJl
bmRlcmVyKSkKKyAgICAgICAgcmV0dXJuIGRvd25jYXN0PFJlbmRlckJveD4ocmVuZGVyZXIpLmJv
cmRlckJveFJlY3QoKTsKKworI2lmIEVOQUJMRShMQVlFUl9CQVNFRF9TVkdfRU5HSU5FKQorICAg
IGlmIChpczxSZW5kZXJTVkdNb2RlbE9iamVjdD4ocmVuZGVyZXIpKQorICAgICAgICByZXR1cm4g
ZG93bmNhc3Q8UmVuZGVyU1ZHTW9kZWxPYmplY3Q+KHJlbmRlcmVyKS5ib3JkZXJCb3hSZWN0RXF1
aXZhbGVudCgpOworI2VuZGlmCisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1
cm4gTGF5b3V0UmVjdCgpOworfQorCiBzdGF0aWMgTGF5b3V0UmVjdCBzY3JvbGxDb250YWluZXJM
YXllckJveChjb25zdCBSZW5kZXJCb3gmIHJlbmRlckJveCkKIHsKICAgICByZXR1cm4gcmVuZGVy
Qm94LnBhZGRpbmdCb3hSZWN0KCk7CiB9CiAKLXN0YXRpYyBMYXlvdXRSZWN0IGNsaXBwaW5nTGF5
ZXJCb3goY29uc3QgUmVuZGVyQm94JiByZW5kZXJCb3gpCitzdGF0aWMgTGF5b3V0UmVjdCBjbGlw
cGluZ0xheWVyQm94KGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QmIHJlbmRlcmVyKQogewog
ICAgIExheW91dFJlY3QgcmVzdWx0ID0gTGF5b3V0UmVjdDo6aW5maW5pdGVSZWN0KCk7Ci0gICAg
aWYgKHJlbmRlckJveC5oYXNOb25WaXNpYmxlT3ZlcmZsb3coKSkKLSAgICAgICAgcmVzdWx0ID0g
cmVuZGVyQm94Lm92ZXJmbG93Q2xpcFJlY3QoeyB9LCAwKTsgLy8gRklYTUU6IEluY29ycmVjdCBm
b3IgQ1NTIHJlZ2lvbnMuCisgICAgaWYgKHJlbmRlcmVyLmhhc05vblZpc2libGVPdmVyZmxvdygp
KSB7CisgICAgICAgIGlmIChpczxSZW5kZXJCb3g+KHJlbmRlcmVyKSkKKyAgICAgICAgICAgIHJl
c3VsdCA9IGRvd25jYXN0PFJlbmRlckJveD4ocmVuZGVyZXIpLm92ZXJmbG93Q2xpcFJlY3QoeyB9
LCAwKTsgLy8gRklYTUU6IEluY29ycmVjdCBmb3IgQ1NTIHJlZ2lvbnMuCisjaWYgRU5BQkxFKExB
WUVSX0JBU0VEX1NWR19FTkdJTkUpCisgICAgICAgIGVsc2UgaWYgKGlzPFJlbmRlclNWR01vZGVs
T2JqZWN0PihyZW5kZXJlcikpCisgICAgICAgICAgICByZXN1bHQgPSBkb3duY2FzdDxSZW5kZXJT
VkdNb2RlbE9iamVjdD4ocmVuZGVyZXIpLm92ZXJmbG93Q2xpcFJlY3QoeyB9LCAwKTsgLy8gRklY
TUU6IEluY29ycmVjdCBmb3IgQ1NTIHJlZ2lvbnMuCisjZW5kaWYKKyAgICB9CiAKLSAgICBpZiAo
cmVuZGVyQm94Lmhhc0NsaXAoKSkKLSAgICAgICAgcmVzdWx0LmludGVyc2VjdChyZW5kZXJCb3gu
Y2xpcFJlY3QoeyB9LCAwKSk7IC8vIEZJWE1FOiBJbmNvcnJlY3QgZm9yIENTUyByZWdpb25zLgor
ICAgIGlmIChyZW5kZXJlci5oYXNDbGlwKCkgJiYgaXM8UmVuZGVyQm94PihyZW5kZXJlcikpCisg
ICAgICAgIHJlc3VsdC5pbnRlcnNlY3QoZG93bmNhc3Q8UmVuZGVyQm94PihyZW5kZXJlcikuY2xp
cFJlY3QoeyB9LCAwKSk7IC8vIEZJWE1FOiBJbmNvcnJlY3QgZm9yIENTUyByZWdpb25zLgogCiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTY2MSw5ICs2ODIsOCBAQCB2b2lkIFJlbmRlckxheWVy
QmFja2luZzo6dXBkYXRlQ2hpbGRyZW5UcmFuc2Zvcm1BbmRBbmNob3JQb2ludChjb25zdCBMYXlv
dXRSZWN0JgogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYXV0byYgcmVuZGVyQm94ID0g
ZG93bmNhc3Q8UmVuZGVyQm94PihyZW5kZXJlcigpKTsKICAgICBjb25zdCBhdXRvIGRldmljZVNj
YWxlRmFjdG9yID0gdGhpcy0+ZGV2aWNlU2NhbGVGYWN0b3IoKTsKLSAgICBhdXRvIGJvcmRlckJv
eFJlY3QgPSByZW5kZXJCb3guYm9yZGVyQm94UmVjdCgpOworICAgIGF1dG8gYm9yZGVyQm94UmVj
dCA9IHJlbmRlcmVyQm9yZGVyQm94UmVjdChyZW5kZXJlcigpKTsKICAgICBhdXRvIHRyYW5zZm9y
bU9yaWdpbiA9IGNvbXB1dGVUcmFuc2Zvcm1PcmlnaW5Gb3JQYWludGluZyhib3JkZXJCb3hSZWN0
KTsKICAgICBhdXRvIGxheWVyT2Zmc2V0ID0gcm91bmRQb2ludFRvRGV2aWNlUGl4ZWxzKHRvTGF5
b3V0UG9pbnQob2Zmc2V0RnJvbVBhcmVudEdyYXBoaWNzTGF5ZXIpLCBkZXZpY2VTY2FsZUZhY3Rv
cik7CiAgICAgYXV0byBhbmNob3IgPSBGbG9hdFBvaW50M0QgewpAQCAtNjk3LDExICs3MTcsMTIg
QEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUNoaWxkcmVuVHJhbnNmb3JtQW5kQW5j
aG9yUG9pbnQoY29uc3QgTGF5b3V0UmVjdCYKICAgICB9CiAKICAgICBhdXRvIGxheWVyRm9yQ2hp
bGRyZW5UcmFuc2Zvcm0gPSBbJl0gewotICAgICAgICBpZiAobV9zY3JvbGxDb250YWluZXJMYXll
cikKLSAgICAgICAgICAgIHJldHVybiBzdGQ6Om1ha2VfdHVwbGUobV9zY3JvbGxDb250YWluZXJM
YXllci5nZXQoKSwgc2Nyb2xsQ29udGFpbmVyTGF5ZXJCb3gocmVuZGVyQm94KSk7Ci0KKyAgICAg
ICAgaWYgKG1fc2Nyb2xsQ29udGFpbmVyTGF5ZXIpIHsKKyAgICAgICAgICAgIEFTU0VSVChpczxS
ZW5kZXJCb3g+KHJlbmRlcmVyKCkpKTsgLy8gU2Nyb2xsIGNvbnRhaW5lciBsYXllcnMgYXJlIG9u
bHkgY3JlYXRlZCBmb3IgUmVuZGVyQm94IGRlcml2ZWQgcmVuZGVyZXJzLgorICAgICAgICAgICAg
cmV0dXJuIHN0ZDo6bWFrZV90dXBsZShtX3Njcm9sbENvbnRhaW5lckxheWVyLmdldCgpLCBzY3Jv
bGxDb250YWluZXJMYXllckJveChkb3duY2FzdDxSZW5kZXJCb3g+KHJlbmRlcmVyKCkpKSk7Cisg
ICAgICAgIH0KICAgICAgICAgaWYgKGF1dG8qIGxheWVyID0gY2xpcHBpbmdMYXllcigpKQotICAg
ICAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV90dXBsZShsYXllciwgY2xpcHBpbmdMYXllckJveChy
ZW5kZXJCb3gpKTsKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om1ha2VfdHVwbGUobGF5ZXIsIGNs
aXBwaW5nTGF5ZXJCb3gocmVuZGVyZXIoKSkpOwogCiAgICAgICAgIHJldHVybiBzdGQ6Om1ha2Vf
dHVwbGUobV9ncmFwaGljc0xheWVyLmdldCgpLCBib3JkZXJCb3hSZWN0KTsKICAgICB9OwpAQCAt
MTM2NCw5ICsxMzg1LDggQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdlb21ldHJ5
KGNvbnN0IFJlbmRlckxheWVyKiBjb21wb3NpdGVkQW5jZXN0b3IpCiAgICAgLy8gSWYgd2UgaGF2
ZSBhIGxheWVyIHRoYXQgY2xpcHMgY2hpbGRyZW4sIHBvc2l0aW9uIGl0LgogICAgIExheW91dFJl
Y3QgY2xpcHBpbmdCb3g7CiAgICAgaWYgKGF1dG8qIGNsaXBMYXllciA9IGNsaXBwaW5nTGF5ZXIo
KSkgewotICAgICAgICBhdXRvJiByZW5kZXJCb3ggPSBkb3duY2FzdDxSZW5kZXJCb3g+KHJlbmRl
cmVyKCkpOwogICAgICAgICAvLyBjbGlwTGF5ZXIgaXMgdGhlIG1fY2hpbGRDb250YWlubWVudExh
eWVyLgotICAgICAgICBjbGlwcGluZ0JveCA9IGNsaXBwaW5nTGF5ZXJCb3gocmVuZGVyQm94KTsK
KyAgICAgICAgY2xpcHBpbmdCb3ggPSBjbGlwcGluZ0xheWVyQm94KHJlbmRlcmVyKCkpOwogICAg
ICAgICAvLyBDbGlwcGluZyBsYXllciBpcyBwYXJlbnRlZCBpbiB0aGUgcHJpbWFyeSBncmFwaGlj
cyBsYXllci4KICAgICAgICAgTGF5b3V0U2l6ZSBjbGlwQm94T2Zmc2V0RnJvbUdyYXBoaWNzTGF5
ZXIgPSB0b0xheW91dFNpemUoY2xpcHBpbmdCb3gubG9jYXRpb24oKSkgKyByZW5kZXJlck9mZnNl
dC5mcm9tUHJpbWFyeUdyYXBoaWNzTGF5ZXIoKTsKICAgICAgICAgU25hcHBlZFJlY3RJbmZvIHNu
YXBwZWRDbGlwcGluZ0dyYXBoaWNzTGF5ZXIgPSBzbmFwcGVkR3JhcGhpY3NMYXllcihjbGlwQm94
T2Zmc2V0RnJvbUdyYXBoaWNzTGF5ZXIsIGNsaXBwaW5nQm94LnNpemUoKSwgZGV2aWNlU2NhbGVG
YWN0b3IpOwpAQCAtMTM3Niw3ICsxMzk2LDcgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVw
ZGF0ZUdlb21ldHJ5KGNvbnN0IFJlbmRlckxheWVyKiBjb21wb3NpdGVkQW5jZXN0b3IpCiAKICAg
ICAgICAgYXV0byBjb21wdXRlTWFza3NUb0JvdW5kc1JlY3QgPSBbJl0gewogICAgICAgICAgICAg
aWYgKChyZW5kZXJlcigpLnN0eWxlKCkuY2xpcFBhdGgoKSB8fCByZW5kZXJlcigpLnN0eWxlKCku
aGFzQm9yZGVyUmFkaXVzKCkpICYmICFtX2NoaWxkQ2xpcHBpbmdNYXNrTGF5ZXIpIHsKLSAgICAg
ICAgICAgICAgICBGbG9hdFJvdW5kZWRSZWN0IGNvbnRlbnRzQ2xpcHBpbmdSZWN0ID0gcmVuZGVy
Qm94LnJvdW5kZWRCb3JkZXJCb3hSZWN0KCkucGl4ZWxTbmFwcGVkUm91bmRlZFJlY3RGb3JQYWlu
dGluZyhkZXZpY2VTY2FsZUZhY3Rvcik7CisgICAgICAgICAgICAgICAgYXV0byBjb250ZW50c0Ns
aXBwaW5nUmVjdCA9IEZsb2F0Um91bmRlZFJlY3QocmVuZGVyZXIoKS5zdHlsZSgpLmdldFJvdW5k
ZWRJbm5lckJvcmRlckZvcihyZW5kZXJlckJvcmRlckJveFJlY3QocmVuZGVyZXIoKSkpKTsKICAg
ICAgICAgICAgICAgICBjb250ZW50c0NsaXBwaW5nUmVjdC5tb3ZlKExheW91dFNpemUoLWNsaXBM
YXllci0+b2Zmc2V0RnJvbVJlbmRlcmVyKCkpKTsKICAgICAgICAgICAgICAgICByZXR1cm4gY29u
dGVudHNDbGlwcGluZ1JlY3Q7CiAgICAgICAgICAgICB9CkBAIC0zMDUxLDcgKzMwNzEsNyBAQCBM
YXlvdXRTaXplIFJlbmRlckxheWVyQmFja2luZzo6b2Zmc2V0UmVsYXRpdmVUb1JlbmRlcmVyT3Jp
Z2luRm9yRGVzY2VuZGFudExheWVycwogICAgICAgICByZXR1cm4gdG9MYXlvdXRTaXplKHNjcm9s
bENvbnRhaW5lckxheWVyQm94KGRvd25jYXN0PFJlbmRlckJveD4ocmVuZGVyZXIoKSkpLmxvY2F0
aW9uKCkpOwogCiAgICAgaWYgKGhhc0NsaXBwaW5nTGF5ZXIoKSkKLSAgICAgICAgcmV0dXJuIHRv
TGF5b3V0U2l6ZShjbGlwcGluZ0xheWVyQm94KGRvd25jYXN0PFJlbmRlckJveD4ocmVuZGVyZXIo
KSkpLmxvY2F0aW9uKCkpOworICAgICAgICByZXR1cm4gdG9MYXlvdXRTaXplKGNsaXBwaW5nTGF5
ZXJCb3gocmVuZGVyZXIoKSkubG9jYXRpb24oKSk7CiAKICAgICByZXR1cm4geyB9OwogfQpAQCAt
MzcyMCwxNiArMzc0MCwxNiBAQCBib29sIFJlbmRlckxheWVyQmFja2luZzo6c3RhcnRBbmltYXRp
b24oZG91YmxlIHRpbWVPZmZzZXQsIGNvbnN0IEFuaW1hdGlvbiYgYW5pbQogCiAgICAgYm9vbCBk
aWRBbmltYXRlID0gZmFsc2U7CiAKLSAgICBpZiAoaGFzUm90YXRlICYmIG1fZ3JhcGhpY3NMYXll
ci0+YWRkQW5pbWF0aW9uKHJvdGF0ZVZlY3Rvciwgc25hcHBlZEludFJlY3QocmVuZGVyQm94KCkt
PmJvcmRlckJveFJlY3QoKSkuc2l6ZSgpLCAmYW5pbWF0aW9uLCBrZXlmcmFtZXMuYW5pbWF0aW9u
TmFtZSgpLCB0aW1lT2Zmc2V0KSkKKyAgICBpZiAoaGFzUm90YXRlICYmIG1fZ3JhcGhpY3NMYXll
ci0+YWRkQW5pbWF0aW9uKHJvdGF0ZVZlY3Rvciwgc25hcHBlZEludFJlY3QocmVuZGVyZXJCb3Jk
ZXJCb3hSZWN0KHJlbmRlcmVyKCkpKS5zaXplKCksICZhbmltYXRpb24sIGtleWZyYW1lcy5hbmlt
YXRpb25OYW1lKCksIHRpbWVPZmZzZXQpKQogICAgICAgICBkaWRBbmltYXRlID0gdHJ1ZTsKIAot
ICAgIGlmIChoYXNTY2FsZSAmJiBtX2dyYXBoaWNzTGF5ZXItPmFkZEFuaW1hdGlvbihzY2FsZVZl
Y3Rvciwgc25hcHBlZEludFJlY3QocmVuZGVyQm94KCktPmJvcmRlckJveFJlY3QoKSkuc2l6ZSgp
LCAmYW5pbWF0aW9uLCBrZXlmcmFtZXMuYW5pbWF0aW9uTmFtZSgpLCB0aW1lT2Zmc2V0KSkKKyAg
ICBpZiAoaGFzU2NhbGUgJiYgbV9ncmFwaGljc0xheWVyLT5hZGRBbmltYXRpb24oc2NhbGVWZWN0
b3IsIHNuYXBwZWRJbnRSZWN0KHJlbmRlcmVyQm9yZGVyQm94UmVjdChyZW5kZXJlcigpKSkuc2l6
ZSgpLCAmYW5pbWF0aW9uLCBrZXlmcmFtZXMuYW5pbWF0aW9uTmFtZSgpLCB0aW1lT2Zmc2V0KSkK
ICAgICAgICAgZGlkQW5pbWF0ZSA9IHRydWU7CiAKLSAgICBpZiAoaGFzVHJhbnNsYXRlICYmIG1f
Z3JhcGhpY3NMYXllci0+YWRkQW5pbWF0aW9uKHRyYW5zbGF0ZVZlY3Rvciwgc25hcHBlZEludFJl
Y3QocmVuZGVyQm94KCktPmJvcmRlckJveFJlY3QoKSkuc2l6ZSgpLCAmYW5pbWF0aW9uLCBrZXlm
cmFtZXMuYW5pbWF0aW9uTmFtZSgpLCB0aW1lT2Zmc2V0KSkKKyAgICBpZiAoaGFzVHJhbnNsYXRl
ICYmIG1fZ3JhcGhpY3NMYXllci0+YWRkQW5pbWF0aW9uKHRyYW5zbGF0ZVZlY3Rvciwgc25hcHBl
ZEludFJlY3QocmVuZGVyZXJCb3JkZXJCb3hSZWN0KHJlbmRlcmVyKCkpKS5zaXplKCksICZhbmlt
YXRpb24sIGtleWZyYW1lcy5hbmltYXRpb25OYW1lKCksIHRpbWVPZmZzZXQpKQogICAgICAgICBk
aWRBbmltYXRlID0gdHJ1ZTsKIAotICAgIGlmIChoYXNUcmFuc2Zvcm0gJiYgbV9ncmFwaGljc0xh
eWVyLT5hZGRBbmltYXRpb24odHJhbnNmb3JtVmVjdG9yLCBzbmFwcGVkSW50UmVjdChyZW5kZXJC
b3goKS0+Ym9yZGVyQm94UmVjdCgpKS5zaXplKCksICZhbmltYXRpb24sIGtleWZyYW1lcy5hbmlt
YXRpb25OYW1lKCksIHRpbWVPZmZzZXQpKQorICAgIGlmIChoYXNUcmFuc2Zvcm0gJiYgbV9ncmFw
aGljc0xheWVyLT5hZGRBbmltYXRpb24odHJhbnNmb3JtVmVjdG9yLCBzbmFwcGVkSW50UmVjdChy
ZW5kZXJlckJvcmRlckJveFJlY3QocmVuZGVyZXIoKSkpLnNpemUoKSwgJmFuaW1hdGlvbiwga2V5
ZnJhbWVzLmFuaW1hdGlvbk5hbWUoKSwgdGltZU9mZnNldCkpCiAgICAgICAgIGRpZEFuaW1hdGUg
PSB0cnVlOwogCiAgICAgaWYgKGhhc09wYWNpdHkgJiYgbV9ncmFwaGljc0xheWVyLT5hZGRBbmlt
YXRpb24ob3BhY2l0eVZlY3RvciwgSW50U2l6ZSB7IH0sICZhbmltYXRpb24sIGtleWZyYW1lcy5h
bmltYXRpb25OYW1lKCksIHRpbWVPZmZzZXQpKQpAQCAtMzk2MCwxNSArMzk4MCwxMSBAQCBUZXh0
U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBjb25zdCBSZW5kZXJMYXllckJhY2tp
bmcmIGJhY2tpbmcpCiAKIFRyYW5zZm9ybWF0aW9uTWF0cml4IFJlbmRlckxheWVyQmFja2luZzo6
dHJhbnNmb3JtTWF0cml4Rm9yUHJvcGVydHkoQW5pbWF0ZWRQcm9wZXJ0eUlEIHByb3BlcnR5KSBj
b25zdAogewotICAgIGF1dG8qIGJveCA9IHJlbmRlckJveCgpOwotICAgIGlmICghYm94KQotICAg
ICAgICByZXR1cm4geyB9OwotCiAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggbWF0cml4OwogCiAg
ICAgYXV0byBhcHBseVRyYW5zZm9ybU9wZXJhdGlvbiA9IFsmXShUcmFuc2Zvcm1PcGVyYXRpb24q
IG9wZXJhdGlvbikgewogICAgICAgICBpZiAob3BlcmF0aW9uKQotICAgICAgICAgICAgb3BlcmF0
aW9uLT5hcHBseShtYXRyaXgsIHNuYXBwZWRJbnRSZWN0KHJlbmRlckJveCgpLT5ib3JkZXJCb3hS
ZWN0KCkpLnNpemUoKSk7CisgICAgICAgICAgICBvcGVyYXRpb24tPmFwcGx5KG1hdHJpeCwgc25h
cHBlZEludFJlY3QocmVuZGVyZXJCb3JkZXJCb3hSZWN0KHJlbmRlcmVyKCkpKS5zaXplKCkpOwog
ICAgIH07CiAKICAgICBpZiAocHJvcGVydHkgPT0gQW5pbWF0ZWRQcm9wZXJ0eVRyYW5zbGF0ZSkK
QEAgLTM5NzgsNyArMzk5NCw3IEBAIFRyYW5zZm9ybWF0aW9uTWF0cml4IFJlbmRlckxheWVyQmFj
a2luZzo6dHJhbnNmb3JtTWF0cml4Rm9yUHJvcGVydHkoQW5pbWF0ZWRQcm9wCiAgICAgZWxzZSBp
ZiAocHJvcGVydHkgPT0gQW5pbWF0ZWRQcm9wZXJ0eVJvdGF0ZSkKICAgICAgICAgYXBwbHlUcmFu
c2Zvcm1PcGVyYXRpb24ocmVuZGVyZXIoKS5zdHlsZSgpLnJvdGF0ZSgpKTsKICAgICBlbHNlIGlm
IChwcm9wZXJ0eSA9PSBBbmltYXRlZFByb3BlcnR5VHJhbnNmb3JtKQotICAgICAgICByZW5kZXJl
cigpLnN0eWxlKCkudHJhbnNmb3JtKCkuYXBwbHkoc25hcHBlZEludFJlY3QocmVuZGVyQm94KCkt
PmJvcmRlckJveFJlY3QoKSkuc2l6ZSgpLCBtYXRyaXgpOworICAgICAgICByZW5kZXJlcigpLnN0
eWxlKCkudHJhbnNmb3JtKCkuYXBwbHkoc25hcHBlZEludFJlY3QocmVuZGVyZXJCb3JkZXJCb3hS
ZWN0KHJlbmRlcmVyKCkpKS5zaXplKCksIG1hdHJpeCk7CiAgICAgZWxzZQogICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKIAo=
</data>
<flag name="review"
          id="477592"
          type_id="1"
          status="+"
          setter="rbuis"
    />
          </attachment>
      

    </bug>

</bugzilla>