=================
SimpleWebKit ToDo
=================

The code probably needs a lot of reformatting to fit in the GNUstep coding style. ;-)

-----------
13 May 2008
-----------

Completion indicator

HTML
	Loading				99%
	Parser				99%		(HTML -> DOM Tree)
	Evaluator			90%		(DOM Tree -> NSAttributedString)
EcmaScript
	Loading				100%
	Parser				90%		not well tested for completeness and robustness
	Evaluator			50%
	Objects				0%
	DOM Integration		10%
CSS
	Loading				100%
	Parser				0%
	Evaluator			0%
	DOM Integration		1%
WebView, WebFrame, ...
	Basics				100%
	Advanced			80%		(Scrolling, Forms, Frames)
	Editing				0%

High Prio:

1. <frame> and scrollers should work correctly
2. <table> elements should really work
3. make <form> work (buttons and text fields interaction)

HTML Loading:
- does not use NSURLCache

HTML parsing:
- NSXMLParser:
  - should we accept entities in quoted paramters or not? Is this standard or not? ANSWER: YES!
	like this: <input type="submit" value="&nbsp;&nbsp;Go&nbsp;&nbsp;"> from http://pda.leo.org/
  - fix error handling if it is known that there is no more data coming from the source
  - <![ CDATA[ ...] ] > (i.e. embedded spaces and newlines) appears to be legal or in use
  - entites should simply end at the first non-alphanumeric character and ignore if it is a ;

HTML Evaluator:
- small problem with space after tag "<p> " and inline-elements surrounded by blanks -> "abc <span> def" renders two spaces
- color does only understand #rrggbb and no plain text (X11) names yet
- <table> does not handle colspan, rowspan
- (better) handle <pre> incl. keeping newlines -> <br>

- <textarea>, <select>/<option> not completely implemented
- link color definition by <body> and if link was visited recently (history)
- handle different <hr> styles
- special <input> styles should show a small slider for e.g. <input type="range" min="0" value="100" max="100">

View:
- <frame> not tested if it properly loads and displays subframes
- <frame> and scroller control?
- <iframe> should display a WebFrameView as NSTextAttachmentCell
- <select> should display a NSTableView as NSTextAttachmentCell (i.e. wrap a View's lock/drawRect/unlock into a Cell)

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 (should build a "POST" NSURLRequest)
- <input> does not respond to mouse clicks and become first responder

EcmaScript:
- finalize parser, evaluator and prototype objects
- add execution context ("this", global variables, document/event/images/anchors etc.)
- add prototype objects Array, Number, Object, String, etc. with their methods
- connect to the DOMHTMLTree (via -[WebView webscriptObject])
- handle more triggers like <... onmouse="..."> - this needs to define and trap cursorRects

CSS:
- add DOMCSS elements according to the DOM specs
- add parser
- find matching element(s) in DOMCSS tree for a DOMHTML node

General:
- (DOMText *) splitText: what is the semantics?
- innerHTML and outerHTML do not really return valid HTML (needs generating entities)
- add getters&setters for HTMLEntities
- history page cache not complete (should cache WebFrame and WebFrameViews and swap them as subviews within the WebView or parent WebFrame)

mySTEP's extension requests:
- NSURLConnection needs to handle:
  - cookies
  - cache
  - https (using NSSocket(Input|Output)Stream)
  - sending of POST&GET methods
  - header compression
  - server redirection
  - handle "feed:" scheme (load the feed XML and translate into an ECMAScript/HTML result when done)
- NSTextTable is not rendered
- NSTextList is not rendered - NOTE: this is not to be rendered at all (!) just a hint attribute...

GNUstep extension requests:
- NSTextTable etc. is missing
- NSTextList is missing
