NetSurf
Typedefs | Enumerations | Functions
nsurl.h File Reference

NetSurf URL handling (interface). More...

#include <libwapcaplet/libwapcaplet.h>
#include "utils/errors.h"
Include dependency graph for nsurl.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef struct nsurl nsurl
 NetSurf URL object. More...
 
typedef enum nsurl_component nsurl_component
 

Enumerations

enum  nsurl_scheme_type {
  NSURL_SCHEME_OTHER , NSURL_SCHEME_HTTP , NSURL_SCHEME_HTTPS , NSURL_SCHEME_FILE ,
  NSURL_SCHEME_FTP , NSURL_SCHEME_MAILTO , NSURL_SCHEME_DATA
}
 A type for URL schemes. More...
 
enum  nsurl_component {
  NSURL_SCHEME = (1 << 0) , NSURL_USERNAME = (1 << 1) , NSURL_PASSWORD = (1 << 2) , NSURL_CREDENTIALS = NSURL_USERNAME | NSURL_PASSWORD ,
  NSURL_HOST = (1 << 3) , NSURL_PORT = (1 << 4) , NSURL_AUTHORITY = NSURL_CREDENTIALS | NSURL_HOST | NSURL_PORT , NSURL_PATH = (1 << 5) ,
  NSURL_QUERY = (1 << 6) , NSURL_COMPLETE , NSURL_FRAGMENT = (1 << 7) , NSURL_WITH_FRAGMENT = NSURL_COMPLETE | NSURL_FRAGMENT
}
 

Functions

nserror nsurl_create (const char *const url_s, nsurl **url)
 Create a NetSurf URL object from a URL string. More...
 
nsurlnsurl_ref (nsurl *url)
 Increment the reference count to a NetSurf URL object. More...
 
void nsurl_unref (nsurl *url)
 Drop a reference to a NetSurf URL object. More...
 
bool nsurl_compare (const nsurl *url1, const nsurl *url2, nsurl_component parts)
 Compare two URLs. More...
 
nserror nsurl_get (const nsurl *url, nsurl_component parts, char **url_s, size_t *url_l)
 Get URL (section) as a string, from a NetSurf URL object. More...
 
lwc_string * nsurl_get_component (const nsurl *url, nsurl_component part)
 Get part of a URL as a lwc_string, from a NetSurf URL object. More...
 
enum nsurl_scheme_type nsurl_get_scheme_type (const nsurl *url)
 Get the scheme type from a NetSurf URL object. More...
 
bool nsurl_has_component (const nsurl *url, nsurl_component part)
 Enquire about the existence of componenets in a given URL. More...
 
const char * nsurl_access (const nsurl *url)
 Access a NetSurf URL object as a string. More...
 
const char * nsurl_access_log (const nsurl *url)
 Variant of nsurl_access for logging. More...
 
nserror nsurl_get_utf8 (const nsurl *url, char **url_s, size_t *url_l)
 Get a UTF-8 string (for human readable IDNs) from a NetSurf URL object. More...
 
const char * nsurl_access_leaf (const nsurl *url)
 Access a URL's path leaf as a string. More...
 
size_t nsurl_length (const nsurl *url)
 Find the length of a NetSurf URL object's URL, as returned by nsurl_access. More...
 
uint32_t nsurl_hash (const nsurl *url)
 Get a URL's hash value. More...
 
nserror nsurl_join (const nsurl *base, const char *rel, nsurl **joined)
 Join a base url to a relative link part, creating a new NetSurf URL object. More...
 
nserror nsurl_defragment (const nsurl *url, nsurl **no_frag)
 Create a NetSurf URL object without a fragment from a NetSurf URL. More...
 
nserror nsurl_refragment (const nsurl *url, lwc_string *frag, nsurl **new_url)
 Create a NetSurf URL object, adding a fragment to an existing URL object. More...
 
nserror nsurl_replace_query (const nsurl *url, const char *query, nsurl **new_url)
 Create a NetSurf URL object, with query string replaced. More...
 
nserror nsurl_replace_scheme (const nsurl *url, lwc_string *scheme, nsurl **new_url)
 Create a NetSurf URL object, with scheme replaced. More...
 
nserror nsurl_nice (const nsurl *url, char **result, bool remove_extensions)
 Attempt to find a nice filename for a URL. More...
 
