<?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>74686</bug_id>
          
          <creation_ts>2011-12-15 22:38:22 -0800</creation_ts>
          <short_desc>[Forms] The &quot;maxlength&quot; attribute on &quot;textarea&quot; tag miscounts hard newlines</short_desc>
          <delta_ts>2016-09-20 09:05:05 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://jsfiddle.net/LbD3a/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>yosin</reporter>
          <assigned_to>yosin</assigned_to>
          <cc>aaron.nance</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zachleatherman</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>522544</commentid>
    <comment_count>0</comment_count>
    <who name="">yosin</who>
    <bug_when>2011-12-15 22:38:22 -0800</bug_when>
    <thetext>From Chromium http://crbug.com/104971

== Steps ==
1. Give a textarea tag a maxlength=10
2. Hit Enter key many times
3. Submit form containing textarea

== Result ==
10 CRLF pairs are submitted.

== Expected ==
5 CRLF pairs are submitted.

== Note ==
According to WHATWG, line break characters in DOM are LF, and are CRLF in submission value.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522598</commentid>
    <comment_count>1</comment_count>
      <attachid>119578</attachid>
    <who name="">yosin</who>
    <bug_when>2011-12-16 00:24:15 -0800</bug_when>
    <thetext>Created attachment 119578
Patch 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522609</commentid>
    <comment_count>2</comment_count>
      <attachid>119578</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-12-16 00:40:25 -0800</bug_when>
    <thetext>Comment on attachment 119578
Patch 1

View in context: https://bugs.webkit.org/attachment.cgi?id=119578&amp;action=review

