<?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>38150</bug_id>
          
          <creation_ts>2010-04-26 17:14:45 -0700</creation_ts>
          <short_desc>Refactoring: webkitEditableContentChangedEvent should be handled by the owner of appropriate the renderer</short_desc>
          <delta_ts>2010-05-05 23:04:24 -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>DOM</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>0</everconfirmed>
          <reporter name="Hajime Morrita">morrita</reporter>
          <assigned_to name="Hajime Morrita">morrita</assigned_to>
          <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>217369</commentid>
    <comment_count>0</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-04-26 17:14:45 -0700</bug_when>
    <thetext>A Refactoring to tackle Bug 26526.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217411</commentid>
    <comment_count>1</comment_count>
      <attachid>54364</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-04-26 18:17:06 -0700</bug_when>
    <thetext>Created attachment 54364
v0; a small change preparing for Bug 26526</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217857</commentid>
    <comment_count>2</comment_count>
      <attachid>54364</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-04-27 12:47:28 -0700</bug_when>
    <thetext>Comment on attachment 54364
v0; a small change preparing for Bug 26526

WebCore/html/HTMLFormControlElement.h:160
 +      virtual void defaultEventHandler(Event*);
This should be as private as possible. I don&apos;t see any good reason to make it public. Either protected or private should work. Similarly, I think HTMLInputElement and HTMLTextAreaElement could now have private defaultEventHandler functions since there is no longer anyone calling directly.

