<?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>58449</bug_id>
          
          <creation_ts>2011-04-13 09:30:38 -0700</creation_ts>
          <short_desc>Web Inspector: TextViewer and TextEditorModel must support both \n and \r\n as line separators</short_desc>
          <delta_ts>2011-04-15 09:30:12 -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>Web Inspector (Deprecated)</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>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Alexander Pavlov (apavlov)">apavlov</reporter>
          <assigned_to name="Andrey Adaikin">aandrey</assigned_to>
          <cc>aandrey</cc>
    
    <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>commit-queue</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>384944</commentid>
    <comment_count>0</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2011-04-13 09:30:38 -0700</bug_when>
    <thetext>Currently the text editor relies on \n being the only line separator. DOS files have \r\n as line separators, and they should be preserved when the text is retrieved from the text editor (e.g. when saving edited stylesheets).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385667</commentid>
    <comment_count>1</comment_count>
      <attachid>89560</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2011-04-14 05:26:02 -0700</bug_when>
    <thetext>Created attachment 89560
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385672</commentid>
    <comment_count>2</comment_count>
      <attachid>89560</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2011-04-14 05:34:17 -0700</bug_when>
    <thetext>Comment on attachment 89560
Patch

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

&gt; Source/WebCore/inspector/front-end/SourceFrame.js:40
&gt; +    this._textModel.useWindowsLineBreaks = (WebInspector.platform === &quot;windows&quot;);

You seem to detect the line break model based on the client OS, while a browser can load pages authored on any OS. You should analyze the input to detect the input document line break model instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385714</commentid>
    <comment_count>3</comment_count>
      <attachid>89573</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2011-04-14 06:28:51 -0700</bug_when>
    <thetext>Created attachment 89573
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385736</commentid>
    <comment_count>4</comment_count>
      <attachid>89573</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2011-04-14 06:58:19 -0700</bug_when>
    <thetext>Comment on attachment 89573
Patch

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

Looks good, with one comment.

&gt; Source/WebCore/inspector/front-end/TextEditorModel.js:119
&gt; +        var newLines = text.split(/\r?\n/);

Why not this._lineBreak ? It would be consistent with the &quot;join&quot; counterpart calls below.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385743</commentid>
    <comment_count>5</comment_count>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2011-04-14 07:12:11 -0700</bug_when>
    <thetext>Just to deal with weird cases of mixed line breaks, if any. We never want invisible chars (like \r) to appear in the text editor, because there will be editing artefacts, like deleting zero-width invisible characters...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385747</commentid>
    <comment_count>6</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2011-04-14 07:18:02 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Just to deal with weird cases of mixed line breaks, if any. We never want invisible chars (like \r) to appear in the text editor, because there will be editing artefacts, like deleting zero-width invisible characters...

I get it. Fair point. Waiting for someone to r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386671</commentid>
    <comment_count>7</comment_count>
      <attachid>89573</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-15 09:30:01 -0700</bug_when>
    <thetext>Comment on attachment 89573
Patch

Clearing flags on attachment: 89573

Committed r83983: &lt;http://trac.webkit.org/changeset/83983&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386672</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-15 09:30:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89560</attachid>
            <date>2011-04-14 05:26:02 -0700</date>
            <delta_ts>2011-04-14 06:28:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58449-20110414162558.patch</filename>
            <type>text/plain</type>
            <size>6791</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODM4MjEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzNzk0ZmRiNzY2MTlmM2JjNGQyYTFj
