summaryrefslogtreecommitdiff
path: root/openembedded/packages/gtkhtml2
diff options
context:
space:
mode:
authorChris Lord <chris@openedhand.com>2006-02-07 04:22:50 +0000
committerChris Lord <chris@openedhand.com>2006-02-07 04:22:50 +0000
commit4fbba6350edd17d9272a668b5ba564f558974a94 (patch)
treedafc821fd7b7d4ec5e08966b6ac479f50f94e5df /openembedded/packages/gtkhtml2
parentef60244cc4a28777efdaed9260e8c7ae4872e2b1 (diff)
downloadopenembedded-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')
-rw-r--r--openembedded/packages/gtkhtml2/files/at-import_box-pos.patch193
-rw-r--r--openembedded/packages/gtkhtml2/files/css-media.patch113
-rw-r--r--openembedded/packages/gtkhtml2/files/css-stylesheet-user.patch28
-rw-r--r--openembedded/packages/gtkhtml2/files/fix-background-min-max.patch66
-rw-r--r--openembedded/packages/gtkhtml2/files/fix-background-none.patch40
-rw-r--r--openembedded/packages/gtkhtml2/files/fix-recreation.patch407
-rwxr-xr-xopenembedded/packages/gtkhtml2/gtkhtml2_cvs.bb11
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}"