diff options
author | Chris Lord <chris@openedhand.com> | 2006-02-07 04:22:50 +0000 |
---|---|---|
committer | Chris Lord <chris@openedhand.com> | 2006-02-07 04:22:50 +0000 |
commit | 4fbba6350edd17d9272a668b5ba564f558974a94 (patch) | |
tree | dafc821fd7b7d4ec5e08966b6ac479f50f94e5df /openembedded/packages/gtkhtml2 | |
parent | ef60244cc4a28777efdaed9260e8c7ae4872e2b1 (diff) | |
download | openembedded-core-4fbba6350edd17d9272a668b5ba564f558974a94.tar.gz openembedded-core-4fbba6350edd17d9272a668b5ba564f558974a94.tar.bz2 openembedded-core-4fbba6350edd17d9272a668b5ba564f558974a94.zip |
Add curl (new dependency of Web), fix a fontconfig-native build issue,
update gtkhtml2 patches and update to a newer more functional Web
snapshot
git-svn-id: https://svn.o-hand.com/repos/poky@251 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'openembedded/packages/gtkhtml2')
7 files changed, 119 insertions, 739 deletions
diff --git a/openembedded/packages/gtkhtml2/files/at-import_box-pos.patch b/openembedded/packages/gtkhtml2/files/at-import_box-pos.patch index 89e60e5d28..fb31d057a4 100644 --- a/openembedded/packages/gtkhtml2/files/at-import_box-pos.patch +++ b/openembedded/packages/gtkhtml2/files/at-import_box-pos.patch @@ -1,11 +1,8 @@ Index: libgtkhtml/css/cssmatcher.c =================================================================== -RCS file: /cvs/gnome/gtkhtml2/libgtkhtml/css/cssmatcher.c,v -retrieving revision 1.53 -diff -u -r1.53 cssmatcher.c ---- libgtkhtml/css/cssmatcher.c 26 Oct 2005 02:04:24 -0000 1.53 -+++ libgtkhtml/css/cssmatcher.c 18 Jan 2006 18:24:09 -0000 -@@ -79,7 +79,7 @@ +--- libgtkhtml/css/cssmatcher.c.orig 2006-02-04 20:10:47.000000000 +0000 ++++ libgtkhtml/css/cssmatcher.c 2006-02-05 18:19:15.000000000 +0000 +@@ -79,7 +79,7 @@ css_matcher_match_simple_selector (CssSi element_name = html_atom_list_get_atom (html_atom_list, node->name); /* Look at the element name */ @@ -14,7 +11,7 @@ diff -u -r1.53 cssmatcher.c return FALSE; str = xmlGetProp (node, "id"); -@@ -2373,7 +2373,7 @@ +@@ -2384,7 +2384,7 @@ css_matcher_sheet_stream_close (HtmlStre CssStylesheet *ss; if (html_stream_get_written (stream) != 0) { @@ -23,7 +20,7 @@ diff -u -r1.53 cssmatcher.c context->stat->s.import_rule.fetched = TRUE; -@@ -2770,7 +2770,7 @@ +@@ -2781,7 +2781,7 @@ css_matcher_get_style (HtmlDocument *doc css_matcher_html_to_css (doc, style, node); if (!default_stylesheet) { @@ -32,7 +29,7 @@ diff -u -r1.53 cssmatcher.c } css_matcher_apply_stylesheet (doc, default_stylesheet, node, &declaration_list, CSS_STYLESHEET_DEFAULT, pseudo); -@@ -2789,7 +2789,7 @@ +@@ -2800,7 +2800,7 @@ css_matcher_get_style (HtmlDocument *doc prop = xmlGetProp (node, "style"); if (prop) { @@ -43,12 +40,9 @@ diff -u -r1.53 cssmatcher.c if (rs) { Index: libgtkhtml/css/cssparser.c =================================================================== -RCS file: /cvs/gnome/gtkhtml2/libgtkhtml/css/cssparser.c,v -retrieving revision 1.23 -diff -u -r1.23 cssparser.c ---- libgtkhtml/css/cssparser.c 25 Sep 2005 02:07:21 -0000 1.23 -+++ libgtkhtml/css/cssparser.c 18 Jan 2006 18:24:09 -0000 -@@ -49,7 +49,7 @@ +--- libgtkhtml/css/cssparser.c.orig 2006-02-04 20:10:47.000000000 +0000 ++++ libgtkhtml/css/cssparser.c 2006-02-05 18:19:15.000000000 +0000 +@@ -49,7 +49,7 @@ const gchar *css_dimensions[] = { const gint css_n_dimensions = sizeof (css_dimensions) / sizeof (css_dimensions[0]); @@ -57,7 +51,7 @@ diff -u -r1.23 cssparser.c /* FIXME: Needs more whitespace types */ static gint -@@ -443,7 +443,7 @@ +@@ -443,7 +443,7 @@ css_parser_parse_number (const gchar *bu } static gint @@ -66,7 +60,7 @@ diff -u -r1.23 cssparser.c { gint pos; HtmlAtom atom; -@@ -481,7 +481,7 @@ +@@ -481,7 +481,7 @@ css_parser_parse_term (const gchar *buff return -1; } @@ -75,7 +69,7 @@ diff -u -r1.23 cssparser.c if (pos == -1) { /* -@@ -495,10 +495,48 @@ +@@ -495,10 +495,48 @@ css_parser_parse_term (const gchar *buff pos = func_end; } if (pos != -1) { @@ -126,7 +120,7 @@ diff -u -r1.23 cssparser.c } /* This is due to the ) */ -@@ -566,7 +604,7 @@ +@@ -566,7 +604,7 @@ css_parser_parse_term (const gchar *buff } static gint @@ -135,7 +129,7 @@ diff -u -r1.23 cssparser.c { gint pos = start_pos; gint n = 0; -@@ -589,7 +627,7 @@ +@@ -589,7 +627,7 @@ css_parser_parse_value (const gchar *buf css_value_list_append (list, term, list_sep); } @@ -144,7 +138,7 @@ diff -u -r1.23 cssparser.c if (pos == -1) { if (list) -@@ -618,7 +656,7 @@ +@@ -618,7 +656,7 @@ css_parser_parse_value (const gchar *buf } else { /* Try and parse the term to see if it's valid */ @@ -153,7 +147,7 @@ diff -u -r1.23 cssparser.c if (term) css_value_unref (term); if (list) -@@ -1005,7 +1043,7 @@ +@@ -1005,7 +1043,7 @@ css_parser_parse_selectors (const gchar } static gint @@ -162,7 +156,7 @@ diff -u -r1.23 cssparser.c { CssValue *value; CssDeclaration *result; -@@ -1040,7 +1078,7 @@ +@@ -1040,7 +1078,7 @@ css_parser_parse_declaration (const gcha pos = css_parser_parse_whitespace (buffer, pos, prio_pos); @@ -171,7 +165,7 @@ diff -u -r1.23 cssparser.c if (pos == -1) { return end_pos; -@@ -1063,7 +1101,7 @@ +@@ -1063,7 +1101,7 @@ css_parser_parse_declaration (const gcha } static CssDeclaration ** @@ -180,7 +174,7 @@ diff -u -r1.23 cssparser.c { gint pos = start_pos; gint cur_pos = start_pos; -@@ -1079,7 +1117,7 @@ +@@ -1079,7 +1117,7 @@ css_parser_parse_declarations (const gch pos = css_parser_parse_to_char (buffer, ';', pos, end_pos); @@ -189,7 +183,7 @@ diff -u -r1.23 cssparser.c if (declaration) { if (n_decl == n_decl_max) -@@ -1100,7 +1138,7 @@ +@@ -1100,7 +1138,7 @@ css_parser_parse_declarations (const gch } static gint @@ -198,7 +192,7 @@ diff -u -r1.23 cssparser.c { gint cur_pos; gint pos; -@@ -1143,7 +1181,7 @@ +@@ -1143,7 +1181,7 @@ css_parser_parse_ruleset (const gchar *b } cur_pos = css_parser_parse_whitespace (buffer, cur_pos, end_pos); @@ -207,7 +201,7 @@ diff -u -r1.23 cssparser.c pos++; -@@ -1186,7 +1224,8 @@ +@@ -1186,7 +1224,8 @@ css_parser_prepare_stylesheet (const gch } else if (str[pos] == '/' && pos + 1 <= len && @@ -217,7 +211,7 @@ diff -u -r1.23 cssparser.c while (pos < len && str[pos] != '\n') pos++; -@@ -1204,7 +1243,7 @@ +@@ -1204,7 +1243,7 @@ css_parser_prepare_stylesheet (const gch } static gint @@ -226,7 +220,7 @@ diff -u -r1.23 cssparser.c { gint pos = start_pos; gint tmp_pos, cur_pos; -@@ -1257,14 +1296,14 @@ +@@ -1257,14 +1296,14 @@ css_parser_parse_atkeyword (const gchar tmp_pos++; @@ -243,7 +237,7 @@ diff -u -r1.23 cssparser.c if (n_rs == n_rs_max) rs = g_realloc (rs, sizeof (CssRuleset *) * -@@ -1277,7 +1316,7 @@ +@@ -1277,7 +1316,7 @@ css_parser_parse_atkeyword (const gchar pos = css_parser_parse_whitespace (buffer, tmp_pos + 1, end_pos); @@ -252,7 +246,7 @@ diff -u -r1.23 cssparser.c result->type = CSS_MEDIA_RULE; result->s.media_rule.rs = rs; result->s.media_rule.n_rs = n_rs; -@@ -1318,11 +1357,11 @@ +@@ -1318,11 +1357,11 @@ css_parser_parse_atkeyword (const gchar pos = css_parser_parse_whitespace (buffer, pos, cur_pos); @@ -266,7 +260,7 @@ diff -u -r1.23 cssparser.c result->type = CSS_PAGE_RULE; result->s.page_rule.name = name; result->s.page_rule.pseudo = pseudo; -@@ -1337,8 +1376,8 @@ +@@ -1337,8 +1376,8 @@ css_parser_parse_atkeyword (const gchar pos = css_parser_parse_whitespace (buffer, pos + 1, end_pos); cur_pos = css_parser_parse_to_char (buffer, '}', pos, end_pos); @@ -277,7 +271,7 @@ diff -u -r1.23 cssparser.c result->type = CSS_FONT_FACE_RULE; result->s.font_face_rule.n_decl = n_decl; -@@ -1349,8 +1388,61 @@ +@@ -1349,8 +1388,61 @@ css_parser_parse_atkeyword (const gchar return cur_pos + 1; break; @@ -339,7 +333,7 @@ diff -u -r1.23 cssparser.c /* Unknown keyword detected, skip to next block */ while (pos < end_pos) { /* Handle a dangling semi-colon */ -@@ -1373,7 +1465,7 @@ +@@ -1373,7 +1465,7 @@ css_parser_parse_atkeyword (const gchar } CssRuleset * @@ -348,7 +342,7 @@ diff -u -r1.23 cssparser.c { CssRuleset *result; -@@ -1382,7 +1474,7 @@ +@@ -1382,7 +1474,7 @@ css_parser_parse_style_attr (const gchar /* FIXME: Are comments allowed here? */ @@ -357,7 +351,7 @@ diff -u -r1.23 cssparser.c if (!decl) return NULL; -@@ -1397,9 +1489,8 @@ +@@ -1397,9 +1489,8 @@ css_parser_parse_style_attr (const gchar } CssStylesheet * @@ -368,7 +362,7 @@ diff -u -r1.23 cssparser.c CssStylesheet *result; GSList *stat = NULL; gchar *buffer; -@@ -1413,26 +1504,23 @@ +@@ -1413,26 +1504,23 @@ css_parser_parse_stylesheet (const gchar end_pos = len; while (pos < len) { if (buffer[pos] == '@') { @@ -405,7 +399,7 @@ diff -u -r1.23 cssparser.c } if (pos == -1) -@@ -1444,7 +1532,7 @@ +@@ -1444,7 +1532,7 @@ css_parser_parse_stylesheet (const gchar g_free (buffer); @@ -416,11 +410,8 @@ diff -u -r1.23 cssparser.c return result; Index: libgtkhtml/css/cssparser.h =================================================================== -RCS file: /cvs/gnome/gtkhtml2/libgtkhtml/css/cssparser.h,v -retrieving revision 1.7 -diff -u -r1.7 cssparser.h ---- libgtkhtml/css/cssparser.h 6 Dec 2002 17:16:54 -0000 1.7 -+++ libgtkhtml/css/cssparser.h 18 Jan 2006 18:24:09 -0000 +--- libgtkhtml/css/cssparser.h.orig 2006-02-04 20:10:47.000000000 +0000 ++++ libgtkhtml/css/cssparser.h 2006-02-05 18:19:15.000000000 +0000 @@ -24,13 +24,14 @@ #define __CSSPARSER_H__ @@ -440,12 +431,9 @@ diff -u -r1.7 cssparser.h Index: libgtkhtml/css/cssstylesheet.h =================================================================== -RCS file: /cvs/gnome/gtkhtml2/libgtkhtml/css/cssstylesheet.h,v -retrieving revision 1.7 -diff -u -r1.7 cssstylesheet.h ---- libgtkhtml/css/cssstylesheet.h 21 Apr 2004 14:17:00 -0000 1.7 -+++ libgtkhtml/css/cssstylesheet.h 18 Jan 2006 18:24:09 -0000 -@@ -181,6 +181,7 @@ +--- libgtkhtml/css/cssstylesheet.h.orig 2006-02-04 20:10:47.000000000 +0000 ++++ libgtkhtml/css/cssstylesheet.h 2006-02-05 18:19:15.000000000 +0000 +@@ -181,6 +181,7 @@ struct _CssTail { }; struct _CssStylesheet { @@ -455,12 +443,9 @@ diff -u -r1.7 cssstylesheet.h }; Index: libgtkhtml/css/cssvalue.c =================================================================== -RCS file: /cvs/gnome/gtkhtml2/libgtkhtml/css/cssvalue.c,v -retrieving revision 1.6 -diff -u -r1.6 cssvalue.c ---- libgtkhtml/css/cssvalue.c 21 Apr 2004 14:17:00 -0000 1.6 -+++ libgtkhtml/css/cssvalue.c 18 Jan 2006 18:24:09 -0000 -@@ -64,7 +64,7 @@ +--- libgtkhtml/css/cssvalue.c.orig 2006-02-04 20:10:47.000000000 +0000 ++++ libgtkhtml/css/cssvalue.c 2006-02-04 20:13:33.000000000 +0000 +@@ -64,7 +64,7 @@ css_value_function_new (HtmlAtom name, C function->name = name; function->args = args; @@ -471,12 +456,9 @@ diff -u -r1.6 cssvalue.c result->v.function = function; Index: libgtkhtml/document/htmldocument.c =================================================================== -RCS file: /cvs/gnome/gtkhtml2/libgtkhtml/document/htmldocument.c,v -retrieving revision 1.122 -diff -u -r1.122 htmldocument.c ---- libgtkhtml/document/htmldocument.c 21 Feb 2005 17:31:31 -0000 1.122 -+++ libgtkhtml/document/htmldocument.c 18 Jan 2006 18:24:11 -0000 -@@ -139,14 +139,42 @@ +--- libgtkhtml/document/htmldocument.c.orig 2006-02-04 20:10:47.000000000 +0000 ++++ libgtkhtml/document/htmldocument.c 2006-02-05 18:19:17.000000000 +0000 +@@ -134,14 +134,42 @@ static void html_document_stylesheet_stream_close (const gchar *buffer, gint len, gpointer data) { CssStylesheet *sheet; @@ -522,7 +504,7 @@ diff -u -r1.122 htmldocument.c document->stylesheets = g_slist_append (document->stylesheets, sheet); /* Restyle the document */ -@@ -184,9 +212,15 @@ +@@ -179,9 +207,15 @@ html_document_node_inserted_traverser (H if (str && (strcasecmp (str, "stylesheet") == 0)) { gchar *url = xmlGetProp (node->xmlnode, "href"); @@ -540,7 +522,7 @@ diff -u -r1.122 htmldocument.c g_signal_emit (G_OBJECT (document), document_signals [REQUEST_URL], 0, url, stream); } -@@ -247,12 +281,39 @@ +@@ -242,12 +276,39 @@ html_document_node_inserted_traverser (H CssStylesheet *ss; HtmlStyleChange style_change; @@ -586,11 +568,8 @@ diff -u -r1.122 htmldocument.c else if ((node->xmlnode->type == XML_TEXT_NODE || node->xmlnode->type == XML_COMMENT_NODE) && node->xmlnode->parent && strcasecmp (node->xmlnode->parent->name, "script") == 0) { Index: libgtkhtml/document/htmldocument.h =================================================================== -RCS file: /cvs/gnome/gtkhtml2/libgtkhtml/document/htmldocument.h,v -retrieving revision 1.35 -diff -u -r1.35 htmldocument.h ---- libgtkhtml/document/htmldocument.h 13 Feb 2005 15:33:19 -0000 1.35 -+++ libgtkhtml/document/htmldocument.h 18 Jan 2006 18:24:12 -0000 +--- libgtkhtml/document/htmldocument.h.orig 2006-02-04 20:10:47.000000000 +0000 ++++ libgtkhtml/document/htmldocument.h 2006-02-05 18:19:17.000000000 +0000 @@ -25,6 +25,7 @@ typedef struct _HtmlDocument HtmlDocument; @@ -599,7 +578,7 @@ diff -u -r1.35 htmldocument.h #include <gtk/gtk.h> -@@ -93,6 +94,10 @@ +@@ -93,6 +94,10 @@ struct _HtmlDocumentClass { gboolean (*dom_mouse_out) (HtmlDocument *document, DomEvent *event); }; @@ -612,12 +591,9 @@ diff -u -r1.35 htmldocument.h Index: libgtkhtml/layout/htmlboxblock.c =================================================================== -RCS file: /cvs/gnome/gtkhtml2/libgtkhtml/layout/htmlboxblock.c,v -retrieving revision 1.115 -diff -u -r1.115 htmlboxblock.c ---- libgtkhtml/layout/htmlboxblock.c 6 Jan 2004 10:09:56 -0000 1.115 -+++ libgtkhtml/layout/htmlboxblock.c 18 Jan 2006 18:24:14 -0000 -@@ -100,17 +100,21 @@ +--- libgtkhtml/layout/htmlboxblock.c.orig 2006-02-04 20:10:47.000000000 +0000 ++++ libgtkhtml/layout/htmlboxblock.c 2006-02-04 20:13:33.000000000 +0000 +@@ -100,17 +100,21 @@ html_real_box_block_update_geometry (Htm HtmlBoxBlock *block = HTML_BOX_BLOCK (self); gint full_width; @@ -640,68 +616,11 @@ diff -u -r1.115 htmlboxblock.c full_width = MAX (line->width, line->full_width); if (full_width > block->full_width) -@@ -233,7 +237,7 @@ - HtmlBoxBlock *block = HTML_BOX_BLOCK (self); - HtmlLineBox *line; - -- /* If it is a flotbox, just add it */ -+ /* If it is a floatbox, just add it */ - if (HTML_BOX_GET_STYLE (box)->Float != HTML_FLOAT_NONE) { - html_box_block_handle_float (self, relayout, box, *y, boxwidth); - return NULL; -Index: libgtkhtml/layout/htmlstyleinherited.c -=================================================================== -RCS file: /cvs/gnome/gtkhtml2/libgtkhtml/layout/htmlstyleinherited.c,v -retrieving revision 1.15 -diff -u -r1.15 htmlstyleinherited.c ---- libgtkhtml/layout/htmlstyleinherited.c 6 Dec 2002 17:17:15 -0000 1.15 -+++ libgtkhtml/layout/htmlstyleinherited.c 18 Jan 2006 18:24:15 -0000 -@@ -300,6 +300,37 @@ - *size = (gint) (val->v.d * old_size); - return TRUE; - default: -+ switch (val->v.atom) { -+ /* FIXME: These values are copy/pasted from html.css.h, X_SMALL is guessed */ -+ case HTML_ATOM_XX_SMALL: -+ *size = (gint) (0.67 * old_size); -+ return TRUE; -+ case HTML_ATOM_X_SMALL: -+ *size = (gint) (0.75 * old_size); -+ return TRUE; -+ case HTML_ATOM_SMALL: -+ *size = (gint) (0.83 * old_size); -+ return TRUE; -+ case HTML_ATOM_MEDIUM: -+ *size = (gint) (1 * old_size); -+ return TRUE; -+ case HTML_ATOM_LARGE: -+ *size = (gint) (1.17 * old_size); -+ return TRUE; -+ case HTML_ATOM_X_LARGE: -+ *size = (gint) (1.5 * old_size); -+ return TRUE; -+ case HTML_ATOM_XX_LARGE: -+ *size = (gint) (2 * old_size); -+ return TRUE; -+ /* FIXME: These are absolutely guessed. Size should always be one of the above seven. */ -+ case HTML_ATOM_LARGER: -+ *size = (gint) (0.8 * old_size); -+ return TRUE; -+ case HTML_ATOM_SMALLER: -+ *size = (gint) (1.2 * old_size); -+ return TRUE; -+ } - return FALSE; - } - } Index: libgtkhtml/view/htmlevent.c =================================================================== -RCS file: /cvs/gnome/gtkhtml2/libgtkhtml/view/htmlevent.c,v -retrieving revision 1.41 -diff -u -r1.41 htmlevent.c ---- libgtkhtml/view/htmlevent.c 14 Sep 2004 06:34:27 -0000 1.41 -+++ libgtkhtml/view/htmlevent.c 18 Jan 2006 18:24:17 -0000 -@@ -46,14 +46,48 @@ +--- libgtkhtml/view/htmlevent.c.orig 2006-02-04 20:10:47.000000000 +0000 ++++ libgtkhtml/view/htmlevent.c 2006-02-04 20:13:33.000000000 +0000 +@@ -46,14 +46,48 @@ html_event_find_parent_dom_node (HtmlBox static gboolean html_event_xy_in_box (HtmlBox *box, gint tx, gint ty, gint x, gint y) { @@ -752,7 +671,7 @@ diff -u -r1.41 htmlevent.c } static void -@@ -64,12 +98,6 @@ +@@ -64,12 +98,6 @@ html_event_find_box_traverser (HtmlBox * box = self->children; while (box) { diff --git a/openembedded/packages/gtkhtml2/files/css-media.patch b/openembedded/packages/gtkhtml2/files/css-media.patch index 999ce196dc..a2d4d2b68c 100644 --- a/openembedded/packages/gtkhtml2/files/css-media.patch +++ b/openembedded/packages/gtkhtml2/files/css-media.patch @@ -1,8 +1,8 @@ -Index: gtkhtml2/libgtkhtml/css/cssmatcher.c +Index: libgtkhtml/css/cssmatcher.c =================================================================== ---- gtkhtml2.orig/libgtkhtml/css/cssmatcher.c 2006-01-25 02:07:44.000000000 +0000 -+++ gtkhtml2/libgtkhtml/css/cssmatcher.c 2006-02-01 02:19:13.000000000 +0000 -@@ -2411,7 +2411,8 @@ +--- libgtkhtml/css/cssmatcher.c.orig 2006-02-05 18:19:15.000000000 +0000 ++++ libgtkhtml/css/cssmatcher.c 2006-02-05 18:20:15.000000000 +0000 +@@ -2411,7 +2411,8 @@ css_matcher_apply_stylesheet (HtmlDocume CssStatement *stat = list->data; gint j; @@ -12,7 +12,7 @@ Index: gtkhtml2/libgtkhtml/css/cssmatcher.c if (stat->s.import_rule.fetched) { if (stat->s.import_rule.sheet) { css_matcher_apply_stylesheet (doc, stat->s.import_rule.sheet, node, declaration_list, type, pseudo); -@@ -2440,31 +2441,65 @@ +@@ -2440,31 +2441,65 @@ css_matcher_apply_stylesheet (HtmlDocume g_free (str); #endif } @@ -97,7 +97,7 @@ Index: gtkhtml2/libgtkhtml/css/cssmatcher.c } } } -@@ -2781,7 +2816,7 @@ +@@ -2781,7 +2816,7 @@ css_matcher_get_style (HtmlDocument *doc css_matcher_html_to_css (doc, style, node); if (!default_stylesheet) { @@ -106,7 +106,7 @@ Index: gtkhtml2/libgtkhtml/css/cssmatcher.c } css_matcher_apply_stylesheet (doc, default_stylesheet, node, &declaration_list, CSS_STYLESHEET_DEFAULT, pseudo); -@@ -2800,25 +2835,31 @@ +@@ -2800,25 +2835,31 @@ css_matcher_get_style (HtmlDocument *doc prop = xmlGetProp (node, "style"); if (prop) { @@ -153,11 +153,11 @@ Index: gtkhtml2/libgtkhtml/css/cssmatcher.c xmlFree (prop); } -Index: gtkhtml2/libgtkhtml/document/htmldocument.c +Index: libgtkhtml/document/htmldocument.c =================================================================== ---- gtkhtml2.orig/libgtkhtml/document/htmldocument.c 2006-01-25 02:07:49.000000000 +0000 -+++ gtkhtml2/libgtkhtml/document/htmldocument.c 2006-02-01 02:19:13.000000000 +0000 -@@ -147,9 +147,7 @@ +--- libgtkhtml/document/htmldocument.c.orig 2006-02-05 18:20:06.000000000 +0000 ++++ libgtkhtml/document/htmldocument.c 2006-02-05 18:20:15.000000000 +0000 +@@ -142,9 +142,7 @@ html_document_stylesheet_stream_close (c if (!buffer) return; @@ -168,7 +168,7 @@ Index: gtkhtml2/libgtkhtml/document/htmldocument.c for (list = sheet->stat; list; list = list->next) { CssStatement *statement = list->data; -@@ -158,15 +156,13 @@ +@@ -153,15 +151,13 @@ html_document_stylesheet_stream_close (c switch (statement->type) { case CSS_IMPORT_RULE: { HtmlDocumentStreamData *stream_data_import; @@ -187,7 +187,7 @@ Index: gtkhtml2/libgtkhtml/document/htmldocument.c break; } default: -@@ -174,8 +170,11 @@ +@@ -169,8 +165,11 @@ html_document_stylesheet_stream_close (c } } @@ -200,7 +200,7 @@ Index: gtkhtml2/libgtkhtml/document/htmldocument.c /* Restyle the document */ style_change = html_document_restyle_node (document, DOM_NODE (dom_Document__get_documentElement (document->dom_document)), NULL, TRUE); -@@ -216,21 +215,22 @@ +@@ -211,21 +210,22 @@ html_document_node_inserted_traverser (H HtmlDocumentStreamData *stream_data; HtmlStream *stream; @@ -226,7 +226,7 @@ Index: gtkhtml2/libgtkhtml/document/htmldocument.c } g_free (str); } -@@ -282,8 +282,10 @@ +@@ -277,8 +277,10 @@ html_document_node_inserted_traverser (H CssStylesheet *ss; HtmlStyleChange style_change; GSList *list; @@ -238,7 +238,7 @@ Index: gtkhtml2/libgtkhtml/document/htmldocument.c for (list = ss->stat; list; list = list->next) { CssStatement *statement = list->data; -@@ -296,9 +298,10 @@ +@@ -291,9 +293,10 @@ html_document_node_inserted_traverser (H cssurl = css_value_to_string (statement->s.import_rule.url); @@ -250,7 +250,7 @@ Index: gtkhtml2/libgtkhtml/document/htmldocument.c stream = html_stream_buffer_new (html_document_stylesheet_stream_close, stream_data); g_signal_emit (G_OBJECT (document), document_signals [REQUEST_URL], 0, cssurl, stream); -@@ -546,6 +549,9 @@ +@@ -541,6 +544,9 @@ html_document_finalize (GObject *object) if (document->parser) g_object_unref (G_OBJECT (document->parser)); @@ -260,7 +260,7 @@ Index: gtkhtml2/libgtkhtml/document/htmldocument.c parent_class->finalize (object); } -@@ -753,6 +759,7 @@ +@@ -748,6 +754,7 @@ html_document_init (HtmlDocument *docume { document->stylesheets = NULL; document->image_factory = html_image_factory_new (); @@ -268,25 +268,7 @@ Index: gtkhtml2/libgtkhtml/document/htmldocument.c g_signal_connect (G_OBJECT (document->image_factory), "request_image", G_CALLBACK (html_document_request_image), document); -@@ -1129,7 +1136,7 @@ - } - - CssStylesheet * --html_document_add_stylesheet (HtmlDocument *document, const gchar *buffer, gint len) -+html_document_add_stylesheet (HtmlDocument *document, const gchar *buffer, gint len, const gchar *media) - { - CssStylesheet *sheet; - HtmlStyleChange style_change; -@@ -1140,7 +1147,7 @@ - * complications it would cause with removal. - */ - -- sheet = css_parser_parse_stylesheet (buffer, len, NULL); -+ sheet = css_parser_parse_stylesheet (buffer, len, NULL, media); - document->stylesheets = g_slist_append (document->stylesheets, sheet); - - style_change = html_document_restyle_node (document, DOM_NODE (dom_Document__get_documentElement (document->dom_document)), NULL, TRUE); -@@ -1159,3 +1166,24 @@ +@@ -1150,3 +1157,24 @@ html_document_remove_stylesheet (HtmlDoc return TRUE; } @@ -311,11 +293,11 @@ Index: gtkhtml2/libgtkhtml/document/htmldocument.c +{ + return document->media_type; +} -Index: gtkhtml2/libgtkhtml/document/htmldocument.h +Index: libgtkhtml/document/htmldocument.h =================================================================== ---- gtkhtml2.orig/libgtkhtml/document/htmldocument.h 2006-01-25 02:07:49.000000000 +0000 -+++ gtkhtml2/libgtkhtml/document/htmldocument.h 2006-01-25 02:07:50.000000000 +0000 -@@ -64,6 +64,8 @@ +--- libgtkhtml/document/htmldocument.h.orig 2006-02-05 18:20:06.000000000 +0000 ++++ libgtkhtml/document/htmldocument.h 2006-02-05 18:20:15.000000000 +0000 +@@ -64,6 +64,8 @@ struct _HtmlDocument { DomNode *hover_node; DomNode *active_node; DomElement *focus_element; @@ -324,7 +306,7 @@ Index: gtkhtml2/libgtkhtml/document/htmldocument.h }; struct _HtmlDocumentClass { -@@ -97,6 +99,7 @@ +@@ -97,6 +99,7 @@ struct _HtmlDocumentClass { struct _HtmlDocumentStreamData { HtmlDocument *document; gpointer internal_data; @@ -332,25 +314,22 @@ Index: gtkhtml2/libgtkhtml/document/htmldocument.h }; GType html_document_get_type (void); -@@ -113,9 +116,12 @@ - void html_document_update_focus_element (HtmlDocument *document, DomElement *element); - DomNode *html_document_find_anchor (HtmlDocument *doc, const gchar *anchor); - --CssStylesheet *html_document_add_stylesheet (HtmlDocument *document, const gchar *buffer, gint len); -+CssStylesheet *html_document_add_stylesheet (HtmlDocument *document, const gchar *buffer, gint len, const gchar *media); +@@ -116,6 +119,10 @@ DomNode *html_document_find_anchor + void html_document_add_stylesheet (HtmlDocument *document, CssStylesheet *stylesheet); gboolean html_document_remove_stylesheet (HtmlDocument *document, CssStylesheet *stylesheet); -+void html_document_set_media_type (HtmlDocument *document, const gchar *type); -+const gchar *html_document_get_media_type (HtmlDocument *document); ++void html_document_set_media_type (HtmlDocument *document, const gchar *type); ++const gchar *html_document_get_media_type (HtmlDocument *document); ++ + G_END_DECLS #endif /* __HTMLDOCUMENT_H__ */ -Index: gtkhtml2/libgtkhtml/css/cssparser.c +Index: libgtkhtml/css/cssparser.c =================================================================== ---- gtkhtml2.orig/libgtkhtml/css/cssparser.c 2006-01-25 02:05:54.000000000 +0000 -+++ gtkhtml2/libgtkhtml/css/cssparser.c 2006-01-25 02:07:50.000000000 +0000 -@@ -688,6 +688,32 @@ +--- libgtkhtml/css/cssparser.c.orig 2006-02-05 18:19:15.000000000 +0000 ++++ libgtkhtml/css/cssparser.c 2006-02-05 18:20:15.000000000 +0000 +@@ -688,6 +688,32 @@ css_parser_parse_value (const gchar *buf return pos; } @@ -383,7 +362,7 @@ Index: gtkhtml2/libgtkhtml/css/cssparser.c static gint css_parser_parse_attr_selector (const gchar *buffer, gint start_pos, gint end_pos, CssTail *tail) -@@ -1329,7 +1355,7 @@ +@@ -1329,7 +1355,7 @@ css_parser_parse_atkeyword (const gchar /* g_print ("Going to return: %d\n", pos); */ @@ -392,7 +371,7 @@ Index: gtkhtml2/libgtkhtml/css/cssparser.c break; case HTML_ATOM_PAGE: -@@ -1390,7 +1416,8 @@ +@@ -1390,7 +1416,8 @@ css_parser_parse_atkeyword (const gchar break; case HTML_ATOM_IMPORT: { gchar *import_url; @@ -402,7 +381,7 @@ Index: gtkhtml2/libgtkhtml/css/cssparser.c cur_pos = css_parser_parse_to_char (buffer, ';', pos, end_pos); -@@ -1411,6 +1438,7 @@ +@@ -1411,6 +1438,7 @@ css_parser_parse_atkeyword (const gchar return cur_pos + 1; } @@ -410,7 +389,7 @@ Index: gtkhtml2/libgtkhtml/css/cssparser.c s_url++; e_url--; -@@ -1434,6 +1462,11 @@ +@@ -1434,6 +1462,11 @@ css_parser_parse_atkeyword (const gchar result->type = CSS_IMPORT_RULE; result->s.import_rule.url = css_value_string_new (import_url); @@ -422,7 +401,7 @@ Index: gtkhtml2/libgtkhtml/css/cssparser.c *ret_val = result; -@@ -1489,7 +1522,7 @@ +@@ -1489,7 +1522,7 @@ css_parser_parse_style_attr (const gchar } CssStylesheet * @@ -431,7 +410,7 @@ Index: gtkhtml2/libgtkhtml/css/cssparser.c { CssStylesheet *result; GSList *stat = NULL; -@@ -1515,12 +1548,23 @@ +@@ -1515,12 +1548,23 @@ css_parser_parse_stylesheet (const gchar pos = css_parser_parse_ruleset (buffer, pos, end_pos, &ruleset, base_url); if (ruleset) { @@ -460,10 +439,10 @@ Index: gtkhtml2/libgtkhtml/css/cssparser.c } if (pos == -1) -Index: gtkhtml2/libgtkhtml/css/cssparser.h +Index: libgtkhtml/css/cssparser.h =================================================================== ---- gtkhtml2.orig/libgtkhtml/css/cssparser.h 2006-01-25 02:05:54.000000000 +0000 -+++ gtkhtml2/libgtkhtml/css/cssparser.h 2006-01-25 02:07:50.000000000 +0000 +--- libgtkhtml/css/cssparser.h.orig 2006-02-05 18:19:15.000000000 +0000 ++++ libgtkhtml/css/cssparser.h 2006-02-05 18:20:15.000000000 +0000 @@ -30,7 +30,7 @@ G_BEGIN_DECLS @@ -473,11 +452,11 @@ Index: gtkhtml2/libgtkhtml/css/cssparser.h CssRuleset *css_parser_parse_style_attr (const gchar *buffer, gint len, const gchar *base_url); G_END_DECLS -Index: gtkhtml2/libgtkhtml/css/cssstylesheet.h +Index: libgtkhtml/css/cssstylesheet.h =================================================================== ---- gtkhtml2.orig/libgtkhtml/css/cssstylesheet.h 2006-02-01 02:19:56.000000000 +0000 -+++ gtkhtml2/libgtkhtml/css/cssstylesheet.h 2006-02-01 02:20:08.000000000 +0000 -@@ -99,6 +99,7 @@ +--- libgtkhtml/css/cssstylesheet.h.orig 2006-02-05 18:19:15.000000000 +0000 ++++ libgtkhtml/css/cssstylesheet.h 2006-02-05 18:20:15.000000000 +0000 +@@ -99,6 +99,7 @@ struct _CssStatement { CssValue *url; gboolean fetched; gboolean fetching; diff --git a/openembedded/packages/gtkhtml2/files/css-stylesheet-user.patch b/openembedded/packages/gtkhtml2/files/css-stylesheet-user.patch index 85fe535126..01c9838953 100644 --- a/openembedded/packages/gtkhtml2/files/css-stylesheet-user.patch +++ b/openembedded/packages/gtkhtml2/files/css-stylesheet-user.patch @@ -1,31 +1,27 @@ -Index: gtkhtml2/libgtkhtml/document/htmldocument.c +Index: libgtkhtml/document/htmldocument.c =================================================================== ---- gtkhtml2.orig/libgtkhtml/document/htmldocument.c 2006-01-21 02:24:09.000000000 +0000 -+++ gtkhtml2/libgtkhtml/document/htmldocument.c 2006-01-21 04:21:37.000000000 +0000 -@@ -1127,3 +1127,35 @@ +--- libgtkhtml/document/htmldocument.c.orig 2006-02-05 18:19:17.000000000 +0000 ++++ libgtkhtml/document/htmldocument.c 2006-02-05 18:20:06.000000000 +0000 +@@ -1122,3 +1122,31 @@ html_document_find_anchor (HtmlDocument else return NULL; } + -+CssStylesheet * -+html_document_add_stylesheet (HtmlDocument *document, const gchar *buffer, gint len) ++void ++html_document_add_stylesheet (HtmlDocument *document, CssStylesheet *sheet) +{ -+ CssStylesheet *sheet; + HtmlStyleChange style_change; + -+ g_return_val_if_fail (buffer && (len > 0) && HTML_IS_DOCUMENT (document), NULL); ++ g_return_val_if_fail (HTML_IS_DOCUMENT (document), NULL); + + /* Note: @import not supported for user stylesheets, due to + * complications it would cause with removal. + */ + -+ sheet = css_parser_parse_stylesheet (buffer, len, NULL); + document->stylesheets = g_slist_append (document->stylesheets, sheet); + + style_change = html_document_restyle_node (document, DOM_NODE (dom_Document__get_documentElement (document->dom_document)), NULL, TRUE); + g_signal_emit (G_OBJECT (document), document_signals [STYLE_UPDATED], 0, DOM_NODE (dom_Document__get_documentElement (document->dom_document)), style_change); -+ -+ return sheet; +} + +gboolean @@ -38,15 +34,15 @@ Index: gtkhtml2/libgtkhtml/document/htmldocument.c + return TRUE; +} + -Index: gtkhtml2/libgtkhtml/document/htmldocument.h +Index: libgtkhtml/document/htmldocument.h =================================================================== ---- gtkhtml2.orig/libgtkhtml/document/htmldocument.h 2006-01-21 02:24:09.000000000 +0000 -+++ gtkhtml2/libgtkhtml/document/htmldocument.h 2006-01-21 03:48:55.000000000 +0000 -@@ -113,6 +113,9 @@ +--- libgtkhtml/document/htmldocument.h.orig 2006-02-05 18:19:17.000000000 +0000 ++++ libgtkhtml/document/htmldocument.h 2006-02-05 18:20:06.000000000 +0000 +@@ -113,6 +113,9 @@ void html_document_update_active_nod void html_document_update_focus_element (HtmlDocument *document, DomElement *element); DomNode *html_document_find_anchor (HtmlDocument *doc, const gchar *anchor); -+CssStylesheet *html_document_add_stylesheet (HtmlDocument *document, const gchar *buffer, gint len); ++void html_document_add_stylesheet (HtmlDocument *document, CssStylesheet *stylesheet); +gboolean html_document_remove_stylesheet (HtmlDocument *document, CssStylesheet *stylesheet); + G_END_DECLS diff --git a/openembedded/packages/gtkhtml2/files/fix-background-min-max.patch b/openembedded/packages/gtkhtml2/files/fix-background-min-max.patch deleted file mode 100644 index af557c8fa4..0000000000 --- a/openembedded/packages/gtkhtml2/files/fix-background-min-max.patch +++ /dev/null @@ -1,66 +0,0 @@ -Index: gtkhtml2/libgtkhtml/layout/html/htmlboximage.c -=================================================================== ---- gtkhtml2.orig/libgtkhtml/layout/html/htmlboximage.c 2005-12-28 22:07:37.000000000 +0000 -+++ gtkhtml2/libgtkhtml/layout/html/htmlboximage.c 2006-01-22 03:20:36.000000000 +0000 -@@ -167,6 +167,8 @@ - width = (gint)(floor ((gfloat)(height * gdk_pixbuf_get_width (pixbuf))/(gfloat)gdk_pixbuf_get_height (pixbuf)) + 0.5); - } - } -+ -+ html_box_check_min_max_width_height (box, &width, &height); - - if (old_width != width || old_height != height) - html_box_image_update_scaled_pixbuf (image, width, height); -Index: gtkhtml2/libgtkhtml/layout/htmlbox.c -=================================================================== ---- gtkhtml2.orig/libgtkhtml/layout/htmlbox.c 2004-01-08 08:57:29.000000000 +0000 -+++ gtkhtml2/libgtkhtml/layout/htmlbox.c 2006-01-22 03:20:41.000000000 +0000 -@@ -24,6 +24,7 @@ - #include "layout/htmlbox.h" - #include "layout/htmlboxtext.h" - #include "layout/html/htmlboxform.h" -+#include "layout/html/htmlboximage.h" - #include "layout/htmlboxinline.h" - #include "layout/htmlboxtablerow.h" - #include "gtkhtmlcontext.h" -@@ -817,6 +818,8 @@ - html_box_check_min_max_width_height (HtmlBox *self, gint *boxwidth, gint *boxheight) - { - int tmp; -+ gint old_width = *boxwidth; -+ gint old_height = *boxheight; - - if (self->parent) { - if (HTML_BOX_GET_STYLE (self)->box->min_width.type != HTML_LENGTH_AUTO) { -@@ -868,6 +871,31 @@ - if (*boxheight > html_length_get_value (&HTML_BOX_GET_STYLE (self)->box->max_height, 0)) - *boxheight = html_length_get_value (&HTML_BOX_GET_STYLE (self)->box->max_height, 0); - } -+ -+ /* Maintain aspect ratio if it's an image - bias towards making image smaller */ -+ if (HTML_IS_BOX_IMAGE (self)) { -+ if ((*boxwidth > old_width) && (*boxheight >= old_height)) { -+ *boxheight = *boxheight * (gdouble)(*boxwidth / (gdouble)old_width); -+ html_box_check_min_max_width_height (self, boxwidth, boxheight); -+ return; -+ } -+ -+ if ((*boxheight > old_height) && (*boxwidth >= old_width)) { -+ *boxwidth = *boxwidth * (gdouble)(*boxheight / (gdouble)old_height); -+ html_box_check_min_max_width_height (self, boxwidth, boxheight); -+ return; -+ } -+ -+ if ((*boxwidth < old_width) && (*boxheight <= old_height)) { -+ *boxheight = *boxheight * (gdouble)(*boxwidth / (gdouble)old_width); -+ return; -+ } -+ -+ if ((*boxheight < old_height) && (*boxwidth <= old_width)) { -+ *boxwidth = *boxwidth * (gdouble)(*boxheight / (gdouble)old_height); -+ return; -+ } -+ } - } - - static void diff --git a/openembedded/packages/gtkhtml2/files/fix-background-none.patch b/openembedded/packages/gtkhtml2/files/fix-background-none.patch deleted file mode 100644 index 076f312009..0000000000 --- a/openembedded/packages/gtkhtml2/files/fix-background-none.patch +++ /dev/null @@ -1,40 +0,0 @@ -Index: gtkhtml2/libgtkhtml/css/cssmatcher.c -=================================================================== ---- gtkhtml2.orig/libgtkhtml/css/cssmatcher.c 2006-01-21 01:02:23.000000000 +0000 -+++ gtkhtml2/libgtkhtml/css/cssmatcher.c 2006-01-25 02:07:44.000000000 +0000 -@@ -596,7 +596,13 @@ - g_object_unref (G_OBJECT(image)); - return TRUE; - } -- } -+ } else if (val->value_type == CSS_IDENT && -+ val->v.atom == HTML_ATOM_NONE) { -+ if (style->background->image) { -+ g_object_unref (style->background->image); -+ style->background->image = NULL; -+ } -+ } - return FALSE; - } - -@@ -1256,7 +1262,10 @@ - } - else if (val->value_type == CSS_FUNCTION) - handle_background_image (document, style, val); -- else if (css_parse_color (val, &color)) -+ else if (val->value_type == CSS_IDENT && val->v.atom == HTML_ATOM_NONE) { -+ handle_background_image (document, style, val); -+ style->background->color.transparent = TRUE; -+ } else if (css_parse_color (val, &color)) - html_style_set_background_color (style, &color); - - break; -@@ -1273,6 +1282,8 @@ - - if (val->v.atom == HTML_ATOM_INHERIT) - html_style_set_background_color (style, &parent_style->background->color); -+ else if (val->v.atom == HTML_ATOM_NONE) -+ style->background->color.transparent = TRUE; - else if (css_parse_color (val, &color)) - html_style_set_background_color (style, &color); - break; diff --git a/openembedded/packages/gtkhtml2/files/fix-recreation.patch b/openembedded/packages/gtkhtml2/files/fix-recreation.patch deleted file mode 100644 index 3bc636bae9..0000000000 --- a/openembedded/packages/gtkhtml2/files/fix-recreation.patch +++ /dev/null @@ -1,407 +0,0 @@ -Index: gtkhtml2/libgtkhtml/document/htmldocument.c -=================================================================== ---- gtkhtml2.orig/libgtkhtml/document/htmldocument.c 2006-01-25 19:19:23.000000000 +0000 -+++ gtkhtml2/libgtkhtml/document/htmldocument.c 2006-01-25 19:21:10.000000000 +0000 -@@ -110,11 +110,6 @@ - - if (style_change != HTML_STYLE_CHANGE_NONE) { - -- /* FIXME: Workaround bug #199, we don't support recreation -- * of dom nodes and layout boxes / jonas -- */ -- new_style->display = node->style->display; -- - html_style_ref (new_style); - html_style_unref (node->style); - node->style = new_style; -Index: gtkhtml2/libgtkhtml/layout/htmlboxfactory.c -=================================================================== ---- gtkhtml2.orig/libgtkhtml/layout/htmlboxfactory.c 2006-01-25 19:19:23.000000000 +0000 -+++ gtkhtml2/libgtkhtml/layout/htmlboxfactory.c 2006-01-25 19:21:10.000000000 +0000 -@@ -99,7 +99,7 @@ - - - HtmlBox * --html_box_factory_new_box (HtmlView *view, DomNode *node) -+html_box_factory_new_box (HtmlView *view, DomNode *node, gboolean force_new) - { - HtmlBox *box = NULL, *parent_box; - HtmlStyle *style = node->style, *parent_style = NULL; -@@ -117,7 +117,7 @@ - - box = parent_box->children; - -- while (box) { -+ while (box && !force_new) { - if (HTML_IS_BOX_TEXT (box) && box->dom_node == node) { - - html_box_text_set_text (HTML_BOX_TEXT (box), node->xmlnode->content); -Index: gtkhtml2/libgtkhtml/layout/htmlboxfactory.h -=================================================================== ---- gtkhtml2.orig/libgtkhtml/layout/htmlboxfactory.h 2006-01-25 19:19:23.000000000 +0000 -+++ gtkhtml2/libgtkhtml/layout/htmlboxfactory.h 2006-01-25 19:21:10.000000000 +0000 -@@ -33,7 +33,7 @@ - - HtmlBox * html_box_factory_get_box (HtmlView *view, DomNode *node, HtmlBox *parent_box); - HtmlStyleChange html_box_factory_restyle_box (HtmlView *view, HtmlBox *box, HtmlAtom pseudo); --HtmlBox * html_box_factory_new_box (HtmlView *view, DomNode *node); -+HtmlBox * html_box_factory_new_box (HtmlView *view, DomNode *node, gboolean force_new); - - G_END_DECLS - -Index: gtkhtml2/libgtkhtml/layout/htmlstyle.c -=================================================================== ---- gtkhtml2.orig/libgtkhtml/layout/htmlstyle.c 2006-01-25 19:19:23.000000000 +0000 -+++ gtkhtml2/libgtkhtml/layout/htmlstyle.c 2006-01-25 19:21:10.000000000 +0000 -@@ -416,7 +416,7 @@ - html_style_compare (const HtmlStyle *s1, const HtmlStyle *s2) - { - /* RECREATE begin */ -- if (s1->display != s1->display) -+ if (s1->display != s2->display) - return HTML_STYLE_CHANGE_RECREATE; - /* RECREATE end */ - -Index: gtkhtml2/libgtkhtml/view/htmlview.c -=================================================================== ---- gtkhtml2.orig/libgtkhtml/view/htmlview.c 2006-01-25 19:19:23.000000000 +0000 -+++ gtkhtml2/libgtkhtml/view/htmlview.c 2006-01-25 19:21:10.000000000 +0000 -@@ -1908,7 +1908,7 @@ - - g_assert (node->style != NULL); - -- new_box = html_box_factory_new_box (view, node); -+ new_box = html_box_factory_new_box (view, node, FALSE); - - if (new_box) { - -@@ -2001,8 +2001,9 @@ - html_view_remove_layout_box (view, box->dom_node); - - /* Check if we're trying to remove the root box */ -- if (box == view->root) -+ if (box == view->root) { - view->root = NULL; -+ } - - html_box_remove (box); - g_object_unref (G_OBJECT (box)); -@@ -2131,6 +2132,56 @@ - } - - switch (style_change) { -+ case HTML_STYLE_CHANGE_RECREATE: { -+ HtmlBox *new_box = NULL; -+ -+ /* Don't replace boxes where display: none has been set */ -+ if (style->display == HTML_DISPLAY_NONE) { -+ html_view_removed (document, node, view); -+ break; -+ } -+ -+ new_box = html_box_factory_new_box (view, node, TRUE); -+ g_assert (new_box); -+ -+ new_box->dom_node = node; -+ g_object_add_weak_pointer (G_OBJECT (node), (gpointer *)&(new_box->dom_node)); -+ new_box->next = box->next; -+ new_box->prev = box->prev; -+ new_box->parent = box->parent; -+ new_box->children = box->children; -+ -+ if (box->next) box->next->prev = new_box; -+ if (box->prev) box->prev->next = new_box; -+ if (box->parent) -+ if (box->parent->children == box) -+ box->parent->children = new_box; -+ if (box->children) { -+ HtmlBox *child = box->children; -+ while (child) { -+ if (child->parent == box) -+ child->parent = new_box; -+ child = child->prev; -+ } -+ child = box->children->next; -+ while (child) { -+ if (child->parent == box) -+ child->parent = new_box; -+ child = child->next; -+ } -+ } -+ -+ if (view->root == box) -+ view->root = new_box; -+ -+ html_view_remove_layout_box (view, node); -+ g_object_unref (box); -+ -+ html_box_handle_html_properties (new_box, node->xmlnode); -+ html_view_add_layout_box (view, node, new_box); -+ html_view_relayout_callback (document, node, view); -+ break; -+ } - case HTML_STYLE_CHANGE_REPAINT: - html_view_repaint_callback (document, node, view); - break; -Index: gtkhtml2/libgtkhtml/css/cssmatcher.c -=================================================================== ---- gtkhtml2.orig/libgtkhtml/css/cssmatcher.c 2006-01-25 19:19:23.000000000 +0000 -+++ gtkhtml2/libgtkhtml/css/cssmatcher.c 2006-01-25 19:21:10.000000000 +0000 -@@ -2781,7 +2781,7 @@ - } - } - if (strcasecmp ("table", n->name) == 0) { -- if ((str = xmlGetProp (n, "align"))) { -+ if ((style->display != HTML_DISPLAY_BLOCK) && (str = xmlGetProp (n, "align"))) { - if (strcasecmp (str, "left") == 0) - style->Float = HTML_FLOAT_LEFT; - else if (strcasecmp (str, "right") == 0) -Index: gtkhtml2/libgtkhtml/layout/htmlbox.c -=================================================================== ---- gtkhtml2.orig/libgtkhtml/layout/htmlbox.c 2006-01-25 19:21:09.000000000 +0000 -+++ gtkhtml2/libgtkhtml/layout/htmlbox.c 2006-01-25 19:21:10.000000000 +0000 -@@ -308,7 +308,7 @@ - else if (style->surround->margin.left.type != HTML_LENGTH_AUTO && - style->surround->margin.right.type != HTML_LENGTH_AUTO) { - -- if (HTML_BOX_GET_STYLE (box->parent)->inherited->direction == HTML_DIRECTION_RTL) { -+ if (HTML_BOX_GET_STYLE (html_box_get_containing_block (box))->inherited->direction == HTML_DIRECTION_RTL) { - - return width - html_length_get_value (&style->box->width, width) - - html_box_left_padding (box, width) - html_box_right_padding (box, width) - -@@ -348,7 +348,7 @@ - else if (style->surround->margin.left.type != HTML_LENGTH_AUTO && - style->surround->margin.right.type != HTML_LENGTH_AUTO) { - -- if (HTML_BOX_GET_STYLE (box->parent)->inherited->direction == HTML_DIRECTION_LTR) { -+ if (HTML_BOX_GET_STYLE (html_box_get_containing_block (box))->inherited->direction == HTML_DIRECTION_LTR) { - - return width - html_length_get_value (&style->box->width, width) - - html_box_left_padding (box, width) - html_box_right_padding (box, width) - -@@ -820,35 +820,36 @@ - int tmp; - gint old_width = *boxwidth; - gint old_height = *boxheight; -+ HtmlBox *parent = html_box_get_containing_block (self); - -- if (self->parent) { -+ if (parent) { - if (HTML_BOX_GET_STYLE (self)->box->min_width.type != HTML_LENGTH_AUTO) { -- tmp = html_length_get_value (&HTML_BOX_GET_STYLE (self)->box->min_width, self->parent->width - -- html_box_horizontal_mbp_sum (self->parent) - html_box_horizontal_mbp_sum (self)); -+ tmp = html_length_get_value (&HTML_BOX_GET_STYLE (self)->box->min_width, parent->width - -+ html_box_horizontal_mbp_sum (parent) - html_box_horizontal_mbp_sum (self)); - if (*boxwidth < tmp) - *boxwidth = tmp; - - } - - if (HTML_BOX_GET_STYLE (self)->box->max_width.type != HTML_LENGTH_AUTO) { -- tmp = html_length_get_value (&HTML_BOX_GET_STYLE (self)->box->max_width, self->parent->width - -- html_box_horizontal_mbp_sum (self->parent) - html_box_horizontal_mbp_sum (self)); -+ tmp = html_length_get_value (&HTML_BOX_GET_STYLE (self)->box->max_width, parent->width - -+ html_box_horizontal_mbp_sum (parent) - html_box_horizontal_mbp_sum (self)); - if (*boxwidth > tmp) - *boxwidth = tmp; - - } - - if (HTML_BOX_GET_STYLE (self)->box->min_height.type != HTML_LENGTH_AUTO) { -- tmp = html_length_get_value (&HTML_BOX_GET_STYLE (self)->box->min_height, self->parent->height - -- html_box_horizontal_mbp_sum (self->parent) - html_box_horizontal_mbp_sum (self)); -+ tmp = html_length_get_value (&HTML_BOX_GET_STYLE (self)->box->min_height, parent->height - -+ html_box_horizontal_mbp_sum (parent) - html_box_horizontal_mbp_sum (self)); - if (*boxheight < tmp) - *boxheight = tmp; - - } - - if (HTML_BOX_GET_STYLE (self)->box->max_height.type != HTML_LENGTH_AUTO) { -- tmp = html_length_get_value (&HTML_BOX_GET_STYLE (self)->box->max_height, self->parent->height - -- html_box_horizontal_mbp_sum (self->parent) - html_box_horizontal_mbp_sum (self)); -+ tmp = html_length_get_value (&HTML_BOX_GET_STYLE (self)->box->max_height, parent->height - -+ html_box_horizontal_mbp_sum (parent) - html_box_horizontal_mbp_sum (self)); - if (*boxheight > tmp) - *boxheight = tmp; - -Index: gtkhtml2/libgtkhtml/layout/htmlboxblock.c -=================================================================== ---- gtkhtml2.orig/libgtkhtml/layout/htmlboxblock.c 2006-01-25 19:19:23.000000000 +0000 -+++ gtkhtml2/libgtkhtml/layout/htmlboxblock.c 2006-01-25 19:21:10.000000000 +0000 -@@ -358,8 +358,7 @@ - - /* Get the prefered width */ - /* If the width wasn't specified by CSS, use the width of the containing box (parent) */ -- -- if (self->parent) { -+ if (html_box_get_containing_block (self)) { - - if (style->Float != HTML_FLOAT_NONE) - new_width = html_length_get_value (&style->box->width, html_box_get_containing_block_width (self)); -Index: gtkhtml2/libgtkhtml/graphics/htmlimagefactory.c -=================================================================== ---- gtkhtml2.orig/libgtkhtml/graphics/htmlimagefactory.c 2006-01-25 19:19:23.000000000 +0000 -+++ gtkhtml2/libgtkhtml/graphics/htmlimagefactory.c 2006-01-25 19:21:10.000000000 +0000 -@@ -127,7 +127,7 @@ - } - - static void --html_image_shutdown (HtmlImage *image, HtmlImageFactory *image_factory) -+html_image_shutdown (HtmlImageFactory *image_factory, HtmlImage *image) - { - g_hash_table_remove (image_factory->image_hash, image->uri); - } -@@ -146,8 +146,7 @@ - - image = HTML_IMAGE (g_object_new (HTML_IMAGE_TYPE, NULL)); - -- g_signal_connect (G_OBJECT (image), "last_unref", -- G_CALLBACK (html_image_shutdown), image_factory); -+ g_object_weak_ref (G_OBJECT (image), (GWeakNotify)html_image_shutdown, image_factory); - - image->loading = TRUE; - -Index: gtkhtml2/libgtkhtml/layout/html/htmlboxembeddedimage.c -=================================================================== ---- gtkhtml2.orig/libgtkhtml/layout/html/htmlboxembeddedimage.c 2006-01-25 19:19:23.000000000 +0000 -+++ gtkhtml2/libgtkhtml/layout/html/htmlboxembeddedimage.c 2006-01-25 19:21:10.000000000 +0000 -@@ -64,25 +64,36 @@ - } - - static void --html_box_embedded_image_class_init (HtmlBoxClass *klass) -+html_box_embedded_image_resize_image (HtmlImage *image, HtmlBoxEmbeddedImage *box) - { -- -- klass->paint = html_box_embedded_image_paint; -- klass->relayout = html_box_embedded_image_relayout; -+ g_signal_emit_by_name (G_OBJECT (box->view->document), "relayout_node", HTML_BOX (box)->dom_node); -+} - -- parent_class = g_type_class_peek_parent (klass); -+static void -+html_box_embedded_image_repaint_image (HtmlImage *image, gint x, gint y, gint width, gint height, HtmlBoxEmbeddedImage *box) -+{ -+ g_signal_emit_by_name (G_OBJECT (box->view->document), "repaint_node", HTML_BOX (box)->dom_node); - } - - static void --html_box_embedded_image_resize_image (HtmlImage *image, HtmlBoxEmbeddedImage *box) -+html_box_embedded_image_finalize (GObject *object) - { -- g_signal_emit_by_name (G_OBJECT (box->view->document), "relayout_node", HTML_BOX (box)->dom_node); -+ HtmlBoxEmbeddedImage *image = HTML_BOX_EMBEDDED_IMAGE (object); -+ -+ g_signal_handlers_disconnect_by_func (G_OBJECT (image->image), G_CALLBACK (html_box_embedded_image_resize_image), image); -+ g_signal_handlers_disconnect_by_func (G_OBJECT (image->image), G_CALLBACK (html_box_embedded_image_repaint_image), image); - } - - static void --html_box_embedded_image_repaint_image (HtmlImage *image, gint x, gint y, gint width, gint height, HtmlBoxEmbeddedImage *box) -+html_box_embedded_image_class_init (HtmlBoxClass *klass) - { -- g_signal_emit_by_name (G_OBJECT (box->view->document), "repaint_node", HTML_BOX (box)->dom_node); -+ GObjectClass *object_class = (GObjectClass *)klass; -+ -+ klass->paint = html_box_embedded_image_paint; -+ klass->relayout = html_box_embedded_image_relayout; -+ object_class->finalize = html_box_embedded_image_finalize; -+ -+ parent_class = g_type_class_peek_parent (klass); - } - - void -Index: gtkhtml2/libgtkhtml/layout/htmlboxtext.c -=================================================================== ---- gtkhtml2.orig/libgtkhtml/layout/htmlboxtext.c 2006-01-25 19:19:23.000000000 +0000 -+++ gtkhtml2/libgtkhtml/layout/htmlboxtext.c 2006-01-25 19:21:10.000000000 +0000 -@@ -146,6 +146,7 @@ - - master = text->master; - if (master) { -+ html_box_text_destroy_slaves (text); - html_box_text_free_master (master); - g_free (master); - text->master = NULL; -Index: gtkhtml2/libgtkhtml/layout/html/htmlboximage.c -=================================================================== ---- gtkhtml2.orig/libgtkhtml/layout/html/htmlboximage.c 2006-01-25 19:21:09.000000000 +0000 -+++ gtkhtml2/libgtkhtml/layout/html/htmlboximage.c 2006-01-25 19:21:33.000000000 +0000 -@@ -195,10 +195,41 @@ - } - - static void -+html_box_image_resize_image (HtmlImage *image, HtmlBoxImage *box) -+{ -+ g_signal_emit_by_name (G_OBJECT (box->view->document), "relayout_node", HTML_BOX (box)->dom_node); -+} -+ -+static void -+html_box_image_repaint_image (HtmlImage *image, gint x, gint y, gint width, gint height, HtmlBoxImage *box) -+{ -+ gdouble real_x, real_y; -+ gdouble real_width, real_height; -+ -+ if (box->scaled_pixbuf && image->pixbuf) { -+ -+ html_box_image_update_scaled_pixbuf (box, gdk_pixbuf_get_width (box->scaled_pixbuf), gdk_pixbuf_get_height (box->scaled_pixbuf)); -+ real_y = (y * gdk_pixbuf_get_height (box->scaled_pixbuf)) / (gdouble)gdk_pixbuf_get_height (image->pixbuf); -+ real_x = (x * gdk_pixbuf_get_width (box->scaled_pixbuf)) / (gdouble)gdk_pixbuf_get_width (image->pixbuf); -+ -+ real_height = (height * gdk_pixbuf_get_height (box->scaled_pixbuf)) / (gdouble)gdk_pixbuf_get_height (image->pixbuf); -+ real_width = (width * gdk_pixbuf_get_width (box->scaled_pixbuf)) / (gdouble)gdk_pixbuf_get_width (image->pixbuf); -+ -+ gtk_widget_queue_draw_area (GTK_WIDGET (box->view), -+ html_box_get_absolute_x (HTML_BOX (box)), /* + floor (real_x + 0.5),*/ -+ html_box_get_absolute_y (HTML_BOX (box)),/* + floor (real_y + 0.5),*/ -+ floor (real_width + real_x + 0.5), -+ floor (real_height + real_y + 0.5)); -+ } -+} -+ -+static void - html_box_image_finalize (GObject *object) - { - HtmlBoxImage *image = HTML_BOX_IMAGE (object); - -+ g_signal_handlers_disconnect_by_func (G_OBJECT (image->image), G_CALLBACK (html_box_image_resize_image), image); -+ g_signal_handlers_disconnect_by_func (G_OBJECT (image->image), G_CALLBACK (html_box_image_repaint_image), image); - if (image->scaled_pixbuf) - g_object_unref (image->scaled_pixbuf); - -@@ -262,35 +293,6 @@ - return HTML_BOX (box); - } - --static void --html_box_image_resize_image (HtmlImage *image, HtmlBoxImage *box) --{ -- g_signal_emit_by_name (G_OBJECT (box->view->document), "relayout_node", HTML_BOX (box)->dom_node); --} -- --static void --html_box_image_repaint_image (HtmlImage *image, gint x, gint y, gint width, gint height, HtmlBoxImage *box) --{ -- gdouble real_x, real_y; -- gdouble real_width, real_height; -- -- if (box->scaled_pixbuf && image->pixbuf) { -- -- html_box_image_update_scaled_pixbuf (box, gdk_pixbuf_get_width (box->scaled_pixbuf), gdk_pixbuf_get_height (box->scaled_pixbuf)); -- real_y = (y * gdk_pixbuf_get_height (box->scaled_pixbuf)) / (gdouble)gdk_pixbuf_get_height (image->pixbuf); -- real_x = (x * gdk_pixbuf_get_width (box->scaled_pixbuf)) / (gdouble)gdk_pixbuf_get_width (image->pixbuf); -- -- real_height = (height * gdk_pixbuf_get_height (box->scaled_pixbuf)) / (gdouble)gdk_pixbuf_get_height (image->pixbuf); -- real_width = (width * gdk_pixbuf_get_width (box->scaled_pixbuf)) / (gdouble)gdk_pixbuf_get_width (image->pixbuf); -- -- gtk_widget_queue_draw_area (GTK_WIDGET (box->view), -- html_box_get_absolute_x (HTML_BOX (box)), /* + floor (real_x + 0.5),*/ -- html_box_get_absolute_y (HTML_BOX (box)),/* + floor (real_y + 0.5),*/ -- floor (real_width + real_x + 0.5), -- floor (real_height + real_y + 0.5)); -- } --} -- - void - html_box_image_set_image (HtmlBoxImage *box, HtmlImage *image) - { diff --git a/openembedded/packages/gtkhtml2/gtkhtml2_cvs.bb b/openembedded/packages/gtkhtml2/gtkhtml2_cvs.bb index cdb4206157..8cc963dd22 100755 --- a/openembedded/packages/gtkhtml2/gtkhtml2_cvs.bb +++ b/openembedded/packages/gtkhtml2/gtkhtml2_cvs.bb @@ -3,15 +3,14 @@ DEPENDS = "gtk+ glib-2.0 libxml2" DESCRIPTION = "A GTK+ HTML rendering library." LICENSE = "GPL" MAINTAINER = "Chris Lord <chris@openedhand.com>" -PV = "2.11.0cvs${CVSDATE}" +PV = "2.11.0+cvs-${CVSDATE}" SRC_URI = "cvs://anonymous@anoncvs.gnome.org/cvs/gnome;module=gtkhtml2 \ file://at-import_box-pos.patch;patch=1;pnum=0 \ - file://fix-background-none.patch;patch=1;pnum=1 \ - file://css-stylesheet-user.patch;patch=1;pnum=1 \ - file://css-media.patch;patch=1;pnum=1 \ - file://fix-background-min-max.patch;patch=1;pnum=1 \ - file://fix-recreation.patch;patch=1;pnum=1" + file://css-stylesheet-user.patch;patch=1;pnum=0 \ + file://css-media.patch;patch=1;pnum=0 \ + file://fix-infinite-loop.patch;patch=1;pnum=0 \ + file://fix-margin-inherit.patch;patch=1;pnum=0" S = "${WORKDIR}/${PN}" |