nserror nsurl_parent (const nsurl *url, nsurl **new_url)
 Create a NetSurf URL object for URL with parent location of an existing URL. More...
 
void nsurl_dump (const nsurl *url)
 Dump a NetSurf URL's internal components to stderr. More...
 

Detailed Description

NetSurf URL handling (interface).

Definition in file nsurl.h.

Typedef Documentation

◆ nsurl

typedef struct nsurl nsurl

NetSurf URL object.

Definition at line 31 of file nsurl.h.

◆ nsurl_component

Enumeration Type Documentation

◆ nsurl_component

Enumerator
NSURL_SCHEME 
NSURL_USERNAME 
NSURL_PASSWORD 
NSURL_CREDENTIALS 
NSURL_HOST 
NSURL_PORT 
NSURL_AUTHORITY 
NSURL_PATH 
NSURL_QUERY 
NSURL_COMPLETE 
NSURL_FRAGMENT 
NSURL_WITH_FRAGMENT 

Definition at line 44 of file nsurl.h.

◆ nsurl_scheme_type

A type for URL schemes.

Enumerator
NSURL_SCHEME_OTHER 
NSURL_SCHEME_HTTP 
NSURL_SCHEME_HTTPS 
NSURL_SCHEME_FILE 
NSURL_SCHEME_FTP 
NSURL_SCHEME_MAILTO 
NSURL_SCHEME_DATA 

Definition at line 34 of file nsurl.h.

Function Documentation

◆ nsurl_access()

const char * nsurl_access ( const nsurl url)

Access a NetSurf URL object as a string.

Parameters
urlNetSurf URL to retrieve a string pointer for.
Returns
the required string

The returned string is owned by the NetSurf URL object. It will die with the NetSurf URL object. Keep a reference to the URL if you need it.

The returned string has a trailing '\0'.

Referenced by ami_datatype_object_from_bitmap(), ami_file_save(), ami_gui_hotlist_add(), ami_gui_opts_event(), ami_history_local_mouse(), ami_print(), amiga_plugin_hack_execute(), amiga_plugin_hack_open(), box_dump(), box_get_style(), browser_window__handle_bad_certs(), browser_window__handle_fetcherror(), browser_window__handle_login(), browser_window__handle_timeout(), browser_window_get_title(), browser_window_history_add(), browser_window_navigate(), browser_window_update_favicon(), content__get_title(), context_popup(), convert_script_async_cb(), convert_script_defer_cb(), convert_script_sync_cb(), css_hint_bg_image(), default_ico_callback(), dirlist_generate_row(), dump_rings(), exec_src_script(), fetch(), fetch_abort(), fetch_curl_abort(), fetch_curl_done(), fetch_curl_process_headers(), fetch_curl_set_options(), fetch_curl_setup(), fetch_curl_stop(), fetch_data_poll(), fetch_data_process(), fetch_dispatch_job(), fetch_file_process_dir(), fetch_file_process_error(), fetch_free(), fetch_resource_notfound_handler(), fetch_resource_redirect_handler(), fetch_rsrc_setup(), fetch_start(), get_referer_header(), global_history_create_treeview_field_data(), gui_401login_open(), gui_download_window_create(), gui_init2(), gui_launch_url(), gui_window_save_link(), gui_window_set_url(), hlcache_finalise(), hotlist_create_treeview_field_data(), hotlist_tree_node_entry_cb(), html_begin_conversion(), html_convert_css_callback(), html_css_fetcher_poll(), html_css_process_link(), html_script_exec(), image_cache_snentryf(), imagemap_dump(), invalidate_entry(), layout_document(), link_mouse_action(), llcache_clean(), llcache_fetch_auth(), llcache_object_destroy(), llcache_object_new(), llcache_object_retrieve(), llcache_object_retrieve_from_cache(), llcache_persist(), llcache_process_metadata(), llcache_serialise_metadata(), menu_add_bookmark(), navigate_internal_real(), nsbeos_gui_view_source(), nscss_clone(), nscss_create(), nscss_resolve_url(), nsgtk_completion_udb_callback(), nsgtk_on_link_copy_activate_menu(), nsgtk_preferences_setCurrentPage_clicked(), nsgtk_toolbar_set_url(), nsgtk_viewsource(), read_entries(), ro_gui_drag_save_link(), ro_gui_hotlist_add_page(), ro_gui_save_complete(), ro_gui_save_prepare(), ro_gui_url_complete_click(), ro_gui_url_complete_keypress(), ro_gui_url_complete_redraw(), ro_gui_url_suggest_callback(), ro_gui_window_prepare_objectinfo(), ro_gui_window_prepare_pageinfo(), ro_gui_window_set_url(), ro_local_history_tooltip(), RXHOOKF(), save_complete_inventory(), save_complete_rewrite_url_value(), search_web_ico_callback(), set_store_entry(), svg_reformat(), urldb_save_cookie_paths(), win32_window_set_url(), and write_entry().

