Closed Bug 44074 Opened 25 years ago Closed 24 years ago

Use nsAReadableString instead of nsString in nsHTMLToTXTSinkStream::Write

Categories

(Core :: DOM: Serializers, defect, P3)

defect

Tracking

()

VERIFIED FIXED

People

(Reporter: bratell, Assigned: bratell)

References

Details

scc pointed out that we could probably be more efficient if we used nsAReadableString instead of nsString as argument to the Write method in nsHTMLToTXTSinkStream::Write. From mail: while reviewing some code for Ben Bucksch, I saw that your |Write| method with which Ben is interacting (see <http://bugzilla.mozilla.org/show_bug.cgi?id=32336> ) could, perhaps, allow more efficient patterns in callers if it took a |const nsAReadableString&| rather than directly requiring any kind of reference to the implementation type |nsString|. This would allow people to call it on a literal string without copying and conversion.
Status: NEW → ASSIGNED
I started looking at this, but changing one place requires changes somewhere else which in turn requires changes in some other place. What I more specifically was stuck on was the unicode converter. The unicode converter wants char and PR_Unichar pointers and we can't get them from nsAReadableString. Assigning the nsAReadableString to a nsString and then calling GetUnicode on that nsString kind of beats the whole purpose of this exercise. I could do with methods Convert(nsAReadableString& src, nsCString& destination) and Finish(nsCString& destination) in the nsIUnicodeConverter. I filed bug 46165 on that.
Depends on: 46165
OS: Windows NT → All
Hardware: PC → All
A lot more places are allowing |nsAReadable[C]Strings| now with vidur and jst's recent DOM changes. Probably suitable candidates for the conversion functions you mention in bug #46165 now exist. This should help.
Depends on: 50742
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
Vidur's latest changes to the parser fixed this.
Daniell, please verify....mark VERIFIED-FIXED after doing so...thanks!
Well, I looked once again and it's still fixed. Marking verified.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.