Closed Bug 283420 Opened 20 years ago Closed 20 years ago

copy/paste of (CSS) white-space: pre; text differs from copy/paste of <pre> text

Categories

(Core :: DOM: Serializers, defect)

x86
Windows XP
defect
Not set
major

Tracking

()

RESOLVED DUPLICATE of bug 116083

People

(Reporter: peakle, Unassigned)

Details

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0 Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0 text (source code) displayed in browser that is in a <div style="white-space: pre;"> block cannot be cleanly copied and pasted. When pasted, the whitespace characters are stripped away so the paste result is formatted in a contiguous block, without streams of whitespace -- paste result looks very different from what was seen in browser. Same source code inside a <pre> tag block, on the other hand, can be copied and pasted fine -- the paste carries forward all the whitespace characters and pasted code is formatted just like what was seen in the browser. I duplicated this in Mozilla 1.7.1 also. IE6 doesn't have this problem. Reproducible: Always Steps to Reproduce: 1. See enclosed html file 2. Separately copy and paste each of the 3 blocks of source code from the example into an editor. 3. Actual Results: pasted source code has most of the whitespace removed. Expected Results: make the paste result look like what I saw in the browser. white-space: pre should work like <pre> tag in this respect. HTML file that illustrates the problem: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>test</title> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> </head> <body> <div style="white-space: pre;"> white-space: pre; for (i = 0; i < anchors.length; i++) { if ((anchors[i].className == "ln") || (anchors[i].className == "ln_hit")) { savedAnchorValues[i] = anchors[i].firstChild.data; anchors[i].removeChild(anchors[i].firstChild); } } </div> <div style="white-space: pre;"> white-space: pre; with &lt;br/&gt; at end of each line: for (i = 0; i < anchors.length; i++) {<br/> if ((anchors[i].className == "ln") || (anchors[i].className == "ln_hit")) {<br/> savedAnchorValues[i] = anchors[i].firstChild.data;<br/> anchors[i].removeChild(anchors[i].firstChild); }<br/> }<br/> </div> <div> <pre> &lt;pre&gt; tag: for (i = 0; i < anchors.length; i++) { if ((anchors[i].className == "ln") || (anchors[i].className == "ln_hit")) { savedAnchorValues[i] = anchors[i].firstChild.data; anchors[i].removeChild(anchors[i].firstChild); } } </pre> </div> </body> </html>
Dupe of 116083?
Assignee: firefox → dom-to-text
Component: General → DOM to Text Conversion
Product: Firefox → Core
QA Contact: general
Version: unspecified → Trunk
*** This bug has been marked as a duplicate of 116083 ***
Status: UNCONFIRMED → RESOLVED
Closed: 20 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.