Here is the caller graph for this function:

◆ nsurl_access_leaf()

const char * nsurl_access_leaf ( const nsurl url)

Access a URL's path leaf as a string.

Parameters
urlNetSurf URL to retrieve a string pointer for.
Returns
the required string

The returned string is owned by the NetSurf URL object. It will die with the NetSurf URL object. Keep a reference to the URL if you need it.

The returned string has a trailing '\0'.

Referenced by gif_convert(), nsbmp_convert(), nsico_convert(), nsjpeg_convert(), nsjpegxl_convert(), nspng_convert(), and nssprite_convert().

Here is the caller graph for this function:

◆ nsurl_access_log()

const char * nsurl_access_log ( const nsurl url)

Variant of nsurl_access for logging.

Parameters
urlNetSurf URL to retrieve a string pointer for.
Returns
the required string

This will not necessarily return the actual nsurl's URL, but something that is suitable for recording to logs. E.g. URLs with the data scheme will return a simple place holder, to avoid repeatedly dumping loads of data.

The returned string is owned by the NetSurf URL object. It will die with the NetSurf URL object. Keep a reference to the URL if you need it.

The returned string has a trailing '\0'.

Referenced by content__init(), content_add_user(), content_close(), content_convert(), content_destroy(), content_open(), and content_remove_user().

Here is the caller graph for this function:

◆ nsurl_compare()

bool nsurl_compare ( const nsurl url1,
const nsurl url2,
nsurl_component  parts 
)

Compare two URLs.

Parameters
url1First NetSurf URL
url2Second NetSurf URL
partsThe URL components to be compared
Returns
true on match else false

Referenced by box_create_frameset(), box_embed(), box_iframe(), box_input(), box_object(), browser_window_navigate(), browser_window_navigate_up(), browser_window_refresh(), browser_window_up_available(), entries_hashmap_key_eq(), fetch_file_process_dir(), global_history_find(), hotlist_has_url_walk_cb(), hotlist_remove_url_walk_cb(), hotlist_update_url_walk_cb(), llcache_object_retrieve_from_cache(), llcache_process_metadata(), nscss_handle_import(), and save_complete_ctx_find_content().

Here is the caller graph for this function:

◆ nsurl_create()

nserror nsurl_create ( const char *const  url_s,
nsurl **  url 
)

Create a NetSurf URL object from a URL string.

Parameters
url_sString to create NetSurf URL from
urlReturns a NetSurf URL
Returns
NSERROR_OK on success, appropriate error otherwise

If return value != NSERROR_OK, nothing will be returned in url.

It is up to the client to call nsurl_unref when they are finished with the created object.

