From 34cdbcfc2553e2e16f47308352ec69a64a2740a3 Mon Sep 17 00:00:00 2001 From: Michael Drake Date: Sat, 18 Oct 2014 10:16:00 +0100 Subject: Move up_available fn to core. --- desktop/browser.c | 21 +++++++++++++++++++++ desktop/browser.h | 8 ++++++++ 2 files changed, 29 insertions(+) (limited to 'desktop') diff --git a/desktop/browser.c b/desktop/browser.c index d9ad417ac..c9e36ee71 100644 --- a/desktop/browser.c +++ b/desktop/browser.c @@ -1973,6 +1973,27 @@ nserror browser_window_navigate(struct browser_window *bw, } +/* Exported interface, documented in browser.h */ +bool browser_window_up_available(struct browser_window *bw) +{ + bool result = false; + + if (bw != NULL && bw->current_content != NULL) { + nsurl *parent; + nserror err = nsurl_parent(hlcache_handle_get_url( + bw->current_content), &parent); + if (err == NSERROR_OK) { + result = nsurl_compare(hlcache_handle_get_url( + bw->current_content), parent, + NSURL_COMPLETE) == false; + nsurl_unref(parent); + } + } + + return result; +} + + /* Exported interface, documented in browser.h */ nserror browser_window_navigate_up(struct browser_window *bw, bool new_window) { diff --git a/desktop/browser.h b/desktop/browser.h index 9cc0ee47a..f4943172e 100644 --- a/desktop/browser.h +++ b/desktop/browser.h @@ -151,6 +151,14 @@ nserror browser_window_navigate(struct browser_window *bw, struct fetch_multipart_data *post_multipart, struct hlcache_handle *parent); +/** + * Return true if a browser window can navigate upwards. + * + * \param bw the browser window to test. + * \return true if navigation up is possible otherwise false. + */ +bool browser_window_up_available(struct browser_window *bw); + /** * Navigate to a browser_window's parent URL. * -- cgit v1.2.3