<?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>79305</bug_id>
          
          <creation_ts>2012-02-22 16:53:11 -0800</creation_ts>
          <short_desc>REGRESSION(r99076): WebKit pastes the trailing newline into a single-line text field</short_desc>
          <delta_ts>2012-03-05 12:37:11 -0800</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>HasReduction</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>darin</cc>
    
    <cc>enrica</cc>
    
    <cc>leviw</cc>
    
    <cc>pkasting</cc>
    
    <cc>tkent</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>562565</commentid>
    <comment_count>0</comment_count>
      <attachid>128334</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-02-22 16:53:11 -0800</bug_when>
    <thetext>Created attachment 128334
demo

Reproduction steps:
1. Open the attachment
2. Select all in textarea
3. Copy
4. Paste in input

Expected result:
See &quot;abc def &quot; in the text field

Actual result:
Get &quot;abc def\n&quot; in the text field</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>562617</commentid>
    <comment_count>1</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-02-22 17:32:38 -0800</bug_when>
    <thetext>http://code.google.com/p/chromium/issues/detail?id=106551</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>562624</commentid>
    <comment_count>2</comment_count>
      <attachid>128348</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-02-22 17:37:10 -0800</bug_when>
    <thetext>Created attachment 128348
Fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>563185</commentid>
    <comment_count>3</comment_count>
      <attachid>128348</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-02-23 09:58:08 -0800</bug_when>
    <thetext>Comment on attachment 128348
Fixes the bug

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

&gt; Source/WebCore/editing/ReplaceSelectionCommand.cpp:188
&gt; +        // New lines may have been pruned by text field&apos;s before text inserted event.
&gt; +        m_hasInterchangeNewlineAtStart = false;
&gt; +        m_hasInterchangeNewlineAtEnd = false;

It looks like these can be set to true by removeInterchangeNodes().  Do we need to reset these values after the call to removeInterchangeNodes() 2 lines down?  I guess it&apos;s not obvious why we set the values at this spot.

&gt; LayoutTests/resources/dump-as-markup.js:242
&gt; +Markup._getShadowHostIfPossible = function (node, depth)

Nit: Remove the space between function and open parenthesis.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>563199</commentid>
    <comment_count>4</comment_count>
      <attachid>128348</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-02-23 10:16:51 -0800</bug_when>
    <thetext>Comment on attachment 128348
Fixes the bug

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

Thanks for the review.

&gt;&gt; Source/WebCore/editing/ReplaceSelectionCommand.cpp:188
&gt;&gt; +        m_hasInterchangeNewlineAtEnd = false;
&gt; 
&gt; It looks like these can be set to true by removeInterchangeNodes().  Do we need to reset these values after the call to removeInterchangeNodes() 2 lines down?  I guess it&apos;s not obvious why we set the values at this spot.

No. The point is that removeInterchangeNodes sets these variables to true but never resets to false when they should.

Okay, on my second thought, these resets should happen inside removeInterchangeNodes. Will move the assignments before lading the patch.

&gt;&gt; LayoutTests/resources/dump-as-markup.js:242
&gt;&gt; +Markup._getShadowHostIfPossible = function (node, depth)
&gt; 
&gt; Nit: Remove the space between function and open parenthesis.

Will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>563403</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-02-23 13:16:57 -0800</bug_when>
    <thetext>Committed r108668: &lt;http://trac.webkit.org/changeset/108668&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570953</commentid>
    <comment_count>6</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2012-03-05 12:37:11 -0800</bug_when>
    <thetext>*** Bug 78966 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>128334</attachid>
            <date>2012-02-22 16:53:11 -0800</date>
            <delta_ts>2012-02-22 16:53:11 -0800</delta_ts>
            <desc>demo</desc>
            <filename>issue106551.html</filename>
            <type>text/html</type>
            <size>336</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8Ym9keT4KPHRleHRhcmVhPmFiYwpkZWYKPC90ZXh0YXJl
YT4KPGlucHV0IHR5cGU9InRleHQiPgo8c2NyaXB0PgoKZG9jdW1lbnQucXVlcnlTZWxlY3Rvcign
dGV4dGFyZWEnKS5mb2N1cygpOwpkb2N1bWVudC5leGVjQ29tbWFuZCgnU2VsZWN0QWxsJywgZmFs
c2UsIG51bGwpOwpkb2N1bWVudC5leGVjQ29tbWFuZCgnQ29weScsIGZhbHNlLCBudWxsKTsKZG9j
dW1lbnQucXVlcnlTZWxlY3RvcignaW5wdXQnKS5mb2N1cygpOwpkb2N1bWVudC5leGVjQ29tbWFu
ZCgnUGFzdGUnLCBmYWxzZSwgbnVsbCk7Cgo8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128348</attachid>
            <date>2012-02-22 17:37:10 -0800</date>
            <delta_ts>2012-02-23 10:16:51 -0800</delta_ts>
            <desc>Fixes the bug</desc>
            <filename>bug-79305-20120222173709.patch</filename>
            <type>text/plain</type>
            <size>6154</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwODU4MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDEyLTAyLTIyICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFJFR1JFU1NJT04ocjk5MDc2KTog