Referenced by about_open(), ami_gui_event(), ami_gui_new_blank_tab(), ami_gui_update_hotlist_button(), ami_handle_applib(), ami_openurl_add_protocol(), amiga_path_to_nsurl(), atari_about_show(), atari_hotlist_add_page(), atari_path_to_nsurl(), box_construct_element(), box_construct_marker(), browser_window_favicon_callback(), browser_window_update_favicon(), cert_chain_to_query(), fb_url_enter(), form_submit(), gui_download_window_done(), gui_get_resource_url(), gui_init(), gui_init2(), HOOKF(), hotlist_add_entry(), hotlist_generate(), hotlist_load_entry(), hotlist_tree_node_entry_cb(), html_css_init(), html_process_inserted_base(), html_stylesheet_from_domnode(), llcache_process_metadata(), main(), make_search_nsurl(), menu_new_win(), menu_open_file(), monkey_window_handle_go(), monkey_window_handle_new(), navigate_internal_query_auth(), navigate_internal_query_ssl(), nsbeos_scaffolding_dispatch_event(), nscss_handle_import(), nscss_resolve_url(), nsgtk_browser_window_create(), nsgtk_get_resource_url(), nsgtk_setup(), nsws_window_command(), nsws_window_go(), on_file_dropped(), openfile_button_clicked_cb(), posix_path_to_nsurl(), read_entries(), ro_gui_hotlist_addurl_bounce(), ro_gui_iconbar_click(), ro_gui_iconbar_menu_select(), ro_gui_url_bar_init(), ro_gui_url_bar_menu_select(), ro_gui_url_bar_set_url(), ro_gui_url_bar_test_for_text_field_keypress(), ro_gui_url_bar_update_hotlist(), ro_gui_window_action_home(), ro_gui_window_handle_local_keypress(), ro_gui_window_menu_select(), ro_msg_dataload(), ro_msg_dataopen(), ro_path_to_nsurl(), ro_uri_message_received(), ro_url_message_received(), RXHOOKF(), search_web_init(), search_web_omni(), search_web_select_provider(), toolbar_favorite_click(), toolbar_get_nsurl(), toolbar_home_click(), toolbar_key_input(), toolbar_navigate_to_url(), treeview_init_resources(), urldb_load(), urldb_load_cookies(), win32_open_new_window(), windows_path_to_nsurl(), and WinMain().

Here is the caller graph for this function:

◆ nsurl_defragment()

nserror nsurl_defragment ( const nsurl url,
nsurl **  no_frag 
)

Create a NetSurf URL object without a fragment from a NetSurf URL.

Parameters
urlNetSurf URL to create new NetSurf URL from
no_fragReturns new NetSurf URL without fragment
Returns
NSERROR_OK on success, appropriate error otherwise

If return value != NSERROR_OK, nothing will be returned in no_frag.

It is up to the client to call nsurl_unref when they are finished with the created object.

Referenced by llcache_object_retrieve(), urldb_add_path(), and urldb_set_cookie().

Here is the caller graph for this function:

◆ nsurl_dump()

void nsurl_dump ( const nsurl url)

Dump a NetSurf URL's internal components to stderr.

This is helper functionality for developers, and shouldn't be called generally.

Parameters
urlThe NetSurf URL to dump components of

◆ nsurl_get()

nserror nsurl_get ( const nsurl url,
nsurl_component  parts,
char **  url_s,
size_t *  url_l 
)

Get URL (section) as a string, from a NetSurf URL object.

Parameters
urlNetSurf URL
partsThe required URL components.
url_sReturns a url string
url_lReturns length of url_s
Returns
NSERROR_OK on success, appropriate error otherwise

If return value != NSERROR_OK, nothing will be returned in url_s or url_l.

The string returned in url_s is owned by the client and it is up to them to free it. It includes a trailing '\0'.

The length returned in url_l excludes the trailing '\0'.

That the required URL components be consecutive is not enforced, however, non-consecutive URL components generally make no sense. The exception is removal of credentials from a URL, such as for display in browser window URL bar. 'NSURL_COMPLETE &~ NSURL_PASSWORD' would remove the password from a complete URL.

Referenced by cert_chain_from_query(), urldb_add_url(), urldb_find_url(), and urldb_load().

Here is the caller graph for this function:

◆ nsurl_get_component()

lwc_string * nsurl_get_component ( const nsurl url,
nsurl_component  part 
)

Get part of a URL as a lwc_string, from a NetSurf URL object.

Parameters
urlNetSurf URL object
partThe URL component required
Returns
the required component as an lwc_string, or NULL

The caller owns the returned lwc_string and should call lwc_string_unref when they are done with it.

The valid values for the part parameter are: NSURL_SCHEME NSURL_USERNAME NSURL_PASSWORD NSURL_HOST NSURL_PORT NSURL_PATH NSURL_QUERY NSURL_FRAGMENT

