mirror of
https://github.com/netsurf-browser/netsurf
synced 2024-12-23 04:26:50 +03:00
move history bitmap thumbnail into the page information structure
This commit is contained in:
parent
02a8b5bca0
commit
ec94d5f812
@ -326,19 +326,21 @@ nserror browser_window_history_add(struct browser_window *bw,
|
|||||||
}
|
}
|
||||||
|
|
||||||
entry->page.url = nsurl_ref(nsurl);
|
entry->page.url = nsurl_ref(nsurl);
|
||||||
entry->page.frag_id = frag_id ? lwc_string_ref(frag_id) : 0;
|
entry->page.frag_id = frag_id ? lwc_string_ref(frag_id) : NULL;
|
||||||
|
|
||||||
entry->page.title = title;
|
entry->page.title = title;
|
||||||
|
entry->page.bitmap = NULL;
|
||||||
|
|
||||||
entry->back = history->current;
|
entry->back = history->current;
|
||||||
entry->next = 0;
|
entry->next = 0;
|
||||||
entry->forward = entry->forward_pref = entry->forward_last = 0;
|
entry->forward = entry->forward_pref = entry->forward_last = 0;
|
||||||
entry->children = 0;
|
entry->children = 0;
|
||||||
entry->bitmap = 0;
|
|
||||||
if (history->current) {
|
if (history->current) {
|
||||||
if (history->current->forward_last)
|
if (history->current->forward_last) {
|
||||||
history->current->forward_last->next = entry;
|
history->current->forward_last->next = entry;
|
||||||
else
|
} else {
|
||||||
history->current->forward = entry;
|
history->current->forward = entry;
|
||||||
|
}
|
||||||
history->current->forward_pref = entry;
|
history->current->forward_pref = entry;
|
||||||
history->current->forward_last = entry;
|
history->current->forward_last = entry;
|
||||||
history->current->children++;
|
history->current->children++;
|
||||||
@ -373,7 +375,7 @@ nserror browser_window_history_add(struct browser_window *bw,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
entry->bitmap = bitmap;
|
entry->page.bitmap = bitmap;
|
||||||
|
|
||||||
browser_window_history__layout(history);
|
browser_window_history__layout(history);
|
||||||
|
|
||||||
@ -392,7 +394,9 @@ nserror browser_window_history_update(struct browser_window *bw,
|
|||||||
|
|
||||||
history = bw->history;
|
history = bw->history;
|
||||||
|
|
||||||
if (!history || !history->current || !history->current->bitmap) {
|
if (!history ||
|
||||||
|
!history->current ||
|
||||||
|
!history->current->page.bitmap) {
|
||||||
return NSERROR_INVALID;
|
return NSERROR_INVALID;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -407,7 +411,7 @@ nserror browser_window_history_update(struct browser_window *bw,
|
|||||||
free(history->current->page.title);
|
free(history->current->page.title);
|
||||||
history->current->page.title = title;
|
history->current->page.title = title;
|
||||||
|
|
||||||
guit->bitmap->render(history->current->bitmap, content);
|
guit->bitmap->render(history->current->page.bitmap, content);
|
||||||
|
|
||||||
return NSERROR_OK;
|
return NSERROR_OK;
|
||||||
}
|
}
|
||||||
|
@ -45,6 +45,7 @@ struct history_page {
|
|||||||
struct nsurl *url; /**< Page URL, never NULL. */
|
struct nsurl *url; /**< Page URL, never NULL. */
|
||||||
lwc_string *frag_id; /** Fragment identifier, or NULL. */
|
lwc_string *frag_id; /** Fragment identifier, or NULL. */
|
||||||
char *title; /**< Page title, never NULL. */
|
char *title; /**< Page title, never NULL. */
|
||||||
|
struct bitmap *bitmap; /**< Thumbnail bitmap, or NULL. */
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -61,7 +62,6 @@ struct history_entry {
|
|||||||
unsigned int children; /**< Number of children. */
|
unsigned int children; /**< Number of children. */
|
||||||
int x; /**< Position of node. */
|
int x; /**< Position of node. */
|
||||||
int y; /**< Position of node. */
|
int y; /**< Position of node. */
|
||||||
struct bitmap *bitmap; /**< Thumbnail bitmap, or 0. */
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -144,9 +144,9 @@ redraw_entry(struct history *history,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Only attempt to plot bitmap if it is present */
|
/* Only attempt to plot bitmap if it is present */
|
||||||
if (entry->bitmap != NULL) {
|
if (entry->page.bitmap != NULL) {
|
||||||
res = ctx->plot->bitmap(ctx,
|
res = ctx->plot->bitmap(ctx,
|
||||||
entry->bitmap,
|
entry->page.bitmap,
|
||||||
entry->x + x,
|
entry->x + x,
|
||||||
entry->y + y,
|
entry->y + y,
|
||||||
WIDTH, HEIGHT,
|
WIDTH, HEIGHT,
|
||||||
|
@ -195,9 +195,11 @@ static bool save_complete_save_buffer(save_complete_ctx *ctx,
|
|||||||
* \param osize updated with the size of the result.
|
* \param osize updated with the size of the result.
|
||||||
* \return converted source, or NULL on out of memory.
|
* \return converted source, or NULL on out of memory.
|
||||||
*/
|
*/
|
||||||
|
static char *
|
||||||
static char *save_complete_rewrite_stylesheet_urls(save_complete_ctx *ctx,
|
save_complete_rewrite_stylesheet_urls(save_complete_ctx *ctx,
|
||||||
const char *source, unsigned long size, const nsurl *base,
|
const char *source,
|
||||||
|
unsigned long size,
|
||||||
|
const nsurl *base,
|
||||||
unsigned long *osize)
|
unsigned long *osize)
|
||||||
{
|
{
|
||||||
char *rewritten;
|
char *rewritten;
|
||||||
@ -207,8 +209,9 @@ static char *save_complete_rewrite_stylesheet_urls(save_complete_ctx *ctx,
|
|||||||
|
|
||||||
/* count number occurrences of @import to (over)estimate result size */
|
/* count number occurrences of @import to (over)estimate result size */
|
||||||
/* can't use strstr because source is not 0-terminated string */
|
/* can't use strstr because source is not 0-terminated string */
|
||||||
for (offset = 0; SLEN("@import") < size &&
|
for (offset = 0;
|
||||||
offset <= size - SLEN("@import"); offset++) {
|
(SLEN("@import") < size) && (offset <= (size - SLEN("@import")));
|
||||||
|
offset++) {
|
||||||
if (source[offset] == '@' &&
|
if (source[offset] == '@' &&
|
||||||
ascii_to_lower(source[offset + 1]) == 'i' &&
|
ascii_to_lower(source[offset + 1]) == 'i' &&
|
||||||
ascii_to_lower(source[offset + 2]) == 'm' &&
|
ascii_to_lower(source[offset + 2]) == 'm' &&
|
||||||
|
Loading…
Reference in New Issue
Block a user