WebCore/rendering/TextControlInnerElements.cpp:119
 +      if (shadowAncestor &amp;&amp; shadowAncestor-&gt;renderer()) {
 +          ASSERT(shadowAncestor-&gt;renderer()-&gt;isTextControl());
We should not fetch the renderer() any more or assert that it is a text control.

review- because I think it&apos;s worth refining this a tiny bit more, since its entire purpose is the refactoring.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218735</commentid>
    <comment_count>3</comment_count>
      <attachid>54651</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-04-28 18:02:45 -0700</bug_when>
    <thetext>Created attachment 54651
v1; took feedback</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218736</commentid>
    <comment_count>4</comment_count>
      <attachid>54652</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-04-28 18:02:48 -0700</bug_when>
    <thetext>Created attachment 54652
v1; took feedback</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218737</commentid>
    <comment_count>5</comment_count>
      <attachid>54651</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-04-28 18:04:07 -0700</bug_when>
    <thetext>Comment on attachment 54651
v1; took feedback

Oops, this is wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218738</commentid>
    <comment_count>6</comment_count>
      <attachid>54652</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-04-28 18:05:43 -0700</bug_when>
    <thetext>Comment on attachment 54652
v1; took feedback

This is also wrong. I&apos;m sorry to bother you ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218767</commentid>
    <comment_count>7</comment_count>
      <attachid>54663</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-04-28 19:14:28 -0700</bug_when>
    <thetext>Created attachment 54663
v1; took feedback</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218768</commentid>
    <comment_count>8</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-04-28 19:17:38 -0700</bug_when>
    <thetext>Hi Darin, thank you for reviewing and sorry for noisy attachments.

(In reply to comment #2)
&gt; (From update of attachment 54364 [details])
&gt; WebCore/html/HTMLFormControlElement.h:160
&gt;  +      virtual void defaultEventHandler(Event*);
&gt; This should be as private as possible. I don&apos;t see any good reason to make it
&gt; public. Either protected or private should work. Similarly, I think
&gt; HTMLInputElement and HTMLTextAreaElement could now have private
&gt; defaultEventHandler functions since there is no longer anyone calling directly.
Fixed moving defaultEventHandler() declarations
from public to protected or private (based on inheritance relation)

&gt; WebCore/rendering/TextControlInnerElements.cpp:119
&gt;  +      if (shadowAncestor &amp;&amp; shadowAncestor-&gt;renderer()) {
&gt;  +          ASSERT(shadowAncestor-&gt;renderer()-&gt;isTextControl());
&gt; We should not fetch the renderer() any more or assert that it is a text
&gt; control.
Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219591</commentid>
    <comment_count>9</comment_count>
      <attachid>54663</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-04-30 13:17:13 -0700</bug_when>
    <thetext>Comment on attachment 54663
v1; took feedback

&gt; +        ASSERT(!shadowAncestor-&gt;renderer() || shadowAncestor-&gt;renderer()-&gt;isTextControl());

I&apos;m not sure this assertion is helpful or needed. This code doesn&apos;t have any reason to care about the type of the renderer.

r=me regardless</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219984</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-02 19:28:03 -0700</bug_when>
    <thetext>Attachment 54663 was posted by a committer and has review+, assigning to MORITA Hajime for commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221516</commentid>
    <comment_count>11</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2010-05-05 23:03:45 -0700</bug_when>
    <thetext>Committed r58864: &lt;http://trac.webkit.org/changeset/58864&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54364</attachid>
            <date>2010-04-26 18:17:06 -0700</date>
            <delta_ts>2010-04-28 18:02:41 -0700</delta_ts>
            <desc>v0; a small change preparing for Bug 26526</desc>
            <filename>bug-38150-20100426181705.patch</filename>
            <type>text/plain</type>
            <size>3663</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
OTU3MGQxZi4uY2FmYTk4ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMC0wNC0yNiAgSGFqaW1lIE1vcml0
YSAgPG1vcnJpdGFAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0z
ODE1MAorICAgICAgICBSZWZhY3RvcmluZzogd2Via2l0RWRpdGFibGVDb250ZW50Q2hhbmdlZEV2
ZW50IHNob3VsZCBiZSBoYW5kbGVkIGJ5IHRoZSBvd25lciBvZiBhcHByb3ByaWF0ZSB0aGUgcmVu
ZGVyZXIuCisKKyAgICAgICAgTW92ZWQgYSBwYXJ0IG9mIGNvZGUgY2h1bmsgaW4gSFRNTEZvcm1D
b250cm9sRWxlbWVudFdpdGhTdGF0ZTo6ZGVmYXVsdEV2ZW50SGFuZGxlcigpCisgICAgICAgIHdo
aWNoIGFjY2Vzc2VzIHRoZSByZW5kZXJlciBmcm9tIGZvcmVpZ24gbm9kZSwgCisgICAgICAgIHRv
IFRleHRDb250cm9sSW5uZXJUZXh0RWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcigpIHdoaWNo
IG93bnMgdGhlIHJlbmRlcmVyLgorICAgICAgICAKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBObyBi
ZWhhdmlvcmFsIGNoYW5nZS4KKworICAgICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRl
OjpkZWZhdWx0RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtQ29udHJvbEVs
ZW1lbnQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRDb250cm9sSW5uZXJUZXh0RWxlbWVudDo6ZGVmYXVs
dEV2ZW50SGFuZGxlcik6CisKIDIwMTAtMDQtMjIgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNv
bkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9o
dG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCmluZGV4IGJjZGY0MGQuLjdhZTMzZDMgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAorKysgYi9X
ZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKQEAgLTQ1NCw2ICs0NTQsMTYg
QEAgdm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlOjpmaW5pc2hQYXJzaW5nQ2hp
bGRyZW4oKQogICAgIH0KIH0KIAordm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRl
OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKK3sKKyAgICBpZiAoZXZlbnQtPnR5
cGUoKSA9PSBldmVudE5hbWVzKCkud2Via2l0RWRpdGFibGVDb250ZW50Q2hhbmdlZEV2ZW50ICYm
IHJlbmRlcmVyKCkgJiYgcmVuZGVyZXIoKS0+aXNUZXh0Q29udHJvbCgpKSB7CisgICAgICAgIHRv
UmVuZGVyVGV4dENvbnRyb2wocmVuZGVyZXIoKSktPnN1YnRyZWVIYXNDaGFuZ2VkKCk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpkZWZhdWx0
RXZlbnRIYW5kbGVyKGV2ZW50KTsKK30KKwogSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OkhU
TUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERv
Y3VtZW50KiBkb2MsIEhUTUxGb3JtRWxlbWVudCogZm9ybSkKICAgICA6IEhUTUxGb3JtQ29udHJv
bEVsZW1lbnRXaXRoU3RhdGUodGFnTmFtZSwgZG9jLCBmb3JtKQogewpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaCBiL1dlYkNvcmUvaHRtbC9IVE1MRm9y
bUNvbnRyb2xFbGVtZW50LmgKaW5kZXggMDA0NWZiZS4uY2ZlNWNiOCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaAorKysgYi9XZWJDb3JlL2h0bWwvSFRN
TEZvcm1Db250cm9sRWxlbWVudC5oCkBAIC0xNTcsNiArMTU3LDcgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgYm9vbCBzaG91bGRTYXZlQW5kUmVzdG9yZUZvcm1Db250cm9sU3RhdGUoKSBjb25zdDsK
ICAgICB2aXJ0dWFsIHZvaWQgZmluaXNoUGFyc2luZ0NoaWxkcmVuKCk7CiAKKyAgICB2aXJ0dWFs
IHZvaWQgZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCopOwogcHJvdGVjdGVkOgogICAgIHZpcnR1
YWwgdm9pZCB3aWxsTW92ZVRvTmV3T3duZXJEb2N1bWVudCgpOwogICAgIHZpcnR1YWwgdm9pZCBk
aWRNb3ZlVG9OZXdPd25lckRvY3VtZW50KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmlu
Zy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dENv
bnRyb2xJbm5lckVsZW1lbnRzLmNwcAppbmRleCA0Y2Q1NWM1Li41YzcwNTkxIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwCisrKyBiL1dl
YkNvcmUvcmVuZGVyaW5nL1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHAKQEAgLTExOCwxNCAr
MTE4LDggQEAgdm9pZCBUZXh0Q29udHJvbElubmVyVGV4dEVsZW1lbnQ6OmRlZmF1bHRFdmVudEhh
bmRsZXIoRXZlbnQqIGV2dCkKICAgICBOb2RlKiBzaGFkb3dBbmNlc3RvciA9IHNoYWRvd0FuY2Vz
dG9yTm9kZSgpOwogICAgIGlmIChzaGFkb3dBbmNlc3RvciAmJiBzaGFkb3dBbmNlc3Rvci0+cmVu
ZGVyZXIoKSkgewogICAgICAgICBBU1NFUlQoc2hhZG93QW5jZXN0b3ItPnJlbmRlcmVyKCktPmlz
VGV4dENvbnRyb2woKSk7Ci0gICAgICAgIGlmIChldnQtPmlzQmVmb3JlVGV4dEluc2VydGVkRXZl
bnQoKSkgewotICAgICAgICAgICAgaWYgKHNoYWRvd0FuY2VzdG9yLT5yZW5kZXJlcigpLT5pc1Rl
eHRGaWVsZCgpKQotICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PEhUTUxJbnB1dEVsZW1lbnQq
PihzaGFkb3dBbmNlc3RvciktPmRlZmF1bHRFdmVudEhhbmRsZXIoZXZ0KTsKLSAgICAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxIVE1MVGV4dEFyZWFFbGVtZW50Kj4o
c2hhZG93QW5jZXN0b3IpLT5kZWZhdWx0RXZlbnRIYW5kbGVyKGV2dCk7Ci0gICAgICAgIH0KLSAg
ICAgICAgaWYgKGV2dC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS53ZWJraXRFZGl0YWJsZUNvbnRl
bnRDaGFuZ2VkRXZlbnQpCi0gICAgICAgICAgICB0b1JlbmRlclRleHRDb250cm9sKHNoYWRvd0Fu
Y2VzdG9yLT5yZW5kZXJlcigpKS0+c3VidHJlZUhhc0NoYW5nZWQoKTsKKyAgICAgICAgaWYgKGV2
dC0+aXNCZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudCgpIHx8IGV2dC0+dHlwZSgpID09IGV2ZW50TmFt
ZXMoKS53ZWJraXRFZGl0YWJsZUNvbnRlbnRDaGFuZ2VkRXZlbnQpCisgICAgICAgICAgICBzaGFk
b3dBbmNlc3Rvci0+ZGVmYXVsdEV2ZW50SGFuZGxlcihldnQpOwogICAgIH0KICAgICBpZiAoIWV2
dC0+ZGVmYXVsdEhhbmRsZWQoKSkKICAgICAgICAgSFRNTERpdkVsZW1lbnQ6OmRlZmF1bHRFdmVu
dEhhbmRsZXIoZXZ0KTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54651</attachid>
            <date>2010-04-28 18:02:45 -0700</date>
            <delta_ts>2010-04-28 18:04:06 -0700</delta_ts>
            <desc>v1; took feedback</desc>
            <filename>bug-38150-20100428180243.patch</filename>
            <type>text/plain</type>
            <size>3934</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
OTU3MGQxZi4uY2FmYTk4ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMC0wNC0yNiAgSGFqaW1lIE1vcml0
YSAgPG1vcnJpdGFAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0z
ODE1MAorICAgICAgICBSZWZhY3RvcmluZzogd2Via2l0RWRpdGFibGVDb250ZW50Q2hhbmdlZEV2
ZW50IHNob3VsZCBiZSBoYW5kbGVkIGJ5IHRoZSBvd25lciBvZiBhcHByb3ByaWF0ZSB0aGUgcmVu
ZGVyZXIuCisKKyAgICAgICAgTW92ZWQgYSBwYXJ0IG9mIGNvZGUgY2h1bmsgaW4gSFRNTEZvcm1D
b250cm9sRWxlbWVudFdpdGhTdGF0ZTo6ZGVmYXVsdEV2ZW50SGFuZGxlcigpCisgICAgICAgIHdo
aWNoIGFjY2Vzc2VzIHRoZSByZW5kZXJlciBmcm9tIGZvcmVpZ24gbm9kZSwgCisgICAgICAgIHRv
IFRleHRDb250cm9sSW5uZXJUZXh0RWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcigpIHdoaWNo
IG93bnMgdGhlIHJlbmRlcmVyLgorICAgICAgICAKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBObyBi
ZWhhdmlvcmFsIGNoYW5nZS4KKworICAgICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRl
OjpkZWZhdWx0RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtQ29udHJvbEVs
ZW1lbnQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRDb250cm9sSW5uZXJUZXh0RWxlbWVudDo6ZGVmYXVs
dEV2ZW50SGFuZGxlcik6CisKIDIwMTAtMDQtMjIgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNv
bkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9o
dG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCmluZGV4IGJjZGY0MGQuLjdhZTMzZDMgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAorKysgYi9X
ZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKQEAgLTQ1NCw2ICs0NTQsMTYg
QEAgdm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlOjpmaW5pc2hQYXJzaW5nQ2hp
bGRyZW4oKQogICAgIH0KIH0KIAordm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRl
OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKK3sKKyAgICBpZiAoZXZlbnQtPnR5
cGUoKSA9PSBldmVudE5hbWVzKCkud2Via2l0RWRpdGFibGVDb250ZW50Q2hhbmdlZEV2ZW50ICYm
IHJlbmRlcmVyKCkgJiYgcmVuZGVyZXIoKS0+aXNUZXh0Q29udHJvbCgpKSB7CisgICAgICAgIHRv
UmVuZGVyVGV4dENvbnRyb2wocmVuZGVyZXIoKSktPnN1YnRyZWVIYXNDaGFuZ2VkKCk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpkZWZhdWx0
RXZlbnRIYW5kbGVyKGV2ZW50KTsKK30KKwogSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OkhU
TUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERv
Y3VtZW50KiBkb2MsIEhUTUxGb3JtRWxlbWVudCogZm9ybSkKICAgICA6IEhUTUxGb3JtQ29udHJv
bEVsZW1lbnRXaXRoU3RhdGUodGFnTmFtZSwgZG9jLCBmb3JtKQogewpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaCBiL1dlYkNvcmUvaHRtbC9IVE1MRm9y
bUNvbnRyb2xFbGVtZW50LmgKaW5kZXggMDA0NWZiZS4uMDVhNGNjZCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaAorKysgYi9XZWJDb3JlL2h0bWwvSFRN
TEZvcm1Db250cm9sRWxlbWVudC5oCkBAIC0xNjAsNiArMTYwLDcgQEAgcHVibGljOgogcHJvdGVj
dGVkOgogICAgIHZpcnR1YWwgdm9pZCB3aWxsTW92ZVRvTmV3T3duZXJEb2N1bWVudCgpOwogICAg
IHZpcnR1YWwgdm9pZCBkaWRNb3ZlVG9OZXdPd25lckRvY3VtZW50KCk7CisgICAgdmlydHVhbCB2
b2lkIGRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqKTsKIH07CiAKIGNsYXNzIEhUTUxUZXh0Rm9y
bUNvbnRyb2xFbGVtZW50IDogcHVibGljIEhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGUg
ewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRz
LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHAKaW5k
ZXggNGNkNTVjNS4uNzNhNWFlMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dENv
bnRyb2xJbm5lckVsZW1lbnRzLmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Q29udHJv
bElubmVyRWxlbWVudHMuY3BwCkBAIC0xMTYsMTYgKzExNiwxMCBAQCB2b2lkIFRleHRDb250cm9s
SW5uZXJUZXh0RWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZ0KQogewogICAg
IC8vIEZJWE1FOiBJbiB0aGUgZnV0dXJlLCB3ZSBzaG91bGQgYWRkIGEgd2F5IHRvIGhhdmUgZGVm
YXVsdCBldmVudCBsaXN0ZW5lcnMuICBUaGVuIHdlIHdvdWxkIGFkZCBvbmUgdG8gdGhlIHRleHQg
ZmllbGQncyBpbm5lciBkaXYsIGFuZCB3ZSB3b3VsZG4ndCBuZWVkIHRoaXMgc3ViY2xhc3MuCiAg
ICAgTm9kZSogc2hhZG93QW5jZXN0b3IgPSBzaGFkb3dBbmNlc3Rvck5vZGUoKTsKLSAgICBpZiAo
c2hhZG93QW5jZXN0b3IgJiYgc2hhZG93QW5jZXN0b3ItPnJlbmRlcmVyKCkpIHsKLSAgICAgICAg
QVNTRVJUKHNoYWRvd0FuY2VzdG9yLT5yZW5kZXJlcigpLT5pc1RleHRDb250cm9sKCkpOwotICAg
ICAgICBpZiAoZXZ0LT5pc0JlZm9yZVRleHRJbnNlcnRlZEV2ZW50KCkpIHsKLSAgICAgICAgICAg
IGlmIChzaGFkb3dBbmNlc3Rvci0+cmVuZGVyZXIoKS0+aXNUZXh0RmllbGQoKSkKLSAgICAgICAg
ICAgICAgICBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4oc2hhZG93QW5jZXN0b3IpLT5k
ZWZhdWx0RXZlbnRIYW5kbGVyKGV2dCk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAg
ICAgc3RhdGljX2Nhc3Q8SFRNTFRleHRBcmVhRWxlbWVudCo+KHNoYWRvd0FuY2VzdG9yKS0+ZGVm
YXVsdEV2ZW50SGFuZGxlcihldnQpOwotICAgICAgICB9Ci0gICAgICAgIGlmIChldnQtPnR5cGUo
KSA9PSBldmVudE5hbWVzKCkud2Via2l0RWRpdGFibGVDb250ZW50Q2hhbmdlZEV2ZW50KQotICAg
ICAgICAgICAgdG9SZW5kZXJUZXh0Q29udHJvbChzaGFkb3dBbmNlc3Rvci0+cmVuZGVyZXIoKSkt
PnN1YnRyZWVIYXNDaGFuZ2VkKCk7CisgICAgaWYgKHNoYWRvd0FuY2VzdG9yKSB7CisgICAgICAg
IEFTU0VSVCghc2hhZG93QW5jZXN0b3ItPnJlbmRlcmVyKCkgfHwgc2hhZG93QW5jZXN0b3ItPnJl
bmRlcmVyKCktPmlzVGV4dENvbnRyb2woKSk7CisgICAgICAgIGlmIChldnQtPmlzQmVmb3JlVGV4
dEluc2VydGVkRXZlbnQoKSB8fCBldnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkud2Via2l0RWRp
dGFibGVDb250ZW50Q2hhbmdlZEV2ZW50KQorICAgICAgICAgICAgc2hhZG93QW5jZXN0b3ItPmRl
ZmF1bHRFdmVudEhhbmRsZXIoZXZ0KTsKICAgICB9CiAgICAgaWYgKCFldnQtPmRlZmF1bHRIYW5k
bGVkKCkpCiAgICAgICAgIEhUTUxEaXZFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKGV2dCk7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54652</attachid>
            <date>2010-04-28 18:02:48 -0700</date>
            <delta_ts>2010-04-28 18:05:43 -0700</delta_ts>
            <desc>v1; took feedback</desc>
            <filename>bug-38150-20100428180247.patch</filename>
            <type>text/plain</type>
            <size>3934</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
OTU3MGQxZi4uY2FmYTk4ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMC0wNC0yNiAgSGFqaW1lIE1vcml0
YSAgPG1vcnJpdGFAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0z
ODE1MAorICAgICAgICBSZWZhY3RvcmluZzogd2Via2l0RWRpdGFibGVDb250ZW50Q2hhbmdlZEV2
ZW50IHNob3VsZCBiZSBoYW5kbGVkIGJ5IHRoZSBvd25lciBvZiBhcHByb3ByaWF0ZSB0aGUgcmVu
ZGVyZXIuCisKKyAgICAgICAgTW92ZWQgYSBwYXJ0IG9mIGNvZGUgY2h1bmsgaW4gSFRNTEZvcm1D
b250cm9sRWxlbWVudFdpdGhTdGF0ZTo6ZGVmYXVsdEV2ZW50SGFuZGxlcigpCisgICAgICAgIHdo
aWNoIGFjY2Vzc2VzIHRoZSByZW5kZXJlciBmcm9tIGZvcmVpZ24gbm9kZSwgCisgICAgICAgIHRv
IFRleHRDb250cm9sSW5uZXJUZXh0RWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcigpIHdoaWNo
IG93bnMgdGhlIHJlbmRlcmVyLgorICAgICAgICAKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBObyBi
ZWhhdmlvcmFsIGNoYW5nZS4KKworICAgICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRl
OjpkZWZhdWx0RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtQ29udHJvbEVs
ZW1lbnQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRDb250cm9sSW5uZXJUZXh0RWxlbWVudDo6ZGVmYXVs
dEV2ZW50SGFuZGxlcik6CisKIDIwMTAtMDQtMjIgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNv
bkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9o
dG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCmluZGV4IGJjZGY0MGQuLjdhZTMzZDMgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAorKysgYi9X
ZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAKQEAgLTQ1NCw2ICs0NTQsMTYg
QEAgdm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlOjpmaW5pc2hQYXJzaW5nQ2hp
bGRyZW4oKQogICAgIH0KIH0KIAordm9pZCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRl
OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKK3sKKyAgICBpZiAoZXZlbnQtPnR5
cGUoKSA9PSBldmVudE5hbWVzKCkud2Via2l0RWRpdGFibGVDb250ZW50Q2hhbmdlZEV2ZW50ICYm
IHJlbmRlcmVyKCkgJiYgcmVuZGVyZXIoKS0+aXNUZXh0Q29udHJvbCgpKSB7CisgICAgICAgIHRv
UmVuZGVyVGV4dENvbnRyb2wocmVuZGVyZXIoKSktPnN1YnRyZWVIYXNDaGFuZ2VkKCk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpkZWZhdWx0
RXZlbnRIYW5kbGVyKGV2ZW50KTsKK30KKwogSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OkhU
TUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERv
Y3VtZW50KiBkb2MsIEhUTUxGb3JtRWxlbWVudCogZm9ybSkKICAgICA6IEhUTUxGb3JtQ29udHJv
bEVsZW1lbnRXaXRoU3RhdGUodGFnTmFtZSwgZG9jLCBmb3JtKQogewpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaCBiL1dlYkNvcmUvaHRtbC9IVE1MRm9y
bUNvbnRyb2xFbGVtZW50LmgKaW5kZXggMDA0NWZiZS4uMDVhNGNjZCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaAorKysgYi9XZWJDb3JlL2h0bWwvSFRN
TEZvcm1Db250cm9sRWxlbWVudC5oCkBAIC0xNjAsNiArMTYwLDcgQEAgcHVibGljOgogcHJvdGVj
dGVkOgogICAgIHZpcnR1YWwgdm9pZCB3aWxsTW92ZVRvTmV3T3duZXJEb2N1bWVudCgpOwogICAg
IHZpcnR1YWwgdm9pZCBkaWRNb3ZlVG9OZXdPd25lckRvY3VtZW50KCk7CisgICAgdmlydHVhbCB2
b2lkIGRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqKTsKIH07CiAKIGNsYXNzIEhUTUxUZXh0Rm9y
bUNvbnRyb2xFbGVtZW50IDogcHVibGljIEhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGUg
ewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRz
LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHAKaW5k
ZXggNGNkNTVjNS4uNzNhNWFlMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dENv
bnRyb2xJbm5lckVsZW1lbnRzLmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Q29udHJv
bElubmVyRWxlbWVudHMuY3BwCkBAIC0xMTYsMTYgKzExNiwxMCBAQCB2b2lkIFRleHRDb250cm9s
SW5uZXJUZXh0RWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZ0KQogewogICAg
IC8vIEZJWE1FOiBJbiB0aGUgZnV0dXJlLCB3ZSBzaG91bGQgYWRkIGEgd2F5IHRvIGhhdmUgZGVm
YXVsdCBldmVudCBsaXN0ZW5lcnMuICBUaGVuIHdlIHdvdWxkIGFkZCBvbmUgdG8gdGhlIHRleHQg
ZmllbGQncyBpbm5lciBkaXYsIGFuZCB3ZSB3b3VsZG4ndCBuZWVkIHRoaXMgc3ViY2xhc3MuCiAg
ICAgTm9kZSogc2hhZG93QW5jZXN0b3IgPSBzaGFkb3dBbmNlc3Rvck5vZGUoKTsKLSAgICBpZiAo
c2hhZG93QW5jZXN0b3IgJiYgc2hhZG93QW5jZXN0b3ItPnJlbmRlcmVyKCkpIHsKLSAgICAgICAg
QVNTRVJUKHNoYWRvd0FuY2VzdG9yLT5yZW5kZXJlcigpLT5pc1RleHRDb250cm9sKCkpOwotICAg
ICAgICBpZiAoZXZ0LT5pc0JlZm9yZVRleHRJbnNlcnRlZEV2ZW50KCkpIHsKLSAgICAgICAgICAg
IGlmIChzaGFkb3dBbmNlc3Rvci0+cmVuZGVyZXIoKS0+aXNUZXh0RmllbGQoKSkKLSAgICAgICAg
ICAgICAgICBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4oc2hhZG93QW5jZXN0b3IpLT5k
ZWZhdWx0RXZlbnRIYW5kbGVyKGV2dCk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAg
ICAgc3RhdGljX2Nhc3Q8SFRNTFRleHRBcmVhRWxlbWVudCo+KHNoYWRvd0FuY2VzdG9yKS0+ZGVm
YXVsdEV2ZW50SGFuZGxlcihldnQpOwotICAgICAgICB9Ci0gICAgICAgIGlmIChldnQtPnR5cGUo
KSA9PSBldmVudE5hbWVzKCkud2Via2l0RWRpdGFibGVDb250ZW50Q2hhbmdlZEV2ZW50KQotICAg
ICAgICAgICAgdG9SZW5kZXJUZXh0Q29udHJvbChzaGFkb3dBbmNlc3Rvci0+cmVuZGVyZXIoKSkt
PnN1YnRyZWVIYXNDaGFuZ2VkKCk7CisgICAgaWYgKHNoYWRvd0FuY2VzdG9yKSB7CisgICAgICAg
IEFTU0VSVCghc2hhZG93QW5jZXN0b3ItPnJlbmRlcmVyKCkgfHwgc2hhZG93QW5jZXN0b3ItPnJl
bmRlcmVyKCktPmlzVGV4dENvbnRyb2woKSk7CisgICAgICAgIGlmIChldnQtPmlzQmVmb3JlVGV4
dEluc2VydGVkRXZlbnQoKSB8fCBldnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkud2Via2l0RWRp
dGFibGVDb250ZW50Q2hhbmdlZEV2ZW50KQorICAgICAgICAgICAgc2hhZG93QW5jZXN0b3ItPmRl
ZmF1bHRFdmVudEhhbmRsZXIoZXZ0KTsKICAgICB9CiAgICAgaWYgKCFldnQtPmRlZmF1bHRIYW5k
bGVkKCkpCiAgICAgICAgIEhUTUxEaXZFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKGV2dCk7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54663</attachid>
            <date>2010-04-28 19:14:28 -0700</date>
            <delta_ts>2010-05-05 23:04:24 -0700</delta_ts>
            <desc>v1; took feedback</desc>
            <filename>bug-38150-20100428191426.patch</filename>
            <type>text/plain</type>
            <size>5889</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MTNhYTA2OWYyNzVjMzVlZTg2ZWRhNDgyOTE1NGExOWRkZjEyOTk4Zi4uNWIxNjk0MmRmM2RmNDQ2
ZGQ5YmQ4MjQzZjM2ODY0YTg4Yzg1OGM3ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMC0wNC0yNiAgSGFq
aW1lIE1vcml0YSAgPG1vcnJpdGFAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0zODE1MAorICAgICAgICBSZWZhY3RvcmluZzogd2Via2l0RWRpdGFibGVDb250ZW50
Q2hhbmdlZEV2ZW50IHNob3VsZCBiZSBoYW5kbGVkIGJ5IHRoZSBvd25lciBvZiBhcHByb3ByaWF0
ZSB0aGUgcmVuZGVyZXIuCisKKyAgICAgICAgTW92ZWQgYSBwYXJ0IG9mIGNvZGUgY2h1bmsgaW4g
SFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZTo6ZGVmYXVsdEV2ZW50SGFuZGxlcigpCisg
ICAgICAgIHdoaWNoIGFjY2Vzc2VzIHRoZSByZW5kZXJlciBmcm9tIGZvcmVpZ24gbm9kZSwgCisg
ICAgICAgIHRvIFRleHRDb250cm9sSW5uZXJUZXh0RWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxl
cigpIHdoaWNoIG93bnMgdGhlIHJlbmRlcmVyLgorICAgICAgICAKKyAgICAgICAgTm8gbmV3IHRl
c3RzLiBObyBiZWhhdmlvcmFsIGNoYW5nZS4KKworICAgICAgICAqIGh0bWwvSFRNTEZvcm1Db250
cm9sRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRm9ybUNvbnRyb2xFbGVtZW50
V2l0aFN0YXRlOjpkZWZhdWx0RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKiBodG1sL0hUTUxGb3Jt
Q29udHJvbEVsZW1lbnQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvVGV4dENvbnRyb2xJbm5lckVs
ZW1lbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRDb250cm9sSW5uZXJUZXh0RWxlbWVu
dDo6ZGVmYXVsdEV2ZW50SGFuZGxlcik6CisKIDIwMTAtMDQtMjggIE1pa2UgVGhvbGUgIDxtdGhv
bGVAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hcmsgUm93ZS4KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcCBiL1dlYkNvcmUvaHRt
bC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAppbmRleCBiY2RmNDBkNDAxMmFiZDA3N2I0NGY4
NTUxZTY2MWJjNzU0YmQ2MTkzLi43YWUzM2QzMmVhMDE4MTQ2MmMzNzA5NTU2NzU5YWEwMzhhN2Yy
ODRkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5jcHAK
KysrIGIvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwCkBAIC00NTQsNiAr
NDU0LDE2IEBAIHZvaWQgSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZTo6ZmluaXNoUGFy
c2luZ0NoaWxkcmVuKCkKICAgICB9CiB9CiAKK3ZvaWQgSFRNTEZvcm1Db250cm9sRWxlbWVudFdp
dGhTdGF0ZTo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQpCit7CisgICAgaWYgKGV2
ZW50LT50eXBlKCkgPT0gZXZlbnROYW1lcygpLndlYmtpdEVkaXRhYmxlQ29udGVudENoYW5nZWRF
dmVudCAmJiByZW5kZXJlcigpICYmIHJlbmRlcmVyKCktPmlzVGV4dENvbnRyb2woKSkgeworICAg
ICAgICB0b1JlbmRlclRleHRDb250cm9sKHJlbmRlcmVyKCkpLT5zdWJ0cmVlSGFzQ2hhbmdlZCgp
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6
ZGVmYXVsdEV2ZW50SGFuZGxlcihldmVudCk7Cit9CisKIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVt
ZW50OjpIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdO
YW1lLCBEb2N1bWVudCogZG9jLCBIVE1MRm9ybUVsZW1lbnQqIGZvcm0pCiAgICAgOiBIVE1MRm9y
bUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlKHRhZ05hbWUsIGRvYywgZm9ybSkKIHsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmggYi9XZWJDb3JlL2h0bWwv
SFRNTEZvcm1Db250cm9sRWxlbWVudC5oCmluZGV4IDAwNDVmYmUxOGU3MTMwMTc1NDk2YzZlZjM3
YzliZmViYjZlZDY3NDAuLjA1YTRjY2Q4OTE0ZTFmMGEwNjNkYzY0YTU2NjNhODUwYTY5MDNiZTEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgKKysrIGIv
V2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaApAQCAtMTYwLDYgKzE2MCw3IEBA
IHB1YmxpYzoKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgd2lsbE1vdmVUb05ld093bmVy
RG9jdW1lbnQoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkTW92ZVRvTmV3T3duZXJEb2N1bWVudCgp
OworICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50Kik7CiB9OwogCiBj
bGFzcyBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudCA6IHB1YmxpYyBIVE1MRm9ybUNvbnRyb2xF
bGVtZW50V2l0aFN0YXRlIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVt
ZW50LmggYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCmluZGV4IGMzYjBhNzM0ZmM4
YTkxOGQzZjlkNTc5OWI5ODBiYjJkYTNjMjMzNDEuLmIzODU1M2FjN2Q4NDA1N2QyNzQ1NmE0ZWEy
MmY4YjdkNmJjM2UwYmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50
LmgKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaApAQCAtMTk5LDcgKzE5OSw2
IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCogcHJlRGlzcGF0Y2hFdmVudEhhbmRsZXIo
RXZlbnQqKTsKICAgICB2aXJ0dWFsIHZvaWQgcG9zdERpc3BhdGNoRXZlbnRIYW5kbGVyKEV2ZW50
Kiwgdm9pZCogZGF0YUZyb21QcmVEaXNwYXRjaCk7Ci0gICAgdmlydHVhbCB2b2lkIGRlZmF1bHRF
dmVudEhhbmRsZXIoRXZlbnQqKTsKIAogICAgIFN0cmluZyBhbHRUZXh0KCkgY29uc3Q7CiAgICAg
CkBAIC0yNzYsNiArMjc1LDcgQEAgcHVibGljOgogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9p
ZCB3aWxsTW92ZVRvTmV3T3duZXJEb2N1bWVudCgpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRNb3Zl
VG9OZXdPd25lckRvY3VtZW50KCk7CisgICAgdmlydHVhbCB2b2lkIGRlZmF1bHRFdmVudEhhbmRs
ZXIoRXZlbnQqKTsKIAogcHJpdmF0ZToKICAgICBib29sIHN0b3Jlc1ZhbHVlU2VwYXJhdGVGcm9t
QXR0cmlidXRlKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVh
RWxlbWVudC5oIGIvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaAppbmRleCA4ZDky
YTQ4NjkyNzBjNjI2NTIyMDg4NTFhY2U0NzMxN2Y2ZTY2YzgxLi5mNzVmMDc2NmNjNDk4YzAxYThm
MzRhOTYwZjk2YTY5ODgyZjkwMzE3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTFRleHRB
cmVhRWxlbWVudC5oCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmgKQEAg
LTYwLDcgKzYwLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVS
ZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7CiAgICAgdmlydHVhbCBib29sIGFw
cGVuZEZvcm1EYXRhKEZvcm1EYXRhTGlzdCYsIGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCByZXNl
dCgpOwotICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50Kik7CiAgICAg
dmlydHVhbCBib29sIGlzTW91c2VGb2N1c2FibGUoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wg
aXNLZXlib2FyZEZvY3VzYWJsZShLZXlib2FyZEV2ZW50KikgY29uc3Q7CiAgICAgdmlydHVhbCB2
b2lkIHVwZGF0ZUZvY3VzQXBwZWFyYW5jZShib29sIHJlc3RvcmVQcmV2aW91c1NlbGVjdGlvbik7
CkBAIC0xMDQsNiArMTAzLDggQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgaXNPcHRpb25h
bEZvcm1Db250cm9sKCkgY29uc3QgeyByZXR1cm4gIWlzUmVxdWlyZWRGb3JtQ29udHJvbCgpOyB9
CiAgICAgdmlydHVhbCBib29sIGlzUmVxdWlyZWRGb3JtQ29udHJvbCgpIGNvbnN0IHsgcmV0dXJu
IHJlcXVpcmVkKCk7IH0KIAorICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2
ZW50Kik7CisKICAgICBpbnQgbV9yb3dzOwogICAgIGludCBtX2NvbHM7CiAgICAgV3JhcE1ldGhv
ZCBtX3dyYXA7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Q29udHJvbElubmVy
RWxlbWVudHMuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRz
LmNwcAppbmRleCA0Y2Q1NWM1ZmM5Nzk2NTQ1NzI3MGMyNGM1Njg5NDBhMzQ2MjM0ZmNkLi43M2E1
YWUyZTkwMjVmYjJjNzhjODYxY2Y2YWJiMzRhMDc1ZmRiYWVjIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3JlbmRlcmluZy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwCisrKyBiL1dlYkNvcmUvcmVu
ZGVyaW5nL1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHAKQEAgLTExNiwxNiArMTE2LDEwIEBA
IHZvaWQgVGV4dENvbnRyb2xJbm5lclRleHRFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2
ZW50KiBldnQpCiB7CiAgICAgLy8gRklYTUU6IEluIHRoZSBmdXR1cmUsIHdlIHNob3VsZCBhZGQg
YSB3YXkgdG8gaGF2ZSBkZWZhdWx0IGV2ZW50IGxpc3RlbmVycy4gIFRoZW4gd2Ugd291bGQgYWRk
IG9uZSB0byB0aGUgdGV4dCBmaWVsZCdzIGlubmVyIGRpdiwgYW5kIHdlIHdvdWxkbid0IG5lZWQg
dGhpcyBzdWJjbGFzcy4KICAgICBOb2RlKiBzaGFkb3dBbmNlc3RvciA9IHNoYWRvd0FuY2VzdG9y
Tm9kZSgpOwotICAgIGlmIChzaGFkb3dBbmNlc3RvciAmJiBzaGFkb3dBbmNlc3Rvci0+cmVuZGVy
ZXIoKSkgewotICAgICAgICBBU1NFUlQoc2hhZG93QW5jZXN0b3ItPnJlbmRlcmVyKCktPmlzVGV4
dENvbnRyb2woKSk7Ci0gICAgICAgIGlmIChldnQtPmlzQmVmb3JlVGV4dEluc2VydGVkRXZlbnQo
KSkgewotICAgICAgICAgICAgaWYgKHNoYWRvd0FuY2VzdG9yLT5yZW5kZXJlcigpLT5pc1RleHRG
aWVsZCgpKQotICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PEhUTUxJbnB1dEVsZW1lbnQqPihz
aGFkb3dBbmNlc3RvciktPmRlZmF1bHRFdmVudEhhbmRsZXIoZXZ0KTsKLSAgICAgICAgICAgIGVs
c2UKLSAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxIVE1MVGV4dEFyZWFFbGVtZW50Kj4oc2hh
ZG93QW5jZXN0b3IpLT5kZWZhdWx0RXZlbnRIYW5kbGVyKGV2dCk7Ci0gICAgICAgIH0KLSAgICAg
ICAgaWYgKGV2dC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS53ZWJraXRFZGl0YWJsZUNvbnRlbnRD
aGFuZ2VkRXZlbnQpCi0gICAgICAgICAgICB0b1JlbmRlclRleHRDb250cm9sKHNoYWRvd0FuY2Vz
dG9yLT5yZW5kZXJlcigpKS0+c3VidHJlZUhhc0NoYW5nZWQoKTsKKyAgICBpZiAoc2hhZG93QW5j
ZXN0b3IpIHsKKyAgICAgICAgQVNTRVJUKCFzaGFkb3dBbmNlc3Rvci0+cmVuZGVyZXIoKSB8fCBz
aGFkb3dBbmNlc3Rvci0+cmVuZGVyZXIoKS0+aXNUZXh0Q29udHJvbCgpKTsKKyAgICAgICAgaWYg
KGV2dC0+aXNCZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudCgpIHx8IGV2dC0+dHlwZSgpID09IGV2ZW50
TmFtZXMoKS53ZWJraXRFZGl0YWJsZUNvbnRlbnRDaGFuZ2VkRXZlbnQpCisgICAgICAgICAgICBz
aGFkb3dBbmNlc3Rvci0+ZGVmYXVsdEV2ZW50SGFuZGxlcihldnQpOwogICAgIH0KICAgICBpZiAo
IWV2dC0+ZGVmYXVsdEhhbmRsZWQoKSkKICAgICAgICAgSFRNTERpdkVsZW1lbnQ6OmRlZmF1bHRF
dmVudEhhbmRsZXIoZXZ0KTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>