Referenced by ami_openurl_add_protocol(), ami_openurl_check_list(), amiga_nsurl_to_path(), atari_nsurl_to_path(), browser_window__navigate_internal(), browser_window_get_page_info_state(), browser_window_navigate(), browser_window_show_cookies(), browser_window_update_favicon(), content_saw_insecure_objects(), curl_fetch_ssl_key_eq(), curl_fetch_ssl_key_hash(), download_ro_filetype(), fetch_can_fetch(), fetch_curl_setup(), fetch_resource_setup(), fetch_start(), get_referer_header(), gui_401login_open(), gui_download_window_create(), html_css_fetcher_setup(), image_cache_snentryf(), is_internal_navigate_url(), is_javascript_navigate_url(), llcache__scheme_is_cachable(), llcache__scheme_is_persistable(), llcache_fetch_redirect(), llcache_hsts_transform_url(), llcache_hsts_update_policy(), mouse_action_drag_none(), page_info__create_from_bw(), posix_nsurl_to_path(), ro_nsurl_to_path(), urldb_add_url(), urldb_find_url(), urldb_get_cookie(), urldb_get_hsts_enabled(), urldb_load(), urldb_load_cookies(), urldb_parse_cookie(), urldb_set_cookie(), urldb_set_hsts_policy(), and windows_nsurl_to_path().

Here is the caller graph for this function:

◆ nsurl_get_scheme_type()

enum nsurl_scheme_type nsurl_get_scheme_type ( const nsurl url)

Get the scheme type from a NetSurf URL object.

Parameters
urlNetSurf URL object
Returns
The URL scheme type.

Referenced by page_info__create_from_bw().

Here is the caller graph for this function:

◆ nsurl_get_utf8()

nserror nsurl_get_utf8 ( const nsurl url,
char **  url_s,
size_t *  url_l 
)

Get a UTF-8 string (for human readable IDNs) from a NetSurf URL object.

Parameters
urlNetSurf URL object
url_sReturns a url string
url_lReturns length of url_s
Returns
NSERROR_OK on success, appropriate error otherwise

If return value != NSERROR_OK, nothing will be returned in url_s or url_l.

The string returned in url_s is owned by the client and it is up to them to free it. It includes a trailing '\0'.

The length returned in url_l excludes the trailing '\0'.

Referenced by gui_window_set_url(), link_mouse_action(), nsgtk_toolbar_set_url(), and ro_gui_window_set_url().

Here is the caller graph for this function:

◆ nsurl_has_component()

bool nsurl_has_component ( const nsurl url,
nsurl_component  part 
)

Enquire about the existence of componenets in a given URL.

Parameters
urlNetSurf URL object
partThe URL components confirm existence of
Returns
true iff the component in question exists in url

The valid values for the part parameter are: NSURL_SCHEME NSURL_USERNAME NSURL_PASSWORD NSURL_CREDENTIALS NSURL_HOST NSURL_PORT NSURL_PATH NSURL_QUERY NSURL_FRAGMENT

Referenced by browser_window_navigate(), fetch_curl_can_fetch(), gui_download_window_create(), image_cache_snentryf(), and llcache_fetch_process_data().

Here is the caller graph for this function:

◆ nsurl_hash()

uint32_t nsurl_hash ( const nsurl url)

Get a URL's hash value.

Parameters
urlNetSurf URL get hash value for.
Returns
the hash value

Referenced by ami_gui_get_cache_favicon_name(), invalidate_element(), store_read_file(), store_write_file(), urldb_add_url(), urldb_find_url(), and urldb_load().

Here is the caller graph for this function:

◆ nsurl_join()

nserror nsurl_join ( const nsurl base,
const char *  rel,
nsurl **  joined 
)

Join a base url to a relative link part, creating a new NetSurf URL object.

Parameters
baseNetSurf URL containing the base to join rel to
relString containing the relative link part
joinedReturns joined NetSurf URL
Returns
NSERROR_OK on success, appropriate error otherwise

If return value != NSERROR_OK, nothing will be returned in join.

It is up to the client to call nsurl_unref when they are finished with the created object.

Referenced by box_extract_link(), box_input(), browser_window_update_favicon(), css_hint_bg_image(), exec_src_script(), html_begin_conversion(), html_css_process_link(), html_process_inserted_img(), html_process_inserted_link(), html_process_inserted_meta(), llcache_fetch_redirect(), node_is_visited(), nscss_resolve_url(), save_complete_rewrite_stylesheet_urls(), and save_complete_rewrite_url_value().

Here is the caller graph for this function:

◆ nsurl_length()

size_t nsurl_length ( const nsurl url)

Find the length of a NetSurf URL object's URL, as returned by nsurl_access.

Parameters
urlNetSurf URL to find length of.
Returns
the required string