M2VmN2UzNzExMzJjOTNhY2M3Li4yZjY0NmJhNTc0M2E1ZTNlYWJhOWM3OTRmNmY0Y2I3NDFhOTZj
YTU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDQtMTQgIEFuZHJleSBBZGFpa2luICA8
YWFuZHJleUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFRleHRWaWV3ZXIgYW5kIFRleHRFZGl0b3JNb2Rl
bCBtdXN0IHN1cHBvcnQgYm90aCBcbiBhbmQgXHJcbiBhcyBsaW5lIHNlcGFyYXRvcnMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU4NDQ5CisKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLW1vZGVsLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogaW5zcGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1tb2RlbC5odG1sOiBB
ZGRlZC4KKwogMjAxMS0wNC0xNCAgUmVuYXRhIEhvZG92YW4gIDxyZW5pQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgTmlrb2xhcyBaaW1tZXJtYW5uLgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1tb2RlbC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLW1vZGVsLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mMjI5N2M5ZmE3MGIxZWU0ODk5MzdlNDZhYTkwMzM1M2IwMjgzNmZl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VkaXRvci90ZXh0LWVk
aXRvci1tb2RlbC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoZSB0ZXh0IGVkaXRvciBtb2RlbC4KKworTGluZXM6NCwgbGVuZ3RoOjUsIGlucHV0IGVxdWFs
cyBvdXRwdXQ6dHJ1ZQorTGluZXM6NCwgbGVuZ3RoOjgsIGlucHV0IGVxdWFscyBvdXRwdXQ6ZmFs
c2UKK0xpbmVzOjQsIGxlbmd0aDo1LCBpbnB1dCBlcXVhbHMgb3V0cHV0OmZhbHNlCitMaW5lczo0
LCBsZW5ndGg6OCwgaW5wdXQgZXF1YWxzIG91dHB1dDp0cnVlCitMaW5lczo0LCBsZW5ndGg6NSwg
aW5wdXQgZXF1YWxzIG91dHB1dDpmYWxzZQorTGluZXM6NCwgbGVuZ3RoOjgsIGlucHV0IGVxdWFs
cyBvdXRwdXQ6ZmFsc2UKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VkaXRv
ci90ZXh0LWVkaXRvci1tb2RlbC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VkaXRvci90
ZXh0LWVkaXRvci1tb2RlbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM1ZjczZDJjODlhMWNhYTQwZTY3MDQy
OGNiZDE0NjM2MmJlY2ZmM2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZWRpdG9yL3RleHQtZWRpdG9yLW1vZGVsLmh0bWwKQEAgLTAsMCArMSwzNyBAQAorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0
b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAg
ICBmdW5jdGlvbiBjcmVhdGVBbmREdW1wVGV4dE1vZGVsKHRleHQsIHdpbkxpbmVCcmVha3MpCisg
ICAgeworICAgICAgICB2YXIgdGV4dE1vZGVsID0gbmV3IFdlYkluc3BlY3Rvci5UZXh0RWRpdG9y
TW9kZWwoKTsKKyAgICAgICAgdGV4dE1vZGVsLnVzZVdpbmRvd3NMaW5lQnJlYWtzID0gd2luTGlu
ZUJyZWFrczsKKyAgICAgICAgdGV4dE1vZGVsLnNldFRleHQobnVsbCwgdGV4dCk7CisgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJMaW5lczoiICsgdGV4dE1vZGVsLmxpbmVzQ291bnQg
KyAiLCBsZW5ndGg6IiArIHRleHRNb2RlbC50ZXh0Lmxlbmd0aCArICIsIGlucHV0IGVxdWFscyBv
dXRwdXQ6IiArICh0ZXh0TW9kZWwudGV4dCA9PT0gdGV4dCkpOworICAgIH0KKworICAgIGNyZWF0
ZUFuZER1bXBUZXh0TW9kZWwoIjFcbjJcblxuIiwgZmFsc2UpOworICAgIGNyZWF0ZUFuZER1bXBU
ZXh0TW9kZWwoIjFcbjJcblxuIiwgdHJ1ZSk7CisKKyAgICBjcmVhdGVBbmREdW1wVGV4dE1vZGVs
KCIxXHJcbjJcclxuXHJcbiIsIGZhbHNlKTsKKyAgICBjcmVhdGVBbmREdW1wVGV4dE1vZGVsKCIx
XHJcbjJcclxuXHJcbiIsIHRydWUpOworCisgICAgY3JlYXRlQW5kRHVtcFRleHRNb2RlbCgiMVxu
MlxuXHJcbiIsIGZhbHNlKTsKKyAgICBjcmVhdGVBbmREdW1wVGV4dE1vZGVsKCIxXG4yXG5cclxu
IiwgdHJ1ZSk7CisKKyAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworfQorCis8L3Nj
cmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUaGlzIHRl
c3QgY2hlY2tzIHRoZSB0ZXh0IGVkaXRvciBtb2RlbC4KKzwvcD4KKworPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IDUxOTFjZDk4MDU2ZjQ0ZDlhMDU4NzE3NDI0ODQ0M2E1NDQ0MDQ4ZTEu
LmI1MmIwNDU2NTY4MGZkMmQxNWNmMGJlODM4MmQwYTIwNmEwNDMwMTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyMSBAQAorMjAxMS0wNC0xNCAgQW5kcmV5IEFkYWlraW4gIDxhYW5kcmV5QGdvb2ds
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
V2ViIEluc3BlY3RvcjogVGV4dFZpZXdlciBhbmQgVGV4dEVkaXRvck1vZGVsIG11c3Qgc3VwcG9y
dCBib3RoIFxuIGFuZCBcclxuIGFzIGxpbmUgc2VwYXJhdG9ycworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTg0NDkKKworICAgICAgICBUZXN0OiBpbnNw
ZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLW1vZGVsLmh0bWwKKworICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvU291cmNlRnJhbWUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNl
RnJhbWUpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVGV4dEVkaXRvck1vZGVsLmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNb2RlbCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuVGV4dEVkaXRvck1vZGVsLnByb3RvdHlwZS5nZXQgdGV4dCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1vZGVsLnByb3RvdHlwZS5zZXQgdXNlV2luZG93c0xpbmVC
cmVha3MpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNb2RlbC5wcm90b3R5cGUu
X2lubmVyU2V0VGV4dCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1vZGVsLnBy
b3RvdHlwZS5jb3B5UmFuZ2UpOgorCiAyMDExLTA0LTE0ICBSZW5hdGEgSG9kb3ZhbiAgPHJlbmlA
d2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBOaWtvbGFzIFppbW1lcm1hbm4uCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUZyYW1l
LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VGcmFtZS5qcwpp
bmRleCBmNzAyODBkODgzMzQ2NTJmZTE3YzBhZjg5Y2NjZWMwNmVkZTlhMzk2Li5kMDU3MWZmYjUy
MGJlODQxODhiOTRmYzgyNDNmNmI0ZDdmYzhkYmJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUZyYW1lLmpzCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlRnJhbWUuanMKQEAgLTM3LDYgKzM3LDcgQEAgV2Vi
SW5zcGVjdG9yLlNvdXJjZUZyYW1lID0gZnVuY3Rpb24oZGVsZWdhdGUsIHVybCkKIAogICAgIHRo
aXMuX3RleHRNb2RlbCA9IG5ldyBXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1vZGVsKCk7CiAgICAg
dGhpcy5fdGV4dE1vZGVsLnJlcGxhY2VUYWJzV2l0aFNwYWNlcyA9IHRydWU7CisgICAgdGhpcy5f
dGV4dE1vZGVsLnVzZVdpbmRvd3NMaW5lQnJlYWtzID0gKFdlYkluc3BlY3Rvci5wbGF0Zm9ybSA9
PT0gIndpbmRvd3MiKTsKIAogICAgIHRoaXMuX3RleHRWaWV3ZXIgPSBuZXcgV2ViSW5zcGVjdG9y
LlRleHRWaWV3ZXIodGhpcy5fdGV4dE1vZGVsLCBXZWJJbnNwZWN0b3IucGxhdGZvcm0sIHRoaXMu
X3VybCwgdGhpcyk7CiAgICAgdGhpcy5fdGV4dFZpZXdlci5lbGVtZW50LmFkZFN0eWxlQ2xhc3Mo
InNjcmlwdC12aWV3Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1RleHRFZGl0b3JNb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvVGV4dEVkaXRvck1vZGVsLmpzCmluZGV4IDJhMWUzNTNiYjkwNDZiZWMwYWJiNWFhNDVj
MDE0ZTc1ZWMzNGY3MGIuLmJmZWZhMTVlNTZhNzcyOTg5NjJkYTcwNGU1ZWU5N2E5OWQwMmRkNzkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGV4dEVkaXRv
ck1vZGVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGV4dEVk
aXRvck1vZGVsLmpzCkBAIC01OSw2ICs1OSw3IEBAIFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTW9k
ZWwgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5fYXR0cmlidXRlcyA9IFtdOwogICAgIHRoaXMuX3Vu
ZG9TdGFjayA9IFtdOwogICAgIHRoaXMuX25vUHVuY3R1YXRpb25SZWdleCA9IC9bXiAhJSYoKSor
LC0uOjs8PT4/XFtcXVxee3x9fl0rLzsKKyAgICB0aGlzLl9saW5lQnJlYWsgPSAiXG4iOwogfQog
CiBXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1vZGVsLnByb3RvdHlwZSA9IHsKQEAgLTc0LDcgKzc1
LDcgQEAgV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNb2RlbC5wcm90b3R5cGUgPSB7CiAKICAgICBn
ZXQgdGV4dCgpCiAgICAgewotICAgICAgICByZXR1cm4gdGhpcy5fbGluZXMuam9pbigiXG4iKTsK
KyAgICAgICAgcmV0dXJuIHRoaXMuX2xpbmVzLmpvaW4odGhpcy5fbGluZUJyZWFrKTsKICAgICB9
LAogCiAgICAgbGluZTogZnVuY3Rpb24obGluZU51bWJlcikKQEAgLTEwNywxMyArMTA4LDE4IEBA
IFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTW9kZWwucHJvdG90eXBlID0gewogICAgICAgICB0aGlz
Ll9yZXBsYWNlVGFic1dpdGhTcGFjZXMgPSByZXBsYWNlVGFic1dpdGhTcGFjZXM7CiAgICAgfSwK
IAorICAgIHNldCB1c2VXaW5kb3dzTGluZUJyZWFrcyh1c2VXaW5kb3dzTGluZUJyZWFrcykKKyAg
ICB7CisgICAgICAgIHRoaXMuX2xpbmVCcmVhayA9IHVzZVdpbmRvd3NMaW5lQnJlYWtzID8gIlxy
XG4iIDogIlxuIjsKKyAgICB9LAorCiAgICAgX2lubmVyU2V0VGV4dDogZnVuY3Rpb24ocmFuZ2Us
IHRleHQpCiAgICAgewogICAgICAgICB0aGlzLl9lcmFzZVJhbmdlKHJhbmdlKTsKICAgICAgICAg
aWYgKHRleHQgPT09ICIiKQogICAgICAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuVGV4
dFJhbmdlKHJhbmdlLnN0YXJ0TGluZSwgcmFuZ2Uuc3RhcnRDb2x1bW4sIHJhbmdlLnN0YXJ0TGlu
ZSwgcmFuZ2Uuc3RhcnRDb2x1bW4pOwogCi0gICAgICAgIHZhciBuZXdMaW5lcyA9IHRleHQuc3Bs
aXQoIlxuIik7CisgICAgICAgIHZhciBuZXdMaW5lcyA9IHRleHQuc3BsaXQoL1xyP1xuLyk7CiAg
ICAgICAgIHRoaXMuX3JlcGxhY2VUYWJzSWZOZWVkZWQobmV3TGluZXMpOwogCiAgICAgICAgIHZh
ciBwcmVmaXggPSB0aGlzLl9saW5lc1tyYW5nZS5zdGFydExpbmVdLnN1YnN0cmluZygwLCByYW5n
ZS5zdGFydENvbHVtbik7CkBAIC0yMTAsMTMgKzIxNiwxMyBAQCBXZWJJbnNwZWN0b3IuVGV4dEVk
aXRvck1vZGVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIGNsaXAgPSBbXTsKICAgICAgICAg
aWYgKHJhbmdlLnN0YXJ0TGluZSA9PT0gcmFuZ2UuZW5kTGluZSkgewogICAgICAgICAgICAgY2xp
cC5wdXNoKHRoaXMuX2xpbmVzW3JhbmdlLnN0YXJ0TGluZV0uc3Vic3RyaW5nKHJhbmdlLnN0YXJ0
Q29sdW1uLCByYW5nZS5lbmRDb2x1bW4pKTsKLSAgICAgICAgICAgIHJldHVybiBjbGlwLmpvaW4o
IlxuIik7CisgICAgICAgICAgICByZXR1cm4gY2xpcC5qb2luKHRoaXMuX2xpbmVCcmVhayk7CiAg
ICAgICAgIH0KICAgICAgICAgY2xpcC5wdXNoKHRoaXMuX2xpbmVzW3JhbmdlLnN0YXJ0TGluZV0u
c3Vic3RyaW5nKHJhbmdlLnN0YXJ0Q29sdW1uKSk7CiAgICAgICAgIGZvciAodmFyIGkgPSByYW5n
ZS5zdGFydExpbmUgKyAxOyBpIDwgcmFuZ2UuZW5kTGluZTsgKytpKQogICAgICAgICAgICAgY2xp
cC5wdXNoKHRoaXMuX2xpbmVzW2ldKTsKICAgICAgICAgY2xpcC5wdXNoKHRoaXMuX2xpbmVzW3Jh
bmdlLmVuZExpbmVdLnN1YnN0cmluZygwLCByYW5nZS5lbmRDb2x1bW4pKTsKLSAgICAgICAgcmV0
dXJuIGNsaXAuam9pbigiXG4iKTsKKyAgICAgICAgcmV0dXJuIGNsaXAuam9pbih0aGlzLl9saW5l
QnJlYWspOwogICAgIH0sCiAKICAgICBzZXRBdHRyaWJ1dGU6IGZ1bmN0aW9uKGxpbmUsIG5hbWUs
IHZhbHVlKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89573</attachid>
            <date>2011-04-14 06:28:51 -0700</date>
            <delta_ts>2011-04-15 09:30:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58449-20110414172849.patch</filename>
            <type>text/plain</type>
            <size>5857</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODM4MjEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzNzk0ZmRiNzY2MTlmM2JjNGQyYTFj
