<?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>221988</bug_id>
          
          <creation_ts>2021-02-16 12:52:19 -0800</creation_ts>
          <short_desc>REGRESSION(r266890): [Cocoa] Fix InspectorDelegate / API::InspectorClient leak</short_desc>
          <delta_ts>2021-03-29 13:20:09 -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>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Blaze Burg">bburg</reporter>
          <assigned_to name="Blaze Burg">bburg</assigned_to>
          <cc>bburg</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1729878</commentid>
    <comment_count>0</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2021-02-16 12:52:19 -0800</bug_when>
    <thetext>&lt;rdar://73594555&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729884</commentid>
    <comment_count>1</comment_count>
      <attachid>420528</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2021-02-16 13:00:07 -0800</bug_when>
    <thetext>Created attachment 420528
Patch v1.0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729891</commentid>
    <comment_count>2</comment_count>
      <attachid>420528</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-02-16 13:14:45 -0800</bug_when>
    <thetext>Comment on attachment 420528
Patch v1.0

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

r=me, nice fix :)

&gt; Source/WebKit/ChangeLog:27
&gt; +        via the constructor. If a nil delegate is passedâfor example, when
&gt; +        closing the WKWebViewâthen don&apos;t create an API::InspectorClient

i think there&apos;s non-ascii here :(

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKInspector.mm:61
&gt; +    if (!delegate &amp;&amp; !_delegate)
&gt; +        return;

What about if `!delegate` but `_delegate`?  Should we `_delegate = nullptr;` in that scenario?

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKInspector.mm:63
&gt; +    _delegate = makeUnique&lt;WebKit::InspectorDelegate&gt;(self, delegate);

I could be crazy, but I think you can drop the `&lt;WebKit::InspectorDelegate&gt;` as `makeUnique` might be able to deduce the type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729897</commentid>
    <comment_count>3</comment_count>
      <attachid>420528</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2021-02-16 13:23:21 -0800</bug_when>
    <thetext>Comment on attachment 420528
Patch v1.0

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

&gt;&gt; Source/WebKit/UIProcess/API/Cocoa/_WKInspector.mm:61
&gt;&gt; +        return;
&gt; 
&gt; What about if `!delegate` but `_delegate`?  Should we `_delegate = nullptr;` in that scenario?

No. If !delegate, then we recreate InspectorDelegate with nil ObjC delegate, which causes us to call WebInspectorProxy::setClient(nullptr) in the constructor. Otherwise we&apos;d need to disconnect this ourselves which defeats the point of the refactoring herein.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729898</commentid>
    <comment_count>4</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2021-02-16 13:23:55 -0800</bug_when>
    <thetext>Waiting for mac-wk2 tests to run prior to landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729900</commentid>
    <comment_count>5</comment_count>
      <attachid>420532</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2021-02-16 13:25:31 -0800</bug_when>
    <thetext>Created attachment 420532
Patch v1.1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729993</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-16 15:43:42 -0800</bug_when>
    <thetext>Committed r272935: &lt;https://commits.webkit.org/r272935&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 420532.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744861</commentid>
    <comment_count>7</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2021-03-29 13:20:09 -0700</bug_when>
    <thetext>This didn&apos;t fix the problem entirely. I&apos;m creating a new bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420528</attachid>
            <date>2021-02-16 13:00:07 -0800</date>
            <delta_ts>2021-02-16 13:25:30 -0800</delta_ts>
            <desc>Patch v1.0</desc>
            <filename>bug-221988-20210216130007.patch</filename>
            <type>text/plain</type>
            <size>4942</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyODkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDhmMzVkMTcyZjI2ZTlkZWQx
ZTYwYjM1ZmRhY2FiZjQzZjZlOWUzYjEuLjBmZjRlMmFjNDAwYjcyM2EyNTE3ZGI1YmVkYTViMWI1
NGE4NjMwNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMjEtMDItMTYgIEJKIEJ1cmcg
IDxiYnVyZ0BhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTihyMjY2ODkwKTogW0NvY29h
XSBGaXggSW5zcGVjdG9yRGVsZWdhdGUgLyBBUEk6Okluc3BlY3RvckNsaWVudCBsZWFrCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjE5ODgKKyAgICAg
ICAgPHJkYXI6Ly83MzU5NDU1NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGVyZSB3YXMgYSBsb2dpYyBlcnJvciBpbnRyb2R1Y2VkIGludG8gdGhl
IG5ldyBkZWxlZ2F0ZSBzaXR1YXRpb24gYWZ0ZXIKKyAgICAgICAgbW92aW5nIF9XS0luc3BlY3Rv
ckRlbGVnYXRlIGZyb20gV0tXZWJWaWV3IHRvIF9XS0luc3BlY3Rvci4gV2hlbiBzZXR0aW5nCisg
ICAgICAgIC5kZWxlZ2F0ZSB0byBuaWwsIHdlIHNob3VsZG4ndCBhbGxvY2F0ZSBkdW1teSBBUEk6
Okluc3BlY3RvckNsaWVudC8KKyAgICAgICAgSW5zcGVjdG9yRGVsZWdhdGUgaW5zdGFuY2VzLiBB
cyB3cml0dGVuLCB0aGVzZSBpbnN0YW5jZXMgZm9ybSB0aGVpciBvd24gcmV0YWluCisgICAgICAg
IGN5Y2xlIGFuZCBjYXVzZSBhIGxlYWsgaWYgV2ViIEluc3BlY3RvciBoYXMgYmVlbiBvcGVuZWQg
b3IgaWYKKyAgICAgICAgV0tXZWJWaWV3Ll9pbnNwZWN0b3IgaXMgYWNjZXNzZWQgKHdoaWNoIGxh
emlseSBjcmVhdGVzIHRoZSBkZWxlZ2F0ZXMpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tJbnNwZWN0b3IubW06CisgICAgICAgICgtW19XS0luc3BlY3RvciBzZXREZWxlZ2F0
ZTpdKToKKyAgICAgICAgQWRvcHQgbmV3IGNvbnN0cnVjdG9yIGFuZCBwYXNzIGluIHRoZSBPYmpD
IGRlbGVnYXRlLgorCisgICAgICAgICogVUlQcm9jZXNzL0luc3BlY3Rvci9Db2NvYS9JbnNwZWN0
b3JEZWxlZ2F0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9JbnNwZWN0b3IvQ29jb2EvSW5zcGVj
dG9yRGVsZWdhdGUubW06CisgICAgICAgIChXZWJLaXQ6Okluc3BlY3RvckRlbGVnYXRlOjpJbnNw
ZWN0b3JEZWxlZ2F0ZSk6CisgICAgICAgIChXZWJLaXQ6Okluc3BlY3RvckRlbGVnYXRlOjpjcmVh
dGVJbnNwZWN0b3JDbGllbnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpJbnNwZWN0b3JE
ZWxlZ2F0ZTo6c2V0RGVsZWdhdGUpOiBEZWxldGVkLgorICAgICAgICBDbGVhbiB1cCB0aGlzIGNs
YXNzIHNvIHRoYXQgd2UgYWx3YXlzIHJlY2VpdmUgdGhlIE9iakMgZGVsZWdhdGUKKyAgICAgICAg
dmlhIHRoZSBjb25zdHJ1Y3Rvci4gSWYgYSBuaWwgZGVsZWdhdGUgaXMgcGFzc2Vk4oCTZm9yIGV4
YW1wbGUsIHdoZW4KKyAgICAgICAgY2xvc2luZyB0aGUgV0tXZWJWaWV34oCTdGhlbiBkb24ndCBj
cmVhdGUgYW4gQVBJOjpJbnNwZWN0b3JDbGllbnQKKyAgICAgICAgYW5kIHNldCB0aGUgV2ViSW5z
cGVjdG9yUHJveHkncyBjbGllbnQgdG8gbnVsbHB0ci4KKwogMjAyMS0wMi0xNSAgVHJ1aXR0IFNh
dmVsbCAgPHRzYXZlbGxAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGlu
ZyByMjcyODY3LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L19XS0luc3BlY3Rvci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJ
bnNwZWN0b3IubW0KaW5kZXggNmJlYjQ1ZTg0NjU5ODFmOWUwOTI0NzJlYTRiMzE3ODY2NzI2YmUx
MS4uMzZhZWViOWI4ZDc3MTQ3NTFlZDk3MThkYWExZjljMjYzYjA5N2YwYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3BlY3Rvci5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW5zcGVjdG9yLm1tCkBAIC01Nywx
MSArNTcsMTAgQEAgLSAoaWQgPF9XS0luc3BlY3RvckRlbGVnYXRlPilkZWxlZ2F0ZQogCiAtICh2
b2lkKXNldERlbGVnYXRlOihpZDxfV0tJbnNwZWN0b3JEZWxlZ2F0ZT4pZGVsZWdhdGUKIHsKLSAg
ICBpZiAoIV9kZWxlZ2F0ZSkKLSAgICAgICAgX2RlbGVnYXRlID0gbWFrZVVuaXF1ZTxXZWJLaXQ6
Okluc3BlY3RvckRlbGVnYXRlPihzZWxmKTsKKyAgICBpZiAoIWRlbGVnYXRlICYmICFfZGVsZWdh
dGUpCisgICAgICAgIHJldHVybjsKIAotICAgIF9pbnNwZWN0b3ItPnNldEluc3BlY3RvckNsaWVu
dChfZGVsZWdhdGUtPmNyZWF0ZUluc3BlY3RvckNsaWVudCgpKTsKLSAgICBfZGVsZWdhdGUtPnNl
dERlbGVnYXRlKGRlbGVnYXRlKTsKKyAgICBfZGVsZWdhdGUgPSBtYWtlVW5pcXVlPFdlYktpdDo6
SW5zcGVjdG9yRGVsZWdhdGU+KHNlbGYsIGRlbGVnYXRlKTsKIH0KIAogLSAoV0tXZWJWaWV3ICop
d2ViVmlldwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL0Nv
Y29hL0luc3BlY3RvckRlbGVnYXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0
b3IvQ29jb2EvSW5zcGVjdG9yRGVsZWdhdGUuaAppbmRleCAwMTJlMWU0ZGYwMzcyYzE1YTllZTZj
MjIxZjkzNmM5ZDNkNjMwNWUyLi5lMWZhZWU2OTU0NDlhZDliODQyMjZjMzljNmM0ZmZhODgwMjE5
MGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3IvQ29jb2Ev
SW5zcGVjdG9yRGVsZWdhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0
b3IvQ29jb2EvSW5zcGVjdG9yRGVsZWdhdGUuaApAQCAtMzksOSArMzksOCBAQCBjbGFzcyBXZWJJ
bnNwZWN0b3JQcm94eTsKIGNsYXNzIEluc3BlY3RvckRlbGVnYXRlIHsKICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBleHBsaWNpdCBJbnNwZWN0b3JEZWxlZ2F0ZShf
V0tJbnNwZWN0b3IgKik7Ci0KLSAgICBzdGQ6OnVuaXF1ZV9wdHI8QVBJOjpJbnNwZWN0b3JDbGll
bnQ+IGNyZWF0ZUluc3BlY3RvckNsaWVudCgpOworICAgIEluc3BlY3RvckRlbGVnYXRlKF9XS0lu
c3BlY3RvciAqLCBpZCA8X1dLSW5zcGVjdG9yRGVsZWdhdGU+KTsKKyAgICB+SW5zcGVjdG9yRGVs
ZWdhdGUoKTsKIAogICAgIFJldGFpblB0cjxpZCA8X1dLSW5zcGVjdG9yRGVsZWdhdGU+PiBkZWxl
Z2F0ZSgpOwogICAgIHZvaWQgc2V0RGVsZWdhdGUoaWQgPF9XS0luc3BlY3RvckRlbGVnYXRlPik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3IvQ29jb2EvSW5z
cGVjdG9yRGVsZWdhdGUubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3IvQ29j
b2EvSW5zcGVjdG9yRGVsZWdhdGUubW0KaW5kZXggNjBjMTMyZDVkODlkMTdiNDZkMzMyZGYxYTAy
YzBhOGEyY2JhMWM4MC4uYTJlODM3ODJjNjY3MDk2Yzg2NDY5NzVjMzNlNGRkZGE1YjE1NWY5NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL0NvY29hL0luc3Bl
Y3RvckRlbGVnYXRlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0luc3BlY3Rvci9D
b2NvYS9JbnNwZWN0b3JEZWxlZ2F0ZS5tbQpAQCAtMzIsMjggKzMyLDIyIEBACiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCi1JbnNwZWN0b3JEZWxlZ2F0ZTo6SW5zcGVjdG9yRGVsZWdhdGUoX1dLSW5z
cGVjdG9yICppbnNwZWN0b3IpCitJbnNwZWN0b3JEZWxlZ2F0ZTo6SW5zcGVjdG9yRGVsZWdhdGUo
X1dLSW5zcGVjdG9yICppbnNwZWN0b3IsIGlkIDxfV0tJbnNwZWN0b3JEZWxlZ2F0ZT4gZGVsZWdh
dGUpCiAgICAgOiBtX2luc3BlY3RvcihpbnNwZWN0b3IpCisgICAgLCBtX2RlbGVnYXRlKGRlbGVn
YXRlKQogewotfQorICAgIG1fZGVsZWdhdGVNZXRob2RzLmluc3BlY3Rvck9wZW5VUkxFeHRlcm5h
bGx5ID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoaW5zcGVjdG9yOm9w
ZW5VUkxFeHRlcm5hbGx5OildOwogCi1zdGQ6OnVuaXF1ZV9wdHI8QVBJOjpJbnNwZWN0b3JDbGll
bnQ+IEluc3BlY3RvckRlbGVnYXRlOjpjcmVhdGVJbnNwZWN0b3JDbGllbnQoKQotewotICAgIHJl
dHVybiBtYWtlVW5pcXVlPEluc3BlY3RvckNsaWVudD4oKnRoaXMpOworICAgIGluc3BlY3Rvci0+
X2luc3BlY3Rvci0+c2V0SW5zcGVjdG9yQ2xpZW50KGRlbGVnYXRlID8gbWFrZVVuaXF1ZTxJbnNw
ZWN0b3JDbGllbnQ+KCp0aGlzKSA6IG51bGxwdHIpOwogfQogCitJbnNwZWN0b3JEZWxlZ2F0ZTo6
fkluc3BlY3RvckRlbGVnYXRlKCkgPSBkZWZhdWx0OworCiBSZXRhaW5QdHI8aWQgPF9XS0luc3Bl
Y3RvckRlbGVnYXRlPj4gSW5zcGVjdG9yRGVsZWdhdGU6OmRlbGVnYXRlKCkKIHsKICAgICByZXR1
cm4gbV9kZWxlZ2F0ZS5nZXQoKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JEZWxlZ2F0ZTo6c2V0RGVs
ZWdhdGUoaWQgPF9XS0luc3BlY3RvckRlbGVnYXRlPiBkZWxlZ2F0ZSkKLXsKLSAgICBtX2RlbGVn
YXRlID0gZGVsZWdhdGU7Ci0KLSAgICBtX2RlbGVnYXRlTWV0aG9kcy5pbnNwZWN0b3JPcGVuVVJM
RXh0ZXJuYWxseSA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKGluc3Bl
Y3RvcjpvcGVuVVJMRXh0ZXJuYWxseTopXTsKLX0KLQogSW5zcGVjdG9yRGVsZWdhdGU6Okluc3Bl
Y3RvckNsaWVudDo6SW5zcGVjdG9yQ2xpZW50KEluc3BlY3RvckRlbGVnYXRlJiBkZWxlZ2F0ZSkK
ICAgICA6IG1faW5zcGVjdG9yRGVsZWdhdGUoZGVsZWdhdGUpCiB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420532</attachid>
            <date>2021-02-16 13:25:31 -0800</date>
            <delta_ts>2021-02-16 15:43:43 -0800</delta_ts>
            <desc>Patch v1.1</desc>
            <filename>bug-221988-20210216132531.patch</filename>
            <type>text/plain</type>
            <size>4940</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyODkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDhmMzVkMTcyZjI2ZTlkZWQx
ZTYwYjM1ZmRhY2FiZjQzZjZlOWUzYjEuLjBhMDYzZGY4MGI3NmZmOGFhYWNiZTVkOGExZTkzZGRh
ZGQzYzhjNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMjEtMDItMTYgIEJKIEJ1cmcg
IDxiYnVyZ0BhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTihyMjY2ODkwKTogW0NvY29h
XSBGaXggSW5zcGVjdG9yRGVsZWdhdGUgLyBBUEk6Okluc3BlY3RvckNsaWVudCBsZWFrCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjE5ODgKKyAgICAg
ICAgPHJkYXI6Ly83MzU5NDU1NT4KKworICAgICAgICBSZXZpZXdlZCBieSBEZXZpbiBSb3Vzc28u
CisKKyAgICAgICAgVGhlcmUgd2FzIGEgbG9naWMgZXJyb3IgaW50cm9kdWNlZCBpbnRvIHRoZSBu
ZXcgZGVsZWdhdGUgc2l0dWF0aW9uIGFmdGVyCisgICAgICAgIG1vdmluZyBfV0tJbnNwZWN0b3JE
ZWxlZ2F0ZSBmcm9tIFdLV2ViVmlldyB0byBfV0tJbnNwZWN0b3IuIFdoZW4gc2V0dGluZworICAg
ICAgICAuZGVsZWdhdGUgdG8gbmlsLCB3ZSBzaG91bGRuJ3QgYWxsb2NhdGUgZHVtbXkgQVBJOjpJ
bnNwZWN0b3JDbGllbnQvCisgICAgICAgIEluc3BlY3RvckRlbGVnYXRlIGluc3RhbmNlcy4gQXMg
d3JpdHRlbiwgdGhlc2UgaW5zdGFuY2VzIGZvcm0gdGhlaXIgb3duIHJldGFpbgorICAgICAgICBj
eWNsZSBhbmQgY2F1c2UgYSBsZWFrIGlmIFdlYiBJbnNwZWN0b3IgaGFzIGJlZW4gb3BlbmVkIG9y
IGlmCisgICAgICAgIFdLV2ViVmlldy5faW5zcGVjdG9yIGlzIGFjY2Vzc2VkICh3aGljaCBsYXpp
bHkgY3JlYXRlcyB0aGUgZGVsZWdhdGVzKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLSW5zcGVjdG9yLm1tOgorICAgICAgICAoLVtfV0tJbnNwZWN0b3Igc2V0RGVsZWdhdGU6
XSk6CisgICAgICAgIEFkb3B0IG5ldyBjb25zdHJ1Y3RvciBhbmQgcGFzcyBpbiB0aGUgT2JqQyBk
ZWxlZ2F0ZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9JbnNwZWN0b3IvQ29jb2EvSW5zcGVjdG9y
RGVsZWdhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvSW5zcGVjdG9yL0NvY29hL0luc3BlY3Rv
ckRlbGVnYXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpJbnNwZWN0b3JEZWxlZ2F0ZTo6SW5zcGVj
dG9yRGVsZWdhdGUpOgorICAgICAgICAoV2ViS2l0OjpJbnNwZWN0b3JEZWxlZ2F0ZTo6Y3JlYXRl
SW5zcGVjdG9yQ2xpZW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6SW5zcGVjdG9yRGVs
ZWdhdGU6OnNldERlbGVnYXRlKTogRGVsZXRlZC4KKyAgICAgICAgQ2xlYW4gdXAgdGhpcyBjbGFz
cyBzbyB0aGF0IHdlIGFsd2F5cyByZWNlaXZlIHRoZSBPYmpDIGRlbGVnYXRlCisgICAgICAgIHZp
YSB0aGUgY29uc3RydWN0b3IuIElmIGEgbmlsIGRlbGVnYXRlIGlzIHBhc3NlZC0tLWZvciBleGFt
cGxlLCB3aGVuCisgICAgICAgIGNsb3NpbmcgdGhlIFdLV2ViVmlldy0tLXRoZW4gZG9uJ3QgY3Jl
YXRlIGFuIEFQSTo6SW5zcGVjdG9yQ2xpZW50CisgICAgICAgIGFuZCBzZXQgdGhlIFdlYkluc3Bl
Y3RvclByb3h5J3MgY2xpZW50IHRvIG51bGxwdHIuCisKIDIwMjEtMDItMTUgIFRydWl0dCBTYXZl
bGwgIDx0c2F2ZWxsQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByZXZlcnRpbmcg
cjI3Mjg2Ny4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tJbnNwZWN0b3IubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLSW5z
cGVjdG9yLm1tCmluZGV4IDZiZWI0NWU4NDY1OTgxZjllMDkyNDcyZWE0YjMxNzg2NjcyNmJlMTEu
LjM2YWVlYjliOGQ3NzE0NzUxZWQ5NzE4ZGFhMWY5YzI2M2IwOTdmMGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tJbnNwZWN0b3IubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0luc3BlY3Rvci5tbQpAQCAtNTcsMTEg
KzU3LDEwIEBAIC0gKGlkIDxfV0tJbnNwZWN0b3JEZWxlZ2F0ZT4pZGVsZWdhdGUKIAogLSAodm9p
ZClzZXREZWxlZ2F0ZTooaWQ8X1dLSW5zcGVjdG9yRGVsZWdhdGU+KWRlbGVnYXRlCiB7Ci0gICAg
aWYgKCFfZGVsZWdhdGUpCi0gICAgICAgIF9kZWxlZ2F0ZSA9IG1ha2VVbmlxdWU8V2ViS2l0OjpJ
bnNwZWN0b3JEZWxlZ2F0ZT4oc2VsZik7CisgICAgaWYgKCFkZWxlZ2F0ZSAmJiAhX2RlbGVnYXRl
KQorICAgICAgICByZXR1cm47CiAKLSAgICBfaW5zcGVjdG9yLT5zZXRJbnNwZWN0b3JDbGllbnQo
X2RlbGVnYXRlLT5jcmVhdGVJbnNwZWN0b3JDbGllbnQoKSk7Ci0gICAgX2RlbGVnYXRlLT5zZXRE
ZWxlZ2F0ZShkZWxlZ2F0ZSk7CisgICAgX2RlbGVnYXRlID0gbWFrZVVuaXF1ZTxXZWJLaXQ6Oklu
c3BlY3RvckRlbGVnYXRlPihzZWxmLCBkZWxlZ2F0ZSk7CiB9CiAKIC0gKFdLV2ViVmlldyAqKXdl
YlZpZXcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0luc3BlY3Rvci9Db2Nv
YS9JbnNwZWN0b3JEZWxlZ2F0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9y
L0NvY29hL0luc3BlY3RvckRlbGVnYXRlLmgKaW5kZXggMDEyZTFlNGRmMDM3MmMxNWE5ZWU2YzIy
MWY5MzZjOWQzZDYzMDVlMi4uZTFmYWVlNjk1NDQ5YWQ5Yjg0MjI2YzM5YzZjNGZmYTg4MDIxOTBm
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL0NvY29hL0lu
c3BlY3RvckRlbGVnYXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9y
L0NvY29hL0luc3BlY3RvckRlbGVnYXRlLmgKQEAgLTM5LDkgKzM5LDggQEAgY2xhc3MgV2ViSW5z
cGVjdG9yUHJveHk7CiBjbGFzcyBJbnNwZWN0b3JEZWxlZ2F0ZSB7CiAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQgSW5zcGVjdG9yRGVsZWdhdGUoX1dL
SW5zcGVjdG9yICopOwotCi0gICAgc3RkOjp1bmlxdWVfcHRyPEFQSTo6SW5zcGVjdG9yQ2xpZW50
PiBjcmVhdGVJbnNwZWN0b3JDbGllbnQoKTsKKyAgICBJbnNwZWN0b3JEZWxlZ2F0ZShfV0tJbnNw
ZWN0b3IgKiwgaWQgPF9XS0luc3BlY3RvckRlbGVnYXRlPik7CisgICAgfkluc3BlY3RvckRlbGVn
YXRlKCk7CiAKICAgICBSZXRhaW5QdHI8aWQgPF9XS0luc3BlY3RvckRlbGVnYXRlPj4gZGVsZWdh
dGUoKTsKICAgICB2b2lkIHNldERlbGVnYXRlKGlkIDxfV0tJbnNwZWN0b3JEZWxlZ2F0ZT4pOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL0NvY29hL0luc3Bl
Y3RvckRlbGVnYXRlLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL0NvY29h
L0luc3BlY3RvckRlbGVnYXRlLm1tCmluZGV4IDYwYzEzMmQ1ZDg5ZDE3YjQ2ZDMzMmRmMWEwMmMw
YThhMmNiYTFjODAuLmEyZTgzNzgyYzY2NzA5NmM4NjQ2OTc1YzMzZTRkZGRhNWIxNTVmOTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0luc3BlY3Rvci9Db2NvYS9JbnNwZWN0
b3JEZWxlZ2F0ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3IvQ29j
b2EvSW5zcGVjdG9yRGVsZWdhdGUubW0KQEAgLTMyLDI4ICszMiwyMiBAQAogCiBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAotSW5zcGVjdG9yRGVsZWdhdGU6Okluc3BlY3RvckRlbGVnYXRlKF9XS0luc3Bl
Y3RvciAqaW5zcGVjdG9yKQorSW5zcGVjdG9yRGVsZWdhdGU6Okluc3BlY3RvckRlbGVnYXRlKF9X
S0luc3BlY3RvciAqaW5zcGVjdG9yLCBpZCA8X1dLSW5zcGVjdG9yRGVsZWdhdGU+IGRlbGVnYXRl
KQogICAgIDogbV9pbnNwZWN0b3IoaW5zcGVjdG9yKQorICAgICwgbV9kZWxlZ2F0ZShkZWxlZ2F0
ZSkKIHsKLX0KKyAgICBtX2RlbGVnYXRlTWV0aG9kcy5pbnNwZWN0b3JPcGVuVVJMRXh0ZXJuYWxs
eSA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKGluc3BlY3RvcjpvcGVu
VVJMRXh0ZXJuYWxseTopXTsKIAotc3RkOjp1bmlxdWVfcHRyPEFQSTo6SW5zcGVjdG9yQ2xpZW50
PiBJbnNwZWN0b3JEZWxlZ2F0ZTo6Y3JlYXRlSW5zcGVjdG9yQ2xpZW50KCkKLXsKLSAgICByZXR1
cm4gbWFrZVVuaXF1ZTxJbnNwZWN0b3JDbGllbnQ+KCp0aGlzKTsKKyAgICBpbnNwZWN0b3ItPl9p
bnNwZWN0b3ItPnNldEluc3BlY3RvckNsaWVudChkZWxlZ2F0ZSA/IG1ha2VVbmlxdWU8SW5zcGVj
dG9yQ2xpZW50PigqdGhpcykgOiBudWxscHRyKTsKIH0KIAorSW5zcGVjdG9yRGVsZWdhdGU6On5J
bnNwZWN0b3JEZWxlZ2F0ZSgpID0gZGVmYXVsdDsKKwogUmV0YWluUHRyPGlkIDxfV0tJbnNwZWN0
b3JEZWxlZ2F0ZT4+IEluc3BlY3RvckRlbGVnYXRlOjpkZWxlZ2F0ZSgpCiB7CiAgICAgcmV0dXJu
IG1fZGVsZWdhdGUuZ2V0KCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yRGVsZWdhdGU6OnNldERlbGVn
YXRlKGlkIDxfV0tJbnNwZWN0b3JEZWxlZ2F0ZT4gZGVsZWdhdGUpCi17Ci0gICAgbV9kZWxlZ2F0
ZSA9IGRlbGVnYXRlOwotCi0gICAgbV9kZWxlZ2F0ZU1ldGhvZHMuaW5zcGVjdG9yT3BlblVSTEV4
dGVybmFsbHkgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihpbnNwZWN0
b3I6b3BlblVSTEV4dGVybmFsbHk6KV07Ci19Ci0KIEluc3BlY3RvckRlbGVnYXRlOjpJbnNwZWN0
b3JDbGllbnQ6Okluc3BlY3RvckNsaWVudChJbnNwZWN0b3JEZWxlZ2F0ZSYgZGVsZWdhdGUpCiAg
ICAgOiBtX2luc3BlY3RvckRlbGVnYXRlKGRlbGVnYXRlKQogewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>