mirror of
https://github.com/netsurf-browser/netsurf
synced 2024-12-22 20:16:54 +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.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.bitmap = NULL;
|
||||
|
||||
entry->back = history->current;
|
||||
entry->next = 0;
|
||||
entry->forward = entry->forward_pref = entry->forward_last = 0;
|
||||
entry->children = 0;
|
||||
entry->bitmap = 0;
|
||||
|
||||
if (history->current) {
|
||||
if (history->current->forward_last)
|
||||
if (history->current->forward_last) {
|
||||
history->current->forward_last->next = entry;
|
||||
else
|
||||
} else {
|
||||
history->current->forward = entry;
|
||||
}
|
||||
history->current->forward_pref = entry;
|
||||
history->current->forward_last = entry;
|
||||
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);
|
||||
|
||||
@ -392,7 +394,9 @@ nserror browser_window_history_update(struct browser_window *bw,
|
||||
|
||||
history = bw->history;
|
||||
|
||||
if (!history || !history->current || !history->current->bitmap) {
|
||||
if (!history ||
|
||||
!history->current ||
|
||||
!history->current->page.bitmap) {
|
||||
return NSERROR_INVALID;
|
||||
}
|
||||
|
||||
@ -407,7 +411,7 @@ nserror browser_window_history_update(struct browser_window *bw,
|
||||
free(history->current->page.title);
|
||||
history->current->page.title = title;
|
||||
|
||||
guit->bitmap->render(history->current->bitmap, content);
|
||||
guit->bitmap->render(history->current->page.bitmap, content);
|
||||
|
||||
return NSERROR_OK;
|
||||
}
|
||||
|
@ -45,6 +45,7 @@ struct history_page {
|
||||
struct nsurl *url; /**< Page URL, never NULL. */
|
||||
lwc_string *frag_id; /** Fragment identifier, or 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. */
|
||||
int x; /**< 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 */
|
||||
if (entry->bitmap != NULL) {
|
||||
if (entry->page.bitmap != NULL) {
|
||||
res = ctx->plot->bitmap(ctx,
|
||||
entry->bitmap,
|
||||
entry->page.bitmap,
|
||||
entry->x + x,
|
||||
entry->y + y,
|
||||
WIDTH, HEIGHT,
|
||||
|
@ -195,10 +195,12 @@ static bool save_complete_save_buffer(save_complete_ctx *ctx,
|
||||
* \param osize updated with the size of the result.
|
||||
* \return converted source, or NULL on out of memory.
|
||||
*/
|
||||
|
||||
static char *save_complete_rewrite_stylesheet_urls(save_complete_ctx *ctx,
|
||||
const char *source, unsigned long size, const nsurl *base,
|
||||
unsigned long *osize)
|
||||
static char *
|
||||
save_complete_rewrite_stylesheet_urls(save_complete_ctx *ctx,
|
||||
const char *source,
|
||||
unsigned long size,
|
||||
const nsurl *base,
|
||||
unsigned long *osize)
|
||||
{
|
||||
char *rewritten;
|
||||
unsigned long offset = 0;
|
||||
@ -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 */
|
||||
/* can't use strstr because source is not 0-terminated string */
|
||||
for (offset = 0; SLEN("@import") < size &&
|
||||
offset <= size - SLEN("@import"); offset++) {
|
||||
for (offset = 0;
|
||||
(SLEN("@import") < size) && (offset <= (size - SLEN("@import")));
|
||||
offset++) {
|
||||
if (source[offset] == '@' &&
|
||||
ascii_to_lower(source[offset + 1]) == 'i' &&
|
||||
ascii_to_lower(source[offset + 2]) == 'm' &&
|
||||
|
Loading…
Reference in New Issue
Block a user