2002-12-07  Padraig O'Briain  <padraig.obriain@sun.com>

	* Release 2.1.4

	* configure.in: bumped to 2.1.4

2002-12-04  Padraig O'Briain  <padraig.obriain@sun.com>

	* libgtkhtml/css/cssdebug.c libgtkhtml/css/cssdebug.h
	libgtkhtml/css/cssmatcher.c libgtkhtml/css/cssmatcher.h
	libgtkhtml/css/cssparser.c libgtkhtml/css/cssparser.h
	libgtkhtml/css/cssstylesheet.c libgtkhtml/css/cssstylesheet.h
	libgtkhtml/css/cssvalue.c libgtkhtml/css/cssvalue.h
	libgtkhtml/css/html.css.h libgtkhtml/css/test-css-parser.c
	libgtkhtml/document/htmlfocusiterator.c
	libgtkhtml/document/htmlfocusiterator.h
	libgtkhtml/dom/dom-types.h libgtkhtml/dom/dom.h
	libgtkhtml/dom/core/dom-attr.c libgtkhtml/dom/core/dom-attr.h
	libgtkhtml/dom/core/dom-characterdata.c
	libgtkhtml/dom/core/dom-characterdata.h
	libgtkhtml/dom/core/dom-comment.c
	libgtkhtml/dom/core/dom-comment.h
	libgtkhtml/dom/core/dom-core-utils.c
	libgtkhtml/dom/core/dom-core-utils.h
	libgtkhtml/dom/core/dom-core.c libgtkhtml/dom/core/dom-core.h
	libgtkhtml/dom/core/dom-document.c
	libgtkhtml/dom/core/dom-document.h
	libgtkhtml/dom/core/dom-documenttype.c
	libgtkhtml/dom/core/dom-documenttype.h
	libgtkhtml/dom/core/dom-domimplementation.c
	libgtkhtml/dom/core/dom-domimplementation.h
	libgtkhtml/dom/core/dom-element.c
	libgtkhtml/dom/core/dom-element.h
	libgtkhtml/dom/core/dom-entity.c
	libgtkhtml/dom/core/dom-entity.h
	libgtkhtml/dom/core/dom-namednodemap.c
	libgtkhtml/dom/core/dom-namednodemap.h
	libgtkhtml/dom/core/dom-node.c libgtkhtml/dom/core/dom-node.h
	libgtkhtml/dom/core/dom-nodelist.c
	libgtkhtml/dom/core/dom-nodelist.h
	libgtkhtml/dom/core/dom-string.c
	libgtkhtml/dom/core/dom-text.h libgtkhtml/dom/core/test-core.c
	libgtkhtml/dom/css/dom-cssrule.c
	libgtkhtml/dom/css/dom-cssrule.h
	libgtkhtml/dom/css/dom-cssrulelist.c
	libgtkhtml/dom/css/dom-cssrulelist.h
	libgtkhtml/dom/css/dom-cssstyledeclaration.c
	libgtkhtml/dom/css/dom-cssstyledeclaration.h
	libgtkhtml/dom/css/dom-cssstylerule.c
	libgtkhtml/dom/css/dom-cssstylerule.h
	libgtkhtml/dom/css/dom-cssstylesheet.c
	libgtkhtml/dom/css/dom-cssstylesheet.h
	libgtkhtml/dom/css/dom-cssvalue.c
	libgtkhtml/dom/css/dom-cssvalue.h
	libgtkhtml/dom/events/dom-event-utils.c
	libgtkhtml/dom/events/dom-event-utils.h
	libgtkhtml/dom/events/dom-eventlistener.c
	libgtkhtml/dom/events/dom-eventlistener.h
	libgtkhtml/dom/events/dom-events.c
	libgtkhtml/dom/events/dom-events.h
	libgtkhtml/dom/events/dom-eventtarget.c
	libgtkhtml/dom/events/dom-eventtarget.h
	libgtkhtml/dom/events/dom-mouseevent.h
	libgtkhtml/dom/events/dom-mutationevent.c
	libgtkhtml/dom/events/dom-mutationevent.h
	libgtkhtml/dom/events/dom-styleevent.c
	libgtkhtml/dom/events/dom-styleevent.h
	libgtkhtml/dom/html/dom-htmlanchorelement.c
	libgtkhtml/dom/html/dom-htmlanchorelement.h
	libgtkhtml/dom/html/dom-htmlcollection.c
	libgtkhtml/dom/html/dom-htmlcollection.h
	libgtkhtml/dom/html/dom-htmlelement.c
	libgtkhtml/dom/html/dom-htmlelement.h
	libgtkhtml/dom/html/dom-htmlformelement.c
	libgtkhtml/dom/html/dom-htmlformelement.h
	libgtkhtml/dom/html/dom-htmlinputelement.c
	libgtkhtml/dom/html/dom-htmlinputelement.h
	libgtkhtml/dom/html/dom-htmlobjectelement.c
	libgtkhtml/dom/html/dom-htmlobjectelement.h
	libgtkhtml/dom/html/dom-htmloptionelement.c
	libgtkhtml/dom/html/dom-htmloptionelement.h
	libgtkhtml/dom/html/dom-htmlselectelement.c
	libgtkhtml/dom/html/dom-htmlselectelement.h
	libgtkhtml/dom/html/dom-htmltextareaelement.c
	libgtkhtml/dom/html/dom-htmltextareaelement.h
	libgtkhtml/dom/stylesheets/dom-stylesheet.c
	libgtkhtml/dom/stylesheets/dom-stylesheet.h
	libgtkhtml/dom/traversal/dom-documenttraversal.c
	libgtkhtml/dom/traversal/dom-documenttraversal.h
	libgtkhtml/dom/traversal/dom-nodefilter.c
	libgtkhtml/dom/traversal/dom-nodefilter.h
	libgtkhtml/dom/traversal/dom-nodeiterator.c
	libgtkhtml/dom/traversal/dom-nodeiterator.h
	libgtkhtml/dom/traversal/dom-traversal-utils.c
	libgtkhtml/dom/traversal/dom-traversal-utils.h
	libgtkhtml/graphics/htmlcolor.c
	libgtkhtml/graphics/htmlcolor.h
	libgtkhtml/graphics/htmlimage.c
	libgtkhtml/graphics/htmlimage.h
	libgtkhtml/graphics/htmlstylepainter.c
	libgtkhtml/graphics/htmlstylepainter.h
	libgtkhtml/layout/htmlbox.h libgtkhtml/layout/htmlboxblock.h
	libgtkhtml/layout/htmlboxfactory.c
	libgtkhtml/layout/htmlboxfactory.h
	libgtkhtml/layout/htmlboxlistitem.h
	libgtkhtml/layout/htmlboxroot.c
	libgtkhtml/layout/htmlboxroot.h
	libgtkhtml/layout/htmlboxtable.c
	libgtkhtml/layout/htmlboxtable.h
	libgtkhtml/layout/htmlboxtablecaption.c
	libgtkhtml/layout/htmlboxtablecaption.h
	libgtkhtml/layout/htmlboxtablecell.c
	libgtkhtml/layout/htmlboxtablecell.h
	libgtkhtml/layout/htmlboxtablerow.c
	libgtkhtml/layout/htmlboxtablerow.h
	libgtkhtml/layout/htmlboxtablerowgroup.c
	libgtkhtml/layout/htmlboxtablerowgroup.h
	libgtkhtml/layout/htmlstyle.c libgtkhtml/layout/htmlstyle.h
	libgtkhtml/layout/htmlstylebackground.c
	libgtkhtml/layout/htmlstyleborder.c
	libgtkhtml/layout/htmlstylebox.c
	libgtkhtml/layout/htmlstyleinherited.c
	libgtkhtml/layout/htmlstyleoutline.c
	libgtkhtml/layout/htmlstylesurround.c
	libgtkhtml/util/htmlstreambuffer.c
	libgtkhtml/util/htmlstreambuffer.h libgtkhtml/util/rfc1738.c
	libgtkhtml/util/rfc1738.h libgtkhtml/util/test-atoms.c
	libgtkhtml/view/htmlselection.c tests/dom-test-node-menu.c
	tests/dom-test-node-menu.h tests/dom-test-pixmaps.h
	tests/dom-test-tree-model.c tests/dom-test-tree-model.h
	tests/dom-test-window.c tests/dom-test-window.h
	tests/dom-test.c tests/simple.c: Add Copyright headers

	* libgtkhtml/view/htmlselection.c (html_selection_get_text):
	Add check whether HtmlBoxText contains any text.

	This fixes bug #94575.

2002-12-03  Padraig O'Briain  <padraig.obriain@sun.com>

	* libgtkhtml/document/htmldocument.c 
	(html_document_parsed_document_node): Create DomEventListener only if
	it does not already exist. Store the listener in object data.
	(html_document_clear): Remove DomEventListener if it exists

	* dom/core/dom-node.c (dom_Node_removeEventListener): Fix code.

	This fixes bug #79783.

