<?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>27427</bug_id>
          
          <creation_ts>2009-07-19 13:49:29 -0700</creation_ts>
          <short_desc>add event listener classes for gobject bindings</short_desc>
          <delta_ts>2011-07-11 13:05:29 -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>WebCore Misc.</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>
          
          <blocked>16401</blocked>
    
    <blocked>27430</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Luke Kenneth Casson Leighton">lkcl</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>mrobinson</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>133014</commentid>
    <comment_count>0</comment_count>
    <who name="Luke Kenneth Casson Leighton">lkcl</who>
    <bug_when>2009-07-19 13:49:29 -0700</bug_when>
    <thetext>these files are being added as part of the #16401 series
breaking down into smaller patches, under an agreement
suggested by david.

the event listener classes comprise Node, Window and XMLHTTPRequest
adding and removal helpers / wrapper classes.

the interface between event handling and the outside world is a little... odd and obtuse, to say the least, and requires some custom code at present to glue glib / gobject into c++/webkit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>133015</commentid>
    <comment_count>1</comment_count>
      <attachid>33054</attachid>
    <who name="Luke Kenneth Casson Leighton">lkcl</who>
    <bug_when>2009-07-19 13:59:52 -0700</bug_when>
    <thetext>Created attachment 33054
adds event handling intermediate functions for add and remove window, xmlhttprequest and node listeners

this patch adds the linkage between &quot;browser-event&quot; signal and webkit DOM event handling.  it&apos;s a beginning, and it is functional.  it can be seen that only &quot;onreadystatechange&quot; is presently allowed in xmlhttprequest because this is all that&apos;s required to get most AJAX working.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137735</commentid>
    <comment_count>2</comment_count>
      <attachid>33054</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-06 19:01:51 -0700</bug_when>
    <thetext>Comment on attachment 33054
adds event handling intermediate functions for add and remove window, xmlhttprequest and node listeners

Please get a gtk reviewer to review this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138306</commentid>
    <comment_count>3</comment_count>
      <attachid>33054</attachid>
    <who name="Luke Kenneth Casson Leighton">lkcl</who>
    <bug_when>2009-08-08 04:07:42 -0700</bug_when>
    <thetext>Comment on attachment 33054
adds event handling intermediate functions for add and remove window, xmlhttprequest and node listeners

cancelling review whilst auto-patch-maintenance script is written which puts ChangeLog at top of file</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138308</commentid>
    <comment_count>4</comment_count>
      <attachid>33054</attachid>
    <who name="Luke Kenneth Casson Leighton">lkcl</who>
    <bug_when>2009-08-08 04:08:21 -0700</bug_when>
    <thetext>Comment on attachment 33054
adds event handling intermediate functions for add and remove window, xmlhttprequest and node listeners

cancelling review whilst auto-patch-maintenance script is written which puts ChangeLog at top of file</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435156</commentid>
    <comment_count>5</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-07-11 13:05:29 -0700</bug_when>
    <thetext>Pretty sure this is all working in trunk. Feel free to reopen a new bug if it isn&apos;t.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>33054</attachid>
            <date>2009-07-19 13:59:52 -0700</date>
            <delta_ts>2010-06-10 18:44:07 -0700</delta_ts>
            <desc>adds event handling intermediate functions for add and remove window, xmlhttprequest and node listeners</desc>
            <filename>evlist.patch</filename>
            <type>text/plain</type>
            <size>13760</size>
            <attacher name="Luke Kenneth Casson Leighton">lkcl</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9ndGsvd2Via2l0L0V2ZW50TGlzdGVuZXJOb2RlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViS2l0L2d0ay93ZWJraXQvRXZlbnRMaXN0ZW5lck5vZGUuaAkocmV2aXNpb24gMCkKKysr
