Add function to get bw's URL.

This commit is contained in:
Michael Drake 2014-02-08 15:00:08 +00:00
parent 2cc6b04a49
commit 8bc3a80320
4 changed files with 42 additions and 0 deletions

View File

@ -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
*

View File

@ -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,

View File

@ -268,6 +268,9 @@ dom_string *corestring_dom___ns_key_libcss_node_data;
dom_string *corestring_dom___ns_key_file_name_node_data;
dom_string *corestring_dom___ns_key_image_coords_node_data;
/* nsurl URLs */
nsurl *corestring_nsurl_about_blank;
/*
* Free the core strings
*/
@ -535,6 +538,10 @@ void corestrings_fini(void)
CSS_DOM_STRING_UNREF(__ns_key_file_name_node_data);
CSS_DOM_STRING_UNREF(__ns_key_image_coords_node_data);
#undef CSS_DOM_STRING_UNREF
/* nsurl URLs */
if (corestring_nsurl_about_blank != NULL)
nsurl_unref(corestring_nsurl_about_blank);
}
@ -856,6 +863,11 @@ nserror corestrings_init(void)
goto error;
}
error = nsurl_create("about:blank", &corestring_nsurl_about_blank);
if (error != NSERROR_OK) {
goto error;
}
return NSERROR_OK;
error:

View File

@ -24,6 +24,7 @@
#define NETSURF_UTILS_CORESTRINGS_H_
#include <libwapcaplet/libwapcaplet.h>
#include "utils/nsurl.h"
#include "utils/errors.h"
nserror corestrings_init(void);
@ -279,5 +280,7 @@ extern struct dom_string *corestring_dom___ns_key_libcss_node_data;
extern struct dom_string *corestring_dom___ns_key_file_name_node_data;
extern struct dom_string *corestring_dom___ns_key_image_coords_node_data;
/* URLs */
extern nsurl *corestring_nsurl_about_blank;
#endif