<?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>42807</bug_id>
          
          <creation_ts>2010-07-22 00:14:43 -0700</creation_ts>
          <short_desc>Small refactoring for input value sanitization</short_desc>
          <delta_ts>2010-07-22 01:21:10 -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>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>darin</cc>
    
    <cc>joepeck</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>254673</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-07-22 00:14:43 -0700</bug_when>
    <thetext>Small refactoring for input value sanitization</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254674</commentid>
    <comment_count>1</comment_count>
      <attachid>62266</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-07-22 00:24:59 -0700</bug_when>
    <thetext>Created attachment 62266
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254675</commentid>
    <comment_count>2</comment_count>
      <attachid>62266</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-07-22 00:37:04 -0700</bug_when>
    <thetext>Comment on attachment 62266
Patch

&gt; +        (WebCore::InputElement::sanitizeValueCommon):
&gt; +          Renamed from sanitizeValue(), and call replaceEOLAndLimitLength()
&gt; +          instead of sanitizeUserInputValue().

Is there any better name for this that doesn&apos;t involve the word &quot;common&quot;? How would you describe what this function does?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254680</commentid>
    <comment_count>3</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-07-22 00:46:33 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 62266 [details])
&gt; &gt; +        (WebCore::InputElement::sanitizeValueCommon):
&gt; &gt; +          Renamed from sanitizeValue(), and call replaceEOLAndLimitLength()
&gt; &gt; +          instead of sanitizeUserInputValue().
&gt; 
&gt; Is there any better name for this that doesn&apos;t involve the word &quot;common&quot;? How would you describe what this function does?

Actually I didn&apos;t think &quot;common&quot; was the best name and didn&apos;t have other good ideas.
A short description for this function would be:
   This is a sanitization function which is needed for almost all types of &lt;input&gt;.

Do you have any idea?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254681</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-07-22 00:49:09 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; A short description for this function would be:
&gt;    This is a sanitization function which is needed for almost all types of &lt;input&gt;.
&gt; 
&gt; Do you have any idea?

I might.

What are the exceptions to &quot;almost all&quot; in that sentence?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254682</commentid>
    <comment_count>5</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-07-22 00:57:30 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; A short description for this function would be:
&gt; &gt;    This is a sanitization function which is needed for almost all types of &lt;input&gt;.
&gt; &gt; 
&gt; &gt; Do you have any idea?
&gt; 
&gt; I might.
&gt; 
&gt; What are the exceptions to &quot;almost all&quot; in that sentence?

Well, &quot;almost all&quot; means HTMLInputElement::isTextField() for now.  So the name should sanitizeValueforTextField()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254684</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-07-22 00:58:44 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Well, &quot;almost all&quot; means HTMLInputElement::isTextField() for now.  So the name should sanitizeValueforTextField()?

Yes. As you say, for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254686</commentid>
    <comment_count>7</comment_count>
      <attachid>62271</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-07-22 01:03:54 -0700</bug_when>
    <thetext>Created attachment 62271
Patch 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254691</commentid>
    <comment_count>8</comment_count>
      <attachid>62271</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-07-22 01:21:02 -0700</bug_when>
    <thetext>Comment on attachment 62271
Patch 2

Clearing flags on attachment: 62271

Committed r63879: &lt;http://trac.webkit.org/changeset/63879&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254692</commentid>
    <comment_count>9</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-07-22 01:21:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62266</attachid>
            <date>2010-07-22 00:24:59 -0700</date>
            <delta_ts>2010-07-22 01:03:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-42807-20100722162457.patch</filename>
            <type>text/plain</type>
            <size>6621</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YWQ1ZWQwM2U4ODJlYTM2NzU3NjY5Nzk4N2JmNTQ5MmRkNTM1NDE0NC4uNmUxY2Y2ZTc1NTRkOTg4
