<?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>235272</bug_id>
          
          <creation_ts>2022-01-15 12:51:14 -0800</creation_ts>
          <short_desc>Clean up some code around RenderElement::addLayers()</short_desc>
          <delta_ts>2022-01-18 10:46:18 -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>Layout and Rendering</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>235194</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>changseok</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1831239</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-01-15 12:51:14 -0800</bug_when>
    <thetext>Clean up some code around RenderElement::addLayers()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831240</commentid>
    <comment_count>1</comment_count>
      <attachid>449267</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-01-15 12:54:23 -0800</bug_when>
    <thetext>Created attachment 449267
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831258</commentid>
    <comment_count>2</comment_count>
      <attachid>449267</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-01-15 14:27:38 -0800</bug_when>
    <thetext>Comment on attachment 449267
Patch

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

&gt; Source/WebCore/rendering/RenderElement.cpp:640
&gt; +        if (!beforeChild.has_value())

You can omit the &quot;.has_value()&quot; if you like. But if you think including it makes the code clearer, that’s fine.

&gt; Source/WebCore/rendering/RenderElement.cpp:643
&gt; +        parentLayer.addChild(*downcast&lt;RenderLayerModelObject&gt;(currentRenderer).layer(), beforeChild.value());

I often prefer *beforeChild, treating an optional as if it was a pointer, but if you like value() better, I’m OK with it.

