Serializer's wrapping flag incorrectly wraps attribute contents

NEW
Unassigned

Status

()

Core
Serializers
--
major
7 years ago
7 years ago

People

(Reporter: glazou, Unassigned)

Tracking

Trunk
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

7 years ago
This bug affects at least Seamonkey Composer, BlueGriffon and Thunderbird.

1. launch Seamonkey Composer or BlueGriffon (http://bluegriffon.org )
2. create a new blank document if necessary
3. switch to source view
4. insert in the body element a paragraph with a >=80chars title attribute
   with multiple wrapping spots (i.e. white spaces)
5. switch back to normal view
6. switch back to source view

Expected result: the long title attribute stands on a single line
Actual result:   the title attribute is wrapped
(Reporter)

Comment 1

7 years ago
Created attachment 537512 [details] [diff] [review]
proposed fix #1

The idea is to get rid of the last lines of
nsXMLContentSerializer::SerializeAttr() that are responsible of the buggy
wrapping: the serialization of the attribute is agregated inside attrString
and appended to aStr depending on the serializing flags.

This is wrong because whitespaces inside attribute values can be turned
into carriage returns...

Instead, I'm appending if needed a carriage return and indentation at the
beginning of the serialization of the attribute and I leave wrap spots
unchanged when attrString is appended to aStr.

I took the opportunity to fix at the same time a small indentation bug:
no automatic indentation should be output if the serialization flag triggers
a raw output.
You need to log in before you can comment on or make changes to this bug.