Closed
Bug 17723
Opened 25 years ago
Closed 25 years ago
[HELP WANTED] Redesign OutputSinks
Categories
(Core :: DOM: Serializers, defect, P2)
Core
DOM: Serializers
Tracking
()
VERIFIED
WONTFIX
M18
People
(Reporter: BenB, Assigned: akkzilla)
Details
(Whiteboard: [HELP WANTED])
HTMLToTXTSinkStream and related files are a mess. create class hierarchy. more
follows.
Reporter | ||
Updated•25 years ago
|
Status: NEW → ASSIGNED
Assignee | ||
Comment 1•25 years ago
|
||
Ben and I were talking on IRC, and here's a sketch of what I was thinking at the
time:
We could start with nsOutputSink, which would have things like setting up the
unicode encoder and having Write() methods.
Then split into nsHTMLOutputSink and nsPlaintextOutputSink (ah, to get rid of
names like nsHTMLToTXTSinkStream.h !)
Then for example, nsPlaintextOutputSink could have nsUnformattedPlaintextSink
and nsFormattedPlaintextSink, and so forth.
The object of this is to have a cleaner hierarchy where we don't have all these
complicated output flags. Unfortunately it's hard to do inheritance of
interfaces in the same way, so this might not help the user who's stuck going
through nsIDocumentEncoder, unless we create a zillion new interfaces.
Reporter | ||
Comment 2•25 years ago
|
||
Class Hierarchy (names will change):
OutputSink
+--HTML
+--plain text
+--unformatted
+--formatted
+--traditional
+--format=flowed
OutoutSink is a stream converter (see bug #1775).
Comment 3•25 years ago
|
||
I think this is a good thing in general, but note that the same input data can
have both parts that should be output formatted and parts that should be output
as if it were preformatted. That means that the same logic will have to be
duplicated which are a bad thing.
Reporter | ||
Comment 4•25 years ago
|
||
Changing COmponent to Output and adding bug #16800 as dependency.
Reporter | ||
Updated•25 years ago
|
Assignee: mozilla → akkana
Status: ASSIGNED → NEW
Reporter | ||
Comment 5•25 years ago
|
||
Daniel's changes (bug #16398) have been checked in. I can't work, if I get no
information.
Assignee | ||
Updated•25 years ago
|
Status: NEW → ASSIGNED
Target Milestone: M20
Assignee | ||
Comment 6•25 years ago
|
||
Setting milestone low because it's a code redesign issue and not a dogfood
functionality issue; but that doesn't mean we can't do it sooner if we have
time.
Reporter | ||
Updated•25 years ago
|
Assignee: akkana → mozilla
Status: ASSIGNED → NEW
Reporter | ||
Comment 7•25 years ago
|
||
I think, I really need that for tables (bug #18012), reassigning to me.
Reporter | ||
Updated•25 years ago
|
Status: NEW → ASSIGNED
Priority: P3 → P2
Target Milestone: M20 → M12
Reporter | ||
Updated•25 years ago
|
Target Milestone: M12 → M20
Reporter | ||
Comment 8•25 years ago
|
||
Design decision: To get some flexible structure, we have to design a browser
minus interactivity plus different linebreak strategies (filled for tables,
plain, flowed etc.). We not just have an existing design, but also a lot of
code, we can reuse: NGLayout.
The plan is to at least reuse everything until nsCSSFrameConstructor (see
<http://www.mozilla.org/docs/url_load.html>), propably some of the nsIFrames.
The problem is my limited knowledge about NGLayout and XPCOM. More detailed: I
don't know, how to decide somewhere at the webshell, which "frameset" to use.
Reporter | ||
Updated•25 years ago
|
Assignee: mozilla → akkana
Status: ASSIGNED → NEW
Summary: Redesign OutputSinks → [HELP WANTED] Redesign OutputSinks
Whiteboard: [HELP WANTED]
Reporter | ||
Comment 9•25 years ago
|
||
I don't think, I'll work on that anytime soon. HELP WANTED.
Updated•25 years ago
|
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → WONTFIX
Comment 10•25 years ago
|
||
this function was not part of the initial design specs and would require
architectual changes, marking wontfix
Comment 11•25 years ago
|
||
verified in 1/19 build.
Reporter | ||
Comment 12•25 years ago
|
||
beppe:
> marking wontfix
sujay:
> verified in 1/19 build.
LOL
Comment 13•25 years ago
|
||
Bulk move of all "Output" component bugs to new "DOM to Test Conversion"
component. Output will be deleted as a component.
Assignee | ||
Comment 14•24 years ago
|
||
Sorry for the spam! But apparently all these closed bugs need to have their
target milestones changed since M19 and M20 are going away. Since they're
allready closed, I'm choosing M18.
Target Milestone: M20 → M18
You need to log in
before you can comment on or make changes to this bug.
Description
•