ZTI3ZjZlNTFlODMzMTdjNDlhYTY3YmY0YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAxMC0wNy0yMiAgS2Vu
dCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgU21hbGwgcmVmYWN0b3JpbmcgZm9yIGlucHV0IHZhbHVl
IHNhbml0aXphdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NDI4MDcKKworICAgICAgICBSZW5hbWUgc29tZSBmdW5jdGlvbnMgdG8gY2xhcmlmeSB0
aGVpciByb2xlcy4KKworICAgICAgICAqIGRvbS9JbnB1dEVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6cmVwbGFjZUVPTEFuZExpbWl0TGVuZ3RoKToKKyAgICAgICAgICBSZW5hbWVkIGZy
b20gc2FuaXRpemVVc2VySW5wdXRWYWx1ZSgpLgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRFbGVt
ZW50OjpzYW5pdGl6ZVZhbHVlQ29tbW9uKToKKyAgICAgICAgICBSZW5hbWVkIGZyb20gc2FuaXRp
emVWYWx1ZSgpLCBhbmQgY2FsbCByZXBsYWNlRU9MQW5kTGltaXRMZW5ndGgoKQorICAgICAgICAg
IGluc3RlYWQgb2Ygc2FuaXRpemVVc2VySW5wdXRWYWx1ZSgpLgorICAgICAgICAoV2ViQ29yZTo6
SW5wdXRFbGVtZW50OjpzYW5pdGl6ZVVzZXJJbnB1dFZhbHVlKToKKyAgICAgICAgICBKdXN0IGNh
bGwgcmVwbGFjZUVPTEFuZExpbWl0TGVuZ3RoKCkuCisgICAgICAgIChXZWJDb3JlOjpJbnB1dEVs
ZW1lbnQ6OnVwZGF0ZVZhbHVlSWZOZWVkZWQpOgorICAgICAgICAgIFVzZSBub24tc3RhdGljIHNh
bml0aXplVmFsdWUoKSBmb3IgY29uc2lzdGVuY3kuCisgICAgICAgICogZG9tL0lucHV0RWxlbWVu
dC5oOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MSW5wdXRFbGVtZW50OjpzZXRJbnB1dFR5cGUpOgorICAgICAgICAgIFJldmVydCB0
aGUgY2hhbmdlIG9mIHI2Mzg3Ni4gSXQgaXMgbm90IG5lZWRlZCBiZWNhdXNlIG9mIHRoZQorICAg
ICAgICAgIHVwZGF0ZVZhbHVlSWZOZWVkZWQoKSBjaGFuZ2UuCisgICAgICAgIChXZWJDb3JlOjpI
VE1MSW5wdXRFbGVtZW50OjpzYW5pdGl6ZVZhbHVlKToKKyAgICAgICAgICBBcHBseSB0aGUgc2Fu
aXRpemVWYWx1ZSgpIHJlbmFtZS4KKwogMjAxMC0wNy0yMSAgS2VudCBUYW11cmEgIDx0a2VudEBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2RvbS9JbnB1dEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9kb20vSW5wdXRFbGVt
ZW50LmNwcAppbmRleCAwNzlkZDU2ZWY2YzllMjk0ODg0YzhhNTg3NmRlZWMxMThlN2I4YjVkLi5k
YmM4YWMxMzM5NTJhN2Y2YjY2NWY0NTU5NmRlY2NiMDZjYjg5NmYxIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2RvbS9JbnB1dEVsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL0lucHV0RWxlbWVudC5j
cHAKQEAgLTE0NSwyMCArMTQ1LDcgQEAgdm9pZCBJbnB1dEVsZW1lbnQ6OnNldFZhbHVlRnJvbVJl
bmRlcmVyKElucHV0RWxlbWVudERhdGEmIGRhdGEsIElucHV0RWxlbWVudCogaW4KICAgICBub3Rp
ZnlGb3JtU3RhdGVDaGFuZ2VkKGVsZW1lbnQpOwogfQogCi1TdHJpbmcgSW5wdXRFbGVtZW50Ojpz
YW5pdGl6ZVZhbHVlKGNvbnN0IElucHV0RWxlbWVudCogaW5wdXRFbGVtZW50LCBjb25zdCBTdHJp
bmcmIHByb3Bvc2VkVmFsdWUpCi17Ci0jaWYgRU5BQkxFKFdDU1MpCi0gICAgSW5wdXRFbGVtZW50
RGF0YSBkYXRhID0gY29uc3RfY2FzdDxJbnB1dEVsZW1lbnQqPihpbnB1dEVsZW1lbnQpLT5kYXRh
KCk7Ci0gICAgaWYgKCFpc0NvbmZvcm1Ub0lucHV0TWFzayhkYXRhLCBwcm9wb3NlZFZhbHVlKSkg
ewotICAgICAgICBpZiAoaXNDb25mb3JtVG9JbnB1dE1hc2soZGF0YSwgZGF0YS52YWx1ZSgpKSkK
LSAgICAgICAgICAgIHJldHVybiBkYXRhLnZhbHVlKCk7Ci0gICAgICAgIHJldHVybiBTdHJpbmco
KTsKLSAgICB9Ci0jZW5kaWYKLSAgICByZXR1cm4gSW5wdXRFbGVtZW50OjpzYW5pdGl6ZVVzZXJJ
bnB1dFZhbHVlKGlucHV0RWxlbWVudCwgcHJvcG9zZWRWYWx1ZSwgc19tYXhpbXVtTGVuZ3RoKTsK
LX0KLQotU3RyaW5nIElucHV0RWxlbWVudDo6c2FuaXRpemVVc2VySW5wdXRWYWx1ZShjb25zdCBJ
bnB1dEVsZW1lbnQqIGlucHV0RWxlbWVudCwgY29uc3QgU3RyaW5nJiBwcm9wb3NlZFZhbHVlLCBp
bnQgbWF4TGVuZ3RoKQorc3RhdGljIFN0cmluZyByZXBsYWNlRU9MQW5kTGltaXRMZW5ndGgoY29u
c3QgSW5wdXRFbGVtZW50KiBpbnB1dEVsZW1lbnQsIGNvbnN0IFN0cmluZyYgcHJvcG9zZWRWYWx1
ZSwgaW50IG1heExlbmd0aCkKIHsKICAgICBpZiAoIWlucHV0RWxlbWVudC0+aXNUZXh0RmllbGQo
KSkKICAgICAgICAgcmV0dXJuIHByb3Bvc2VkVmFsdWU7CkBAIC0xNzksNiArMTY2LDI0IEBAIFN0
cmluZyBJbnB1dEVsZW1lbnQ6OnNhbml0aXplVXNlcklucHV0VmFsdWUoY29uc3QgSW5wdXRFbGVt
ZW50KiBpbnB1dEVsZW1lbnQsIGNvCiAgICAgcmV0dXJuIHN0cmluZy5sZWZ0KG5ld0xlbmd0aCk7
CiB9CiAKK1N0cmluZyBJbnB1dEVsZW1lbnQ6OnNhbml0aXplVmFsdWVDb21tb24oY29uc3QgSW5w
dXRFbGVtZW50KiBpbnB1dEVsZW1lbnQsIGNvbnN0IFN0cmluZyYgcHJvcG9zZWRWYWx1ZSkKK3sK
KyNpZiBFTkFCTEUoV0NTUykKKyAgICBJbnB1dEVsZW1lbnREYXRhIGRhdGEgPSBjb25zdF9jYXN0
PElucHV0RWxlbWVudCo+KGlucHV0RWxlbWVudCktPmRhdGEoKTsKKyAgICBpZiAoIWlzQ29uZm9y
bVRvSW5wdXRNYXNrKGRhdGEsIHByb3Bvc2VkVmFsdWUpKSB7CisgICAgICAgIGlmIChpc0NvbmZv
cm1Ub0lucHV0TWFzayhkYXRhLCBkYXRhLnZhbHVlKCkpKQorICAgICAgICAgICAgcmV0dXJuIGRh
dGEudmFsdWUoKTsKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAgIH0KKyNlbmRpZgorICAg
IHJldHVybiByZXBsYWNlRU9MQW5kTGltaXRMZW5ndGgoaW5wdXRFbGVtZW50LCBwcm9wb3NlZFZh
bHVlLCBzX21heGltdW1MZW5ndGgpOworfQorCitTdHJpbmcgSW5wdXRFbGVtZW50OjpzYW5pdGl6
ZVVzZXJJbnB1dFZhbHVlKGNvbnN0IElucHV0RWxlbWVudCogaW5wdXRFbGVtZW50LCBjb25zdCBT
dHJpbmcmIHByb3Bvc2VkVmFsdWUsIGludCBtYXhMZW5ndGgpCit7CisgICAgcmV0dXJuIHJlcGxh
Y2VFT0xBbmRMaW1pdExlbmd0aChpbnB1dEVsZW1lbnQsIHByb3Bvc2VkVmFsdWUsIG1heExlbmd0
aCk7Cit9CisKIHZvaWQgSW5wdXRFbGVtZW50OjpoYW5kbGVCZWZvcmVUZXh0SW5zZXJ0ZWRFdmVu
dChJbnB1dEVsZW1lbnREYXRhJiBkYXRhLCBJbnB1dEVsZW1lbnQqIGlucHV0RWxlbWVudCwgRWxl
bWVudCogZWxlbWVudCwgRXZlbnQqIGV2ZW50KQogewogICAgIEFTU0VSVChldmVudC0+aXNCZWZv
cmVUZXh0SW5zZXJ0ZWRFdmVudCgpKTsKQEAgLTI0NSw3ICsyNTAsNyBAQCB2b2lkIElucHV0RWxl
bWVudDo6cGFyc2VNYXhMZW5ndGhBdHRyaWJ1dGUoSW5wdXRFbGVtZW50RGF0YSYgZGF0YSwgSW5w
dXRFbGVtZW50Kgogdm9pZCBJbnB1dEVsZW1lbnQ6OnVwZGF0ZVZhbHVlSWZOZWVkZWQoSW5wdXRF
bGVtZW50RGF0YSYgZGF0YSwgSW5wdXRFbGVtZW50KiBpbnB1dEVsZW1lbnQpCiB7CiAgICAgU3Ry
aW5nIG9sZFZhbHVlID0gZGF0YS52YWx1ZSgpOwotICAgIFN0cmluZyBuZXdWYWx1ZSA9IHNhbml0
aXplVmFsdWUoaW5wdXRFbGVtZW50LCBvbGRWYWx1ZSk7CisgICAgU3RyaW5nIG5ld1ZhbHVlID0g
aW5wdXRFbGVtZW50LT5zYW5pdGl6ZVZhbHVlKG9sZFZhbHVlKTsKICAgICBpZiAobmV3VmFsdWUg
IT0gb2xkVmFsdWUpCiAgICAgICAgIGlucHV0RWxlbWVudC0+c2V0VmFsdWUobmV3VmFsdWUpOwog
fQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vSW5wdXRFbGVtZW50LmggYi9XZWJDb3JlL2RvbS9J
bnB1dEVsZW1lbnQuaAppbmRleCAxZDZjMzU2MWNlZmZhNjY5ODIyYzU3OTI4Yzc4MjBkY2M0N2Zk
NzI4Li5lMmEzZGIyZWFhYWM3ZDc3NzVkNDQ0ZmVhODM5YjdmZDYwZDMwMTBmIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2RvbS9JbnB1dEVsZW1lbnQuaAorKysgYi9XZWJDb3JlL2RvbS9JbnB1dEVsZW1l
bnQuaApAQCAtNzgsOSArNzgsMTEgQEAgcHJvdGVjdGVkOgogICAgIHN0YXRpYyB2b2lkIHNldFZh
bHVlRnJvbVJlbmRlcmVyKElucHV0RWxlbWVudERhdGEmLCBJbnB1dEVsZW1lbnQqLCBFbGVtZW50
KiwgY29uc3QgU3RyaW5nJik7CiAgICAgLy8gUmVwbGFjZXMgQ1JzIGFuZCBMRnMsIHNocmlua3Mg
dGhlIHZhbHVlIGZvciBzX21heGltdW1MZW5ndGguCiAgICAgLy8gVGhpcyBzaG91bGQgYmUgYXBw
bGllZCB0byB2YWx1ZXMgZnJvbSB0aGUgSFRNTCB2YWx1ZSBhdHRyaWJ1dGUgYW5kIHRoZSBET00g
dmFsdWUgcHJvcGVydHkuCi0gICAgc3RhdGljIFN0cmluZyBzYW5pdGl6ZVZhbHVlKGNvbnN0IElu
cHV0RWxlbWVudCosIGNvbnN0IFN0cmluZyYpOworICAgIC8vIFRoaXMgZnVuY3Rpb24gc2hvdWxk
IGJlIGNhbGxlZCBvbmx5IGJ5IHNhbml0aXplVmFsdWUoKSBpbXBsZW1lbnRhdGlvbnMuCisgICAg
c3RhdGljIFN0cmluZyBzYW5pdGl6ZVZhbHVlQ29tbW9uKGNvbnN0IElucHV0RWxlbWVudCosIGNv
bnN0IFN0cmluZyYpOwogICAgIC8vIFJlcGxhY2VzIENScyBhbmQgTEZzLCBzaHJpbmtzIHRoZSB2
YWx1ZSBmb3IgdGhlIHNwZWNpZmllZCBtYXhpbXVtIGxlbmd0aC4KICAgICAvLyBUaGlzIHNob3Vs
ZCBiZSBhcHBsaWVkIHRvIHZhbHVlcyBzcGVjaWZpZWQgYnkgdXNlcnMuCisgICAgLy8gVGhlIGlu
cHV0IHN0cmluZyBtYXkgYmUgYSBmcmFnbWVudCBvZiB0aGUgd2hvbGUgdmFsdWUuCiAgICAgc3Rh
dGljIFN0cmluZyBzYW5pdGl6ZVVzZXJJbnB1dFZhbHVlKGNvbnN0IElucHV0RWxlbWVudCosIGNv
bnN0IFN0cmluZyYsIGludCk7CiAgICAgc3RhdGljIHZvaWQgaGFuZGxlQmVmb3JlVGV4dEluc2Vy
dGVkRXZlbnQoSW5wdXRFbGVtZW50RGF0YSYsIElucHV0RWxlbWVudCosIEVsZW1lbnQqLCBFdmVu
dCopOwogICAgIHN0YXRpYyB2b2lkIHBhcnNlU2l6ZUF0dHJpYnV0ZShJbnB1dEVsZW1lbnREYXRh
JiwgRWxlbWVudCosIEF0dHJpYnV0ZSopOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJ
bnB1dEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4
IGM5ZmQ1NjAzY2QyY2NhMmEyZDUyNDc4YWY0NWNlY2FjMWIyZDUwZGUuLjYzNTM0ZTc3MTQ1ZTNm
YjQyMmRjZmE1NDg1NTA5MjU2MWZjZWYyNDcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1M
SW5wdXRFbGVtZW50LmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAK
QEAgLTg2MywxMiArODYzLDggQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzZXRJbnB1dFR5cGUo
Y29uc3QgU3RyaW5nJiB0KQogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKCFkaWRTdG9y
ZVZhbHVlICYmIHdpbGxTdG9yZVZhbHVlKQogICAgICAgICAgICAgICAgIG1fZGF0YS5zZXRWYWx1
ZShzYW5pdGl6ZVZhbHVlKGdldEF0dHJpYnV0ZSh2YWx1ZUF0dHIpKSk7Ci0gICAgICAgICAgICBl
bHNlIHsKLSAgICAgICAgICAgICAgICBTdHJpbmcgb2xkVmFsdWUgPSBtX2RhdGEudmFsdWUoKTsK
LSAgICAgICAgICAgICAgICBTdHJpbmcgbmV3VmFsdWUgPSBzYW5pdGl6ZVZhbHVlKG9sZFZhbHVl
KTsKLSAgICAgICAgICAgICAgICBpZiAobmV3VmFsdWUgIT0gb2xkVmFsdWUpCi0gICAgICAgICAg
ICAgICAgICAgIHNldFZhbHVlKG5ld1ZhbHVlKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICBJbnB1dEVsZW1lbnQ6OnVwZGF0ZVZhbHVlSWZOZWVkZWQo
bV9kYXRhLCB0aGlzKTsKIAogICAgICAgICAgICAgaWYgKHdhc1Bhc3N3b3JkRmllbGQgJiYgIWlz
UGFzc3dvcmRGaWVsZCkKICAgICAgICAgICAgICAgICB1bnJlZ2lzdGVyRm9yQWN0aXZhdGlvbkNh
bGxiYWNrSWZOZWVkZWQoKTsKQEAgLTI1NjYsNyArMjU2Miw3IEBAIEZpbGVMaXN0KiBIVE1MSW5w
dXRFbGVtZW50OjpmaWxlcygpCiBTdHJpbmcgSFRNTElucHV0RWxlbWVudDo6c2FuaXRpemVWYWx1
ZShjb25zdCBTdHJpbmcmIHByb3Bvc2VkVmFsdWUpIGNvbnN0CiB7CiAgICAgaWYgKGlzVGV4dEZp
ZWxkKCkpCi0gICAgICAgIHJldHVybiBJbnB1dEVsZW1lbnQ6OnNhbml0aXplVmFsdWUodGhpcywg
cHJvcG9zZWRWYWx1ZSk7CisgICAgICAgIHJldHVybiBJbnB1dEVsZW1lbnQ6OnNhbml0aXplVmFs
dWVDb21tb24odGhpcywgcHJvcG9zZWRWYWx1ZSk7CiAKICAgICAvLyBJZiB0aGUgcHJvcG9zZWRW
YWx1ZSBpcyBudWxsIHRoYW4gdGhpcyBpcyBhIHJlc2V0IHNjZW5hcmlvIGFuZCB3ZQogICAgIC8v
IHdhbnQgdGhlIHJhbmdlIGlucHV0J3MgdmFsdWUgYXR0cmlidXRlIHRvIHRha2UgcHJpb3JpdHkg
b3ZlciB0aGUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62271</attachid>
            <date>2010-07-22 01:03:54 -0700</date>
            <delta_ts>2010-07-22 01:21:02 -0700</delta_ts>
            <desc>Patch 2</desc>
            <filename>bug-42807-20100722170352.patch</filename>
            <type>text/plain</type>
            <size>6647</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YWQ1ZWQwM2U4ODJlYTM2NzU3NjY5Nzk4N2JmNTQ5MmRkNTM1NDE0NC4uZjcwMmEwZDI0YTVhMjlj