The returned length excludes the trailing '\0'.

Referenced by css_hint_bg_image(), fetch_data_process(), fetch_rsrc_setup(), get_referer_header(), global_history_create_treeview_field_data(), hotlist_create_treeview_field_data(), hotlist_tree_node_entry_cb(), html_css_fetcher_poll(), llcache_serialise_metadata(), nscss_resolve_url(), ro_gui_hotlist_add_page(), ro_gui_url_complete_redraw(), ro_local_history_tooltip(), save_complete_rewrite_url_value(), and total_object_size().

Here is the caller graph for this function:

◆ nsurl_nice()

nserror nsurl_nice ( const nsurl url,
char **  result,
bool  remove_extensions 
)

Attempt to find a nice filename for a URL.

Parameters
urlA NetSurf URL object to create a filename from
resultUpdated to caller-owned string with filename
remove_extensionsremove any extensions from the filename
Returns
NSERROR_OK on success, appropriate error otherwise

Caller must ensure string result string is freed, if NSERROR_OK returned.

Referenced by ami_file_save_req(), download_default_filename(), gui_download_window_create(), nsgtk_saveas_dialog(), nsgtk_viewsource(), and ro_gui_save_set_state().

Here is the caller graph for this function:

◆ nsurl_parent()

nserror nsurl_parent ( const nsurl url,
nsurl **  new_url 
)

Create a NetSurf URL object for URL with parent location of an existing URL.

Parameters
urlNetSurf URL to create new NetSurf URL from
new_urlReturns new NetSurf URL with parent URL path
Returns
NSERROR_OK on success, appropriate error otherwise

If return value != NSERROR_OK, nothing will be returned in new_url.

It is up to the client to call nsurl_unref when they are finished with the created object.

As well as stripping top most path segment, query and fragments are stripped.

Referenced by browser_window_navigate_up(), browser_window_up_available(), and fetch_file_process_dir().

Here is the caller graph for this function:

◆ nsurl_ref()

nsurl * nsurl_ref ( nsurl url)

◆ nsurl_refragment()

nserror nsurl_refragment ( const nsurl url,
lwc_string *  frag,
nsurl **  new_url 
)

Create a NetSurf URL object, adding a fragment to an existing URL object.

Parameters
urlNetSurf URL to create new NetSurf URL from
fragFragment to add
new_urlReturns new NetSurf URL without fragment
Returns
NSERROR_OK on success, appropriate error otherwise

If return value != NSERROR_OK, nothing will be returned in new_url.

It is up to the client to call nsurl_unref when they are finished with the created object.

Any fragment in url is replaced with frag in new_url.

Referenced by browser_window_get_url(), browser_window_history_go(), and browser_window_refresh_url_bar().

Here is the caller graph for this function:

◆ nsurl_replace_query()

nserror nsurl_replace_query ( const nsurl url,
const char *  query,
nsurl **  new_url 
)

Create a NetSurf URL object, with query string replaced.

Parameters
urlNetSurf URL to create new NetSurf URL from
queryQuery string to use
new_urlReturns new NetSurf URL with query string provided
Returns
NSERROR_OK on success, appropriate error otherwise

If return value != NSERROR_OK, nothing will be returned in new_url.

It is up to the client to call nsurl_unref when they are finished with the created object.

Any query component in url is replaced with query in new_url.

Passing the empty string as a replacement will result in the query component being removed.

Referenced by form_submit().

Here is the caller graph for this function:

◆ nsurl_replace_scheme()

nserror nsurl_replace_scheme ( const nsurl url,
lwc_string *  scheme,
nsurl **  new_url 
)

Create a NetSurf URL object, with scheme replaced.

Parameters
urlNetSurf URL to create new NetSurf URL from
schemeScheme to use
new_urlReturns new NetSurf URL with scheme provided
Returns
NSERROR_OK on success, appropriate error otherwise

If return value != NSERROR_OK, nothing will be returned in new_url.

It is up to the client to call nsurl_unref when they are finished with the created object.

Any scheme component in url is replaced with scheme in new_url.

Referenced by llcache_hsts_transform_url().

Here is the caller graph for this function:

◆ nsurl_unref()

void nsurl_unref ( nsurl url)

Drop a reference to a NetSurf URL object.

Parameters
urlNetSurf URL to drop reference to

