summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2014-10-29 23:15:51 +0000
committerVincent Sanders <vince@kyllikki.org>2014-10-29 23:15:51 +0000
commit8947af72ce5fb2600531a9a0f2ac711030b7e06a (patch)
treeb01fb7242f14922b5ad7fba9c3900b319f7ee2af /desktop
parentb1ee46cfb3f9617115e313da500d9b08d01ac345 (diff)
downloadnetsurf-8947af72ce5fb2600531a9a0f2ac711030b7e06a.tar.gz
netsurf-8947af72ce5fb2600531a9a0f2ac711030b7e06a.tar.bz2
make history update return error code.
This now returns errors instead of failing and inconsistantly calling user warnings for some error paths.
Diffstat (limited to 'desktop')
-rw-r--r--desktop/browser_history.c23
-rw-r--r--desktop/browser_history.h11
2 files changed, 19 insertions, 15 deletions
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);