From 8947af72ce5fb2600531a9a0f2ac711030b7e06a Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Wed, 29 Oct 2014 23:15:51 +0000 Subject: make history update return error code. This now returns errors instead of failing and inconsistantly calling user warnings for some error paths. --- desktop/browser_history.c | 23 +++++++++-------------- desktop/browser_history.h | 11 ++++++++++- 2 files changed, 19 insertions(+), 15 deletions(-) (limited to 'desktop') diff --git a/desktop/browser_history.c b/desktop/browser_history.c index f10f3510f..d4785d807 100644 --- a/desktop/browser_history.c +++ b/desktop/browser_history.c @@ -555,14 +555,8 @@ nserror browser_window_history_add(struct browser_window *bw, } -/** - * Update the thumbnail for the current entry. - * - * \param history opaque history structure, as returned by history_create() - * \param content content for current entry - */ - -void browser_window_history_update(struct browser_window *bw, +/* exported interface documented in desktop/browser_history.h */ +nserror browser_window_history_update(struct browser_window *bw, struct hlcache_handle *content) { struct history *history; @@ -572,23 +566,24 @@ void browser_window_history_update(struct browser_window *bw, history = bw->history; - if (!history || !history->current || !history->current->bitmap) - return; + if (!history || !history->current || !history->current->bitmap) { + return NSERROR_INVALID; + } assert(history->current->page.url); assert(history->current->page.title); title = strdup(content_get_title(content)); - if (!title) { - warn_user("NoMemory", 0); - return; + if (title == NULL) { + return NSERROR_NOMEM; } - assert(title); free(history->current->page.title); history->current->page.title = title; thumbnail_create(content, history->current->bitmap, NULL); + + return NSERROR_OK; } diff --git a/desktop/browser_history.h b/desktop/browser_history.h index d7b2b255e..1aac41491 100644 --- a/desktop/browser_history.h +++ b/desktop/browser_history.h @@ -48,8 +48,17 @@ nserror browser_window_history_clone(const struct browser_window *existing, */ nserror browser_window_history_add(struct browser_window *bw, struct hlcache_handle *content, lwc_string *frag_id); -void browser_window_history_update(struct browser_window *bw, + +/** + * Update the thumbnail for the current entry. + * + * \param bw The browser window to update the history within. + * \param content content for current entry + * \return NSERROR_OK or error code on faliure. + */ +nserror browser_window_history_update(struct browser_window *bw, struct hlcache_handle *content); + void browser_window_history_destroy(struct browser_window *bw); void browser_window_history_back(struct browser_window *bw, bool new_window); void browser_window_history_forward(struct browser_window *bw, bool new_window); -- cgit v1.2.3