V2ViS2l0IHBhc3RlcyB0aGUgdHJhaWxpbmcgbmV3bGluZSBpbnRvIGEgc2luZ2xlLWxpbmUgdGV4
dCBmaWVsZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzkzMDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGUgYnVnIHdhcyBjYXVzZWQgYnkgUmVwbGFjZW1lbnRGcmFnbWVudDo6bV9oYXNJbnRlcmNoYW5n
ZU5ld2xpbmVBdEVuZCBub3QgcmVzZXQgZXZlbiB3aGVuCisgICAgICAgIHRleHQgZmllbGQncyBi
ZWZvcmVUZXh0SW5zZXJ0ZWQgZXZlbnQgaGFuZGxlciByZW1vdmVkIGludGVyY2hhbmdlIG5ldyBs
aW5lcyBhdCB0aGUgZW5kLgorICAgICAgICBCZWNhdXNlIHRoZSBldmVudCBoYW5kbGVyIGlzIHJl
c3BvbnNpYmxlIGZvciB0cmltbWluZyBuZXcgbGluZXMsIHdlIG5lZWQgdG8gcmVjb21wdXRlIHRo
ZSB2YWx1ZXMKKyAgICAgICAgZm9yIG1faGFzSW50ZXJjaGFuZ2VOZXdsaW5lQXQqIGFmdGVyIHRo
ZSBldmVudCBkaXNwYXRjaC4KKworICAgICAgICBUZXN0OiBlZGl0aW5nL2lucHV0L3Bhc3RlLXRl
eHQtZW5kaW5nLXdpdGgtaW50ZXJjaGFuZ2UtbmV3bGluZS5odG1sCisKKyAgICAgICAgKiBlZGl0
aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlcGxh
Y2VtZW50RnJhZ21lbnQ6OlJlcGxhY2VtZW50RnJhZ21lbnQpOgorCiAyMDEyLTAyLTIyICBJYW4g
Vm9sbGljayAgPHZvbGxpY2tAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gUGx1
bWIgZnJvbSBHcmFwaGljc0xheWVyIHRvIHRoZSBjYyB0aHJlYWQgYW5pbWF0aW9uIGNvZGUKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1h
bmQuY3BwCShyZXZpc2lvbiAxMDg1NjIpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1JlcGxh
Y2VTZWxlY3Rpb25Db21tYW5kLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTgzLDYgKzE4MywxMCBA
QCBSZXBsYWNlbWVudEZyYWdtZW50OjpSZXBsYWNlbWVudEZyYWdtZW50CiAgICAgICAgIGlmICgh
bV9mcmFnbWVudC0+Zmlyc3RDaGlsZCgpKQogICAgICAgICAgICAgcmV0dXJuOwogCisgICAgICAg
IC8vIE5ldyBsaW5lcyBtYXkgaGF2ZSBiZWVuIHBydW5lZCBieSB0ZXh0IGZpZWxkJ3MgYmVmb3Jl
IHRleHQgaW5zZXJ0ZWQgZXZlbnQuCisgICAgICAgIG1faGFzSW50ZXJjaGFuZ2VOZXdsaW5lQXRT
dGFydCA9IGZhbHNlOworICAgICAgICBtX2hhc0ludGVyY2hhbmdlTmV3bGluZUF0RW5kID0gZmFs
c2U7CisKICAgICAgICAgaG9sZGVyID0gaW5zZXJ0RnJhZ21lbnRGb3JUZXN0UmVuZGVyaW5nKGVk
aXRhYmxlUm9vdC5nZXQoKSk7CiAgICAgICAgIHJlbW92ZUludGVyY2hhbmdlTm9kZXMoaG9sZGVy
LmdldCgpKTsKICAgICAgICAgcmVtb3ZlVW5yZW5kZXJlZE5vZGVzKGhvbGRlci5nZXQoKSk7Cklu
ZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxMDg1ODMpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAxMi0wMi0yMiAgUnlvc3VrZSBOaXdhICA8cm5p
d2FAd2Via2l0Lm9yZz4KKworICAgICAgICBSRUdSRVNTSU9OKHI5OTA3Nik6IFdlYktpdCBwYXN0
ZXMgdGhlIHRyYWlsaW5nIG5ld2xpbmUgaW50byBhIHNpbmdsZS1saW5lIHRleHQgZmllbGQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5MzA1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgcmVncmVz
c2lvbiB0ZXN0LiBBbHNvIG1ha2UgTWFya3VwLmR1bXAoKSBkdW1wIHRoZSBzaGFkb3cgRE9NIG9m
IHRoZSBzcGVjaWZpZmVkIG5vZGUuCisKKyAgICAgICAgKiBlZGl0aW5nL2lucHV0L3Bhc3RlLXRl
eHQtZW5kaW5nLXdpdGgtaW50ZXJjaGFuZ2UtbmV3bGluZS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGVkaXRpbmcvaW5wdXQvcGFzdGUtdGV4dC1lbmRpbmctd2l0aC1pbnRlcmNoYW5n
ZS1uZXdsaW5lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHJlc291cmNlcy9kdW1wLWFzLW1hcmt1
cC5qczoKKyAgICAgICAgKE1hcmt1cC5fZ2V0KToKKyAgICAgICAgKE1hcmt1cC5fZ2V0U2hhZG93
SG9zdElmUG9zc2libGUpOgorCiAyMDEyLTAyLTIyICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJh
Y2xvdWdoQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgW1tEZWZpbmVPd25Qcm9wZXJ0
eV1dIGZvciB0aGUgYXJndW1lbnRzIG9iamVjdApJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9p
bnB1dC9wYXN0ZS10ZXh0LWVuZGluZy13aXRoLWludGVyY2hhbmdlLW5ld2xpbmUtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvcGFzdGUtdGV4dC1l
bmRpbmctd2l0aC1pbnRlcmNoYW5nZS1uZXdsaW5lLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvcGFzdGUtdGV4dC1lbmRpbmctd2l0aC1pbnRl
cmNoYW5nZS1uZXdsaW5lLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0IEBA
CitUaGlzIHRlc3RzIHBhc3RpbmcgYSB0ZXh0IHdpdGggYW4gaW50ZXJjaGFuZ2UgbmV3IGxpbmUg
YXQgdGhlIGVuZC4gV2ViS2l0IHNob3VsZG4ndCBpbnNlcnQgYSBuZXcgbGluZS4KK3wgICA8c2hh
ZG93OnJvb3Q+Cit8ICAgICA8ZGl2PgorfCAgICAgICAiYWJjIGRlZiAiCkluZGV4OiBMYXlvdXRU
ZXN0cy9lZGl0aW5nL2lucHV0L3Bhc3RlLXRleHQtZW5kaW5nLXdpdGgtaW50ZXJjaGFuZ2UtbmV3
bGluZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvcGFzdGUt
dGV4dC1lbmRpbmctd2l0aC1pbnRlcmNoYW5nZS1uZXdsaW5lLmh0bWwJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L3Bhc3RlLXRleHQtZW5kaW5nLXdpdGgtaW50ZXJj
aGFuZ2UtbmV3bGluZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI3IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGJvZHk+Cis8dGV4dGFyZWE+YWJjCitkZWYKKzwvdGV4dGFyZWE+
Cis8aW5wdXQgdHlwZT0idGV4dCI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAt
YXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2lmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCitk
b2N1bWVudC5xdWVyeVNlbGVjdG9yKCd0ZXh0YXJlYScpLmZvY3VzKCk7Citkb2N1bWVudC5leGVj
Q29tbWFuZCgnU2VsZWN0QWxsJywgZmFsc2UsIG51bGwpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQo
J0NvcHknLCBmYWxzZSwgbnVsbCk7CisKK3ZhciBpbnB1dCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0
b3IoJ2lucHV0Jyk7CitpbnB1dC5mb2N1cygpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ1Bhc3Rl
JywgZmFsc2UsIG51bGwpOworCitNYXJrdXAuZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgcGFzdGlu
ZyBhIHRleHQgd2l0aCBhbiBpbnRlcmNoYW5nZSBuZXcgbGluZSBhdCB0aGUgZW5kLiBXZWJLaXQg
c2hvdWxkbid0IGluc2VydCBhIG5ldyBsaW5lLiIpOworTWFya3VwLmR1bXAoaW5wdXQpOworCis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3Jlc291cmNlcy9k
dW1wLWFzLW1hcmt1cC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9yZXNvdXJjZXMvZHVt
cC1hcy1tYXJrdXAuanMJKHJldmlzaW9uIDEwODU2MikKKysrIExheW91dFRlc3RzL3Jlc291cmNl
cy9kdW1wLWFzLW1hcmt1cC5qcwkod29ya2luZyBjb3B5KQpAQCAtMTI2LDE0ICsxMjYsMTYgQEAg
TWFya3VwLnVzZUhUTUw1bGliT3V0cHV0Rm9ybWF0ID0gZnVuY3RpbwogCiBNYXJrdXAuZ2V0ID0g
ZnVuY3Rpb24obm9kZSkKIHsKKyAgICB2YXIgbWFya3VwID0gTWFya3VwLl9nZXRTaGFkb3dIb3N0
SWZQb3NzaWJsZShub2RlLCAwKTsKKyAgICBpZiAobWFya3VwKQorICAgICAgICByZXR1cm4gbWFy
a3VwLnN1YnN0cmluZygxKTsKKwogICAgIGlmICghbm9kZS5maXJzdENoaWxkKQogICAgICAgICBy
ZXR1cm4gJ3wgJzsKIAogICAgIC8vIERvbid0IHByaW50IGFueSBtYXJrdXAgZm9yIHRoZSByb290
IG5vZGUuCi0gICAgdmFyIG1hcmt1cCA9ICcnOwotICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBu
b2RlLmNoaWxkTm9kZXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHsKKyAgICBmb3IgKHZhciBpID0g
MCwgbGVuID0gbm9kZS5jaGlsZE5vZGVzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKQogICAgICAgICBt
YXJrdXAgKz0gTWFya3VwLl9nZXQobm9kZS5jaGlsZE5vZGVzW2ldLCAwKTsKLSAgICB9CiAgICAg
cmV0dXJuIG1hcmt1cC5zdWJzdHJpbmcoMSk7CiB9CiAKQEAgLTIyOCwxMSArMjMwLDcgQEAgTWFy
a3VwLl9nZXQgPSBmdW5jdGlvbihub2RlLCBkZXB0aCkKICAgICAgICAgc3RyICs9IE1hcmt1cC5f
Z2V0KG5vZGUuY2hpbGROb2Rlc1tpXSwgZGVwdGggKyAxKTsKICAgICB9CiAKLSAgICBpZiAoIU1h
cmt1cC5fdXNlSFRNTDVsaWJPdXRwdXRGb3JtYXQgJiYgbm9kZS5ub2RlVHlwZSA9PSBOb2RlLkVM
RU1FTlRfTk9ERSAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgIHZhciByb290ID0gd2lu
ZG93LmludGVybmFscy5zaGFkb3dSb290KG5vZGUpOwotICAgICAgICBpZiAocm9vdCkKLSAgICAg
ICAgICAgIHN0ciArPSBNYXJrdXAuX2dldChyb290LCBkZXB0aCArIDEpOwotICAgIH0KKyAgICBz
dHIgKz0gTWFya3VwLl9nZXRTaGFkb3dIb3N0SWZQb3NzaWJsZShub2RlLCBkZXB0aCk7CiAgICAg
CiAgICAgdmFyIHNlbGVjdGlvbiA9IE1hcmt1cC5fZ2V0U2VsZWN0aW9uTWFya2VyKG5vZGUsIGkp
OwogICAgIGlmIChzZWxlY3Rpb24pCkBAIC0yNDEsNiArMjM5LDE2IEBAIE1hcmt1cC5fZ2V0ID0g
ZnVuY3Rpb24obm9kZSwgZGVwdGgpCiAgICAgcmV0dXJuIHN0cjsKIH0KIAorTWFya3VwLl9nZXRT
aGFkb3dIb3N0SWZQb3NzaWJsZSA9IGZ1bmN0aW9uIChub2RlLCBkZXB0aCkKK3sKKyAgICBpZiAo
IU1hcmt1cC5fdXNlSFRNTDVsaWJPdXRwdXRGb3JtYXQgJiYgbm9kZS5ub2RlVHlwZSA9PSBOb2Rl
LkVMRU1FTlRfTk9ERSAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIHZhciByb290ID0g
d2luZG93LmludGVybmFscy5zaGFkb3dSb290KG5vZGUpOworICAgICAgICBpZiAocm9vdCkKKyAg
ICAgICAgICAgIHJldHVybiBNYXJrdXAuX2dldChyb290LCBkZXB0aCArIDEpOworICAgIH0KKyAg
ICByZXR1cm4gJyc7Cit9CisKIE1hcmt1cC5fbmFtZXNwYWNlID0gZnVuY3Rpb24obm9kZSkKIHsK
ICAgICBpZiAoTWFya3VwLl9OQU1FU1BBQ0VfVVJJX01BUFtub2RlLm5hbWVzcGFjZVVSSV0pCg==
</data>
<flag name="review"
          id="130700"
          type_id="1"
          status="+"
          setter="tony"
    />
          </attachment>
      

    </bug>

</bugzilla>