When the reference count reaches zero then the NetSurf URL will be destroyed

Referenced by about_open(), ami_file_open(), ami_gui_event(), ami_gui_new_blank_tab(), ami_gui_update_hotlist_button(), ami_handle_applib(), ami_handle_appmsg(), ami_history_local_mouse(), ami_openurl_add_protocol(), amiga_bitmap_destroy(), atari_about_show(), atari_hotlist_add_page(), box_a(), box_construct_element(), box_construct_marker(), box_frames_talloc_destructor(), box_iframe(), box_iframes_talloc_destructor(), box_image(), box_input(), box_object_talloc_destructor(), box_talloc_destructor(), browser_window__free_fetch_parameters(), browser_window__handle_bad_certs(), browser_window_favicon_callback(), browser_window_history__clone_entry(), browser_window_history__free_entry(), browser_window_history_go(), browser_window_navigate(), browser_window_navigate_up(), browser_window_refresh_url_bar(), browser_window_show_certificates(), browser_window_up_available(), browser_window_update_favicon(), content__free_rfc5988_link(), css_hint_bg_image(), entries_hashmap_value_destroy(), exec_src_script(), fb_url_enter(), fetch_curl_free(), fetch_curl_setup(), fetch_data_free(), fetch_file_free(), fetch_file_process_dir(), fetch_free(), fetch_javascript_free(), fetch_resource_finalise(), fetch_resource_free(), fetch_resource_initialise(), fetch_start(), form_submit(), free_login_context(), global_history_delete_entry_internal(), gui_download_window_done(), gui_init(), gui_init2(), HOOKF(), hotlist_add_entry(), hotlist_create_entry(), hotlist_delete_entry_internal(), hotlist_generate(), hotlist_load_entry(), hotlist_tree_node_entry_cb(), html_begin_conversion(), html_create_html_data(), html_css_fetcher_free(), html_css_fini(), html_css_process_link(), html_destroy(), html_destroy_frameset(), html_destroy_iframe(), html_process_inserted_base(), html_process_inserted_img(), html_process_inserted_link(), html_stylesheet_from_domnode(), imagemap_addtolist(), imagemap_freelist(), llcache_fetch_redirect(), llcache_handle_retrieve(), llcache_object_destroy(), llcache_object_retrieve(), llcache_process_metadata(), main(), menu_new_win(), menu_open_file(), monkey_window_handle_go(), monkey_window_handle_new(), navigate_internal_query_auth(), navigate_internal_query_ssl(), node_is_visited(), nsbeos_scaffolding_dispatch_event(), nscss_handle_import(), nscss_resolve_url(), nsgtk_browser_window_create(), nsgtk_completion_match_select(), nsgtk_setup(), nsws_window_command(), nsws_window_go(), on_file_dropped(), openfile_button_clicked_cb(), process_dir_ent(), read_entries(), ro_gui_dialog_openurl_apply(), ro_gui_hotlist_addurl_bounce(), ro_gui_hotlist_remove_cancelled(), ro_gui_hotlist_remove_confirmed(), ro_gui_hotlist_remove_page(), ro_gui_iconbar_click(), ro_gui_iconbar_menu_select(), ro_gui_url_bar_init(), ro_gui_url_bar_menu_select(), ro_gui_url_bar_set_url(), ro_gui_url_bar_test_for_text_field_keypress(), ro_gui_url_bar_update_hotlist(), ro_gui_window_action_home(), ro_gui_window_handle_local_keypress(), ro_gui_window_launch_url(), ro_gui_window_menu_select(), ro_gui_window_toolbar_click(), ro_local_history_tooltip(), ro_msg_dataload(), ro_msg_dataopen(), ro_uri_message_received(), ro_url_message_received(), RXHOOKF(), save_complete_rewrite_stylesheet_urls(), save_complete_rewrite_url_value(), search_web_init(), search_web_select_provider(), tab_init_fname(), toolbar_favorite_click(), toolbar_home_click(), toolbar_key_input(), toolbar_navigate_to_url(), treeview_init_resources(), url_entry_activate_cb(), urldb_destroy_path_node_content(), urldb_load(), urldb_load_cookies(), urldb_set_cookie(), websearch_entry_activate_cb(), win32_open_new_window(), and WinMain().

Here is the caller graph for this function: