2005-02-12 Rodney Dawes * NEWS, configure.in: Updated for 2.6.3 release 2005-02-09 Kjartan Maraas * libgtkhtml/util/htmlatomlist.c: (html_atom_list_get_atom): Don't strdup stuff into g_ascii_strdown() since that allocates a new string anyway. Fixes almost 400 kb leakage from opening slashdot... 2005-02-07 Rodney Dawes * libgtkhtml/document/htmlparser.c (html_comment): (html_characters, html_startElement, html_endElement): (html_startDocument, html_endDocument): Update all these functions to call the xmlSAX2 versions of the deprecated functions Fixes #164808 2005-02-04 Rodney Dawes * autogen.sh: Replace with an autogen.sh that uses gnome-common 2005-01-28 Padraig O'Briain * libgtkhtml/view/htmlview.c (html_view_get_box_text_for_offset): Return NULL at end of function; bug #165455; patch from Chris Lahey. 2005-01-06 Padraig O'Briain * libgtkhtml/css/cssmatcher.c (css_matcher_apply_rule): Change g_warning to g_print; bug 163071; fix from Pawel Sawek. 2004-12-10 Padraig O'Briain * libgtkhtml/view/htmlview.c (html_view_update_focus_element): New function from refactored code which updates focus element when cursor is moved or toggled showing. (html_view_notify_cursor_position): New function from refactored code called by html_view_set_cursor_position. (html_view_toggle_cursor): Add call to html_view_notify_cursor_position. (move_cursor): Removed refactored code with call as html_view_set_cursor_position now causes code to be executed. Fixes bug #160705. (html_view_focus_element): Correct condition under which adjustment is set to 0. 2004-11-24 Padraig O'Briain * libgtkhtml/a11y/htmlviewaccessible.c (html_view_accessible_initialize): Connect after grab_focus instead of before. This ensure that when widget is focused for the first time We report focus on the focused link. This was a regression caused by fix for bug 156582. (html_view_accessible_grab_focus_cb): Report focus on HtmlView when fovus moves from a link. Fixes bug #157330. 2004-11-04 Padraig O'Briain * libgtkhtml/view/htmlview.c (move_cursor): Keep offset value relative to start of htmlView rather than start of current of current HtmlBoxText when finding current object. Fixes bug #157328. 2004-10-27 Thomas Fitzsimmons * autogen.sh: Support non-srcdir builds. Bug #156554 2004-10-27 Padraig O'Briain * configure.in: Depend on gail 1.8 * libgtkhtml/a11y/htmlviewaccessible.c: Remove set_focus_object(). Fixes bug #156582. 2004-09-12 Peter Williams * libgtkhtml/view/htmlview.c (html_view_motion_notify): Move the button press check to after the html_event_mouse_move call, so that the on_url signal is fired even if the mouse button isn't being pressed. Move the call to html_selection_update from html_event_mouse_move to after the button-press check. * libgtkhtml/view/htmlevent.c (html_event_mouse_move): Don't call html_selection_update here. 2004-09-05 Padraig O'Briain * libgtkhtml/a11y.htmlboxaccessible.c libgtkhtml/a11y/htmlboxtextaccessible.c libgtkhtml/a11y/htmlboxblocktextaccessible.c libgtkhtml/graphics/htmlimagefactory.c libgtkhtml/layout/htmlbox.h libgtkhtml/layout/htmlboxblock.h libgtkhtml/layout/htmlboxtable.h libgtkhtml/layout/htmlboxtext.h libgtkhtml/layout/htmlboxembeddedbutton.c libgtkhtml/layout/htmlboxembeddedradio.h libgtkhtml/layout/htmlboxembeddedtextarea.c libgtkhtml/util/htmlatomlist.c libgtkhtml/view/htmlview.c tests/browser-window.c tests-dom-test-node-menu.c tests/dom-test-window.c tests/prop-editor.c tests/simple.c: Fix for bug 151005; patch from Kjartan Marass. 2004-06-10 Padraig O'Briain * libgtkhtml/view/htmlview.c (move_cursor): Unset focus element before setting the cursor position and selection bound. Fix for remaining problem in bug #143502. 2004-06-08 Padraig O'Briain * Release 2.6.2 * NEWS: Updated for 2.6.2 2004-06-08 Padraig O'Briain * libgtkhtml/a11y/htmlboxblocktextaccessible.c (get_text_near_offset): Add implementation for boundary_type ATK_TEXT_BOUNDARY_LINE_START and ATK_TEXT_BOUNDARY_LINE_END. Part of fix for bug #138091. * libgtkhtml/view/htmlview.c (move_cursor): Unset focus element if cursor is moved out of link. (html_view_move_focus_element): Call set_adjustment_clamped() only if cursor is visible. Fix for bug #143502. 2004-05-06 Padraig O'Briain * libgtkhtml/a11y/htmlboxblocktextaccessible.c ( html_box_block_text_accessible_get_default_attributes): Initialize variable len before using it. * libgtkhtml/a11y/htmlboxblockaccessible.c ( html_box_text_accessible_get_default_attributes): Initialize variable len before using it. * libgtkhtml/css/cssparser.c (css_parser_parse_value): Initialize variable term before using it. * libgtkhtml/layout/htmlboxtext.c (html_box_text_get_len): Use g_return_val_if_fail instead of g_return_if_fail. Fix for bug #141962 from Bart Martens. 2004-04-27 Padraig O'Briain * libgtkhtml/document/htmldocument.c (html_document_node_inserted_traverser): Remove call to html_stream_close. (bug #140522) 2004-04-22 Morten Welinder * libgtkhtml/css/cssmatcher.c (free_decl_entry): Unref entry->decl->expr. (css_matcher_get_style): Ref entry->decl->expr. Fixes #140747. 2004-04-21 Padraig O'Briain * libgtkhml/a11y/htmlboxtextaccessible.c (html_box_text_accessible_get_character_at_offset): Fix warnings. Bug #140738. 2004-04-21 Padraig O'Briain * libgtkhtml/css/cssparser.c (css_parser_parse_declaration): Avoid leaking CssValue. Fixes bug #140727. (css_parser_parse_ruleset): Avoid leaking CssRuleset. Fixes bug #140730. 2004-04-21 Padraig O'Briain * libgtkhtml/css/cssmatcher.c (css_matcher_apply_stylesheet): Increment reference count on CssValue (css_matcher_get_style): Call css_rulesset_destroy to free all memory for CssRuleset. * libgtkhtml/css/cssparser.c (css_parser_parse_style_attr): Initialize all field of CssRuleset. * libgtkhtml/css/cssstylesheet.c (css_ruleset_destroy): Make it non-static. * libgtkhtml/css/cssvalue.[ch]: Add new function css_value_ref. Fixes bug #140596. * libgtkhtml/layout/htmlboxtablecaption.c (html_box_table_caption_finalize): Chain up to call parent class finalize function. Fixes bug #140664. 2004-04-21 Padraig O'Briain * libgtkhtml/view/htmlview.c (html_view_finalize): Ensure that jump_to_anchor is not leaked. Bug #140628. 2004-04-20 Padraig O'Briain * configure.in: bumped to 2.6.2 * libgtkhtml/css/cssmatcher.c (css_matcher_apply_stylesheet): Copy CssDeclaration instead of assigning it. (css_matcher_get_style): Copy CssDeclaration instead of assigning it. Free declaration list. Fixes bug #140520. * libgtkhtml/document/htmldocument.c (html_document_node_inserted_traverser): Add call to html_stream_close. * libgtkhtml/util/htmlstreambuffer.c (html_stream_buffer_close): Add call to g_free (user_data); Fixes bug #140522. 2004-04-19 Padraig O'Briain * Release 2.6.1 * configure.in: bumped to 2.6.1 * NEWS: Updated for 2.6.1 2004-04-19 Padraig O'Briain * libgtkhtml/document/htmldocument.c: (html_document_open_stream): Add call to html_document_clear. * libgkthtml/document/htmlparser.c (html_startDocument): Add warning message if HtmlDocument's DomDocument is set. * libgtkhtml/view/htmlview.c (html_view_insert_node): Add warning message if focus element is set when root node is added. Fixes bug #135489. 2004-03-25 Padraig O'Briain * libgtkhtml/view/htmlview.c (html_view_style_updated): Use focus_width instead of 2 * focus_width. (html_view_update_box_style_style): Use focus_width instead of 2 * focus_width. Fix for bug #125290 from Balamurali Vishwanathan. 2004-03-22 Padraig O'Briain * libgtkhtml/document/htmldocument.c (find_anchor_helper): Look for "id" attribute of anchor element as XHTML 1.0 deprecates "name" attribute and replaces it with "id" attribute. Fixes bug #137854. Patch from Sven Neumann. 2004-03-22 Padraig O'Briain * Release 2.6.0 * configure.in: bumped to 2.6.0 * NEWS: Updated for 2.6.0 2004-03-08 Padraig O'Briain * Release 2.5.6 * configure.in: bumped to 2.5.6 * NEWS: Updated for 2.5.6 2004-03-07 Padraig O'Briain * libgtkhtml/view/htmlview.c (html_view_pend_cursor_blink): Add call to html_view_set_cursor-visible() so that cursor is redrawn promptly when it is moved. Fixes bug #135484. (html_view_focus_element): Fix compiler warning. * NEWS: Fix typo in release version. 2004-02-23 Padraig O'Briain * Release 2.5.5 * configure.in: bumped to 2.5.5 * NEWS: Updated for 2.5.5 2004-02-20 Padraig O'Briain * libgtkhtml/css/cssstylesheet.h: libgtkhtml/document/htmlparser.h: libgtkhtml/layout/htmlstyle.h: tests/dom-test-tree-model.h: IBM C compiler does not like forward definition of enums. * libgtkhtml/css/cssparser.c: libgtkhtml/dom/html/dom-htmlanchorelement.c: libgtkhtml/layout/html/htmlboximage.c: tests/simple.c: tests/dom-test-window.c: Remove C++ style comments * libgtkhtml/document/htmlparser.c: Remove unneeded "document/htmlparser.h" * libgtkhtml/dom/html/dom-htmlinputelement.h: libgtkhtml/layout/htmlstyle.h: libgtkhtml/layout/htmlboxtext.h: libgtkhtml/graphics/htmlfontspecification.h: IBM C compiler wants bit types to be of signed or unsigned int. * libgtkhtml/dom/dom-types.h: libgtkhtml/layout/htmlstyle.h: libgtkhtml/layout/htmlboxtext.h: libgtkhtml/graphics/htmlfontspecification.h: libgtkhtml/graphics/htmlview.h: tests/dom-test-tree-model.h: IBM C compiler does not like trailing comma on last enum constant * libgtkhtml/view/htmnlview.c: Include "document/htmldocument.h" instead of "document/htmlparser.h" Fix for bug #134860 from bugzilla-gnome@thewrittenword.com. 2004-02-16 Padraig O'Briain * Release 2.5.4 * configure.in: bumped to 2.5.4 * NEWS: Updated for 2.5.4 2004-02-07 Tomasz K³oczko * libgtkhtml/util/Makefile.am: cleanups for paralel build (make -j). 2004-02-06 Padraig O'Briain * libgtkhtml/css/cssparser.c (css_parser_prepare_stylesheet): Avoid writing to unallocated memory. * libgtkhtml/layout/htmlboxtext.c (html_box_text_destroy_slaves): Avoid referring to deleted object. Fixes bug #133518. 2004-02-03 Padraig O'Briain * Release 2.5.3 * configure.in: bumped to 2.5.3 * NEWS: Updated for 2.5.3 2004-02-02 Padraig O'Briain * data/gtkhtml2.xcf: Remove file as it is not used. Fixes bug #132891. 2004-01-30 Padraig O'Briain * libgtkhtml/a11y/htmlboxblocktextaccessible.c: * libgtkhtml/a11y/htmlboxtableaccessible.c: * libgtkhtml/a11y/htmlboxtextaccessible.c: * libgtkhtml/a11y/htmlviewaccessible.c: Fix return types in checks. Fixes bug #132980. 2004-01-19 Padraig O'Briain * libgtkhtml/view/htmlviewaccessible.c (html_view_accessible_get_focus_object): Set link index correctly for HtmlBoxTextAccessible. Fixes bug #131912. * libgtkhtml/view/htmlview.c (html_view_focus_element): Update cursor position when element is focused. Fixes bug #131908. 2004-01-19 Padraig O'Briain * libgtkhtml/a11y/htmlboxaccessible.c: * libgtkhtml/a11y/htmlboxembeddedaccessible.c: * libgtkhtml/a11y/htmlboxtableaccessible.c: Change call to atk_object_set_parent to an assignment to avoid notification of change of accessible parent. * htmlboxblocktextaccessible.c: Add implementation of atk_object_ref_relation_set to add FLOWS_FROM and FLOWS_TO relations. * htmlboxtextaccessible.c: Add implementation of atk_object_ref_relation_set to add FLOWS_FROM and FLOWS_TO relations. (html_box_text_accessible_get_n_children): return 0 as number of children. (html_box_text_accessible_ref_child): return NULL as child. This fixes bug #131462. 2004-01-16 Padraig O'Briain * libgtkhtml/a11y/htmlboxblocktextaccessible.c (append_text): Remove reference to HtmlBoxTable. (html_box_block_text_accessible_get_n_children): Return number of children as 0. (html_box_block_text_accessible_ref_child): Return NULL as child. (find_offset): New function which finds the offset in a HtmlBox of an offset in a contained HtmlBoxText. (html_box_block_text_accessible_get_caret_offset): Implement using _html_view_get_cursor_box_text. * libgtkhtml/view/htmlview.c: (html_view_get_cursor_position): Add emission of text-caret-moved signal if accessibility is enabled. (html_view_get_cursor_location): Rework to use new function _html_view_get_cursor_box_text. (html_view_init): Remove unnecessary call to html_view_set_cursor_position. Fixes bug #131465. 2004-01-16 Padraig O'Briain * libgtkhtml/a11y/Makefile.am: Add htmlboxtextaccessible.c, htmlboxtextaccessible.h, htmlboxtextlinkaccessible.c and htmlboxtextlinkaccessible.h. * libgtkhtml/a11y/htmlboxaccessible.c (html_box_accessible_new): Create a HtmlBoxTextAccessible if a HtmlBoxText is not inside a HtmlBoxBlock corresponding to a paragraph. * libgtkhtml/a11y/htmlboxblockaccessible.c (contains_link): Fix compiler warning. Correct to find link inside a HtmlBoxInLine. (contains_text): Add check that HtmlBoxBlock corresponds to a paragraph. * libgtkhtml/a11y/htmlboxblocklinkaccessible.c (is_link): Fix compiler warnings. (html_box_block_link_accessible_get_link): Remove unused variable. * libgtkhtml/a11y/htmlboxblockaccessible.h: * libgtkhtml/a11y/htmlboxblocklinkaccessible.h: * libgtkhtml/a11y/htmlboxblocktextaccessible.h: Correct typos in defines. * libgtkhtml/a11y/htmlboxtextaccessible.c: * libgtkhtml/a11y/htmlboxtextaccessible.h: * libgtkhtml/a11y/htmlboxtextlinkaccessible.c: * libgtkhtml/a11y/htmlboxtextlinkaccessible.h: New files. * libgtkhtml/a11y/htmlboxblocktextaccessible.c: (html_box_block_text_accessible_text_info): Remove duplicate get_text. (html_box_block_get_caret_offset): (html_box_block_set_caret_offset): Remove incorrect implementation. * libgtkhtml/a11y/htmlviewaccessible.c (debug_dump_boxes): Add more debug information. (html_view_accessible_get_focus_object): Find correct focus object, i.e. check whether HtmlBoxInLine is inside a paragraph. Fixes bug #131553. 2004-01-15 Padraig O'Briain * libgtkhtml.htmlview.c: (is_box_in_paragraph): New function, (is_offset_in_paragraph): New function. (is_at_line_boundary): Made function static. (html_view_move_visually): Check whether in paragraph when moving forward and at end of box or moving backward and at beginning of box. Do not allow cursor to be placed at the end of the text inside a paragraph. (set_offset_for_box_text): Take into account whether the box in inside a paragraph when line is shorter than virtual cursor x position. This fixes bug #131550. 2004-01-14 Padraig O'Briain * libgtkhtml/a11y/htmlboxaccessible.c: (html_box_accessible_new): Check that HtmlBoxText contains some text before returning its parent's accessible object. Set role to ATK_ROLE_PANEL instead of ATK_ROLER_UNKNOWN. This fixes bug #131453. 2004-01-14 Padraig O'Briain Add support for virtual cursor when moving cursor. Also some tidy up. * libgtkhtml.view/htmlview.c: (html_view_get_box_text_for_offset): Change boolean third argument to be TRUE when at eend of line. (html_view_get_virtual_cursor_x): (html_view_set_virtual_cursor_y): (html_view_get_virtual_cursor_x): (html_view_set_virtual_cursor_y): New functions to get or set x or y position of virtual cursor.x. (html_view_get_cursor_end_of_line): (html_view_set_cursor_end_of_line): New function which get or set whether cursor should appear at end of line or beginning of next line. (html_view_get_cursor_position): Convert index used for selection to offset. (html_view_set_cursor_position): Set virtual cursor x and y values to -1. (html_view_get_selection_bound): Convert index used for selection to offset. (html_view_get_location): New function which returns the HtmlBox at (html_view_get_cursor_location): New function which returns the HtmlBox and its position at the cursor. (html_view_draw_cursor): Refactor to use html_view_get_cursor_location. (is_at_line_boundary): New function which determines wheter an offset is at a line boundary. (html_view_move_visually): Allow cursor to move to end of line before moving to start of next line. (html_view_move_backward_word): Update for change to html_view_get_box_text_for_offset. Add call to html_view_set_cursor_end_of_line. (html_view_move_forward_word): Update for change to html_view_get_box_text_for_offset. Add call to html_view_set_cursor_end_of_line. (html_view_get_virtual_cursor_pos): (html_view_set_virtual_cursor_pos): New functions which get or set the virtual cursor position. (find_box_text_for_x_pos): New function which finds the HtmlBoxText on the same line as the specified htmlBoxText and at the specified x position. (set_offset_for_box_text): New function which sets the offset for a HtmlBoxText at a specified x position. (move_cursor): New function which contains code previously in html_view_real_move_cursor to update cursor position, update selection if required and update focus element is required. (html_move_cursor_by_line): Update function to deal with virtual cursor position. Reorganized code. (get_end_text_offset): Update for change to html_view_get_box_text_for_offset. (htjml_view_move_cursor_to_start): Update for change to html_view_get_box_text_for_offset. (htmnl_view_scroll_pages): Rename from html_view_move_cursor_by_page. Update to use move_cursor and virtual cursor position. (html_view_real_move_cursor): Rename new_pos to new_offset to clarify that it is a character offset. Refactored code to remove move_cursor functionality. Add support for virtual cursor. Fixes bug #131216. 2004-01-14 Padraig O'Briain * libgtkhtml/view/htmlselection.c: (html_selection_get_text): Correct as sel_start_index, sel_end_index and length are byte index not character offset. (set_traversal: Pass byte index not character offset to html_box_text_set_selection. Fixes bug #131425. 2004-01-12 Padraig O'Briain * Release 2.5.2 * configure.in: bumped to 2.5.2 * NEWS: Updated for 2.5.2 2004-01-12 Padraig O'Briain Add support for movement to start, end, next line, previous line, next page, previous page when cursor is showing. Also some tidy up. * libgtkhtml/view/htmlview.c: (find_last_child): New function which finds last HtmlBox for a HtmlView. (find_previous_box): New function which finds the HtmlBox immediately previous to a specified HtmlBox. (find_previous_box_text): New function which finds the first HtmlBoxText previous to a specified HtmlBox. (find_next_box): New function which finds the HtmlBox immediately after a specified HtmlBox. (find_next_box_text): New function which finds the first HtmlBoxText after a specified HtmlBox. (find_box): This function is removed. (html_view_get_box_text_for_offset): Update function to use find_next_box_text instead of find_box. (html_view_draw_cursor): Remove variable at_end. If cursor is at the end html_view_get_box_text_for_offset will return the correct position. (html_view_move_cursor_by_line): New function which move the cursor to the next or previous line when cursor is showing.. (get_end_text_offset): Return the last HtmlBox which is a HtmlBoxText and contains text. (html_view_move_cursor_to_end): New function which moves cursor to end when cursor is showing. (html_view_move_cursor_to_start): New function which moves cursor to start when cursor is showing. (html_view_move_cursor_by_page): New function which move the cursor to the next or previous page when cursor is showing. (html_view_real_move_cursor): Add support for moving cursor, by line, by page and to start and end when cursor is showing. 2004-01-08 Padraig O'Briain * libgtkhtml/view/htmlview.c (html_view_real_move_cursor): Separate codes for cursor showing and cursor not showing. 2004-01-08 Padraig O'Briain * libgtkhtml/view/htmlview.c (add_text): Correct getting of text from HtmlBoxText. (html_view_draw_cursor): Correct cursor position for HtmlBoxText with box's coordinates are set. Fixes bug #130883. 2004-01-08 Padraig O'Briain * libgtkhtml/view/htmlview.c (html_view_draw_cursor): Draw cursor in correct position. Fixes bug #130881. 2004-01-08 Padraig O'Briain * libgtkhtml/layout/htmlboxtext.c (html_box_text_finalize): Delete call to remove weak pointer for dom_node as it is now done in html_box_finalize. Fixes bug #130867. 2004-01-08 Padraig O'Briain * libgtkhtml/layout/htmlbox.c (html_box_finalize): Remove weak pointer for dom_node. Fixes bug #130789. 2004-01-08 Padraig O'Briain This is part of the fix for bug #123008. It uses F7 to toggle whether cursor should be visible. It adds support for Left, Right, Ctrl+Left and Ctrl+Right keybindings to navigate or select the text in a HtmlView when cursor is vissible; the text is selected by also using the Shift key. If cursor is moved to a focusable object that object receives focus. * libgtkhtml/view/htmlselection.[ch]: (html_selection_get_text): Add casts to fix compiler warnings. (set_traversal): Add casts to fix compiler warnings. Update *len variable after setting selection for HTML_BOX_TEXT_SELECTION_START. (html_selection_extend): New function to extend the current selection. * libgtkhtml/view/htmlview.c: Add include for htmlselection.h for html_selection_extend. (html_view_get_box_text_for_offset): New function which returns the HtmlBoxText which contains the specified character offset. (html_view_get_offset_for_box_text): New function which returns the offset for the start of a specified HtmlBoxText. (html_view_get_cursor_position): New function which returns the cursor position. If text is selected it uses the end of the selection. (html_view_set_cursor_position): New function which sets the cursor position. (html_view_get_selection_bound): New function which returns the selection bound. If text is selected it used the start of the selection. (html_view_set_selection_bound): New function which sets the selection bound. (html_view_get_cursor_visible): New function which returns whether the cursor should be visible when blinking. (html_view_set_cursor_visible): New function which sets whether the cursor should be visible when blinking. (html_view_get_blink_timeout): New function which gets the blink timeout handler id. (html_view_set_blink_timeout): New function which sets the blink timeout handler id. (html_view_get_button): New function which gets the mouse button which is pressed. (html_view_set_button): New function which sets the mouse button which is pressed. (html_view_get_layout): New function which gets the PangoLayout for the HtmlView which is used to navigate the text. (html_view_get_layout_text): New function which gets the txet in the PangoLayout for the HtmlView. (html_view_set_layout): New function which sets the PangoLayout for the HtmlView. (html_view_setup_layout): New function which sets the text in the PangoLayout for the HtmlView. (html_view_toggle_cursor): New function used to toggle whether the cursor should be shown. (html_view_draw_insertion_cursor): New function to draw the cursor. It is based on _gtk_draw_insertion_cursor() from gtkstyle.c. (html_view_draw_cursor): New function whether determines whether the cursor should be drawn. If so, it determines it should be drawn and calls html_view_draw_insertion_cursor. (html_view_check_cursor_blink): New function which checks whether a cursor should be drawn and calls a timeout handler to blink the cursor or remove a timeout handler if one exists. (html_view_pend_cursor_blink): New function which determines whether cursor should blink and calls a timeout handler to blink the cursor. (html_view_move_visually): New function which moves a character offset visually. (html_view_move_backward_word): New function which moves a character offset to the start of a word. (html_view_move_forward_word): New function which moves a character offset to the end of a word. (html_view_paint): Add code to draw the cursor if it should be drawn. (html_view_insert_node): Remove PangoLayout if root node is being set. Set cursor position and selection bound to 0. (html_view_text_updated): Fix compiler warning. (html_view_disconnect_document): Fix compiler warnings. (html_view_motion_notify): Check that correct mouse button is pressed. All call to html_view_check_cursor_blink (html_view_button_press): Store the mouse button which is pressed. (html_view_button_release): Check that correct mouse button is pressed. Unset the stored mouse button. (html_view_focus_in): Add call to html_view_check_cursor_blink. (html_view_focus_out): Add call to html_view_check_cursor_blink. (html_view_key_press): New function which calls html_view_pend_cursor_blink abd chains up. (html_view_finalize): Destroy the PangoLayout. (html_real_move_cursor): Add code to support GtkMovementTypes GTK_MOVEMENT_VISUAL_POSITIONS and GTK_MOVEMENT_WORDS when moving the cursor. Add support for selection using the keyboard. Update focus element if cursor is moved to a focusable object. (html_view_add_move_key_binding): Add support for selection extension. (html_view_class_init): Add signal "toggle-cursor" which no default signal handler. Add keybindings for Ctrl+Left and Ctrl+Right for word movement. Bind toggle-cursor to F7. (html_view_init): Add signal handler for toggle-cursor. 2004-01-06 Padraig O'Briain * libgtkhtml/layout/htmlboxblock.c: (html_box_block_handle_float): Do not crash if float:center is specified. * libgtkhtml/layout/htmlboxroot.c: (html_box_root_add_float): Do not crash if float:center is specified. This fixes bug #129486. 2003-12-14 Padraig O'Briain * libgtkhtml/a11y/htmlboxaccessible.c (html_box_text_accessible_new): If object is a HtmlBoxText return accessible for its containing HtmlBoxBlockAccessible. The function may be called when a HtmlBoxText's selection has changed and we want to report the selection as changed on the accessible object we expose. (html_box_accessible_initialize): Remove g_assert call. * libgtkhtml/a11y/htmlboxblocktextaccessible.c (html_box_block_text_get_selection): Correct for HTML_BOX_TEXT_SELECTION_FULL. * libgtkhtml/layout/htmlboxtext.c: (html_box_text_get_accessible): New function to get the accessible object corresponding to HtmlBoxText. (html_box_text_set_selection): If selection changes emit AtkText signal text-selection-changed on accessible object. This fixes bug #125309. 2003-12-04 Padraig O'Briain * Release 2.5.1 * configure.in: bumped to 2.5.1 * NEWS: Updated for 2.5.1 2003-11-28 Padraig O'Briain * libgtkhtml/view/htmlview.c (html_view_disconnect_document): Only disconnect the signal handlers for the current HtmlView. (html_view_destroy): Call html_view_disconnect_document() for view's document. Destroy view's node table. Fixes bug #127946. 2003-11-20 Padraig O'Briain * Release 2.5.0 * configure.in: bumped to 2.5.0 * NEWS: Updated for 2.5.0 2003-11-19 Padraig O'Briain * libgtkhtml/view/htmlview.c: Add new functions set_moving_out and is_moving_out. (html_view_real_move_focus_out): Correct implementation. Fixes bug #90281. 2003-11-06 Padraig O'Briain * libgtkhtml/a11y/htmlboxaccessible.c (html_box_accessible_get_view_widget): If box does not have view data set, look on box's parent. Fixes bug #126294. 2003-10-28 Padraig O'Briain * libgtkhtml/css/html.css.h: Set 2px for focus. * libgtkhtml/view/htmlview.c (html_style_updated): (html_style_set): (html_view_update_box_style_size): Set HtmlStyle's outline width to 2 * focus-width Call html_box_set_unrelayouted_up to ensure that boxes are relaid out when font size changes. This fixes bugs #125290 and #125301. 2003-10-21 Padraig O'Briain * libgtkhtml/layout/htmlboxtext.c (html_box_text_recalc_items): Get language from locale instead of hardcoding it. Patch from phill.zhang@sun.com. Fix for bug #124650. 2003-10-10 Padraig O'Briain * libgtkhtml/a11y/htmlviewaccessible.c: Remove html_view_size_allocate as "size-allocate" signal does not reliably indicate when html document has changed. (html_view_accessible_ref_accessible_child): Emit children_changed::add signal if root node has changed. * libgtkhtml/view/htmlview.c (html_view_relayout): Add code to ensure that accessibility code is aware of when a new root node has been added. This fixes bug #124199. 2003-10-10 Padraig O'Briain * Release 2.4.1 * configure.in: bumped to 2.4.1 * NEWS: Updated for 2.4.1 2003-10-07 Padraig O'Briain * tests/dom-test-tree-model.c: Add function dom_test_tree_model_get_column_type (dom_test_tree_model_get_value): Add test that iter->user_data is non NULL before referencing it. (dom_test_tree_model_iter_nth_child): Add test that parent->user_data is non NULL before referencing it. (dom_test_tree_model_iter_next): Add test that iter->user_data is non NULL before referencing it. * tests/dom-test-window.c: Use text and pixbuf cell renderer in column instead of trying to test attribute text on pixbug cell renderer. This fixes bug #121300. 2003-10-04 Padraig O'Briain * libgtkhtml/a11y/htmlboxaccessible.[ch]: Add index field to HtmlBoxAccessible data structure. (html_box_accessible_initialize): Initialize index field to -1. (html_box_accessible_get_index_in_parent): Return index value if is not -1. * libgtkhtml/a11y/htmlboxblockaccessible.[ch]: Remove references to index field. It is now implemented in HtmlBoxAccessible. * libgtkhtml/a11y/htmlboxblocktextaccessible.c: (append_text): Stop appending text if HtmlBoxTable is encountered. (html_box_block_text_accessible): Report accessibles for HtmlBoxTable as children. (html_box_block_text_accessible): Count accessibles for HtmlBoxTable as children. * libgtkhtml/a11y/htmlboxtableaccesible.c: (html_box_table_accessible_ref_child): Check that accessible created for empty cell is a HtmlBoxAccessible instead of a HtmlBoxBlockAccessible. * libgtkhtml/a11y/htmlboxtableaccessible.h: Derive HtmlBoxTableAccessible from HtmlBoxAccessible instead of AtkGObjectAccessible. 2003-10-03 Padraig O'Briain * libgtkhtml2/css/cssparser.c (css_parser_parse_string): Correct start_pos value in call to css_parser_parse_escape. Add support for UTF-8 characters. This fixes bug #123721. * libgtkhtml/dom/core/dom-node.c (dom_Node_invokeListener): Use g_get_current_time instead of gettimeofday. (bug #123704) 2003-09-29 Padraig O'Briain * libgtkhtml/a11y/htmlboxblockaccessible.[ch]: Add index field to HtmlBoxBlockAccessible data structure. (html_box_block_accessible_new): Initialize index field to -1; (html_box_block_get_index_in_parent): new function returns index value if not -1. * libgtkhtml/a11y/htmlboxtableaccessible.c (html_box_table_accessible_ref_child): Set index value in HtmlBoxBlockAccessible data structure when creating child for cell which is not displayed. This fixes bug #123450. * libgtkhml/a11y/htmlviewaccessible.c: Add define of DUMP_BOXES to make it easier to compile code which dump debug info about boxes. * libgtkhtml/graphisc/htmlimagefactory.c (html_image_factory_get_image): Add weak pointer for stream's user_data. * libgtkhtml/util/htmlstream.c (Html_stream_new): Remove adding of weak pointer for user_data as user_data may not always be a Gobject. This addresses remaining issue for bug #82962. 2003-09-19 Sven Neumann * libgtkhtml/document/htmlparser.c (html_parser_stream_write) (html_parser_stream_close) * libgtkhtml/graphics/htmlimagefactory.c (write_pixbuf): check if the user_data pointer in HtmlStream callbacks is not NULL before dereferencing it. It is created as a weak pointer in html_stream_new() and might have been nullified (see bug #82962). 2003-09-10 Padraig O'Briain * libgtkhtml/css/cssmatcher.c (css_matcher_apply_rule): Do not dump core for text-align: bottom. * libgtkhtml/css/cssparser.c (css_parser_parse_term): Allow text inside brackets to be just a string. This fixes bug #121434. * libgtkhtml/view/htmlview.c (html_view_style_updated): Add check that DomNode is not NULL. This fixes bug #121301. 2003-09-02 Padraig O'Briain * Release 2.4.0 * configure.in: bumped to 2.4.0 * NEWS: Updated for 2.4.0 2003-08-25 Padraig O'Briain * Release 2.3.6 * configure.in: bumped to 2.3.6 * NEWS: Updated for 2.3.6 2003-08-13 Padraig O'Briain * libgtkhtml/document/htmldocument.c (htmL_document_clear): Fix typo in previous fix. (bug #119767) 2003-08-12 Padraig O'Briain * libgtkhtml/document/htmldocument.c (htmL_document_clear): Check when document ref count is greater than zero, i.e. html_document_clear is not being called from html_document_finalize before emitting node-removed signals. This fixes bug #119496. 2003-07-09 Padraig O'Briain * Release 2.3.5 * configure.in: bumped to 2.3.5 * NEWS: Updated for 2.3.5 2003-07-02 Padraig O'Briain * Release 2.3.4 * configure.in: bumped to 2.3.4 * NEWS: Updated for 2.3.4 2003-07-01 Padraig O'Briain * libgthtml/a11y/htmlboxblocklinkaccessible.c (html_box_block_link_accessible_get_link): Store HtmlView on box_link. This fixes bug #116105. * libgtkhtml/layout/htmlboxlistitem.c: Add include of strings.h to silence compiler warnings. The attempt to commit on June 27th did not work. 2003-06-30 Richard Hult * libgtkhtml/css/cssmatcher.c (css_parse_color): Copy refcount. * libgtkhtml/graphics/htmlcolor.c (html_color_new_from_name): Initialize refcount to 1. Fixes bug #116177. 2003-06-27 Padraig O'Briain * libgthtml/a11y/htmlboxblocklinkaccessible.c (html_box_block_link_accessible_get_link): Store HtmlView on box_link. This fixes bug #116105. * libgtkhtml/layout/htmlboxlistitem.c: Add include of strings.h to silence compiler warnings. 2003-06-12 Padraig O'Briain * libgtkhtml/css/html.css.h: Use special color of linkblue to allow the color of links to be changed when theme changes. * libgtkhtml/graphics/htmlcolor.c: Add definition of color linkblue. (html_color_dup): Return reference to standard linkblue color if called for that color. (html_color_new_from_name): Add support for linkblue. * libgtkhtml/graphics/htmlcolor.[ch]: (html_color_set_linkblue): New function to update linkblue color if theme changes. * libgtkhtml/layout/htmlstyle.c (html_style_get_gtk_text_color): Update linkblue color when theme changes. This completes fix for bug #95190. 2003-06-11 Padraig O'Briain * libgtkhtml/graphics/htmlimage.c (html_image_finalize): Disconnect signal handler. This fixes bug #114341. 2003-06-10 Rodney Dawes * libgtkhtml/layout/html/htmlboxembeddedselect.c: (create_treeview_widget): Set the shadow type for the treeview's scrolled window to GTK_SHADOW_IN (bug #114705) * libgtkhtml/layout/html/htmlboxembeddedtextarea.c: (html_box_embedded_textarea_new): Set embedded->widget to be a GtkScrolledWindow of GTK_SHADOW_IN (html_box_embedded_textarea_handle_html_properties): Create the textview here and put it in the GtkScrolledWindow, fix the code to use this new widget instead of embedded->widget This fixes bug #114713 2003-06-09 Rodney Dawes * libgtkhtml/layout/html/htmlboxembeddedselect.c: Set the default values in lists for html forms (bug #114703) 2003-05-30 Padraig O'Briain * Release 2.3.3 * configure.in: bumped to 2.3.3 * NEWS: Updated for 2.3.3 2003-05-28 Padraig O'Briain * libgtkhtml/util/htmlatomlist.c (html_atom_list_get_atom): Correct error exposed on 64 bit. (Fix provided by marcus@freebsd.org) 2003-05-15 Padraig O'Briain * Release 2.3.2 * configure.in: bumped to 2.3.2 * NEWS: Updated for 2.3.2 2003-05-07 Padraig O'Briain * libgtkhtml/document/htmldocument.c (html_document_clear): Emit node-removed signal for nodes being deleted. This causes the layout structure to be deleted and fixes crasher bug when mouse is moved while getting new html page. This fixes bug #112302. * libgtkhtml/view/htmlview.c (html_view-relayout): Add check for view->document->dom_document being NULL to avoid warning messages. 2003-05-06 Padraig O'Briain * libgtkhtml/layout/htmlbox.c (html_box_containing_block): Remove #if 1. This fixes bug #112351. Problem reported by Ali Akcaagac. 2003-05-01 Padraig O'Briain * Release 2.3.1 * configure.in: bumped to 2.3.1 * NEWS: Updated for 2.3.1 2003-04-17 Padraig O'Briain * libgtkhtml/layout/htmlboxtext.c (html_box_text_finalize): Remove weak pointer for box->dom_node for slave HtmlBoxText if DomNode has not been destroyed. Fixes bug #110012. 2003-04-14 Padraig O'Briain * libgtkhtml/layout/htmlboxtext.c (html_box_text_relayout): Add weak pointer so that box->node becomes NULL when DomNode is destroyed. * libgtkhtml/view/htmlselection.c (repaint_sel): Check whether box's node is non NULL before repainting. Fixes bug #110710. 2003-04-11 Padraig O'Briain * libgtkhtml/css/html.css.h: Add entry for NOBR. This causes tag to be handled correctly. Fixes bug #110265. Patch supplied by yuedong.du@sun.com 2003-04-09 Padraig O'Briain * libgtkhtml/a11y/htmlboxblocklinkaccessible.c (html_box_block_link_accessible_finalize): Free data structure allocated in html_box_block_link_accessible_real_initialize. * libgtkhtml/a11y/htmlboxtableaccessible.[ch]: Add pointer to HtmlBoxTableAccessiblePrivate to HtmlBoxTableAccessible data structure. Use this data structure to store accessible objects for empty cells (html_box_table_accessible_real_initialize): Allocate HtmlBoxTableAccessiblePrivate data structure. (html_box_table_accessible_finalize): Free HtmlBoxTableAccessiblePrivate data structure and its contents. (html_box_table_accessible_ref_child): Return accessible object even if the corresponding cell in HtmlBoxTable is empty. (find_cell): New function which returns the accessible object for an empty index. Fixes bug #110247. * libgtkhtml/a11y/htmlviewaccessible.c: (debug_dump_boxes); Print indent value. (html_view_accessible_initialize): Call set_root_object() for HtmlViewAccessible. Connect to "size-allocate" signal where we can check whether root node of HtmlView has changed. (root_node_destroyed): New function which is called when root node is destroyed. It emits children_chnaged::remove signal on HtmlViewAccessible. (set_root_object): Store root node of HtmlView in HtmlViewAccessible. Specify that root_object_destroyed() should be called when root node is destroyed. (html_view_accessible_size_allocate): Check whether new root node has been added to HtmlView. Emit children_changed::add signal if so. Fixes bug #110267. 2003-04-07 Padraig O'Briain * libgtkhtml/a11y/htmlboxblocklinkaccessible.c: Ensure that number of links is counted correctly. This fixes bug #109946. * libgtkhtml/view/htmlselection.[ch]: Make html_selection_get_text public. This fixes bug #98381. 2003-03-20 Padraig O'Briain * Release 2.3.0 * configure.in: bumped to 2.3.0 * NEWS: Updated for 2.3.0 2003-03-19 Padraig O'Briain * libgtkhtml/css/cssparser.c (css_parser_parse_string): Use g_warning() instead of g_error() when unexpected character is encountered. This fixes crash reported in bug #107910. 2003-02-14 Padraig O'Briain * libgtkhtml/view/htmlview.c libgtlhtml/a11y/htmllinkaccessible.c tests/browser-window.c tests/simple.c: Replace use of gtk_timeout_* and gtk_idle_* by their non-deprecated GLib counterparts. 2003-02-13 Padraig O'Briain * libgtkhtml/view/htmlview.c: Remove reference to htmlboxtextaccessible.h 2003-02-13 Padraig O'Briain These changes rework how accessible text is presented. See bug #98324. * libgtkhtml/a11y/Makefile.am: Add files htmlboxblocktextaccessible.[ch] htmlboxblocklinkaccessible.[ch]. Remove files htmlboxtextaccessible.[ch]. * libgtkhtml/a11y/htmlboxblockaccessible.c (html_box_block_accessible_new): Create HtmlBoxBlockTextAccessible if HtmlBlock contains text, i.e. a HtmlBoxText or HtmlBoxInLine which contains a HtmlBoxText. Create a HtmlBoxBlockLinkAccessible if HtmlBoxBlock contains text and links. * libgtkhtml/a11y/htmlboxblocktextaccessible.[ch]: New file which implements HtmlBoxBlockTextAccessible, the accessible object for a HtmlBoxBlock which contains text. * libgtkhtml/a11y/htmlboxblocklinkaccessible.[ch]: New file which implements HtmlBoxBlockLinkAccessible, the accessible object for a HtmlBoxBlock which contains text and links. * libgtkhtml/a11y/htmllinkaccessible.[ch]: Add box to store HtmlBoxInLine containing link and index to store index of text for link in HtmlBoxBlockTextAccessible. Update implement to take account of this. * libgtkhtml/a11y/htmlviewaccessible.c: (debug_dump_boxes): Debug function to print out layout structure (html_view_accessible_get_focus_object): Add extra paraemter which returns the link index of the focus element in the focus object. * libgtkhtml/view/htmlview.c (html_view_get_accessible): Remove reference to HtmlBoxTextAccessible. 2003-02-04 Padraig O'Briain * libgtkhtml/htmlstyle.c (html_style_get_gtk_style): Add reference to style so it can be safely unreffed later. Problem and patch supplied by Richard Hult (bug #104946) 2003-01-27 Padraig O'Briain * configure.in: Change GTK dependency to 2.0.0 2003-01-20 Padraig O'Briain * Release 2.2.0 * configure.in: bumped to 2.2.0 * NEWS: Updated for 2.2.0, 2003-01-08 Padraig O'Briain * libgtkhtml/htmlview.c (html_view_realize): Store the font size so we can adjust size in HtmlFontSpecification if the size changes. (html_view_update_box_style_size): New function which traverses all the HtmlBox structures and updates size field of its style's htmlFontSpecification, if it has not been updated already. (html_view_style_set): Make function static. Add check whether font size has changed and if it has, call html_view_update_box_style_size() on the view root. * libgtkhtml/layout/htmlstyle.c (html_default_style_new): Unref HtmlColor used to set color in default style to avoid leaking it. 2003-01-07 Padraig O'Briain * libgtkhtml/css/parser.c (css_parser_parse_string): Update changes made for bug #84480 to avoid regression displaying http://slashdot.org. (bug #102742) Problem reported by Ali Akcaagac. * libgtkhtml/document/parser.c: (html_parser_new): Remove call to htmlHandleOmittedElem(). (bug #102008) * libgtkhtml/layout/htmlboxblock.c (html_box_block_create_inline_lines): Apply alternative fix for bug #98577. * libgtkhtml/layout/htmlboxtablerow.c (html_box_table_row_update_spaninfo): Avoid warning about casting HtmlBoxForm to HtmlBoxTableRow. * libgtkhtml/layout/htmllinbebox.c (html_line_box_add_inlines): Remove previous fix for bug #98577 as it causes a regression. Problem reported by Ali Akcaagac. * libgtkhtml/layout/html/htmlboxembeddedentry.c (html_box_embedded_entry_finalize): Check box->dom_node still exists before disconnecting signal handlers. * libgtkhtml/layout/html/htmlboxembeddedradio.c (html_box_embedded_radio_finalize): Check box->dom_node still exists before disconnecting signal handlers. 2002-01-07 Naba Kumar * configure.in: Added hi (hindi) in ALL_LINGUAS 2003-01-06 Padraig O'Briain * Release 2.1.8 * configure.in: bumped to 2.1.8 * NEWS: Updated for 2.1.8, 2003-01-06 Padraig O'Briain * README: Refer to HACKING file * libgtkhtml/layout/htmlboxroot.c (html_box_root_get_boundaries): Do not update boxwidth if child of HtmlBoxRoot is not a HtmlBoxBlock. This fixes bug #86657. * libgtkhtml/layout/htmllinebox.c (html_line_box_add_inlines): Increment box if box is not being displayed. This fixes bug # 98577. 2002-12-23 Padraig O'Briain * Release 2.1.7 * configure.in: bumped to 2.1.7 2002-12-23 Biswapesh Chattopadhyay * libgtkhtml/layout/html/htmlboxembeddedselect.c: GCC ompile fix. 2002-12-18 Padraig O'Briain * Release 2.1.6 * configure.in: bumped to 2.1.6 2002-12-18 Padraig O'Briain * libgtkhtml/layout/html/htmlboxembeddedselect.c (html_box_embedded-slect_finalize): Check that box's dom_node still exists before referring to it. * libgtkhtml/layout/html/htmlboximage.c (html_box_image_update_scaled_pixbuf): Add reference to image->scaled_pixbuf no matter how it is created. (html_box_image_finalize): Unreference scaled_pixbuf. This fixes a crasher bug reported by Frederic Crozat 2002-12-16 Padraig O'Briain * Release 2.1.5 * configure.in: bumped to 2.1.5 2002-12-16 Padraig O'Briain * libgtkhtml/graphics/htmlimagefactory.c (close_pixbuf): Check whether the HtmlStream still has an image. The image may have been destroyed before the HtmlStream is closed. * libgtkhtml/util/htmlstream.c (html_stream_new): Add weak pointer to user_data so that it is set to NULL if user_data is destroyed. This fixes bug #82962. * tests/browser-window.c (free_stream_data): Add object reference in htmlStream cancel function before calling html_stream_close() as both html_stream_cancel() and html_stream_close() remove object reference. * libgtkhtml/view/htmlview.c (html_view_paint): Add check that the HtmlView's root's dom_node is non-NULL. (html_view_insert_node): Add call to g_object_add_weak_pointer() to set box's dom_node to NULL where it is deleted. This fixes bug #101113. 2002-12-12 Padraig O'Briain * libgtkhtml/css/cssparser.c (css_parser_parse_string): Add support for escaping. This fixes bug #84480. * libgtkhtml/dom/html/dom-htmlselectelement.c: Make parent_class static. * libgtkhtml/view/htmlview.c (html_view_insert_node): If a HtmlBox does not have a parent and is not a HtmlBoxRoot make it a child of root. This fixes bug #82503. * tests/simple.c: Remove a document from a HtmlView before calling html_document_clear(). This fixes bug #100941. 2002-12-09 Padraig O'Briain * libgtkhtml/layout/htmlstyle.c: Ensure that GtkStyle returned by html_style_get_gtk_style() is not leaked. Use same GtkStyle for font_spec and color. This fixes bug # 95931. * libgtkhtml/document/htmldocument.c (html_document_finalize): Call to html_document_clear() before calling g_object_unref() on document->parser. This prevents references to memory which has been freed. (html_document_clear): Remove signal handlers before removing nodes from DOM. This fixes bugs #79782 and #87567. * libgtkhtml/graphics/htmlcolor.c (html_color_new_from_name): Finish when color found. This prevents a small number of CPU cycles being wasted. * libgtkhtml/layout/htmlstyleborder.c * libgtkhtml/layout/htmlstylebox.c * libgtkhtml/layout/htmlstylesurround.c Remove redundant tests for variable being NULL. 2002-12-07 Padraig O'Briain * Release 2.1.4 * configure.in: bumped to 2.1.4 2002-12-04 Padraig O'Briain * 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 * 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 * libgtkhtml/document/htmldocument.c (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 * Release 2.1.3 * configure.in: bumped to 2.1.3 2002-11-21 Padraig O'Briain * 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 *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 * Release 2.1.2 * configure.in: bumped to 2.1.2 2002-10-28 Richard Hult * 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 * Release 2.1.1 * configure.in: bumped to 2.1.1 2002-10-21 Richard Hult * libgtkhtml/layout/htmlboxtext.c (html_box_text_new): Initialize master->whitespace. 2002-10-19 Richard Hult * 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 * 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 * Release 2.1.0 * configure.in: bumped to 2.1.0 2002-09-02 Padraig O'Briain * 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 for strcasecmp(). 2002-08-23 Mikael Hallendal * Release 2.0.2 * configure.in: 2.0.2 2002-08-23 Mikael Hallendal * libgtkhtml/layout/htmlstyle.c: (html_style_get_gtk_style): added, used from other places. 2002-08-22 Ross Burton * 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 * 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 * 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 * 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 * 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 * 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 * 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 * libgtkhtml/css/cssmatcher.c: Moved the minor speed-up check after parsing td and th tags. Fixes #87167 2002-08-06 Padraig O'Briain * 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 * 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 * 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 * 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 * libgtkhtml/view/htmlview.c: Give focus to the first link when HtmlView gets focus. Fixes #84344. 2002-08-03 Satyajit Kanungo * libgtkhtml/css/cssparser.c: Initialized the types in CssTail after a g_new(). Fixes 84895. 2002-07-23 Padraig O'Briain * 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 * libgtkhtml/layout/htmlboxlistitem.c: Added more style types for ordered lists. Fixes bug #87261, #87264, #87269 and #87271 2002-07-10 Alexander Larsson * 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 * 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 * 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 * 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 * 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 * libgtkhtml/view/htmlview.c: Remove attempt to draw focus indication when HtmlView widget has focus (bug #82134) 2002-06-03 Mikael Hallendal * Release 1.99.9 * configure.in: bumped version to 1.99.9 2002-05-08 Bill Haneman 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 * Release 1.99.8 * configure.in: bumped version to 1.99.8 2002-05-27 Padraig O'Briain * libgtkhtml/view/htmlview.c Add changes to html_view_expose() which were omitted from last commit, in error. 2002-05-23 Padraig O'Briain * 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 * libgtkhtml/dom/html/dom-htmlanchorelement.c (is_focusable): * Only permit elements with links to be focusable (bug #73884). 2002-05-07 Damon Chaplin * 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 * 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 * 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 * Relase 1.99.6 * configure.in: bumped version to 1.99.6 2002-04-26 Padraig O'Briain * libgtkhtml/view/htmlview.c (html_view_focus_in): Unset saved focus element on focus in (bug 79048) 2002-04-17 Padraig O'Briain * 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 * Relase 1.99.5 * configure.in: bumped version to 1.99.5 2002-04-15 Padraig O'Briain * 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 * 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 Borgström * libgtkhtml/document/htmlparser.c: (html_comment): Fixed bug #78193. Check if (node == NULL). 2002-04-05 Padraig O'Briain * 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 * 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 Borgström * configure.in: Bump version number. * libgtkhtml/layout/html/htmlboxembeddedimage.c: (html_box_embedded_image_relayout): Removed some debug output. 2002-03-28 jacob berkman * libgtkhtml/a11y/Makefile.am (libhtmla11y_la_SOURCES): add htmlaccessiblefactory.h 2002-03-28 Padraig O'Briain * 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 * 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 * 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 * 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 * 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 * 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 * 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 * libgtkhtml/dom/events/dom-event-utils.c (dom_MouseEvent_invoke): Do not leak DomMouseEvent object 2002-03-04 Anders Carlsson * 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 * libgtkhtml/*/*.c: Remove lots of debug output. 2002-03-01 Padraig O'Briain * 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 * libgtkhtml/a11y/htmlboxtextaccessible.c: (html_box_text_accessible_get_default_attributes): Remove extra semicolons that break the build. 2002-02-21 Padraig O'Briain * libgtkhtml/a11y/htmlboxtextaccessible.c: Implement text selection and get default attributes 2002-02-19 Padraig O'Briain * 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 * configure.in: only define ENABLE_ACCESSIBILITY in config.h if accessibility is actually enabled. 2002-02-12 Padraig O'Briain * 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 * 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 * 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 * 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 * 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 Borgström * 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 Borgström * 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 Borgström * libgtkhtml/a11y/Makefile.am: Fixed the build. 2002-01-11 Padraig O'Briain 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 * 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 * 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 * configure.in: Modify the CFLAGS definition section so that user defined CFLAGS can override the defaults. 2002-01-05 Jonas Borgström * 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 * 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 Borgström * 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 Borgström * 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 Borgström * 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 * libgtkhtml/layout/html/Makefile.am (INCLUDES): Add -I$(top_srcdir) for when srcdir != builddir. 2001-11-28 Jonas Borgström Applied Padraig O'Briain 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 * tests/prop-editor.c: fixed to compile with latest glib 2001-11-21 ERDI Gergo * 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 * 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 * libgtkhtml/view/htmlselection.c: adapt to recent GTK+ API changes. 2001-10-19 Mikael Hallendal * 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 * tests/browser-window.c (url_requested): added GNOME_VFS_DEFAULT_PRIORITY to gnome_vfs_async_open_uri call. 2001-10-03 Jonas Borgström * 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 Borgström * 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 Borgström * 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 * 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 * 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 Borgström * 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 Borgström * 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 Borgström * libgtkhtml/layout/htmlboxtext.c: (pre_convert_whitespace), (html_box_text_relayout), (html_box_text_set_text): Added support for '\t' characters in
 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  

	* 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 Borgström  

	* 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  that fixes build of
	gtkhtml2 when gnome-xml is compiled with "./configure --disable-debug"
	