&gt; Source/WebCore/html/HTMLTextAreaElement.cpp:58
&gt; +static unsigned computeLengthForSubmission(const String&amp; str)
&gt; +{
&gt; +    unsigned count =  numGraphemeClusters(str);
&gt; +    unsigned len = str.length();

We prefer complete words for variable names.  &apos;str&apos; &apos;len&apos; are not acceptable.

&gt; LayoutTests/ChangeLog:10
&gt; +        * fast/forms/textarea/textarea-maxlength-newline-expected.txt: Added.
&gt; +        * fast/forms/textarea/textarea-maxlength-newline.html: Added.

The new test is not needed.
Your change for textarea-maxlength.js covers the behavior change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522627</commentid>
    <comment_count>3</comment_count>
      <attachid>119584</attachid>
    <who name="">yosin</who>
    <bug_when>2011-12-16 01:25:48 -0800</bug_when>
    <thetext>Created attachment 119584
Patch 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522630</commentid>
    <comment_count>4</comment_count>
      <attachid>119584</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-12-16 01:31:31 -0800</bug_when>
    <thetext>Comment on attachment 119584
Patch 2

ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522654</commentid>
    <comment_count>5</comment_count>
      <attachid>119584</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-16 02:48:20 -0800</bug_when>
    <thetext>Comment on attachment 119584
Patch 2

Clearing flags on attachment: 119584

Committed r103051: &lt;http://trac.webkit.org/changeset/103051&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522655</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-16 02:48:24 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165623</commentid>
    <comment_count>7</comment_count>
    <who name="Aaron Nance">aaron.nance</who>
    <bug_when>2016-02-17 10:29:19 -0800</bug_when>
    <thetext>This issue needs to be reopened. All hard carriage returns are being counted as 2 against the maxlength in Safari. I&apos;ve tested this against Safari 9 on Mac 10.10 and in mobile Safari on iOS 9.2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1231673</commentid>
    <comment_count>8</comment_count>
    <who name="Zach Leatherman">zachleatherman</who>
    <bug_when>2016-09-20 09:05:05 -0700</bug_when>
    <thetext>Per Boris Zbarsky’s comment on the Mozilla issue tracker, the specification was recently changed to make hard newlines represent a single character: https://bugzilla.mozilla.org/show_bug.cgi?id=702296#c41

So, I think this needs to be reopened?

Per research in https://github.com/scottjehl/Device-Bugs/issues/73 only Chrome and Safari are going against the new spec.

The original case report should be amended to read:

== Expected ==
10 CRLF pairs are submitted.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119578</attachid>
            <date>2011-12-16 00:24:15 -0800</date>
            <delta_ts>2011-12-16 01:25:43 -0800</delta_ts>
            <desc>Patch 1</desc>
            <filename>bug-74686-20111216172413.patch</filename>
            <type>text/plain</type>
            <size>7560</size>
            <attacher>yosin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzMDAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzQ4ZGIwNjNlNmJlY2Nk
NmZjODY1NjE1ZTBhYmVjOGQ2YjQ0NDk0Yi4uZTViNzc0NjQ5MDMxNmU5MDJmNTA3YzQ4YWYwZWRl
OThhNGY3YWQ2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDExLTEyLTE2ICBZb3Np
ZnVtaSBJbm91ZSAgPHlvc2luQGNocm9taXVtLm9yZz4KKworICAgICAgICBbRm9ybXNdIFRoZSAi
bWF4bGVuZ3RoIiBhdHRyaWJ1dGUgb24gInRleHRhcmVhIiB0YWcgbWlzY291bnRzIGhhcmQgbmV3
bGluZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0
Njg2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhp
cyBwYXRjaCBjb3VudHMgTEYgaW4gdGV4dGFyZWEgdmFsdWUgYXMgdHdvIGZvciBMRiB0byBDUkxG
IGNvbnZlcnNpb24gb24gc3VibWlzc2lvbi4KKworICAgICAgICBUZXN0OiBmYXN0L2Zvcm1zL3Rl
eHRhcmVhL3RleHRhcmVhLW1heGxlbmd0aC1uZXdsaW5lLmh0bWwKKworICAgICAgICAqIGh0bWwv
SFRNTFRleHRBcmVhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb21wdXRlTGVuZ3Ro
Rm9yU3VibWlzc2lvbik6IENvdW50IExGIGFzIDIgZm9yIENSIExGIGNvbnZlcnNpb24gb24gc3Vi
bWlzc2lvbi4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUZXh0QXJlYUVsZW1lbnQ6OmhhbmRsZUJl
Zm9yZVRleHRJbnNlcnRlZEV2ZW50KTogVXNlIGNvbXB1dGVMZW5ndGhGb3JTdWJtaXNzaW9uIGlu
c3RlYWQgb2YgbnVtR3JhcGhlbWVDbHVzdGVycy4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUZXh0
QXJlYUVsZW1lbnQ6OnRvb0xvbmcpOiBVc2UgY29tcHV0ZUxlbmd0aEZvclN1Ym1pc3Npb24gaW5z
dGVhZCBvZiBudW1HcmFwaGVtZUNsdXN0ZXJzLgorCiAyMDExLTEyLTE1ICBSYWZhZWwgV2VpbnN0
ZWluICA8cmFmYWVsd0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW011dGF0aW9uT2JzZXJ2ZXJz
XSBBZGQgYSBkb2N1bWVudC1sZXZlbCBmbGFnIHRoYXQgY2FuIHRyaXZpYWxseSBiZSBjaGVja2Vk
IHRvIGF2b2lkIGRvaW5nIHVubmVzc2FyeSB3b3JrIGlmIG11dGF0aW9uIG9ic2VydmVycyBhYnNl
bnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwCmluZGV4IDhk
ZmMwODdmNTk1ZTUyNDI3MTQ5ZDc2MWZkY2YwNzYyMTgzNDU4ZDEuLjUzOTRjOGFkZGIzZTI0NDli
ZDYyZmRiZjdkNDA5ZTA3NjA5OGU4YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFRleHRBcmVhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4
dEFyZWFFbGVtZW50LmNwcApAQCAtNTAsNiArNTAsMTkgQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxO
YW1lczsKIHN0YXRpYyBjb25zdCBpbnQgZGVmYXVsdFJvd3MgPSAyOwogc3RhdGljIGNvbnN0IGlu
dCBkZWZhdWx0Q29scyA9IDIwOwogCisvLyBPbiBzdWJtaXNzaW9uLCBMRiBjaGFyYWN0ZXJzIGFy
ZSBjb252ZXJ0ZWQgaW50byBDUkxGLgorLy8gVGhpcyBmdW5jdGlvbiByZXR1cm5zIG51bWJlciBv
ZiBjaGFyYWN0ZXJzIGNvbnNpZGVyaW5nIHRoaXMuCitzdGF0aWMgdW5zaWduZWQgY29tcHV0ZUxl
bmd0aEZvclN1Ym1pc3Npb24oY29uc3QgU3RyaW5nJiBzdHIpCit7CisgICAgdW5zaWduZWQgY291
bnQgPSAgbnVtR3JhcGhlbWVDbHVzdGVycyhzdHIpOworICAgIHVuc2lnbmVkIGxlbiA9IHN0ci5s
ZW5ndGgoKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuOyBpKyspIHsKKyAgICAg
ICAgaWYgKHN0cltpXSA9PSAnXG4nKQorICAgICAgICAgICAgY291bnQrKzsKKyAgICB9CisgICAg
cmV0dXJuIGNvdW50OworfQorCiBIVE1MVGV4dEFyZWFFbGVtZW50OjpIVE1MVGV4dEFyZWFFbGVt
ZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCwgSFRN
TEZvcm1FbGVtZW50KiBmb3JtKQogICAgIDogSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQodGFn
TmFtZSwgZG9jdW1lbnQsIGZvcm0pCiAgICAgLCBtX3Jvd3MoZGVmYXVsdFJvd3MpCkBAIC0yNDQs
MTMgKzI1NywxMyBAQCB2b2lkIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OmhhbmRsZUJlZm9yZVRleHRJ
bnNlcnRlZEV2ZW50KEJlZm9yZVRleHRJbnNlcnRlZEV2ZW50KgogICAgICAgICByZXR1cm47CiAg
ICAgdW5zaWduZWQgdW5zaWduZWRNYXhMZW5ndGggPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oc2ln
bmVkTWF4TGVuZ3RoKTsKIAotICAgIHVuc2lnbmVkIGN1cnJlbnRMZW5ndGggPSBudW1HcmFwaGVt
ZUNsdXN0ZXJzKGlubmVyVGV4dFZhbHVlKCkpOworICAgIHVuc2lnbmVkIGN1cnJlbnRMZW5ndGgg
PSBjb21wdXRlTGVuZ3RoRm9yU3VibWlzc2lvbihpbm5lclRleHRWYWx1ZSgpKTsKICAgICAvLyBz
ZWxlY3Rpb25MZW5ndGggcmVwcmVzZW50cyB0aGUgc2VsZWN0aW9uIGxlbmd0aCBvZiB0aGlzIHRl
eHQgZmllbGQgdG8gYmUKICAgICAvLyByZW1vdmVkIGJ5IHRoaXMgaW5zZXJ0aW9uLgogICAgIC8v
IElmIHRoZSB0ZXh0IGZpZWxkIGhhcyBubyBmb2N1cywgd2UgZG9uJ3QgbmVlZCB0byB0YWtlIGFj
Y291bnQgb2YgdGhlCiAgICAgLy8gc2VsZWN0aW9uIGxlbmd0aC4gVGhlIHNlbGVjdGlvbiBpcyB0
aGUgc291cmNlIG9mIHRleHQgZHJhZy1hbmQtZHJvcCBpbgogICAgIC8vIHRoYXQgY2FzZSwgYW5k
IG5vdGhpbmcgaW4gdGhlIHRleHQgZmllbGQgd2lsbCBiZSByZW1vdmVkLgotICAgIHVuc2lnbmVk
IHNlbGVjdGlvbkxlbmd0aCA9IGZvY3VzZWQoKSA/IG51bUdyYXBoZW1lQ2x1c3RlcnMocGxhaW5U
ZXh0KGRvY3VtZW50KCktPmZyYW1lKCktPnNlbGVjdGlvbigpLT5zZWxlY3Rpb24oKS50b05vcm1h
bGl6ZWRSYW5nZSgpLmdldCgpKSkgOiAwOworICAgIHVuc2lnbmVkIHNlbGVjdGlvbkxlbmd0aCA9
IGZvY3VzZWQoKSA/IGNvbXB1dGVMZW5ndGhGb3JTdWJtaXNzaW9uKHBsYWluVGV4dChkb2N1bWVu
dCgpLT5mcmFtZSgpLT5zZWxlY3Rpb24oKS0+c2VsZWN0aW9uKCkudG9Ob3JtYWxpemVkUmFuZ2Uo
KS5nZXQoKSkpIDogMDsKICAgICBBU1NFUlQoY3VycmVudExlbmd0aCA+PSBzZWxlY3Rpb25MZW5n
dGgpOwogICAgIHVuc2lnbmVkIGJhc2VMZW5ndGggPSBjdXJyZW50TGVuZ3RoIC0gc2VsZWN0aW9u
TGVuZ3RoOwogICAgIHVuc2lnbmVkIGFwcGVuZGFibGVMZW5ndGggPSB1bnNpZ25lZE1heExlbmd0
aCA+IGJhc2VMZW5ndGggPyB1bnNpZ25lZE1heExlbmd0aCAtIGJhc2VMZW5ndGggOiAwOwpAQCAt
NDAyLDcgKzQxNSw3IEBAIGJvb2wgSFRNTFRleHRBcmVhRWxlbWVudDo6dG9vTG9uZyhjb25zdCBT
dHJpbmcmIHZhbHVlLCBOZWVkc1RvQ2hlY2tEaXJ0eUZsYWcgY2hlCiAgICAgaW50IG1heCA9IG1h
eExlbmd0aCgpOwogICAgIGlmIChtYXggPCAwKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
cmV0dXJuIG51bUdyYXBoZW1lQ2x1c3RlcnModmFsdWUpID4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KG1heCk7CisgICAgcmV0dXJuIGNvbXB1dGVMZW5ndGhGb3JTdWJtaXNzaW9uKHZhbHVlKSA+IHN0
YXRpY19jYXN0PHVuc2lnbmVkPihtYXgpOwogfQogCiBib29sIEhUTUxUZXh0QXJlYUVsZW1lbnQ6
OmlzVmFsaWRWYWx1ZShjb25zdCBTdHJpbmcmIGNhbmRpZGF0ZSkgY29uc3QKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0MGJh
ZTM4MGIzOGU3MmY3ZGRhZGQ2Zjk0NTllOTI2OTRkOGFhNWI3Li4wMjhhZjZmMDk5YWRhNmZkOGM0
ZGI3ZDFjNWExNmJiODA1NTE4OWE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMTItMTYg
IFlvc2lmdW1pIElub3VlICA8eW9zaW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtGb3Jtc10g
VGhlICJtYXhsZW5ndGgiIGF0dHJpYnV0ZSBvbiAidGV4dGFyZWEiIHRhZyBtaXNjb3VudHMgaGFy
ZCBuZXdsaW5lcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzQ2ODYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGZhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL3RleHRhcmVhLW1heGxlbmd0aC5qczogRG91Ymxl
cyBtYXhsZW5ndGggZm9yIGNvdW50aW5nIExGIGFzIHR3byBjaGFycy4KKyAgICAgICAgKiBmYXN0
L2Zvcm1zL3RleHRhcmVhL3RleHRhcmVhLW1heGxlbmd0aC1uZXdsaW5lLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy90ZXh0YXJlYS90ZXh0YXJlYS1tYXhsZW5ndGgt
bmV3bGluZS5odG1sOiBBZGRlZC4KKwogMjAxMS0xMi0xNSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3
ZWJraXQub3JnPgogCiAgICAgICAgIDwhRE9DVFlQRSBodG1sPjxwcmU+JiN4MGE7JiN4MGE7QTwv
cHJlPiBkb2Vzbid0IHBhcnNlIGNvcnJlY3RseQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9zY3JpcHQtdGVzdHMvdGV4dGFyZWEtbWF4bGVuZ3RoLmpzIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvdGV4dGFyZWEtbWF4bGVuZ3RoLmpzCmluZGV4IDQ0NzI1
YmZlZTEwMDNhNzI4NTRmN2I3MzEyZjQwYWYwMTRkZTQxNmQuLmQyZmRjYjA4NzdhY2Y3MDdjNmI1
MWNhYjBkMWYxMmViNDY2ODMxYTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
c2NyaXB0LXRlc3RzL3RleHRhcmVhLW1heGxlbmd0aC5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3NjcmlwdC10ZXN0cy90ZXh0YXJlYS1tYXhsZW5ndGguanMKQEAgLTgyLDcgKzgyLDcg
QEAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2RlbGV0ZScpOwogc2hvdWxkQmUoJ3RleHRBcmVhLnZh
bHVlJywgJyJhYmNkZSInKTsKIAogLy8gQSBsaW5lYnJlYWsgaXMgMSBjaGFyYWN0ZXIuCi1jcmVh
dGVGb2N1c2VkVGV4dEFyZWFXaXRoTWF4TGVuZ3RoKDMpOworY3JlYXRlRm9jdXNlZFRleHRBcmVh
V2l0aE1heExlbmd0aCg0KTsKIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdpbnNlcnRUZXh0JywgZmFs
c2UsICdBJyk7CiBkb2N1bWVudC5leGVjQ29tbWFuZCgnaW5zZXJ0TGluZUJyZWFrJyk7CiBkb2N1
bWVudC5leGVjQ29tbWFuZCgnaW5zZXJ0VGV4dCcsIGZhbHNlLCAnQicpOwpAQCAtOTUsNyArOTUs
NyBAQCBkb2N1bWVudC5leGVjQ29tbWFuZCgnaW5zZXJ0TGluZUJyZWFrJyk7CiBzaG91bGRCZSgn
dGV4dEFyZWEudmFsdWUnLCAnImFcXG5cXG4iJyk7CiAKIC8vIENvbmZpcm1zIGNvcnJlY3QgY291
bnQgZm9yIG9wZW4gY29uc2VjdXRpdmUgbGluZWJyZWFrcyBpbnB1dHMuCi1jcmVhdGVGb2N1c2Vk
VGV4dEFyZWFXaXRoTWF4TGVuZ3RoKDMpOworY3JlYXRlRm9jdXNlZFRleHRBcmVhV2l0aE1heExl
bmd0aCg2KTsKIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdpbnNlcnRMaW5lQnJlYWsnKTsKIGRvY3Vt
ZW50LmV4ZWNDb21tYW5kKCdpbnNlcnRMaW5lQnJlYWsnKTsKIGRvY3VtZW50LmV4ZWNDb21tYW5k
KCdpbnNlcnRMaW5lQnJlYWsnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
dGV4dGFyZWEvdGV4dGFyZWEtbWF4bGVuZ3RoLW5ld2xpbmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy90ZXh0YXJlYS90ZXh0YXJlYS1tYXhsZW5ndGgtbmV3bGluZS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2JiYWVmNDFhNWMwODgxMDQyZDE1NjNjNmM4ZTVkYTJlNmYx
MzNjYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGV4dGFyZWEv
dGV4dGFyZWEtbWF4bGVuZ3RoLW5ld2xpbmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAor
V2ViS2l0IEJ1ZyA3NDY4NgorCitUaGUgIm1heGxlbmd0aCIgYXR0cmlidXRlIG9uICJ0ZXh0YXJl
YSIgdGFnIG1pc2NvdW50cyBoYXJkIG5ld2xpbmVzLgorCitBIG5ld2xpbmUoTEYpIHNob3VsZCBi
ZSBjb3VudGVkIGFzIHR3byBjaGFyYWN0ZXJzIGJlY2F1c2Ugb2Ygb24gc3VibWlzc2lvbiBMRiBp
cyBjb252ZXJ0ZWQgaW50byBDUiBMRi4KKworCitQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Zvcm1zL3RleHRhcmVhL3RleHRhcmVhLW1heGxlbmd0aC1uZXdsaW5lLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RleHRhcmVhL3RleHRhcmVhLW1heGxlbmd0aC1uZXdsaW5l
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uY2IwZDJjYzYyYWExYTkwMmM3ZjUxNDI0MjQ2OGYyOGQ0YmQ0ODQ3
MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGV4dGFyZWEvdGV4
dGFyZWEtbWF4bGVuZ3RoLW5ld2xpbmUuaHRtbApAQCAtMCwwICsxLDI3IEBACis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGNvbnN0IGxvZyA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJsb2ciKTsKKyAgICBjb25zdCB0eHQgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidHh0Iik7CisgICAgdHh0LmZvY3VzKCk7CisgICAgY29uc3QgbiA9IDEwOwor
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbjsgaSsrKQorICAgICAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgiaW5zZXJ0TGluZUJyZWFrIik7CisKKyAgICBjb25zdCBsZW4gPSB0eHQudmFsdWUubGVu
Z3RoOworICAgIGxvZy5pbm5lckhUTUwgPSBsZW4gPT0gbiAvIDIgPyAiUEFTUyIgOiAiRkFJTCAi
ICsgbGVuOworCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+Cis8aDE+V2ViS2l0IEJ1ZyA8YSBocmVmPSJodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2ODYiPjc0Njg2PC9hPjwvaDE+Cis8
cD5UaGUgIm1heGxlbmd0aCIgYXR0cmlidXRlIG9uICJ0ZXh0YXJlYSIgdGFnIG1pc2NvdW50cyBo
YXJkIG5ld2xpbmVzLjwvcD4KKzxwPkEgbmV3bGluZShMRikgc2hvdWxkIGJlIGNvdW50ZWQgYXMg
dHdvIGNoYXJhY3RlcnMgYmVjYXVzZSBvZiBvbiBzdWJtaXNzaW9uIExGIGlzIGNvbnZlcnRlZCBp
bnRvIENSIExGLjwvcD4KKzx0ZXh0YXJlYSBpZD0idHh0IiBtYXhsZW5ndGg9IjEwIj48L3RleHRh
cmVhPgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119584</attachid>
            <date>2011-12-16 01:25:48 -0800</date>
            <delta_ts>2011-12-16 02:48:20 -0800</delta_ts>
            <desc>Patch 2</desc>
            <filename>bug-74686-20111216182547.patch</filename>
            <type>text/plain</type>
            <size>5546</size>
            <attacher>yosin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzMDM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjk2ZDE1MGUwMTRlYTRi
NmY0NTFjYjc1ODZjMjc4MDMwYzc4ZDAwOC4uN2MwYjhlNTBhZjFmN2VjNmE1NWI4YWI4ZWZiNTQ2
M2M1ZGZlZjQzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDExLTEyLTE2ICBZb3Np
ZnVtaSBJbm91ZSAgPHlvc2luQGNocm9taXVtLm9yZz4KKworICAgICAgICBbRm9ybXNdIFRoZSAi
bWF4bGVuZ3RoIiBhdHRyaWJ1dGUgb24gInRleHRhcmVhIiB0YWcgbWlzY291bnRzIGhhcmQgbmV3
bGluZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0
Njg2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhp
cyBwYXRjaCBjb3VudHMgTEYgaW4gdGV4dGFyZWEgdmFsdWUgYXMgdHdvIGZvciBMRiB0byBDUkxG
IGNvbnZlcnNpb24gb24gc3VibWlzc2lvbi4KKworICAgICAgICBObyBuZXcgdGVzdHMuIEV4aXN0
aW5nIHRlc3RzIGNvdmVyIGFsbCBjaGFuZ2VzLgorCisgICAgICAgICogaHRtbC9IVE1MVGV4dEFy
ZWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbXB1dGVMZW5ndGhGb3JTdWJtaXNz
aW9uKTogQ291bnQgTEYgYXMgMiBmb3IgQ1IgTEYgY29udmVyc2lvbiBvbiBzdWJtaXNzaW9uLgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTFRleHRBcmVhRWxlbWVudDo6aGFuZGxlQmVmb3JlVGV4dElu
c2VydGVkRXZlbnQpOiBVc2UgY29tcHV0ZUxlbmd0aEZvclN1Ym1pc3Npb24gaW5zdGVhZCBvZiBu
dW1HcmFwaGVtZUNsdXN0ZXJzLgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRleHRBcmVhRWxlbWVu
dDo6dG9vTG9uZyk6IFVzZSBjb21wdXRlTGVuZ3RoRm9yU3VibWlzc2lvbiBpbnN0ZWFkIG9mIG51
bUdyYXBoZW1lQ2x1c3RlcnMuCisKIDIwMTEtMTItMTUgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2Jp
bnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIEZpeCAnbWFrZSBkaXN0JyBpbiBwcmVwYXJhdGlv
biBmb3IgdGhlIEdUSysgcmVsZWFzZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFRleHRBcmVhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJl
YUVsZW1lbnQuY3BwCmluZGV4IDhkZmMwODdmNTk1ZTUyNDI3MTQ5ZDc2MWZkY2YwNzYyMTgzNDU4
ZDEuLmI1YWM2MzM5MGJhOWVkODdiOTdkNzZiNmM3MWUzYTgwZWYxMGEwMTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcApAQCAtNTAsNiArNTAsMTkgQEAg
dXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIHN0YXRpYyBjb25zdCBpbnQgZGVmYXVsdFJvd3Mg
PSAyOwogc3RhdGljIGNvbnN0IGludCBkZWZhdWx0Q29scyA9IDIwOwogCisvLyBPbiBzdWJtaXNz
aW9uLCBMRiBjaGFyYWN0ZXJzIGFyZSBjb252ZXJ0ZWQgaW50byBDUkxGLgorLy8gVGhpcyBmdW5j
dGlvbiByZXR1cm5zIG51bWJlciBvZiBjaGFyYWN0ZXJzIGNvbnNpZGVyaW5nIHRoaXMuCitzdGF0
aWMgdW5zaWduZWQgY29tcHV0ZUxlbmd0aEZvclN1Ym1pc3Npb24oY29uc3QgU3RyaW5nJiB0ZXh0
KQoreworICAgIHVuc2lnbmVkIGNvdW50ID0gIG51bUdyYXBoZW1lQ2x1c3RlcnModGV4dCk7Cisg
ICAgdW5zaWduZWQgbGVuZ3RoID0gdGV4dC5sZW5ndGgoKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkg
PSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKKyAgICAgICAgaWYgKHRleHRbaV0gPT0gJ1xuJykKKyAg
ICAgICAgICAgIGNvdW50Kys7CisgICAgfQorICAgIHJldHVybiBjb3VudDsKK30KKwogSFRNTFRl
eHRBcmVhRWxlbWVudDo6SFRNTFRleHRBcmVhRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0
YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQsIEhUTUxGb3JtRWxlbWVudCogZm9ybSkKICAgICA6
IEhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50LCBmb3JtKQogICAg
ICwgbV9yb3dzKGRlZmF1bHRSb3dzKQpAQCAtMjQ0LDEzICsyNTcsMTMgQEAgdm9pZCBIVE1MVGV4
dEFyZWFFbGVtZW50OjpoYW5kbGVCZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudChCZWZvcmVUZXh0SW5z
ZXJ0ZWRFdmVudCoKICAgICAgICAgcmV0dXJuOwogICAgIHVuc2lnbmVkIHVuc2lnbmVkTWF4TGVu
Z3RoID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHNpZ25lZE1heExlbmd0aCk7CiAKLSAgICB1bnNp
Z25lZCBjdXJyZW50TGVuZ3RoID0gbnVtR3JhcGhlbWVDbHVzdGVycyhpbm5lclRleHRWYWx1ZSgp
KTsKKyAgICB1bnNpZ25lZCBjdXJyZW50TGVuZ3RoID0gY29tcHV0ZUxlbmd0aEZvclN1Ym1pc3Np
b24oaW5uZXJUZXh0VmFsdWUoKSk7CiAgICAgLy8gc2VsZWN0aW9uTGVuZ3RoIHJlcHJlc2VudHMg
dGhlIHNlbGVjdGlvbiBsZW5ndGggb2YgdGhpcyB0ZXh0IGZpZWxkIHRvIGJlCiAgICAgLy8gcmVt
b3ZlZCBieSB0aGlzIGluc2VydGlvbi4KICAgICAvLyBJZiB0aGUgdGV4dCBmaWVsZCBoYXMgbm8g
Zm9jdXMsIHdlIGRvbid0IG5lZWQgdG8gdGFrZSBhY2NvdW50IG9mIHRoZQogICAgIC8vIHNlbGVj
dGlvbiBsZW5ndGguIFRoZSBzZWxlY3Rpb24gaXMgdGhlIHNvdXJjZSBvZiB0ZXh0IGRyYWctYW5k
LWRyb3AgaW4KICAgICAvLyB0aGF0IGNhc2UsIGFuZCBub3RoaW5nIGluIHRoZSB0ZXh0IGZpZWxk
IHdpbGwgYmUgcmVtb3ZlZC4KLSAgICB1bnNpZ25lZCBzZWxlY3Rpb25MZW5ndGggPSBmb2N1c2Vk
KCkgPyBudW1HcmFwaGVtZUNsdXN0ZXJzKHBsYWluVGV4dChkb2N1bWVudCgpLT5mcmFtZSgpLT5z
ZWxlY3Rpb24oKS0+c2VsZWN0aW9uKCkudG9Ob3JtYWxpemVkUmFuZ2UoKS5nZXQoKSkpIDogMDsK
KyAgICB1bnNpZ25lZCBzZWxlY3Rpb25MZW5ndGggPSBmb2N1c2VkKCkgPyBjb21wdXRlTGVuZ3Ro
Rm9yU3VibWlzc2lvbihwbGFpblRleHQoZG9jdW1lbnQoKS0+ZnJhbWUoKS0+c2VsZWN0aW9uKCkt
PnNlbGVjdGlvbigpLnRvTm9ybWFsaXplZFJhbmdlKCkuZ2V0KCkpKSA6IDA7CiAgICAgQVNTRVJU
KGN1cnJlbnRMZW5ndGggPj0gc2VsZWN0aW9uTGVuZ3RoKTsKICAgICB1bnNpZ25lZCBiYXNlTGVu
Z3RoID0gY3VycmVudExlbmd0aCAtIHNlbGVjdGlvbkxlbmd0aDsKICAgICB1bnNpZ25lZCBhcHBl
bmRhYmxlTGVuZ3RoID0gdW5zaWduZWRNYXhMZW5ndGggPiBiYXNlTGVuZ3RoID8gdW5zaWduZWRN
YXhMZW5ndGggLSBiYXNlTGVuZ3RoIDogMDsKQEAgLTQwMiw3ICs0MTUsNyBAQCBib29sIEhUTUxU
ZXh0QXJlYUVsZW1lbnQ6OnRvb0xvbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSwgTmVlZHNUb0NoZWNr
RGlydHlGbGFnIGNoZQogICAgIGludCBtYXggPSBtYXhMZW5ndGgoKTsKICAgICBpZiAobWF4IDwg
MCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiBudW1HcmFwaGVtZUNsdXN0ZXJz
KHZhbHVlKSA+IHN0YXRpY19jYXN0PHVuc2lnbmVkPihtYXgpOworICAgIHJldHVybiBjb21wdXRl
TGVuZ3RoRm9yU3VibWlzc2lvbih2YWx1ZSkgPiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obWF4KTsK
IH0KIAogYm9vbCBIVE1MVGV4dEFyZWFFbGVtZW50Ojppc1ZhbGlkVmFsdWUoY29uc3QgU3RyaW5n
JiBjYW5kaWRhdGUpIGNvbnN0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTBkNjRmNjU1ZDE3ZjFiOWM4NTMyYzdkZjE2OGIz
MzI2MzQ1ZWQ3Zi4uYWU5NzhiOWNjYjI4M2Y2MjNmYTgzYTliYzZhMzIyYTdjZWVmOGUyNCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEyIEBACisyMDExLTEyLTE2ICBZb3NpZnVtaSBJbm91ZSAgPHlvc2luQGNo
cm9taXVtLm9yZz4KKworICAgICAgICBbRm9ybXNdIFRoZSAibWF4bGVuZ3RoIiBhdHRyaWJ1dGUg
b24gInRleHRhcmVhIiB0YWcgbWlzY291bnRzIGhhcmQgbmV3bGluZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0Njg2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0
cy90ZXh0YXJlYS1tYXhsZW5ndGguanM6IERvdWJsZXMgbWF4bGVuZ3RoIGZvciBjb3VudGluZyBM
RiBhcyB0d28gY2hhcnMuCisKIDIwMTEtMTItMTYgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFu
ZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIEdUSyByZWJhc2VsaW5lIGFuZCB0
ZXN0X2V4cGVjdGF0aW9ucyB1cGRhdGUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL3NjcmlwdC10ZXN0cy90ZXh0YXJlYS1tYXhsZW5ndGguanMgYi9MYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL3NjcmlwdC10ZXN0cy90ZXh0YXJlYS1tYXhsZW5ndGguanMKaW5kZXggNDQ3MjViZmVl
MTAwM2E3Mjg1NGY3YjczMTJmNDBhZjAxNGRlNDE2ZC4uZDJmZGNiMDg3N2FjZjcwN2M2YjUxY2Fi
MGQxZjEyZWI0NjY4MzFhMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3Jp
cHQtdGVzdHMvdGV4dGFyZWEtbWF4bGVuZ3RoLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvc2NyaXB0LXRlc3RzL3RleHRhcmVhLW1heGxlbmd0aC5qcwpAQCAtODIsNyArODIsNyBAQCBk
b2N1bWVudC5leGVjQ29tbWFuZCgnZGVsZXRlJyk7CiBzaG91bGRCZSgndGV4dEFyZWEudmFsdWUn
LCAnImFiY2RlIicpOwogCiAvLyBBIGxpbmVicmVhayBpcyAxIGNoYXJhY3Rlci4KLWNyZWF0ZUZv
Y3VzZWRUZXh0QXJlYVdpdGhNYXhMZW5ndGgoMyk7CitjcmVhdGVGb2N1c2VkVGV4dEFyZWFXaXRo
TWF4TGVuZ3RoKDQpOwogZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luc2VydFRleHQnLCBmYWxzZSwg
J0EnKTsKIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdpbnNlcnRMaW5lQnJlYWsnKTsKIGRvY3VtZW50
LmV4ZWNDb21tYW5kKCdpbnNlcnRUZXh0JywgZmFsc2UsICdCJyk7CkBAIC05NSw3ICs5NSw3IEBA
IGRvY3VtZW50LmV4ZWNDb21tYW5kKCdpbnNlcnRMaW5lQnJlYWsnKTsKIHNob3VsZEJlKCd0ZXh0
QXJlYS52YWx1ZScsICciYVxcblxcbiInKTsKIAogLy8gQ29uZmlybXMgY29ycmVjdCBjb3VudCBm
b3Igb3BlbiBjb25zZWN1dGl2ZSBsaW5lYnJlYWtzIGlucHV0cy4KLWNyZWF0ZUZvY3VzZWRUZXh0
QXJlYVdpdGhNYXhMZW5ndGgoMyk7CitjcmVhdGVGb2N1c2VkVGV4dEFyZWFXaXRoTWF4TGVuZ3Ro
KDYpOwogZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luc2VydExpbmVCcmVhaycpOwogZG9jdW1lbnQu
ZXhlY0NvbW1hbmQoJ2luc2VydExpbmVCcmVhaycpOwogZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2lu
c2VydExpbmVCcmVhaycpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>