<?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>45120</bug_id>
          
          <creation_ts>2010-09-02 11:58:12 -0700</creation_ts>
          <short_desc>Simplify ownership semantics of some WebKit2 types</short_desc>
          <delta_ts>2010-09-02 12:11:43 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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="Sam Weinig">sam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>273482</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-09-02 11:58:12 -0700</bug_when>
    <thetext>Simplify ownership semantics of some WebKit2 types</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273483</commentid>
    <comment_count>1</comment_count>
      <attachid>66392</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-09-02 11:58:56 -0700</bug_when>
    <thetext>Created attachment 66392
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273491</commentid>
    <comment_count>2</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-09-02 12:11:43 -0700</bug_when>
    <thetext>Landed in r66679.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66392</attachid>
            <date>2010-09-02 11:58:56 -0700</date>
            <delta_ts>2010-09-02 12:00:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>13318</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NjY3NikKKysrIFdlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDkgQEAKKzIwMTAtMDktMDIgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaW1wbGlm
eSBvd25lcnNoaXAgc2VtYW50aWNzIG9mIHNvbWUgV2ViS2l0MiB0eXBlcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDUxMjAKKworICAgICAgICAtIE1h
a2UgSW1tdXRhYmxlQXJyYXkgYW5kIE11dGFibGVBcnJheSB1c2UgYSBWZWN0b3I8UmVmUHRyPEFQ
SU9iamVjdD4gPiBhbmQKKyAgICAgICAgICB0aGVyZWZvcmUgcmVmIGFueSBpdGVtcyBpdCB0YWtl
cyBpbi4KKyAgICAgICAgLSBNYWtlIHRoZSBQb3N0TWVzc2FnZURlY29kZXIgb3BlcmF0ZSBvbiBh
IFJlZlB0cjxBUElPYmplY3Q+JiB0byBhdm9pZCB0aGUgb2RkCisgICAgICAgICAgbGVha2luZyBz
ZW1hbnRpY3MuCisKKyAgICAgICAgKiBTaGFyZWQvSW1tdXRhYmxlQXJyYXkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpJbW11dGFibGVBcnJheTo6SW1tdXRhYmxlQXJyYXkpOiBUaGlzIGNvbnN0cnVj
dG9yIG5vdyB1c2VzIGEgZm9yLWxvb3AKKyAgICAgICAgaW5zdGVhZCBvZiBtZW1jcHkgdG8gcmVm
IGVhY2ggaXRlbS4KKyAgICAgICAgKFdlYktpdDo6SW1tdXRhYmxlQXJyYXk6On5JbW11dGFibGVB
cnJheSk6IE5vIGxvbmdlciBuZWNlc3NhcnkgdG8gbWFudWFsbHkgZGVyZWYuCisgICAgICAgICog
U2hhcmVkL0ltbXV0YWJsZUFycmF5Lmg6CisgICAgICAgIChXZWJLaXQ6OkltbXV0YWJsZUFycmF5
OjphZG9wdCk6CisgICAgICAgIChXZWJLaXQ6OkltbXV0YWJsZUFycmF5OjphdCk6CisgICAgICAg
IENoYW5nZXMgdG8gYWNjb21tb2RhdGUgZW50cmllcyBiZWluZyBjaGFuZ2VkIHRvIGEgVmVjdG9y
PFJlZlB0cjxBUElPYmplY3Q+ID4uCisKKyAgICAgICAgKiBTaGFyZWQvSW1tdXRhYmxlRGljdGlv
bmFyeS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkltbXV0YWJsZURpY3Rpb25hcnk6OmtleXMpOgor
ICAgICAgICBCdWlsZCBhIFZlY3RvcjxSZWZQdHI8QVBJT2JqZWN0PiA+LgorCisgICAgICAgICog
VUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkJh
Y2tGb3J3YXJkTGlzdDo6YmFja0xpc3RBc0ltbXV0YWJsZUFycmF5V2l0aExpbWl0KToKKyAgICAg
ICAgKFdlYktpdDo6V2ViQmFja0ZvcndhcmRMaXN0Ojpmb3J3YXJkTGlzdEFzSW1tdXRhYmxlQXJy
YXlXaXRoTGltaXQpOgorICAgICAgICBEaXR0by4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJD
b250ZXh0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UG9zdE1lc3NhZ2VFbmNvZGVyOjpQb3N0TWVz
c2FnZURlY29kZXI6OlBvc3RNZXNzYWdlRGVjb2Rlcik6CisgICAgICAgIChXZWJLaXQ6OlBvc3RN
ZXNzYWdlRW5jb2Rlcjo6UG9zdE1lc3NhZ2VEZWNvZGVyOjpkZWNvZGUpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJDb250ZXh0OjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgIEFQSU9iamVjdD4m
IHRvIGF2b2lkIHRoZSBvZGQgbGVha2luZyBzZW1hbnRpY3MuCisKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
UG9zdE1lc3NhZ2VFbmNvZGVyOjpQb3N0TWVzc2FnZURlY29kZXI6OlBvc3RNZXNzYWdlRGVjb2Rl
cik6CisgICAgICAgIChXZWJLaXQ6OlBvc3RNZXNzYWdlRW5jb2Rlcjo6UG9zdE1lc3NhZ2VEZWNv
ZGVyOjpkZWNvZGUpOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6ZGlkUmVjZWl2
ZU1lc3NhZ2UpOgorICAgICAgICBEaXR0by4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJGcmFtZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lOjpjaGlsZEZyYW1lcyk6
CisgICAgICAgIEJ1aWxkIGEgVmVjdG9yPFJlZlB0cjxBUElPYmplY3Q+ID4uCisKIDIwMTAtMDkt
MDIgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBB
bmRlcnMgQ2FybHNzb24uCkluZGV4OiBXZWJLaXQyL1NoYXJlZC9JbW11dGFibGVBcnJheS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViS2l0Mi9TaGFyZWQvSW1tdXRhYmxlQXJyYXkuY3BwCShyZXZpc2lv
biA2NjYzNykKKysrIFdlYktpdDIvU2hhcmVkL0ltbXV0YWJsZUFycmF5LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzQsMTggKzM0LDE3IEBAIEltbXV0YWJsZUFycmF5OjpJbW11dGFibGVBcnJheSgp
CiBJbW11dGFibGVBcnJheTo6SW1tdXRhYmxlQXJyYXkoQVBJT2JqZWN0KiogZW50cmllcywgc2l6
ZV90IHNpemUpCiAgICAgOiBtX2VudHJpZXMoc2l6ZSkKIHsKLSAgICBtZW1jcHkobV9lbnRyaWVz
LmRhdGEoKSwgZW50cmllcywgc2l6ZSk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzaXpl
OyArK2kpCisgICAgICAgIG1fZW50cmllc1tpXSA9IGVudHJpZXNbaV07CiB9CiAKLUltbXV0YWJs
ZUFycmF5OjpJbW11dGFibGVBcnJheShWZWN0b3I8QVBJT2JqZWN0Kj4mIGVudHJpZXMpCitJbW11
dGFibGVBcnJheTo6SW1tdXRhYmxlQXJyYXkoVmVjdG9yPFJlZlB0cjxBUElPYmplY3Q+ID4mIGVu
dHJpZXMpCiB7CiAgICAgbV9lbnRyaWVzLnN3YXAoZW50cmllcyk7CiB9CiAKIEltbXV0YWJsZUFy
cmF5Ojp+SW1tdXRhYmxlQXJyYXkoKQogewotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9l
bnRyaWVzLnNpemUoKTsgKytpKQotICAgICAgICBtX2VudHJpZXNbaV0tPmRlcmVmKCk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogV2ViS2l0Mi9TaGFyZWQvSW1tdXRhYmxlQXJy
YXkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1NoYXJlZC9JbW11dGFibGVBcnJheS5oCShyZXZp
c2lvbiA2NjYzOCkKKysrIFdlYktpdDIvU2hhcmVkL0ltbXV0YWJsZUFycmF5LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBJbW11dGFibGVBcnJheShlbnRyaWVzLCBzaXplKSk7CiAgICAgfQotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPEltbXV0YWJsZUFycmF5PiBhZG9wdChWZWN0b3I8QVBJT2JqZWN0Kj4m
IGVudHJpZXMpCisgICAgc3RhdGljIFBhc3NSZWZQdHI8SW1tdXRhYmxlQXJyYXk+IGFkb3B0KFZl
Y3RvcjxSZWZQdHI8QVBJT2JqZWN0PiA+JiBlbnRyaWVzKQogICAgIHsKICAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBJbW11dGFibGVBcnJheShlbnRyaWVzKSk7CiAgICAgfQpAQCAtNTUsOSAr
NTUsOSBAQCBwdWJsaWM6CiAgICAgfkltbXV0YWJsZUFycmF5KCk7CiAKICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBUPgotICAgIFQqIGF0KHNpemVfdCBpKSB7IGlmIChtX2VudHJpZXNbaV0tPnR5cGUo
KSAhPSBUOjpBUElUeXBlKSByZXR1cm4gMDsgcmV0dXJuIHN0YXRpY19jYXN0PFQqPihtX2VudHJp
ZXNbaV0pOyB9CisgICAgVCogYXQoc2l6ZV90IGkpIHsgaWYgKG1fZW50cmllc1tpXS0+dHlwZSgp
ICE9IFQ6OkFQSVR5cGUpIHJldHVybiAwOyByZXR1cm4gc3RhdGljX2Nhc3Q8VCo+KG1fZW50cmll
c1tpXS5nZXQoKSk7IH0KIAotICAgIEFQSU9iamVjdCogYXQoc2l6ZV90IGkpIHsgcmV0dXJuIG1f
ZW50cmllc1tpXTsgfQorICAgIEFQSU9iamVjdCogYXQoc2l6ZV90IGkpIHsgcmV0dXJuIG1fZW50
cmllc1tpXS5nZXQoKTsgfQogICAgIHNpemVfdCBzaXplKCkgeyByZXR1cm4gbV9lbnRyaWVzLnNp
emUoKTsgfQogCiAgICAgdmlydHVhbCBib29sIGlzTXV0YWJsZSgpIHsgcmV0dXJuIGZhbHNlOyB9
CkBAIC02NSwxMSArNjUsMTEgQEAgcHVibGljOgogcHJvdGVjdGVkOgogICAgIEltbXV0YWJsZUFy
cmF5KCk7CiAgICAgSW1tdXRhYmxlQXJyYXkoQVBJT2JqZWN0KiogZW50cmllcywgc2l6ZV90IHNp
emUpOwotICAgIEltbXV0YWJsZUFycmF5KFZlY3RvcjxBUElPYmplY3QqPiYgZW50cmllcyk7Cisg
ICAgSW1tdXRhYmxlQXJyYXkoVmVjdG9yPFJlZlB0cjxBUElPYmplY3Q+ID4mIGVudHJpZXMpOwog
CiAgICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBBUElUeXBlOyB9CiAKLSAg
ICBWZWN0b3I8QVBJT2JqZWN0Kj4gbV9lbnRyaWVzOworICAgIFZlY3RvcjxSZWZQdHI8QVBJT2Jq
ZWN0PiA+IG1fZW50cmllczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogV2Vi
S2l0Mi9TaGFyZWQvSW1tdXRhYmxlRGljdGlvbmFyeS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0
Mi9TaGFyZWQvSW1tdXRhYmxlRGljdGlvbmFyeS5jcHAJKHJldmlzaW9uIDY2NjM3KQorKysgV2Vi
S2l0Mi9TaGFyZWQvSW1tdXRhYmxlRGljdGlvbmFyeS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4
LDEzICs0OCwxMyBAQCBQYXNzUmVmUHRyPEltbXV0YWJsZUFycmF5PiBJbW11dGFibGVEaWN0CiAg
ICAgaWYgKG1fbWFwLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIEltbXV0YWJsZUFycmF5Ojpj
cmVhdGUoKTsKIAotICAgIFZlY3RvcjxBUElPYmplY3QqPiB2ZWN0b3I7CisgICAgVmVjdG9yPFJl
ZlB0cjxBUElPYmplY3Q+ID4gdmVjdG9yOwogICAgIHZlY3Rvci5yZXNlcnZlSW5pdGlhbENhcGFj
aXR5KG1fbWFwLnNpemUoKSk7CiAKICAgICBNYXBUeXBlOjpjb25zdF9pdGVyYXRvcjo6S2V5cyBp
dCA9IG1fbWFwLmJlZ2luKCkua2V5cygpOwogICAgIE1hcFR5cGU6OmNvbnN0X2l0ZXJhdG9yOjpL
ZXlzIGVuZCA9IG1fbWFwLmVuZCgpLmtleXMoKTsKICAgICBmb3IgKDsgaXQgIT0gZW5kOyArK2l0
KQotICAgICAgICB2ZWN0b3IudW5jaGVja2VkQXBwZW5kKFdlYlN0cmluZzo6Y3JlYXRlKCppdCku
cmVsZWFzZVJlZigpKTsKKyAgICAgICAgdmVjdG9yLnVuY2hlY2tlZEFwcGVuZChXZWJTdHJpbmc6
OmNyZWF0ZSgqaXQpKTsKIAogICAgIHJldHVybiBJbW11dGFibGVBcnJheTo6YWRvcHQodmVjdG9y
KTsKIH0KSW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRMaXN0LmNwcAkocmV2
aXNpb24gNjY2MzcpCisrKyBXZWJLaXQyL1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZExpc3QuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xNzMsMTUgKzE3MywxMiBAQCBQYXNzUmVmUHRyPEltbXV0YWJs
ZUFycmF5PiBXZWJCYWNrRm9yd2FyCiAgICAgaWYgKCFzaXplKQogICAgICAgICByZXR1cm4gSW1t
dXRhYmxlQXJyYXk6OmNyZWF0ZSgpOwogCi0gICAgVmVjdG9yPEFQSU9iamVjdCo+IHZlY3RvcjsK
KyAgICBWZWN0b3I8UmVmUHRyPEFQSU9iamVjdD4gPiB2ZWN0b3I7CiAgICAgdmVjdG9yLnJlc2Vy
dmVJbml0aWFsQ2FwYWNpdHkoc2l6ZSk7CiAKICAgICBBU1NFUlQoYmFja0xpc3RTaXplID49IHNp
emUpOwotICAgIGZvciAodW5zaWduZWQgaSA9IGJhY2tMaXN0U2l6ZSAtIHNpemU7IGkgPCBiYWNr
TGlzdFNpemU7ICsraSkgewotICAgICAgICBBUElPYmplY3QqIGl0ZW0gPSBtX2VudHJpZXNbaV0u
Z2V0KCk7Ci0gICAgICAgIGl0ZW0tPnJlZigpOwotICAgICAgICB2ZWN0b3IudW5jaGVja2VkQXBw
ZW5kKGl0ZW0pOwotICAgIH0KKyAgICBmb3IgKHVuc2lnbmVkIGkgPSBiYWNrTGlzdFNpemUgLSBz
aXplOyBpIDwgYmFja0xpc3RTaXplOyArK2kpCisgICAgICAgIHZlY3Rvci51bmNoZWNrZWRBcHBl
bmQobV9lbnRyaWVzW2ldLmdldCgpKTsKIAogICAgIHJldHVybiBJbW11dGFibGVBcnJheTo6YWRv
cHQodmVjdG9yKTsKIH0KQEAgLTE5MiwxNiArMTg5LDEzIEBAIFBhc3NSZWZQdHI8SW1tdXRhYmxl
QXJyYXk+IFdlYkJhY2tGb3J3YXIKICAgICBpZiAoIXNpemUpCiAgICAgICAgIHJldHVybiBJbW11
dGFibGVBcnJheTo6Y3JlYXRlKCk7CiAKLSAgICBWZWN0b3I8QVBJT2JqZWN0Kj4gdmVjdG9yOwor
ICAgIFZlY3RvcjxSZWZQdHI8QVBJT2JqZWN0PiA+IHZlY3RvcjsKICAgICB2ZWN0b3IucmVzZXJ2
ZUluaXRpYWxDYXBhY2l0eShzaXplKTsKIAogICAgIHVuc2lnbmVkIGxhc3QgPSBtX2N1cnJlbnQg
KyBzaXplOwogICAgIEFTU0VSVChsYXN0IDwgbV9lbnRyaWVzLnNpemUoKSk7Ci0gICAgZm9yICh1
bnNpZ25lZCBpID0gbV9jdXJyZW50ICsgMTsgaSA8PSBsYXN0OyArK2kpIHsKLSAgICAgICAgQVBJ
T2JqZWN0KiBpdGVtID0gbV9lbnRyaWVzW2ldLmdldCgpOwotICAgICAgICBpdGVtLT5yZWYoKTsK
LSAgICAgICAgdmVjdG9yLnVuY2hlY2tlZEFwcGVuZChpdGVtKTsKLSAgICB9CisgICAgZm9yICh1
bnNpZ25lZCBpID0gbV9jdXJyZW50ICsgMTsgaSA8PSBsYXN0OyArK2kpCisgICAgICAgIHZlY3Rv
ci51bmNoZWNrZWRBcHBlbmQobV9lbnRyaWVzW2ldLmdldCgpKTsKIAogICAgIHJldHVybiBJbW11
dGFibGVBcnJheTo6YWRvcHQodmVjdG9yKTsKIH0KSW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL1dl
YkNvbnRleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQu
Y3BwCShyZXZpc2lvbiA2NjYzNykKKysrIFdlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMDksNyArMTA5LDcgQEAgcHJpdmF0ZToKIAogY2xhc3MgUG9z
dE1lc3NhZ2VEZWNvZGVyIHsKIHB1YmxpYzoKLSAgICBQb3N0TWVzc2FnZURlY29kZXIoQVBJT2Jq
ZWN0Kiogcm9vdCwgV2ViQ29udGV4dCogY29udGV4dCkKKyAgICBQb3N0TWVzc2FnZURlY29kZXIo
UmVmUHRyPEFQSU9iamVjdD4mIHJvb3QsIFdlYkNvbnRleHQqIGNvbnRleHQpCiAgICAgICAgIDog
bV9yb290KHJvb3QpCiAgICAgICAgICwgbV9jb250ZXh0KGNvbnRleHQpCiAgICAgewpAQCAtMTI3
LDMwICsxMjcsMzAgQEAgcHVibGljOgogICAgICAgICAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUo
c2l6ZSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgCi0gICAg
ICAgICAgICBWZWN0b3I8QVBJT2JqZWN0Kj4gYXJyYXk7CisgICAgICAgICAgICBWZWN0b3I8UmVm
UHRyPEFQSU9iamVjdD4gPiB2ZWN0b3I7CiAgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IHNpemU7ICsraSkgewotICAgICAgICAgICAgICAgIEFQSU9iamVjdCogZWxlbWVudDsKLSAg
ICAgICAgICAgICAgICBQb3N0TWVzc2FnZURlY29kZXIgbWVzc2FnZUNvZGVyKCZlbGVtZW50LCBj
b2Rlci5tX2NvbnRleHQpOworICAgICAgICAgICAgICAgIFJlZlB0cjxBUElPYmplY3Q+IGVsZW1l
bnQ7CisgICAgICAgICAgICAgICAgUG9zdE1lc3NhZ2VEZWNvZGVyIG1lc3NhZ2VDb2RlcihlbGVt
ZW50LCBjb2Rlci5tX2NvbnRleHQpOwogICAgICAgICAgICAgICAgIGlmICghZGVjb2Rlci0+ZGVj
b2RlKG1lc3NhZ2VDb2RlcikpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICAgICAgICAgICAgICBhcnJheS5hcHBlbmQoZWxlbWVudCk7CisgICAgICAgICAgICAgICAgdmVj
dG9yLmFwcGVuZChlbGVtZW50LnJlbGVhc2UoKSk7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAg
ICAgICooY29kZXIubV9yb290KSA9IEltbXV0YWJsZUFycmF5OjphZG9wdChhcnJheSkubGVha1Jl
ZigpOworICAgICAgICAgICAgY29kZXIubV9yb290ID0gSW1tdXRhYmxlQXJyYXk6OmFkb3B0KHZl
Y3Rvcik7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIEFQSU9i
amVjdDo6VHlwZVN0cmluZzogewogICAgICAgICAgICAgU3RyaW5nIHN0cmluZzsKICAgICAgICAg
ICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHN0cmluZykpCiAgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgICAgICAgICAgKihjb2Rlci5tX3Jvb3QpID0gV2ViU3RyaW5nOjpjcmVhdGUo
c3RyaW5nKS5sZWFrUmVmKCk7CisgICAgICAgICAgICBjb2Rlci5tX3Jvb3QgPSBXZWJTdHJpbmc6
OmNyZWF0ZShzdHJpbmcpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAg
Y2FzZSBBUElPYmplY3Q6OlR5cGVCdW5kbGVQYWdlOiB7CiAgICAgICAgICAgICB1aW50NjRfdCBw
YWdlSUQ7CiAgICAgICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZShwYWdlSUQpKQogICAgICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgICooY29kZXIubV9yb290KSA9IGNv
ZGVyLm1fY29udGV4dC0+cHJvY2VzcygpLT53ZWJQYWdlKHBhZ2VJRCk7CisgICAgICAgICAgICBj
b2Rlci5tX3Jvb3QgPSBjb2Rlci5tX2NvbnRleHQtPnByb2Nlc3MoKS0+d2ViUGFnZShwYWdlSUQp
OwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgZGVmYXVsdDoKQEAgLTE2
MSw3ICsxNjEsNyBAQCBwdWJsaWM6CiAgICAgfQogCiBwcml2YXRlOgotICAgIEFQSU9iamVjdCoq
IG1fcm9vdDsKKyAgICBSZWZQdHI8QVBJT2JqZWN0PiYgbV9yb290OwogICAgIFdlYkNvbnRleHQq
IG1fY29udGV4dDsKIH07CiAKQEAgLTQwNiwxNiArNDA2LDEyIEBAIHZvaWQgV2ViQ29udGV4dDo6
ZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUkKICAgICBzd2l0Y2ggKG1lc3NhZ2VJRC5nZXQ8V2ViQ29u
dGV4dE1lc3NhZ2U6OktpbmQ+KCkpIHsKICAgICAgICAgY2FzZSBXZWJDb250ZXh0TWVzc2FnZTo6
UG9zdE1lc3NhZ2U6IHsKICAgICAgICAgICAgIFN0cmluZyBtZXNzYWdlTmFtZTsKLSAgICAgICAg
ICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBhIFJlZlB0cjxBUElPYmplY3Q+Ci0gICAgICAg
ICAgICBBUElPYmplY3QqIG1lc3NhZ2VCb2R5ID0gMDsKLSAgICAgICAgICAgIFBvc3RNZXNzYWdl
RGVjb2RlciBtZXNzYWdlQ29kZXIoJm1lc3NhZ2VCb2R5LCB0aGlzKTsKKyAgICAgICAgICAgIFJl
ZlB0cjxBUElPYmplY3Q+IG1lc3NhZ2VCb2R5OworICAgICAgICAgICAgUG9zdE1lc3NhZ2VEZWNv
ZGVyIG1lc3NhZ2VDb2RlcihtZXNzYWdlQm9keSwgdGhpcyk7CiAgICAgICAgICAgICBpZiAoIWFy
Z3VtZW50cy0+ZGVjb2RlKENvcmVJUEM6Ok91dChtZXNzYWdlTmFtZSwgbWVzc2FnZUNvZGVyKSkp
CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgICAgICBkaWRSZWNlaXZlTWVzc2Fn
ZUZyb21JbmplY3RlZEJ1bmRsZShtZXNzYWdlTmFtZSwgbWVzc2FnZUJvZHkpOwotCi0gICAgICAg
ICAgICBtZXNzYWdlQm9keS0+ZGVyZWYoKTsKLQorICAgICAgICAgICAgZGlkUmVjZWl2ZU1lc3Nh
Z2VGcm9tSW5qZWN0ZWRCdW5kbGUobWVzc2FnZU5hbWUsIG1lc3NhZ2VCb2R5LmdldCgpKTsKICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgIH0KSW5kZXg6IFdlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAkocmV2aXNp
b24gNjY2MzcpCisrKyBXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRC
dW5kbGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTAsNyArMTEwLDcgQEAgcHJpdmF0ZToKIAog
Y2xhc3MgUG9zdE1lc3NhZ2VEZWNvZGVyIHsKIHB1YmxpYzoKLSAgICBQb3N0TWVzc2FnZURlY29k
ZXIoQVBJT2JqZWN0Kiogcm9vdCkKKyAgICBQb3N0TWVzc2FnZURlY29kZXIoUmVmUHRyPEFQSU9i
amVjdD4mIHJvb3QpCiAgICAgICAgIDogbV9yb290KHJvb3QpCiAgICAgewogICAgIH0KQEAgLTEy
NywzMCArMTI3LDMwIEBAIHB1YmxpYzoKICAgICAgICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2Rl
KHNpemUpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICAgICAgVmVj
dG9yPEFQSU9iamVjdCo+IHZlY3RvcjsKKyAgICAgICAgICAgIFZlY3RvcjxSZWZQdHI8QVBJT2Jq
ZWN0PiA+IHZlY3RvcjsKICAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc2l6ZTsg
KytpKSB7Ci0gICAgICAgICAgICAgICAgQVBJT2JqZWN0KiBlbGVtZW50OwotICAgICAgICAgICAg
ICAgIFBvc3RNZXNzYWdlRGVjb2RlciBtZXNzYWdlQ29kZXIoJmVsZW1lbnQpOworICAgICAgICAg
ICAgICAgIFJlZlB0cjxBUElPYmplY3Q+IGVsZW1lbnQ7CisgICAgICAgICAgICAgICAgUG9zdE1l
c3NhZ2VEZWNvZGVyIG1lc3NhZ2VDb2RlcihlbGVtZW50KTsKICAgICAgICAgICAgICAgICBpZiAo
IWRlY29kZXItPmRlY29kZShtZXNzYWdlQ29kZXIpKQogICAgICAgICAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgICAgICAgICAgICAgdmVjdG9yLmFwcGVuZChlbGVtZW50KTsKKyAgICAg
ICAgICAgICAgICB2ZWN0b3IuYXBwZW5kKGVsZW1lbnQucmVsZWFzZSgpKTsKICAgICAgICAgICAg
IH0KIAotICAgICAgICAgICAgKihjb2Rlci5tX3Jvb3QpID0gSW1tdXRhYmxlQXJyYXk6OmFkb3B0
KHZlY3RvcikubGVha1JlZigpOworICAgICAgICAgICAgY29kZXIubV9yb290ID0gSW1tdXRhYmxl
QXJyYXk6OmFkb3B0KHZlY3Rvcik7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAg
ICAgICBjYXNlIEFQSU9iamVjdDo6VHlwZVN0cmluZzogewogICAgICAgICAgICAgU3RyaW5nIHN0
cmluZzsKICAgICAgICAgICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHN0cmluZykpCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgKihjb2Rlci5tX3Jvb3QpID0gV2Vi
U3RyaW5nOjpjcmVhdGUoc3RyaW5nKS5sZWFrUmVmKCk7CisgICAgICAgICAgICBjb2Rlci5tX3Jv
b3QgPSBXZWJTdHJpbmc6OmNyZWF0ZShzdHJpbmcpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIH0KICAgICAgICAgY2FzZSBBUElPYmplY3Q6OlR5cGVQYWdlOiB7CiAgICAgICAgICAgICB1
aW50NjRfdCBwYWdlSUQ7CiAgICAgICAgICAgICBpZiAoIWRlY29kZXItPmRlY29kZShwYWdlSUQp
KQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgICooY29kZXIubV9y
b290KSA9IFdlYlByb2Nlc3M6OnNoYXJlZCgpLndlYlBhZ2UocGFnZUlEKTsKKyAgICAgICAgICAg
IGNvZGVyLm1fcm9vdCA9IFdlYlByb2Nlc3M6OnNoYXJlZCgpLndlYlBhZ2UocGFnZUlEKTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGRlZmF1bHQ6CkBAIC0xNjEsNyAr
MTYxLDcgQEAgcHVibGljOgogICAgIH0KIAogcHJpdmF0ZToKLSAgICBBUElPYmplY3QqKiBtX3Jv
b3Q7CisgICAgUmVmUHRyPEFQSU9iamVjdD4mIG1fcm9vdDsKIH07CiAKIH0KQEAgLTMwNSwxNyAr
MzA1LDEzIEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OmRpZFJlY2VpdmVNZXNzYWdlKEMKIHsKICAg
ICBzd2l0Y2ggKG1lc3NhZ2VJRC5nZXQ8SW5qZWN0ZWRCdW5kbGVNZXNzYWdlOjpLaW5kPigpKSB7
CiAgICAgICAgIGNhc2UgSW5qZWN0ZWRCdW5kbGVNZXNzYWdlOjpQb3N0TWVzc2FnZTogewotICAg
ICAgICAgICAgU3RyaW5nIG1lc3NhZ2VOYW1lOwotICAgICAgICAgICAgLy8gRklYTUU6IFRoaXMg
c2hvdWxkIGJlIGEgUmVmUHRyPEFQSU9iamVjdD4KLSAgICAgICAgICAgIEFQSU9iamVjdCogbWVz
c2FnZUJvZHkgPSAwOwotICAgICAgICAgICAgUG9zdE1lc3NhZ2VEZWNvZGVyIG1lc3NhZ2VDb2Rl
cigmbWVzc2FnZUJvZHkpOworICAgICAgICAgICAgU3RyaW5nIG1lc3NhZ2VOYW1lOyAgICAgICAg
ICAgIAorICAgICAgICAgICAgUmVmUHRyPEFQSU9iamVjdD4gbWVzc2FnZUJvZHk7CisgICAgICAg
ICAgICBQb3N0TWVzc2FnZURlY29kZXIgbWVzc2FnZUNvZGVyKG1lc3NhZ2VCb2R5KTsKICAgICAg
ICAgICAgIGlmICghYXJndW1lbnRzLT5kZWNvZGUoQ29yZUlQQzo6T3V0KG1lc3NhZ2VOYW1lLCBt
ZXNzYWdlQ29kZXIpKSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgICAgIGRp
ZFJlY2VpdmVNZXNzYWdlKG1lc3NhZ2VOYW1lLCBtZXNzYWdlQm9keSk7Ci0KLSAgICAgICAgICAg
IG1lc3NhZ2VCb2R5LT5kZXJlZigpOwotCisgICAgICAgICAgICBkaWRSZWNlaXZlTWVzc2FnZSht
ZXNzYWdlTmFtZSwgbWVzc2FnZUJvZHkuZ2V0KCkpOwogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICB9CiAgICAgfQpJbmRleDogV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmNw
cAkocmV2aXNpb24gNjY2MzcpCisrKyBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFt
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIyNCwxMiArMjI0LDExIEBAIFBhc3NSZWZQdHI8SW1t
dXRhYmxlQXJyYXk+IFdlYkZyYW1lOjpjaGkKICAgICBpZiAoIXNpemUpCiAgICAgICAgIHJldHVy
biBJbW11dGFibGVBcnJheTo6Y3JlYXRlKCk7CiAKLSAgICBWZWN0b3I8QVBJT2JqZWN0Kj4gdmVj
dG9yOworICAgIFZlY3RvcjxSZWZQdHI8QVBJT2JqZWN0PiA+IHZlY3RvcjsKICAgICB2ZWN0b3Iu
cmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShzaXplKTsKIAogICAgIGZvciAoRnJhbWUqIGNoaWxkID0g
bV9jb3JlRnJhbWUtPnRyZWUoKS0+Zmlyc3RDaGlsZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+
dHJlZSgpLT5uZXh0U2libGluZygpKSB7CiAgICAgICAgIFdlYkZyYW1lKiB3ZWJGcmFtZSA9IHN0
YXRpY19jYXN0PFdlYkZyYW1lTG9hZGVyQ2xpZW50Kj4oY2hpbGQtPmxvYWRlcigpLT5jbGllbnQo
KSktPndlYkZyYW1lKCk7Ci0gICAgICAgIHdlYkZyYW1lLT5yZWYoKTsKICAgICAgICAgdmVjdG9y
LnVuY2hlY2tlZEFwcGVuZCh3ZWJGcmFtZSk7CiAgICAgfQogCg==
</data>
<flag name="review"
          id="55399"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>