&gt; Source/WebCore/rendering/RenderElement.cpp:699
&gt; +        for (auto* child = siblingToTraverseFrom ? siblingToTraverseFrom-&gt;nextSibling() : firstChild(); child; child = child-&gt;nextSibling()) {

Seems like childAfter helper function, either member or non-member, that returns first if the argument is nullptr and nextSibling if it’s not would make this nicer to read.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831712</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-01-18 10:05:02 -0800</bug_when>
    <thetext>When dealing with optionals of bools or pointers I like using the explicit has_value() and value() functions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831735</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-18 10:45:32 -0800</bug_when>
    <thetext>Committed r288127 (246137@main): &lt;https://commits.webkit.org/246137@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449267.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831736</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-18 10:46:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/87722144&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449267</attachid>
            <date>2022-01-15 12:54:23 -0800</date>
            <delta_ts>2022-01-18 10:45:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-235272-20220115125422.patch</filename>
            <type>text/plain</type>
            <size>8004</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4MDYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGQwMzE2YmMzZGZhOGI5
N2ViZGU0YTNlYmYwMTgzOTA0NTQzNDk2YS4uMGUyODVkYTA5MWZlMzE1ZjgzNWZjMWVlY2Y3ZWVk
NGZjNjQ3OGY1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIyLTAxLTE1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENsZWFuIHVwIHNv
bWUgY29kZSBhcm91bmQgUmVuZGVyRWxlbWVudDo6YWRkTGF5ZXJzKCkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNTI3MgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBjb2RlIHRoYXQgbG9va3MgZm9y
IHRoZSBuZXh0IGxheWVyIHZpYSByZW5kZXIgdHJlZSB0cmF2ZXJzYWwgaXMgdHJpY2t5IGFuZAor
ICAgICAgICBoYXJkIHRvIHVuZGVyc3RhbmQuIERvIHNvbWUgaW5pdGlhbCBjbGVhbnVwIHByaW9y
IHRvIGZpeGluZyBpdCBmb3IgdG9wIGxheWVyLgorCisgICAgICAgIEZpcnN0LCB1c2Ugc3RkOjpv
cHRpb25hbDw+IGluIHRoZSBzdGF0aWMgYWRkTGF5ZXJzKCkgdG8gbWFrZSB0aGUgYmVmb3JlQ2hp
bGQKKyAgICAgICAgZmluZGluZyBlYXNpZXIgdG8gdW5kZXJzdGFuZCAobm8gbG9uZ2VyIG5lZWQg
YSBudWxsIG5ld09iamVjdCBhcyB0aGUgc2lnbmFsIHRoYXQKKyAgICAgICAgeW91J3ZlIHRyaWVk
IHRvIGxvb2spLgorCisgICAgICAgIFNlY29uZCwgdXNlIHJlZmVyZW5jZXMgaW4gZmluZE5leHRM
YXllcigpIGFuZCByZW5hbWUgJ3N0YXJ0UG9pbnQnIHRvIG1ha2UgaXRzCisgICAgICAgIHB1cnBv
c2UgbW9yZSBjbGVhci4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmFkZExheWVycyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJF
bGVtZW50OjphZGRMYXllcnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6Zmlu
ZE5leHRMYXllciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50OjpmaW5k
TmV4dExheWVyKTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMYXllcjo6aW5zZXJ0T25seVRoaXNMYXllcik6CisKIDIwMjItMDEtMTUgIFNpbW9u
IEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgU2hhcmUgc29tZSBj
b2RlIHRoYXQgbG9va3MgYXQgdmlzaWJpbGl0eSBpbiBvcmRlciB0byBzaG9ydC1jaXJjdWl0IHJl
cGFpbnQgcmVjdCBjb21wdXRhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVs
ZW1lbnQuY3BwCmluZGV4IGY3ODk3MWYzODQ0OTU1MjRiODdjYTMzNTAwMzE0YTFiZDBlYWQzNTUu
LjUxODY0OWU0ODE1ZWE2Y2FjMDU3YWVjOWY0MjY4MWU2NzU2YTRiMDcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKQEAgLTYzNCwyMiArNjM0LDE4IEBAIFJl
bmRlclB0cjxSZW5kZXJPYmplY3Q+IFJlbmRlckVsZW1lbnQ6OmRldGFjaFJlbmRlcmVySW50ZXJu
YWwoUmVuZGVyT2JqZWN0JiByZW5kCiAgICAgcmV0dXJuIFJlbmRlclB0cjxSZW5kZXJPYmplY3Q+
KCZyZW5kZXJlcik7CiB9CiAKLXN0YXRpYyB2b2lkIGFkZExheWVycyhSZW5kZXJFbGVtZW50JiBy
ZW5kZXJlciwgUmVuZGVyTGF5ZXIqIHBhcmVudExheWVyLCBSZW5kZXJFbGVtZW50KiYgbmV3T2Jq
ZWN0LCBSZW5kZXJMYXllciomIGJlZm9yZUNoaWxkKQotewotICAgIGlmIChyZW5kZXJlci5oYXNM
YXllcigpKSB7Ci0gICAgICAgIGlmICghYmVmb3JlQ2hpbGQgJiYgbmV3T2JqZWN0KSB7Ci0gICAg
ICAgICAgICAvLyBXZSBuZWVkIHRvIGZpZ3VyZSBvdXQgdGhlIGxheWVyIHRoYXQgZm9sbG93cyBu
ZXdPYmplY3QuIFdlIG9ubHkgZG8KLSAgICAgICAgICAgIC8vIHRoaXMgdGhlIGZpcnN0IHRpbWUg
d2UgZmluZCBhIGNoaWxkIGxheWVyLCBhbmQgdGhlbiB3ZSB1cGRhdGUgdGhlCi0gICAgICAgICAg
ICAvLyBwb2ludGVyIHZhbHVlcyBmb3IgbmV3T2JqZWN0IGFuZCBiZWZvcmVDaGlsZCB1c2VkIGJ5
IGV2ZXJ5b25lIGVsc2UuCi0gICAgICAgICAgICBiZWZvcmVDaGlsZCA9IG5ld09iamVjdC0+cGFy
ZW50KCktPmZpbmROZXh0TGF5ZXIocGFyZW50TGF5ZXIsIG5ld09iamVjdCk7Ci0gICAgICAgICAg
ICBuZXdPYmplY3QgPSBudWxscHRyOwotICAgICAgICB9Ci0gICAgICAgIHBhcmVudExheWVyLT5h
ZGRDaGlsZCgqZG93bmNhc3Q8UmVuZGVyTGF5ZXJNb2RlbE9iamVjdD4ocmVuZGVyZXIpLmxheWVy
KCksIGJlZm9yZUNoaWxkKTsKK3N0YXRpYyB2b2lkIGFkZExheWVycyhjb25zdCBSZW5kZXJFbGVt
ZW50JiBhZGRlZFJlbmRlcmVyLCBSZW5kZXJFbGVtZW50JiBjdXJyZW50UmVuZGVyZXIsIFJlbmRl
ckxheWVyJiBwYXJlbnRMYXllciwgc3RkOjpvcHRpb25hbDxSZW5kZXJMYXllcio+JiBiZWZvcmVD
aGlsZCkKK3sKKyAgICBpZiAoY3VycmVudFJlbmRlcmVyLmhhc0xheWVyKCkpIHsKKyAgICAgICAg
aWYgKCFiZWZvcmVDaGlsZC5oYXNfdmFsdWUoKSkKKyAgICAgICAgICAgIGJlZm9yZUNoaWxkID0g
YWRkZWRSZW5kZXJlci5wYXJlbnQoKS0+ZmluZE5leHRMYXllcihwYXJlbnRMYXllciwgJmFkZGVk
UmVuZGVyZXIpOworCisgICAgICAgIHBhcmVudExheWVyLmFkZENoaWxkKCpkb3duY2FzdDxSZW5k
ZXJMYXllck1vZGVsT2JqZWN0PihjdXJyZW50UmVuZGVyZXIpLmxheWVyKCksIGJlZm9yZUNoaWxk
LnZhbHVlKCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgZm9yIChhdXRvJiBjaGls
ZCA6IGNoaWxkcmVuT2ZUeXBlPFJlbmRlckVsZW1lbnQ+KHJlbmRlcmVyKSkKLSAgICAgICAgYWRk
TGF5ZXJzKGNoaWxkLCBwYXJlbnRMYXllciwgbmV3T2JqZWN0LCBiZWZvcmVDaGlsZCk7CisgICAg
Zm9yIChhdXRvJiBjaGlsZCA6IGNoaWxkcmVuT2ZUeXBlPFJlbmRlckVsZW1lbnQ+KGN1cnJlbnRS
ZW5kZXJlcikpCisgICAgICAgIGFkZExheWVycyhhZGRlZFJlbmRlcmVyLCBjaGlsZCwgcGFyZW50
TGF5ZXIsIGJlZm9yZUNoaWxkKTsKIH0KIAogdm9pZCBSZW5kZXJFbGVtZW50OjphZGRMYXllcnMo
UmVuZGVyTGF5ZXIqIHBhcmVudExheWVyKQpAQCAtNjU3LDkgKzY1Myw4IEBAIHZvaWQgUmVuZGVy
RWxlbWVudDo6YWRkTGF5ZXJzKFJlbmRlckxheWVyKiBwYXJlbnRMYXllcikKICAgICBpZiAoIXBh
cmVudExheWVyKQogICAgICAgICByZXR1cm47CiAKLSAgICBSZW5kZXJFbGVtZW50KiByZW5kZXJl
ciA9IHRoaXM7Ci0gICAgUmVuZGVyTGF5ZXIqIGJlZm9yZUNoaWxkID0gbnVsbHB0cjsKLSAgICBX
ZWJDb3JlOjphZGRMYXllcnMoKnRoaXMsIHBhcmVudExheWVyLCByZW5kZXJlciwgYmVmb3JlQ2hp
bGQpOworICAgIHN0ZDo6b3B0aW9uYWw8UmVuZGVyTGF5ZXIqPiBiZWZvcmVDaGlsZDsKKyAgICBX
ZWJDb3JlOjphZGRMYXllcnMoKnRoaXMsICp0aGlzLCAqcGFyZW50TGF5ZXIsIGJlZm9yZUNoaWxk
KTsKIH0KIAogdm9pZCBSZW5kZXJFbGVtZW50OjpyZW1vdmVMYXllcnMoUmVuZGVyTGF5ZXIqIHBh
cmVudExheWVyKQpAQCAtNjkxLDMyICs2ODYsMjcgQEAgdm9pZCBSZW5kZXJFbGVtZW50Ojptb3Zl
TGF5ZXJzKFJlbmRlckxheWVyKiBvbGRQYXJlbnQsIFJlbmRlckxheWVyJiBuZXdQYXJlbnQpCiAg
ICAgICAgIGNoaWxkLm1vdmVMYXllcnMob2xkUGFyZW50LCBuZXdQYXJlbnQpOwogfQogCi1SZW5k
ZXJMYXllciogUmVuZGVyRWxlbWVudDo6ZmluZE5leHRMYXllcihSZW5kZXJMYXllciogcGFyZW50
TGF5ZXIsIFJlbmRlck9iamVjdCogc3RhcnRQb2ludCwgYm9vbCBjaGVja1BhcmVudCkKK1JlbmRl
ckxheWVyKiBSZW5kZXJFbGVtZW50OjpmaW5kTmV4dExheWVyKFJlbmRlckxheWVyJiBwYXJlbnRM
YXllciwgY29uc3QgUmVuZGVyT2JqZWN0KiBzaWJsaW5nVG9UcmF2ZXJzZUZyb20sIGJvb2wgY2hl
Y2tQYXJlbnQpIGNvbnN0CiB7Ci0gICAgLy8gRXJyb3IgY2hlY2sgdGhlIHBhcmVudCBsYXllciBw
YXNzZWQgaW4uIElmIGl0J3MgbnVsbCwgd2UgY2FuJ3QgZmluZCBhbnl0aGluZy4KLSAgICBpZiAo
IXBhcmVudExheWVyKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLQogICAgIC8vIFN0ZXAgMTog
SWYgb3VyIGxheWVyIGlzIGEgY2hpbGQgb2YgdGhlIGRlc2lyZWQgcGFyZW50LCB0aGVuIHJldHVy
biBvdXIgbGF5ZXIuCi0gICAgUmVuZGVyTGF5ZXIqIG91ckxheWVyID0gaGFzTGF5ZXIoKSA/IGRv
d25jYXN0PFJlbmRlckxheWVyTW9kZWxPYmplY3Q+KCp0aGlzKS5sYXllcigpIDogbnVsbHB0cjsK
LSAgICBpZiAob3VyTGF5ZXIgJiYgb3VyTGF5ZXItPnBhcmVudCgpID09IHBhcmVudExheWVyKQor
ICAgIGF1dG8qIG91ckxheWVyID0gaGFzTGF5ZXIoKSA/IGRvd25jYXN0PFJlbmRlckxheWVyTW9k
ZWxPYmplY3Q+KCp0aGlzKS5sYXllcigpIDogbnVsbHB0cjsKKyAgICBpZiAob3VyTGF5ZXIgJiYg
b3VyTGF5ZXItPnBhcmVudCgpID09ICZwYXJlbnRMYXllcikKICAgICAgICAgcmV0dXJuIG91ckxh
eWVyOwogCiAgICAgLy8gU3RlcCAyOiBJZiB3ZSBkb24ndCBoYXZlIGEgbGF5ZXIsIG9yIG91ciBs
YXllciBpcyB0aGUgZGVzaXJlZCBwYXJlbnQsIHRoZW4gZGVzY2VuZAogICAgIC8vIGludG8gb3Vy
IHNpYmxpbmdzIHRyeWluZyB0byBmaW5kIHRoZSBuZXh0IGxheWVyIHdob3NlIHBhcmVudCBpcyB0
aGUgZGVzaXJlZCBwYXJlbnQuCi0gICAgaWYgKCFvdXJMYXllciB8fCBvdXJMYXllciA9PSBwYXJl
bnRMYXllcikgewotICAgICAgICBmb3IgKFJlbmRlck9iamVjdCogY2hpbGQgPSBzdGFydFBvaW50
ID8gc3RhcnRQb2ludC0+bmV4dFNpYmxpbmcoKSA6IGZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxk
ID0gY2hpbGQtPm5leHRTaWJsaW5nKCkpIHsKKyAgICBpZiAoIW91ckxheWVyIHx8IG91ckxheWVy
ID09ICZwYXJlbnRMYXllcikgeworICAgICAgICBmb3IgKGF1dG8qIGNoaWxkID0gc2libGluZ1Rv
VHJhdmVyc2VGcm9tID8gc2libGluZ1RvVHJhdmVyc2VGcm9tLT5uZXh0U2libGluZygpIDogZmly
c3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmcoKSkgewogICAgICAg
ICAgICAgaWYgKCFpczxSZW5kZXJFbGVtZW50PigqY2hpbGQpKQogICAgICAgICAgICAgICAgIGNv
bnRpbnVlOwotICAgICAgICAgICAgUmVuZGVyTGF5ZXIqIG5leHRMYXllciA9IGRvd25jYXN0PFJl
bmRlckVsZW1lbnQ+KCpjaGlsZCkuZmluZE5leHRMYXllcihwYXJlbnRMYXllciwgbnVsbHB0ciwg
ZmFsc2UpOwotICAgICAgICAgICAgaWYgKG5leHRMYXllcikKKyAgICAgICAgICAgIGlmIChhdXRv
KiBuZXh0TGF5ZXIgPSBkb3duY2FzdDxSZW5kZXJFbGVtZW50PigqY2hpbGQpLmZpbmROZXh0TGF5
ZXIocGFyZW50TGF5ZXIsIG51bGxwdHIsIGZhbHNlKSkKICAgICAgICAgICAgICAgICByZXR1cm4g
bmV4dExheWVyOwogICAgICAgICB9CiAgICAgfQogCiAgICAgLy8gU3RlcCAzOiBJZiBvdXIgbGF5
ZXIgaXMgdGhlIGRlc2lyZWQgcGFyZW50IGxheWVyLCB0aGVuIHdlJ3JlIGZpbmlzaGVkLiBXZSBk
aWRuJ3QKICAgICAvLyBmaW5kIGFueXRoaW5nLgotICAgIGlmIChwYXJlbnRMYXllciA9PSBvdXJM
YXllcikKKyAgICBpZiAob3VyTGF5ZXIgPT0gJnBhcmVudExheWVyKQogICAgICAgICByZXR1cm4g
bnVsbHB0cjsKIAogICAgIC8vIFN0ZXAgNDogSWYgfGNoZWNrUGFyZW50fCBpcyBzZXQsIGNsaW1i
IHVwIHRvIG91ciBwYXJlbnQgYW5kIGNoZWNrIGl0cyBzaWJsaW5ncyB0aGF0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAppbmRleCBiZDQ3OTcwM2JhMmZlNGExMTAwMTUz
ZTlmY2FmNTI5MGYzNGQxMDU4Li5mNWUxNmEyMjI5YTdkOTQ4ZGY3MmJkNWQ0ZjgyNzlmZGY2Njk1
ODcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKQEAgLTExMSw3
ICsxMTEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBhZGRMYXllcnMoUmVuZGVyTGF5ZXIqIHBhcmVu
dExheWVyKTsKICAgICB2b2lkIHJlbW92ZUxheWVycyhSZW5kZXJMYXllciogcGFyZW50TGF5ZXIp
OwogICAgIHZvaWQgbW92ZUxheWVycyhSZW5kZXJMYXllciogb2xkUGFyZW50LCBSZW5kZXJMYXll
ciYgbmV3UGFyZW50KTsKLSAgICBSZW5kZXJMYXllciogZmluZE5leHRMYXllcihSZW5kZXJMYXll
ciogcGFyZW50TGF5ZXIsIFJlbmRlck9iamVjdCogc3RhcnRQb2ludCwgYm9vbCBjaGVja1BhcmVu
dCA9IHRydWUpOworICAgIFJlbmRlckxheWVyKiBmaW5kTmV4dExheWVyKFJlbmRlckxheWVyJiBw
YXJlbnRMYXllciwgY29uc3QgUmVuZGVyT2JqZWN0KiBzaWJsaW5nVG9UcmF2ZXJzZUZyb20sIGJv
b2wgY2hlY2tQYXJlbnQgPSB0cnVlKSBjb25zdDsKIAogICAgIHZpcnR1YWwgdm9pZCBkaXJ0eUxp
bmVzRnJvbUNoYW5nZWRDaGlsZChSZW5kZXJPYmplY3QmKSB7IH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggY2NjZTFjNjhmYzU1YzVlZDU0NWQ4ZGZiNmQ0
NDE4M2U2ODUxNGY4OS4uYWI3NGZmNGY4NWJkODllOWMwYTU0NjM2OTUzMWNmOTY4OGVhMjQyNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC00ODMsOSArNDgz
LDExIEBAIHZvaWQgUmVuZGVyTGF5ZXI6Omluc2VydE9ubHlUaGlzTGF5ZXIoTGF5ZXJDaGFuZ2VU
aW1pbmcgdGltaW5nKQogICAgIGlmICghbV9wYXJlbnQgJiYgcmVuZGVyZXIoKS5wYXJlbnQoKSkg
ewogICAgICAgICAvLyBXZSBuZWVkIHRvIGNvbm5lY3Qgb3Vyc2VsdmVzIHdoZW4gb3VyIHJlbmRl
cmVyKCkgaGFzIGEgcGFyZW50LgogICAgICAgICAvLyBGaW5kIG91ciBlbmNsb3NpbmdMYXllciBh
bmQgYWRkIG91cnNlbHZlcy4KLSAgICAgICAgUmVuZGVyTGF5ZXIqIHBhcmVudExheWVyID0gcmVu
ZGVyZXIoKS5wYXJlbnQoKS0+ZW5jbG9zaW5nTGF5ZXIoKTsKLSAgICAgICAgQVNTRVJUKHBhcmVu
dExheWVyKTsKLSAgICAgICAgUmVuZGVyTGF5ZXIqIGJlZm9yZUNoaWxkID0gcGFyZW50TGF5ZXIt
PnJlZmxlY3Rpb25MYXllcigpICE9IHRoaXMgPyByZW5kZXJlcigpLnBhcmVudCgpLT5maW5kTmV4
dExheWVyKHBhcmVudExheWVyLCAmcmVuZGVyZXIoKSkgOiBudWxscHRyOworICAgICAgICBhdXRv
KiBwYXJlbnRMYXllciA9IHJlbmRlcmVyKCkucGFyZW50KCktPmVuY2xvc2luZ0xheWVyKCk7Cisg
ICAgICAgIGlmICghcGFyZW50TGF5ZXIpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAg
YXV0byogYmVmb3JlQ2hpbGQgPSBwYXJlbnRMYXllci0+cmVmbGVjdGlvbkxheWVyKCkgIT0gdGhp
cyA/IHJlbmRlcmVyKCkucGFyZW50KCktPmZpbmROZXh0TGF5ZXIoKnBhcmVudExheWVyLCAmcmVu
ZGVyZXIoKSkgOiBudWxscHRyOwogICAgICAgICBwYXJlbnRMYXllci0+YWRkQ2hpbGQoKnRoaXMs
IGJlZm9yZUNoaWxkKTsKICAgICB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>