<?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>63672</bug_id>
          
          <creation_ts>2011-06-29 17:12:25 -0700</creation_ts>
          <short_desc>Replace isNodeInTextFormControl(Node*) by enclosingTextFormControl(const Position&amp;)</short_desc>
          <delta_ts>2011-06-30 02:14:35 -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>HTML Editing</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>
          
          <blocked>52099</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>darin</cc>
    
    <cc>enrica</cc>
    
    <cc>eric</cc>
    
    <cc>leviw</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>430010</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-06-29 17:12:25 -0700</bug_when>
    <thetext>Right now, isNodeInTextFormControl takes Node* but this results in various editing code calling this function with deprecatedNode.  Also, there are many places where we&apos;d like to obtain the enclosing text form control.

We can cleanup these code by introducing enclosingTextFormControl(const Position&amp;) that replaces isNodeInTextFormControl(Node*).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430091</commentid>
    <comment_count>1</comment_count>
      <attachid>99207</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-06-29 18:55:49 -0700</bug_when>
    <thetext>Created attachment 99207
cleanup</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430261</commentid>
    <comment_count>2</comment_count>
      <attachid>99207</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-06-30 01:58:20 -0700</bug_when>
    <thetext>Comment on attachment 99207
cleanup

Looks good cleanup.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430271</commentid>
    <comment_count>3</comment_count>
      <attachid>99207</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-30 02:14:30 -0700</bug_when>
    <thetext>Comment on attachment 99207
cleanup

Clearing flags on attachment: 99207

Committed r90098: &lt;http://trac.webkit.org/changeset/90098&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430272</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-30 02:14:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>99207</attachid>
            <date>2011-06-29 18:55:49 -0700</date>
            <delta_ts>2011-06-30 02:14:30 -0700</delta_ts>
            <desc>cleanup</desc>
            <filename>bug-63672-20110629185548.patch</filename>
            <type>text/plain</type>
            <size>12568</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkwMDc3KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTEtMDYtMjkgIFJ5b3N1a2Ug