M2VmN2UzNzExMzJjOTNhY2M3Li4yZjY0NmJhNTc0M2E1ZTNlYWJhOWM3OTRmNmY0Y2I3NDFhOTZj
YTU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDQtMTQgIEFuZHJleSBBZGFpa2luICA8
YWFuZHJleUBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFRleHRWaWV3ZXIgYW5kIFRleHRFZGl0b3JNb2Rl
bCBtdXN0IHN1cHBvcnQgYm90aCBcbiBhbmQgXHJcbiBhcyBsaW5lIHNlcGFyYXRvcnMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU4NDQ5CisKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLW1vZGVsLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogaW5zcGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1tb2RlbC5odG1sOiBB
ZGRlZC4KKwogMjAxMS0wNC0xNCAgUmVuYXRhIEhvZG92YW4gIDxyZW5pQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgTmlrb2xhcyBaaW1tZXJtYW5uLgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1tb2RlbC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLW1vZGVsLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMGRlNWYwZjllZWZmYzViZTAwMWRmNTdiNjMyNTBlYjNmNzdlMjg2
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VkaXRvci90ZXh0LWVk
aXRvci1tb2RlbC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitUaGlzIHRlc3QgY2hlY2tz
IHRoZSB0ZXh0IGVkaXRvciBtb2RlbC4KKworTGluZXM6NCwgbGVuZ3RoOjUsIGlucHV0IGVxdWFs
cyBvdXRwdXQ6dHJ1ZQorTGluZXM6NCwgbGVuZ3RoOjgsIGlucHV0IGVxdWFscyBvdXRwdXQ6dHJ1
ZQorTGluZXM6NCwgbGVuZ3RoOjgsIGlucHV0IGVxdWFscyBvdXRwdXQ6ZmFsc2UKK0xpbmVzOjEs
IGxlbmd0aDoxNCwgaW5wdXQgZXF1YWxzIG91dHB1dDp0cnVlCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9lZGl0b3IvdGV4dC1lZGl0b3ItbW9kZWwuaHRtbCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci9lZGl0b3IvdGV4dC1lZGl0b3ItbW9kZWwuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
NGVjZTkwNDE5OTg2ODg5NjUxMTZlZDM1YmUyNWY3YTRjODFjOTQ0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1tb2RlbC5odG1sCkBA
IC0wLDAgKzEsMzIgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90
ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKwor
ZnVuY3Rpb24gdGVzdCgpCit7CisgICAgZnVuY3Rpb24gY3JlYXRlQW5kRHVtcFRleHRNb2RlbCh0
ZXh0KQorICAgIHsKKyAgICAgICAgdmFyIHRleHRNb2RlbCA9IG5ldyBXZWJJbnNwZWN0b3IuVGV4
dEVkaXRvck1vZGVsKCk7CisgICAgICAgIHRleHRNb2RlbC5zZXRUZXh0KG51bGwsIHRleHQpOwor
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiTGluZXM6IiArIHRleHRNb2RlbC5saW5l
c0NvdW50ICsgIiwgbGVuZ3RoOiIgKyB0ZXh0TW9kZWwudGV4dC5sZW5ndGggKyAiLCBpbnB1dCBl
cXVhbHMgb3V0cHV0OiIgKyAodGV4dE1vZGVsLnRleHQgPT09IHRleHQpKTsKKyAgICB9CisKKyAg
ICBjcmVhdGVBbmREdW1wVGV4dE1vZGVsKCIxXG4yXG5cbiIpOworICAgIGNyZWF0ZUFuZER1bXBU
ZXh0TW9kZWwoIjFcclxuMlxyXG5cclxuIik7CisgICAgY3JlYXRlQW5kRHVtcFRleHRNb2RlbCgi
MVxuMlxuXHJcbiIpOworICAgIGNyZWF0ZUFuZER1bXBUZXh0TW9kZWwoIm5vIGxpbmUgYnJlYWtz
Iik7CisKKyAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOworfQorCis8L3NjcmlwdD4K
KzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHA+CitUaGlzIHRlc3QgY2hl
Y2tzIHRoZSB0ZXh0IGVkaXRvciBtb2RlbC4KKzwvcD4KKworPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDUxOTFjZDk4MDU2ZjQ0ZDlhMDU4NzE3NDI0ODQ0M2E1NDQ0MDQ4ZTEuLjg0NmVk
Nzg1MGVhNTYxNzBjNzQyNjQ1ZDhlNWE1OTQzYmU1Mzg4OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxOSBAQAorMjAxMS0wNC0xNCAgQW5kcmV5IEFkYWlraW4gIDxhYW5kcmV5QGdvb2dsZS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIElu
c3BlY3RvcjogVGV4dFZpZXdlciBhbmQgVGV4dEVkaXRvck1vZGVsIG11c3Qgc3VwcG9ydCBib3Ro
IFxuIGFuZCBcclxuIGFzIGxpbmUgc2VwYXJhdG9ycworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTg0NDkKKworICAgICAgICBUZXN0OiBpbnNwZWN0b3Iv
ZWRpdG9yL3RleHQtZWRpdG9yLW1vZGVsLmh0bWwKKworICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvVGV4dEVkaXRvck1vZGVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRFZGl0
b3JNb2RlbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1vZGVsLnByb3RvdHlw
ZS5nZXQgdGV4dCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1vZGVsLnByb3Rv
dHlwZS5zZXRUZXh0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTW9kZWwucHJv
dG90eXBlLl9pbm5lclNldFRleHQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JN
b2RlbC5wcm90b3R5cGUuY29weVJhbmdlKToKKwogMjAxMS0wNC0xNCAgUmVuYXRhIEhvZG92YW4g
IDxyZW5pQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTmlrb2xhcyBaaW1tZXJt
YW5uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0
RWRpdG9yTW9kZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRF
ZGl0b3JNb2RlbC5qcwppbmRleCAyYTFlMzUzYmI5MDQ2YmVjMGFiYjVhYTQ1YzAxNGU3NWVjMzRm
NzBiLi5kNzU3MjdiYzNjYjNiMjgxNmMzZDIyMWZiNTE0NTNkZTE4NDk2ZjI1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRFZGl0b3JNb2RlbC5qcwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRFZGl0b3JNb2RlbC5q
cwpAQCAtNTksNiArNTksNyBAQCBXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1vZGVsID0gZnVuY3Rp
b24oKQogICAgIHRoaXMuX2F0dHJpYnV0ZXMgPSBbXTsKICAgICB0aGlzLl91bmRvU3RhY2sgPSBb
XTsKICAgICB0aGlzLl9ub1B1bmN0dWF0aW9uUmVnZXggPSAvW14gISUmKCkqKywtLjo7PD0+P1xb
XF1cXnt8fX5dKy87CisgICAgdGhpcy5fbGluZUJyZWFrID0gIlxuIjsKIH0KIAogV2ViSW5zcGVj
dG9yLlRleHRFZGl0b3JNb2RlbC5wcm90b3R5cGUgPSB7CkBAIC03NCw3ICs3NSw3IEBAIFdlYklu
c3BlY3Rvci5UZXh0RWRpdG9yTW9kZWwucHJvdG90eXBlID0gewogCiAgICAgZ2V0IHRleHQoKQog
ICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2xpbmVzLmpvaW4oIlxuIik7CisgICAgICAgIHJl
dHVybiB0aGlzLl9saW5lcy5qb2luKHRoaXMuX2xpbmVCcmVhayk7CiAgICAgfSwKIAogICAgIGxp
bmU6IGZ1bmN0aW9uKGxpbmVOdW1iZXIpCkBAIC05MSw4ICs5MiwxMCBAQCBXZWJJbnNwZWN0b3Iu
VGV4dEVkaXRvck1vZGVsLnByb3RvdHlwZSA9IHsKIAogICAgIHNldFRleHQ6IGZ1bmN0aW9uKHJh
bmdlLCB0ZXh0KQogICAgIHsKLSAgICAgICAgaWYgKCFyYW5nZSkKKyAgICAgICAgaWYgKCFyYW5n
ZSkgewogICAgICAgICAgICAgcmFuZ2UgPSBuZXcgV2ViSW5zcGVjdG9yLlRleHRSYW5nZSgwLCAw
LCB0aGlzLl9saW5lcy5sZW5ndGggLSAxLCB0aGlzLl9saW5lc1t0aGlzLl9saW5lcy5sZW5ndGgg
LSAxXS5sZW5ndGgpOworICAgICAgICAgICAgdGhpcy5fbGluZUJyZWFrID0gL1xyXG4vLnRlc3Qo
dGV4dCkgPyAiXHJcbiIgOiAiXG4iOworICAgICAgICB9CiAgICAgICAgIHZhciBjb21tYW5kID0g
dGhpcy5fcHVzaFVuZG9hYmxlQ29tbWFuZChyYW5nZSk7CiAgICAgICAgIHZhciBuZXdSYW5nZSA9
IHRoaXMuX2lubmVyU2V0VGV4dChyYW5nZSwgdGV4dCk7CiAgICAgICAgIGNvbW1hbmQucmFuZ2Ug
PSBuZXdSYW5nZS5jbG9uZSgpOwpAQCAtMTEzLDcgKzExNiw3IEBAIFdlYkluc3BlY3Rvci5UZXh0
RWRpdG9yTW9kZWwucHJvdG90eXBlID0gewogICAgICAgICBpZiAodGV4dCA9PT0gIiIpCiAgICAg
ICAgICAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5UZXh0UmFuZ2UocmFuZ2Uuc3RhcnRMaW5l
LCByYW5nZS5zdGFydENvbHVtbiwgcmFuZ2Uuc3RhcnRMaW5lLCByYW5nZS5zdGFydENvbHVtbik7
CiAKLSAgICAgICAgdmFyIG5ld0xpbmVzID0gdGV4dC5zcGxpdCgiXG4iKTsKKyAgICAgICAgdmFy
IG5ld0xpbmVzID0gdGV4dC5zcGxpdCgvXHI/XG4vKTsKICAgICAgICAgdGhpcy5fcmVwbGFjZVRh
YnNJZk5lZWRlZChuZXdMaW5lcyk7CiAKICAgICAgICAgdmFyIHByZWZpeCA9IHRoaXMuX2xpbmVz
W3JhbmdlLnN0YXJ0TGluZV0uc3Vic3RyaW5nKDAsIHJhbmdlLnN0YXJ0Q29sdW1uKTsKQEAgLTIx
MCwxMyArMjEzLDEzIEBAIFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTW9kZWwucHJvdG90eXBlID0g
ewogICAgICAgICB2YXIgY2xpcCA9IFtdOwogICAgICAgICBpZiAocmFuZ2Uuc3RhcnRMaW5lID09
PSByYW5nZS5lbmRMaW5lKSB7CiAgICAgICAgICAgICBjbGlwLnB1c2godGhpcy5fbGluZXNbcmFu
Z2Uuc3RhcnRMaW5lXS5zdWJzdHJpbmcocmFuZ2Uuc3RhcnRDb2x1bW4sIHJhbmdlLmVuZENvbHVt
bikpOwotICAgICAgICAgICAgcmV0dXJuIGNsaXAuam9pbigiXG4iKTsKKyAgICAgICAgICAgIHJl
dHVybiBjbGlwLmpvaW4odGhpcy5fbGluZUJyZWFrKTsKICAgICAgICAgfQogICAgICAgICBjbGlw
LnB1c2godGhpcy5fbGluZXNbcmFuZ2Uuc3RhcnRMaW5lXS5zdWJzdHJpbmcocmFuZ2Uuc3RhcnRD
b2x1bW4pKTsKICAgICAgICAgZm9yICh2YXIgaSA9IHJhbmdlLnN0YXJ0TGluZSArIDE7IGkgPCBy
YW5nZS5lbmRMaW5lOyArK2kpCiAgICAgICAgICAgICBjbGlwLnB1c2godGhpcy5fbGluZXNbaV0p
OwogICAgICAgICBjbGlwLnB1c2godGhpcy5fbGluZXNbcmFuZ2UuZW5kTGluZV0uc3Vic3RyaW5n
KDAsIHJhbmdlLmVuZENvbHVtbikpOwotICAgICAgICByZXR1cm4gY2xpcC5qb2luKCJcbiIpOwor
ICAgICAgICByZXR1cm4gY2xpcC5qb2luKHRoaXMuX2xpbmVCcmVhayk7CiAgICAgfSwKIAogICAg
IHNldEF0dHJpYnV0ZTogZnVuY3Rpb24obGluZSwgbmFtZSwgdmFsdWUpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>