SimpleWebKit ToDo

18 Mar 2007
-----------

High Prio to be useful for first testers:
- find bug why incoming fragments do not trigger -setNeedsDisplay and therefore do not -layout
- loading and callbacks for subresources (<img>)
- <frame> scrollers & subframes should work

Status:

http://www.quantum-step.com		loads main page but does not redirect
http://www.gnustep.org			loads main page, has formatting issues, does not show images
http://www.google.com			loads but does not show content
http://www.google.de			loads main page incl. search field
http://www.apple.com			hangs
http://www.apple.de				loads and shows content incl. search field but only after Refresh
http://www.yahoo.de				hangs
frameset.html					hangs with exception
headerbody.html					hangs
headerbody.html					hangs
robustness.html					renders text more or less ok

Testing:

- really do robustness tests if HTML parser handles abrupt end of any source data properly
- how does it really work with NSTextView of mySTEP or GNUstep AppKit? Does it handle NSTextAttachments? NSTextTable is missing.

mySTEP-SimpleWebKit:

HTML parsing and error robustness:
- better handle <tbody> tag (auto-insert into DOM)
- how should we parse "<h1>xxx <h2> xxx </h1>"? (a) all h tags on same level (ignoring the bad </h1>) or (b) nested?
- maybe, we should add + (BOOL) _nested; as a separate hint to DOMHTMLElement
- handle <script>  something & some other; </script>
- handle <pre>

Text Formatting/Typesetting:
- splicing of text fragments with newlines at one or both ends is not perfect (e.g.<h1>&<h2> or <h1>&<p>)
- <p> and <br> do not create correct newparagraph/newline separators
- should we embrace all <h>, <p> and <br> with double-newline and remove one if spliced?
- <font face="xxx" size="yyy"> not handled (color="xxx" does)
- color does only understand #rrggbb
- <hr> does not draw a nice line
- <table> does not handle colspan, rowspan

Loading:
- <img> triggers a subresource to load but is missing a link to the NSImageCell

View:
- scrollers do not appear for WebFrameView
- <frameset> does not yet properly layout its subviews according to COL= or ROW= attributes
- <frame> not tested if it loads and displays subframes
- sometimes they do not display aoutomatically

Forms:
- <input type="radio" name="group"> does not yet have radio behaviour - if none is defined as CHECKED, it should select the first one
- <form> does not yet send anything

JavaScript:
- add statements and functions
- add execution context ("this", global variables, document/event/etc.)
- add prototype objects Array, Number, Object, String, etc. with their methods
- connect to the DOMHTMLTree

Other:
- (DOMText *) splitText: what is the semantics?

Feature requests:
- CSS & full formatting attributes
- attributedString for <li>, <ol>, <ul>, <dd> etc. not implemented
- <meta> redirection to different URL not handled
- <textarea>, <select>/<option> not completely implemented
- makeTextLarger/smaller does not influcence the fonts
- history not implemented
- (double) estimatedProgress; not implemented (should try to calculate from total estimatedLength and available data for all currently loading WebDataSources)
- link color definition by <body> and if link was visited recently (history)

mySTEP's NSURLConnection:
- cookies
- https (add libopenssl to NSSocketStream)
- sending / POST&GET methods
- header compression