Tml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUmVwbGFjZSBpc05vZGVJblRleHRGb3JtQ29udHJvbChOb2RlKikg
YnkgZW5jbG9zaW5nVGV4dEZvcm1Db250cm9sKGNvbnN0IFBvc2l0aW9uJikKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYzNjcyCisKKyAgICAgICAgUmVw
bGFjZWQgaXNOb2RlSW5UZXh0Rm9ybUNvbnRyb2woTm9kZSopIGJ5IGVuY2xvc2luZ1RleHRGb3Jt
Q29udHJvbChjb25zdCBQb3NpdGlvbiYpLgorICAgICAgICBBbHNvIGFkZGVkIGEgc2FmZSB0b1Rl
eHRGb3JtQ29udHJvbCB0byBIVE1MRm9ybUNvbnRyb2xFbGVtZW50LmguCisKKyAgICAgICAgKiBl
ZGl0aW5nL0RlbGV0ZVNlbGVjdGlvbkNvbW1hbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGVs
ZXRlU2VsZWN0aW9uQ29tbWFuZDo6ZG9BcHBseSk6IENhbGxzIGVuY2xvc2luZ1RleHRGb3JtQ29u
dHJvbCBpbnN0ZWFkIG9mIG1hbnVhbGx5CisgICAgICAgIGNoZWNraW5nIHRoZSB0YWcgbmFtZSBv
ZiBzaGFkb3dBbmNlc3Rvck5vZGUuCisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RWRpdG9yOjpzZWxlY3Rpb25Gb3JDb21tYW5kKTogUmV3cml0dGVuIHVz
aW5nIGVuY2xvc2luZ1RleHRGb3JtQ29udHJvbCBhbmQgdG9UZXh0Rm9ybUNvbnRyb2wuCisgICAg
ICAgIChXZWJDb3JlOjpFZGl0b3I6OmN1dCk6IENhbGxzIGVuY2xvc2luZ1RleHRGb3JtQ29udHJv
bCBpbnN0ZWFkIG9mIGlzTm9kZUluVGV4dEZvcm1Db250cm9sLgorICAgICAgICAoV2ViQ29yZTo6
RWRpdG9yOjpjb3B5KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpFZGl0b3I6OnNldEJhc2VX
cml0aW5nRGlyZWN0aW9uKTogQ2FsbHMgdG9UZXh0Rm9ybUNvbnRyb2wgaW5zdGVhZCBvZiBtYW51
YWxseSBjaGVja2luZyB0YWcgbmFtZS4KKyAgICAgICAgKiBlZGl0aW5nL0ZyYW1lU2VsZWN0aW9u
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjppc0luUGFzc3dvcmRGaWVs
ZCk6IENhbGxzIGVuY2xvc2luZ1RleHRGb3JtQ29udHJvbC4KKyAgICAgICAgKiBlZGl0aW5nL1Jl
cGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlcGxhY2VTZWxl
Y3Rpb25Db21tYW5kOjpkb0FwcGx5KTogRGl0dG8uCisgICAgICAgICogZWRpdGluZy9odG1sZWRp
dGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjplbmNsb3NpbmdUZXh0Rm9ybUNvbnRyb2wpOiBB
ZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2h0bWxlZGl0aW5nLmg6CisgICAgICAgICogaHRtbC9I
VE1MRm9ybUNvbnRyb2xFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjp0b1RleHRGb3JtQ29u
dHJvbCk6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RHJhZ0NvbnRyb2xsZXI6OnN0YXJ0RHJhZyk6IENhbGxzIGVuY2xvc2luZ1Rl
eHRGb3JtQ29udHJvbCBpbnN0ZWFkIG9mIGlzTm9kZUluVGV4dEZvcm1Db250cm9sLgorCiAyMDEx
LTA2LTI5ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBb
V2luQ0VdIENvcnJlY3QgbG9naWNhbCBzdGF0ZSBvZiBXSU5DRSB0ZXN0LgpJbmRleDogU291cmNl
L1dlYkNvcmUvZWRpdGluZy9EZWxldGVTZWxlY3Rpb25Db21tYW5kLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZVNlbGVjdGlvbkNvbW1hbmQuY3BwCShyZXZp
c2lvbiA4OTk4NikKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRGVsZXRlU2VsZWN0aW9uQ29t
bWFuZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc4NywxMiArNzg3LDkgQEAgdm9pZCBEZWxldGVT
ZWxlY3Rpb25Db21tYW5kOjpkb0FwcGx5KCkKIAogICAgIC8vIElmIHRoZSBkZWxldGlvbiBpcyBv
Y2N1cnJpbmcgaW4gYSB0ZXh0IGZpZWxkLCBhbmQgd2UncmUgbm90IGRlbGV0aW5nIHRvIHJlcGxh
Y2UgdGhlIHNlbGVjdGlvbiwgdGhlbiBsZXQgdGhlIGZyYW1lIGNhbGwgYWNyb3NzIHRoZSBicmlk
Z2UgdG8gbm90aWZ5IHRoZSBmb3JtIGRlbGVnYXRlLiAKICAgICBpZiAoIW1fcmVwbGFjZSkgewot
ICAgICAgICBOb2RlKiBzdGFydE5vZGUgPSBtX3NlbGVjdGlvblRvRGVsZXRlLnN0YXJ0KCkuZGVw
cmVjYXRlZE5vZGUoKTsKLSAgICAgICAgTm9kZSogYW5jZXN0b3JOb2RlID0gc3RhcnROb2RlID8g
c3RhcnROb2RlLT5zaGFkb3dBbmNlc3Rvck5vZGUoKSA6IDA7Ci0gICAgICAgIGlmIChhbmNlc3Rv
ck5vZGUgJiYgYW5jZXN0b3JOb2RlLT5oYXNUYWdOYW1lKGlucHV0VGFnKQotICAgICAgICAgICAg
ICAgICYmIHN0YXRpY19jYXN0PEhUTUxJbnB1dEVsZW1lbnQqPihhbmNlc3Rvck5vZGUpLT5pc1Rl
eHRGaWVsZCgpCi0gICAgICAgICAgICAgICAgJiYgYW5jZXN0b3JOb2RlLT5mb2N1c2VkKCkpCi0g
ICAgICAgICAgICBkb2N1bWVudCgpLT5mcmFtZSgpLT5lZGl0b3IoKS0+dGV4dFdpbGxCZURlbGV0
ZWRJblRleHRGaWVsZChzdGF0aWNfY2FzdDxFbGVtZW50Kj4oYW5jZXN0b3JOb2RlKSk7CisgICAg
ICAgIEVsZW1lbnQqIHRleHRDb250cm9sID0gZW5jbG9zaW5nVGV4dEZvcm1Db250cm9sKG1fc2Vs
ZWN0aW9uVG9EZWxldGUuc3RhcnQoKSk7CisgICAgICAgIGlmICh0ZXh0Q29udHJvbCAmJiB0ZXh0
Q29udHJvbC0+Zm9jdXNlZCgpKQorICAgICAgICAgICAgZG9jdW1lbnQoKS0+ZnJhbWUoKS0+ZWRp
dG9yKCktPnRleHRXaWxsQmVEZWxldGVkSW5UZXh0RmllbGQodGV4dENvbnRyb2wpOwogICAgIH0K
IAogICAgIC8vIHNhdmUgdGhpcyB0byBsYXRlciBtYWtlIHRoZSBzZWxlY3Rpb24gd2l0aApJbmRl
eDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAkocmV2aXNpb24gODk5ODYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUzLDggKzUzLDgg
QEAKICNpbmNsdWRlICJGcmFtZVRyZWUuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNs
dWRlICJHcmFwaGljc0NvbnRleHQuaCIKKyNpbmNsdWRlICJIVE1MRm9ybUNvbnRyb2xFbGVtZW50
LmgiCiAjaW5jbHVkZSAiSFRNTEZyYW1lT3duZXJFbGVtZW50LmgiCi0jaW5jbHVkZSAiSFRNTElu
cHV0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxUZXh0
QXJlYUVsZW1lbnQuaCIKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0LmgiCkBAIC0xMDUsMTYgKzEw
NSwxMCBAQCBWaXNpYmxlU2VsZWN0aW9uIEVkaXRvcjo6c2VsZWN0aW9uRm9yQ29tCiAgICAgICAg
IHJldHVybiBzZWxlY3Rpb247CiAgICAgLy8gSWYgdGhlIHRhcmdldCBpcyBhIHRleHQgY29udHJv
bCwgYW5kIHRoZSBjdXJyZW50IHNlbGVjdGlvbiBpcyBvdXRzaWRlIG9mIGl0cyBzaGFkb3cgdHJl
ZSwKICAgICAvLyB0aGVuIHVzZSB0aGUgc2F2ZWQgc2VsZWN0aW9uIGZvciB0aGF0IHRleHQgY29u
dHJvbC4KLSAgICBOb2RlKiB0YXJnZXQgPSBldmVudC0+dGFyZ2V0KCktPnRvTm9kZSgpOwotICAg
IE5vZGUqIHNlbGVjdGlvblN0YXJ0ID0gc2VsZWN0aW9uLnN0YXJ0KCkuZGVwcmVjYXRlZE5vZGUo
KTsKLSAgICBpZiAodGFyZ2V0ICYmICghc2VsZWN0aW9uU3RhcnQgfHwgdGFyZ2V0LT5zaGFkb3dB
bmNlc3Rvck5vZGUoKSAhPSBzZWxlY3Rpb25TdGFydC0+c2hhZG93QW5jZXN0b3JOb2RlKCkpKSB7
Ci0gICAgICAgIFJlZlB0cjxSYW5nZT4gcmFuZ2U7Ci0gICAgICAgIGlmICh0YXJnZXQtPmhhc1Rh
Z05hbWUoaW5wdXRUYWcpICYmIHN0YXRpY19jYXN0PEhUTUxJbnB1dEVsZW1lbnQqPih0YXJnZXQp
LT5pc1RleHRGaWVsZCgpKQotICAgICAgICAgICAgcmFuZ2UgPSBzdGF0aWNfY2FzdDxIVE1MSW5w
dXRFbGVtZW50Kj4odGFyZ2V0KS0+c2VsZWN0aW9uKCk7Ci0gICAgICAgIGVsc2UgaWYgKHRhcmdl
dC0+aGFzVGFnTmFtZSh0ZXh0YXJlYVRhZykpCi0gICAgICAgICAgICByYW5nZSA9IHN0YXRpY19j
YXN0PEhUTUxUZXh0QXJlYUVsZW1lbnQqPih0YXJnZXQpLT5zZWxlY3Rpb24oKTsKLQotICAgICAg
ICBpZiAocmFuZ2UpCisgICAgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQqIHRleHRGb3JtQ29u
dHJvbE9mU2VsZWN0aW9uU3RhcnQgPSBlbmNsb3NpbmdUZXh0Rm9ybUNvbnRyb2woc2VsZWN0aW9u
LnN0YXJ0KCkpOworICAgIEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50KiB0ZXh0RnJvbUNvbnRy
b2xPZlRhcmdldCA9IHRvVGV4dEZvcm1Db250cm9sKGV2ZW50LT50YXJnZXQoKS0+dG9Ob2RlKCkp
OworICAgIGlmICh0ZXh0RnJvbUNvbnRyb2xPZlRhcmdldCAmJiAoc2VsZWN0aW9uLnN0YXJ0KCku
aXNOdWxsKCkgfHwgdGV4dEZyb21Db250cm9sT2ZUYXJnZXQgIT0gdGV4dEZvcm1Db250cm9sT2ZT
ZWxlY3Rpb25TdGFydCkpIHsKKyAgICAgICAgaWYgKFJlZlB0cjxSYW5nZT4gcmFuZ2UgPSB0ZXh0
RnJvbUNvbnRyb2xPZlRhcmdldC0+c2VsZWN0aW9uKCkpCiAgICAgICAgICAgICByZXR1cm4gVmlz
aWJsZVNlbGVjdGlvbihyYW5nZS5nZXQoKSk7CiAgICAgfQogICAgIHJldHVybiBzZWxlY3Rpb247
CkBAIC0xMTU3LDcgKzExNTEsNyBAQCB2b2lkIEVkaXRvcjo6Y3V0KCkKICAgICBSZWZQdHI8UmFu
Z2U+IHNlbGVjdGlvbiA9IHNlbGVjdGVkUmFuZ2UoKTsKICAgICBpZiAoc2hvdWxkRGVsZXRlUmFu
Z2Uoc2VsZWN0aW9uLmdldCgpKSkgewogICAgICAgICB1cGRhdGVNYXJrZXJzRm9yV29yZHNBZmZl
Y3RlZEJ5RWRpdGluZyh0cnVlKTsKLSAgICAgICAgaWYgKGlzTm9kZUluVGV4dEZvcm1Db250cm9s
KG1fZnJhbWUtPnNlbGVjdGlvbigpLT5zdGFydCgpLmRlcHJlY2F0ZWROb2RlKCkpKQorICAgICAg
ICBpZiAoZW5jbG9zaW5nVGV4dEZvcm1Db250cm9sKG1fZnJhbWUtPnNlbGVjdGlvbigpLT5zdGFy
dCgpKSkKICAgICAgICAgICAgIFBhc3RlYm9hcmQ6OmdlbmVyYWxQYXN0ZWJvYXJkKCktPndyaXRl
UGxhaW5UZXh0KHNlbGVjdGVkVGV4dCgpKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgUGFz
dGVib2FyZDo6Z2VuZXJhbFBhc3RlYm9hcmQoKS0+d3JpdGVTZWxlY3Rpb24oc2VsZWN0aW9uLmdl
dCgpLCBjYW5TbWFydENvcHlPckRlbGV0ZSgpLCBtX2ZyYW1lKTsKQEAgLTExNzUsNyArMTE2OSw3
IEBAIHZvaWQgRWRpdG9yOjpjb3B5KCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlm
IChpc05vZGVJblRleHRGb3JtQ29udHJvbChtX2ZyYW1lLT5zZWxlY3Rpb24oKS0+c3RhcnQoKS5k
ZXByZWNhdGVkTm9kZSgpKSkKKyAgICBpZiAoZW5jbG9zaW5nVGV4dEZvcm1Db250cm9sKG1fZnJh
bWUtPnNlbGVjdGlvbigpLT5zdGFydCgpKSkKICAgICAgICAgUGFzdGVib2FyZDo6Z2VuZXJhbFBh
c3RlYm9hcmQoKS0+d3JpdGVQbGFpblRleHQoc2VsZWN0ZWRUZXh0KCkpOwogICAgIGVsc2Ugewog
ICAgICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBtX2ZyYW1lLT5kb2N1bWVudCgpOwpAQCAtMTQ0
Myw3ICsxNDM3LDcgQEAgdm9pZCBFZGl0b3I6OnRvZ2dsZVVuZGVybGluZSgpCiB2b2lkIEVkaXRv
cjo6c2V0QmFzZVdyaXRpbmdEaXJlY3Rpb24oV3JpdGluZ0RpcmVjdGlvbiBkaXJlY3Rpb24pCiB7
CiAgICAgTm9kZSogZm9jdXNlZE5vZGUgPSBmcmFtZSgpLT5kb2N1bWVudCgpLT5mb2N1c2VkTm9k
ZSgpOwotICAgIGlmIChmb2N1c2VkTm9kZSAmJiAoZm9jdXNlZE5vZGUtPmhhc1RhZ05hbWUodGV4
dGFyZWFUYWcpIHx8IChmb2N1c2VkTm9kZS0+aGFzVGFnTmFtZShpbnB1dFRhZykgJiYgc3RhdGlj
X2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+KGZvY3VzZWROb2RlKS0+aXNUZXh0RmllbGQoKSkpKSB7
CisgICAgaWYgKHRvVGV4dEZvcm1Db250cm9sKGZvY3VzZWROb2RlKSkgewogICAgICAgICBpZiAo
ZGlyZWN0aW9uID09IE5hdHVyYWxXcml0aW5nRGlyZWN0aW9uKQogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICB0b0hUTUxFbGVtZW50KGZvY3VzZWROb2RlKS0+c2V0QXR0cmlidXRlKGRpckF0
dHIsIGRpcmVjdGlvbiA9PSBMZWZ0VG9SaWdodFdyaXRpbmdEaXJlY3Rpb24gPyAibHRyIiA6ICJy
dGwiKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCShy
ZXZpc2lvbiA4OTk4NikKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDg0LDIwICsxNDg0LDggQEAgYm9vbCBGcmFtZVNlbGVj
dGlvbjo6c2V0U2VsZWN0ZWRSYW5nZShSYQogCiBib29sIEZyYW1lU2VsZWN0aW9uOjppc0luUGFz
c3dvcmRGaWVsZCgpIGNvbnN0CiB7Ci0gICAgQVNTRVJUKHN0YXJ0KCkuaXNOdWxsKCkgfHwgc3Rh
cnQoKS5hbmNob3JUeXBlKCkgPT0gUG9zaXRpb246OlBvc2l0aW9uSXNPZmZzZXRJbkFuY2hvcgot
ICAgICAgICAgICB8fCBzdGFydCgpLmNvbnRhaW5lck5vZGUoKSB8fCAhc3RhcnQoKS5hbmNob3JO
b2RlKCktPnNoYWRvd0FuY2VzdG9yTm9kZSgpKTsKLSAgICBOb2RlKiBzdGFydE5vZGUgPSBzdGFy
dCgpLmNvbnRhaW5lck5vZGUoKTsKLSAgICBpZiAoIXN0YXJ0Tm9kZSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotCi0gICAgc3RhcnROb2RlID0gc3RhcnROb2RlLT5zaGFkb3dBbmNlc3Rvck5vZGUo
KTsKLSAgICBpZiAoIXN0YXJ0Tm9kZSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYg
KCFzdGFydE5vZGUtPmhhc1RhZ05hbWUoaW5wdXRUYWcpKQotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgCi0gICAgcmV0dXJuIHN0YXRpY19jYXN0PEhUTUxJbnB1dEVsZW1lbnQqPihzdGFydE5v
ZGUpLT5pc1Bhc3N3b3JkRmllbGQoKTsKKyAgICBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudCog
dGV4dENvbnRyb2wgPSBlbmNsb3NpbmdUZXh0Rm9ybUNvbnRyb2woc3RhcnQoKSk7CisgICAgcmV0
dXJuIHRleHRDb250cm9sICYmIHRleHRDb250cm9sLT5oYXNUYWdOYW1lKGlucHV0VGFnKSAmJiBz
dGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4odGV4dENvbnRyb2wpLT5pc1Bhc3N3b3JkRmll
bGQoKTsKIH0KIAogdm9pZCBGcmFtZVNlbGVjdGlvbjo6Zm9jdXNlZE9yQWN0aXZlU3RhdGVDaGFu
Z2VkKCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1h
bmQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVj
dGlvbkNvbW1hbmQuY3BwCShyZXZpc2lvbiA4OTk4NikKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTA1LDEw
ICsxMTA1LDkgQEAgdm9pZCBSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZDo6ZG9BcHBseSgpCiAgICAg
CiAgICAgLy8gQWRkIHNwYWNlcyBmb3Igc21hcnQgcmVwbGFjZS4KICAgICBpZiAobV9zbWFydFJl
cGxhY2UgJiYgY3VycmVudFJvb3QpIHsKLSAgICAgICAgLy8gRGlzYWJsZSBzbWFydCByZXBsYWNl
IGZvciBwYXNzd29yZCBmaWVsZHMuCi0gICAgICAgIE5vZGUqIHN0YXJ0ID0gY3VycmVudFJvb3Qt
PnNoYWRvd0FuY2VzdG9yTm9kZSgpOwotICAgICAgICBpZiAoc3RhcnQtPmhhc1RhZ05hbWUoaW5w
dXRUYWcpICYmIHN0YXRpY19jYXN0PEhUTUxJbnB1dEVsZW1lbnQqPihzdGFydCktPmlzUGFzc3dv
cmRGaWVsZCgpKQotICAgICAgICAgICAgbV9zbWFydFJlcGxhY2UgPSBmYWxzZTsKKyAgICAgICAg
RWxlbWVudCogdGV4dENvbnRyb2wgPSBlbmNsb3NpbmdUZXh0Rm9ybUNvbnRyb2woZmlyc3RQb3Np
dGlvbkluTm9kZShjdXJyZW50Um9vdCkpOworICAgICAgICBpZiAodGV4dENvbnRyb2wgJiYgdGV4
dENvbnRyb2wtPmhhc1RhZ05hbWUoaW5wdXRUYWcpICYmIHN0YXRpY19jYXN0PEhUTUxJbnB1dEVs
ZW1lbnQqPih0ZXh0Q29udHJvbCktPmlzUGFzc3dvcmRGaWVsZCgpKQorICAgICAgICAgICAgbV9z
bWFydFJlcGxhY2UgPSBmYWxzZTsgLy8gRGlzYWJsZSBzbWFydCByZXBsYWNlIGZvciBwYXNzd29y
ZCBmaWVsZHMuCiAgICAgfQogICAgIGlmIChtX3NtYXJ0UmVwbGFjZSkgewogICAgICAgICBib29s
IG5lZWRzVHJhaWxpbmdTcGFjZSA9ICFpc0VuZE9mUGFyYWdyYXBoKGVuZE9mSW5zZXJ0ZWRDb250
ZW50KSAmJgpJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5jcHAJKHJldmlz
aW9uIDg5OTg2KQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJIVE1MQlJFbGVtZW50Lmgi
CiAjaW5jbHVkZSAiSFRNTERpdkVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRWxlbWVudEZhY3Rv
cnkuaCIKKyNpbmNsdWRlICJIVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRN
TEludGVyY2hhbmdlLmgiCiAjaW5jbHVkZSAiSFRNTExJRWxlbWVudC5oIgogI2luY2x1ZGUgIkhU
TUxOYW1lcy5oIgpAQCAtODU2LDE0ICs4NTcsMTUgQEAgTm9kZSAqdGFiU3Bhbk5vZGUoY29uc3Qg
Tm9kZSAqbm9kZSkKICAgICByZXR1cm4gaXNUYWJTcGFuVGV4dE5vZGUobm9kZSkgPyBub2RlLT5w
YXJlbnROb2RlKCkgOiAwOwogfQogCi1ib29sIGlzTm9kZUluVGV4dEZvcm1Db250cm9sKE5vZGUq
IG5vZGUpCitIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudCogZW5jbG9zaW5nVGV4dEZvcm1Db250
cm9sKGNvbnN0IFBvc2l0aW9uJiBwb3NpdGlvbikKIHsKLSAgICBpZiAoIW5vZGUpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICBOb2RlKiBhbmNlc3RvciA9IG5vZGUtPnNoYWRvd0FuY2VzdG9y
Tm9kZSgpOwotICAgIGlmIChhbmNlc3RvciA9PSBub2RlKQotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgcmV0dXJuIGFuY2VzdG9yLT5pc0VsZW1lbnROb2RlKCkgJiYgc3RhdGljX2Nhc3Q8RWxl
bWVudCo+KGFuY2VzdG9yKS0+aXNUZXh0Rm9ybUNvbnRyb2woKTsKKyAgICBBU1NFUlQocG9zaXRp
b24uaXNOdWxsKCkgfHwgcG9zaXRpb24uYW5jaG9yVHlwZSgpID09IFBvc2l0aW9uOjpQb3NpdGlv
bklzT2Zmc2V0SW5BbmNob3IKKyAgICAgICAgICAgfHwgcG9zaXRpb24uY29udGFpbmVyTm9kZSgp
IHx8ICFwb3NpdGlvbi5hbmNob3JOb2RlKCktPnNoYWRvd0FuY2VzdG9yTm9kZSgpKTsKKyAgICBO
b2RlKiBjb250YWluZXIgPSBwb3NpdGlvbi5jb250YWluZXJOb2RlKCk7CisgICAgaWYgKCFjb250
YWluZXIpCisgICAgICAgIHJldHVybiAwOworICAgIE5vZGUqIGFuY2VzdG9yID0gY29udGFpbmVy
LT5zaGFkb3dBbmNlc3Rvck5vZGUoKTsKKyAgICByZXR1cm4gYW5jZXN0b3IgIT0gY29udGFpbmVy
ID8gdG9UZXh0Rm9ybUNvbnRyb2woYW5jZXN0b3IpIDogMDsKIH0KICAgICAKIFBvc2l0aW9uIHBv
c2l0aW9uT3V0c2lkZVRhYlNwYW4oY29uc3QgUG9zaXRpb24mIHBvcykKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmgJKHJldmlzaW9uIDg5OTg2KQorKysgU291cmNlL1dlYkNv
cmUvZWRpdGluZy9odG1sZWRpdGluZy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw2ICszNyw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgRWxlbWVudDsKIGNs
YXNzIEhUTUxFbGVtZW50OworY2xhc3MgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ7CiBjbGFz
cyBOb2RlOwogY2xhc3MgUG9zaXRpb247CiBjbGFzcyBSYW5nZTsKQEAgLTEwNiw3ICsxMDcsNiBA
QCBib29sIGlzTGlzdEl0ZW0oTm9kZSopOwogYm9vbCBpc05vZGVSZW5kZXJlZChjb25zdCBOb2Rl
Kik7CiBib29sIGlzTm9kZVZpc2libHlDb250YWluZWRXaXRoaW4oTm9kZSosIGNvbnN0IFJhbmdl
Kik7CiBib29sIGlzUmVuZGVyZWRBc05vbklubGluZVRhYmxlSW1hZ2VPckhSKGNvbnN0IE5vZGUq
KTsKLWJvb2wgaXNOb2RlSW5UZXh0Rm9ybUNvbnRyb2woTm9kZSogbm9kZSk7CiAgICAgCiBUZXh0
RGlyZWN0aW9uIGRpcmVjdGlvbk9mRW5jbG9zaW5nQmxvY2soY29uc3QgUG9zaXRpb24mKTsKIApA
QCAtMjE2LDYgKzIxNiw3IEBAIFBhc3NSZWZQdHI8RWxlbWVudD4gY3JlYXRlQmxvY2tQbGFjZWhv
bGQKIAogRWxlbWVudCogZWRpdGFibGVSb290Rm9yUG9zaXRpb24oY29uc3QgUG9zaXRpb24mKTsK
IEVsZW1lbnQqIHVuc3BsaXR0YWJsZUVsZW1lbnRGb3JQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYp
OworSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQqIGVuY2xvc2luZ1RleHRGb3JtQ29udHJvbChj
b25zdCBQb3NpdGlvbiYpOwogCiAvLyBCb29sZWFuIGZ1bmN0aW9ucyBvbiBFbGVtZW50CiAgICAg
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaAko
cmV2aXNpb24gODk5ODYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVs
ZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjQ1LDYgKzI0NSwxMiBAQCBwcml2YXRlOgogICAg
IFN0cmluZyBtX3RleHRBc09mTGFzdEZvcm1Db250cm9sQ2hhbmdlRXZlbnQ7CiB9OwogCisvLyBU
aGlzIGZ1bmN0aW9uIHJldHVybnMgMCB3aGVuIG5vZGUgaXMgYW4gaW5wdXQgZWxlbWVudCBhbmQg
bm90IGEgdGV4dCBmaWVsZC4KK2lubGluZSBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudCogdG9U
ZXh0Rm9ybUNvbnRyb2woTm9kZSogbm9kZSkKK3sKKyAgICByZXR1cm4gKG5vZGUgJiYgbm9kZS0+
aXNFbGVtZW50Tm9kZSgpICYmIHN0YXRpY19jYXN0PEVsZW1lbnQqPihub2RlKS0+aXNUZXh0Rm9y
bUNvbnRyb2woKSkgPyBzdGF0aWNfY2FzdDxIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudCo+KG5v
ZGUpIDogMDsKK30KKwogfSAvLyBuYW1lc3BhY2UKIAogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcAkocmV2aXNpb24gODk5ODYpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzAxLDcgKzcw
MSw3IEBAIGJvb2wgRHJhZ0NvbnRyb2xsZXI6OnN0YXJ0RHJhZyhGcmFtZSogc3IKICAgICBJbWFn
ZSogaW1hZ2UgPSBnZXRJbWFnZShzdGF0aWNfY2FzdDxFbGVtZW50Kj4obm9kZSkpOwogICAgIGlm
IChzdGF0ZS5tX2RyYWdUeXBlID09IERyYWdTb3VyY2VBY3Rpb25TZWxlY3Rpb24pIHsKICAgICAg
ICAgaWYgKCFjbGlwYm9hcmQtPmhhc0RhdGEoKSkgewotICAgICAgICAgICAgaWYgKGlzTm9kZUlu
VGV4dEZvcm1Db250cm9sKHNyYy0+c2VsZWN0aW9uKCktPnN0YXJ0KCkuZGVwcmVjYXRlZE5vZGUo
KSkpCisgICAgICAgICAgICBpZiAoZW5jbG9zaW5nVGV4dEZvcm1Db250cm9sKHNyYy0+c2VsZWN0
aW9uKCktPnN0YXJ0KCkpKQogICAgICAgICAgICAgICAgIGNsaXBib2FyZC0+d3JpdGVQbGFpblRl
eHQoc3JjLT5lZGl0b3IoKS0+c2VsZWN0ZWRUZXh0KCkpOwogICAgICAgICAgICAgZWxzZSB7CiAg
ICAgICAgICAgICAgICAgUmVmUHRyPFJhbmdlPiBzZWxlY3Rpb25SYW5nZSA9IHNyYy0+c2VsZWN0
aW9uKCktPnRvTm9ybWFsaXplZFJhbmdlKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>