diff options
author | Michael Drake <tlsa@netsurf-browser.org> | 2014-02-08 15:00:08 +0000 |
---|---|---|
committer | Michael Drake <tlsa@netsurf-browser.org> | 2014-02-08 15:00:08 +0000 |
commit | 8bc3a8032008a255e72e4c4dc88d391b7073814c (patch) | |
tree | 4d0087a8700a41ce225ab0be9772395158e87ae6 /desktop | |
parent | 2cc6b04a4936f8fbc5b5216aa66bad69b4f22438 (diff) | |
download | netsurf-8bc3a8032008a255e72e4c4dc88d391b7073814c.tar.gz netsurf-8bc3a8032008a255e72e4c4dc88d391b7073814c.tar.bz2 |
Add function to get bw's URL.
Diffstat (limited to 'desktop')
-rw-r--r-- | desktop/browser.c | 17 | ||||
-rw-r--r-- | desktop/browser.h | 10 |
2 files changed, 27 insertions, 0 deletions
diff --git a/desktop/browser.c b/desktop/browser.c index b9f55ba45..77258df4d 100644 --- a/desktop/browser.c +++ b/desktop/browser.c @@ -1927,6 +1927,23 @@ nserror browser_window_navigate(struct browser_window *bw, } +/* Exported interface, documented in browser.h */ +nsurl * browser_window_get_url(struct browser_window *bw) +{ + assert(bw != NULL); + + if (bw->current_content != NULL) { + return hlcache_handle_get_url(bw->current_content); + + } else if (bw->loading_content != NULL) { + /* TODO: should we return this? */ + return hlcache_handle_get_url(bw->loading_content); + } + + return corestring_nsurl_about_blank; +} + + /* * Get the dimensions of the area a browser window occupies * diff --git a/desktop/browser.h b/desktop/browser.h index 306f48bba..8eb6c9c31 100644 --- a/desktop/browser.h +++ b/desktop/browser.h @@ -119,6 +119,16 @@ nserror browser_window_navigate(struct browser_window *bw, struct fetch_multipart_data *post_multipart, struct hlcache_handle *parent); +/** + * Get a browser window's URL. + * + * \param bw browser window + * \return pointer to nsurl. Doesn't create a ref for caller. + * + * Note: guaranteed to return a valid nsurl ptr, never returns NULL. + */ +nsurl * browser_window_get_url(struct browser_window *bw); + void browser_window_get_dimensions(struct browser_window *bw, int *width, int *height, bool scaled); void browser_window_set_dimensions(struct browser_window *bw, |