ODE2YWE1ZDQ3ODQ1ZjU3NTQzNjgxNzk5OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAxMC0wNy0yMiAgS2Vu
dCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgU21hbGwgcmVmYWN0b3JpbmcgZm9yIGlucHV0IHZhbHVl
IHNhbml0aXphdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NDI4MDcKKworICAgICAgICBSZW5hbWUgc29tZSBmdW5jdGlvbnMgdG8gY2xhcmlmeSB0
aGVpciByb2xlcy4KKworICAgICAgICAqIGRvbS9JbnB1dEVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6cmVwbGFjZUVPTEFuZExpbWl0TGVuZ3RoKToKKyAgICAgICAgICBSZW5hbWVkIGZy
b20gc2FuaXRpemVVc2VySW5wdXRWYWx1ZSgpLgorICAgICAgICAoV2ViQ29yZTo6SW5wdXRFbGVt
ZW50OjpzYW5pdGl6ZVZhbHVlRm9yVGV4dEZpZWxkKToKKyAgICAgICAgICBSZW5hbWVkIGZyb20g
c2FuaXRpemVWYWx1ZSgpLCBhbmQgY2FsbCByZXBsYWNlRU9MQW5kTGltaXRMZW5ndGgoKQorICAg
ICAgICAgIGluc3RlYWQgb2Ygc2FuaXRpemVVc2VySW5wdXRWYWx1ZSgpLgorICAgICAgICAoV2Vi
Q29yZTo6SW5wdXRFbGVtZW50OjpzYW5pdGl6ZVVzZXJJbnB1dFZhbHVlKToKKyAgICAgICAgICBK
dXN0IGNhbGwgcmVwbGFjZUVPTEFuZExpbWl0TGVuZ3RoKCkuCisgICAgICAgIChXZWJDb3JlOjpJ
bnB1dEVsZW1lbnQ6OnVwZGF0ZVZhbHVlSWZOZWVkZWQpOgorICAgICAgICAgIFVzZSBub24tc3Rh
dGljIHNhbml0aXplVmFsdWUoKSBmb3IgY29uc2lzdGVuY3kuCisgICAgICAgICogZG9tL0lucHV0
RWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpzZXRJbnB1dFR5cGUpOgorICAgICAgICAgIFJl
dmVydCB0aGUgY2hhbmdlIG9mIHI2Mzg3Ni4gSXQgaXMgbm90IG5lZWRlZCBiZWNhdXNlIG9mIHRo
ZQorICAgICAgICAgIHVwZGF0ZVZhbHVlSWZOZWVkZWQoKSBjaGFuZ2UuCisgICAgICAgIChXZWJD
b3JlOjpIVE1MSW5wdXRFbGVtZW50OjpzYW5pdGl6ZVZhbHVlKToKKyAgICAgICAgICBBcHBseSB0
aGUgc2FuaXRpemVWYWx1ZSgpIHJlbmFtaW5nLgorCiAyMDEwLTA3LTIxICBLZW50IFRhbXVyYSAg
PHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0lucHV0RWxlbWVudC5jcHAgYi9XZWJDb3JlL2RvbS9J
bnB1dEVsZW1lbnQuY3BwCmluZGV4IDA3OWRkNTZlZjZjOWUyOTQ4ODRjOGE1ODc2ZGVlYzExOGU3
YjhiNWQuLmNlOTgxOTczMDUwMTRmOTBhMGFkM2FlZWM5NmMwNzI5MGU2ZjBmZDEgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvZG9tL0lucHV0RWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9kb20vSW5wdXRF
bGVtZW50LmNwcApAQCAtMTQ1LDIwICsxNDUsNyBAQCB2b2lkIElucHV0RWxlbWVudDo6c2V0VmFs
dWVGcm9tUmVuZGVyZXIoSW5wdXRFbGVtZW50RGF0YSYgZGF0YSwgSW5wdXRFbGVtZW50KiBpbgog
ICAgIG5vdGlmeUZvcm1TdGF0ZUNoYW5nZWQoZWxlbWVudCk7CiB9CiAKLVN0cmluZyBJbnB1dEVs
ZW1lbnQ6OnNhbml0aXplVmFsdWUoY29uc3QgSW5wdXRFbGVtZW50KiBpbnB1dEVsZW1lbnQsIGNv
bnN0IFN0cmluZyYgcHJvcG9zZWRWYWx1ZSkKLXsKLSNpZiBFTkFCTEUoV0NTUykKLSAgICBJbnB1
dEVsZW1lbnREYXRhIGRhdGEgPSBjb25zdF9jYXN0PElucHV0RWxlbWVudCo+KGlucHV0RWxlbWVu
dCktPmRhdGEoKTsKLSAgICBpZiAoIWlzQ29uZm9ybVRvSW5wdXRNYXNrKGRhdGEsIHByb3Bvc2Vk
VmFsdWUpKSB7Ci0gICAgICAgIGlmIChpc0NvbmZvcm1Ub0lucHV0TWFzayhkYXRhLCBkYXRhLnZh
bHVlKCkpKQotICAgICAgICAgICAgcmV0dXJuIGRhdGEudmFsdWUoKTsKLSAgICAgICAgcmV0dXJu
IFN0cmluZygpOwotICAgIH0KLSNlbmRpZgotICAgIHJldHVybiBJbnB1dEVsZW1lbnQ6OnNhbml0
aXplVXNlcklucHV0VmFsdWUoaW5wdXRFbGVtZW50LCBwcm9wb3NlZFZhbHVlLCBzX21heGltdW1M
ZW5ndGgpOwotfQotCi1TdHJpbmcgSW5wdXRFbGVtZW50OjpzYW5pdGl6ZVVzZXJJbnB1dFZhbHVl
KGNvbnN0IElucHV0RWxlbWVudCogaW5wdXRFbGVtZW50LCBjb25zdCBTdHJpbmcmIHByb3Bvc2Vk
VmFsdWUsIGludCBtYXhMZW5ndGgpCitzdGF0aWMgU3RyaW5nIHJlcGxhY2VFT0xBbmRMaW1pdExl
bmd0aChjb25zdCBJbnB1dEVsZW1lbnQqIGlucHV0RWxlbWVudCwgY29uc3QgU3RyaW5nJiBwcm9w
b3NlZFZhbHVlLCBpbnQgbWF4TGVuZ3RoKQogewogICAgIGlmICghaW5wdXRFbGVtZW50LT5pc1Rl
eHRGaWVsZCgpKQogICAgICAgICByZXR1cm4gcHJvcG9zZWRWYWx1ZTsKQEAgLTE3OSw2ICsxNjYs
MjQgQEAgU3RyaW5nIElucHV0RWxlbWVudDo6c2FuaXRpemVVc2VySW5wdXRWYWx1ZShjb25zdCBJ
bnB1dEVsZW1lbnQqIGlucHV0RWxlbWVudCwgY28KICAgICByZXR1cm4gc3RyaW5nLmxlZnQobmV3
TGVuZ3RoKTsKIH0KIAorU3RyaW5nIElucHV0RWxlbWVudDo6c2FuaXRpemVWYWx1ZUZvclRleHRG
aWVsZChjb25zdCBJbnB1dEVsZW1lbnQqIGlucHV0RWxlbWVudCwgY29uc3QgU3RyaW5nJiBwcm9w
b3NlZFZhbHVlKQoreworI2lmIEVOQUJMRShXQ1NTKQorICAgIElucHV0RWxlbWVudERhdGEgZGF0
YSA9IGNvbnN0X2Nhc3Q8SW5wdXRFbGVtZW50Kj4oaW5wdXRFbGVtZW50KS0+ZGF0YSgpOworICAg
IGlmICghaXNDb25mb3JtVG9JbnB1dE1hc2soZGF0YSwgcHJvcG9zZWRWYWx1ZSkpIHsKKyAgICAg
ICAgaWYgKGlzQ29uZm9ybVRvSW5wdXRNYXNrKGRhdGEsIGRhdGEudmFsdWUoKSkpCisgICAgICAg
ICAgICByZXR1cm4gZGF0YS52YWx1ZSgpOworICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAg
fQorI2VuZGlmCisgICAgcmV0dXJuIHJlcGxhY2VFT0xBbmRMaW1pdExlbmd0aChpbnB1dEVsZW1l
bnQsIHByb3Bvc2VkVmFsdWUsIHNfbWF4aW11bUxlbmd0aCk7Cit9CisKK1N0cmluZyBJbnB1dEVs
ZW1lbnQ6OnNhbml0aXplVXNlcklucHV0VmFsdWUoY29uc3QgSW5wdXRFbGVtZW50KiBpbnB1dEVs
ZW1lbnQsIGNvbnN0IFN0cmluZyYgcHJvcG9zZWRWYWx1ZSwgaW50IG1heExlbmd0aCkKK3sKKyAg
ICByZXR1cm4gcmVwbGFjZUVPTEFuZExpbWl0TGVuZ3RoKGlucHV0RWxlbWVudCwgcHJvcG9zZWRW
YWx1ZSwgbWF4TGVuZ3RoKTsKK30KKwogdm9pZCBJbnB1dEVsZW1lbnQ6OmhhbmRsZUJlZm9yZVRl
eHRJbnNlcnRlZEV2ZW50KElucHV0RWxlbWVudERhdGEmIGRhdGEsIElucHV0RWxlbWVudCogaW5w
dXRFbGVtZW50LCBFbGVtZW50KiBlbGVtZW50LCBFdmVudCogZXZlbnQpCiB7CiAgICAgQVNTRVJU
KGV2ZW50LT5pc0JlZm9yZVRleHRJbnNlcnRlZEV2ZW50KCkpOwpAQCAtMjQ1LDcgKzI1MCw3IEBA
IHZvaWQgSW5wdXRFbGVtZW50OjpwYXJzZU1heExlbmd0aEF0dHJpYnV0ZShJbnB1dEVsZW1lbnRE
YXRhJiBkYXRhLCBJbnB1dEVsZW1lbnQqCiB2b2lkIElucHV0RWxlbWVudDo6dXBkYXRlVmFsdWVJ
Zk5lZWRlZChJbnB1dEVsZW1lbnREYXRhJiBkYXRhLCBJbnB1dEVsZW1lbnQqIGlucHV0RWxlbWVu
dCkKIHsKICAgICBTdHJpbmcgb2xkVmFsdWUgPSBkYXRhLnZhbHVlKCk7Ci0gICAgU3RyaW5nIG5l
d1ZhbHVlID0gc2FuaXRpemVWYWx1ZShpbnB1dEVsZW1lbnQsIG9sZFZhbHVlKTsKKyAgICBTdHJp
bmcgbmV3VmFsdWUgPSBpbnB1dEVsZW1lbnQtPnNhbml0aXplVmFsdWUob2xkVmFsdWUpOwogICAg
IGlmIChuZXdWYWx1ZSAhPSBvbGRWYWx1ZSkKICAgICAgICAgaW5wdXRFbGVtZW50LT5zZXRWYWx1
ZShuZXdWYWx1ZSk7CiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9JbnB1dEVsZW1lbnQuaCBi
L1dlYkNvcmUvZG9tL0lucHV0RWxlbWVudC5oCmluZGV4IDFkNmMzNTYxY2VmZmE2Njk4MjJjNTc5
MjhjNzgyMGRjYzQ3ZmQ3MjguLjBmMTY0ZjljM2Q2ZGQ5ZjIxMDM3NmViZWEzMjhkZjIzMzQ1ZjVl
YWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0lucHV0RWxlbWVudC5oCisrKyBiL1dlYkNvcmUv
ZG9tL0lucHV0RWxlbWVudC5oCkBAIC03OCw5ICs3OCwxMSBAQCBwcm90ZWN0ZWQ6CiAgICAgc3Rh
dGljIHZvaWQgc2V0VmFsdWVGcm9tUmVuZGVyZXIoSW5wdXRFbGVtZW50RGF0YSYsIElucHV0RWxl
bWVudCosIEVsZW1lbnQqLCBjb25zdCBTdHJpbmcmKTsKICAgICAvLyBSZXBsYWNlcyBDUnMgYW5k
IExGcywgc2hyaW5rcyB0aGUgdmFsdWUgZm9yIHNfbWF4aW11bUxlbmd0aC4KICAgICAvLyBUaGlz
IHNob3VsZCBiZSBhcHBsaWVkIHRvIHZhbHVlcyBmcm9tIHRoZSBIVE1MIHZhbHVlIGF0dHJpYnV0
ZSBhbmQgdGhlIERPTSB2YWx1ZSBwcm9wZXJ0eS4KLSAgICBzdGF0aWMgU3RyaW5nIHNhbml0aXpl
VmFsdWUoY29uc3QgSW5wdXRFbGVtZW50KiwgY29uc3QgU3RyaW5nJik7CisgICAgLy8gVGhpcyBm
dW5jdGlvbiBzaG91bGQgYmUgY2FsbGVkIG9ubHkgYnkgc2FuaXRpemVWYWx1ZSgpIGltcGxlbWVu
dGF0aW9ucy4KKyAgICBzdGF0aWMgU3RyaW5nIHNhbml0aXplVmFsdWVGb3JUZXh0RmllbGQoY29u
c3QgSW5wdXRFbGVtZW50KiwgY29uc3QgU3RyaW5nJik7CiAgICAgLy8gUmVwbGFjZXMgQ1JzIGFu
ZCBMRnMsIHNocmlua3MgdGhlIHZhbHVlIGZvciB0aGUgc3BlY2lmaWVkIG1heGltdW0gbGVuZ3Ro
LgogICAgIC8vIFRoaXMgc2hvdWxkIGJlIGFwcGxpZWQgdG8gdmFsdWVzIHNwZWNpZmllZCBieSB1
c2Vycy4KKyAgICAvLyBUaGUgaW5wdXQgc3RyaW5nIG1heSBiZSBhIGZyYWdtZW50IG9mIHRoZSB3
aG9sZSB2YWx1ZS4KICAgICBzdGF0aWMgU3RyaW5nIHNhbml0aXplVXNlcklucHV0VmFsdWUoY29u
c3QgSW5wdXRFbGVtZW50KiwgY29uc3QgU3RyaW5nJiwgaW50KTsKICAgICBzdGF0aWMgdm9pZCBo
YW5kbGVCZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudChJbnB1dEVsZW1lbnREYXRhJiwgSW5wdXRFbGVt
ZW50KiwgRWxlbWVudCosIEV2ZW50Kik7CiAgICAgc3RhdGljIHZvaWQgcGFyc2VTaXplQXR0cmli
dXRlKElucHV0RWxlbWVudERhdGEmLCBFbGVtZW50KiwgQXR0cmlidXRlKik7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5jcHAKaW5kZXggYzlmZDU2MDNjZDJjY2EyYTJkNTI0NzhhZjQ1Y2VjYWMxYjJk
NTBkZS4uM2RmMzU0NDA5ZjgzNGI4YTdiZDE0YjVmYTdiNzMxNWQ0NmY3OGVjNSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9I
VE1MSW5wdXRFbGVtZW50LmNwcApAQCAtODYzLDEyICs4NjMsOCBAQCB2b2lkIEhUTUxJbnB1dEVs
ZW1lbnQ6OnNldElucHV0VHlwZShjb25zdCBTdHJpbmcmIHQpCiAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICBpZiAoIWRpZFN0b3JlVmFsdWUgJiYgd2lsbFN0b3JlVmFsdWUpCiAgICAgICAgICAg
ICAgICAgbV9kYXRhLnNldFZhbHVlKHNhbml0aXplVmFsdWUoZ2V0QXR0cmlidXRlKHZhbHVlQXR0
cikpKTsKLSAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgIFN0cmluZyBvbGRWYWx1
ZSA9IG1fZGF0YS52YWx1ZSgpOwotICAgICAgICAgICAgICAgIFN0cmluZyBuZXdWYWx1ZSA9IHNh
bml0aXplVmFsdWUob2xkVmFsdWUpOwotICAgICAgICAgICAgICAgIGlmIChuZXdWYWx1ZSAhPSBv
bGRWYWx1ZSkKLSAgICAgICAgICAgICAgICAgICAgc2V0VmFsdWUobmV3VmFsdWUpOwotICAgICAg
ICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIElucHV0RWxlbWVudDo6
dXBkYXRlVmFsdWVJZk5lZWRlZChtX2RhdGEsIHRoaXMpOwogCiAgICAgICAgICAgICBpZiAod2Fz
UGFzc3dvcmRGaWVsZCAmJiAhaXNQYXNzd29yZEZpZWxkKQogICAgICAgICAgICAgICAgIHVucmVn
aXN0ZXJGb3JBY3RpdmF0aW9uQ2FsbGJhY2tJZk5lZWRlZCgpOwpAQCAtMjU2Niw3ICsyNTYyLDcg
QEAgRmlsZUxpc3QqIEhUTUxJbnB1dEVsZW1lbnQ6OmZpbGVzKCkKIFN0cmluZyBIVE1MSW5wdXRF
bGVtZW50OjpzYW5pdGl6ZVZhbHVlKGNvbnN0IFN0cmluZyYgcHJvcG9zZWRWYWx1ZSkgY29uc3QK
IHsKICAgICBpZiAoaXNUZXh0RmllbGQoKSkKLSAgICAgICAgcmV0dXJuIElucHV0RWxlbWVudDo6
c2FuaXRpemVWYWx1ZSh0aGlzLCBwcm9wb3NlZFZhbHVlKTsKKyAgICAgICAgcmV0dXJuIElucHV0
RWxlbWVudDo6c2FuaXRpemVWYWx1ZUZvclRleHRGaWVsZCh0aGlzLCBwcm9wb3NlZFZhbHVlKTsK
IAogICAgIC8vIElmIHRoZSBwcm9wb3NlZFZhbHVlIGlzIG51bGwgdGhhbiB0aGlzIGlzIGEgcmVz
ZXQgc2NlbmFyaW8gYW5kIHdlCiAgICAgLy8gd2FudCB0aGUgcmFuZ2UgaW5wdXQncyB2YWx1ZSBh
dHRyaWJ1dGUgdG8gdGFrZSBwcmlvcml0eSBvdmVyIHRoZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>