IFdlYktpdC9ndGsvd2Via2l0L0V2ZW50TGlzdGVuZXJOb2RlLmgJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggTHVrZSBLZW5uZXRoIENhc3Nv
biBMZWlnaHRvbiA8bGtjbEBsa2NsLm5ldD4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisg
KiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9y
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBz
aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09Q
WUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBN
QSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworCisjaWZuZGVmIEV2ZW50TGlzdGVuZXJOb2RlX2gK
KyNkZWZpbmUgRXZlbnRMaXN0ZW5lck5vZGVfaAorCisjaW5jbHVkZSA8Z2xpYi5oPgorI2luY2x1
ZGUgPHdlYmtpdC93ZWJraXRkZWZpbmVzLmg+CisKKyNpbmNsdWRlICJnZG9tL0dkb21Ob2RlLmgi
CisjaW5jbHVkZSAiZ2RvbS9HZG9tRXZlbnRMaXN0ZW5lci5oIgorCitleHRlcm4gIkMiIHsKK1dF
QktJVF9BUEkKK0dkb21FdmVudExpc3RlbmVyKgord2Via2l0X2FkZF9ub2RlX2V2ZW50X2xpc3Rl
bmVyKEdkb21Ob2RlICp3ZiwgY29uc3QgY2hhciAqbmFtZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBnYm9vbGVhbiB1c2VDYXB0dXJlKTsKK1dFQktJVF9BUEkKK3ZvaWQgd2Via2l0X3Jl
bW92ZV9ub2RlX2V2ZW50X2xpc3RlbmVyKEdkb21Ob2RlICp3ZiwgCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBHZG9tRXZlbnRMaXN0ZW5lciAqZ2wsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpuYW1lLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZ2Jvb2xlYW4gdXNlQ2FwdHVyZSk7Cit9CisKKyNlbmRpZiAv
KkV2ZW50TGlzdGVuZXJOb2RlX2gqLwpJbmRleDogV2ViS2l0L2d0ay93ZWJraXQvRXZlbnRMaXN0
ZW5lclhNTEh0dHBSZXF1ZXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2d0ay93ZWJraXQvRXZl
bnRMaXN0ZW5lclhNTEh0dHBSZXF1ZXN0LmgJKHJldmlzaW9uIDApCisrKyBXZWJLaXQvZ3RrL3dl
YmtpdC9FdmVudExpc3RlbmVyWE1MSHR0cFJlcXVlc3QuaAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBMdWtlIEtlbm5ldGggQ2Fzc29uIExl
aWdodG9uIDxsa2NsQGxrY2wubmV0PgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5H
LkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAy
MTEwLTEzMDEsIFVTQS4KKyAqLworCisKKyNpZm5kZWYgRXZlbnRMaXN0ZW5lclhtbEh0dHBSZXF1
ZXN0X2gKKyNkZWZpbmUgRXZlbnRMaXN0ZW5lclhtbEh0dHBSZXF1ZXN0X2gKKworI2luY2x1ZGUg
PGdsaWIuaD4KKyNpbmNsdWRlIDx3ZWJraXQvd2Via2l0ZGVmaW5lcy5oPgorCisKKyNpbmNsdWRl
ICJnZG9tL0dkb21YTUxIdHRwUmVxdWVzdC5oIgorI2luY2x1ZGUgImdkb20vR2RvbUV2ZW50TGlz
dGVuZXIuaCIKKworZXh0ZXJuICJDIiB7CitXRUJLSVRfQVBJCitHZG9tRXZlbnRMaXN0ZW5lciAq
Cit3ZWJraXRfYWRkX3htbF9odHRwX3JlcXVlc3RfZXZlbnRfbGlzdGVuZXIoR2RvbVhNTEh0dHBS
ZXF1ZXN0ICp3ZiwKKyAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm5hbWUpOwordm9pZCB3ZWJr
aXRfcmVtb3ZlX3htbF9odHRwX3JlcXVlc3RfZXZlbnRfbGlzdGVuZXIoR2RvbVhNTEh0dHBSZXF1
ZXN0ICp3ZiwKKyAgICAgICAgICAgICAgICBHZG9tRXZlbnRMaXN0ZW5lciAqZ2wsCisgICAgICAg
ICAgICAgICBjb25zdCBjaGFyICpuYW1lKTsKK30KKworI2VuZGlmIC8qRXZlbnRMaXN0ZW5lclht
bEh0dHBSZXF1ZXN0X2gqLwpJbmRleDogV2ViS2l0L2d0ay93ZWJraXQvRXZlbnRMaXN0ZW5lcldp
bmRvdy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9ndGsvd2Via2l0L0V2ZW50TGlzdGVuZXJXaW5k
b3cuaAkocmV2aXNpb24gMCkKKysrIFdlYktpdC9ndGsvd2Via2l0L0V2ZW50TGlzdGVuZXJXaW5k
b3cuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAwOCBMdWtlIEtlbm5ldGggQ2Fzc29uIExlaWdodG9uIDxsa2NsQGxrY2wubmV0PgorICoKKyAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
CisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisKKyNpZm5k
ZWYgRXZlbnRMaXN0ZW5lcldpbmRvd19oCisjZGVmaW5lIEV2ZW50TGlzdGVuZXJXaW5kb3dfaAor
CisjaW5jbHVkZSA8Z2xpYi5oPgorI2luY2x1ZGUgPHdlYmtpdC93ZWJraXRkZWZpbmVzLmg+CisK
KyNpbmNsdWRlICJHZG9tRXZlbnRMaXN0ZW5lci5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCisKKwor
ZXh0ZXJuICJDIiB7CitHZG9tRXZlbnRMaXN0ZW5lcioKK3dlYmtpdF9hZGRfd2luZG93X2V2ZW50
X2xpc3RlbmVyKFdlYktpdFdlYkZyYW1lICp3ZiwgV2ViQ29yZTo6RnJhbWUgKmZyYW1lLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpuYW1lLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYm9vbGVhbiB1c2VDYXB0dXJlKTsKK3ZvaWQg
d2Via2l0X3JlbW92ZV93aW5kb3dfZXZlbnRfbGlzdGVuZXIoV2ViQ29yZTo6RnJhbWUgKmZyYW1l
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHZG9tRXZlbnRMaXN0ZW5lciAq
Z2wsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm5hbWUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdib29sZWFuIHVzZUNhcHR1cmUp
OworfQorCisjZW5kaWYgLypFdmVudExpc3RlbmVyV2luZG93X2gqLwpJbmRleDogV2ViS2l0L2d0
ay93ZWJraXQvd2Via2l0d2ViZXZlbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdHdlYmV2ZW50LmNwcAkocmV2aXNpb24gMCkKKysrIFdlYktpdC9ndGsvd2Via2l0
L3dlYmtpdHdlYmV2ZW50LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNTkgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDcgSG9sZ2VyIEhhbnMgUGV0ZXIgRnJleXRoZXIKKyAqIENvcHly
aWdodCAoQykgMjAwOCBMdWtlIEtlbm5ldGggQ2Fzc29uIExlaWdodG9uIDxsa2NsQGxrY2wubmV0
PgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxp
YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
KyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0
aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUg
dG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpbmNsdWRlICJDU3RyaW5nLmgiCisjaW5jbHVkZSAi
RG9jdW1lbnRMb2FkZXIuaCIKKyNpbmNsdWRlICJFbGVtZW50LmgiCisjaW5jbHVkZSAiRXZlbnRM
aXN0ZW5lci5oIgorI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKKyNpbmNsdWRlICJFdmVudExpc3Rl
bmVyWE1MSHR0cFJlcXVlc3QuaCIKKyNpbmNsdWRlICJFdmVudExpc3RlbmVyV2luZG93LmgiCisj
aW5jbHVkZSAiRXZlbnRMaXN0ZW5lck5vZGUuaCIKKyNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgor
I2luY2x1ZGUgIkZyYW1lVmlldy5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSA8Z2xp
Yi1vYmplY3QuaD4KKyNpbmNsdWRlICJHZG9tRXZlbnQuaCIKKyNpbmNsdWRlICJHZG9tRE9NT2Jq
ZWN0LmgiCisjaW5jbHVkZSAiR2RvbUV2ZW50TGlzdGVuZXIuaCIKKyNpbmNsdWRlICJHZG9tRXZl
bnRMaXN0ZW5lclByaXZhdGUuaCIKKyNpbmNsdWRlICJHZG9tTm9kZVByaXZhdGUuaCIKKyNpbmNs
dWRlICJHZG9tWE1MSHR0cFJlcXVlc3RQcml2YXRlLmgiCisjaW5jbHVkZSAiSFRNTERvY3VtZW50
LmgiCisjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiTm9kZS5oIgorI2luY2x1ZGUg
IlN0cmluZ0ltcGwuaCIKKyNpbmNsdWRlICJTZXR0aW5ncy5oIgorI2luY2x1ZGUgIlhNTEh0dHBS
ZXF1ZXN0LmgiCisKKworCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2Ug
V2ViS2l0IHsKKyAgICBncG9pbnRlciB0b0dET00oRXZlbnQqIGRvYyk7CisgICAgZ3BvaW50ZXIg
dG9HRE9NKE5vZGUqIG5vZGUpOworICAgIGdwb2ludGVyIHRvR0RPTShFdmVudExpc3RlbmVyKiBu
b2RlKTsKKyAgICBncG9pbnRlciB0b0dET00oWE1MSHR0cFJlcXVlc3QqIG5vZGUpOworfQorCisK
K2NsYXNzIFhNTEh0dHBSZXF1ZXN0RXZlbnRMaXN0ZW5lciA6IHB1YmxpYyBFdmVudExpc3RlbmVy
IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxYTUxIdHRwUmVxdWVzdEV2ZW50TGlz
dGVuZXI+IGNyZWF0ZShHZG9tWE1MSHR0cFJlcXVlc3QqIHdmKQorICAgIHsgcmV0dXJuIGFkb3B0
UmVmKG5ldyBYTUxIdHRwUmVxdWVzdEV2ZW50TGlzdGVuZXIod2YpKTsgfQorICAgIHZpcnR1YWwg
dm9pZCBoYW5kbGVFdmVudChFdmVudCosIGJvb2wgdXNlQ2FwdHVyZSk7CisKKyAgICB2b2lkIHNl
dF90eXBlKGNvbnN0IGNoYXIgKmV2dHlwZSkgeyBtX3R5cGUgPSBnX3N0cmR1cChldnR5cGUpOyB9
CisgICAgcHJpdmF0ZToKKyAgICBjaGFyICptX3R5cGU7CisgICAgWE1MSHR0cFJlcXVlc3RFdmVu
dExpc3RlbmVyKEdkb21YTUxIdHRwUmVxdWVzdCogd2YpCisgICAgICAgICAgIDogbV90eXBlKE5V
TEwpCisgICAgICAgICAgICwgbV93Zih3ZikKKyAgICB7fQorICAgIH5YTUxIdHRwUmVxdWVzdEV2
ZW50TGlzdGVuZXIoKQorICAgIHsKKyAgICAgICAgaWYgKG1fdHlwZSkKKyAgICAgICAgICAgIGdf
ZnJlZShtX3R5cGUpOworICAgIH0KKyAgICBHZG9tWE1MSHR0cFJlcXVlc3QqIG1fd2Y7Cit9Owor
Cit2b2lkIFhNTEh0dHBSZXF1ZXN0RXZlbnRMaXN0ZW5lcjo6aGFuZGxlRXZlbnQoRXZlbnQqIGV2
ZW50LCBib29sIHVzZUNhcHR1cmUpCit7CisgICAgZ2Jvb2xlYW4gcmV0dmFsOworICAgIGNoYXIg
KmV2bmFtZSA9IGdfc3RyZHVwX3ByaW50ZigiYnJvd3Nlci1ldmVudDo6JXMiLCBtX3R5cGUpOwor
ICAgIEdkb21FdmVudCAqd2V2ID0gR0RPTV9FVkVOVChXZWJLaXQ6OnRvR0RPTShldmVudCkpOwor
ICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZShtX3dmLCBldm5hbWUsIHdldiwgdXNlQ2FwdHVyZSwg
JnJldHZhbCk7CisgICAgZ19mcmVlKGV2bmFtZSk7Cit9CisKK2NsYXNzIE5vZGVFdmVudExpc3Rl
bmVyIDogcHVibGljIEV2ZW50TGlzdGVuZXIgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVm
UHRyPE5vZGVFdmVudExpc3RlbmVyPiBjcmVhdGUoR2RvbU5vZGUqIHdmKQorICAgIHsgcmV0dXJu
IGFkb3B0UmVmKG5ldyBOb2RlRXZlbnRMaXN0ZW5lcih3ZikpOyB9CisgICAgdmlydHVhbCB2b2lk
IGhhbmRsZUV2ZW50KEV2ZW50KiwgYm9vbCB1c2VDYXB0dXJlKTsKKworICAgIHZvaWQgc2V0X3R5
cGUoY29uc3QgY2hhciAqZXZ0eXBlKSB7IG1fdHlwZSA9IGdfc3RyZHVwKGV2dHlwZSk7IH0KK3By
aXZhdGU6CisgICAgY2hhciAqbV90eXBlOworICAgIE5vZGVFdmVudExpc3RlbmVyKEdkb21Ob2Rl
KiB3ZikKKyAgICAgICAgICAgIDogbV90eXBlKE5VTEwpCisgICAgICAgICAgICAsIG1fd2Yod2Yp
CisgICAge30KKyAgICB+Tm9kZUV2ZW50TGlzdGVuZXIoKQorICAgIHsKKyAgICAgICAgaWYgKG1f
dHlwZSkKKyAgICAgICAgICAgIGdfZnJlZShtX3R5cGUpOworICAgIH0KKyAgICBHZG9tTm9kZSog
bV93ZjsKK307CisKK3ZvaWQgTm9kZUV2ZW50TGlzdGVuZXI6OmhhbmRsZUV2ZW50KEV2ZW50KiBl
dmVudCwgYm9vbCB1c2VDYXB0dXJlKQoreworICAgIGdib29sZWFuIHJldHZhbDsKKyAgICBjaGFy
ICpldm5hbWUgPSBnX3N0cmR1cF9wcmludGYoImJyb3dzZXItZXZlbnQ6OiVzIiwgbV90eXBlKTsK
KyAgICBHZG9tRXZlbnQgKndldiA9IEdET01fRVZFTlQoV2ViS2l0Ojp0b0dET00oZXZlbnQpKTsK
KyAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUobV93ZiwgZXZuYW1lLCB3ZXYsIHVzZUNhcHR1cmUs
ICZyZXR2YWwpOworICAgIGdfZnJlZShldm5hbWUpOworfQorCitjbGFzcyBXaW5kb3dFdmVudExp
c3RlbmVyIDogcHVibGljIEV2ZW50TGlzdGVuZXIgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFdpbmRvd0V2ZW50TGlzdGVuZXI+IGNyZWF0ZShXZWJLaXRXZWJGcmFtZSogd2YpCisg
ICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdpbmRvd0V2ZW50TGlzdGVuZXIod2Yp
KTsgCisgICAgfQorICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVFdmVudChFdmVudCosIGJvb2wgaXNX
aW5kb3dFdmVudCk7CisgICAgdm9pZCBzZXRfdHlwZShjb25zdCBjaGFyICpldnR5cGUpIHsgbV90
eXBlID0gZ19zdHJkdXAoZXZ0eXBlKTsgfQorcHJpdmF0ZToKKyAgICBjaGFyICptX3R5cGU7Cisg
ICAgV2luZG93RXZlbnRMaXN0ZW5lcihXZWJLaXRXZWJGcmFtZSogd2YpCisgICAgICAgICAgIDog
bV90eXBlKE5VTEwpCisgICAgICAgICAgICwgbV93Zih3ZikKKyAgICB7fQorICAgIH5XaW5kb3dF
dmVudExpc3RlbmVyKCkKKyAgICB7CisgICAgICAgIGlmIChtX3R5cGUpCisgICAgICAgICAgICBn
X2ZyZWUobV90eXBlKTsKKyAgICB9CisgICAgV2ViS2l0V2ViRnJhbWUqIG1fd2Y7Cit9OworCit2
b2lkIFdpbmRvd0V2ZW50TGlzdGVuZXI6OmhhbmRsZUV2ZW50KEV2ZW50KiBldmVudCwgYm9vbCBp
c1dpbmRvd0V2ZW50KQoreworICAgIGNoYXIgKmV2bmFtZSA9IGdfc3RyZHVwX3ByaW50ZigiYnJv
d3Nlci1ldmVudDo6JXMiLCBtX3R5cGUpOworICAgIGdib29sZWFuIHJldHZhbDsKKyAgICBHZG9t
RXZlbnQgKndldiA9IEdET01fRVZFTlQoV2ViS2l0Ojp0b0dET00oZXZlbnQpKTsKKyAgICBnX3Np
Z25hbF9lbWl0X2J5X25hbWUobV93ZiwgZXZuYW1lLCB3ZXYsIGlzV2luZG93RXZlbnQsICZyZXR2
YWwpOworICAgIGdfZnJlZShldm5hbWUpOworfQorCitleHRlcm4gIkMiIHsKKworR2RvbUV2ZW50
TGlzdGVuZXIqCit3ZWJraXRfYWRkX3htbF9odHRwX3JlcXVlc3RfZXZlbnRfbGlzdGVuZXIoR2Rv
bVhNTEh0dHBSZXF1ZXN0ICp3ZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBj
aGFyICpuYW1lKQoreworICAgIFdlYkNvcmU6OlhNTEh0dHBSZXF1ZXN0ICpyZXEgPSBXZWJLaXQ6
OmNvcmUod2YpOworICAgIGlmICghbmFtZSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYg
KCFyZXEpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgaWYgKHN0cmNtcChuYW1lLCAib25y
ZWFkeXN0YXRlY2hhbmdlIikgPT0gMCkKKyAgICB7CisgICAgICAgIFJlZlB0cjxYTUxIdHRwUmVx
dWVzdEV2ZW50TGlzdGVuZXI+IGxpc3RlbmVyOworICAgICAgICBsaXN0ZW5lciA9IFhNTEh0dHBS
ZXF1ZXN0RXZlbnRMaXN0ZW5lcjo6Y3JlYXRlKHdmKTsKKyAgICAgICAgbGlzdGVuZXItPnNldF90
eXBlKG5hbWUpOworICAgICAgICByZXEtPnNldE9ucmVhZHlzdGF0ZWNoYW5nZShsaXN0ZW5lcik7
CisgICAgICAgIEV2ZW50TGlzdGVuZXIgKiBlbCA9IFdURjo6Z2V0UHRyKGxpc3RlbmVyKTsKKyAg
ICAgICAgcmV0dXJuIEdET01fRVZFTlRfTElTVEVORVIoV2ViS2l0Ojp0b0dET00oZWwpKTsKKyAg
ICB9CisgICAgcmV0dXJuIE5VTEw7Cit9IAorCit2b2lkIHdlYmtpdF9yZW1vdmVfeG1sX2h0dHBf
cmVxdWVzdF9ldmVudF9saXN0ZW5lcihHZG9tWE1MSHR0cFJlcXVlc3QgKndmLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEdkb21FdmVudExpc3RlbmVyICpnbCwgY29uc3QgY2hhciAqbmFt
ZSkKK3sKKyAgICBXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdCAqcmVxID0gV2ViS2l0Ojpjb3JlKHdm
KTsKKyAgICBXZWJDb3JlOjpFdmVudExpc3RlbmVyICAqbGlzdGVuZXIgPSBXZWJLaXQ6OmNvcmUo
Z2wpOworICAgIGlmICghbmFtZSkKKyAgICAgICAgcmV0dXJuOworICAgIGlmICghbGlzdGVuZXIp
CisgICAgICAgIHJldHVybjsKKyAgICBpZiAoIXJlcSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
cmVxLT5yZW1vdmVFdmVudExpc3RlbmVyKG5hbWUsIGxpc3RlbmVyLCBGQUxTRSk7Cit9IAorCitH
ZG9tRXZlbnRMaXN0ZW5lcioKK3dlYmtpdF9hZGRfbm9kZV9ldmVudF9saXN0ZW5lcihHZG9tTm9k
ZSAqZ24sIGNvbnN0IGNoYXIgKm5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Jv
b2xlYW4gdXNlQ2FwdHVyZSkKK3sKKyAgICBXZWJDb3JlOjpOb2RlICpub2RlID0gV2ViS2l0Ojpj
b3JlKGduKTsKKyAgICBpZiAoIW5vZGUpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgbm9k
ZSA9IG5vZGUtPnRvTm9kZSgpOworICAgIGlmICghbm9kZSkKKyAgICAgICAgcmV0dXJuIE5VTEw7
CisKKyAgICBSZWZQdHI8Tm9kZUV2ZW50TGlzdGVuZXI+IGxpc3RlbmVyID0gTm9kZUV2ZW50TGlz
dGVuZXI6OmNyZWF0ZShnbik7CisgICAgbGlzdGVuZXItPnNldF90eXBlKG5hbWUpOworICAgIG5v
ZGUtPmFkZEV2ZW50TGlzdGVuZXIobmFtZSwgbGlzdGVuZXIsIHVzZUNhcHR1cmUpOworICAgIEV2
ZW50TGlzdGVuZXIgKiBlbCA9IFdURjo6Z2V0UHRyKGxpc3RlbmVyKTsKKyAgICByZXR1cm4gR0RP
TV9FVkVOVF9MSVNURU5FUihXZWJLaXQ6OnRvR0RPTShlbCkpOworfSAKKwordm9pZCB3ZWJraXRf
cmVtb3ZlX25vZGVfZXZlbnRfbGlzdGVuZXIoR2RvbU5vZGUgKmduLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEdkb21FdmVudExpc3RlbmVyICpnbCwgY29uc3QgY2hhciAqbmFtZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBnYm9vbGVhbiB1c2VDYXB0dXJlKQoreworICAgIFdl
YkNvcmU6Ok5vZGUgKm5vZGUgPSBXZWJLaXQ6OmNvcmUoZ24pOworICAgIGlmICghbm9kZSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgbm9kZSA9IG5vZGUtPnRvTm9kZSgpOworICAgIGlmICghbm9k
ZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgV2ViQ29yZTo6RXZlbnRMaXN0ZW5lciAgKmxpc3Rl
bmVyID0gV2ViS2l0Ojpjb3JlKGdsKTsKKyAgICBpZiAoIW5hbWUpCisgICAgICAgIHJldHVybjsK
KyAgICBpZiAoIWxpc3RlbmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBub2RlLT5yZW1vdmVF
dmVudExpc3RlbmVyKG5hbWUsIGxpc3RlbmVyLCB1c2VDYXB0dXJlKTsKK30gCisKK0dkb21FdmVu
dExpc3RlbmVyKgord2Via2l0X2FkZF93aW5kb3dfZXZlbnRfbGlzdGVuZXIoV2ViS2l0V2ViRnJh
bWUgKndmLCBGcmFtZSAqZnJhbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGNoYXIgKm5hbWUsIGdib29sZWFuIHVzZUNhcHR1cmUpCit7CisgICAgRE9NV2luZG93
KiB3aW4gPSBmcmFtZS0+ZG9tV2luZG93KCk7CisKKyAgICBSZWZQdHI8V2luZG93RXZlbnRMaXN0
ZW5lcj4gbGlzdGVuZXIgPSBXaW5kb3dFdmVudExpc3RlbmVyOjpjcmVhdGUod2YpOworICAgIGxp
c3RlbmVyLT5zZXRfdHlwZShuYW1lKTsKKyAgICB3aW4tPmFkZEV2ZW50TGlzdGVuZXIobmFtZSwg
bGlzdGVuZXIsIHVzZUNhcHR1cmUpOworICAgIEV2ZW50TGlzdGVuZXIgKiBlbCA9IFdURjo6Z2V0
UHRyKGxpc3RlbmVyKTsKKyAgICByZXR1cm4gR0RPTV9FVkVOVF9MSVNURU5FUihXZWJLaXQ6OnRv
R0RPTShlbCkpOworfSAKKwordm9pZCB3ZWJraXRfcmVtb3ZlX3dpbmRvd19ldmVudF9saXN0ZW5l
cihGcmFtZSAqZnJhbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2RvbUV2ZW50TGlz
dGVuZXIgKmdsLCBjb25zdCBjaGFyICpuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGdib29sZWFuIHVzZUNhcHR1cmUpCit7CisgICAgRE9NV2luZG93KiB3aW4gPSBmcmFtZS0+ZG9t
V2luZG93KCk7CisKKyAgICBXZWJDb3JlOjpFdmVudExpc3RlbmVyICAqbGlzdGVuZXIgPSBXZWJL
aXQ6OmNvcmUoZ2wpOworICAgIGlmICghbmFtZSkKKyAgICAgICAgcmV0dXJuOworICAgIGlmICgh
bGlzdGVuZXIpCisgICAgICAgIHJldHVybjsKKworICAgIHdpbi0+cmVtb3ZlRXZlbnRMaXN0ZW5l
cihuYW1lLCBsaXN0ZW5lciwgdXNlQ2FwdHVyZSk7Cit9IAorCit9IC8qIGV4dGVybiBDICovCklu
ZGV4OiBXZWJLaXQvZ3RrL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvZ3RrL0NoYW5n
ZUxvZwkocmV2aXNpb24gNDQ0NzMpCisrKyBXZWJLaXQvZ3RrL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMjU0NCw2ICsyNTQ0LDE3IEBACiAKICAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vi
dmlldy5jcHA6CiAKKzIwMDgtMTEtMzAgIGxrY2wgIDxsa2NsQGxrY2wubmV0PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzQyNworCisgICAgICAgICogd2Via2l0L0V2ZW50TGlz
dGVuZXJOb2RlLmg6IEFkZGVkLgorICAgICAgICAqIHdlYmtpdC9FdmVudExpc3RlbmVyWE1MSHR0
cFJlcXVlc3QuaDogQWRkZWQuCisgICAgICAgICogd2Via2l0L0V2ZW50TGlzdGVuZXJXaW5kb3cu
aDogQWRkZWQuCisgICAgICAgICogd2Via2l0L3dlYmtpdHdlYmV2ZW50LmNwcDogQWRkZWQuCisK
IDIwMDgtMTItMDEgIFhhbiBMb3BleiAgPHhhbkBnbm9tZS5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgSG9sZ2VyIEZyZXl0aGVyLgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>