summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2014-02-08 15:00:08 +0000
committerMichael Drake <tlsa@netsurf-browser.org>2014-02-08 15:00:08 +0000
commit8bc3a8032008a255e72e4c4dc88d391b7073814c (patch)
tree4d0087a8700a41ce225ab0be9772395158e87ae6 /desktop
parent2cc6b04a4936f8fbc5b5216aa66bad69b4f22438 (diff)
downloadnetsurf-8bc3a8032008a255e72e4c4dc88d391b7073814c.tar.gz
netsurf-8bc3a8032008a255e72e4c4dc88d391b7073814c.tar.bz2
Add function to get bw's URL.
Diffstat (limited to 'desktop')
-rw-r--r--desktop/browser.c17
-rw-r--r--desktop/browser.h10
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,