2001-08-23  Jonas Borgström  

	* tests/samples/jborg.html: Added a  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 Borgström  <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 Borgström  <jonas@codefactory.se>

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

2001-08-05  Jonas Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <jonas@codefactory.se>

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

2001-07-04  Jonas Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <jonas@codefactory.se>

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

2001-06-19  Jonas Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <jonas@codefactory.se>

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

2001-05-14  Jonas Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <jonas@codefactory.se>

	* src/layout/htmltype.c (html_type_class): Return the types class and not the parent class.

2001-02-05  Jonas Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <jonas@codefactory.se>

	* docs/incremental_relayout.txt: Added some thoughts about "incremental relayout".

2001-01-14  Jonas Borgström  <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 Borgström  <jonas@codefactory.se>

	* HACKING: Updated the mailing list info.

2001-01-06  Jonas Borgström  <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 Borgström  <jonas@codefactory.se>

	* src/layout/htmlrelayout.c (html_relayout_left_margin): Correctly calculate the left margin.

2001-01-04  Jonas Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <jonas@codefactory.se>

	* src/view/htmlview.c (html_view_repaint): Don't loose the repaint queue.  

2000-12-27  Jonas Borgström  <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 Borgström  <jonas@codefactory.se>

	* src/layout/htmlboxtable.c (html_box_table_calculate_col_widths): Corrected the percentage calculation.

2000-12-14  Jonas Borgström  <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 Borgström  <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 Borgström  <jonas@codefactory.se>

	* TODO: Added some entries.

2000-12-10  Jonas Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <jonas@codefactory.se>

	* misc/gtkhtml2.xcf: Added the gtkhtml2 logo created by, Daniel Lundin <daniel@codefactory.se>

2000-11-11  Jonas Borgström  <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 Borgström  <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 Borgström  <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 Borgström  <jonas@codefactory.se>

	* HACKING: Added a "HACKING" file. 

2000-10-26  Jonas Borgström  <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 Borgström  <jonas@codefactory.se>

	* src/test/Makefile.am: fixed wrong dependency.

2000-10-24  Jonas Borgström  <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 Borgström  <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.