<?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>139693</bug_id>
          
          <creation_ts>2014-12-16 12:26:09 -0800</creation_ts>
          <short_desc>Get rid of PassRefPtr inside StorageManager</short_desc>
          <delta_ts>2014-12-16 15:25:50 -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>New Bugs</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>cdumez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1056047</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-12-16 12:26:09 -0800</bug_when>
    <thetext>Get rid of PassRefPtr inside StorageManager</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1056048</commentid>
    <comment_count>1</comment_count>
      <attachid>243376</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-12-16 12:27:08 -0800</bug_when>
    <thetext>Created attachment 243376
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1056051</commentid>
    <comment_count>2</comment_count>
      <attachid>243376</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-12-16 12:33:23 -0800</bug_when>
    <thetext>Comment on attachment 243376
Patch

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

r=me but

&gt; Source/WebKit2/UIProcess/Storage/StorageManager.cpp:49
&gt; +    static RefPtr&lt;StorageArea&gt; create(LocalStorageNamespace*, RefPtr&lt;SecurityOrigin&gt;&amp;&amp;, unsigned quotaInBytes);

This should return Ref.

&gt; Source/WebKit2/UIProcess/Storage/StorageManager.cpp:57
&gt; +    RefPtr&lt;StorageArea&gt; clone() const;

Ditto.

&gt; Source/WebKit2/UIProcess/Storage/StorageManager.cpp:120
&gt; +    RefPtr&lt;StorageArea&gt; getOrCreateStorageArea(RefPtr&lt;SecurityOrigin&gt;&amp;&amp; securityOrigin)

Ditto.

&gt; Source/WebKit2/UIProcess/Storage/StorageManager.h:50
&gt; +    static RefPtr&lt;StorageManager&gt; create(const String&amp; localStorageDirectory);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1056054</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-12-16 12:35:59 -0800</bug_when>
    <thetext>Committed r177384: &lt;http://trac.webkit.org/changeset/177384&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1056160</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-12-16 15:09:53 -0800</bug_when>
    <thetext>The patch that landed still uses RefPtr instead of Ref?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1056166</commentid>
    <comment_count>5</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-12-16 15:25:50 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; The patch that landed still uses RefPtr instead of Ref?

I fixed it in a couple of followup patches.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243376</attachid>
            <date>2014-12-16 12:27:08 -0800</date>
            <delta_ts>2014-12-16 12:33:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139693-20141216122757.patch</filename>
            <type>text/plain</type>
            <size>11525</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc3Mzc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDg5YmE0NTIzNzg3YzMw