2002-11-27  Padraig O'Briain  <padraig.obriain@sun.com>

	* libgtkhtml/document/htmldocumet (html_document_clear):
	Call xmlFreeNode() to free memory allocated to parsed document

	* libgtkhtml/document/htmlparser.c (html_parser_finalize):
	Call xmlFreeDoc() when freeing parser context

	This fixes the DOM leaks when displaying html pages in yelp 
	(bug #73631)

	* libgtkhtml/dom/core/dom-node.c (dom_node_finalize): Remove call to
	xmlFreeNode as its argument is always NULL.

2002-11-22  Padraig O'Briain  <padraig.obriain@sun.com>

	* Release 2.1.3

	* configure.in: bumped to 2.1.3

2002-11-21  Padraig O'Briain  <padraig.obriain@sun.com>

	* libgtkhtml/layout/htmlstyle.c
	(html_style_notify_settings): New signal handler for notify
	signal for GtkSettings; used to find when gtk-theme has changed
	and update the default color.
	(html_style_new): Connect signal handler for notify signal on
	GtkSettings.

	*libgtkhtml/view/htmlview.c
	(html_view_style_set): New signal handler for style-set signal
	which sets bg color to base color
	(html_view_new): Connect signal handler for style-set signal for
	HtmlView.

	This addresses part of bug #95190.

	* libgtkhtml/css/cssmatcher.c (css_matcher_apply_rule):
	Avoid defererence of potentially NULL parent_style.
	(Fixes bug #94415, patch from peterbloomfield@mindspring.com)

2002-11-13  Padraig O'Briain  <padraig.obriain@sun.com>

	*libgtkhtml/a11y/htmlboxaccessible.c (html_box_accessible_get_parent):
	use atk_object_set_parent() when setting parent. Fixes bug #98388)

2002-11-01  Mikael Hallendal  <micke@codefactory.se>

	* Release 2.1.2

	* configure.in: bumped to 2.1.2

2002-10-28  Richard Hult  <rhult@codefactory.se>

	* libgtkhtml/view/htmlselection.c (set_traversal): Fix bug where
	selection the last character on a line would select the first on
	the line below as well.

2002-10-21  Mikael Hallendal  <micke@codefactory.se>

	* Release 2.1.1

	* configure.in: bumped to 2.1.1

2002-10-21  Richard Hult  <rhult@codefactory.se>

	* libgtkhtml/layout/htmlboxtext.c (html_box_text_new): Initialize
	master->whitespace.

2002-10-19  Richard Hult  <rhult@codefactory.se>

        * libgtkhtml/graphics/htmlfontspecification.c
	(html_font_specification_get_pango_font_description): Map between
	html and pango name for mono-spaced font.

2002-10-11  Padraig O'Briain  <padraig.obriain@sun.com>

	* libgtkhtml2/a11y/htmlboxembeddedaccessible.c
	(html_box_embedded_accessible_ref_child): Omit warning if index is
	invalid.
	* libgtkhtml2/a11y/htmlviewaccessible.c
	(html_view_accessible_ref_child): Correct checking for invalid index.
	(bug #95498)

2002-10-03  Mikael Hallendal  <micke@codefactory.se>

	* Release 2.1.0

	* configure.in: bumped to 2.1.0

2002-09-02  Padraig O'Briain  <padraig.obriain@sun.com>

	* libgtkhtml/a11y/htmllinkaccessible.[ch]: Add action_idle_handler 
	HtmlLinkAccessible data structure.
	(html_link_accessible_do_action): Do action in idle handler 
	idle_do_action().
	Return FALSE if action pending.
	(idle_do_action): New idle handler which does the actions.
	(html_link_accessible_finalize): Remove idle handler if present.
	These change ensure that calls to atk_action_do_action() return
	without waiting for the action to complete by doing the action in
	an idle handler. (bug #90756)
	(get_box_text_from_accessible): Change g_return_if_fail() to
	g_return_val_if_fail().

	* libgtkhtml/a11y/htmlviewaccessible.c: Add include of <string.h>
	for strcasecmp().
	
2002-08-23  Mikael Hallendal  <micke@codefactory.se>

	* Release 2.0.2

	* configure.in: 2.0.2

2002-08-23  Mikael Hallendal  <micke@codefactory.se>

	* libgtkhtml/layout/htmlstyle.c:
	(html_style_get_gtk_style): added, used from other places.

2002-08-22  Ross Burton  <ross@burtonini.com>
 
	* libgtkhtml/graphics/htmlfontspecification.c:
	* libgtkhtml/graphics/htmlfontspecification.h:
	* libgtkhtml/layout/htmlstyle.c: Use gloat instead of gint to
	  store the base font size in points. Fixes #90540.
	
2002-08-22  Kristian Rietveld  <kris@gtk.org>

	* libgtkhtml/view/htmlview.c (html_view_realize): make a copy
	of the style before changing the color, so we don't set another
	background color for all other widgets in a program (this was causing
	the "white menus" issue in yelp).

2002-08-20  Ross Burton  <ross@burtonini.com>
 
	* libgtkhtml/layout/htmlstyle.c: Read the entire font descriptor
 	instead of just the size from the from GTK+ styles. Also allow the
 	RC files to set styles on GtkHTML, falling back to
 	GtkTextView. Fixes #90541.

2002-08-18  Havoc Pennington  <hp@pobox.com>

	* autogen.sh: hardcode aclocal-1.4/automake-1.4 so that users with
	both automake 1.6 and 1.4 installed get the right automake. Means
	compilation from CVS will now require the latest automake 1.4
	release, or manually creating symlinks called "automake-1.4" and
	"aclocal-1.4"

2002-08-16  Mikael Hallendal  <micke@codefactory.se>

	* libgtkhtml/view/htmlview.c (html_view_realize): 
 	- Applied patch from Padraig O'Brian that makes Gtkhtml2 draw
 	  background with correct color.
	
2002-08-08  Richard Hult  <rhult@codefactory.se>

	* libgtkhtml/view/htmlview.h:
	* libgtkhtml/view/htmlview.c (html_view_scroll_to_node): Make
	non-static so it can be used from the outside, e.g. Yelp.

2002-08-07  Pasupathi Duraisamy <pasupathi.duraisamy@wipro.com>
 
	* libgtkhtml/css/html.css.h: Patch provided by Padraig. Added
	  default style type as "disc" for UL. Tested and it fixes #87254.
	  
2002-08-07  Pasupathi Duraisamy <pasupathi.duraisamy@wipro.com>
 
	* libgtkhtml/css/cssmatcher.c: Moved the minor speed-up check
	  after parsing td and th tags. Fixes #87167
	
2002-08-06  Padraig O'Briain  <padraig.obriain@sun.com>

	* libgtkhtml/a11y/htmlviewaccessible.c:
	(html_view_accessible_grab_focus_cb) If there is no focus element
	call set_focus_object() but do not call atk_focus_tracker_notify()
	(set_focus_object) Allow for focus_obj being NULL.
	(bug #90023)
	
2002-08-06  Frederic Crozat  <fcrozat@mandrakesoft.com>

	* libgtkhtml/Makefile.am:
	* libgtkhtml/a11y/Makefile.am:
	* libgtkhtml/css/Makefile.am:
	* libgtkhtml/graphics/Makefile.am:
	* libgtkhtml/layout/Makefile.am:
	* libgtkhtml/layout/html/Makefile.am:
	* libgtkhtml/util/Makefile.am:
	* libgtkhtml/view/Makefile.am:
	* tests/Makefile.am:
	Remove -I$(includedir) as it causes gcc >= 3.1 warnings
	when prefix=/usr

2002-08-05  Mikael Hallendal  <micke@codefactory.se>

	* Release 2.0.1
	
	* configure.in: that should be 2.0.1

	* Release 1.99.10

	* configure.in: 1.99.10

	* libgtkhtml/graphics/htmlpainter.c: s/g_assert/g_return_if_fail/
	  in painter functions.

2002-08-04  Shivram U  <shivaram.upadhyayula@wipro.com>

	* libgtkhtml/graphics/htmlgdkpainter.c (set_foreground_color) :
	- Using gdk_rgb_find_color () passing the colormap of the painter
	  window, rather than gdk_rgb_xpixel_from_rgb(). Fix for #85931.
	
2002-08-04  Padraig O'Briain  <padraig.obriain@sun.com>

	* libgtkhtml/view/htmlview.c: Give focus to the first link when
	  HtmlView gets focus. Fixes #84344.

2002-08-03  Satyajit Kanungo  <satyajit.kanungo@wipro.com>

	* libgtkhtml/css/cssparser.c: 
 	  Initialized the types in CssTail after a g_new(). Fixes 84895.  

2002-07-23  Padraig O'Briain  <padraig.obriain@sun.com>

	* libgtkhtml/a11y/htmlboxaccessible.c:
	(html_box_accessible_initialize) Set the parent for a box in a 
	HtmlBoxInLine to be the HtmlBoxInLine's parent if the HtmlBoxInLine
	has only one childa
	(html_box_accessible_ref_child) If the child is a HtmlBoxInLine which
	has only one child return HtmlBoxInLine's child
	(html_box_accessible_get_index_in_parent): If object's parent is a
	HtmlBoxInLine with only one child use the parent`s parent.
	(bug #84728)

2002-07-21  Pasupathi Duraisamy <pasupathi.duraisamy@wipro.com>

	* libgtkhtml/layout/htmlboxlistitem.c: Added more style types for
	  ordered lists. Fixes bug #87261, #87264, #87269 and #87271
 
2002-07-10  Alexander Larsson  <alexl@redhat.com>

	* libgtkhtml/css/cssmatcher.c:
	Fix typo where the MIN and MAX height atoms
	where mixed up.

	* libgtkhtml/css/html.css.h:
	Make min-height 100% for BODY.
	This makes the background of a page always extend to the
	bottom of the window.

2002-07-01  Padraig O'Briain  <padraig.obriain@sun.com>

	* libgtkhtml/view/htmlview.c:
	(html_view_focus_element) Call gtk_widget_grab_focus() when no element
	is focused so that notification is emitted. Fixes bug 84712.

2002-06-28  Mikael Hallendal  <micke@codefactory.se>

	* libgtkhtml/graphics/htmlfontspecification.c:
	(html_font_specification_init_sizes): fixed leaks

	* libgtkhtml/layout/htmlstyle.c:
	(html_default_style_new): use the correct font and not always
	  sans. Fixes #86516
	(html_style_get_base_size): fixed leaks

2002-06-26  Damon Chaplin  <damon@ximian.com>

	* libgtkhtml/layout/html/htmlboximage.c
	(html_box_image_update_scaled_pixbuf): use MAX (1, width) and
	MAX (1, height), as gdk_pixbuf_scale_simple() will SEGV if they are 0.
	Ideally we should probably have special code to handle 0.

	Fixes bug #86352.

2002-06-06  Sven Neumann  <sven@gimp.org>

	* configure.in: describe use of ENABLE_ACCESSIBILITY using the
	third argument of AC_DEFINE().

	* acconfig.h: removed since it is not needed and autoconf-2.52 does
	not like it to be used.

2002-06-04  Padraig O'Briain  <padraig.obriain@sun.com>

	* libgtkhtml/view/htmlview.c:
	Remove attempt to draw focus indication when HtmlView widget has
	focus (bug #82134)

2002-06-03  Mikael Hallendal  <micke@codefactory.se>

	* Release 1.99.9

	* configure.in: bumped version to 1.99.9

2002-05-08  Bill Haneman <bill.haneman@sun.com>

	Bugfix for bugzilla #79050.
	
	* libgtkhtml/graphics/htmlfontspecification.c:
	Now call initialization routine to set up the
	html_font_size[] array, based on the base font size
	specified by "gtk-font-name" in the default GtkSettings.
	Added routine html_font_specification_init_sizes().
	We now call this routine inside html_font_specification_new () 
	if it has not previously been called.

	* libgtkhtml/graphics/htmlfontspecification.h:
	Added #include of gtk/gtk.h, required by new code above.

	* libgtkhtml/layout/htmlstyle.c:
	Added routines html_style_get_base_size(), which
	queries GtkSettings for a font name and then queries Pango for
	the base size of the resulting font.
	Added routines html_style_get_default_text_color(), which obtains
	the default HtmlView GdkGC for text[GTK_STATE_NORMAL] and uses it
	to determine the default text color.

2002-05-27  Mikael Hallendal  <micke@codefactory.se>

	* Release 1.99.8

	* configure.in: bumped version to 1.99.8

2002-05-27  Padraig O'Briain  <padraig.obriain@sun.com>

	* libgtkhtml/view/htmlview.c 
	Add changes to html_view_expose() which were omitted from last commit,
	in error.

2002-05-23  Padraig O'Briain  <padraig.obriain@sun.com>

	* libgtkhtml/view/htmlview.c 
	(html_view_expose): Draw focus line around displayed area. 
	Also need to call gtk_widget_queue_draw() to ensure
	that dotted line is drawn at top of scrolled window when scrolling 
	down. The problem is that the rectangle passed in the expose event is 
	not the entire visible rectangle. This causes a flash as the dotted
	line which was at the bottom of the scrolled window is redrawn when
	scrolling (bug #82134).
	(html_view_focus): Remove reference to moving_focus_out
	(html_view_move_focus_out): Update to allow for another widget in the 
	being able to focus. This function just unsets the document focus
	elements, calls gtk_widget_grab_focus() if the htmlView does not
	already have focus, and calls gtk_widget_queue_draw() to ensure
	that focus indication is drawn (bug 82501).

	* libgtkhtml/view/htmlview.h: Remove move_focus_out

2002-05-13  Padraig O'Briain  <padraig.obriain@sun.com>

	* libgtkhtml/dom/html/dom-htmlanchorelement.c (is_focusable):
	* Only permit elements with links to be focusable (bug #73884).

2002-05-07  Damon Chaplin  <damon@ximian.com>

	* libgtkhtml/view/htmlview.c (html_view_destroy): move most of the
	code from finalize() to destroy(), as we are supposed to release
	references to other objects in destroy().
	Also removed the timeout and idle sources, if we have any.
	Fixes bug #73301.

2002-05-06  Mikael Hallendal  <micke@codefactory.se>

	* Release 1.99.7

	* configure.in: doh, forgot to commit change in configure.in to
	  bump version to 1.99.7

2002-04-30  Padraig O'Briain  <padraig.obriain@sun.com>

	* libgtkhtml/util/htmlmarshal.list
	Add entry for VOID:ENUM for move_focus_out signal in HtmlView

	* libgtkhtml/view/htmlview.c:
	Give focus to HtmlView when first tab into HtmlView
	Add support for focus indication when HtmlView has focus.
	The dotted-line focus indicator is drawn around the edge of the whole
	page
	Pressing Tab when on the last link gives focus back to the HtmlView
	Pressing [Shift+]Ctrl+Tab moives focus out of HtmlView to 
	previous/next widget
	(html_view_set_adjustments) Take account of the fact that there is 
	a border of (focus_width + 2 * focus_pad) around root box when setting
	upper for adjustments
	(html_view_relayout) : Take account of the fact that there is 
	a border of (focus_width + 2 * focus_pad) around root box when setting
	position fo root box and its min_width and min_height
	(html_view_size_request) New function which add focus border  to size
	requested
	(html_view_expose) Draw focus indication when HtmlView has focus
	and there is no focus element
	(html_view_focus_in) Remove unnecessary call to set GTK_HAS_FOCUS;
	chain up so that gtk_widget_queue_draw() is called
	(html_view_focus_out) Remove unnecessary call to unset GTK_HAS_FOCUS;
	chain up so that gtk_widget_queue_draw() is called
	(html_view_focus) Give focus to widget if widget does not have focus
	Return immediately if moving focus out of HtmlView
	Call html_view_focus_element() if we have tabbed beyond last link to
	cause focus to be on the HtmlView
	(html_view_real_move_focus_out) Default signal handler for
	move_focus_out signal. It sets the focus element to NULL and
	causes the focus to be moved out of the HtmlView
	(html_view_class_init): Define new signal move_focus_out and 
	specify key bindings to activate it.
	(html_view_focus_element): Set vertical adjustment to 0 to scroll
	to top if no focus element. Call gtk_widget_queue_draw() so that focus
	indicator is removed when an element in the HtmlView's document gets 
	focus
	
	* libgtkhtml/view/htmlview.h:
	Add default signal handler for move_focus_out to class data structure
	Add boolean moving_focus_out to object data structure

2002-04-29  Mikael Hallendal  <micke@codefactory.se>

	* Relase 1.99.6

	* configure.in: bumped version to 1.99.6

2002-04-26  Padraig O'Briain  <padraig.obriain@sun.com>

	* libgtkhtml/view/htmlview.c (html_view_focus_in):
	Unset saved focus element on focus in (bug 79048)
	
2002-04-17  Padraig O'Briain  <padraig.obriain@sun.com>

	* libgtkhtml/a11y/htmlboxtextaccessible.c:
	(html_box_text_accessible_get_character_at_offset):
	Check that offset is within bounds (bug 78934)

2002-04-15  Mikael Hallendal  <micke@codefactory.se>

	* Relase 1.99.5

	* configure.in: bumped version to 1.99.5
	
2002-04-15  Padraig O'Briain  <padraig.obriain@sun.com>

	* libgtkhtml/view/htmlview.c:
	(html_view_relayout): Do not focus elemnt if none is focused as this
	causes scroll to focus elemnt
	(html_view_focus_in): Do not scroll to focus node.

2002-04-12  Padraig O'Briain  <padraig.obriain@sun.com>

	* configure.in:
	Update GAIL required version to 0.13

	* gtkhtml/a11y/htmlboxtextaccessible.c:
	gail-util.h has moved from util directory to libgail-util

2002-04-09  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/document/htmlparser.c: (html_comment):
	Fixed bug #78193. Check if (node == NULL).

2002-04-05  Padraig O'Briain  <padraig.obriain@sun.com>

	* libgtkhtml/a11y/htmlboxtextaccessible.c:
	(html_box_text_accessible_get_character_at_offset) Get unichar from
	string before freeing it

	* libgtkhtml/a11y/htmllinkaccessible.c:
	Use g_object_add_weak_pointer() instead of g_object_weak_ref() to 
	create weak reference to AtkObject in HtmlLinkAccessible

	* libgtkhtml/a11y/htmlviewaccessible.c:
	Maintain weak reference to object stored for data "gail-focus-object"
	so it can be set to NULL when object is destroyed.

2002-04-04  Mikael Hallendal  <micke@codefactory.se>

	* libgtkhtml/view/htmlview.c:
	(html_view_disconnect_document): added, disconnect from document
	  signals.
	(html_view_set_document): call disconnect_document when switching
	  document.

2002-03-31  Jonas Borgstrm  <jonas@codefactory.se>

	* configure.in: Bump version number.

	* libgtkhtml/layout/html/htmlboxembeddedimage.c:
	(html_box_embedded_image_relayout):
	Removed some debug output.

2002-03-28  jacob berkman  <jacob@ximian.com>

	* libgtkhtml/a11y/Makefile.am (libhtmla11y_la_SOURCES): add
	htmlaccessiblefactory.h

2002-03-28  Padraig O'Briain  <padraig.obriain@sun.com>

	* libgtkhtml/a11y/htmlaccessiblefactory.h:
	New file which defines macros to be used to create factories for
	AtkObjects for HtmlBox objects

	* libgtkhtml/a11y/Makefile.am:
	Remove accessible factory files

	* libgtkhtml/a11y/htmlboxtextaccessible.h:
	Remove include for util/gail-util.h; use HtmlBoxTextAccessiblePrivate
	data structure in HtmlBoxTextAccessible data structure

	* libgtkhtml/a11y/htmlboxtextaccessible.c:
	Define HtmlBoxTextAccessiblePrivate data structure to contain which
	used to be in HtmlBoxTextAccessible
	(has_link) Use xmlHasProp() instead of xmlGetProp() to determine whether
	text has link asociated with it

	* libgtkhtml/a11y/htmlboxtableaccessible.c: 
	(html_box_text_accessible_ref_child) Correct out-by-1 error for out
	of range index.

	* libgtkhtml/view/htmlview.c (html_view_get_accessible):
	Use macros defined in htmlaccessiblefactory.h to specify factories
	for AtkObjects for HtmlBox objects.

2002-03-27  Padraig O'Briain  <padraig.obriain@sun.com>

	* HACKING:
	Specify bugzilla.gnome.org for bug reports

	* libgtkhtml/view/htmlview.c:
	(html_view_insert_node) If the node is a root node call 
	html_view_layout_tree_free() to free the previous tree;
	partial fix for #73631
	Remove focus element if inserting root node (#74368)
	(html_view_relayout) If the HtmlView has focus and there is no focus
	element focus the first element (#74368)

	Save the focused element on focus out event and focus the
	saved focused element on focus in event (#74236)

	libgtkhml/dom/html/dom-htmlanchorelement.c (is_focusable):
	Check that element has a child before reporting it as focusable
	(partial fix for #73884)

2002-03-22  Padraig O'Briain  <padraig.obriain@sun.com>

	* libgtkhtml/a11y/htmlboxaccessible:
	(html_box_accessible_ref_state_set): Check that style visibility is
	HTML_VISIBILITY_VISIBLE before setting state to ATK_STATE_VISIBLE
	(html_box_acccessible_get_extents): Use HtmlView's adjustment values
	to correct position
	(is_box_showing): Correct use of HtmlView's adjustment values

	* libgtkhml/a11y/htmlboxtableaccessible.c:
	(html_box_table_accessible_get_n_children): Return number of children

2002-03-22  Padraig O'Briain  <padraig.obriain@sun.com>

	* libgtkhtml/a11y/htmlboxaccessible.c:
	Allow for the case where a HtmlBoxInline has HtmlBoxInline as child
	when supressing the HtmlBoxInline

	* libgtkhtml/a11y/htmlboxtableaccessible.c:
	Take account of the fact that there may be NULL cells in the last row.

	* libgtkhtml/a11y/htmlboxtextaccessible.c:
	(html_box_text_accessible_get_offset_at_point)
	Allow for the case where the HtmlBoxText's parent is a HtmlBoxInline
	which has HtmlBoxInline as child

2002-03-15  Padraig O'Briain  <padraig.obriain@sun.com>

	* libgtkhtml/a11y/htmllinkaccessible.[ch]: New files which provide
	AtkHyperlink object for a link

	* libgtkhtml/a11y/Makefile.am: Update for new files

	* libgtkhtml/a11y/htmlboxaccessible.c:
	(html_box_accessible_initialize) Take account of the fact that a
	TableRow may be in a TableRowGroup instead of directly in a Table
	(html_box_accessible_ref_state_set) Check that box is showing before
	setting state ATK_STATE_SHOWING
	(html_box_accessible_get_extents): Use 
	html_box_accessible_get_view_widget() to get the HtmlView widget 
	containing box.

	* libgtkhtml/a11y/htmlboxtextaccessible.[ch]:
	Complete implementation of AtkHypertext interface

	* libgtkhtml/a11y/htmlviewaccessible.c:
	(html_view_accessible_grab_focus_cb) Set gail-focus-object on
	AtkObject for HtmlView whether or not HtmlView has focus

2002-03-08  Padraig O'Briain  <padraig.obriain@sun.com>

	* libgtkhtml/a11y/htmlboxaccessible.c:
	Add new function html_box_accessible_get_parent(). This is needed as
	the first focused object may be associated with a link rather than
	the HtmlView.
	(html_box_accessible_ref_state_set) Add support for 
	ATK_STATE_FOCUSED and ATK_STATE_FOCUSABLE
	(html_box_accessible_get_view_widget) Use object data "view" to get
	the HtmlView associated with a HtmlBox

	* libgtkhtml/a11y/htmlboxtextaccessible.c:
	(html_box_text_accessible_get_n_links) Add code to check if the
	object has a link.

	* libgtkhtml/a11y/htmlviewaccessible.c:
	Add functions html_view_accessible_initialize, 
	html_view_accessible_ref_state_set, html_view_accessible_grab_focus_cb
	html_view_accessible_get_focus_object
	These function allow us to report the focus being on an AtkObject 
	associated with a focus_element in the HtmlDocument of the HtmlView	
	
2002-03-06  Padraig O'Briain  <padraig.obriain@sun.com>

	* libgtkhtml/view/htmlevent.[ch]:
	Add function html_event_activate to activate link on focused
	element, if it exists.

	* libgtkhtml/view/htmlview.[ch]:
	Add "activate" signal and default signal handler, 
	html_view_real_activate, and specify it as GtkWidget's activate_signal.
	This signal will be emitted when space is pressed when HtmlView
	widget has focus.
	Remove binding for space for movement.

2002-03-06  Padraig O'Briain  <padraig.obriain@sun.com>

	* libgtkhtml/dom/events/dom-event-utils.c (dom_MouseEvent_invoke):
	Do not leak DomMouseEvent object

2002-03-04  Anders Carlsson  <andersca@gnu.org>

	* configure.in: Bump version.

	* libgtkhtml/document/htmldocument.c:
	(html_document_node_inserted_traverser):
	* libgtkhtml/document/htmlparser.c: (html_comment):
	* libgtkhtml/dom/core/dom-node.c: (dom_Node_mkref):
	Apply patch from Shahms E. King to fix bug #141.
	
2002-03-03  Richard Hult  <rhult@codefactory.se>

	* libgtkhtml/*/*.c: Remove lots of debug output.

2002-03-01  Padraig O'Briain  <padraig.obriain@sun.com>

	* libgtkhtml/a11y/htmlboxtableaccessible.c
	libgtkhtml/a11y/htmlboxtableaccessible.h
	libgtkhtml/a11y/htmlboxtableaccessiblefactory.c
	libgtkhtml/a11y/htmlboxtableaccessiblefactory.h:
	New files which provide initial accessibility support for HtmlBoxTable

	* libgtkhtml/a11y/Makefile.am libgtkhtml/view/htmlview.c:
	Add support for HtmlBoxTableAccessible

	* libgtkhtml/a11y/htmlboxaccessible:
	Add functions html_box_accessible_get_n_children and 
	html_box_accessible_ref_child
	(html_box_accessible_initialize): Set parent of TableCell to be
	Table rather than TableRow
	(html_box_accessible_get_index_in_parent): Add special code for
	TableCell and Box whose parent is BoxInline
	Add utility function html_box_accessible_get_view_widget() which
	returns the HtmlView associated with a HtmlBox.

	* libgtkhtml/a11y/htmlboxblockaccessible.c:
	Remove functions html_box_block_accessible_get_n_children and
	html_box_block_accessible_ref_child

	* libgtkhtml/a11y/htmlboxtextaccessible.c:
	Add boilerplate code for implementing AtkHypertext interface.
	Allow for text to be NULL in html_box_text_accessible_real_initialize()
	Correct interpretation of value returned from html_box_get_bidi_level()
	
2002-02-21  Darin Adler  <darin@bentspoon.com>

	* libgtkhtml/a11y/htmlboxtextaccessible.c:
	(html_box_text_accessible_get_default_attributes):
	Remove extra semicolons that break the build.

2002-02-21  Padraig O'Briain  <padraig.obriain@sun.com>

	* libgtkhtml/a11y/htmlboxtextaccessible.c:
	Implement text selection and get default attributes

2002-02-19  Padraig O'Briain  <padraig.obriain@sun.com>

	* libgtkhtml/layout/htmlboxtext.[ch]:
	Add new function html_box_text_get_character_extents() which
	return the position and size of the character at the specified index

	* libgtkhtml/a11y/htmlboxaccessiblefactory.[ch]
	libgtkhtml/a11y/htmlboxblockaccessiblefactory.[ch]
	libgtkhtml/a11y/htmlboxembeddedaccessiblefactory.[ch]
	libgtkhtml/a11y/htmlviewaccessiblefactory.[ch]
	Remove html_foo_factory_create_new

	* libgtkhtml/a11y/htmlboxtextaccessiblefactory.[ch]
	Remove html_foo_factory_create_new
	Add implementation for html_box_text_accessible_get_accessible_at_point
	and html_box_text_accessible_get_character_extents

2002-02-14  Sven Neumann  <sven@gimp.org>

	* configure.in: only define ENABLE_ACCESSIBILITY in config.h if
	accessibility is actually enabled.

2002-02-12  Padraig O'Briain  <padraig.obriain@sun.com>

	* libgtkhtml/a11y/htmlbox.c (htmlbox_text_accessible_get_extents):
	Update to return the correct position

	* libgtkhtml/a11y/htmlboxtext.c:
	Update to return the correct text for a HtmlBox

2002-02-12  Padraig O'Briain  <padraig.obriain@sun.com>

	* libgtkhtml/layout/htmlboxtext.c (html_box_text_get_text):
	Return canonical text and length if non-NULL text_len supplied.

2002-02-12  Padraig O'Briain  <padraig.obriain@sun.com>

	* libgtkhtml/view/htmlview.c:
	Add include for config.h to allow accessibility support to be built.
	(html_view_get_accessible) Make gboolean first_time static so 
	initialization code is executed only once.

2002-01-16  Sven Neumann  <sven@gimp.org>

	* configure.in
	* libgtkhtml/Makefile.am
	* libgtkhtml/a11y/Makefile.am: changed logic so that the a11y dir
	is always contained in the tarball generated by 'make dist'.

2002-01-16  Sven Neumann  <sven@gimp.org>

	* HACKING
	* acconfig.h
	* configure.in
	* libgtkhtml/Makefile.am
	* libgtkhtml/view/htmlview.c: allow to disable accessibility support
	using the --disable-accessibility configure option.

2002-01-15  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/Makefile.am:

	* libgtkhtml/dom/core/Makefile.am:

	* libgtkhtml/dom/events/Makefile.am:

	* libgtkhtml/dom/stylesheets/Makefile.am:

	* tests/Makefile.am: Removed usage of $(INTLLIBS)

2002-01-14  Jonas Borgstrm  <jonas@codefactory.se>

	* Makefile.am: Removed po and intl for now

	* configure.in: Removed gettext as we dont use it anyway.
	Don't use -W* by default. Getting ready for a release.

	* libgtkhtml/util/Makefile.am: added generated files EXTRA_DIST

	* libgtkhtml/view/htmlevent.c: (get_href),
	(html_event_button_release), (html_event_mouse_move):

	* libgtkhtml/view/htmlview.c: (html_view_class_init):

	* libgtkhtml/view/htmlview.h: Added a new "on_url" signal.

	* tests/browser-window.c: (on_url), (browser_window_set_view):
	Added some code to test the "on_url" signal.

2002-01-12  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/a11y/Makefile.am: Fixed the build.

2002-01-11  Padraig O'Briain  <padraig.obriain@sun.com>

	Add new directory a11y to contain accessibility support for gtkhtml2

	* configure.in:
	Add dependency check for gail

	* libgtkhtml/Makefile.am:
	Add a11y to SUBDIRS
	Add libhtmla11y.la and $(GAILUTIL_LIBS) to libgtkhtml_2_la_LIBADD

	* libgtkhtml/view/htmlview.c:
	Add html_view_get_accessible, an implementation of 
	gtk_widget_get_accessible for HtmlView.
	
Thu Jan 10 11:32:39 2002  Jonathan Blandford  <jrb@redhat.com>

	* libgtkhtml/graphics/htmlstylepainter.c:
	(html_style_painter_draw_background_image): 
	* libgtkhtml/layout/htmlboxblock.c: (html_box_block_create_lines):
	* libgtkhtml/layout/htmlboxfactory.c: (html_box_factory_new_box):
	* libgtkhtml/layout/htmlboxlistitem.c: (html_box_list_item_paint):
	* libgtkhtml/layout/htmlboxtable.c: (align_cells_ltr),
	(align_cells_rtl):
	* libgtkhtml/layout/htmlboxtext.c: (html_box_text_relayout),
	(html_box_text_paint_selection):
	* tests/browser-window.c: (browser_window_load_test): Initialize
	uninitialized variables so -Werror will work.

	* libgtkhtml/css/cssmatcher.c (css_matcher_apply_stylesheet):
	remove bogus test.

Thu Jan 10 10:50:54 2002  Jonathan Blandford  <jrb@redhat.com>

	* libgtkhtml/css/cssmatcher.c (css_matcher_match_simple_selector):
	initialize variable to avoid -Werror warning breakage.
	(css_matcher_apply_rule): ditto

2002-01-09  Miles Lane <miles@megapathdsl.net>

	* configure.in: Modify the CFLAGS definition section
	  so that user defined CFLAGS can override the defaults.

2002-01-05  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/graphics/htmlfontspecification.c:
	(html_font_specification_get_all_attributes):
	Added a magnification parameter.

	* libgtkhtml/graphics/htmlfontspecification.h:

	* libgtkhtml/layout/htmlboxtext.c: (html_box_text_recalc_items),
	(html_box_text_relayout): Pass the magnification parameter
	to html_font_specification_get_all_attributes.

	* libgtkhtml/layout/htmlrelayout.h:

	* libgtkhtml/view/htmlview.c: (html_view_relayout),
	(html_view_get_magnification), (html_view_set_magnification),
	(html_view_zoom_in), (html_view_zoom_out), (html_view_zoom_reset),
	(html_view_init): Implemented some zoom/magnification functions.
	Use an api similar to gtkhtml1.

	* libgtkhtml/view/htmlview.h:

	* tests/browser-window.c: (zoom_changed), (browser_window_init):
	Added a spin button control the zoom level.

2001-12-11  Laszlo Peter  <laca@ireland.sun.com>

	* configure.in: only add the warning flags to CFLAGS when using gcc.
	Added option --disable-more-warnings to disable them even when using
	gcc.

2001-12-02  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/view/htmlselection.c: (set_traversal),
	(html_selection_set): new functions.

	* libgtkhtml/view/htmlselection.h:
	Implemented the function html_selection_set.

2001-12-01  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/document/htmldocument.c: (html_document_class_init):

	* libgtkhtml/util/htmlmarshal.list:

	* libgtkhtml/util/htmlstream.c: (html_stream_finalize),
	(html_stream_class_init), (html_stream_init),
	(html_stream_get_type), (html_stream_destroy),
	(html_stream_get_mime_type), (html_stream_set_mime_type),
	(html_stream_new):

	* libgtkhtml/util/htmlstream.h:
	Converted the HtmlStream to a GObject to make python wrapping
	easier.

	* libgtkhtml/util/htmlview.h: Removed obsolete prototype:
	html_view_restyle_node.

	* libgtkhtml/dom/traversal/Makefile.am:
	Don't forget to install the header files.

2001-11-29  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/graphics/htmlcolor.c 
	(html_color_new_from_name): oopos, I didn't apply the complete
	patch yesterday. My bad.

2001-11-28  Peter Williams  <peterw@ximian.com>

	* libgtkhtml/layout/html/Makefile.am (INCLUDES): Add
	-I$(top_srcdir) for when srcdir != builddir.

2001-11-28  Jonas Borgstrm  <jonas@codefactory.se>

	Applied Padraig O'Briain <Padraig.Obriain@Sun.COM> patch (slightly modified)

	* libgtkhtml/css/cssmatcher.c: (css_matcher_html_to_css):
	Use g_ascii_isdigit instead of isdigit
	* libgtkhtml/graphics/htmlcolor.c: (html_color_new_from_name):
	Use g_ascii_isxdigit instead of isxdigit
	
	* libgtkhtml/layout/html/htmlboxembeddedselect.c:
	(row_changed_callback), (create_combo_widget),
	(html_box_embedded_select_finalize): s/range_changed/row_changed/

	* tests/simple.c: (load_file): Don't crash on empty filename.
	
	
2001-11-28  Marc Mulcahy  <marc.mulcahy@sun.com>
	* tests/prop-editor.c: fixed to compile with latest glib

2001-11-21  ERDI Gergo  <cactus@cactus.rulez.org>

	* tests/browser-window.c: 
	* libgtkhtml/css/cssmatcher.c: 
	* libgtkhtml/view/htmlview.c: 
	* libgtkhtml/view/htmlevent.c: use 'break' after empty default
	case switches

	* libgtkhtml/util/htmlmarshal.list: Added marshaller previously
	used from GLIB
	
	* libgtkhtml/view/htmlview.c (html_view_class_init): Don't use
	deprecated GLIB marshallers

2001-11-16    <micke@codefactory.se>

	* tests/prop-editor.c (properties_from_type): 
	- g_param_get_nick->g_param_spec_get_nick
	- g_param_get_blurb->g_param_spec_get_blurb.

	* tests/browser-window.c (url_requested): 
	GNOME_VFS_DEFAULT_PRIORITY->GNOME_VFS_PRIORITY_DEFAULT

2001-11-09  Sven Neumann  <sven@gimp.org>

	* libgtkhtml/view/htmlselection.c: adapt to recent GTK+ API changes.

2001-10-19  Mikael Hallendal  <micke@codefactory.se>

	* libgtkhtml/layout/htmlboxtext.c:
	(html_box_text_recalc_items): 
	- allocate num_chars+1 attributes
	- call pango_break with num_chars+1 attributes.

2001-10-18  Mikael Hallendal  <micke@codefactory.se>

	* tests/browser-window.c (url_requested): added
	GNOME_VFS_DEFAULT_PRIORITY to gnome_vfs_async_open_uri call.

2001-10-03  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/layout/htmlboxfactory.c: (html_box_factory_new_box):
	Optimize the box creation by using atoms instead of strcasecmp.

	* libgtkhtml/util/htmlglobalatomlist.h:
	Added atoms for html elements and input types.

2001-10-02  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/dom/html/dom-htmlinputelement.c:
	(dom_html_input_element_encode):
	Only encode the name/value pair from the submit button
	being clicked.

	* libgtkhtml/dom/html/dom-htmlinputelement.h:

	* libgtkhtml/layout/html/htmlboxembeddedbutton.c:
	(html_box_embedded_button_clicked):

	* tests/browser-window.c: (on_submit_idle), (on_submit):
	We can't call link_clicked directly from the "submit" signal
	handler because link_clicked will clear the document, so we
	have to call it from an idle function instead.

2001-09-29  Jonas Borgstrm  <jonas@codefactory.se>

	* tests/browser-window.c: (set_base), (url_requested): pass
	the arguments to gnome_vfs_uri_resolve_relative in the correct
	order.

2001-09-28  Michael Meeks  <michael@ximian.com>

	* configure.in: depend on latest bits.

	* tests/prop-editor.c (properties_from_type): upd to use
	blurb / nick accessors.

	* tests/browser-window.c (set_base, url_requested): upd.
	for new gnome-vfs.

2001-09-20  Sven Neumann  <sven@gimp.org>

	* configure.in: require GTK+-1.3.8.
	
	* libgtkhtml/graphics/htmlfontspecification.c: follow Pango API 
	changes.

	* libgtkhtml/util/Makefile.am: create htmlmarshal.[ch] in $(srcdir).

2001-09-19  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/document/htmldocument.c: (html_document_dom_event),
	(html_document_parsed_document_node), (html_document_class_init):
	Emit a "submit" signal when the HTML event "submit" is received.
	
	* libgtkhtml/document/htmldocument.h: Added a "submit" signal.

	* libgtkhtml/document/htmlparser.c: (html_startDocument):
	Tiny cleanup.

	* libgtkhtml/dom/html/dom-htmlformelement.c:
	(dom_HTMLFormElement__get_encoding), (dom_HTMLFormElement_submit),
	(dom_HTMLFormElement_reset): Emit "submit" and "reset" HTML events.

	* libgtkhtml/dom/html/dom-htmlformelement.h: added
	dom_HTMLFormElement__get_encoding.

	* libgtkhtml/util/htmlmarshal.list: Added a VOID:STRING,STRING,STRING
	marshal

	* tests/browser-window.c: (on_submit), (browser_window_new):
	A sample implementation of the "submit" signal handling.

2001-09-17  Jonas Borgstrm  <jonas@codefactory.se>

	* tests/dom-test-node-menu.c: (dom_test_document_create_element),
	(dom_test_document_create_text_node), (dom_test_node_append_child),
	(dom_test_node_remove_child): gtk+ api change.

	* tests/dom-test-window.c: (dom_test_window_construct): gtk+ api change.

2001-09-08  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/layout/htmlboxtext.c: (pre_convert_whitespace),
	(html_box_text_relayout), (html_box_text_set_text):
	Added support for '\t' characters in <pre> elements.

	* libgtkhtml/layout/htmllinebox.c: (html_line_box_add_inlines):

	* libgtkhtml/layout/htmlrelayout.h:
	Added some members needed to support tabs.

2001-09-05  Mikael Hallendal  <micke@codefactory.se>

	* tests/simple.c (create_tree): 
	GTK_TREE_SELECTION_SINGLE->GTK_SELECTION_SINGLE.

	* libgtkhtml/layout/html/htmlboxembeddedselect.c:
	(create_treeview_widget):
	GTK_TREE_SELECTION_MULTI->GTK_SELECTION_MULTIPLE. 

2001-08-31  Jonas Borgstrm  <jonas@codefactory.se>

	* tests/dom-test-node-menu.c (dom_test_document_create_text_node): 

	* libgtkhtml/dom/core/dom-entity.c (dom_Entity__get_publicId): 
	Applied patch from Chipzz <chipzz@ULYSSIS.Org> that fixes build of
	gtkhtml2 when gnome-xml is compiled with "./configure --disable-debug"
	

2001-08-23  Jonas Borgstrm  <jonas@codefactory.se>

	* tests/samples/jborg.html: Added a <title> element.

	* tests/browser-window.c (title_changed): New function,
	change the window title when receiving a "title_changed"
	signal.

	* libgtkhtml/document/htmldocument.h: Added a new signal
	"title_changed".

	* libgtkhtml/document/htmldocument.c 
	(html_document_node_inserted_traverser): emit a "title_changed"
	signal when encountering an <title> element.

2001-08-20  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/document/htmldocument.c: (html_document_restyle_node):
	Added a workaround for bug #199, so we won't crash on pages like
	www.mozilla.org until that bug is fixed.

	* tests/browser-window.c: (url_requested): Fix a segfault, the baseURI
	variable could be NULL when no page had been loaded.

2001-08-16  Sven Neumann  <sven@gimp.org>

	* libgtkhtml/document/Makefile.am
	* libgtkhtml/dom/Makefile.am
	* libgtkhtml/dom/core/Makefile.am
	* libgtkhtml/dom/css/.cvsignore
	* libgtkhtml/dom/events/Makefile.am
	* libgtkhtml/dom/traversal/.cvsignore
	* libgtkhtml/dom/traversal/Makefile.am
	* libgtkhtml/graphics/Makefile.am
	* libgtkhtml/layout/Makefile.am
	* libgtkhtml/util/Makefile.am
	* tests/Makefile.am: added missing header files to SOURCES so they
	get included when building a tarball using the dist target.

	* libgtkhtml/dom/html/.cvsignore: added

	* libgtkhtml/dom/dom.c: removed this empty file since it is not needed
	anymore.

2001-08-16  Sven Neumann  <sven@gimp.org>

	* configure.in: removed AC_ARG_PROGRAM, we are not installing any
	programs and autoconf did not like it.

	* tests/Makefile.am: corrected use of conditionals.

2001-08-15  Michael Natterer  <mitch@gimp.org>

	* libgtkhtml/layout/html/Makefile.am: install htmlembedded.h,
	htmlboxform.h and htmlboxembedded.h as public headers.

	* libgtkhtml/layout/html/htmlboxembedded.h
	* libgtkhtml/layout/html/htmlboxform.h: changed #include's to
	<libgtkhtml/*> because they are public now.

2001-08-15  Michael Natterer  <mitch@gimp.org>

	* libgtkhtml/view/htmlview.c: removed unneeded inclusion of
	<gdk/gdkx.h>.

2001-08-12  Ian McKellar  <yakk@yakk.net>

	* libgtkhtml/dom/Makefile.am:
	Little build fix.

2001-08-05  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/layout/html/htmlboximageinput.c:
	Removed obsolete file.
	
	* libgtkhtml/layout/html/htmlboximageinput.h:
	Removed obsolete file.

2001-08-05  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/css/html.css.h: Paragraphs inside
	List items should have a 0 top margin.

	* tests/browser-window.c: (link_clicked):
	Scroll to the top of the page when loading a new
	page.

2001-08-05  Fatih Demir <kabalak@gtranslator.org>

	* .cvsignore: Small extension.

2001-08-05  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/css/cssdebug.h:

	* libgtkhtml/css/cssmatcher.h:

	* libgtkhtml/css/cssparser.h:

	* libgtkhtml/css/cssstylesheet.h:

	* libgtkhtml/css/cssvalue.h:

	* libgtkhtml/document/htmldocument.h:

	* libgtkhtml/document/htmlparser.h:

	* libgtkhtml/graphics/htmlcolor.h:

	* libgtkhtml/graphics/htmlcolorfactory.h:

	* libgtkhtml/graphics/htmlimage.h:

	* libgtkhtml/graphics/htmlimagefactory.h:

	* libgtkhtml/graphics/htmlpainter.h:

	* libgtkhtml/gtkhtmlcontext.h:

	* libgtkhtml/layout/html/htmlboxembedded.h:

	* libgtkhtml/layout/html/htmlboxembeddedbutton.h:

	* libgtkhtml/layout/html/htmlboxembeddedcheckbox.h:

	* libgtkhtml/layout/html/htmlboxembeddedentry.h:

	* libgtkhtml/layout/html/htmlboxembeddedimage.h:

	* libgtkhtml/layout/html/htmlboxembeddedobject.h:

	* libgtkhtml/layout/html/htmlboxembeddedradio.h:

	* libgtkhtml/layout/html/htmlboxembeddedselect.h:

	* libgtkhtml/layout/html/htmlboxembeddedtextarea.h:

	* libgtkhtml/layout/html/htmlboxform.h:

	* libgtkhtml/layout/html/htmlboximage.h:

	* libgtkhtml/layout/html/htmlembedded.h:

	* libgtkhtml/layout/htmlbox.h:

	* libgtkhtml/layout/htmlboxblock.h:

	* libgtkhtml/layout/htmlboxfactory.h:

	* libgtkhtml/layout/htmlboxinline.h:

	* libgtkhtml/layout/htmlboxlistitem.h:

	* libgtkhtml/layout/htmlboxroot.h:

	* libgtkhtml/layout/htmlboxtable.h:

	* libgtkhtml/layout/htmlboxtablecaption.h:

	* libgtkhtml/layout/htmlboxtablecell.h:

	* libgtkhtml/layout/htmlboxtablerow.h:

	* libgtkhtml/layout/htmlboxtablerowgroup.h:

	* libgtkhtml/layout/htmlboxtext.h:

	* libgtkhtml/layout/htmlstyle.h:

	* libgtkhtml/util/htmlatomlist.h:

	* libgtkhtml/util/htmlstream.h:

	* libgtkhtml/util/htmlstreambuffer.h:

	* libgtkhtml/view/htmlevent.h:

	* libgtkhtml/view/htmlselection.h:

	* libgtkhtml/view/htmlview.h:
	Added G_BEGIN_DECLS, and G_END_DECLS to
	all header files (except dom/*). I also
	did some general header cleanup.
	
2001-08-04  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/document/htmldocument.c:
	(html_document_update_hover_node), (find_anchor_helper),
	(html_document_find_anchor): New functions, these are used
	to find the DomNode for a DomHTMLAnchorElement with a
	certain name.

	* libgtkhtml/document/htmldocument.h: Added html_document_find_anchor.

	* libgtkhtml/view/htmlview.c: (html_view_scroll_to_node),
	(html_view_relayout), (html_view_set_document),
	(html_view_find_layout_box), (html_view_try_jump),
	(html_view_jump_to_anchor), (html_view_new):
	New function. This function is used to scroll the view
	to make a certain anchor visible.

	* libgtkhtml/view/htmlview.h: Added html_view_jump_to_anchor.

	* tests/browser-window.c: (set_base), (link_clicked): Added
	support for html anchors.

2001-08-02  Jonas Borgstrm  <jonas@codefactory.se>

	* tests/main.c: Removed oaf_init(), use g_thread_init() instead.

	* configure.in: Removed oaf from the pkg-config checks. 

	* tests/browser-window.c (kill_old_connections): 
	Cancel the vfs handle also.

2001-08-01  Jonas Borgstrm  <jonas@codefactory.se>

	* configure.in: converted GTK_CFLAGS and XML_CFLAGS
	to GTKHTML2_CFLAGS, same with _LIBS.
	Also added a conditional, so if gnome-vfs isn't installed
	then, tests/testgtkhtml2 won't be built.
	
	* */*/Makefile.am: General makefile cleanup.

	* configure.in: General cleanup. Use PKG_CHECK_MODULES. 

	* tests/Makefile.am: Removed httpstream.[ch] and link
	with gnome-vfs instead of gnome-http.

	* tests/browser-window.c: Rewrote this test program
	to use gnome-vfs instead of gnome-http.

	* tests/httpstream.c: Removed obsolete file.

	* tests/httpstream.h: Removed obsolete file.

2001-07-31  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/graphics/htmlgdkpainter.c (set_foreground_color): 
	Applied a patch from Sven Neumann <sven@gimp.org> to make
	gtkhtml2 run on GTK+-DirectFB.

2001-07-28  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/css/cssmatcher.c: (css_matcher_html_to_css_after):
	Added support for "marginwidth=" and "marginheight=".

	* libgtkhtml/layout/htmlboxtable.c: (html_box_table_init):
	Changed a stupid default value.

2001-07-27  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/css/html.css.h: Further forms inside tables fixing.

	* libgtkhtml/layout/html/htmlboxembeddedbutton.c:
	(html_box_embedded_button_new): set 4 pixels descent.

	* tests/browser-window.c: (set_base): unbreak the base url handling.

2001-07-23  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/css/html.css.h: 0 padding on forms inside tables.

	* libgtkhtml/layout/html/htmlboxembedded.c:
	(html_box_embedded_paint): A small optimization.

	* libgtkhtml/layout/html/htmlboxembeddedselect.c:
	(html_box_embedded_select_new): Set the descent.

	* libgtkhtml/layout/htmlboxtable.c: (paint_rows):
	Don't draw forms twice.

	* libgtkhtml/view/htmlevent.c: (html_event_find_box_traverser):
	Forms are also a special case.

2001-07-22  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/layout/html/htmlboxembeddedcheckbox.c:
	(html_box_embedded_checkbox_finalize), disconnect signals.
	(html_box_embedded_checkbox_class_init):

	* libgtkhtml/layout/html/htmlboxembeddedentry.c:
	(html_box_embedded_entry_finalize), disconnect signals.
	(html_box_embedded_entry_class_init):

	* libgtkhtml/layout/html/htmlboxembeddedradio.c:
	(html_box_embedded_radio_finalize), disconnect signals
	(html_box_embedded_radio_class_init):

	* libgtkhtml/layout/html/htmlboxembeddedselect.c:
	(create_list_foreach), (update_combo_list), new functions.
	(html_box_embedded_select_relayout), (create_treeview_widget),
	(range_changed_callback), (create_combo_widget),
	(html_box_embedded_select_finalize),
	(html_box_embedded_select_class_init),
	(html_box_embedded_select_new):
	Made a semiugly hack to connect a GtkCombo to a GtkTreeModel
	widget.

	* libgtkhtml/layout/html/htmlboxembeddedselect.h:
	Added a helper flag.

2001-07-21  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/layout/htmlboxtext.c (html_box_text_paint_selection): 
	New function. Also correctly handle RTL text selection.
	(html_box_text_paint): Moved the selection painting code to 
	html_box_text_paint_selection.

2001-07-20  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/layout/htmlboxblock.c: (html_box_block_paint),
	(html_box_block_finalize): Some cleanup.

	* libgtkhtml/layout/htmlboxtablerowgroup.h: Fixed a tyop.

	* libgtkhtml/layout/htmlstyle.c: (html_length_get_value):
	This function isn't inline anymore.

	* libgtkhtml/layout/htmlstyle.h: html_length_get_value isn't
	inline anymore.

	* libgtkhtml/view/htmlevent.c: (html_event_find_box_traverser):
	Optimized this function. It was this function that made the selection
	slow on large files.

	* libgtkhtml/view/htmlselection.c: (html_selection_update):
	If only the endbox is changed, only repaint it.

2001-07-18  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/layout/htmlboxtext.c: (html_box_text_set_selection):
	New function
	* libgtkhtml/layout/htmlboxtext.h: Added it here to.

	* libgtkhtml/view/htmlselection.c: (select_text), (unselect_text),
	(repaint_sel), (html_selection_clear), (html_selection_start),
	(html_selection_create_list), (html_selection_create_list_fast),
	(html_selection_update_ends), (html_selection_update):
	Rewrote most of the selection code to support selection start and
	endpoint to be on any box type and not just textboxes.
	
	* libgtkhtml/view/htmlview.h:
	Some selection specific cleanup.

2001-07-11  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/dom/core/dom-node.h: Added a missing funcion declaration.

	* libgtkhtml/dom/html/dom-htmlselectelement.c:
	Updated it to use the new GtkTreeModel API.

	* libgtkhtml/layout/htmlboxtext.c: (html_box_text_paint),
	(html_box_text_get_index): Added code to draw an inverted
	"selection" rectangle.

	* libgtkhtml/layout/htmlboxtext.h:
	Added some selectionspecific code.

	* libgtkhtml/view/Makefile.am:
	Added htmlselection.h

	* libgtkhtml/view/htmlevent.c: (html_event_button_press),
	(html_event_button_release), (html_event_mouse_move):

	* libgtkhtml/view/htmlevent.h:
	made html_event_find_root_box public.

	* libgtkhtml/view/htmlselection.c: (html_selection_get_text),
	(primary_get_cb), (primary_clear_cb),
	(html_selection_update_primary_selection), (select_text),
	(unselect_text), (repaint_sel), (html_selection_clear),
	(html_selection_start), (html_selection_end),
	(html_selection_create_list), (html_selection_update_ends),
	(html_selection_update): 
	Implemented text selection.

	* libgtkhtml/view/htmlselection.h:
	New file.

	* libgtkhtml/view/htmlview.h:
	Added a few selection specific variables.

	* tests/samples/jborg.html:
	Added some more text.
	
2001-07-09  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/document/htmldocument.c: (html_document_restyle_node),
	(html_document_node_inserted_traverser), added a g_assert.
	(html_document_node_inserted), (html_document_finalize), don't leak so much
	(html_document_class_init): added a finalize function.

	* libgtkhtml/document/htmlparser.c: (html_parser_finalize),
	(html_parser_class_init): Added a finalize function.

	* libgtkhtml/dom/core/dom-node.c: (dom_node_finalize): Free
	the xmlNode and the style.

	* libgtkhtml/dom/html/dom-htmlinputelement.c:
	(dom_HTMLInputElement__get_value), (parse_html_properties):
	Don't mix g_free and xmlFree.

	* libgtkhtml/dom/html/dom-htmlselectelement.c:
	(dom_html_select_element_update_option_data):
	Don't mix g_free and xmlFree.

	* libgtkhtml/layout/html/htmlboxembeddedcheckbox.c:
	(html_box_embedded_checkbox_handle_html_properties):
	Don't mix g_free and xmlFree.
	
	* libgtkhtml/layout/html/htmlboxembeddedentry.c:
	(widget_text_changed),
	(html_box_embedded_entry_handle_html_properties):
	Don't mix g_free and xmlFree.
	
	* libgtkhtml/layout/htmlbox.c: (html_box_finalize), only unref
	the style is box->style is used.
	(html_box_set_style): Added a g_assert to assert that box->dom_node
	is NULL

	* libgtkhtml/layout/htmlboxfactory.c: (html_box_factory_new_box):
	don't leak memory.
	
	* libgtkhtml/layout/htmlboxtext.c: (html_box_text_relayout):
	Don't take a style reference.

	* libgtkhtml/util/rfc1738.c: (rfc1738_make_full_url): A rfc1738 url
	concat function.

	* libgtkhtml/view/htmlevent.c: (html_event_button_release):
	Don't mix g_free and xmlFree.
	
	* tests/browser-window.c: (set_base), (url_requested):
	Don't mix g_free and xmlFree.

2001-07-07  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/dom/html/dom-htmlinputelement.c:
	(dom_HTMLInputElement__set_value),
	(dom_html_input_element_widget_text_changed),
	(dom_html_input_element_class_init): Removed one
	argument from the "text_changed" signal.

	* libgtkhtml/dom/html/dom-htmlinputelement.h:

	* libgtkhtml/layout/html/htmlboxembeddedentry.c:
	(widget_text_changed), (changed): Only update
	the text if it is changed.

	* libgtkhtml/layout/htmlbox.c:
	Added copyright notice.

	* libgtkhtml/layout/htmlboxlistitem.c:
	(html_box_list_item_left_mbp_sum),
	(html_box_list_item_right_mbp_sum),
	(html_box_list_item_init_counter), (html_box_list_item_paint):
	Some general code cleanup.

	* libgtkhtml/util/htmlmarshal.list: added a new marshal

2001-07-07  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/dom/html/dom-htmlinputelement.c:
	(dom_HTMLInputElement__set_value),
	(dom_html_input_element_widget_text_changed),
	(dom_html_input_element_class_init):

	* libgtkhtml/dom/html/dom-htmlinputelement.h:

	* libgtkhtml/layout/html/htmlboxembeddedentry.c:
	(widget_text_changed), (changed):

	* libgtkhtml/layout/htmlbox.c:

	* libgtkhtml/layout/htmlboxlistitem.c:
	(html_box_list_item_left_mbp_sum),
	(html_box_list_item_right_mbp_sum),
	(html_box_list_item_init_counter), (html_box_list_item_paint):

	* libgtkhtml/util/htmlmarshal.list:

2001-07-07  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/dom/core/dom-node.c: (dom_Node_mkref):

	* libgtkhtml/dom/dom-types.h: Added DomHTMLObjectElement

	* libgtkhtml/dom/html/Makefile.am: Added dom-htmlobjectelement.[ch]

	* libgtkhtml/dom/html/dom-htmlobjectelement.c:
	(dom_HTMLObjectElement__get_form),
	(dom_HTMLObjectElement__get_name),
	(dom_HTMLObjectElement__get_code),
	(dom_HTMLObjectElement__get_archive),
	(dom_HTMLObjectElement__get_border),
	(dom_HTMLObjectElement__get_codeBase),
	(dom_HTMLObjectElement__get_codeType),
	(dom_HTMLObjectElement__get_data),
	(dom_HTMLObjectElement__get_width),
	(dom_HTMLObjectElement__get_height),
	(dom_HTMLObjectElement__get_type),
	(dom_HTMLObjectElement__set_name),
	(dom_HTMLObjectElement__set_code),
	(dom_HTMLObjectElement__set_archive),
	(dom_HTMLObjectElement__set_border),
	(dom_HTMLObjectElement__set_codeBase),
	(dom_HTMLObjectElement__set_codeType),
	(dom_HTMLObjectElement__set_data),
	(dom_HTMLObjectElement__set_width),
	(dom_HTMLObjectElement__set_height), (is_focusable),
	(dom_html_object_element_class_init),
	(dom_html_object_element_init), (dom_html_object_element_get_type):
	New file, new functions.

	* libgtkhtml/dom/html/dom-htmlobjectelement.h: New file.

	* libgtkhtml/layout/html/Makefile.am: Added htmlboxembeddedobject.[ch]
	and htmlelement.[ch]

	* libgtkhtml/layout/html/htmlboxembedded.c: (get_ascent),
	(get_descent), (html_box_embedded_get_descent), 
	(html_box_embedded_set_descent), (html_box_embedded_class_init):
	Implemented these functions.
	
	* libgtkhtml/layout/html/htmlboxembedded.h: Added the new functions.

	* libgtkhtml/layout/html/htmlboxembeddedcheckbox.c:
	(html_box_embedded_checkbox_new): Set the descent to 4px

	* libgtkhtml/layout/html/htmlboxembeddedentry.c:
	(html_box_embedded_entry_new): Same here.

	* libgtkhtml/layout/html/htmlboxembeddedobject.c:
	(html_box_embedded_object_class_init),
	(html_box_embedded_object_init),
	(html_box_embedded_object_get_type),
	(html_box_embedded_object_new): New file.

	* libgtkhtml/layout/html/htmlboxembeddedobject.h:
	New file.
	
	* libgtkhtml/layout/html/htmlboxembeddedradio.c:
	(html_box_embedded_radio_new): Set the descent to 4px.

	* libgtkhtml/layout/html/htmlembedded.c:
	(html_embedded_size_request), (html_embedded_size_allocate),
	(html_embedded_set_descent), (html_embedded_get_descent),
	(html_embedded_get_dom_node), (html_embedded_class_init),
	(html_embedded_init), (html_embedded_get_type),
	(html_embedded_new): New file.

	* libgtkhtml/layout/html/htmlembedded.h: New file.

	* libgtkhtml/layout/htmlboxfactory.c: (html_box_factory_new_box):
	Create HtmlBoxEmbeddedObject boxes on "object" elements.

	* libgtkhtml/layout/htmlboxlistitem.c:
	(html_box_list_item_init_counter): added an assert.

	* libgtkhtml/layout/htmlboxtext.c: (html_box_text_relayout):
	Fixed a bug with boxes without dom_nodes.

	* libgtkhtml/view/htmlview.c: (html_view_insert_node),
	(html_view_class_init):

	* libgtkhtml/view/htmlview.h:

	* tests/browser-window.c: (request_object),
	(browser_window_set_view):

	* tests/samples/andersca.html:

	* tests/samples/jborg.html:

	* tests/simple.c: (request_object), (main):

2001-07-07  Anders Carlsson  <andersca@codefactory.se>

	* libgtkhtml/css/html.css.h: Use a better style for focus.
	* libgtkhtml/graphics/htmlstylepainter.c:
	(set_up_dash_or_dot_array), (html_style_painter_draw_top_border),
	(html_style_painter_draw_bottom_border),
	(html_style_painter_draw_left_border),
	(html_style_painter_draw_right_border),
	(html_style_painter_draw_outline): Make the width depend on the line width.
	* tests/samples/andersca.html: New test.

2001-07-07  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/document/htmldocument.c:
	(html_document_node_inserted_traverser): Don't forget to free
	the str and url variable.

	* libgtkhtml/layout/htmlboxroot.c: (html_box_root_finalize):
	Don't forget to call the parent function.

	* libgtkhtml/layout/htmlstyle.c: (html_style_new): Some cleanup.

	* libgtkhtml/layout/htmlstylebackground.c:
	(html_style_background_dup): Set the refcount to 0.

	* libgtkhtml/layout/htmlstyleborder.c: 
	(html_style_border_dup): Set the refcount to 0.

	* libgtkhtml/layout/htmlstyleinherited.c:
	(html_style_inherited_dup): Set the refcount to 0.

	* libgtkhtml/layout/htmlstyleoutline.c: 
	(html_style_outline_dup): Set the refcount to 0.
	

2001-07-06  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/css/cssmatcher.c: (handle_background_repeat), added a parent_style param
	(css_matcher_apply_rule), (css_matcher_get_style): same here.

	* libgtkhtml/css/cssmatcher.h: updated to match the changes above.

	* libgtkhtml/document/htmldocument.c: (html_document_restyle_node),
	(html_document_node_inserted_traverser),
	(html_document_node_inserted): Fixed some stupid style reference bugs.

	* libgtkhtml/dom/core/dom-node.c: (dom_node_finalize): removed a debug message.

	* libgtkhtml/graphics/htmlimage.c: (html_image_area_updated),
	(html_image_closed), (html_image_area_prepared): Removed debug messages.

	* libgtkhtml/layout/htmlbox.c: (html_box_set_style): Fixed bug.

	* libgtkhtml/layout/htmlboxfactory.c:
	(add_before_and_after_elements), (html_box_factory_new_box): added a parent_style param.

	* libgtkhtml/layout/htmlboxtext.c: (html_box_text_relayout): Fixed a style reference bug.

	* libgtkhtml/layout/htmlstyle.c: (html_style_unref),
	(html_style_new): removed the style->parent member.

	* libgtkhtml/layout/htmlstyle.h: removed the style->parent member

	* libgtkhtml/layout/htmlstylebackground.c:
	(html_style_set_style_background), (html_style_background_new),
	(html_style_background_dup), (html_style_set_background_color),
	(html_style_set_background_image),
	(html_style_set_background_repeat): changed > 0 to > 1

	* libgtkhtml/layout/htmlstyleborder.c:
	(html_style_set_style_border), (html_style_border_new),
	(html_style_border_dup), (html_style_set_border_top_width),
	(html_style_set_border_bottom_width),
	(html_style_set_border_left_width),
	(html_style_set_border_right_width),
	(html_style_set_border_top_style),
	(html_style_set_border_bottom_style),
	(html_style_set_border_left_style),
	(html_style_set_border_right_style),
	(html_style_set_border_top_color),
	(html_style_set_border_bottom_color),
	(html_style_set_border_left_color),
	(html_style_set_border_right_color): changed > 0 to > 1

	* libgtkhtml/layout/htmlstylebox.c: (html_style_set_style_box),
	(html_style_set_width), (html_style_set_height),
	(html_style_set_min_width), (html_style_set_max_width),
	(html_style_set_min_height), (html_style_set_max_height): changed > 0 to > 1

	* libgtkhtml/layout/htmlstyleinherited.c:
	(html_style_set_style_inherited), (html_style_inherited_new),
	(html_style_inherited_dup), (html_style_set_color),
	(html_style_set_direction), (html_style_set_bidi_level),
	(html_style_set_text_decoration), (html_style_set_font_variant),
	(html_style_set_font_weight), (html_style_set_font_weight_bolder),
	(html_style_set_font_weight_lighter), (html_style_set_font_style),
	(html_style_set_font_family), (html_style_set_font_stretch),
	(html_style_set_font_size_common), (html_style_set_font_size),
	(html_style_set_line_height), (html_style_set_cursor),
	(html_style_set_border_spacing), (html_style_set_caption_side),
	(html_style_set_text_align), (html_style_set_white_space),
	(html_style_set_list_style_type): changed > 0 to > 1

	* libgtkhtml/layout/htmlstyleoutline.c:
	(html_style_set_style_outline), (html_style_outline_dup),
	(html_style_set_outline_width), (html_style_set_outline_style),
	(html_style_set_outline_color): changed > 0 to > 1

	* libgtkhtml/layout/htmlstylesurround.c:
	(html_style_set_style_surround), (html_style_surround_new),
	(html_style_set_position_top), (html_style_set_position_right),
	(html_style_set_position_bottom), (html_style_set_position_left),
	(html_style_set_margin_top), (html_style_set_margin_bottom),
	(html_style_set_margin_left), (html_style_set_margin_right),
	(html_style_set_padding_left), (html_style_set_padding_right),
	(html_style_set_padding_top), (html_style_set_padding_bottom): changed > 0 to > 1

	* libgtkhtml/view/htmlview.c: (html_view_insert_node),
	(html_view_style_updated): Fixed some more style reference bugs.

2001-07-06  Anders Carlsson  <andersca@codefactory.se>

	* libgtkhtml/view/htmlevent.c (html_event_button_release): Cancel when we've found
	a link.

	* libgtkhtml/document/htmldocument.c (html_document_clear): Reset active, focused 
	and hover nodes.

	* libgtkhtml/view/htmlview.c (html_view_focus): Focus the widget even if it's empty.

	* libgtkhtml/document/htmlfocusiterator.c (html_focus_iterator_next_element): Don't
	try to find the next focusable element if the document element is NULL.

	* libgtkhtml/dom/html/dom-htmlinputelement.c (is_focusable): Return FALSE
	when an element is disabled.

	* libgtkhtml/dom/core/dom-node.c (dom_Node_dispatchEvent): Unref the last
	target and set it to NULL.

	* libgtkhtml/document/htmldocument.c (html_document_clear): Set dom_document
	and focus_element to NULL.

2001-07-05  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/css/cssmatcher.c: (css_matcher_apply_rule): Added 
	"outline-*:" support.

	* libgtkhtml/css/html.css.h: Added a outline property to a[href]:focus
	and img:focus.

	* libgtkhtml/document/htmldocument.c: (html_document_restyle_node):

	* libgtkhtml/graphics/htmlstylepainter.c:
	(html_style_painter_draw_outline): New function, draw a nice outline
	arround the layout box.

	* libgtkhtml/graphics/htmlstylepainter.h: added html_style_painter_draw_outline.

	* libgtkhtml/layout/Makefile.am: Added htmlstyleoutline.c

	* libgtkhtml/layout/htmlbox.c: (html_box_paint), draw outline.
	(html_box_set_style): store the style in the DomNode.

	* libgtkhtml/layout/htmlbox.h: Updated the HTML_BOX_GET_STYLE macro.

	* libgtkhtml/layout/htmlboxblockroot.c: Removed this file.

	* libgtkhtml/layout/htmlboxblockroot.h: Removed this file.

	* libgtkhtml/layout/htmlboxfactory.c: (html_box_factory_new_box):
	Don't call html_box_set_style.

	* libgtkhtml/layout/htmlboxtext.c: (html_box_text_relayout):
	use HTML_BOX_GET_STYLE

	* libgtkhtml/layout/htmlstyle.c: (html_style_unref),
	(html_default_style_new), (html_style_new), (html_style_compare):
	Added a new HtmlStyleOutline struct.
	
	* libgtkhtml/layout/htmlstyle.h:

	* libgtkhtml/util/htmlglobalatomlist.h: Added a new atom ("invert").

	* libgtkhtml/view/htmlevent.c: (html_event_mouse_move): Use the
	HTML_BOX_GET_STYLE.

	* libgtkhtml/view/htmlview.c: (html_view_repaint_callback): Removed
	a debug message.

	* tests/samples/css-support.html: Added outline-*: to the list
	of supported properties.

	* tests/samples/jborg.html: Added a :outline testcase

2001-07-05  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/view/htmlview.c (html_view_box_repaint_traverser): Fixed
	a small bug. *x != x2.

2001-07-04  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/document/htmldocument.c:
	(html_document_node_inserted_traverser): set the textarea text.

	* libgtkhtml/dom/core/dom-node.c: (dom_Node_mkref): Create TextArea nodes.

	* libgtkhtml/dom/dom-types.h: Added DomHTMLTextAreaElement

	* libgtkhtml/dom/html/Makefile.am: added dom-htmltextareaelement.[ch].

	* libgtkhtml/dom/html/dom-htmlformelement.c: (is_control),
	(dom_HTMLFormElement_submit), (dom_HTMLFormElement_reset):

	* libgtkhtml/dom/html/dom-htmlinputelement.c:
	(dom_HTMLInputElement__get_readOnly), should be readOnly not readonly.
	(dom_HTMLInputElement__set_defaultValue), reset the control after.
	(dom_HTMLInputElement__set_readOnly),should be readOnly not readonly.
	(dom_HTMLInputElement__set_defaultChecked): reset the control after.

	* libgtkhtml/dom/html/dom-htmlinputelement.h:

	* libgtkhtml/layout/html/htmlboxembeddedentry.c:
	(widget_text_changed),
	(html_box_embedded_entry_handle_html_properties):

	* libgtkhtml/layout/html/htmlboxembeddedtextarea.c:
	(html_box_embedded_textarea_handle_html_properties),
	(html_box_embedded_textarea_new): Cleanup.

	* libgtkhtml/layout/html/htmlboxembeddedtextarea.h:

	* libgtkhtml/layout/htmlboxfactory.c: (html_box_factory_new_box): 
	Removed some old textarea code.

	* tests/samples/jborg.html: Better test code.

2001-07-04  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/util/rfc1738.c: New file.

	* libgtkhtml/dom/html/dom-htmlformelement.c:
	(dom_HTMLFormElement_submit), (dom_HTMLFormElement_reset):

	* libgtkhtml/dom/html/dom-htmlinputelement.c:
	(dom_HTMLInputElement__get_defaultValue),
	(dom_HTMLInputElement__get_value),
	(dom_HTMLInputElement__get_checked),
	(dom_HTMLInputElement__get_defaultChecked),
	(dom_HTMLInputElement__set_defaultValue),
	(dom_HTMLInputElement__set_value),
	(dom_HTMLInputElement__set_readonly),
	(dom_HTMLInputElement__set_checked),
	(dom_HTMLInputElement__set_defaultChecked),
	(dom_html_input_element_widget_toggled),
	(dom_html_input_element_reset), (dom_html_input_element_encode),
	(dom_html_input_element_init): Implemented reset, defaultChecked
	and defaultValue.
	

	* libgtkhtml/dom/html/dom-htmlinputelement.h:

	* libgtkhtml/layout/html/Makefile.am:

	* libgtkhtml/layout/html/htmlboxembedded.c:
	(html_box_embedded_find_form), (html_box_embedded_finalize),
	(html_box_embedded_class_init), (html_box_embedded_init),
	(html_box_embedded_get_type): Cleanen up somewhat.

	* libgtkhtml/layout/html/htmlboxembedded.h:

	* libgtkhtml/layout/html/htmlboxembeddedbutton.c:
	(html_box_embedded_button_clicked),
	(html_box_embedded_button_handle_html_properties),
	(html_box_embedded_button_class_init): do submit and
	reset directy on the Form DomNode.

	* libgtkhtml/layout/html/htmlboxembeddedcheckbox.c:
	(html_box_embedded_checkbox_handle_html_properties),
	(html_box_embedded_checkbox_class_init): A simple
	model, view hack.

	* libgtkhtml/layout/html/htmlboxembeddedentry.c:
	(html_box_embedded_entry_handle_html_properties),
	(html_box_embedded_entry_class_init): Same here.

	* libgtkhtml/layout/html/htmlboxembeddedhidden.c:
	Removed file.
	
	* libgtkhtml/layout/html/htmlboxembeddedhidden.h:
	Removed file.
	
	* libgtkhtml/layout/html/htmlboxembeddedimage.c:
	(html_box_embedded_image_class_init): cleanup

	* libgtkhtml/layout/html/htmlboxembeddedradio.c:
	(html_box_embedded_radio_set_group),
	(html_box_embedded_radio_relayout), (toggled),
	(html_box_embedded_radio_handle_html_properties),
	(html_box_embedded_radio_class_init): Some cleanup.

	* libgtkhtml/layout/html/htmlboxembeddedselect.c:
	(html_box_embedded_select_handle_html_properties),
	(html_box_embedded_select_class_init): Cleanup

	* libgtkhtml/layout/html/htmlboxembeddedtextarea.c:
	(html_box_embedded_textarea_set_text),
	(html_box_embedded_textarea_handle_html_properties),
	(html_box_embedded_textarea_class_init): Cleanup.

	* libgtkhtml/layout/html/htmlboxform.c: (html_box_form_finalize):
	Moved the submit code to the DomNode.
	
	* libgtkhtml/layout/htmlboxfactory.c: (html_box_factory_new_box):
	Don't create HtmlBoxEmbeddedHidden.
	
	* libgtkhtml/util/Makefile.am: Added the new files.

	* tests/samples/jborg.html: Fixed the testcase.

2001-07-04  Anders Carlsson  <andersca@codefactory.se>

	* libgtkhtml/view/htmlview.c: Improve the focus support.

	* libgtkhtml/layout/html/htmlboxembedded.c (html_box_embedded_set_widget): Add box as data.

	* libgtkhtml/dom/traversal/dom-nodeiterator.c (dom_NodeIterator_nextNode): Fix bug.
	(dom_NodeIterator_previousNode): Likewise.

	* libgtkhtml/dom/html/dom-htmlinputelement.c (is_focusable): Add.

	* libgtkhtml/dom/html/Makefile.am (libdomhtml_la_SOURCES): Add dom-htmlanchorelement.[ch].

	* libgtkhtml/dom/html/dom-htmlanchorelement.h: New file.

	* libgtkhtml/dom/html/dom-htmlanchorelement.c: New file.

	* libgtkhtml/dom/core/dom-node.c (dom_Node_mkref): Create anchor element if
	node name is "a".

	* libgtkhtml/dom/core/dom-element.c (dom_element_is_focusable): Add function.

	* libgtkhtml/dom/core/dom-element.h (dom_element_is_focusable): Add function.

	* libgtkhtml/dom/dom-types.h: Add HTMLAnchorElement typedef.

	* libgtkhtml/document/htmldocument.h: Rename from _focus_node to _focus_element.

	* libgtkhtml/document/htmldocument.c (html_document_clear): Don't destroy
	the focus iterator anymore.
	(html_document_update_focus_element): Rename from _focus_node.

	* libgtkhtml/document/Makefile.am: add htmlfocusiterator.c

	* libgtkhtml/css/cssmatcher.c: Remove ununsed struct.

2001-07-04  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/dom/html/dom-htmlinputelement.c:
	(dom_html_input_element_widget_toggled),
	(dom_html_input_element_widget_text_changed),
	(dom_html_input_element_class_init): Added a "widget_text_changed" signal.

	* libgtkhtml/dom/html/dom-htmlinputelement.h: Added a "widget_text_changed"
	signal

	* libgtkhtml/layout/html/htmlboxembeddedcheckbox.c:
	(widget_toggled), (toggled),
	(html_box_embedded_checkbox_handle_html_properties): Renamed the signal
	to "widget_toggled".

	* libgtkhtml/layout/html/htmlboxembeddedentry.c:
	(widget_text_changed), (changed),
	(html_box_embedded_entry_handle_html_properties): Listen on signals
	from the DomNode on text change.

	* libgtkhtml/layout/html/htmlboxembeddedentry.h: Added a "in_text_changed"
	boolean

	* libgtkhtml/layout/html/htmlboxembeddedradio.c: (widget_toggled),
	(toggled), (html_box_embedded_radio_handle_html_properties): renamed signal
	to widget_toggled.

	* libgtkhtml/util/htmlmarshal.list: Added VOID:object

	* libgtkhtml/view/htmlview.c: (html_view_motion_notify),
	(html_view_button_press), (html_view_button_release): Ignore events
	from other GdkWindows.

2001-07-03  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/dom/html/dom-htmlinputelement.c:
	(dom_html_input_element_widget_checked),
	(dom_html_input_element_class_init): Added a "widget_checked" signal.

	* libgtkhtml/dom/html/dom-htmlinputelement.h:

	* libgtkhtml/layout/html/htmlboxembeddedcheckbox.c:
	(widget_checked), (toggled),
	(html_box_embedded_checkbox_handle_html_properties): Listen to the
	"widget_checked" signal.

	* libgtkhtml/layout/html/htmlboxembeddedradio.c:
	(html_box_embedded_radio_set_group),
	(html_box_embedded_radio_relayout), (widget_checked), (toggled),
	(html_box_embedded_radio_handle_html_properties):Listen to the
	"widget_checked" signal.

	* libgtkhtml/layout/html/htmlboxform.c:
	(html_box_form_set_radio_group), (free_hash), run g_stdup on the hash key.
	(html_box_form_finalize): Free the hash keys.

	* libgtkhtml/util/htmlmarshal.list: added a new marshal.

2001-07-03  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/graphics/htmlgdkpainter.c (draw_rectangle): Removed the
	clipping code, becase it doesn't always work.

	* libgtkhtml/document/htmldocument.c:
	(html_document_node_inserted_traverser): Call 
	dom_html_option_element_new_character_data
	when recieving character data inside <option> elements.

	* libgtkhtml/dom/core/dom-node.c: (dom_Node_mkref):
	Added <select> support
	
	* libgtkhtml/dom/dom-types.h:
	Added DomHTMLSelectElement
	
	* libgtkhtml/dom/html/Makefile.am:
	Added dom-htmlselectelement.[ch]
	
	* libgtkhtml/dom/html/dom-htmlinputelement.c:
	(dom_HTMLInputElement__set_maxLength): it should read the "maxlength" attribute

	* libgtkhtml/dom/html/dom-htmloptionelement.c: More work.

	* libgtkhtml/dom/html/dom-htmloptionelement.h:

	* libgtkhtml/layout/html/Makefile.am:
	Added htmlboxembeddedselect.[ch] and removed htmlboxembeddedlistbox.[ch]

	* libgtkhtml/layout/html/htmlboxembeddedlistbox.c:
	Removed this file.
	
	* libgtkhtml/layout/html/htmlboxembeddedlistbox.h:
	Removed this file.
	
	* libgtkhtml/layout/html/htmlboxembeddedselect.c:
	New file, reimplemented the <select> code from scratch.

	* libgtkhtml/layout/html/htmlboxembeddedselect.h:
	new file.
	
	* libgtkhtml/layout/htmlboxfactory.c: (html_box_factory_new_box):
	Create select boxes instead of listboxes.
	
	* tests/samples/jborg.html: Fixed the testpage.

2001-07-03  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/dom/dom-htmloptionelement.[ch]: New files.
	
	* libgtkhtml/dom/dom-types.h: Added DomHtmlOptionElement

	* libgtkhtml/dom/html/Makefile.am: Added dom-htmloptionelement.[ch]

	* libgtkhtml/dom/html/dom-htmlformelement.c:
	The DomString functions are now not returning const strings.

	* libgtkhtml/dom/html/dom-htmlinputelement.c:
	The DomString functions are now not returning const strings.

	* libgtkhtml/layout/html/htmlboxembeddedcheckbox.c:
	(html_box_embedded_checkbox_encode),
	(html_box_embedded_checkbox_handle_html_properties):
	Free the strings returned from the DOM calls.

	
	* libgtkhtml/layout/html/htmlboxembeddedentry.c:
	(html_box_embedded_entry_reset), (html_box_embedded_entry_encode),
	(html_box_embedded_entry_handle_html_properties):
	Free the strings returned from the DOM calls.

	* libgtkhtml/layout/html/htmlboxembeddedradio.c:
	(html_box_embedded_radio_set_group),
	(html_box_embedded_radio_encode),
	(html_box_embedded_radio_handle_html_properties):
	Free the strings returned from the DOM calls.

2001-07-03  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/document/htmldocument.c:
	(html_document_node_inserted_traverser): Moved all HtmlElement specific
	code to the corresponding dom node.

	* libgtkhtml/dom/html/dom-htmlelement.c: (dom_HTMLElement__set_id),
	(dom_HTMLElement__set_title), (dom_HTMLElement__set_lang),
	(dom_HTMLElement__set_dir), (dom_HTMLElement__set_className),
	(dom_html_element_parse_html_properties): new function, this one takes care
	of parsing the element-specific html properties.

	* libgtkhtml/dom/html/dom-htmlelement.h: New virtual function added.

	* libgtkhtml/dom/html/dom-htmlformelement.c:
	(parse_html_properties), (dom_html_form_element_class_init): Implemented
	this one.

	* libgtkhtml/dom/html/dom-htmlinputelement.c:
	(parse_html_properties), (dom_html_input_element_class_init): Implemented 
	this one.

2001-07-02  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/graphics/htmlstylepainter.c 
	(html_style_painter_draw_background_image): Fixed a typo.

	* libgtkhtml/layout/htmlstyleinherited.c 
	(get_new_font_size): The default dimension for font-sizes is "pt".

	* libgtkhtml/graphics/htmlgdkpainter.c: (draw_rectangle),
	(fill_rectangle): Do clipping.
	
	* libgtkhtml/graphics/htmlpainter.c: (html_painter_draw_rectangle),
	(html_painter_fill_rectangle): send the new parameter to the function.
	
	* libgtkhtml/graphics/htmlpainter.h:
	
	* libgtkhtml/graphics/htmlstylepainter.c: (paint_background_text),
	(paint_background), (html_style_painter_draw_background_color): Added
	the clipping area parameter.
	
	* libgtkhtml/layout/htmlbox.c: (html_box_paint):
	Send the area variable to draw_rectangle.
	
	* libgtkhtml/layout/htmlboxlistitem.c: (html_box_list_item_paint):
	Send the area variable.

2001-07-01  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/layout/htmlboxtable.c (COL_RATIO): Updated this macro
	to handle the special case thew both the minimum and maximum
	column width is 0. This fixed the "g_assert (toadd >= 0)" program
	exit on various pages (www.aftonbladet.se).

2001-06-26  Jonas Borgstrm  <jonas@codefactory.se>

	* tests/samples/css-support.html: added list-style-type to
	the list of supported properties.

	* libgtkhtml/layout/htmllinebox.c: Update according the the
	changes in htmlrelayout.c

	* libgtkhtml/layout/htmlboxblock.c: Update accordingly to the
	changes in htmlrelayout.c.
	(html_box_block_create_inline_lines): Don't call update geometry
	if the line placement failed.

	* libgtkhtml/layout/htmlrelayout.c: Added boxwidth as an argument to 
	all the functions to speed things up.
	(html_relayout_get_max_width_ignore): Use the correct width value.

2001-06-25  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/layout/html/htmlboximage.c (html_box_image_finalize): 
	New function, free the scaled pixbuf.

	* libgtkhtml/layout/htmlboxtext.c (html_box_text_new): Added
	a "is_master" argument, and the text->master struct will only
	be allocated if is_master is TRUE.

	* libgtkhtml/layout/html/htmlboxembedded*.c (html_box_embedded_*_new): Don't
	use HTML_XXXX cast macros when allocating instances.

	* libgtkhtml/layout/htmlboxblock.c (html_box_block_new): Don't
	use HTML_XXXX cast macros when allocating instances.

	* libgtkhtml/layout/htmlboxblock.c (html_box_block_new): Don't
	use HTML_XXXX cast macros when allocating instances.

	* libgtkhtml/layout/htmlboxblock.c (html_box_block_new): Don't
	use HTML_XXXX cast macros when allocating instances.

	* libgtkhtml/layout/htmlboxinline.c (html_box_inline_new): Don't
	use HTML_XXXX cast macros when allocating instances.

	* libgtkhtml/layout/htmlboxtable.c (html_box_table_new): Don't
	use HTML_XXXX cast macros when allocating instances.

	* libgtkhtml/layout/htmlboxtablecell.c (html_box_tablecell_new): Don't
	use HTML_XXXX cast macros when allocating instances.

	* libgtkhtml/layout/htmlboxtablerow.c (html_box_tablerow_new): Don't
	use HTML_XXXX cast macros when allocating instances.

	* libgtkhtml/graphics/htmlimagefactory.c (write_pixbuf): Don't
	leak memory.

	* libgtkhtml/graphics/htmlcolor.c (html_color_new_from_name): 
	Don't leak memory.

	* libgtkhtml/document/htmldocument.c (html_document_restyle_node): 
	Don't forget to unref the style if we don't use it.
	(html_document_node_inserted_traverser): Fixed a memory leak.
	(html_document_node_inserted_traverser): Don't allocate the style
	struct twice. 

	* libgtkhtml/css/cssmatcher.c (handle_background_repeat): New function.
	(css_matcher_apply_rule): Made "background:" support background-repeat
	options also.

	* libgtkhtml/graphics/htmlstylepainter.c 
	(html_style_painter_draw_background_image): Correctly support
	repeat_x and repeat_y.

	* tests/httpstream.h (http_stream_destroy): Added the 
	http_stream_destroy definition.

	* tests/httpstream.c (http_stream_destroy): New function.

	* tests/browser-window.c (stream_cancel): New function.
	(url_requested): Register a cancel function.

	* libgtkhtml/util/htmlstream.c 
	(html_stream_set_cancel_func): New function.
	(html_stream_cancel): New function.

	* libgtkhtml/layout/htmlstylebackground.c (html_style_background_dup): 
	call g_object_ref on the background image.

	* libgtkhtml/graphics/htmlimagefactory.c (write_pixbuf): Removed
	some obsolete code.
	(html_image_factory_get_image): Tell the image which stream is
	attached to it.

	* libgtkhtml/graphics/htmlimage.h: Removed the "interested" memeber
	and added a new "stream" member.

	* libgtkhtml/graphics/htmlimage.c (html_image_finalize): Always
	close the pixbuf loader before unref-ing.
	(html_image_finalize): Cancel the stream if it is still active.

2001-06-21  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/dom/events/dom-documentevent.c 
	(dom_document_event_get_type): The wrong parent type was specified.

	* libgtkhtml/dom/events/dom-event-utils.c 
	(dom_event_listener_signal_get_type): The wrong class struct size
	was used.

2001-06-20  Jonas Borgstrm  <jonas@codefactory.se>

	* tests/prop-editor.c (get_param_specs): Updated it to
	work with the new gobject API.

2001-06-19  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/document/htmldocument.c 
	(html_document_node_inserted_traverser): 
	Added support for the size="x" attribute on <input> elements.

	* libgtkhtml/layout/html/htmlboxembeddedentry.c 
	(html_box_embedded_entry_handle_html_properties): Set the width
	of the widget if the size="x" parameter was specified.

	* libgtkhtml/dom/html/dom-htmlinputelement.c 
	(dom_HTMLInputElement__set_size): New function.
	(dom_HTMLInputElement__get_size): New function.

2001-06-18  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/layout/htmllinebox.c (html_line_box_add_block): 
	Don't forget to move the block to the correct y cooridinate
	even if we dont relayout it.

	* libgtkhtml/layout/htmlbox.c 
	(html_box_left|right|top|bottom_mbp_sum): Added an extra variable width.

	* libgtkhtml/layout/htmlboxinline: Same here. 

	* libgtkhtml/layout/htmlboxlistitem.c: Same here. 

	* libgtkhtml/layout/htmlboxtable.c: Same here. 

	* libgtkhtml/layout/htmlboxtablecell.c: Same here. 

	* libgtkhtml/layout/htmlrelayout.c: Same here. 

	* libgtkhtml/view/htmlevent.c: Same here. 

	* libgtkhtml/layout/htmlboxroot.c: Updated to the apichange 

	* libgtkhtml/layout/htmlstyle.c: Made html_length_get_value G_INLINE_FUNC. 

2001-06-17  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/layout/html/htmlboxembedded.c 
	(html_box_embedded_handle_html_properties): Disable font modification
	until the GtkEntry bug is fixed.

	* libgtkhtml/layout/htmlboxtablecell.c (html_box_table_cell_get_boundaries):
	Set containing_width.

	* libgtkhtml/layout/htmlboxroot.c (html_box_root_get_boundaries): Set
	containing_width.

	* libgtkhtml/layout/htmlbox.c (html_box_get_containing_block_width): 
	Use block->containing_width.

	* libgtkhtml/layout/htmlboxblock.c (html_real_box_block_update_geometry): 
	Set containing_block.
	(html_box_block_real_get_boundaries): Same here.

	* libgtkhtml/layout/htmlboxblock.h: Added containing_width.

2001-06-16  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/css/cssmatcher.c (css_matcher_html_to_css_after): 
	"left|right|top|bottommargin=" sets the margin and nod the padding.

	* libgtkhtml/css/html.css.h: Added title "{ display: none }"
	and body { margin: 8px }

	* libgtkhtml/graphics/htmlstylepainter.c 
	(html_style_painter_draw_background_color): If the background-color
	isn't specified for a <html> element, then the background-color
	from the <body> element is used.

	* libgtkhtml/dom/html/dom-htmlelement.c (dom_HTMLElement__get_title): 
	Implemented this function.
	(dom_HTMLElement__get_lang): Same here.
	(dom_HTMLElement__get_dir): Same here.
	(dom_HTMLElement__set_id): Same here.
	(dom_HTMLElement__set_title): Same here.
	(dom_HTMLElement__set_lang): Same here.
	(dom_HTMLElement__set_dir): Same here.
	(dom_HTMLElement__set_className): Same here.

	* libgtkhtml/dom/html/dom-htmlcollection.c (dom_html_collection_finalize): 
	Added this missing function.

	* libgtkhtml/dom/core/dom-element.c (dom_Element_setAttribute): The
	value variable shoule be "const".

	* libgtkhtml/dom/html/dom-htmlformelement.c (dom_HTMLFormElement__get_elements): 
	New function.
	(dom_HTMLFormElement__get_length): New function.
	(dom_HTMLFormElement__get_elements_length): New function.
	(dom_HTMLFormElement__get_elements_namedItem): New function.
	(dom_HTMLFormElement__get_elements_item): New function.

	* libgtkhtml/layout/htmlboxtext.c (html_box_text_recalc_items): 
	Changed a few lines to work with the new Pango API.

2001-06-15  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/dom/html/dom-htmlformelement.c (dom_HTMLFormElement__get_method): 
	"get" is the default value.

	* libgtkhtml/layout/html/htmlboxform.c: Moved some properties to the DomNode.

	* libgtkhtml/document/htmldocument.c (html_document_node_inserted_traverser): 
	Use DOM_IS_XXXX macros instead of a strcasecmp.

	* libgtkhtml/layout/html/htmlboxembeddded*.[ch]: Moved some Form specific
	attributes to the DomNode.

	* libgtkhtml/dom/html/dom-htmlinputelement.c 
	(dom_HTMLInputElement__set_maxLength): New function.
	(dom_HTMLInputElement__get_maxLength): New function.

	* libgtkhtml/dom/core/dom-node.c (dom_Node_mkref): Added a missing "else".

	* libgtkhtml/document/htmldocument.c (html_document_node_inserted_traverser): 
	Parse all the <input> attributes and apply them on the DomNode.

	* libgtkhtml/dom/html/dom-htmlinputelement.[ch]: New files. partially implemented
	the HTMLInputElement interface.

	* libgtkhtml/document/htmldocument.c (html_document_node_inserted_traverser): 
	Added some <input type="image"> image loading code.

	* libgtkhtml/layout/htmlboxfactory.c (html_box_factory_new_box): 
	Handle <input type="image">

	* libgtkhtml/layout/html/htmlboxembeddedimage.[ch]: new file.
	This implements <input type="image">.

	* libgtkhtml/dom/dom-types.h: Added DomHtmlElement, 
	DomHtmlFormElement and DomHtmlCollection.

	* libgtkhtml/dom/core/dom-node.c (dom_Node_mkref): Create 
	DomHtmlFormElement DomNode objects on <form> elements.

	* libgtkhtml/dom/html/dom-htmlelement.[ch]: New file. Implemented 
	The HTMLElement interface.

	* libgtkhtml/dom/html/dom-htmlformelement.[ch]: New file. Implemented 
	The HTMLFormElement interface.

	* libgtkhtml/dom/html/dom-htmlcollection.[ch]: New file. Implemented 
	The HTMLCollection interface.

	* libgtkhtml/dom/html/Makefile.am (libgtkhtmlincludedir): New file.

	* libgtkhtml/dom/Makefile.am (libgtkhtmlincludedir): Added the 
	"html" directory.

	* configure.in: Added libgtkhtml/dom/html/Makefile.am

2001-06-14  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/layout/htmllinebox.c (html_line_box_add_block): Ok, we needed those
	lines of code anyway :)

	* libgtkhtml/layout/htmlboxtable.c (html_box_table_h_align): Don't add negative
	values.

	* libgtkhtml/layout/htmllinebox.c (html_line_box_add_block): Dont start modifying
	values unless we are sure we have to relayout this box. This fixed the strange
	table centration bug on slashdot.org and sun.com. I also removed some
	obsolete code. 

2001-06-13  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/css/cssmatcher.c (css_matcher_html_to_css): Fixed a memory leak.
	(css_matcher_html_to_css): run g_strchug () on all variables that are passed
	to atoi(), this fixes layout on broken pages like MrProject :)

2001-06-12  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/layout/htmlboxblock.c (html_real_box_block_update_geometry): Use
	left_mbp_sum instead of horisontal_mbp_sum.

	* libgtkhtml/layout/html/htmlboxembedded.c (allocate): send a "relayout_node"
	signal.

	* tests/samples/jborg.html: Added another group of radiobuttons.

	* tests/browser-window.c (browser_window_load_test): add jborg.html

	* libgtkhtml/layout/htmlboxfactory.c (html_box_factory_new_box): Pass the DOM node
	as the second argument.

	* libgtkhtml/layout/html/htmlboxform.h: A new member "radiogroups" a hash table.

	* libgtkhtml/layout/html/htmlboxform.c (html_box_form_get_radio_group): Store
	the radio groups in a hash table.

	* libgtkhtml/layout/html/htmlboxembeddedradio.c (html_box_embedded_radio_set_group): 
	Pass embedded->name as the key when asking for the radio group.
	(html_box_embedded_radio_handle_html_properties): Set a default embedded->name if not
	specified.

	* libgtkhtml/layout/html/htmlboxembeddedtextarea.c (html_box_embedded_textarea_handle_html_properties):
	use gtk_widget_set_usize instead of gtk_text_view_set_window_size.
	(html_box_embedded_textarea_new): Store the GtkTextBuffer in the DOM node
	so the buffer is common for all the HtmlViews.

	* libgtkhtml/layout/html/htmlboxembedded.c (html_box_embedded_handle_html_properties): 
	Set the widget font.

2001-06-11  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/layout/htmlboxtext.c (html_box_text_should_paint): New function.
	this one takes care of painting the border, even though it is outside the
	real box.

	* libgtkhtml/graphics/htmlstylepainter.c (paint_background_text): New function
	a text background painting special case. We have to add the border height.
	(html_style_painter_draw_top_border): Don't forget to set the color.
	(html_style_painter_draw_right_border): Don't forget to set the color.
	(html_style_painter_draw_bottom_border): Don't forget to set the color.
	(html_style_painter_draw_left_border): Don't forget to set the color.

	* config.guess: Should not be in the CVS.
	
	* config.sub: Should not be in the CVS.
	
	* ltconfig: Should not be in the CVS.
	
	* ltmain.sh: Should not be in the CVS.
	
	* libgtkhtml/layout/htmllinebox.c (html_line_box_add_block): Use block->full_width
	if we can.

	* libgtkhtml/layout/htmlboxroot.c (html_box_root_relayout): Use block->full_width
	instead.

	* libgtkhtml/layout/htmlboxblock.c (html_real_box_block_update_geometry): 
	Pass the "relayout" variable to this function. Set block->full_width.
	(html_box_block_should_paint): New function. Use block->full_width instead
	of box->width.

	* libgtkhtml/layout/htmlbox.c (html_box_real_should_paint): New function.
	(html_box_paint): Call html_box_should_paint.

	* libgtkhtml/layout/htmlbox.h: (html_box_should_paint) new virtual function.

2001-06-11  Anders Carlsson  <andersca@codefactory.se>

	* libgtkhtml/css/html.css.h: Add simple :focus rule for now.
	* libgtkhtml/view/htmlview.c: (set_adjustment_clamped),
	(html_view_scroll_to_node), (html_view_real_move_focus): Improve scrolling
	support.

	* libgtkhtml/view/htmlview.c: (html_view_scroll_to_node),
	(html_view_real_move_focus): Start work on scroll_to_node.
	* tests/samples/andersca.html: New testcase.

2001-06-11  Anders Carlsson  <andersca@codefactory.se>

	* libgtkhtml/view/htmlview.h: add move_focus to class struct.

	* libgtkhtml/view/htmlview.c (html_view_box_repaint_traverser): Rename function
	to have a better name.
	(html_view_real_move_focus): New function for moving focus, uses a NodeIterator
	to iterate over focusable nodes.
	(html_view_add_focus_binding): New convenience function.
	(html_view_class_init): Create a new signal "move_focus", add Tab and Shift+Tab
	as focus moving key bindings.

	* libgtkhtml/dom/traversal/dom-nodeiterator.h: Add stuff to struct.

	* libgtkhtml/dom/traversal/dom-nodeiterator.c: Make this work.

	* libgtkhtml/dom/traversal/dom-documenttraversal.c: Rewritten to be an interface.

	* libgtkhtml/dom/traversal/dom-documenttraversal.h: Rewritten to be an interface.

	* libgtkhtml/dom/traversal/Makefile.am (libdomtraversal_la_SOURCES): Add 
	dom-nodefilter.c

	* libgtkhtml/dom/core/dom-node.c (dom_Node_notifyLiveObjectsAboutRemoval): New function.
	(dom_Node_removeChild): Notify live objects about removal.

	* libgtkhtml/dom/core/dom-document.h: Add list of iterators to struct.

	* libgtkhtml/dom/core/dom-document.c (dom_Document_createNodeIterator): New function.
	(dom_document_traversal_init): New function.
	(dom_document_get_type): Support DomDocumentTraversal interface.

	* libgtkhtml/dom/Makefile.am (SUBDIRS): Add traversal.

	* libgtkhtml/document/htmldocument.h: Add focus_node and focus_iterator 
	to struct.

	* libgtkhtml/document/htmldocument.c (html_document_clear): remove focus
	iterator if one exists.
	(html_document_update_active_node): When a node is active it is also focused.
	(html_document_update_focus_node): New function for updating the focus node.

	* libgtkhtml/css/cssmatcher.c: Add support for :focus.

2001-06-10  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/layout/htmlboxfactory.c (add_before_and_after_elements): 
	New function. :before and :after box creation support.

	* libgtkhtml/layout/htmlstyle.h: Added has_before_style and
	has_after_style.

	* libgtkhtml/css/cssmatcher.c (css_matcher_get_style): Added
	support for style->has_before|after_style.

	* libgtkhtml/view/htmlview.c (html_view_layout_tree_free): 
	Removed debug message.

2001-06-09  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/layout/htmlboxfactory.c: Deleted some unused code. 

	* tests/samples/css-support.html: background-image is now supported.

	* libgtkhtml/document/htmldocument.c (html_document_done_parsing): We
	don't have to repaint anything here.
	(html_document_update_active_node): Made this function behave the
	same way as html_document_update_hover_node.

	* libgtkhtml/view/htmlview.c (html_view_relayout): Run gtk_queue_draw.
	(relayout_timeout_callback): Don't call gtk_queue_draw.
	(relayout_idle_callback): Same here.

	* libgtkhtml/css/cssmatcher.c (css_matcher_html_to_css): Added support
	for the background=x html property.
	(handle_background_image): New function. This one handles background-image:
	parsing.

2001-06-08  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/view/htmlview.c (html_view_size_allocate): Switched
	back to normal relayout for now...
	(html_view_relayout): Better debugmessage.
	(html_view_repaint_callback): Paint 3 pixels extra in height so we allways
	paints the underline.

	* libgtkhtml/document/htmldocument.c (html_document_update_hover_node): 
	Change style on _all_ nodes that are affected.
	(html_document_update_active_node): Same thing.

	* libgtkhtml/view/htmlview.c (html_view_repaint_callback): Implemented
	this one the correct way.

2001-06-08  Anders Carlsson  <andersca@codefactory.se>

	* tests/simple.c (dom_mouse_over),
	(dom_mouse_out): Test functions for dom signals.
	(main): Hook up the dom_mouse_over and dom_mouse_out signals.

	* libgtkhtml/view/htmlview.h: Add move_cursor to class struct.

	* libgtkhtml/view/htmlview.c: Add MOVE_CURSOR as a signal enum.
	(html_view_set_adjustments): Make the step_increment and page_increment
	values of the adjustments a little more sane, not sure I like the current
	step_increment value though.
	(html_view_button_press): Grab focus on button press.
	(set_adjustment_clamped): New convenice function for clamping
	an adjustment value.
	(html_view_real_move_cursor): New default signal handler for move_cursor.
	(html_view_add_move_binding): Convenience function to add a move GtkBinding.
	(html_view_class_init): Create move_cursor signal and add default move
	bindings.

	* libgtkhtml/view/htmlevent.c (emit_button_mouse_event): Split
	emit_mouse_event into emit_button_mouse_event and 
	emit_motion_mouse_event
	(html_event_mouse_move): Emit mouseover and mouseout events
	if necessary.

	* libgtkhtml/document/htmldocument.h: Add dom_mouse_over and
	dom_mouse_out to dom_mouse_out.

	* libgtkhtml/document/htmldocument.c: Add DOM_MOUSE_OVER and
	DOM_MOSUE_OUT to signal enum.
	(html_document_dom_event): Emit signal on mouseover or 
	mouseout dom events.
	(html_document_class_init): Create dom_mouse_over and
	dom_mouse_out signals.

2001-06-07  Anders Carlsson  <andersca@codefactory.se>

	* tests/simple.c: Added a couple of signal handlers to test
	the new signals in HtmlDocument.

	* tests/browser-window.c (browser_window_new): Connect to the 
	link_clicked signal again

	* libgtkhtml/view/htmlview.h: Add mouse_down_[xy] and mouse_detail
	to HtmlView struct.

	* libgtkhtml/view/htmlview.c (html_view_relayout_after_timeout): 
	Only add a timeout if one doesn't exist.
	(html_view_get_type): Support the DomAbstractView interface.

	* libgtkhtml/view/htmlevent.c (emit_mouse_event): Convenience
	function for emitting a mouse event.
	(html_event_button_press): Only emit events on GDK_BUTTON_PRESS.
	(html_event_button_press): Save mouse position and increase detail
	if necessary, emit mousedown event, see if the event was cancelled
	and update the active node otherwise.
	(html_event_button_release): Emit mouseup event, check if the mouse
	position is the same as in button_press and emit click in that case.
	If the click event didn't get cancelled, check if the mouse is over
	a link element and emit the link_clicked if it is.

	* libgtkhtml/util/htmlmarshal.list: Add BOOLEAN:OBJECT marshaller.

	* libgtkhtml/dom/events/dom-mouseevent.c (dom_MouseEvent_initMouseEvent):
	Don't set related target if it is NULL.

	* libgtkhtml/dom/events/dom-mouseevent.h: add dom_MouseEvent_invoke.

	* libgtkhtml/dom/events/dom-event-utils.c (dom_MouseEvent_invoke): 
	New function, invokes a mouse event.

	* libgtkhtml/document/htmldocument.h: Add new signals to class
	struct.

	* libgtkhtml/document/htmldocument.c: Added signals to enum.
	(html_document_dom_event): Emit corresponding signals for the
	handled DOM events.
	(html_document_parsed_document_node): Add event listeners for the
	new events.
	(html_document_class_init): Create the new signals.

	* libgtkhtml/css/cssparser.c (css_parser_parse_atkeyword): Fix an 
	off-by-one-problem.

2001-06-07  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/layout/htmlbox.c (html_box_paint): Cleaned up this one.

	* libgtkhtml/view/htmlview.c (html_view_size_allocate): Relayout when
	idle instead.

	* libgtkhtml/layout/htmlboxtable.c (html_box_table_h_align): Call
	html_box_get_containing_block_width only when we have to.

	* libgtkhtml/dom/events/dom-mutationevent.c (dom_mutation_event_finalize): 
	Fixed a stupid typo-bug.

2001-06-06  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/layout/htmlbox.c (html_box_real_left|right|top|bottom_mbp_sum):
	Did some optimation. Don't bother calculating the containerbox width if we
	have a table.

	* libgtkhtml/view/htmlview.c (html_view_insert_node): Fixed a bug with
	a uninitialized variable.

	* libgtkhtml/layout/htmlboxtable.c (html_box_table_h_align): Enabled
	ltr and rtl support again.
	(*): some HTML_BOX_GET_STYLE, clean-up.

2001-06-06  Anders Carlsson  <andersca@codefactory.se>

	* libgtkhtml/view/htmlview.c (html_view_layout_tree_free): Don't try to
	find the sibling of a removed node.
	(html_view_removed): Only remove the view and its children, don't remove
	its siblings.

	* libgtkhtml/document/htmldocument.c (html_document_clear): Unref the DOM
	document here.

2001-06-06  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/layout/htmlboxtable.h: Removed the inrelayout flag.

	* libgtkhtml/layout/htmlboxtable.c: Added align="center" support. Destroyed
	the caption code :), filed bug #132 to remeber to fix it. I also did some
	general cleanup of the code.

	* libgtkhtml/layout/htmlbox.c (html_box_left_margin): Cleaned up this one.
	(html_box_right_margin): Same here.

	* libgtkhtml/graphics/htmlstylepainter.c (html_style_painter_draw_border): 
	Cleaned up the table border drawing code.

	* libgtkhtml/css/html.css.h: Added:
	"table[align=\"center\"] { margin-left: auto; margin-right: auto }"

2001-06-03  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/layout/htmlstyle.c (html_length_equals): Fixed a bug where
	two length structs wasn't considered equal when they both had the type
	HTML_LENGTH_AUTO, but different values.

2001-06-03  Anders Carlsson  <andersca@codefactory.se>

	* libgtkhtml/layout/htmlboxfactory.c (html_box_factory_new_box): If we've
	already got a text box, don't create a new one.

	* libgtkhtml/document/htmldocument.c (html_document_restyle_node): Don't
	try to restyle nodes without a style.

	* libgtkhtml/css/cssmatcher.c (css_matcher_html_to_css): Check for node->style.

	* libgtkhtml/document/htmldocument.c (html_document_close_stream): Relayout
	when the stream closes.
	(html_document_restyle_node): Don't try to restyle nodes with no style.

2001-06-03  Jonas Borgstrm  <jonas@codefactory.se>

	* tests/simple.c (cb_clear_doc): We have to return something.

2001-06-01  Anders Carlsson  <andersca@codefactory.se>

	* tests/simple.c (url_requested_timeout): Be more sophisticated when looking
	for files.
	(load_file): Use the new api for document loading.
	(main): Set debug painting to FALSE and connect to the request_url signal.
	(main): Add a Clear document button.

	* tests/dom-test-window.c (dom_test_window_construct): Put html view in a 
	scrolled window.

	* tests/dom-test-node-menu.c: Update stock icon names to match the new ones in gtk+2

	* tests/debug.c: Update to use new functions and remove old debugging output.

	* tests/browser-window.c (browser_window_load_file): Use the new api
	for document loading.
	(browser_window_load_test): Don't repaint and relayout here, this is now
	done by the view.
	(browser_window_properties): Callback for editing GtkHtmlContext properties.
	(browser_window_new): Connect to request_url signal.

	* tests/Makefile.am (testgtkhtml_SOURCES): Add debug.c and prop-editor.c

	* libgtkhtml/document/htmldocument.h: Basically rewritten from scratch to
	support multiple views in a cleaner way and to improve and simplify
	the document/view interaction.

	* libgtkhtml/document/htmldocument.c: Likewise.

	* libgtkhtml/view/htmlview.h: Likewise.

	* libgtkhtml/view/htmlview.c: Likewise.

	* libgtkhtml/view/htmlevent.c: Use the new document/view interfaces.

	* libgtkhtml/graphics/htmlimagefactory.c (html_image_factory_class_init): Rename 
	signal from "image_requested" to "request_image".
	(close_pixbuf): Emit "repaint_image" signal to image if we have a broken image.

	* libgtkhtml/graphics/htmlimagefactory.h: Rename signal in vtable.

	* libgtkhtml/layout/html/htmlboximage.c: Simplify this a lot.
	Basically a rewrite to take advantage of the new image code.

	* libgtkhtml/layout/htmlstyle.h: Rename the style change variables
	to be HTML_STYLE_CHANGE_.
	Add has_hover_style and has_active_style to the HtmlStyle struct.

	* libgtkhtml/layout/htmlstyle.c (html_length_from_css_value): Handle
	numbers without a type.
	(html_style_compare): Rename some style change variables.

	* libgtkhtml/layout/htmlboxtablerow.c (get_table): Fix a segfault.

	* libgtkhtml/layout/htmlboxtablecell.c (check_floats): Use is_parent.

	* libgtkhtml/layout/htmlboxfactory.c: Remove functions that are now in
	htmldocument.c or cssmatcher.c

	* libgtkhtml/layout/htmlbox.h: Change the style variable name to be style again.
	Rename html_box_has_parent to html_box_is_parent.

	* libgtkhtml/layout/htmlbox.c: Include gtkhtmlcontext.h
	(html_box_paint): Only draw debug rectangles if debug_painting is set in the context.
	(html_box_set_style): Don't set the new style if it's the same as the old one.
	(html_box_is_parent): is_parent is a better name than has_parent.

	* Makefile.am (EXTRA_DIST): Small fix.

	* Update to libtool 1.4

2001-05-29  Anders Carlsson  <andersca@codefactory.se>

	* tests/prop-editor.c: New file, a property editor shamelessly stolen from gtk+.

	* tests/prop-editor.h: Likewise.

	* libgtkhtml/gtkhtmlcontext.c (gtk_html_context_class_init): Add debug_painting property.
	(gtk_html_context_get_property): New function.
	(gtk_html_context_set_property): New function.

	* libgtkhtml/gtkhtmlcontext.h: Make documents a GSList, and add gboolean debug_painting.

	* libgtkhtml/css/html.css.h: HEAD shouldn't be display: none, but all the
	child tags should.

	* libgtkhtml/css/cssmatcher.h: Update function declarations.

	* libgtkhtml/css/cssmatcher.c (css_matcher_match_simple_selector): Take array of
	pseudo selectors.
	(css_matcher_match_simple_selector): If we get a :hover or :active pseudo
	selector, add it to current_pseudos, if we get another pseudo selector,
	check if it's in the array.
	(css_matcher_match_selector): Take an array of selectors, and init current_pseudos
	to CSS_STYLESHEET_PSEUDO_NONE.
	(css_matcher_match_selector): When we're done checking if the selector match,
	check if the pseudo selectors match.
	(css_matcher_apply_stylesheet): Take an array of pseudo selectors.
	(css_matcher_html_to_css): Move this function here from htmlboxfactory.c
	(css_matcher_html_to_css_after): Likewise.
	(css_matcher_get_style): Change back behavior into creating the style instead
	of taking it as an argument.
	(css_matcher_get_style): Insert declarations sorted directly.
	(css_matcher_get_style): Set has_hover_style and has_active_style hint if
	:hover or :pseudo was found.

	* libgtkhtml/util/Makefile.am (libhtmlutil_la_SOURCES): Add htmlstreambuffer.c
	(libgtkhtmlinclude_HEADERS): Add htmlstreambuffer.h and htmlglobalatomlist.h

	* libgtkhtml/util/htmlstreambuffer.h: New file, implements a buffered stream.

	* libgtkhtml/util/htmlstreambuffer.c: New file, implements a buffered stream.

	* libgtkhtml/util/htmlmarshal.list: Add VOID:OBJECT,INT and VOID:INT,INT,INT,INT.

	* libgtkhtml/dom/events/dom-event-utils.h: Add dom_StyleEvent_invoke and
	dom_Event_invoke.

	* libgtkhtml/dom/events/dom-event-utils.c (dom_StyleEvent_invoke): New function,
	invokes a style event.
	(dom_Event_invoke): New function, invokes a standard event.
	
	* libgtkhtml/dom/core/dom-node.h: Add HtmlStyle variable to DomNode struct.

	* libgtkhtml/dom/core/Makefile.am (libdomcore_la_SOURCES): Add dom-core-utils.c
	(libgtkhtmlinclude_HEADERS): Add dom-core-utils.h

	* libgtkhtml/dom/events/dom-styleevent.h: New file.

	* libgtkhtml/dom/events/dom-styleevent.c: New file.

	* libgtkhtml/dom/core/dom-core-utils.c: New file.

	* libgtkhtml/dom/core/dom-core-utils.h: New file.

2001-05-28  Anders Carlsson  <andersca@codefactory.se>

	* libgtkhtml/graphics/htmlimagefactory.h: Remove document variable from the 
	HtmlImageFactory struct and add the image_requested signal to the class.

	* libgtkhtml/graphics/htmlimagefactory.c: Move HtmlImage code into htmlimage.[ch].
	(html_image_factory_class_init): Add new signal, "image_requested". It'll be
	emitted when the image factory wants a certain url.
	(html_image_shutdown): Remove the image from the hash table.
	(html_image_factory_get_image): Connect to the last unref signal of the HtmlImage.

	* libgtkhtml/graphics/htmlgdkpainter.h: Remove color cache variables.

	* libgtkhtml/graphics/htmlcolor.c (html_color_transparent_new): Set refcount to 1.

	* libgtkhtml/graphics/Makefile.am (libhtmlgraphics_la_SOURCES): Add htmlimage.c
	(libgtkhtmlinclude_HEADERS): Add htmlimage.h

	* libgtkhtml/document/htmlparser.h: Remove the callback variables from the 
	HtmlParser struct and make it a GObject instead of a GtkObject.

	* libgtkhtml/document/htmlparser.c (html_parser_class_init): Add new signals,
	"new_node" is emitted whenenver a new node is added to the document, 
	and "parsed_document_node" is emitted when the document node has been parsed.
	(html_parser_emit_new_node): Don't use a callback here, emit a signal instead.
	(html_startDocument): Emit document node parsed signal here.
	(html_parser_get_type): Make HtmlParser a GObject instead of a GtkObject.

2001-05-23  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/document/saxhandlers.c: Removed obsolete file.

	* libgtkhtml/css/html.css.h: Added support for <td NOWRAP> and 
	<th NOWRAP>.

	* libgtkhtml/layout/htmllinebox.c (html_line_box_add_inlines):  
	Don't wrap text when white_space != HTML_WHITE_SPACE_NORMAL

2001-05-22  Alexander Larsson  <alexl@redhat.com>

	* libgtkhtml/layout/htmlboxtext.[ch]:
	Cache itemization and breaking data between relayouts.
	This makes relayouting text boxes faster, after the
	initial relayout.

2001-05-16  Jonas Borgstrm  <jonas@codefactory.se>

	* tests/httpstream.c (main): Updated the testcode.

	* libgtkhtml/css/html.css.h: Fixed bug #90. Added support for <br clear="all">.

	* libgtkhtml/layout/htmlboxtable.c (layout_auto): Fixed bug #125.
	(html_box_table_append_child): Fixed bug #117. If a <td> is appended directly
	on a <table> (i.e broken html) Then try to reuse the last row, and only create
	a new if we don't find any table.

2001-05-15  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/layout/htmlboxtable.c (calculate_col_min_max): Fixed bug #116 reported by Alexander Larsson.

2001-05-14  Jonas Borgstrm  <jonas@codefactory.se>

	* tests/simple.c: box->style to HTML_BOX_GET_STYLE.

	* tests/dom-test-window.c: box->style to HTML_BOX_GET_STYLE.

	* libgtkhtml/view/htmlview.c: box->style to HTML_BOX_GET_STYLE.

	* libgtkhtml/view/htmlevent.c: box->style to HTML_BOX_GET_STYLE.

	* libgtkhtml/layout/*.c: box->style to HTML_BOX_GET_STYLE.

	* libgtkhtml/layout/html/*.c: box->style to HTML_BOX_GET_STYLE.

	* libgtkhtml/graphics/htmlstylepainter.c: box->style to HTML_BOX_GET_STYLE.

	* libgtkhtml/document/htmldocument.c: box->style to HTML_BOX_GET_STYLE. 

2001-05-13  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/util/htmlglobalatomlist.h: Added "first-child2" and "last-child".

	* libgtkhtml/css/html.css.h: Implemented <br> in pure css. And also improved the <p> margins.
	A bit ugly.

	* libgtkhtml/css/cssparser.c (css_parser_parse_attr_selector): Removed a debug message.

	* libgtkhtml/css/cssmatcher.c (css_matcher_match_simple_selector): Implemented
	"last-child" and "first-child2" pseudoselectors.

2001-05-12  Jonas Borgstrm  <jonas@codefactory.se>

	Converted box->before and box->after to qdata.
	* libgtkhtml/layout/htmlbox.c (html_box_set_before): New function.
	(html_box_set_after): New function.
	(html_box_get_before): New function.
	(html_box_get_after): New function.

2001-05-10  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/layout/htmlstyleinherited.c (html_style_set_color): Take a ref
	instead of duplicating.

	* tests/simple.c (cb_repaints): Free the timer.
	(cb_relayouts): Free the timer.

	* tests/browser-window.c (browser_window_clear_doc): Free the timer.

	* libgtkhtml/layout/html/htmlboxembeddedlistbox.c (html_box_embedded_listbox_add_option): 
	Don't leak the label and value.

	* libgtkhtml/layout/htmlstyleinherited.c (html_style_set_color): unref
	the old color.

	* libgtkhtml/layout/htmlstyleborder.c (html_style_border_unref): 
	unref the colors.
	(html_style_border_dup): ref the colors.
	(html_style_set_border_top_color): unref the old color.
	(html_style_set_border_left_color): unref the old color.
	(html_style_set_border_right_color): unref the old color.
	(html_style_set_border_bottom_color): unref the old color.

	* libgtkhtml/layout/htmlboxtable.c (html_box_table_finalize): Forgot
	to free table->row_height.

	* libgtkhtml/layout/htmlbox.c (html_box_paint): Don't paint if we are invisible.

	* libgtkhtml/graphics/htmlstylepainter.c 
	(html_style_painter_draw_top_border): Free transformed colors.
	(html_style_painter_draw_left_border): Free transformed colors.
	(html_style_painter_draw_right_border): Free transformed colors.
	(html_style_painter_draw_bottom_border): Free transformed colors.

	* libgtkhtml/graphics/htmlcolor.c (html_color_ref): Return The pointer.
	(html_color_dup): Initialize refcount to 1.
	(html_color_new_from_rgb): Initialize refcount to 1.

	* libgtkhtml/css/cssparser.c (css_parser_parse_attr_selector): free str.
	(css_parser_parse_declaration): Only allocate "result" if we have to.

	* libgtkhtml/css/cssmatcher.c (free_decl_entry): New function. This is a helper
	function to free CssDeclarationListEntries.
	(css_matcher_get_style): Free the ruleset.
	(css_matcher_get_style): Use xmlFree instread of g_free.
	(css_matcher_get_style): Free declaration_list.

	* libgtkhtml/layout/htmlboxtable.c (init_boxwidth_boxheight): Don't forget self->x.
	This fixes the layoutproblem om http://www.linuxgames.com/

	* libgtkhtml/layout/htmlbox.c (html_box_paint): Fixed repainting problem with <form> 
	elements between <tr> and <td>.

2001-05-05  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/layout/html/htmlboxembeddedradio.c 
	(html_box_embedded_radio_set_group): Workaround to be able to unselect the first radio
	button.

2001-05-04  Anders Carlsson  <andersca@codefactory.se>

	* libgtkhtml/gtkhtmlcontext.c (gtk_html_context_init): Remove some old code.

	* tests/main.c (main): Update to new API.

	* tests/dom-test-window.c (dom_test_window_construct): Update to new API.

	* tests/browser-window.h: Update to new API.

	* tests/browser-window.c: Update to new API.

2001-05-04  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/layout/htmlboxtablecell.c (html_box_table_cell_*_mbp_sum): Removed table->cell_border.

	* libgtkhtml/layout/htmlboxtable.c (calculate_col_min_max): Fixed a special case with empty cells
	with fixed width. This fixes the layout on www.linux.com.

2001-05-04  Anders Carlsson  <andersca@codefactory.se>

	* libgtkhtml/view/htmlview.h: Remove context from struct, and update function definitions.

	* libgtkhtml/view/htmlview.c (html_view_new_with_document): Remove context argument.
	(html_view_new): Likewise.

	* libgtkhtml/document/htmldocument.h: Update function definitions.

	* libgtkhtml/document/htmldocument.c: Some include fixups.
	(html_document_new): Remove context argument.

	* libgtkhtml/gtkhtmlcontext.h: Remove the view list from the struct.

	* libgtkhtml/gtkhtmlcontext.c (gtk_html_context_constructor): Make GtkHtmlContext a 
	singleton GObject.
	(gtk_html_context_class_init): Set constructor method.
	(gtk_html_context_init): Don't initialize views.
	(gtk_html_context_get): New function based on gtk_html_context_new.

	* configure.in (LIBXML_REQUIRED_VERSION): Remove ranges directory.

	* libgtkhtml/view/htmlview.c (html_view_paint): Paint the repaint queue with intersected
	areas.

	* libgtkhtml/document/htmldocument.h: Add current_stream to struct, and added definitions
	of some new functions.

	* libgtkhtml/document/htmldocument.c: Remove some unnecessary functions.
	(html_document_open_stream): Impl.
	(html_document_write_stream): Impl.
	(html_document_close_stream): Impl.

2001-05-04  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/layout/html/htmlboxembeddedhidden.[ch]: New files. <input type="hidden"> support.

	* tests/samples/jborg.html: Added a input="hidden" test.

	* libgtkhtml/layout/html/htmlboxembeddedbutton.c (html_box_embedded_button_set_label): Use default
	labels if the value is of 0 length.

	* libgtkhtml/layout/html/htmlboxembedded.c (html_box_embedded_handle_html_properties): embedded->value will
	never be NULL.
	(html_box_embedded_paint): Handle widgetless objects.

	* libgtkhtml/layout/html/Makefile.am (libhtmllayouthtml_la_SOURCES): Added the new files.

	* libgtkhtml/layout/htmlboxfactory.c (html_box_factory_get_box): Added support for "hidden" input elements.

2001-05-03  Jonas Borgstrm  <jonas@codefactory.se>

	* libgtkhtml/layout/html/htmlboxembeddedlistbox.c (html_box_embedded_listbox_finalize): We don't have to
	destroy the clist.
	(html_box_embedded_listbox_add_option): Run g_strstrip on the label-string.
	(html_box_embedded_listbox_handle_html_properties): Only create the widget the first time the function is called.

	* libgtkhtml/layout/html/htmlboxembedded.c (html_box_embedded_handle_html_properties): Don't modify the font for now.
	(html_box_embedded_finalize): destroy the widget.

	* libgtkhtml/layout/htmlboxtext.c (wrap_data_new): The refcount should start at 1.
	(html_box_text_relayout): Set the pointer to NULL after unref.

	* libgtkhtml/css/cssstylesheet.c (css_stylesheet_destroy): Using g_free on a GSList is not a good thing.

2001-05-03  Anders Carlsson  <andersca@codefactory.se>

	* *: Changed include files and Makefile.am to match the new build directory.

2001-05-03  Jonas Borgstrm  <jonas@codefactory.se>

	* src/graphics/htmlgdkpainter.c (draw_pixbuf): Use gdk_rectangle_intersect instead of our own function.

	* src/graphics/htmlstylepainter.c (html_style_painter_draw_background_image): Use gdk_rectangle_intersect
	instead of our own function.

	* tests/samples/jborg.html: Added more radionbuttons to the testcase.

	* src/view/htmlview.c (html_view_expose): The "invisible widgets" problem is finaly fixed.

	* src/layout/html/htmlboxembeddedradio.c (html_box_embedded_radio_set_group): Implemented this function.
	(html_box_embedded_radio_relayout): Call the set_group function the first time the widget is relayouted.

	* src/layout/html/htmlboxembeddedlistbox.c (html_box_embedded_listbox_handle_html_properties): Do out stuff before
	calling the parent function.

	* src/layout/html/htmlboxembedded.c (html_box_embedded_set_widget): Have the CAN_FUCUS flag unset
	as default.

2001-05-02  Anders Carlsson  <andersca@codefactory.se>

	* src/dom/css/*: New files.
	
	* tests/dom-test-tree-model.c: Implement rootless trees differently.

	* tests/dom-test-node-menu.c: Implement more test types.

	* src/view/htmlview.c (html_view_paint): Don't paint the queue here since it's already been painted.

	* src/dom/events/dom-mutationevent.c (dom_MutationEvent_initMutationEvent): Ref the related node.

	* src/dom/events/dom-event-utils.c (dom_Event_dispatch_traverser_post): Impl.
	(dom_Event_dispatch_traverser_pre): Impl.
	(dom_MutationEvent_invoke_recursively): Call different traversers depending on the order.

	* src/dom/core/dom-node.c (dom_Node_appendChild): set an exception if the 
	node is a text node.
	(dom_Node_appendChild): Emit mutation events.
	(dom_Node_removeChild): Likewise.

	* src/dom/core/dom-document.c (dom_Document_importNode): Small fix. 

	* src/dom/dom-types.h: Add some new DOM types.

	* src/document/htmldocument.c (html_document_node_inserted_event): Impl.
	(html_document_node_removed_traverser): Impl.
	(html_document_node_removed_event): Impl.
	(html_document_dom_event): New event handler routine.

	* src/css/cssstylesheet.h: Replace the statement array with a GSList.

	* src/css/cssstylesheet.c (css_statement_destroy): Replace the statement array with a GSList.

	* src/css/cssparser.c (css_parser_parse_stylesheet): Replace the statement array with a GSList.

	* src/css/cssmatcher.c (css_matcher_apply_stylesheet): We now have a GSList of
	statements, instead of an array.

	* src/Makefile.am (lib_LTLIBRARIES): Rename lib to libgtkhtml-2.la

	* configure.in: Add css dir.

2001-05-02  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/html/htmlboxembeddedlistbox.[ch]: New files. <select> and <option> support.

	* tests/samples/jborg.html: Improved the forms testcase.

	* src/layout/html/htmlboxembeddedtextarea.c (html_box_embedded_textarea_reset): Don't call html_text_buffer_apply_tag.

	* src/layout/html/htmlboxembedded.c (html_box_embedded_handle_html_properties): Give the widget the same font as we have.

	* src/layout/html/Makefile.am (libhtmllayouthtml_la_SOURCES): Added htmlboxembeddedlist.[ch].

	* src/layout/htmlboxfactory.c (html_box_factory_get_box): Added support for the <select> and the <option> tag.

2001-04-30  Jonas Borgstrm  <jonas@codefactory.se>

	* src/css/html.css.h: Added "TEXTAREA { font-family: monospace }".

	* src/layout/htmlboxfactory.c (html_box_factory_get_box): Added support for the "textarea" element.

	* src/layout/html/htmlboxembeddedtextarea.[ch]: New file. Added "textarea" support.

	* src/layout/html/Makefile.am (libhtmllayouthtml_la_SOURCES): Added the new files.

2001-04-29  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlboxfactory.c (html_box_factory_html_to_css): We need to check if the border="x" has been specified on the table 
	element this cell belongs to. If so we set a style before the css properties are processed so that this border can be 
	overridden by css. the parent_box is now also passed to this function.
	(html_box_factory_restyle_box): Pass the parent_box to html_box_factory_html_to_css.
	(html_box_factory_get_box): The same.

2001-04-27  Jonas Borgstrm  <jonas@codefactory.se>

	* configure.in: Added po/Makefile

	* tests/browser-window.c (browser_window_load_test): Updated the url's.

	* src/view/htmlview.c (repaint_timeout): use gtk_widget_queue_draw_area instead of gtk_widget_draw.

	* src/layout/htmlbox.c (html_box_paint): Turn off the debug rectangles.

	* src/graphics/htmlgdkpainter.c (intersect): Cleaned up this function.
	(rect_is_empty): the argument is now const.

	* src/document/htmldocument.c (html_document_schedule_repaint): New function (again).

2001-04-23  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlboxtext.c (html_box_text_relayout): Don't create a slave if we are at the end of the text
	or if we arn't on an empty line.

	* src/layout/htmlrelayout.h: Added a new flag (line_is_empty). This one is TRUE, if the current line is
	empty.

	* src/layout/htmllinebox.c (html_line_box_add_inlines): 

	* src/layout/htmlboxtext.c (html_box_text_remove): New function. Delete all slaveboxes on remove.
	(html_box_text_relayout): A posible fix to only have one textbox on each line.

	* src/layout/htmlbox.c (html_box_remove): Made this function virtual.

2001-04-22  Jonas Borgstrm  <jonas@codefactory.se>

	* configure.in: Removed the referece to docs/reference/dom/Makefile because it doesn't exist

	* src/view/htmlview.c (html_view_paint): Disable the fixed positioned box painting for now.

	* src/layout/htmllinebox.c (html_line_box_add_inlines): The position property is ignored
	on textboxes. The same with the float property. Textboxes also always are inline.

	* src/layout/htmlboxinline.c (html_box_inline_paint): Always paint textboxes.

	* src/layout/htmlboxfactory.c (html_box_factory_get_box): Move the textbox creation to the top of the
	function to avoid the css_matcher_get_style call.
	(html_box_factory_restyle_box): Text boxes always gets a reference on the box->parent->style.

	* src/layout/htmlboxblock.c (html_box_block_get_line_type): HtmlBoxText goes into inline lines.
	(html_box_block_paint): Always paint text boxes.

	* src/layout/htmlbox.c (html_box_paint): Ignore the position property on textboxes.

	* src/graphics/htmlstylepainter.c (html_style_painter_draw_background_color): Added text specialcase.
	(html_style_painter_draw_border): The same.
	(draw_background_image): removed obsolete function.

	* tests/browser-window.c (browser_window_set_view): Removed the "disable dubble buffering" gtk call.

	* config.h.in: This one shouldn't be in the cvs tree. REMOVED

	* tests/dom-test-tree-model.o: Why are binaries in the CVS? REMOVED

	* tests/dom-test-node-menu.o: Why are binaries in the CVS? REMOVED

	* tests/dom-test-window.o: Why are binaries in the CVS? REMOVED

2001-04-20  Anders Carlsson  <andersca@codefactory.se>

	* tests/dom-test-tree-model.c (dom_test_tree_model_get_value): Add support
	for pixbufs.

	* tests/dom-test-node-menu.c (dom_test_exception_dialog): Destroy correctly.
	(dom_test_document_create_element): Implement.
	(dom_test_document_create_text_node): Implement.

	* src/dom/core/dom-node.c (dom_Node_appendChild): Make function work correctly.

	* src/dom/core/dom-document.h (dom_Document_createElement): Remove exception.

	* src/dom/core/dom-document.c (dom_Document_importNode): Implement.
	(dom_Document_createElement): Remove exception.

	* src/document/htmldocument.c (html_document_dom_event): Restyle.

	* configure.in: Add docs/reference/dom

	* src/layout/htmlstyle.h: Remove unneeded variable.

	* src/layout/htmlboxtext.c (html_box_text_new): Likewise.

	* src/layout/htmlboxroot.c (html_box_root_new): Likewise.

	* src/layout/htmlboxinline.c (html_box_inline_new): Likewise.

	* src/layout/htmlboxblock.c (html_box_block_new): Use g_object_new.

2001-04-19  Anders Carlsson  <andersca@codefactory.se>

	* tests/dom-test*: Added nifty new dom test program. 

	* src/view/htmlview.h: Update most functions to take a DomNode instead of an xmlNode.

	* src/view/htmlview.c (html_view_find_parent_layout_box): We now key by DOM nodes in the
	hash table.
	(html_view_find_layout_box): Likewise.
	(html_view_find_layout_box_exact): Likewise.
	(html_view_document_traverser): Likewise.
	(html_view_set_document): Change for new DOM.
	(html_view_button_release): Likewise.
	(html_view_add_layout_box): We key by DOM Nodes.
	(html_view_remove_layout_box): Likewise.

	* src/view/htmlevent.c (html_event_button_release): Don't emit mouse events.
	(html_event_button_press): Likewise.
	(html_event_mouse_move): Likewise.

	* src/util/htmlatomlist.c (html_atom_list_get_atom): Add missing include.

	* src/layout/html/htmlboximage.c (html_box_image_relayout): Remove unused variable.

	* src/layout/html/htmlboxform.c (html_box_form_new): Warning fix.

	* src/layout/html/htmlboxembedded.c: Remove _new function since this is an abstract class.

	* src/layout/htmlstyle.h: Move HtmlBackgroundRepeatType around.

	* src/layout/htmllinebox.c (html_line_box_add_inlines): Remove unused variable.

	* src/layout/htmlboxtablerowgroup.c (html_box_table_row_group_new): Warning fix.

	* src/layout/htmlboxtablerow.c (html_box_table_row_update_spaninfo): Warning fix.

	* src/layout/htmlboxtablecell.c (html_box_table_cell_find_table): Warning fix.

	* src/layout/htmlboxtablecaption.c (html_box_table_caption_new): Warning fix.

	* src/layout/htmlboxlistitem.c (html_box_list_item_new): Warning fix.

	* src/layout/htmlboxfactory.c (html_box_factory_restyle_box): Update for new DOM.

	* src/layout/htmlbox.c (html_box_remove): Rewrote this function. Probably needs to be virtualized.

	* src/graphics/htmlstylepainter.c: Misc warning fixes.

	* src/graphics/htmlpainter.h: Remove begin_paint and end_paint.

	* src/graphics/htmlimagefactory.c: Misc warning fixes.

	* src/graphics/htmlgdkpainter.c: Remove begin_paint and end_paint.

	* src/graphics/htmlcolor.h (html_color_transparent_new): Add to header.

	* src/graphics/htmlcolor.c: Add missing includes.

	* src/document/htmlparser.c (html_characters): Update for new DOM.
	(html_startElement): Likewise.
	(html_startDocument): Likewise.
	(html_parser_stream_close): do an idle relayout of the views.

	* src/document/htmldocument.c (html_document_free_node): Update for new DOM.
	(html_document_new_node_callback): Likewise, and change box table to key by DomNode instead
	of xmlNode.
	(html_document_dom_event): New event handler.
	(html_document_done_loading): Create a DomEventListenerSignal new.
	(html_document_class_init): Remove html_document_real_url_requested.

	* src/css/cssstylesheet.c: Warning fixes.

	* src/css/cssmatcher.c: Warning fixes.

	* src/css/Makefile.am (libhtmlcss_la_SOURCES): Remove unneeded files from compilation.

	* src/dom/*: Add new GObject-ified DOM implementation. 

2001-04-18  Jonas Borgstrm  <jonas@codefactory.se>

	* src/graphics/htmlgdkpainter.c (draw_pixbuf): Do clipping so we only draw where we really have to.
	(html_gdk_painter_finalize): Removed this function, it didn't do anything.

	* src/graphics/htmlstylepainter.c (html_style_painter_draw_background_image): Send the clipping
	"area" to the draw_pixbuf function.

	* src/layout/html/htmlboximage.c (html_box_image_paint): Send the clipping "area" to the 
	draw_pixbuf function.

	* src/graphics/htmlpainter.c (html_painter_draw_background_image): Removed this function, not used.
	The background image drawing is done in htmlstylepainter.c

2001-04-16  Jonas Borgstrm  <jonas@codefactory.se>

	* src/gtkhtml.h: Added a file andersca forgot.

	* src/gtkhtmlcontext.h: Added a file andersca forgot.

	* src/gtkhtmlcontext.c: Added a file andersca forgot.

	* configure.in: ignore the po directory for now.

	* Makefile.am (SUBDIRS): Don't descend into the po directory for now.

	* src/Makefile.am (SUBDIRS): the util directory has to be built before some other directories.

	* src/document/htmldocument.c (html_document_restyle_views): Uncommenting this function.

2001-04-16  Anders Carlsson  <andersca@codefactory.se>

	* src/view/htmlview.c (html_view_paint): Don't use {begin|end}_paint.
	(html_view_expose): Don't handle expose events twice.

	* src/graphics/htmlgdkpainter.c (draw_pixbuf): Use GDK_PIXBUF_ALPHA_FULL.

	* src/css/Makefile.am: Change name to libhtmlcss.

	* src/css/*.[ch]: Update #include files.

	* src/document/*.[ch]: Likewise.

	* src/graphics/*.[ch]: Likewise.

	* src/layout/*.[ch]: Likewise.

	* src/view/*.[ch]: Likewise.

	* tests/*.[ch] Likewise.
	
	* configure.in (LIBXML_REQUIRED_VERSION): Up to 2.3.5.
	Add new paths.

2001-04-15  Jonas Borgstrm  <jonas@codefactory.se>

	* src/style/html.css.h: Moved the padding from html to body.

	* src/layout/htmlboxfactory.c (html_box_factory_html_to_css): Added support for "vspace" and "hspace"
	for "img", "object" and applet tags.
	(html_box_factory_html_to_css_after): Added support for "left|right|top|bottommargin" on "body" elements.

2001-04-14  Jonas Borgstrm  <jonas@codefactory.se>

	* src/event/htmlevent.c (html_event_mouse_move): Fixed bug with the text cursor not showing.

	* src/style/cssmatcher.c (css_parse_color): Fixed a memory leak.
	(css_matcher_apply_rule): Fixed a memory leak.

	* src/painter/htmlstylepainter.c (html_style_painter_draw_background_image): Fixed a bug where
	we sometimes painted a to wide background image.

	* src/view/htmlview.c (html_view_restyle): Rewrote this function. It now returns the action "required"
	to redisplay the view.
	(html_view_relayout): Did some cleanup, don't change the min|max_width style.

	* src/test/simple.c (debug_dump_boxes): Fixed the "dump tree" feature.

	* src/painter/htmlcolor.c (html_color_equal): If both pointers are the same then they are equal.

	* src/layout/htmlstyle.c (html_style_compare): Fixed some bugs.

	* src/layout/htmlboxtablecell.c (html_box_table_cell_left|right|top|bottom_mbp_sum): New functions.

	* src/layout/htmlboxtable.c (update_min_max): Don't set the border of the tables here.
	(html_box_table_handle_html_properties): Moved some properties to html_box_factory_html_to_css_after.

	* src/layout/htmlboxroot.c (html_box_root_get_boundaries): New function.

	* src/layout/htmlboxlistitem.c (html_box_list_item_left|right_mbp_sum): New functions. overide these functions
	so that we don't have to change the left|right margins.

	* src/layout/htmlboxfactory.c (html_box_factory_html_to_css): Moved the "cellspacing" property to
	(html_box_factory_html_to_css_after): New function. This function handles htmlproperties that
	has to be parsed _after_ css_matcher_get_style is called.
	(html_box_factory_restyle_box): New function, this function restyles with a certain pseudo selector
	and then returns the action required to redisplay the change.

	* src/event/htmlevent.c (html_view_restyle_pseudo): New function, it will try to restyle a box with a certain
	pseudo selector, and if it succeeded then the rest of that subtree will also be restyled.
	(html_event_mouse_move): Added ":hover" pseudo selector support. This can be optimized somewhat.

	* src/document/htmldocument.c (html_document_restyle_views): Rewrote this function. It will choose the between
	repaint, and relayout depending on what's needed.

	* TODO: Started on a simple roadmap

2001-04-12  Jonas Borgstrm  <jonas@codefactory.se>

	* src/style/cssmatcher.c (css_matcher_match_simple_selector): Added support for ":link" pseudo selectors.

2001-04-12  Anders Carlsson  <andersca@codefactory.se>

	* src/layout/htmlboxtablerow.c (html_box_table_row_class_init): Add html_box_table_row_handles_events.
	(html_box_table_row_handles_events): Table rows don't handle events so we return FALSE here.

2001-04-11  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/html/htmlboxbutton.[ch]: Removed files.
	
	* src/layout/html/htmlboxradio.[ch]: Removed files.
	
	* src/layout/html/htmlboxcheckbox.[ch]: Removed files.
	
	* src/layout/html/htmlboxtextarea.[ch]: Removed files.
	
	* src/layout/html/htmlboxtextinput.[ch]: Removed files.
	
	* src/layout/html/htmlboxselect.[ch]: Removed files.

	* src/view/htmlview.c (html_view_restyle): Fixed an evil bug that crashed the library on most pages with
	alternative stylesheets. This code still need some work.

	* src/test/httpstream.c (get_uri_idle): Removed a debug message.

	* src/test/tests/jborg.html: Added forms test.

	* src/layout/html/htmlboxform.[ch]: A complete rewrite of these files.

	* src/layout/html/htmlboxembedded.[ch]: A complete rewrite of this code.

	* src/layout/html/htmlboxembeddedbutton.[ch]: Initial support for this widget.

	* src/layout/html/htmlboxembeddedcheckbox.[ch]: Initial support for this widget.

	* src/layout/html/htmlboxembeddedradio.[ch]: Initial support for this widget.

	* src/layout/html/htmlboxembeddedentry.[ch]: Initial support for this widget.

	* src/layout/html/Makefile.am (libhtmllayouthtml_la_SOURCES): Added htmlboxembedded[button|entry|radio|checkbox].[ch]

	* src/layout/htmlstylebackground.c (html_style_background_ref): Return the object pointer.

	* src/layout/htmlboxfactory.c (html_box_factory_get_box): Create various form widgets on <input type="xxx">

	* src/document/htmldocument.c (html_document_free_node): use g_object_unref instead of html_box_destroy
	(html_document_new_node_callback): Create boxes for every view.

2001-04-11  Anders Carlsson  <andersca@codefactory.se>

	* src/event/htmlevent.c (html_event_find_root_box): Check for NULL box.

	* src/event/htmlevent.c (html_event_find_parent_dom_node): Removed some #ifdefd code.
	(html_event_xy_in_box): Add tx and ty and don't use get_absolute_[xy] here.
	(html_event_find_box_traverser): Added tx and ty parameters which specify the current
	top and left coordinates.
	(html_event_find_root_box): Put function code here instead of doing an extra call.

2001-04-10  Anders Carlsson  <andersca@codefactory.se>

	* src/layout/*: Remove the last remains of HtmlObject, we now use GObject everywhere.

2001-04-10  Anders Carlsson  <andersca@codefactory.se>

	* src/style/cssparser.c: Don't use a CssParser struct since it wasn't used for anything 
	but holding the buffer.

	* src/parser/saxhandlers.c (html_parser_emit_new_node): Don't use the DOM for adding new
	nodes, do it directly.

	* src/layout/html/htmlboximage.c (html_box_image_paint): Add some padding when drawing the
	loading and broken images.

	* src/layout/htmlboxfactory.c (sheet_stream_write): New function.
	(sheet_stream_close): Likewise. 
	(html_box_factory_get_box): Add support for <link rel="stylesheet">, external stylesheets
	that is.

	* src/layout/* : Use GObject for layout boxes.

	* src/layout/Makefile.am (SUBDIRS): Remove htmltype.[ch]

	* src/document/htmldocument.h: Remove he css_parser variable.

	* src/document/htmldocument.c (html_document_init): Do not create a CssParser.

	* configure.in: Require glib 1.3.3 and gtk+ 1.3.3.

2001-04-04  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/html/htmlboximage.c (html_box_image_relayout): Do this correctly.
	(html_box_image_area_prepared): We need to relayout if not both width and height
	is specified.

	* src/layout/htmlboxtablecell.c (html_box_table_cell_do_valign): Do not align inline blocks.

2001-04-04  Alexander Larsson  <alexl@redhat.com>

	* src/layout/htmlboxtext.c (html_box_text_free_relayout):
	Free log_attrs and log_widths when finished with relayout of HtmlBoxText.

2001-04-04  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlboxtable.c: include <stdlib.h>

	* src/layout/htmlrelayout.c (html_relayout_will_fit_right): Duh... Fixed bug #87.

	* src/test/tests/gtkwidget.html: new testcase (large file) about 300kb.

	* src/test/simple.c: New testcase (gtkwidget.html)

	* src/layout/html/htmlboxform.c: A complete rewrite. 

	* src/layout/html/Makefile.am (libhtmllayouthtml_la_SOURCES): Added htmlboxform.[ch].

	* src/layout/htmlboxtablerow.c (html_box_table_row_get_num_cols): Added <form> child special case.
	(html_box_table_row_update_spaninfo): The same.
	(html_box_table_row_fill_cells_array): The same.

	* src/layout/htmlboxtable.c: Just cleaned up the include files.

	* src/layout/htmlboxfactory.c (html_box_factory_get_box): Call html_box_form_new on "form" elements.

2001-04-04  Anders Carlsson  <andersca@codefactory.se>

	* src/style/cssparser.c (css_parser_parse_ident): Better handling of idents with an initial dash.

2001-04-03  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlstylebackground.c (*): Only dupicate on refcount > 0.

	* src/layout/htmlstyleinherited.c (*): Only dupicate on refcount > 0.

	* src/layout/htmlstylebox.c (*): Only dupicate on refcount > 0.

	* src/layout/htmlstylesurround.c (*): Only dupicate on refcount > 0.

	* src/layout/htmlstyleborder.c (*): Only dupicate on refcount > 0.

	* src/layout/htmlboxtext.c (html_box_text_free_relayout): New function. This one should free some relayout
	specific memory.

	* src/layout/htmllinebox.c (html_line_box_add_inlines): Call html_box_text_free_relayout when the last textslave
	has been relayouted and successfully placed on the line.

2001-04-02  Alexander Larsson   <alexl@redhat.com>

	* src/layout/htmlboxtext.[ch]:
	Don't keep reshaping and rebreaking the text when breaking lines.
	This makes flowing text much faster.

2001-04-02  Jonas Borgstrm  <jonas@codefactory.se>

	* src/view/htmlview.c (RELAYOUT_TIMEOUT_INTERVAL): Changed the timeouts.

	* src/style/html.css.h: fixed a typo.

	* src/document/htmldocument.c (html_document_clear): Call html_view_reset.

	* src/view/htmlview.c (html_view_reset): New function. Called by HtmlDocument on html_document_clear. This function
	cancels all the timers and other stuff.

	* src/layout/htmlboxtable.c (init_boxwidth_boxheight): Fixed a table layout bug, use containing_block not self->parent.

	* src/view/htmlview.c (RELAYOUT_TIMEOUT_INTERVAL): Tuned the values somewhat.
	(REPAINT_TIMEOUT_INTERVAL): This also.
	(repaint_timeout): Really paint!

	* src/painter/htmlimagefactory.c (area_prepared): Only emit "subtreemodified" when we really have to.
	(write_pixbuf): Schedule a repaint.

	* src/layout/html/htmlboximage.c (html_box_image_update_scaled_pixbuf): New function. Used to only scale the pixbuf
	when we rellay have to.
	(html_box_image_updated): New function. Called by the imagefactory to tell the image box that the image has
	been updated.
	(html_box_image_area_prepared): New function, called by the imagefactory when the geometry of the image is known.
	(html_box_image_paint): Updated to use the new functions.
	(html_box_image_relayout): Don't do any scaling here.

	* src/layout/htmlstyle.h: Moved the typdefs to the top of the file.

	* src/layout/htmlboxtablerow.c (html_box_table_row_append_child): New function. Tell the table that a new
	cell has been added.

	* src/layout/htmlboxtable.c (html_box_table_cell_added): New function. Used to tell the table that a new cell
	has been added to the table.
	(html_box_table_relayout): Only relayout all cells when we really have to.

	* src/document/htmldocument.c (html_document_schedule_repaint): New function. This function is used to get a certain
	layout box repainted.

2001-03-29  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmllinebox.c (html_line_box_add_block): Align the block box on the line acording to text-align.

	* src/layout/htmlboxtable.c (calculate_col_min_max): When updating the column min/max width do it proportionally.
	(html_box_table_take_space): When distributing space, do it proportionally.

	* src/painter/htmlstylepainter.c (html_style_painter_draw_background_color): Check if box->parent exists.

2001-03-28  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlboxtable.c (layout_auto): Don't do the special case when the width is fixed.
	(init_boxwidth_boxheight): Tables doesn't have automatical margins anymore.

	* src/layout/htmlboxlistitem.c (html_box_list_item_destroy): Call the old destructor.

	* src/layout/htmlbox.c (html_box_get_containing_block): "display: list-item" is also a containing block.
	(html_box_left_margin): Ignore "margin: auto" for tables.
	(html_box_right_margin): Ignore "margin: auto" for tables.

	* src/layout/htmlstyle.c (html_style_compare): Added checks for the new properties.

	* src/style/html.css.h: Removed some obsolete styles.

	* src/layout/htmlboxfactory.c (html_box_factory_html_to_css): convert 
	align="left|right|center|justify" to "text-align:x" for
	tr, td, th, thead, tfoot, tbody, div, p, h1, h2, h3, h4, h5, h6 elements.

2001-03-27  Anders Carlsson  <andersca@codefactory.se>

	* src/painter/images/error_image.xpm: New cool image from tigert.

	* src/painter/images/loading_image.xpm: Likewise.

2001-03-27  Jonas Borgstrm  <jonas@codefactory.se>

	* src/style/html.css.h: Removed duplicated css rule.

	* src/style/cssvalue.c (css_value_to_string): added support for CSS_NUMBER and better errorchecking.

	* src/style/cssmatcher.c (css_parse_color): Do more error checking.

	* src/layout/htmlboxtext.c (html_box_text_relayout): Use html_box_left|right_border_width () functions. Fixed bug #85.

	* src/util/htmlglobalatomlist.h: Addde new atom (scale).

	* src/test/tests/css-support.html: Set "background-repeat:" to supported.

	* src/style/cssmatcher.c (css_matcher_apply_rule): Parse the "background-repeat:" property.

	* src/painter/htmlstylepainter.h (html_style_painter_draw_background_image): Added the new function.

	* src/painter/htmlstylepainter.c (intersect): New function.
	(rect_is_empty): New function.
	(html_style_painter_draw_background_image): New function. This one can be optimized further.

	* src/painter/htmlimagefactoryprivate.h: New file.

	* src/painter/htmlimagefactory.h: Moved the object struct to htmlimagefactoryprivate.h to avoid
	strange header dependencies.

	* src/layout/htmlstylebackground.c (html_style_set_background_image): New function.
	(html_style_set_background_repeat): New function.

	* src/layout/htmlstyle.h: Add image and repeat properites to the background struct.

	* src/layout/htmlboxfactory.c (add_background_image): New function.
	(html_box_factory_get_box): Call add_background_image for those boxtypes that can have a background.

	* src/layout/htmlbox.c (html_box_paint): Draw the background image.

2001-03-26  Jonas Borgstrm  <jonas@codefactory.se>

	* src/style/html.css.h: Changed the display to list-item for <li> elements.

	* src/style/cssmatcher.c (css_matcher_apply_rule): Added support for parsing "list-style-type: x".

	* src/layout/htmlstyleinherited.c (html_style_set_list_style_type): New function.

	* src/layout/htmlstyle.h: Moved list_style_type to the inherited struct.

	* src/layout/htmlboxfactory.c (html_box_factory_get_box): Added support for "display: list-item".

	* src/layout/Makefile.am (libhtmllayout_la_SOURCES): Adding htmlboxlistitem.[ch]

2001-03-25  Jonas Borgstrm  <jonas@codefactory.se>

	* src/test/tests/table.html: Updated the testcase.

	* src/test/tests/dbaron-status.html: Added more links to testcases that works.

	* src/style/cssmatcher.c (css_matcher_apply_rule): Added support for "inherit" to almost all properties.
	But not to value_lists and some lengths.
	(css_matcher_match_simple_selector): Fixed a casesensitive bug with 'class="X"'. Use strncasecmp instead of memcmp.

	* src/layout/html/htmlboximage.h: image->partial_image, new member used for the temporary fix for the image loading bug.

	* src/layout/html/htmlboximage.c (html_box_image_relayout): Added a temporary fix for the image loading bug.

	* src/layout/htmlstyleinherited.c (get_new_font_size): Added support for "inherit"
	(html_style_set_font_size): Added support for inherit.
	(html_style_set_line_height): The same.

	* src/layout/htmlboxtable.h: New members: table->cell_padding and table->cell_border.

	* src/layout/htmlboxtable.c (html_box_table_handle_html_properties): Added support for "border=", "cellspacing=" and "cellpadding=".
	(update_min_max): The same.

	* src/parser/saxhandlers.c (html_endDocument): Check for NULL document.

	* src/document/htmldocument.c (html_document_done_loading): Check for NULL document. 

2001-03-24  Jonas Borgstrm  <jonas@codefactory.se>

	* src/test/tests/dbaron-status.html: Added more entries.

	* src/test/tests/css-support.html: Changed the stylesheet.

	* src/test/browser-window.c (set_base): Update the URL entry with the new URL.

	* src/layout/htmlstyleinherited.c (get_new_font_size): Parse CSS_NUMBER values.

	* src/layout/htmlstyle.c (html_length_from_css_value): Ignore all CSS_NUMBER values except 0.

	* src/layout/htmlboxroot.c (html_box_root_paint_position_list): Both relative and absolute positioned boxes are positioned
	relative to their containing block.

	* src/layout/htmlboxblock.c (html_box_block_real_get_boundaries): A special case for positioned elements.

	* src/layout/htmlbox.c (html_box_apply_positioned_offset): Rewrote this function.
	(html_box_paint): Paint the border before the content.

	* src/layout/htmlrelayout.c (html_relayout_get_max_width_ignore): Off by one error.

2001-03-23  Jonas Borgstrm  <jonas@codefactory.se>

	* misc/build_gtkhtml2.sh: Improved the script, and made it more portable.

	* src/test/tests/dbaron-status.html: New file.

	* src/test/tests/css-support.html: Updated the information.

	* src/test/simple.c: Added dbaron-status.html

	* src/test/browser-window.c: Added dbaron-status.html

	* src/style/cssmatcher.c (css_matcher_apply_rule): Parse "font-style: normal"

	* src/painter/htmlstylepainter.c (html_style_painter_draw_border): Improved the visibility check.
	(html_style_painter_draw_background): Same here.

	* src/layout/html/htmlboximage.c (html_box_image_paint): Improved the visibility check.

	* src/layout/htmlboxtext.c (html_box_text_paint): Improved the visibility check.

	* src/layout/htmlboxfactory.c (html_box_factory_get_box): table cells can have :before and :after also

	* src/layout/htmlbox.c (html_box_paint): Improved the visibility check here.

2001-03-22  Jonas Borgstrm  <jonas@codefactory.se>

	* misc/build_gtkhtml2.sh: Added a build script. Thanks Thomas.

	* src/painter/htmlgdkpainter.c: Don't include htmlgdkimagefactory (it doesn't exist anymore).

	* src/layout/html/htmlboximage.c: Don't include htmlgdkimagefactory (it doesn't exist anymore).

2001-03-21  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlboxfactory.c (html_box_factory_get_box): The root box and the <body> box now uses the same background style.

	* src/layout/htmlboxtable.c (init_boxwidth_boxheight): Treat Floating tables specially.

	* src/layout/htmllinebox.c (html_line_box_add_block): Move block boxes away from floats.

	* src/style/html.css.h: vertical-align for <td> elements defaults to "inherit".

	* src/style/cssmatcher.c (css_matcher_apply_rule): Added support for "inherit" as a value for vertical-align.

	* src/layout/htmlbox.c (html_box_get_containing_block): New function.

	* src/layout/htmlboxtable.c (html_box_table_append_child): Better support for broken tables.

	* src/layout/htmlboxtablerow.c (html_box_table_row_relayout): Added a dummy relayout function which is only called when the row
	isn't located in a table (i.e broken html documents).

	* src/layout/htmlboxfactory.c (html_box_factory_html_to_css): Added support for the "text=" attribute in the "<body>" element.

2001-03-20  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlbox.c (html_box_paint): Don't clip table rows (because of cells can have rowspan).

	* src/layout/htmllinebox.c (html_line_box_add_inlines): Better error checking.

	* src/layout/htmlboxblock.c (html_box_block_relayout): Removed duplicate free_lineboxes () call.
	(html_box_block_create_inline_lines): Call html_box_block_update_geometry.

2001-03-19  Jonas Borgstrm  <jonas@codefactory.se>

	* src/style/cssmatcher.c (css_matcher_apply_rule): Removed fixed "TODO:" comment.

	* src/layout/htmlstyle.c (html_style_unref): Free the "content:" memory.

	* src/style/cssparser.c (css_parser_parse_style_attr): "return" is a good thing.

2001-03-19  Anders Carlsson  <andersca@codefactory.se>

	* src/widget/Makefile.am (INCLUDES): Remove unnecessary include files.

	* src/view/Makefile.am (INCLUDES): Add XML cflags.

	* src/util/htmlglobalatomlist.h (HTML_ATOM): Add first-child as an atom.

	* src/util/htmlatomlist.c (html_atom_list_get_string): Fix an off-by-one error. 

	* src/style/cssvalue.c: Remove CssString functions.
	(css_value_to_string): Added function.

	* src/style/cssparser.h: Remove css data structures.

	* src/style/cssstylesheet.c: New file with the css destruction functions.

	* src/style/cssstylesheet.h: New file with the css data structures.

	* src/style/cssparser.c: Rewritten to not use a lexer anymore, the way it's done now
	allows for much more flexible error recovery which is required in the CSS2 spec.

	* src/style/cssmatcher.c: Include global atoms, change data structures since CssString has
	been removed.
	(css_matcher_match_simple_selector): Add support for first-child.
	(css_matcher_match_selector): Add correct support for descendant selectors.
	(css_declaration_list_sorter): Take !important into consideration.
	(css_parse_border_width): Change from id to atom.
	(css_parse_color): Update since CssString is no more. 
	(css_parse_border_style): Change from id to atom.
	(css_matcher_apply_rule): Change from id to atom, and remove CssString deps.
	(css_matcher_apply_stylesheet): Temporary disable @import support.
	(css_matcher_apply_stylesheet): Use higher bases for specificity calculation.

	* src/style/cssdebug.h: Updated to match new function names.

	* src/style/cssdebug.c: Rewritten to do print instead of get, removed print token functions.

	* src/style/Makefile.am (INCLUDES): Add XML cflags.
	(libhtmlstyle_la_SOURCES): Remove csslexer.[ch] and add cssstylesheet.[ch]

	* src/parser/htmlparser.h: Include htmldocument.h

	* src/painter/htmlstylepainter.c (html_style_painter_draw_bottom_border): Fix a small drawing bug.

	* src/painter/Makefile.am (INCLUDES): Add XML cflags.

	* src/layout/html/Makefile.am (INCLUDES): Add XML cflags.

	* src/layout/htmlstyle.h: convert style->content to gchar.

	* src/layout/htmlboxfactory.c (add_before_and_after_elements): change style->content to gchar.

	* src/layout/Makefile.am (INCLUDES): Add XML cflags.

	* src/event/htmlevent.c: fixup include paths.

	* src/event/Makefile.am (INCLUDES): Remove unnecessary include paths.

2001-03-17  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlboxtext.c (html_box_text_relayout): Take the border width into the width also.

	* src/test/tests/jborg.html: Added a inline block border test.

	* src/painter/htmlstylepainter.c (html_style_painter_draw_top|bottom_border): Added left_corner, and right_corner argument. 
	You can now chose if the functions should draw the corners.
	(html_style_painter_draw_border): Added support for borders arround inline blocks.

2001-03-14  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlstyle.h: Removed "offset" member from the surround struct. 
	And added the html_style_compare definition.

	* src/layout/htmlstyle.c (html_style_compare): New function. Compares two HtmlStyle structs figures out
	if a repaint, relayout or a recreate is needed.

2001-03-12  Jonas Borgstrm  <jonas@codefactory.se>

	* src/util/htmlmarshal.list: New file, we have our own marshalls now.

	* src/util/htmlglobalatoms.c: Include htmlmarshal.c, this should be somewhere else.

	* src/util/Makefile.am (libhtmlutil_la_SOURCES): Added htmlmarshal.[ch]|list

	* src/view/htmlview.c (html_view_class_init): Use htmlmarshal_*

	* src/document/htmldocument.c (html_document_class_init): Use htmlmarshal_*

2001-03-10  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlstyleinherited.c (html_style_set_line_height): New function.

	* src/test/httpstream.[ch]: Changed the "length" argument from gint to guint. 

	* TODO: Updated the todo list.

	* src/layout/htmlstyle.h: Changed line_height to a gint16. (pixels)

	* src/painter/htmlstylepainter.c (html_style_painter_draw_background): Added support 
	for background of inline boxes and a small optimisation.

	* src/style/cssmatcher.c (css_matcher_apply_rule): Added "line-height:" support.

	* src/layout/htmllinebox.c (html_line_box_do_vertical_align): Corrected the baseline calculation.

2001-03-07  Jonas Borgstrm  <jonas@codefactory.se>

	* src/view/htmlview.c (html_view_button_release): Emit link_clicked event.
	(html_view_hover_updated): emit on_url signal.

	* src/test/browser-window.c (on_url): New function.
	(link_clicked): Connected this function to the "link_clicked" signal.

	* src/painter/htmlimagefactory.[ch]: Removed the scaled_image member.

	* src/layout/html/htmlboximage.[ch]: Moved scaled_image member from HtmlImage to HtmlBoxImage.

	* src/event/htmlevent.c (html_event_button_release): node = view->hover_node.
	(html_event_button_press): node = view->hover_node.

2001-03-06  Jonas Borgstrm  <jonas@codefactory.se>

	* src/view/htmlview.c (html_view_relayout): use html_style_set_min_width|height.
	(html_view_find_layout_box_exact): New function.
	(html_view_remove_layout_box): New function.

	* src/test/browser-window.c (browser_window_clear_doc): Added a debug function.

	* src/style/cssmatcher.c (css_matcher_match_simple_selector): Fixed a memory leak.

	* src/painter/htmlimagefactory.c (finalize): unref the scaled pixbuf

	* src/layout/html/htmlboximage.c (html_box_image_destroy): Unref the image

	* src/layout/htmlstylebox.c (html_style_set_max_height): Fixed a typo height != max_height.

	* src/layout/htmlstylebackground.c (html_style_background_dup): Set refcount to 0.
	(html_style_background_new): refcount is initially 0.

	* src/layout/htmlstylebox.c (html_style_box_dup): Set refcount to 0.
	(html_style_box_new): refcount is initially 0.

	* src/layout/htmlstylesurround.c (html_style_surround_dup): Set refcount to 0.
	(html_style_surround_new): refcount is initially 0.

	* src/layout/htmlstyleinherited.c (html_style_inherited_dup): Set refcount to 0.
	(html_style_inherited_new): refcount is initially 0.

	* src/layout/htmlstyleborder.c (html_style_border_dup): Set refcount to 0.
	(html_style_border_new): refcount is initially 0.

	* src/layout/htmlstyle.c (html_style_unref): Unref all style elements.
	(html_style_new): Cleaned up the code somewhat.

	* src/layout/htmlboxtext.c (html_box_text_destroy): Call the parent destructor at the end of the function.
	(html_box_text_relayout): Fixed some memory leaks, leaking variables canon_text and attrs. And use html_style_ref
	when referencing to the style.

	* src/layout/htmlboxtablerow.c (html_box_table_row_destroy): Call the parent destructor at the end of the function.

	* src/layout/htmlboxtable.c (html_box_table_destroy): Free all the allocated memory.

	* src/layout/htmlboxfactory.c (add_before_and_after_elements): Use html_box_set_style ().

	* src/layout/htmlboxblock.c (html_box_block_destroy): Free all the layoutboxes on destroy.

	* src/layout/htmlbox.c (html_box_real_destroy): Unref the style and delete ->before and ->after.

	* src/document/htmldocument.c (html_document_free_node): Implemented destruction of layoutboxes.

	* src/document/Makefile.am (INCLUDES): added XML_CFLAGS

2001-03-05  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlboxfactory.c (add_before_and_after_elements): Call html_box_text_set_generated_content.

	* src/layout/htmllinebox.c (html_line_box_add_inlines): Let the textbox decide if the line has to end.

	* src/layout/htmlboxtext.c (html_box_text_set_generated_content): New function. Used to set the text when it is a generated text.

	* src/*/*.[ch]: Fixed 10e6 compiler warnings.
	
2001-03-04  Jonas Borgstrm  <jonas@codefactory.se>

	* src/test/tests/jborg.html: Added some font-family tests.

	* src/style/html.css.h: updated some styles.

	* src/layout/htmlstyleinherited.c (get_new_font_size): Use the old font specification as the base for the relative font-size.

	* src/layout/htmlstyle.c (html_length_from_css_value): Use the old font specification as the base for the ems and exs value.

	* src/layout/htmlrelayout.c (float_in_float): New function.

	* src/layout/htmllinebox.c (html_line_box_add_block): Mark all floats contained in a block box that don't need to be relayouted
	as relayouted.

	* src/layout/htmlboxroot.c (html_box_root_mark_floats_relayouted): New function.

	* src/layout/htmlboxblock.c (html_box_block_real_get_boundaries): Correct width and height for floating boxes.

2001-03-03  Jonas Borgstrm  <jonas@codefactory.se>

	* src/util/htmlglobalatomlist.h (HTML_ATOM): Added a few new atoms.

	* src/style/html.css.h: <pre> tag has "font-family: monospace"

	* src/style/cssmatcher.c (css_matcher_apply_rule): Parse "font-family:"

	* src/layout/htmlstyleinherited.c (html_style_set_white_space): New function.
	(html_style_set_font_family): New function.

	* src/layout/htmlstyle.h: white_space is inherited.

	* src/layout/htmlrelayout.h: relayout->end_of_line, new flag.

	* src/layout/htmlboxtext.c (is_newline): new function.
	(html_box_text_relayout): Set relayout->end_of_line if it really is the end of the line (only works on PRE elements).

	* src/layout/htmlboxtable.c (html_box_table_relayout): If the table doesn't have any rows or cols, don't do anything.

	* src/layout/htmlboxfactory.c (html_box_factory_html_to_css): parse <font family="x">

	* src/layout/htmlboxblock.c (html_box_block_create_inline_lines): Don't let empty lines be 1 pixel high

2001-03-02  Jonas Borgstrm  <jonas@codefactory.se>

	* src/style/html.css.h: Added some more properties.

	* src/style/cssmatcher.c (css_matcher_get_style): Don't allocate a style stuct, take it as a parameter.
	(css_matcher_apply_rule): send style to html_length_from_css_value.

	* src/layout/htmlstyleinherited.c (html_style_set_text_decoration): Added support for "text-decoration: none".
	(html_style_set_font_size_common): New function.
	(html_style_set_font_size_html): New function.

	* src/layout/htmlstyle.c (html_length_from_css_value): A temporary "ex" and "em" implementation.

	* src/layout/htmlboxtablecell.c (html_box_table_cell_handle_html_properties): New function, handle rowspan and colspan

	* src/layout/htmlboxfactory.c (html_box_factory_html_to_css): Handle <font size="x">. and <table cellspacing="x">.

	* src/layout/htmlbox.c (html_box_handle_html_properties): New function, handle htmlspecific properties.

2001-03-01  Jonas Borgstrm  <jonas@codefactory.se>

	* src/style/html.css.h: <b>, <th>, <strong> are font-weight: bold.

	* src/style/cssmatcher.c (css_matcher_apply_rule): Parse font-weight.

	* src/layout/htmlstyleinherited.c (html_style_set_font_weight): new function, font-weight support.

	* src/layout/htmlboxtablecell.c (html_box_table_cell_relayout): set all the floats that has the current
	cell as a parent as unrelayouted.

	* src/layout/htmlstyleinherited.c (get_new_font_size): Added support for font-size in pixels

	* src/layout/htmlboxtablecell.c (html_box_table_cell_update_geometry): New function.

	* src/layout/htmlboxfactory.c (html_box_factory_html_to_css): New function, convert htmlproperties to css properties.

	* src/layout/htmlbox.c (html_box_left_margin): Do it the slow way unless the width is auto.
	(html_box_right_margin): Do it the slow way unless the width is auto.

	* src/document/htmldocument.c (html_document_new_node_callback): Mark the boxes that need to be relayouted.

2001-03-01  Alexander Larsson  <alla@lysator.liu.se>

	* src/layout/htmltype.c (html_type_register):
	You mean i have to initialize type->klass to NULL?
	Didn't know that... Oooops.

2001-03-01  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlboxblock.c (html_box_block_create_lines): Continue until the iterator list is empty.

	* src/layout/htmllinebox.c (html_line_box_add_inlines): The line fits if it is empty.

2001-02-28  Jonas Borgstrm  <jonas@codefactory.se>

	* src/test/main.c: Made it compile.

	* src/test/browser-window.[ch]: Made testgtkhtml compile. 

	* src/test/Makefile.am: Added testgtkhtml.

	* src/style/html.css.h: Improved the stylesheet.

	* src/painter/htmlstylepainter.c (html_style_painter_draw_background): if bg_style == NULL, bail out.

	* src/layout/htmlboxtablecell.c (html_box_table_cell_get_boundaries): Set boxwidth and boxheight to 0 on get_[min|max]_width.

	* src/layout/htmlboxtable.c (init_boxwidth_boxheight): Use html_box_get_containing_block_width ().

	* src/layout/htmlboxblock.c (html_box_block_real_get_boundaries): Use html_box_get_containing_block_width ().

	* src/layout/htmlbox.c (html_box_get_containing_block_height): a table cell is also a containing block.
	(html_box_get_containing_block_width): A table cell is also a containing block.

2001-02-28  Anders Carlsson  <andersca@codefactory.se>

	* src/style/test-css-parser.c: Upd.

	* src/style/cssmatcher.c (css_matcher_match_simple_selector): Add
	support for multiple classes.

	* src/style/cssdebug.c (css_debug_get_value): Add support for
	DEG.

	* src/style/Makefile.am (INCLUDES): Build test-css-parser.

	* src/layout/htmlstyle.c (html_length_from_css_value): Support
	pt, pc, in, cm and mm lengths.

2001-02-27  Alexander Larsson  <alexl@redhat.com>

	* src/layout/htmlboxtext.h:
	Use guchar * for text, to avoid warnings and problems
	when reading chars > 127.
	
	* src/layout/htmlboxtext.c:
	Remove some warnings.
	Correct handling of pre.
	Newlines are \n \r and \r\n.

2001-02-26  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlboxtablecell.c (check_floats): New function.
	(html_box_table_cell_relayout): New function, expand the cell to cover all the floats.

	* src/layout/htmlbox.c (html_box_right_margin): If the box is positioned, don't calculate the margin
	(html_box_real_left|right|top|bottom_mbp_sum): Optimized the function.

	* src/layout/htmlboxtable.c (init_boxwidth_boxheight): A special width calculation on inline tables.

	* src/layout/htmllinebox.c (html_line_box_add_inlines): Only inline and inline-table boxes in an inline linebox.

	* src/style/cssmatcher.c (css_matcher_apply_rule): Correct value for "display: inline-table"

	* src/style/html.css.h: The margin is 0px by default.

	* src/painter/htmlstylepainter.c (html_style_painter_draw_right_border): Don't access the margins directly.
	(html_style_painter_draw_left_border): Don't access the margins directly.
	(html_style_painter_draw_top_border): Don't access the margins directly.
	(html_style_painter_draw_bottom_border): Don't access the margins directly.

	* src/layout/htmlboxtable.c (relayout_caption): Use the new way of finding the width of the box.

	* src/layout/htmlboxblock.c (html_box_block_real_get_boundaries): Use the new way of finding the
	width of the box.

	* src/layout/htmlbox.c (html_box_left_border_width): New fuction.
	(html_box_right_border_width): New function.
	(html_box_top_border_width): New function.
	(html_box_bottom_border_width): New function.
	(html_box_top_margin): New function.
	(html_box_bottom_margin): New function.
	(html_box_left_margin): New function.
	(html_box_right_margin): New function.

2001-02-25  Jonas Borgstrm  <jonas@codefactory.se>

	* src/style/cssmatcher.c (css_matcher_apply_rule): Added primitive support for the "background:" property.

	* src/layout/htmlstylebox.c (html_style_set_width): Removed a debug message.

	* src/layout/htmlrelayout.h: Added a gboolean preserve_leading_space member.

	* src/layout/htmlboxtext.[ch] (html_box_text_relayout): Implemented "preserve_leading_space".

	* src/layout/htmlbox.c (html_box_apply_positioned_offset): Improved positioning code (still not complete).

2001-02-24  Anders Carlsson  <andersca@codefactory.se>

	* src/util/htmlstream.c: Make HtmlStream struct private and remove cancel_func.
	(html_stream_get_written): Add function.

	* src/test/simple.c (url_requested_timeout): Check that file exists
	before loading.

	* src/style/html.css.h: Add BLINK tag.

	* src/style/cssmatcher.c (css_matcher_apply_rule): Add blink support.
	(css_matcher_sheet_stream_close): Be more sane about empty streams.

	* src/painter/htmlimagefactory.h: Add structs from HtmlGdkImageFactory.
	Remove vtable from HtmlImageClass.

	* src/painter/htmlimagefactory.c (write_pixbuf): Impl.
	(close_pixbuf): Impl.
	(area_prepared): Impl.
	(html_image_factory_get_image): Emit url_requested signal.
	(finalize): Unref pixbuf.
	(html_image_get_width): Update.
	(html_image_get_height): Update.
	(html_image_factory_new): Impl.

	* src/painter/Makefile.am (libhtmlpainter_la_SOURCES): Remove htmlgdkimagefactory.c

	* src/layout/html/htmlboximage.c (html_box_image_paint): Better support for drawing loading 
	images and error images.
	(html_box_image_relayout): Set correct height and width when the image is loaded.

	* src/layout/htmlstyle.c (html_style_new): Inherit blink.

	* src/layout/htmlstyle.h: Add blink to style struct.

	* src/document/htmldocument.c (html_document_class_init): replace html_gdk_image_factory_new with
	html_image_factory_new.

	* src/document/htmldocument.c (html_document_clear): Clean up blink list and remove
	blink timeout.
	(html_document_update_blink): Impl.
	(html_document_new_node_callback): Add box to blink list if it's supposed to blink.

2001-02-24  Jonas Borgstrm  <jonas@codefactory.se>

	* src/style/cssmatcher.c (css_matcher_apply_rule): bugfix, set color not style.

	* src/painter/htmlstylepainter.c (html_style_painter_draw_right_border): Changed left maring to right right.

2001-02-23  Jonas Borgstrm  <jonas@codefactory.se>

	* src/test/tests/position.html: First checkin of the position testcase.

	* src/view/htmlview.c (html_view_repaint): Call html_box_root_paint_fixed_list after painting the root box.

	* src/test/simple.c: Added the position.html testcase.

	* src/style/cssparser.c (css_parser_parse_term): Changed some "else if" lines to "if" to get the function
	to work as expected.

	* src/style/cssmatcher.c (css_matcher_validate_style): New function, validates the style. It sets the display
	property to block if the box is floating or positioned.
	(css_matcher_apply_rule): Parse the top:, right:, bottom:, left: and position: property.

	* src/style/csslexer.c (css_lexer_get_token_raw): Parse '-' signs.

	* src/layout/htmlstylesurround.c (html_style_set_position_top): New function.
	(html_style_set_position_right): New function.
	(html_style_set_position_bottom): New function.
	(html_style_set_position_left): New function.

	* src/layout/htmlstyle.h: Added position propeties to the surround struct.

	* src/layout/htmlboxroot.c (html_box_root_add_positioned): New function.
	(html_box_root_get_positioned_list): New function.
	(html_box_root_clear_positioned_list): New function.
	(html_box_root_paint_position_list): New function.
	(html_box_root_paint_fixed_list): New function.

	* src/layout/htmlboxinline.c (html_box_inline_paint): Paint all but floating boxes.

	* src/layout/htmlbox.[ch] (html_box_apply_positioned_offset): New function, calculates the correct position
	for positioned boxes.

	* src/event/htmlevent.c (html_event_find_box_traverser): Ignore positioned boxes.

2001-02-22  Jonas Borgstrm  <jonas@codefactory.se>

	* src/test/tests/jborg.html: Added a clear: testcase.

	* src/view/htmlview.c (html_view_restyle): Set the box as unrelayouted.

	* src/style/cssmatcher.c (css_matcher_apply_rule): Parse the "clear:" property.

	* src/layout/htmlboxblock.c (do_clear): New function, "clear:left|right|both|none" support.
	(html_box_block_create_block_line): Call do_clear if the clear property has been specified.

2001-02-21  Anders Carlsson  <andersca@gnu.org>

	* src/style/cssparser.c (css_parser_parse_term): Add support for
	parsing colors that are of the format #rrggbb.

2001-02-21  Anders Carlsson  <andersca@codefactory.se>

	* src/*: Include file fixup.

2001-02-21  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlboxfactory.c (html_box_factory_get_box): on a "display: inline-table" create an inline-table

	* src/style/cssmatcher.c (css_matcher_apply_rule): parse "display: inline-table"

	* src/test/tests/tables.html: Added a inline-table testcase.

	* src/util/htmlglobalatomlist.h (HTML_ATOM): Added some pseudo-selector strings.

	* src/test/tests/jborg.html: Added some pseudo elements testcases.

	* src/style/cssmatcher.c (css_matcher_apply_rule): Added support for the "content:" property.

	* src/layout/htmlstyle.h: Added style->content as a CssString.

	* src/layout/htmllinebox.c (html_line_box_update_geometry): Removed some old code.
	(html_line_box_add_inlines): Add pseudo-elements to the queue.

	* src/layout/htmlboxinline.c (html_box_inline_paint): paint pseudo elements.

	* src/layout/htmlboxfactory.c (add_before_and_after_elements): new function. Create pseudo elements.

	* src/layout/htmlboxblock.c (html_box_block_create_lines): Add ->before and ->after to the queue.
	(html_box_block_paint): Paint ->before and ->after also.

	* src/layout/htmlbox.h: added box->before and box->after for pseudo elements ":before" and ":after" support.

	* src/layout/htmlbox.c (html_box_paint): Don't clip if it is an inline block box.

	* src/layout/htmlboxblock.c (html_box_block_update_geometry): Only expand the size of the blockbox if it is "auto".

	* src/layout/htmllinebox.c (html_line_box_add_block): Added margin collapsing code.

	* src/layout/htmlboxtablerow.c (html_box_table_row_paint): New functions. paint the cells ourself.

	* src/layout/htmlboxtable.c (html_box_table_*_mbp_sum): 0 unless we are relayouting the table.
	(paint_cells) removed this function. cells are now painted by the row as the should.

	* src/layout/htmlboxinline.c (html_box_inline_mbp_sum): New function, mbp is always 0 on inline boxes.

	* src/layout/htmlbox.c (html_box_*_mbp_sum): Made alla mbp functions virtual.

2001-02-20  Anders Carlsson  <andersca@codefactory.se>

	* src/view/htmlview.c (html_view_restyle): Impl.

	* src/test/tests/andersca.html: Update testcase.

	* src/test/simple.c: Add FetchContext.
	(url_requested_timeout): Impl.
	(url_requested): Set a 2 sec timeout for urls.

	* src/style/cssparser.c (css_parser_parse_statement): Add some
	default values for import rules.

	* src/style/cssmatcher.c (css_matcher_sheet_stream_write): Impl.
	(css_matcher_sheet_stream_close): Impl.
	(css_matcher_apply_stylesheet): Impl.
	(css_matcher_get_style): Use css_matcher_apply_stylesheet.

	* src/document/htmldocument.h: Add css_parser.

	* src/document/htmldocument.c (html_document_restyle_views): Impl.

2001-02-19  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmllinebox.c (html_line_box_close): Added text-align code.

	* src/style/cssmatcher.c (css_matcher_apply_rule): added text-align support.

	* src/layout/htmlstyleinherited.c (html_style_set_text_align): New function.

	* src/layout/htmlstyle.h: Moved text-align to the inherited struct and added HTML_TEXT_ALIGN_DEFAULT enum.

	* src/util/htmlglobalatomlist.h: Added a "justify" atom.

	* src/test/tests/jborg.html: Added a text-align testcase.

2001-02-19  Anders Carlsson  <andersca@codefactory.se>

	* src/util/htmlglobalatomlist.h: Added border width atoms.

	* src/test/tests/andersca.html: Update test.

	* src/style/cssmatcher.c (css_matcher_match_simple_selector): Remove debugging output.
	(css_parse_border_width): Impl.
	(css_parse_color): Impl.
	(css_matcher_apply_rule): Add support for top-color, bottom-color, left-color, right-color,
	border-color, border-style, border-width, border-top-width, border-bottom-width,
	border-left-width, border-right-width, border-top, border-right, border-bottom, border-left,
	border

	* src/painter/htmlstylepainter.c: Change dotted list width.

	* src/painter/htmlcolor.c (html_color_dup): Impl.
	(html_color_new_from_name): Return NULL if no color could be created.

	* src/layout/htmlstyleinherited.c (html_style_set_color): Dup color.

	* src/layout/htmlstyleborder.c: (html_style_set_border_top_color): Impl.
	(html_style_set_border_bottom_color): Impl.
	(html_style_set_border_left_color): Impl.
	(html_style_set_border_right_color): Impl.

	* src/layout/htmlboxtext.c (html_box_text_paint): Set correct line attributes when drawing.

2001-02-19  Jonas Borgstrm  <jonas@codefactory.se>

	* src/style/cssmatcher.c (css_matcher_apply_rule): Added a few missing break; commands. And added "table-layout" support.

	* src/layout/htmlstyle.h: Added HtmlTableLayoutType struct.

	* src/layout/htmlboxtablecell.c (html_box_table_cell_relayout_width): Set self->width to width at the end.

	* src/layout/htmlboxtable.c (calculate_col_min_max): Use the mbp value also.
	(layout_fixed): New function, this function adds "table-layout: fixed" support.

	* src/layout/htmlstyle.c (html_length_get_value): Made it able to parse "auto" as a valid value.

	* src/test/tests/jborg.html: Added an entity testcase.

	* src/style/cssmatcher.c (css_matcher_apply_rule): Send the CssValue to html_style_set_font_size.

	* src/layout/htmlboxfactory.c (html_box_factory_get_box): Don't add textboxes twice.

	* src/layout/htmlstyleinherited.c (get_new_font_size): New function, supports pt, ems, exs and %
	(html_style_set_font_size): Use get_new_font_size.

	* src/test/simple.c: Added "table stresstest" testcase.

	* src/painter/htmlstylepainter.c (html_style_painter_draw_background): Added a specialcase for drawing backgrounds for tablecells.

	* src/layout/htmlboxtablecell.c (html_box_table_cell_get_boundaries): boxwidth, boxheight can't be negative. set block->force_relayout.

	* src/layout/htmlboxtablecaption.c (html_box_table_caption_get_boundaries): boxwidth, boxheight can't be negative

	* src/layout/htmlboxtable.c (calculate_row_height): Correct width calculation.

	* src/layout/htmlboxblock.c (html_box_block_real_get_boundaries): boxwidth and boxheight can't have negative values.

	* src/layout/htmlbox.c (html_box_set_unrelayouted_down): New function.
	(html_box_set_unrelayouted_up): New function.

	* src/document/htmldocument.c (html_document_subtree_modified_event): Call html_box_set_unrelayouted_up instead.

2001-02-18  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlboxtablerowgroup.[ch]: New files, added <thead>, <tbody>, <tfoot> support.

	* src/layout/htmlboxtablecaption.[ch]: New files, table caption support.

	* src/util/htmlglobalatomlist.h: Added a "table-caption" atom.

	* src/style/html.css.h: The <html> should have the padding not the <body> box.

	* src/style/cssmatcher.c (css_matcher_apply_rule): Added "caption-side:" support.

	* src/painter/htmlstylepainter.c (html_style_painter_draw_background): Added a tableborder specialcase.

	* src/layout/htmlstyleinherited.c (html_style_set_caption_side): new function.

	* src/layout/htmlstyle.h: Added HtmlCaptionSideType property.

	* src/layout/htmlboxtable.c (place_caption): New function, caption support.
	(relayout_caption): New function.
	(html_box_table_get_top_offset): New function.
	(html_box_table_get_bottom_offset): New function.

	* src/layout/Makefile.am (libhtmllayout_la_SOURCES): Added htmlboxtablecaption.[ch] and htmlboxtablerowgroup.[ch]

	* src/layout/htmlboxfactory.c (html_box_factory_get_box): Added support for table-caption and 
	table-row/header/footer-group boxes.

2001-02-17  Anders Carlsson  <andersca@codefactory.se>

	* src/test/tests/andersca.html: Update testcase.

	* src/test/simple.c: Change some of the tests.

	* src/style/cssmatcher.c: Added type variable to declaration entry.
	(css_declaration_list_sorter): Compare types.
	(css_matcher_get_style): Set correct types.

2001-02-17  Jonas Borgstrm  <jonas@codefactory.se>

	* src/util/htmlglobalatomlist.h: Added a few new atoms.

	* src/style/cssmatcher.c (css_matcher_apply_rule): Added support for "vertical-align:" and "border-spacing:"

	* src/layout/htmlstyleinherited.c (html_style_set_border_spacing): New function.

	* src/layout/htmlstyle.h: removed style->border_spacing

	* src/layout/htmllinebox.c (html_line_box_add_block): Removed a debug message.

	* src/layout/htmlboxtablerow.c (html_box_table_row_destroy): New function. Remove the row from the
	table on destruction.

	* src/layout/htmlboxtablecell.c (html_box_table_cell_do_valign): Fixed a bug in the align code.

	* src/layout/htmlboxtable.c (update_min_max): New funtion. Update the min & max info if the cell
	has been updated.

	* src/document/htmldocument.c: Removed some not needed headerfiles.

	* src/test/tests/tables.html: Updated the testcase.

	* src/painter/htmlstylepainter.c (html_style_painter_draw_border): Paint border for tables to.
	(html_style_painter_draw_background): paint background-color for tables.

	* src/layout/htmlboxtablecell.c (html_box_table_cell_do_valign): New function.

	* src/layout/htmlboxtable.c (html_box_table_paint): More table work.

	* src/layout/htmlboxblock.c (html_box_block_real_get_boundaries): Made the function virtual.

	* src/layout/htmlbox.c (html_box_paint): Only call the virtual paint function if we have one.

2001-02-16  Jonas Borgstrm  <jonas@codefactory.se>

	* src/test/tests/tables.html: A new testcase.

	* src/test/simple.c: Added a table testcase.

	* src/layout/htmlboxtable.[c]: The beginning of the new table code

	* src/layout/htmlboxtablerow.[c]: The beginning of the new table code

	* src/layout/htmlboxtablecell.[c]: The beginning of the new table code

	* src/layout/htmlboxfactory.c (html_box_factory_get_box): Added support for tables.

	* src/layout/htmlboxblock.c (html_box_block_get_boundaries): set width and height to 0 on "get_min_width"

	* src/layout/htmlbox.c (html_box_real_append_child): Converted this function to a virtual function.

	* src/document/htmldocument.c (html_document_new_node_callback): Don't append a box twice.

2001-02-16  Anders Carlsson  <andersca@codefactory.se>

	* src/util/htmlglobalatomlist.h (HTML_ATOM): Add hover.

	* src/test/tests/andersca.html: Update test.

	* src/style/cssmatcher.c (css_matcher_match_simple_selector): 
	Add pseudo variable and pseudo selector support.
	(css_matcher_match_selector): Add pseudo variable, and fix calls to
	css_matcher_match_simple_selector.
	(css_matcher_get_style): Add pseudo variable.

	* src/layout/htmlstyle.h: Add refcount variable.

	* src/layout/htmlstyle.c (html_style_ref): Impl.
	(html_style_unref): Impl.

	* src/layout/htmlboxfactory.c (html_box_factory_get_box): Add pseudo 
	argument.

	* src/layout/htmlbox.c: Change a bunch of functions to return
	gint instead of int.
	(html_box_set_style): Impl.

2001-02-15  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlboxblock.c (html_box_block_class_init): Don't use dynamic casting in _class_init

	* src/layout/htmlboxroot.c (html_box_root_class_init): Don't use dynamic casting in _class_init

2001-02-14  Jonas Borgstrm  <jonas@codefactory.se>

	* src/style/cssmatcher.c (css_parse_border_style): New function.
	(css_matcher_apply_rule): I did some small code cleanup here.

	* src/layout/htmllinebox.c (html_line_box_init): Removed some old junk.
	(html_line_box_add_block): Only relayout a block if we have to (incremental relayout).

	* src/layout/htmlboxroot.c (html_box_root_relayout): New function, extend the size to cover all the floats.
	(html_box_root_float_get_size): New function, updates the width and heigth to cover all the floats.
	(html_box_root_mark_floats_unrelayouted): New function. Mark all floats comming from a certain box as unrelayouted.

	* src/layout/htmlboxfactory.c (html_box_factory_get_box): Just update the text on a textbox
	if we can.

	* src/layout/htmlboxblock.h: Added float_magic_value och force_relayout;

	* src/layout/htmlboxblock.c (html_box_block_update_geometry): This function now sets the
	box->force_relayout flag if the width has changed since last time.
	(html_box_block_create_inline_lines): New function. This takes care of creation of inline lineboxes.
	(html_box_block_create_block_line): New function. This takes care of creation of block lineboxes.
	(html_box_block_add_line): New function. Add a line to the block box.
	(html_box_block_calculate_float_magic): New function. This calculates a magic value.

	* src/layout/htmlbox.[ch] (html_box_set_unrelayouted): New function.

	* src/document/htmldocument.c (html_document_new_node_callback): Send the DOM node to the 
	box factory to.
	(html_document_subtree_modified_event): Mark the modified box as modified so that we can do
	incremental relayout.

2001-02-13  Anders Carlsson  <andersca@codefactory.se>

	* src/util/Makefile.am (libhtmlutil_la_SOURCES): Add htmlstream.[ch]

	* src/test/tests/andersca.html: Update test.

	* src/test/simple.c (url_requested): Impl dummy url_requested function.

	* src/parser/Makefile.am (libhtmlparser_la_SOURCES): Move htmlstream.[ch] to util/

	* src/painter/htmlstylepainter.c (html_style_painter_draw_bottom_border): Set x/y to correct values.
	(html_style_painter_draw_right_border): Likewise.

	* src/painter/htmlgdkimagefactory.h: Add scaled_pixbuf to HtmlGdkImage struct.

	* src/painter/htmlgdkimagefactory.c (area_prepared): Added a temporary call to
	emit a DOM event when the picture changes size.

	* src/layout/html/htmlboximage.c (html_box_image_paint): Implement painting of images,
	still needs work to take the area into consideration.
	(html_box_image_relayout): Implement relayouting according to the spec.

	* src/layout/htmlboxfactory.c (html_box_factory_get_box): Load the image first, then set it.

	* src/layout/htmlbox.h: s/int/gint/ (not really, but almost :)

	* src/layout/htmlbox.c (html_box_get_containing_block_height): Return content height.
	(html_box_get_containing_block_width): Return content width.
	(html_box_paint): Re-add expose check.
	(html_box_init): Set relayouted to FALSE.

	* src/document/htmldocument.c (html_document_real_url_requested): Comment out html_stream_cancel.
	(html_document_class_init): Change signal type to GTK_RUN_LAST.

2001-02-12  Jonas Borgstrm  <jonas@codefactory.se>

	* src/test/tests/floats.html: Improved the floats example.

	* src/layout/htmlrelayout.c (html_relayout_will_fit_left): Fixed a bug.
	(html_relayout_get_max_width_ignore): And a bug here to.

2001-02-11  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlrelayout.c (html_relayout_will_fit_left): Some more tuning.

	* src/layout/htmllinebox.c (html_line_box_get_y): removed this function. 

	* src/layout/htmlboxinline.c (html_box_inline_paint): Ignore ->x and ->y

	* src/layout/htmlboxblock.c (html_box_block_create_lines): More floating code.

	* src/layout/htmlbox.h: Added a new "is_relayouted" flag.

	* src/layout/htmlbox.c (html_box_get_absolute_x|y): Ignore ->x,->y and mbp on htmlboxinline boxes. 

	* src/test/simple.c: Added a new testcase

2001-02-10  Jonas Borgstrm  <jonas@codefactory.se>

	* src/test/tests/jborg.html: Better looking testcase :)

	* src/layout/htmlrelayout.[ch] (html_relayout_next_float_offset_real): Fixed some types.

	* src/layout/htmllinebox.[ch] (html_line_box_fill_inline): Better float support.

	* src/layout/htmlboxblock.c (html_box_block_create_lines): Better float support.

2001-02-09  Jonas Borgstrm  <jonas@codefactory.se>

	* src/test/tests/jborg.html: More float sample code.

	* src/painter/htmlstylepainter.c (html_style_painter_draw_border): Removed some annoying debug code.

	* src/layout/htmlboxroot.[ch]: Separated the floatlist into two, left and right. 

	* src/layout/htmlboxblock.c (html_box_block_handle_float): Added float:right support.

2001-02-07  Anders Carlsson  <andersca@codefactory.se>

	* src/view/htmlview.h: Remove url_requested from class.

	* src/view/htmlview.c (html_view_class_init): Remove url_requested signal.

	* src/test/tests/andersca.html: Update test.

	* src/style/html.css.h: Misc changes.

	* src/parser/htmlstream.h: Add cancel func.

	* src/parser/htmlstream.c (html_stream_cancel): Impl.

	* src/parser/htmlparser.c (html_parser_new): Add cancel argument.

	* src/painter/htmlstylepainter.c (html_style_painter_draw_background): Use new containing
	block function.
	(html_style_painter_draw_top_border): Likewise.
	(html_style_painter_draw_bottom_border): Likewise.
	(html_style_painter_draw_left_border): Likewise.
	(html_style_painter_draw_right_border): Likewise.

	* src/painter/htmlimagefactory.h: Change from view to document.

	* src/painter/htmlgdkimagefactory.h: Update function declarations.

	* src/painter/htmlgdkimagefactory.c (html_gdk_image_factory_new): Take a HtmlDocument
	(cancel_pixbuf): Add function.

	* src/layout/html/Makefile.am (libhtmllayouthtml_la_SOURCES): Add htmlboximage.[ch]

	* src/layout/html/htmlboximage.c: Rewritten.

	* src/layout/html/htmlboximage.h: Likewise.

	* src/layout/htmlboxfactory.c (html_box_factory_get_box): Add "img" tag support

	* src/layout/htmlbox.c (html_box_get_containing_block_height): Impl.
	(html_box_get_containing_block_width): Impl.
	(html_box_left_mbp_sum): Upd.
	(html_box_right_mbp_sum): Upd.
	(html_box_top_mbp_sum): Upd.
	(html_box_bottom_mbp_sum): Upd.
	(html_box_paint): #if 0 out the expose check for now.

	* src/layout/Makefile.am (SUBDIRS): Add html and link in library.

	* src/document/htmldocument.h: Add url_requested to class.

	* src/document/htmldocument.c (html_document_new): Create image factory.

	* src/document/htmldocument.h: Add image_factory field.

	* src/document/htmldocument.c: Add "url_requested" signal.
	(html_document_real_url_requested): Impl.
	(html_document_class_init): Register signal.

2001-02-07  Jonas Borgstrm  <jonas@codefactory.se>

	* src/test/tests/jborg.html: Added a tiny float testcase.

	* src/view/htmlview.c (html_view_relayout): set relayout->root to document->root

	* src/layout/htmlrelayout.c (html_relayout_next_float_offset): new function.
	(html_relayout_get_left_margin): new function.
	(html_relayout_left_margin): new function.
	(html_relayout_get_max_width): new function.

	* src/layout/htmllinebox.c (html_line_box_fill_inline): Respect the "left margin" specified.

	* src/layout/htmlboxroot.[ch] (html_box_root_add_float): new function.
	(html_box_root_clear_float_list): new function.
	(html_box_root_get_float_list): new function.

	* src/layout/htmlboxblock.c (html_box_block_handle_float): new function, adds float support.

2001-02-06  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlboxfactory.c (html_box_factory_get_box): Check for nullpointer.

2001-02-06  Anders Carlsson  <andersca@codefactory.se>

	* src/document/htmldocument.c (html_document_new_node_callback): Use box factory.

	* src/layout/htmlboxfactory.c: Add beginnings of box factory.

2001-02-06  Anders Carlsson  <andersca@codefactory.se>

	* src/view/htmlview.c (html_view_hover_updated): Use html_view_find_layout_box here.

2001-02-06  Anders Carlsson  <andersca@codefactory.se>

	* src/view/htmlview.c (html_view_find_layout_box): Impl.

	(html_view_hover_updated): Set correct cursors

	* src/test/tests/andersca.html: Update test.

	* src/style/html.css.h: Minor change with A tags.

	* src/style/cssmatcher.c (css_matcher_apply_rule): Add remaining cursor types.

	* src/layout/htmlboxinline.c (html_box_inline_handles_events): Impl.

	* src/layout/htmlbox.c (html_box_class_init): Add handles_events.
	(html_box_real_handles_events): Impl.
	(html_box_handles_events): Impl.

	* src/event/htmlevent.c (html_event_find_box_traverser): Only recurse if the box can 
	handle events.

	* src/view/htmlview.c (html_view_init): Set the colormap to use.

	* src/painter/htmlgdkpainter.c (set_foreground_color): Simplify color handling.

	* src/document/htmldocument.c (html_document_clear): Set hover_node to NULL.

2001-02-06  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmltype.c (html_type_class): Return the types class and not the parent class.

2001-02-05  Jonas Borgstrm  <jonas@codefactory.se>

	* src/style/cssmatcher.c (css_matcher_apply_rule): Added float parsing support.
	And fixed a small bug.

2001-02-05  Anders Carlsson  <andersca@codefactory.se>

	* src/util/htmlglobalatoms.c (html_global_atoms_initialize): Use new interface.

	* src/util/htmlglobalatomlist.h: Update to use new interface, and added 
	some more properties.

	* src/util/htmlatomlist.c (html_atom_list_get_atom_length): Plug memory leak.
	(html_atom_list_get_atom): use g_hash_table_lookup_extended.

	* src/util/Makefile.am (noinst_PROGRAMS): Add test-atom.

	* src/test/simple.c (cb_repaints): Add repaints timing test.

	* src/style/cssmatcher.c: Update to use the new atom interface, 
	add support for margin and padding properties.
	(css_matcher_get_style): Add support for extra stylesheets, 
	still needs to do the cascade right though.

	* src/style/csslexer.c: Update to use the new atom interface.

	* src/painter/htmlstylepainter.c (html_style_painter_draw_background): Impl.

	* src/layout/htmlstyleinherited.c (html_style_set_cursor): Impl.

	* src/layout/htmlstyle.h: Add cursor types.

	* src/layout/htmlstyle.c (html_default_style_new): Set default color to black.

	* src/layout/htmlbox.c (html_box_paint): Don't paint boxes that aren't exposed.

	* src/event/htmlevent.c: Try to get events working again.

	* src/document/htmldocument.c (html_document_clear): Remove stylesheets.
	(html_document_new_node_callback): Update call to css_matcher_get_style.

2001-02-04  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlbox.c (html_box_left|right|top|bottom_mbp_sum): inline block box doesn't have any border, padding or margin.

	* src/layout/htmllinebox.c (html_line_box_fill_inline): Set the width and height property of inline block boxes correct.

	* src/layout/htmlbox.c (html_box_left|right|top|bottom_mbp_sum): Ignore the border if the box is an inline block box.

2001-02-04  Anders Carlsson  <andersca@codefactory.se>

	* src/test/tests/andersca.html: Update test.

	* src/layout/htmlboxblock.c (html_box_block_paint): Draw the border.

	* src/painter/htmlstylepainter.c (html_style_painter_draw_top_border): Impl.
	(html_style_painter_draw_bottom_border): Impl.
	(html_style_painter_draw_left_border): Impl.
	(html_style_painter_draw_right_border): Impl.
	(html_style_painter_draw_border): Impl.

	* src/painter/htmlcolor.c (html_color_transform): Add function.

2001-02-03  Jonas Borgstrm  <jonas@codefactory.se>

	* src/test/tests/jborg.html: More bidi tests.

	* src/layout/htmlstyle.h: Added the html_style_set_bidi_level declaration.

	* src/layout/htmlstyleinherited.c (html_style_set_bidi_level): New function.

	* src/layout/htmlboxtext.c (html_box_text_get_bidi_level): Use style->inherited->bidi_level in
	the calculation.

	* src/style/cssmatcher.c (css_matcher_get_style): Added support for style->inherited->bidi_level.

2001-02-03  Jonas Borgstrm  <jonas@codefactory.se>

	* src/style/cssmatcher.c (css_matcher_apply_rule): Check the return value of the function
	html_length_from_css_value before actually using the data.

	* src/layout/htmlstyle.c (html_length_from_css_value): This function now returns TRUE on successfull
	parsing of the css value else FALSE.	

	* src/layout/htmlstyle.h: Saved _one_ bit (actually nothing) with type:2 instead of type:3 :)

2001-02-02  Anders Carlsson  <andersca@codefactory.se>

	* src/view/htmlview.c: Remove debugging output.

	* src/style/cssmatcher.c (css_matcher_apply_rule): Add support for more font-variant,
	font-style, font-stretch, and all border-style types.

	* src/parser/htmlparser.c (html_parser_set_type): Impl.
	(html_parser_new): Use html_parser_set_type ().

	* src/painter/htmlstylepainter.c (html_style_painter_draw_top_border): Semi-impl.
	(html_style_painter_draw_bottom_border): Likewise.
	(html_style_painter_draw_left_border): Likewise.
	(html_style_painter_draw_right_border): Likewise.
	(html_style_painter_draw_border): Impl for block elements only.

	* src/painter/htmlfontspecification.c: Removed unnecessary enums.

	* src/layout/htmlstyleinherited.c (html_style_set_font_style): Impl.
	(html_style_set_font_stretch): Impl.

	* src/layout/htmlstyleborder.c (html_style_set_border_top_width): Impl.
	(html_style_set_border_bottom_width): Impl.
	(html_style_set_border_left_width): Impl.
	(html_style_set_border_right_width): Impl.
	(html_style_set_border_top_style): Impl.
	(html_style_set_border_bottom_style): Impl.
	(html_style_set_border_left_style): Impl.
	(html_style_set_border_right_style): Impl.

	* src/layout/htmlstyle.c (html_default_style_new): Create border style struct.
	(html_style_new): Set default border style.

	* src/layout/htmlboxblock.c (html_box_block_paint): Draw the border.

	* src/layout/htmlbox.c (html_box_left_mbp_sum): Added border support.
	(html_box_right_mbp_sum): Likewise.
	(html_box_top_mbp_sum): Likewise.
	(html_box_bottom_mbp_sum): Likewise.

2001-02-01  Anders Carlsson  <andersca@codefactory.se>

	* src/layout/htmlstyleinherited.c (html_style_set_font_style): Implement.

2001-02-02  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmllinebox.c (html_line_box_fill_inline): Check if the pointer is NULL
	before trying to cast it.

	* src/test/tests/jborg.html: Added some more html code to this page.

	* src/painter/htmlgdkpainter.c (set_foreground_color): Removed an annoying debug line.

	* src/layout/htmllinebox.c (html_line_box_fill_inline): use a goto statement (I hope nobody sees this).

	* src/layout/htmlbox.c (html_box_relayout): Don't relayout boxes with "display: none"

	* src/document/htmldocument.c (html_document_new_node_callback): Made the box creation less ugly,
	still temporary though.

2001-02-01  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmllinebox.c (html_line_box_fill_inline): If we are in HTML_WHITE_SPACE_PRE
	mode, then allow only one box on each line.

	* src/layout/htmlboxtext.c (html_box_text_relayout): Check the white-space parameter on
	the parent box instead of in it's own style.

	* src/layout/htmllinebox.c (reorder_items_recurse): Added the beginning of bidi 
	reordering support.

	* src/layout/htmlboxtext.c (html_box_text_get_bidi_level): New function, this function
	contains some primitive bidisupport code.

	* src/layout/htmlboxinline.c (html_box_inline_paint): Added a paint function to
	this box type.

	* src/document/htmldocument.c (html_document_new_node_callback): Added some very temporary
	code to support inline boxes.

2001-02-01  Alexander Larsson  <alexl@redhat.com>

	* src/layout/htmlboxtext.c:
	Don't render '\n'.

2001-01-31  Anders Carlsson  <andersca@codefactory.se>

	* src/test/simple.c: Don't hard-code documents, load them instead.

	* src/util/htmlglobalatomlist.h: Added font-variant values.

	* src/test/simple.c (HTML3_TEXT): Add text-decoration example.

	* src/painter/htmlcolor.c: Add refcounting of colors.

	* src/style/cssmatcher.c (css_matcher_apply_rule): Add parsing of text-decoration and font-variant.

	* src/layout/htmlstyle.c (html_default_style_new): Set default font

	* src/layout/htmlboxtext.c (html_box_text_paint): Add ty to when drawing overline.

2001-01-31  Jonas Borgstrm  <jonas@codefactory.se>

	* src/style/html.css.h: Added some BIDI properties to the default stylesheet.

2001-01-31  Alexander Larsson  <alla@lysator.liu.se>

	* src/painter/htmlfontspecification.[ch]:
	Added html_font_specification_dup.

        * src/layout/htmlboxtext.c:
	Clean up after boxes die. Handle under/overline.
	Remove g_prints.

	* src/painter/htmlfontspecification.c:
	Implemented html_font_description_equal.
	(html_font_specification_get_extra_attributes):
	Under/overline are bitmasks.

	* src/painter/htmlfontspecification.h:
	Add html_font_description_equal. Make font_spec members bitfields.
	
2001-01-31  Anders Carlsson  <andersca@gnu.org>

	* src/layout/htmlstylebackground.c: Add file.

	* src/test/simple.c: Update sample text.

	* src/style/cssmatcher.c (css_matcher_apply_rule): Add background-color support.

	* src/painter/htmlcolor.c (html_color_transparent_new): Add function

	* src/layout/htmlstyle.c (html_default_style_new): Add HtmlStyleBackground.

	* src/layout/htmlbox.c (html_box_paint): Draw the background color
	here for now.

2001-01-31  Jonas Borgstrm  <jonas@codefactory.se>

	* src/util/htmlglobalatomlist.h: Added some string atoms needed for the new properties.

	* src/layout/htmlstyle.h: Added two function declarations.

	* src/layout/htmlstyleinherited.c (html_style_set_direction): new function. I hope this is
	the right way of doing this.

	* src/style/cssmatcher.c (css_matcher_apply_rule): The cssparser now knows about
	the "direction:" and "unicode-bidi:" properties.

	* src/layout/htmlstyle.h: Added HtmlDirectionType and HtmlUnicodeBidiTYpe

	* src/layout/htmlbox.h: Added a new virtual function get_bidi_level.

2001-01-31  Alexander Larsson  <alla@lysator.liu.se>

	* src/widget/gtkhtmlcontext.c:
	The normal font should really be sans and monospace, those are pango-special fonts.

	* src/painter/htmlfontspecification.c:
	Oops. Specified font sizes 1024 times to small.

2001-01-31  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmllinebox.c (html_line_box_fill_inline): Have the horizontal mbp value in
	the calculation to.

2001-01-30  Anders Carlsson  <andersca@gnu.org>

	* src/layout/htmlbox.c (html_box_bottom_mbp_sum): Add padding+margin.
	(html_box_top_mbp_sum): Likewise.
	(html_box_right_mbp_sum): Likewise.
	(html_box_left_mbp_sum): Likewise.

	* src/style/cssmatcher.c (css_matcher_apply_rule): Match padding and margin
	styles.

	* src/test/simple.c: Add margin+padding tests

	* src/layout/htmlstyle.c: Initialize border and surround structs.

	* src/layout/htmlstyleborder.c: Add file.

	* src/layout/htmlstylesurround.c: Add file.

2001-01-30  Anders Carlsson  <andersca@codefactory.org>

	* src/layout/htmlboxtext.c (html_box_text_paint): Add color support

2001-01-30  Alexander Larsson  <alla@lysator.liu.se>

	* src/layout/htmlboxtext.c (html_box_text_paint):
	text->glyphs can be NULL.

2001-01-30  Alexander Larsson  <alexl@redhat.com>

	* src/layout/htmlboxtext.c (html_box_text_relayout):
	Split line at first possible place, even if it doesn't fit.

2001-01-30  Alexander Larsson  <alexl@redhat.com>

	* src/layout/htmlboxtext.c (html_box_text_relayout):
	Check if width <= max_width.

2001-01-30  Alexander Larsson  <alexl@redhat.com>

	* src/test/simple.c:
	Ooops, bad string length!
	Added more UTF-8 text to HTML4_TEXT
	
	* src/layout/htmlboxtext.c:
	Handle empty text boxes.
	break when the text fits at first try.
	Don't loop forever if first character can_break().

2001-01-30  Jonas Borgstrm  <jonas@codefactory.se>

	* configure.in: Changed the configure script to use pkg-config when
	checking for libxml.

2001-01-30  Alexander Larsson  <alexl@redhat.com>

	* src/layout/htmlbox.c:
	The debug rectangles were drawn in the wrong place. Add self->x/y
	
	* src/painter/htmlfontspecification.[ch]:
	New files. Added HtmlFontSpecification instead of HtmlFont and HtmlFontFactory.

	* src/painter/Makefile.am:
	Removed fontfactory stuff.

	* src/painter/htmlfontfactory.[ch]:
	* src/painter/htmlgdkfontfactory.[ch]:
	Removed files
	
	* src/painter/paintertypedefs.h:
	* src/layout/htmlstyle.h:
        * src/document/htmldocument.c:
	font -> font spec.
	
	* src/widget/gtkhtmlcontext.[ch]:
	No fontfactory. Changed default fonts to "sans" and "monotype".
	font -> font spec.
	
	* src/view/htmlview.c:
	Don't set fonts.
	
	* src/painter/htmlpainter.[ch]:
	Added draw_glyphs and draw_layout. Removed get_text_width/height, set_font and
	draw_text. Removed font_factory and font from painter
	
	* src/painter/htmlgdkpainter.[ch]:
	Implemented draw_glyphs and draw_layout. Removed get_text_width/height, set_font and
	draw_text.
	
	* src/layout/htmlboxtext.h:
	Added item and glyphs, changed length to measure bytes, not chars.
	Added ascent and descent.
	
	* src/layout/htmlboxtext.c:
	Pango support.
	
	* src/test/simple.c:
	Added UTF-8 example

2001-01-26  Jonas Borgstrm  <jonas@codefactory.se>

	* src/painter/htmlgdkpainter.c (color_cache_get_color): Added a simple color cache.

	* src/layout/htmlbox.c (html_box_paint): paint debug border arround all boxes

2001-01-22  Jonas Borgstrm  <jonas@codefactory.se>

	* src/view/htmlview.c (html_view_relayout): Actually call html_box_relayout.

	* src/layout/htmlrelayout.c: Cleaned up the file (removed almost all functions :)) 

	* src/layout/htmlbox.c: Rescued some gnome-doc headers from the old file. 

	* src/layout/*.[ch]: Converting things to the new object system and the new layout code.

2001-01-18  Richard Hult  <rhult@codefactory.se>

	* configure.in: Use pkg-config when checking for glib/gtk+.

2001-01-15  Jonas Borgstrm  <jonas@codefactory.se>

	* docs/incremental_relayout.txt: Added some thoughts about "incremental relayout".

2001-01-14  Jonas Borgstrm  <jonas@codefactory.se>

	* src/test/simple.c (cb_relayouts): Changed it to 10,000 relayouts.
	(cb_change): Added more texts to the "change text" command.

2001-01-12  Anders Carlsson  <andersca@codefactory.se>

	* src/event/htmlevent.c (html_event_button_press): Implement mousedown DOM events.

	* src/event/htmlevent.c (html_event_button_release): Implement mouseup DOM events.

2001-01-11  Anders Carlsson  <andersca@codefactory.se>

	* src/dom/events/dom-uievent.c (_dom_UIEvent__get_detail_impl): Return correct value.

	* src/dom/events/dom-eventlistener.c (_dom_EventListener__get_data): Fix stupid crash.

	* src/event/htmlevent.c: Remove gdome include files,
	and do s/Gdome/Dom/

	* src/painter/htmlgdkimagefactory.c: Remove gdome headers.

	* src/dom/views/dom-abstractview.c: Sigh, add correct variable...


2001-01-08  Jonas Borgstrm  <jonas@codefactory.se>

	* HACKING: Updated the mailing list info.

2001-01-06  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlboxblock.c (html_box_block_relayout): If the box is an inline box and the height
	is specified, then the first linebox has to be as high as the specified height. And some general code
	clean up.

2001-01-05  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlrelayout.c (html_relayout_left_margin): Correctly calculate the left margin.

2001-01-04  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlboxline.c: Added some g_asserts.

	* src/layout/htmlboxblock.c (html_box_block_update_geometry): Added a helper function to html_box_block_relayout
	(html_box_block_relayout): Major rewrite of the block layout code.

2001-01-03  Jonas Borgstrm  <jonas@codefactory.se>

	* src/view/htmlview.c (html_view_class_init): removed obsolete call to gtk_object_class_add_signals.

	* src/parser/htmlparser.c (html_parser_new): Tell the htmlparser NOT to fix what it thinks is broken html.

	* src/painter/htmlgdkimagefactory.c (close_pixbuf): Added a workarround for a bug in gdk-pixbuf.

2000-12-29  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlboxblock.c (html_box_block_relayout): Fixed crash on assertion, 
	floating images shouldn't make a new line.

2000-12-28  Jonas Borgstrm  <jonas@codefactory.se>

	* src/view/htmlview.c (html_view_repaint): Don't loose the repaint queue.  

2000-12-27  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlboxtable.c (html_box_table_calculate_col_widths): Don't add any extra space to fixed columns.

2000-12-22  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlboxtable.c (html_box_table_calculate_col_widths): Corrected the percentage calculation.

2000-12-14  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlboxtable.c (html_box_table_cell_relayout): Relayout a table sell even if the parent
	is a form box.
	(html_box_table_row_get_num_cols): Added support for <form> tags between <tr> and <td>.
	(html_box_table_row_update_spaninfo): Added support for <form> tags between <tr> and <td>.
	(html_box_table_row_fill_cells_array): Added support for <form> tags between <tr> and <td>.

2000-12-13  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlboxtable.c (html_box_table_add_thead): Made global.
	(html_box_table_add_tbody): Made global.
	(html_box_table_add_tfoot): Made global.

	* src/layout/htmlbox.c (html_box_append_child): Added html_box_form_append_child.

	* src/layout/htmlboxform.c (html_box_form_append_child): new function. This is a workaround to support 
	<form> tags on stupid places in tables.

2000-12-12  Jonas Borgstrm  <jonas@codefactory.se>

	* TODO: Added some entries.

2000-12-10  Jonas Borgstrm  <jonas@codefactory.se>

	* ChangeLog: added missing '"' in one of the ChangeLog entries, thanks weinholt for pointing that out. :)

	* src/view/htmlview.c (html_view_relayout): Update the scrollbars after each layout by calling gtk_layout_set_size

	* src/test/browser-window.c (browser_window_entry_activate): Use "http://" as the default protocol.

	* src/layout/htmlboxtable.c (calculate_col_min_max): Column type defaults to HTML_LENGTH_TEMPORARY

	* src/layout/htmlboxembedded.c (html_box_embedded_input_new): Changed strcmp to strcasecmp

	* src/layout/htmlboxline.c: Fixed a broken comment.

2000-12-08  Jonas Borgstrm  <jonas@codefactory.se>

	* src/test/browser-window.c (link_clicked): Removed some old code.

	* src/layout/htmlboxline.c Documented all the functions in this file.
	(html_box_line_relayout): If we find a form box, then don't try
	to fit any more boxes on that line.

2000-11-28  Jonas Borgstrm  <jonas@codefactory.se>

	* src/view/htmlview.c (html_view_button_release): Removed not needed xmlGetProp () call.
	(html_view_hover_updated): Removed not needed xmlGetProp () call.

	* src/layout/htmlboximageinput.[ch]: New files, added <input type="image" src="xxx"> support.
	
2000-11-27  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlboxhidden.c (html_box_hidden_new): Request a privsize of 0.

	* src/layout/htmlboxcheckbox.c (html_box_checkbox_new): Request a private size of 0.

	* src/layout/htmlboxradio.c (html_box_radio_new): Request a private size of 0.

	* src/layout/htmlboxtextarea.c (html_box_text_area_new): Request a private size of 0.

	* src/layout/htmlboxtextinput.c (html_box_text_input_new): Request a private size of 0.

	* src/layout/htmlboxbutton.c (html_box_button_input_new): Request a private size of 0.

	* src/layout/htmlboxselect.[ch]: New files. <select> and <option> support.

	* src/layout/htmlboxembedded.c (html_box_embedded_destroy): Added call to html_box_select_destroy ().
	(html_box_embedded_encode): Added call to html_box_select_encode ().
	(html_box_embedded_reset): Added call to html_box_select_reset ().
	(allocate): Tell the DOM tree that things have changed, and the layout tree has to be relayouted.

	* src/document/htmldocument.c (html_document_new_node_callback): Added calls to html_box_select_new ()
	and html_box_select_add_option () and html_box_select_set_text ().

2000-11-23  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlboxembedded.c (html_box_embedded_parse_properties): Added radio support.
	(html_box_embedded_reset): Added radio support.
	(html_box_embedded_encode): Added radio and hidden support.
	(html_box_embedded_input_new): Added radio and hidden support.
	(html_box_embedded_paint): Removed unneeded extra code.

	* src/layout/htmlboxform.c (html_box_form_get_radio_group): New function. The form class now contains a
	GSList which will be used by the radio buttons.
	(html_box_form_set_radio_group): New function.

	* src/layout/htmlboxradio.[ch]: New files. <input type="radio"> support. 

	* src/layout/htmlboxhidden.[ch]: New files. <input type="hidden"> support.

2000-11-22  Jonas Borgstrm  <jonas@codefactory.se>

	* src/test/tests/test1.html: Updated the testcase.

	* src/layout/htmlboxform.c (html_box_form_submit): Print the submit string to stdout.

	* src/layout/htmlboxembedded.c (html_box_embedded_input_new): Removed a debug message.

	* src/layout/htmlboxtextinput.c (html_box_text_input_parse_properties): Removed a debug message.

	* src/layout/htmlboxembedded.c (allocate): New function, this is a gtk callback function.

	* src/document/htmldocument.c (html_document_new_node_callback): call html_box_text_area_set_text when we find
	a child to the <textarea> tag.

2000-11-20  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlboxembedded.c (html_box_embedded_encode): Added both textarea and checkbox calls.

	* src/document/htmldocument.c (html_document_new_node_callback): Create a HtmlBoxTextArea on <textarea> tags.

	* src/layout/htmlboxtextarea.[ch]: New files.

	* src/layout/htmlboxcheckbox.[ch]: New files.

	* src/layout/htmlboxembedded.c (html_box_embedded_input_new): Use strcasecmp instead of strcmp

	* src/layout/htmlboxform.c (html_box_form_add_embedded): Use append instead of prepend.

2000-11-19  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlboxbutton.c (html_box_button_parse_properties): Set the button label to the value
	specified in the "value" property.

	* src/layout/htmlboxtextinput.c (html_box_text_input_parse_properties): Added support for the "maxlength=x"
	and "readonly" properties.

	* src/layout/htmlboxtable.c (html_box_table_relayout): if boxwidth is below 0 the set it to 0.
	(html_box_table_parse_properties): If the property "border=" is used without a value, then a thin
	border is assumed.

	* src/document/htmldocument.c (html_document_new_node_callback): Create a HtmlBoxForm on <form> tags.

	* src/test/tests/test1.html: Added a reset button.

	* src/layout/htmlboxembedded.c (html_box_embedded_reset): New function.

	* src/layout/htmlboxbutton.c (html_box_button_clicked): New function, this one will be called
	when the button get pressed, and it will call html_box_form_submit, or html_box_form_reset,
	dending on the button type.

	* src/test/debug.c (debug_dump_boxes): Added the new box types.

	* src/layout/htmlboxform.[ch]: New file.  

2000-11-18  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlboxembedded.[ch]: New file. This is the start of the forms support.

	* src/layout/htmlboxbutton.[ch]: New file. This is form buttons.

	* src/layout/htmlboxtextinput.[ch]: New file. This is form text input entries.

	* src/document/htmldocument.c (html_document_new_node_callback): call html_box_embedded_input_new ();

	* src/layout/htmlbox.c: added HtmlBoxEmbedded to various places. 

	* src/layout/htmlbox.h: Added new types for the <form> boxes.

	* src/layout/Makefile.am: Added the new files.

2000-11-14  Jonas Borgstrm  <jonas@codefactory.se>

	* src/painter/htmlgdkimagefactory.c (area_prepared): If only width is specified on an image,
	the height is scaled by new_width/oldwidth. Same width height.

	* src/layout/htmlboxblock.c (html_box_block_relayout): Set boxwidth to 0 if we want the max
	or min width.

	* src/layout/htmlboxtable.c (html_box_table_relayout): Tables cant be wider then their parent.
	(html_box_table_calculate_col_widths): Correctly calculate the max width of tables.

2000-11-13  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlboxtable.c (html_box_table_update_cells_array): Push both
	get_min_width and get_max_width values.
	(html_box_table_calculate_col_widths): Rewrote it again :)

	* src/test/browser-window.c (link_clicked): Set the baseURI _after_ requesting
	the page.

2000-11-11  Jonas Borgstrm  <jonas@codefactory.se>

	* misc/gtkhtml2.xcf: Added the gtkhtml2 logo created by, Daniel Lundin <daniel@codefactory.se>

2000-11-11  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlboxtable.c (html_box_table_calculate_col_widths): New function. This
	is the "normal" column width calculation function.
	(html_box_table_fixed_col_widths): New funtion. This "column width calculation function"
	is used then the cols property is specified .i.e <table cols=3>
	(html_box_table_parse_properties): Parse cols=xxx.
	(html_box_table_update_cells_array): Call calculate_col_min_max only then priv->relal_col_param == 0

2000-11-08  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlboxtable.c (html_box_table_relayout): Send the real table width to 
	html_box_table_take_space_percent. And some code clean-up.

2000-11-07  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlboxtable.c (calculate_col_min_max): The max value cant be smaller than
	the min value

	* autogen.sh: Changed GtkHtml to GtkHtml2

	* src/layout/htmlboxtable.c (html_box_table_relayout): Fixed a layout bug. The min and max
	width of a fixed width table was not calculated correctly.

Sun Oct 29 20:31:39 CET 2000 Daniel Veillard <Daniel.Veillard@w3.org>

	* HACKING: added a blurb about launching aclocal first.

2000-10-28  Jonas Borgstrm  <jonas@codefactory.se>

	* HACKING: Added a "HACKING" file. 

2000-10-26  Jonas Borgstrm  <jonas@codefactory.se>

	* src/test/httpstream.[ch]: Added a http context.(http_stream_context_new) new function.
	(http_stream_context_kill_all): new function. It kills all connections on that context.

	* src/test/main.c (main): Call http_stream_context_new to create a new http context.

	* src/test/browser-window.c (link_clicked): Call http_stream_context_kill_all when uses clicks
	on a link.

	* src/*/*.c : Added a missing argument to g_type_register_static.

	* AUTHORS: changed Anders email address. :)

	* src/test/Makefile.am: Added httpstream.c.

	* src/test/httpstream.[ch] : New file. Rewrote the netcode to use gnome-http instead of glibwww.

	* src/test/browser-window.c (url_requested): use HTTPStream (gnome-http) instead of glibwww.

2000-10-25  Jonas Borgstrm  <jonas@codefactory.se>

	* src/test/Makefile.am: fixed wrong dependency.

2000-10-24  Jonas Borgstrm  <jonas@codefactory.se>

	* src/test/Makefile.am: Use gtkhtml-2.0.

	* src/widget/Makefile.am: Changed library name to gtkhtml-2.0

	* src/*.[ch]: Added LGPL copyright headers.

	* src/document/htmldocument.c: Removed unnessesary include files.

	* src/layout/htmlboxtable.c (html_box_table_relayout): Fixed a type, changed fixed_min to fixed_max.
	removed unnessesary header files.

2000-10-23  Jonas Borgstrm  <jonas@codefactory.se>

	* src/layout/htmlrelayout.h: Added the member relayout->get_min_width. This is TRUE when the table want the box
	to make itself as small as possible

	* src/layout/htmlboxblock.c (html_box_block_relayout): Set boxwidth to 0 if relayout->get_[min|max]_width is TRUE

	* src/layout/htmlboxtable.c (calulated_col_min_max) : rewrote the table code (again). We have better support
	  for column type override now.

	* Created the ChangeLog file.