MTk4ZGVmNjk5ZDM1NmU4NzVjYTEwZTc3MC4uYjVjYzg2MGJmNjk5OTZhMWFlNDczZmRlMzIxOWFj
MWE4MzM3OTQ2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE0LTEyLTE2ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgR2V0IHJpZCBvZiBQ
YXNzUmVmUHRyIGluc2lkZSBTdG9yYWdlTWFuYWdlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5NjkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlTWFuYWdl
ci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VNYW5hZ2VyOjpUcmFuc2llbnRMb2NhbFN0
b3JhZ2VOYW1lc3BhY2U6OmdldE9yQ3JlYXRlU3RvcmFnZUFyZWEpOgorICAgICAgICAoV2ViS2l0
OjpTdG9yYWdlTWFuYWdlcjo6U3RvcmFnZUFyZWE6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6
OlN0b3JhZ2VNYW5hZ2VyOjpTdG9yYWdlQXJlYTo6U3RvcmFnZUFyZWEpOgorICAgICAgICAoV2Vi
S2l0OjpTdG9yYWdlTWFuYWdlcjo6U3RvcmFnZUFyZWE6OmNsb25lKToKKyAgICAgICAgKFdlYktp
dDo6U3RvcmFnZU1hbmFnZXI6OkxvY2FsU3RvcmFnZU5hbWVzcGFjZTo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYktpdDo6U3RvcmFnZU1hbmFnZXI6OkxvY2FsU3RvcmFnZU5hbWVzcGFjZTo6Z2V0T3JD
cmVhdGVTdG9yYWdlQXJlYSk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VNYW5hZ2VyOjpTZXNz
aW9uU3RvcmFnZU5hbWVzcGFjZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZU1h
bmFnZXI6OlNlc3Npb25TdG9yYWdlTmFtZXNwYWNlOjpnZXRPckNyZWF0ZVN0b3JhZ2VBcmVhKToK
KyAgICAgICAgKFdlYktpdDo6U3RvcmFnZU1hbmFnZXI6OmNyZWF0ZSk6CisgICAgICAgICogVUlQ
cm9jZXNzL1N0b3JhZ2UvU3RvcmFnZU1hbmFnZXIuaDoKKwogMjAxNC0xMi0xNiAgVGltIEhvcnRv
biAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBEaXNhYmxlIFRleHRJbmRp
Y2F0aW9uIGZvciBMb29rdXAgaW1tZWRpYXRlIGFjdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyLmNwcAppbmRleCA3MDBmMTZmMGM1
ZjBjOTVlNDRiZmE0MGU0OThjMjAzNWZkNGYxZDZmLi4xNjkzMjZhNzU5MWFkZWYxNDhiZTM1YjZk
MTY5MzM5NGU0OWMwOGJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU3Rv
cmFnZS9TdG9yYWdlTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1N0
b3JhZ2UvU3RvcmFnZU1hbmFnZXIuY3BwCkBAIC00Niw3ICs0Niw3IEBAIG5hbWVzcGFjZSBXZWJL
aXQgewogCiBjbGFzcyBTdG9yYWdlTWFuYWdlcjo6U3RvcmFnZUFyZWEgOiBwdWJsaWMgVGhyZWFk
U2FmZVJlZkNvdW50ZWQ8U3RvcmFnZU1hbmFnZXI6OlN0b3JhZ2VBcmVhPiB7CiBwdWJsaWM6Ci0g
ICAgc3RhdGljIFJlZlB0cjxTdG9yYWdlQXJlYT4gY3JlYXRlKExvY2FsU3RvcmFnZU5hbWVzcGFj
ZSosIFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+LCB1bnNpZ25lZCBxdW90YUluQnl0ZXMpOwor
ICAgIHN0YXRpYyBSZWZQdHI8U3RvcmFnZUFyZWE+IGNyZWF0ZShMb2NhbFN0b3JhZ2VOYW1lc3Bh
Y2UqLCBSZWZQdHI8U2VjdXJpdHlPcmlnaW4+JiYsIHVuc2lnbmVkIHF1b3RhSW5CeXRlcyk7CiAg
ICAgflN0b3JhZ2VBcmVhKCk7CiAKICAgICBTZWN1cml0eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4o
KSBjb25zdCB7IHJldHVybiBtX3NlY3VyaXR5T3JpZ2luLmdldCgpOyB9CkBAIC01NCw3ICs1NCw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIGFkZExpc3RlbmVyKElQQzo6Q29ubmVjdGlvbiosIHVpbnQ2
NF90IHN0b3JhZ2VNYXBJRCk7CiAgICAgdm9pZCByZW1vdmVMaXN0ZW5lcihJUEM6OkNvbm5lY3Rp
b24qLCB1aW50NjRfdCBzdG9yYWdlTWFwSUQpOwogCi0gICAgUGFzc1JlZlB0cjxTdG9yYWdlQXJl
YT4gY2xvbmUoKSBjb25zdDsKKyAgICBSZWZQdHI8U3RvcmFnZUFyZWE+IGNsb25lKCkgY29uc3Q7
CiAKICAgICB2b2lkIHNldEl0ZW0oSVBDOjpDb25uZWN0aW9uKiBzb3VyY2VDb25uZWN0aW9uLCB1
aW50NjRfdCBzb3VyY2VTdG9yYWdlQXJlYUlELCBjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3Ry
aW5nJiB2YWx1ZSwgY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcsIGJvb2wmIHF1b3RhRXhjZXB0aW9u
KTsKICAgICB2b2lkIHJlbW92ZUl0ZW0oSVBDOjpDb25uZWN0aW9uKiBzb3VyY2VDb25uZWN0aW9u
LCB1aW50NjRfdCBzb3VyY2VTdG9yYWdlQXJlYUlELCBjb25zdCBTdHJpbmcmIGtleSwgY29uc3Qg
U3RyaW5nJiB1cmxTdHJpbmcpOwpAQCAtNjQsNyArNjQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBj
bGVhcigpOwogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0IFN0b3JhZ2VBcmVhKExvY2FsU3RvcmFn
ZU5hbWVzcGFjZSosIFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+LCB1bnNpZ25lZCBxdW90YUlu
Qnl0ZXMpOworICAgIGV4cGxpY2l0IFN0b3JhZ2VBcmVhKExvY2FsU3RvcmFnZU5hbWVzcGFjZSos
IFJlZlB0cjxTZWN1cml0eU9yaWdpbj4mJiwgdW5zaWduZWQgcXVvdGFJbkJ5dGVzKTsKIAogICAg
IHZvaWQgb3BlbkRhdGFiYXNlQW5kSW1wb3J0SXRlbXNJZk5lZWRlZCgpOwogCkBAIC04NCwxMiAr
ODQsMTIgQEAgcHJpdmF0ZToKIAogY2xhc3MgU3RvcmFnZU1hbmFnZXI6OkxvY2FsU3RvcmFnZU5h
bWVzcGFjZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxMb2NhbFN0b3JhZ2VOYW1lc3Bh
Y2U+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxMb2NhbFN0b3JhZ2VOYW1lc3Bh
Y2U+IGNyZWF0ZShTdG9yYWdlTWFuYWdlciosIHVpbnQ2NF90IHN0b3JhZ2VNYW5hZ2VySUQpOwor
ICAgIHN0YXRpYyBSZWZQdHI8TG9jYWxTdG9yYWdlTmFtZXNwYWNlPiBjcmVhdGUoU3RvcmFnZU1h
bmFnZXIqLCB1aW50NjRfdCBzdG9yYWdlTWFuYWdlcklEKTsKICAgICB+TG9jYWxTdG9yYWdlTmFt
ZXNwYWNlKCk7CiAKICAgICBTdG9yYWdlTWFuYWdlciogc3RvcmFnZU1hbmFnZXIoKSBjb25zdCB7
IHJldHVybiBtX3N0b3JhZ2VNYW5hZ2VyOyB9CiAKLSAgICBQYXNzUmVmUHRyPFN0b3JhZ2VBcmVh
PiBnZXRPckNyZWF0ZVN0b3JhZ2VBcmVhKFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+KTsKKyAg
ICBSZWZQdHI8U3RvcmFnZUFyZWE+IGdldE9yQ3JlYXRlU3RvcmFnZUFyZWEoUmVmUHRyPFNlY3Vy
aXR5T3JpZ2luPiYmKTsKICAgICB2b2lkIGRpZERlc3Ryb3lTdG9yYWdlQXJlYShTdG9yYWdlQXJl
YSopOwogCiAgICAgdm9pZCBjbGVhclN0b3JhZ2VBcmVhc01hdGNoaW5nT3JpZ2luKFNlY3VyaXR5
T3JpZ2luKik7CkBAIC0xMTcsMTMgKzExNywxMyBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAot
ICAgIFJlZlB0cjxTdG9yYWdlQXJlYT4gZ2V0T3JDcmVhdGVTdG9yYWdlQXJlYShQYXNzUmVmUHRy
PFNlY3VyaXR5T3JpZ2luPiBzZWN1cml0eU9yaWdpbikKKyAgICBSZWZQdHI8U3RvcmFnZUFyZWE+
IGdldE9yQ3JlYXRlU3RvcmFnZUFyZWEoUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiYmIHNlY3VyaXR5
T3JpZ2luKQogICAgIHsKLSAgICAgICAgYXV0byYgc2xvdCA9IG1fc3RvcmFnZUFyZWFNYXAuYWRk
KHNlY3VyaXR5T3JpZ2luLmdldCgpLCBudWxscHRyKS5pdGVyYXRvci0+dmFsdWU7CisgICAgICAg
IGF1dG8mIHNsb3QgPSBtX3N0b3JhZ2VBcmVhTWFwLmFkZChzZWN1cml0eU9yaWdpbiwgbnVsbHB0
cikuaXRlcmF0b3ItPnZhbHVlOwogICAgICAgICBpZiAoc2xvdCkKICAgICAgICAgICAgIHJldHVy
biBzbG90OwogCi0gICAgICAgIGF1dG8gc3RvcmFnZUFyZWEgPSBTdG9yYWdlQXJlYTo6Y3JlYXRl
KG51bGxwdHIsIHNlY3VyaXR5T3JpZ2luLCBtX3F1b3RhSW5CeXRlcyk7CisgICAgICAgIGF1dG8g
c3RvcmFnZUFyZWEgPSBTdG9yYWdlQXJlYTo6Y3JlYXRlKG51bGxwdHIsIFdURjo6bW92ZShzZWN1
cml0eU9yaWdpbiksIG1fcXVvdGFJbkJ5dGVzKTsKICAgICAgICAgc2xvdCA9IHN0b3JhZ2VBcmVh
LmdldCgpOwogCiAgICAgICAgIHJldHVybiBzdG9yYWdlQXJlYTsKQEAgLTE1NCwxNSArMTU0LDE1
IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxSZWZQdHI8U2VjdXJpdHlPcmlnaW4+LCBTdG9yYWdl
QXJlYSo+IG1fc3RvcmFnZUFyZWFNYXA7CiB9OwogCi1SZWZQdHI8U3RvcmFnZU1hbmFnZXI6OlN0
b3JhZ2VBcmVhPiBTdG9yYWdlTWFuYWdlcjo6U3RvcmFnZUFyZWE6OmNyZWF0ZShMb2NhbFN0b3Jh
Z2VOYW1lc3BhY2UqIGxvY2FsU3RvcmFnZU5hbWVzcGFjZSwgUGFzc1JlZlB0cjxTZWN1cml0eU9y
aWdpbj4gc2VjdXJpdHlPcmlnaW4sIHVuc2lnbmVkIHF1b3RhSW5CeXRlcykKK1JlZlB0cjxTdG9y
YWdlTWFuYWdlcjo6U3RvcmFnZUFyZWE+IFN0b3JhZ2VNYW5hZ2VyOjpTdG9yYWdlQXJlYTo6Y3Jl
YXRlKExvY2FsU3RvcmFnZU5hbWVzcGFjZSogbG9jYWxTdG9yYWdlTmFtZXNwYWNlLCBSZWZQdHI8
U2VjdXJpdHlPcmlnaW4+JiYgc2VjdXJpdHlPcmlnaW4sIHVuc2lnbmVkIHF1b3RhSW5CeXRlcykK
IHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFN0b3JhZ2VBcmVhKGxvY2FsU3RvcmFnZU5hbWVz
cGFjZSwgc2VjdXJpdHlPcmlnaW4sIHF1b3RhSW5CeXRlcykpOworICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgU3RvcmFnZUFyZWEobG9jYWxTdG9yYWdlTmFtZXNwYWNlLCBXVEY6Om1vdmUoc2VjdXJp
dHlPcmlnaW4pLCBxdW90YUluQnl0ZXMpKTsKIH0KIAotU3RvcmFnZU1hbmFnZXI6OlN0b3JhZ2VB
cmVhOjpTdG9yYWdlQXJlYShMb2NhbFN0b3JhZ2VOYW1lc3BhY2UqIGxvY2FsU3RvcmFnZU5hbWVz
cGFjZSwgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4gc2VjdXJpdHlPcmlnaW4sIHVuc2lnbmVk
IHF1b3RhSW5CeXRlcykKK1N0b3JhZ2VNYW5hZ2VyOjpTdG9yYWdlQXJlYTo6U3RvcmFnZUFyZWEo
TG9jYWxTdG9yYWdlTmFtZXNwYWNlKiBsb2NhbFN0b3JhZ2VOYW1lc3BhY2UsIFJlZlB0cjxTZWN1
cml0eU9yaWdpbj4mJiBzZWN1cml0eU9yaWdpbiwgdW5zaWduZWQgcXVvdGFJbkJ5dGVzKQogICAg
IDogbV9sb2NhbFN0b3JhZ2VOYW1lc3BhY2UobG9jYWxTdG9yYWdlTmFtZXNwYWNlKQogICAgICwg
bV9kaWRJbXBvcnRJdGVtc0Zyb21EYXRhYmFzZShmYWxzZSkKLSAgICAsIG1fc2VjdXJpdHlPcmln
aW4oc2VjdXJpdHlPcmlnaW4pCisgICAgLCBtX3NlY3VyaXR5T3JpZ2luKFdURjo6bW92ZShzZWN1
cml0eU9yaWdpbikpCiAgICAgLCBtX3F1b3RhSW5CeXRlcyhxdW90YUluQnl0ZXMpCiAgICAgLCBt
X3N0b3JhZ2VNYXAoU3RvcmFnZU1hcDo6Y3JlYXRlKG1fcXVvdGFJbkJ5dGVzKSkKIHsKQEAgLTE5
MSwxNCArMTkxLDE0IEBAIHZvaWQgU3RvcmFnZU1hbmFnZXI6OlN0b3JhZ2VBcmVhOjpyZW1vdmVM
aXN0ZW5lcihJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIHVpCiAgICAgbV9ldmVudExpc3Rl
bmVycy5yZW1vdmUoc3RkOjptYWtlX3BhaXIoY29ubmVjdGlvbiwgc3RvcmFnZU1hcElEKSk7CiB9
CiAKLVBhc3NSZWZQdHI8U3RvcmFnZU1hbmFnZXI6OlN0b3JhZ2VBcmVhPiBTdG9yYWdlTWFuYWdl
cjo6U3RvcmFnZUFyZWE6OmNsb25lKCkgY29uc3QKK1JlZlB0cjxTdG9yYWdlTWFuYWdlcjo6U3Rv
cmFnZUFyZWE+IFN0b3JhZ2VNYW5hZ2VyOjpTdG9yYWdlQXJlYTo6Y2xvbmUoKSBjb25zdAogewog
ICAgIEFTU0VSVCghbV9sb2NhbFN0b3JhZ2VOYW1lc3BhY2UpOwogCi0gICAgUmVmUHRyPFN0b3Jh
Z2VBcmVhPiBzdG9yYWdlQXJlYSA9IFN0b3JhZ2VBcmVhOjpjcmVhdGUoMCwgbV9zZWN1cml0eU9y
aWdpbiwgbV9xdW90YUluQnl0ZXMpOworICAgIGF1dG8gc3RvcmFnZUFyZWEgPSBTdG9yYWdlQXJl
YTo6Y3JlYXRlKDAsIG1fc2VjdXJpdHlPcmlnaW4uY29weVJlZigpLCBtX3F1b3RhSW5CeXRlcyk7
CiAgICAgc3RvcmFnZUFyZWEtPm1fc3RvcmFnZU1hcCA9IG1fc3RvcmFnZU1hcDsKIAotICAgIHJl
dHVybiBzdG9yYWdlQXJlYS5yZWxlYXNlKCk7CisgICAgcmV0dXJuIHN0b3JhZ2VBcmVhOwogfQog
CiB2b2lkIFN0b3JhZ2VNYW5hZ2VyOjpTdG9yYWdlQXJlYTo6c2V0SXRlbShJUEM6OkNvbm5lY3Rp
b24qIHNvdXJjZUNvbm5lY3Rpb24sIHVpbnQ2NF90IHNvdXJjZVN0b3JhZ2VBcmVhSUQsIGNvbnN0
IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIHZhbHVlLCBjb25zdCBTdHJpbmcmIHVybFN0cmlu
ZywgYm9vbCYgcXVvdGFFeGNlcHRpb24pCkBAIC0yOTgsNyArMjk4LDcgQEAgdm9pZCBTdG9yYWdl
TWFuYWdlcjo6U3RvcmFnZUFyZWE6OmRpc3BhdGNoRXZlbnRzKElQQzo6Q29ubmVjdGlvbiogc291
cmNlQ29ubmVjdGkKICAgICB9CiB9CiAKLVBhc3NSZWZQdHI8U3RvcmFnZU1hbmFnZXI6OkxvY2Fs
U3RvcmFnZU5hbWVzcGFjZT4gU3RvcmFnZU1hbmFnZXI6OkxvY2FsU3RvcmFnZU5hbWVzcGFjZTo6
Y3JlYXRlKFN0b3JhZ2VNYW5hZ2VyKiBzdG9yYWdlTWFuYWdlciwgdWludDY0X3Qgc3RvcmFnZU5h
bWVzcGFjZUlEKQorUmVmUHRyPFN0b3JhZ2VNYW5hZ2VyOjpMb2NhbFN0b3JhZ2VOYW1lc3BhY2U+
IFN0b3JhZ2VNYW5hZ2VyOjpMb2NhbFN0b3JhZ2VOYW1lc3BhY2U6OmNyZWF0ZShTdG9yYWdlTWFu
YWdlciogc3RvcmFnZU1hbmFnZXIsIHVpbnQ2NF90IHN0b3JhZ2VOYW1lc3BhY2VJRCkKIHsKICAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IExvY2FsU3RvcmFnZU5hbWVzcGFjZShzdG9yYWdlTWFuYWdl
ciwgc3RvcmFnZU5hbWVzcGFjZUlEKSk7CiB9CkBAIC0zMTcsMTMgKzMxNywxMyBAQCBTdG9yYWdl
TWFuYWdlcjo6TG9jYWxTdG9yYWdlTmFtZXNwYWNlOjp+TG9jYWxTdG9yYWdlTmFtZXNwYWNlKCkK
ICAgICBBU1NFUlQobV9zdG9yYWdlQXJlYU1hcC5pc0VtcHR5KCkpOwogfQogCi1QYXNzUmVmUHRy
PFN0b3JhZ2VNYW5hZ2VyOjpTdG9yYWdlQXJlYT4gU3RvcmFnZU1hbmFnZXI6OkxvY2FsU3RvcmFn
ZU5hbWVzcGFjZTo6Z2V0T3JDcmVhdGVTdG9yYWdlQXJlYShQYXNzUmVmUHRyPFNlY3VyaXR5T3Jp
Z2luPiBzZWN1cml0eU9yaWdpbikKK1JlZlB0cjxTdG9yYWdlTWFuYWdlcjo6U3RvcmFnZUFyZWE+
IFN0b3JhZ2VNYW5hZ2VyOjpMb2NhbFN0b3JhZ2VOYW1lc3BhY2U6OmdldE9yQ3JlYXRlU3RvcmFn
ZUFyZWEoUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiYmIHNlY3VyaXR5T3JpZ2luKQogewogICAgIGF1
dG8gcmVzdWx0ID0gbV9zdG9yYWdlQXJlYU1hcC5hZGQoc2VjdXJpdHlPcmlnaW4sIG51bGxwdHIp
OwogICAgIGlmICghcmVzdWx0LmlzTmV3RW50cnkpCiAgICAgICAgIHJldHVybiByZXN1bHQuaXRl
cmF0b3ItPnZhbHVlOwogCi0gICAgUmVmUHRyPFN0b3JhZ2VBcmVhPiBzdG9yYWdlQXJlYSA9IFN0
b3JhZ2VBcmVhOjpjcmVhdGUodGhpcywgcmVzdWx0Lml0ZXJhdG9yLT5rZXksIG1fcXVvdGFJbkJ5
dGVzKTsKKyAgICBSZWZQdHI8U3RvcmFnZUFyZWE+IHN0b3JhZ2VBcmVhID0gU3RvcmFnZUFyZWE6
OmNyZWF0ZSh0aGlzLCByZXN1bHQuaXRlcmF0b3ItPmtleS5jb3B5UmVmKCksIG1fcXVvdGFJbkJ5
dGVzKTsKICAgICByZXN1bHQuaXRlcmF0b3ItPnZhbHVlID0gc3RvcmFnZUFyZWEuZ2V0KCk7CiAK
ICAgICByZXR1cm4gc3RvcmFnZUFyZWEucmVsZWFzZSgpOwpAQCAtMzU3LDcgKzM1Nyw3IEBAIHZv
aWQgU3RvcmFnZU1hbmFnZXI6OkxvY2FsU3RvcmFnZU5hbWVzcGFjZTo6Y2xlYXJBbGxTdG9yYWdl
QXJlYXMoKQogCiBjbGFzcyBTdG9yYWdlTWFuYWdlcjo6U2Vzc2lvblN0b3JhZ2VOYW1lc3BhY2Ug
OiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8U2Vzc2lvblN0b3JhZ2VOYW1lc3BhY2U+IHsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTZXNzaW9uU3RvcmFnZU5hbWVzcGFjZT4g
Y3JlYXRlKElQQzo6Q29ubmVjdGlvbiogYWxsb3dlZENvbm5lY3Rpb24sIHVuc2lnbmVkIHF1b3Rh
SW5CeXRlcyk7CisgICAgc3RhdGljIFJlZlB0cjxTZXNzaW9uU3RvcmFnZU5hbWVzcGFjZT4gY3Jl
YXRlKElQQzo6Q29ubmVjdGlvbiogYWxsb3dlZENvbm5lY3Rpb24sIHVuc2lnbmVkIHF1b3RhSW5C
eXRlcyk7CiAgICAgflNlc3Npb25TdG9yYWdlTmFtZXNwYWNlKCk7CiAKICAgICBib29sIGlzRW1w
dHkoKSBjb25zdCB7IHJldHVybiBtX3N0b3JhZ2VBcmVhTWFwLmlzRW1wdHkoKTsgfQpAQCAtMzY1
LDcgKzM2NSw3IEBAIHB1YmxpYzoKICAgICBJUEM6OkNvbm5lY3Rpb24qIGFsbG93ZWRDb25uZWN0
aW9uKCkgY29uc3QgeyByZXR1cm4gbV9hbGxvd2VkQ29ubmVjdGlvbi5nZXQoKTsgfQogICAgIHZv
aWQgc2V0QWxsb3dlZENvbm5lY3Rpb24oSVBDOjpDb25uZWN0aW9uKik7CiAKLSAgICBQYXNzUmVm
UHRyPFN0b3JhZ2VBcmVhPiBnZXRPckNyZWF0ZVN0b3JhZ2VBcmVhKFBhc3NSZWZQdHI8U2VjdXJp
dHlPcmlnaW4+KTsKKyAgICBSZWZQdHI8U3RvcmFnZUFyZWE+IGdldE9yQ3JlYXRlU3RvcmFnZUFy
ZWEoUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiYmKTsKIAogICAgIHZvaWQgY2xvbmVUbyhTZXNzaW9u
U3RvcmFnZU5hbWVzcGFjZSYgbmV3U2Vzc2lvblN0b3JhZ2VOYW1lc3BhY2UpOwogCkBAIC0zNzgs
NyArMzc4LDcgQEAgcHJpdmF0ZToKICAgICBIYXNoTWFwPFJlZlB0cjxTZWN1cml0eU9yaWdpbj4s
IFJlZlB0cjxTdG9yYWdlQXJlYT4+IG1fc3RvcmFnZUFyZWFNYXA7CiB9OwogCi1QYXNzUmVmUHRy
PFN0b3JhZ2VNYW5hZ2VyOjpTZXNzaW9uU3RvcmFnZU5hbWVzcGFjZT4gU3RvcmFnZU1hbmFnZXI6
OlNlc3Npb25TdG9yYWdlTmFtZXNwYWNlOjpjcmVhdGUoSVBDOjpDb25uZWN0aW9uKiBhbGxvd2Vk
Q29ubmVjdGlvbiwgdW5zaWduZWQgcXVvdGFJbkJ5dGVzKQorUmVmUHRyPFN0b3JhZ2VNYW5hZ2Vy
OjpTZXNzaW9uU3RvcmFnZU5hbWVzcGFjZT4gU3RvcmFnZU1hbmFnZXI6OlNlc3Npb25TdG9yYWdl
TmFtZXNwYWNlOjpjcmVhdGUoSVBDOjpDb25uZWN0aW9uKiBhbGxvd2VkQ29ubmVjdGlvbiwgdW5z
aWduZWQgcXVvdGFJbkJ5dGVzKQogewogICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2Vzc2lvblN0
b3JhZ2VOYW1lc3BhY2UoYWxsb3dlZENvbm5lY3Rpb24sIHF1b3RhSW5CeXRlcykpOwogfQpAQCAt
NDAwLDExICs0MDAsMTEgQEAgdm9pZCBTdG9yYWdlTWFuYWdlcjo6U2Vzc2lvblN0b3JhZ2VOYW1l
c3BhY2U6OnNldEFsbG93ZWRDb25uZWN0aW9uKElQQzo6Q29ubmVjdGkKICAgICBtX2FsbG93ZWRD
b25uZWN0aW9uID0gYWxsb3dlZENvbm5lY3Rpb247CiB9CiAKLVBhc3NSZWZQdHI8U3RvcmFnZU1h
bmFnZXI6OlN0b3JhZ2VBcmVhPiBTdG9yYWdlTWFuYWdlcjo6U2Vzc2lvblN0b3JhZ2VOYW1lc3Bh
Y2U6OmdldE9yQ3JlYXRlU3RvcmFnZUFyZWEoUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4gc2Vj
dXJpdHlPcmlnaW4pCitSZWZQdHI8U3RvcmFnZU1hbmFnZXI6OlN0b3JhZ2VBcmVhPiBTdG9yYWdl
TWFuYWdlcjo6U2Vzc2lvblN0b3JhZ2VOYW1lc3BhY2U6OmdldE9yQ3JlYXRlU3RvcmFnZUFyZWEo
UmVmUHRyPFNlY3VyaXR5T3JpZ2luPiYmIHNlY3VyaXR5T3JpZ2luKQogewogICAgIGF1dG8gcmVz
dWx0ID0gbV9zdG9yYWdlQXJlYU1hcC5hZGQoc2VjdXJpdHlPcmlnaW4sIG51bGxwdHIpOwogICAg
IGlmIChyZXN1bHQuaXNOZXdFbnRyeSkKLSAgICAgICAgcmVzdWx0Lml0ZXJhdG9yLT52YWx1ZSA9
IFN0b3JhZ2VBcmVhOjpjcmVhdGUoMCwgcmVzdWx0Lml0ZXJhdG9yLT5rZXksIG1fcXVvdGFJbkJ5
dGVzKTsKKyAgICAgICAgcmVzdWx0Lml0ZXJhdG9yLT52YWx1ZSA9IFN0b3JhZ2VBcmVhOjpjcmVh
dGUoMCwgcmVzdWx0Lml0ZXJhdG9yLT5rZXkuY29weVJlZigpLCBtX3F1b3RhSW5CeXRlcyk7CiAK
ICAgICByZXR1cm4gcmVzdWx0Lml0ZXJhdG9yLT52YWx1ZTsKIH0KQEAgLTQxNyw3ICs0MTcsNyBA
QCB2b2lkIFN0b3JhZ2VNYW5hZ2VyOjpTZXNzaW9uU3RvcmFnZU5hbWVzcGFjZTo6Y2xvbmVUbyhT
ZXNzaW9uU3RvcmFnZU5hbWVzcGFjZSYgbgogICAgICAgICBuZXdTZXNzaW9uU3RvcmFnZU5hbWVz
cGFjZS5tX3N0b3JhZ2VBcmVhTWFwLmFkZChpdC0+a2V5LCBpdC0+dmFsdWUtPmNsb25lKCkpOwog
fQogCi1QYXNzUmVmUHRyPFN0b3JhZ2VNYW5hZ2VyPiBTdG9yYWdlTWFuYWdlcjo6Y3JlYXRlKGNv
bnN0IFN0cmluZyYgbG9jYWxTdG9yYWdlRGlyZWN0b3J5KQorUmVmUHRyPFN0b3JhZ2VNYW5hZ2Vy
PiBTdG9yYWdlTWFuYWdlcjo6Y3JlYXRlKGNvbnN0IFN0cmluZyYgbG9jYWxTdG9yYWdlRGlyZWN0
b3J5KQogewogICAgIHJldHVybiBhZG9wdFJlZihuZXcgU3RvcmFnZU1hbmFnZXIobG9jYWxTdG9y
YWdlRGlyZWN0b3J5KSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
U3RvcmFnZS9TdG9yYWdlTWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1N0b3Jh
Z2UvU3RvcmFnZU1hbmFnZXIuaAppbmRleCA2ZDQ5MGM2ZWNmMGJjNmVhNGNiYjgyNTlkNzZmNjkw
MDQ4Zjk1ODMzLi5lZWJkMzNjYzc0MDM1NTY2MmMzNTc4YjFlODhlYjEwOTYyY2QxZTdlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlTWFuYWdlci5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyLmgK
QEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSA8Y2hy
b25vPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9TdHJpbmdIYXNoLmg+CiAKQEAgLTQ4LDcgKzQ3LDcgQEAgY2xhc3MgV2ViUHJvY2Vzc1By
b3h5OwogCiBjbGFzcyBTdG9yYWdlTWFuYWdlciA6IHB1YmxpYyBJUEM6OkNvbm5lY3Rpb246Oldv
cmtRdWV1ZU1lc3NhZ2VSZWNlaXZlciB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8
U3RvcmFnZU1hbmFnZXI+IGNyZWF0ZShjb25zdCBTdHJpbmcmIGxvY2FsU3RvcmFnZURpcmVjdG9y
eSk7CisgICAgc3RhdGljIFJlZlB0cjxTdG9yYWdlTWFuYWdlcj4gY3JlYXRlKGNvbnN0IFN0cmlu
ZyYgbG9jYWxTdG9yYWdlRGlyZWN0b3J5KTsKICAgICB+U3RvcmFnZU1hbmFnZXIoKTsKIAogICAg
IHZvaWQgY3JlYXRlU2Vzc2lvblN0b3JhZ2VOYW1lc3BhY2UodWludDY0X3Qgc3RvcmFnZU5hbWVz
cGFjZUlELCBJUEM6OkNvbm5lY3Rpb24qIGFsbG93ZWRDb25uZWN0aW9uLCB1bnNpZ25lZCBxdW90
YUluQnl0ZXMpOwo=
</data>
<flag name="review"
          id="268252"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>