NetSurf
|
#include <stdlib.h>
#include <stdint.h>
#include <stdbool.h>
#include <string.h>
#include <unistd.h>
#include "utils/config.h"
#include "utils/errors.h"
#include "utils/file.h"
#include "utils/inet.h"
#include "netsurf/bitmap.h"
#include "content/hlcache.h"
#include "content/backing_store.h"
#include "desktop/save_pdf.h"
#include "desktop/download.h"
#include "desktop/searchweb.h"
#include "netsurf/download.h"
#include "netsurf/fetch.h"
#include "netsurf/misc.h"
#include "netsurf/window.h"
#include "netsurf/core_window.h"
#include "netsurf/search.h"
#include "netsurf/clipboard.h"
#include "netsurf/utf8.h"
#include "netsurf/layout.h"
#include "netsurf/netsurf.h"
Go to the source code of this file.
Functions | |
static void | gui_default_window_set_title (struct gui_window *g, const char *title) |
static nserror | gui_default_window_set_url (struct gui_window *g, struct nsurl *url) |
static bool | gui_default_window_drag_start (struct gui_window *g, gui_drag_type type, const struct rect *rect) |
static nserror | gui_default_window_save_link (struct gui_window *g, nsurl *url, const char *title) |
static void | gui_default_window_set_icon (struct gui_window *g, hlcache_handle *icon) |
static void | gui_default_window_set_pointer (struct gui_window *g, gui_pointer_shape shape) |
static void | gui_default_window_set_status (struct gui_window *g, const char *text) |
static void | gui_default_window_place_caret (struct gui_window *g, int x, int y, int height, const struct rect *clip) |
static void | gui_default_window_create_form_select_menu (struct gui_window *g, struct form_control *control) |
static void | gui_default_window_file_gadget_open (struct gui_window *g, hlcache_handle *hl, struct form_control *gadget) |
static void | gui_default_window_drag_save_object (struct gui_window *g, hlcache_handle *c, gui_save_type type) |
static void | gui_default_window_drag_save_selection (struct gui_window *g, const char *selection) |
static void | gui_default_console_log (struct gui_window *gw, browser_window_console_source src, const char *msg, size_t msglen, browser_window_console_flags flags) |
static nserror | verify_window_register (struct gui_window_table *gwt) |
verify window table is valid More... | |
static nserror | gui_default_corewindow_invalidate (struct core_window *cw, const struct rect *rect) |
static nserror | gui_default_corewindow_set_extent (struct core_window *cw, int width, int height) |
static nserror | gui_default_corewindow_set_scroll (struct core_window *cw, int x, int y) |
static nserror | gui_default_corewindow_get_scroll (const struct core_window *cw, int *x, int *y) |
static nserror | gui_default_corewindow_get_dimensions (const struct core_window *cw, int *width, int *height) |
static nserror | gui_default_corewindow_dragstatus (struct core_window *cw, core_window_drag_status ds) |
static nserror | verify_corewindow_register (struct core_window_table *cwt) |
verify corewindow window table is valid More... | |
static struct gui_download_window * | gui_default_download_create (download_context *ctx, struct gui_window *parent) |
static nserror | gui_default_download_data (struct gui_download_window *dw, const char *data, unsigned int size) |
static void | gui_default_download_error (struct gui_download_window *dw, const char *error_msg) |
static void | gui_default_download_done (struct gui_download_window *dw) |
static nserror | verify_download_register (struct gui_download_table *gdt) |
verify download window table is valid More... | |
static void | gui_default_get_clipboard (char **buffer, size_t *length) |
static void | gui_default_set_clipboard (const char *buffer, size_t length, nsclipboard_styles styles[], int n_styles) |
static nserror | verify_clipboard_register (struct gui_clipboard_table *gct) |
verify clipboard table is valid More... | |
static nserror | gui_default_utf8 (const char *string, size_t len, char **result) |
The default utf8 conversion implementation. More... | |
static nserror | verify_utf8_register (struct gui_utf8_table *gut) |
verify clipboard table is valid More... | |
static void | gui_default_status (bool found, void *p) |
static void | gui_default_hourglass (bool active, void *p) |
static void | gui_default_add_recent (const char *string, void *p) |
static void | gui_default_forward_state (bool active, void *p) |
static void | gui_default_back_state (bool active, void *p) |
static nserror | verify_search_register (struct gui_search_table *gst) |
verify search table is valid More... | |
static nserror | gui_default_provider_update (const char *provider_name, struct bitmap *provider_bitmap) |
static nserror | verify_search_web_register (struct gui_search_web_table *gswt) |
verify search table is valid More... | |
static nserror | verify_llcache_register (struct gui_llcache_table *glt) |
verify low level cache persistant backing store table is valid More... | |
static nsurl * | gui_default_get_resource_url (const char *path) |
static nserror | gui_default_get_resource_data (const char *path, const uint8_t **data, size_t *data_len) |
static nserror | gui_default_release_resource_data (const uint8_t *data) |
static char * | gui_default_mimetype (const char *path) |
static int | gui_default_socket_open (int domain, int type, int protocol) |
static int | gui_default_socket_close (int fd) |
static nserror | verify_fetch_register (struct gui_fetch_table *gft) |
verify fetch table is valid More... | |
static nserror | verify_file_register (struct gui_file_table *gft) |
verify file table is valid More... | |
static nserror | verify_bitmap_register (struct gui_bitmap_table *gbt) |
verify bitmap table is valid More... | |
static nserror | verify_layout_register (struct gui_layout_table *glt) |
verify layout table is valid More... | |
static void | gui_default_quit (void) |
static nserror | gui_default_launch_url (struct nsurl *url) |
static nserror | gui_default_401login_open (nsurl *url, const char *realm, const char *username, const char *password, nserror(*cb)(nsurl *url, const char *realm, const char *username, const char *password, void *pw), void *cbpw) |
static void | gui_default_pdf_password (char **owner_pass, char **user_pass, char *path) |
static nserror | gui_default_present_cookies (const char *search_term) |
static nserror | verify_misc_register (struct gui_misc_table *gmt) |
verify misc table is valid More... | |
nserror | netsurf_register (struct netsurf_table *gt) |
Register operation table. More... | |
Variables | |
struct netsurf_table * | guit = NULL |
The global interface table. More... | |
static struct core_window_table | default_corewindow_table |
static struct gui_download_table | default_download_table |
static struct gui_clipboard_table | default_clipboard_table |
static struct gui_utf8_table | default_utf8_table |
static struct gui_search_table | default_search_table |
static struct gui_search_web_table | default_search_web_table |
|
static |
Definition at line 718 of file gui_factory.c.
References NSERROR_NOT_IMPLEMENTED.
Referenced by verify_misc_register().
|
static |
Definition at line 421 of file gui_factory.c.
|
static |
Definition at line 429 of file gui_factory.c.
|
static |
Definition at line 121 of file gui_factory.c.
Referenced by verify_window_register().
|
static |
Definition at line 233 of file gui_factory.c.
References NSERROR_OK.
|
static |
Definition at line 228 of file gui_factory.c.
References NSERROR_OK.
|
static |
Definition at line 223 of file gui_factory.c.
References NSERROR_OK.
|
static |
Definition at line 208 of file gui_factory.c.
References NSERROR_OK.
|
static |
Definition at line 213 of file gui_factory.c.
References NSERROR_OK.
|
static |
Definition at line 218 of file gui_factory.c.
References NSERROR_OK.
|
static |
Definition at line 279 of file gui_factory.c.
|
static |
Definition at line 284 of file gui_factory.c.
References NSERROR_OK.
|
static |
Definition at line 295 of file gui_factory.c.
|
static |
Definition at line 290 of file gui_factory.c.
|
static |
Definition at line 425 of file gui_factory.c.
|
static |
Definition at line 331 of file gui_factory.c.
References buffer.
Referenced by verify_clipboard_register().
|
static |
Definition at line 532 of file gui_factory.c.
References NSERROR_NOT_FOUND.
Referenced by verify_fetch_register().
|
static |
Definition at line 527 of file gui_factory.c.
Referenced by verify_fetch_register().
|
static |
Definition at line 417 of file gui_factory.c.
Definition at line 712 of file gui_factory.c.
References NSERROR_NO_FETCH_HANDLER.
Referenced by verify_misc_register().
|
static |
Definition at line 542 of file gui_factory.c.
References netsurf_table::fetch, gui_fetch_table::filetype, guit, and path().
Referenced by verify_fetch_register().
|
static |
Definition at line 731 of file gui_factory.c.
References path(), and save_pdf().
Referenced by verify_misc_register().
|
static |
Definition at line 738 of file gui_factory.c.
References NSERROR_NOT_IMPLEMENTED.
Referenced by verify_misc_register().
|
static |
Definition at line 470 of file gui_factory.c.
References NSERROR_OK.
|
static |
Definition at line 707 of file gui_factory.c.
Referenced by verify_misc_register().
|
static |
Definition at line 537 of file gui_factory.c.
References NSERROR_OK.
Referenced by verify_fetch_register().
|
static |
Definition at line 337 of file gui_factory.c.
Referenced by verify_clipboard_register().
|
static |
Definition at line 552 of file gui_factory.c.
References ns_close_socket.
Referenced by verify_fetch_register().
|
static |
Definition at line 547 of file gui_factory.c.
References type.
Referenced by verify_fetch_register().
|
static |
Definition at line 413 of file gui_factory.c.
|
static |
The default utf8 conversion implementation.
The default implementation assumes the local encoding is utf8 allowing the conversion to be a simple copy.
[in] | string | The source string. |
[in] | len | The string length or 0 to compute it. |
[out] | result | A pointer to the converted string. |
Definition at line 376 of file gui_factory.c.
References NSERROR_NOMEM, NSERROR_OK, result, and strndup().
|
static |
Definition at line 97 of file gui_factory.c.
Referenced by verify_window_register().
|
static |
Definition at line 108 of file gui_factory.c.
Referenced by verify_window_register().
|
static |
Definition at line 114 of file gui_factory.c.
Referenced by verify_window_register().
|
static |
Definition at line 62 of file gui_factory.c.
Referenced by verify_window_register().
|
static |
Definition at line 102 of file gui_factory.c.
Referenced by verify_window_register().
|
static |
Definition at line 91 of file gui_factory.c.
Referenced by verify_window_register().
|
static |
Definition at line 69 of file gui_factory.c.
References NSERROR_OK.
Referenced by verify_window_register().
|
static |
Definition at line 76 of file gui_factory.c.
Referenced by verify_window_register().
|
static |
Definition at line 81 of file gui_factory.c.
Referenced by verify_window_register().
|
static |
Definition at line 86 of file gui_factory.c.
Referenced by verify_window_register().
|
static |
Definition at line 53 of file gui_factory.c.
Referenced by verify_window_register().
|
static |
Definition at line 57 of file gui_factory.c.
References NSERROR_OK.
Referenced by verify_window_register().
nserror netsurf_register | ( | struct netsurf_table * | table | ) |
Register operation table.
table | NetSurf operations table. |
Definition at line 777 of file gui_factory.c.
References netsurf_table::bitmap, netsurf_table::clipboard, netsurf_table::corewindow, default_clipboard_table, default_corewindow_table, default_download_table, default_file_table, default_search_table, default_search_web_table, default_utf8_table, netsurf_table::download, netsurf_table::fetch, netsurf_table::file, guit, netsurf_table::layout, netsurf_table::llcache, netsurf_table::misc, NSERROR_BAD_PARAMETER, NSERROR_INIT_FAILED, NSERROR_OK, null_llcache_table, netsurf_table::search, netsurf_table::search_web, netsurf_table::utf8, verify_bitmap_register(), verify_clipboard_register(), verify_corewindow_register(), verify_download_register(), verify_fetch_register(), verify_file_register(), verify_layout_register(), verify_llcache_register(), verify_misc_register(), verify_search_register(), verify_search_web_register(), verify_utf8_register(), verify_window_register(), and netsurf_table::window.
Referenced by gui_init_replicant(), main(), and WinMain().
|
static |
verify bitmap table is valid
gbt | The bitmap table to verify. |
Definition at line 627 of file gui_factory.c.
References gui_bitmap_table::create, gui_bitmap_table::destroy, gui_bitmap_table::get_buffer, gui_bitmap_table::get_height, gui_bitmap_table::get_opaque, gui_bitmap_table::get_rowstride, gui_bitmap_table::get_width, gui_bitmap_table::modified, NSERROR_BAD_PARAMETER, NSERROR_OK, gui_bitmap_table::render, and gui_bitmap_table::set_opaque.
Referenced by netsurf_register().
|
static |
verify clipboard table is valid
Definition at line 348 of file gui_factory.c.
References gui_clipboard_table::get, gui_default_get_clipboard(), gui_default_set_clipboard(), NSERROR_BAD_PARAMETER, NSERROR_OK, and gui_clipboard_table::set.
Referenced by netsurf_register().
|
static |
verify corewindow window table is valid
Definition at line 248 of file gui_factory.c.
References core_window_table::drag_status, core_window_table::get_dimensions, core_window_table::get_scroll, core_window_table::invalidate, NSERROR_BAD_PARAMETER, NSERROR_OK, core_window_table::set_extent, and core_window_table::set_scroll.
Referenced by netsurf_register().
|
static |
verify download window table is valid
Definition at line 307 of file gui_factory.c.
References gui_download_table::create, gui_download_table::data, gui_download_table::done, gui_download_table::error, NSERROR_BAD_PARAMETER, and NSERROR_OK.
Referenced by netsurf_register().
|
static |
verify fetch table is valid
Definition at line 558 of file gui_factory.c.
References gui_fetch_table::filetype, gui_fetch_table::get_resource_data, gui_fetch_table::get_resource_url, gui_default_get_resource_data(), gui_default_get_resource_url(), gui_default_mimetype(), gui_default_release_resource_data(), gui_default_socket_close(), gui_default_socket_open(), gui_fetch_table::mimetype, NSERROR_BAD_PARAMETER, NSERROR_OK, gui_fetch_table::release_resource_data, gui_fetch_table::socket_close, and gui_fetch_table::socket_open.
Referenced by netsurf_register().
|
static |
verify file table is valid
Definition at line 594 of file gui_factory.c.
References gui_file_table::basename, gui_file_table::mkdir_all, gui_file_table::mkpath, NSERROR_BAD_PARAMETER, NSERROR_OK, gui_file_table::nsurl_to_path, and gui_file_table::path_to_nsurl.
Referenced by netsurf_register().
|
static |
verify layout table is valid
glt | The layout table to verify. |
Definition at line 684 of file gui_factory.c.
References NSERROR_BAD_PARAMETER, NSERROR_OK, gui_layout_table::position, gui_layout_table::split, and gui_layout_table::width.
Referenced by netsurf_register().
|
static |
verify low level cache persistant backing store table is valid
Definition at line 497 of file gui_factory.c.
References gui_llcache_table::fetch, gui_llcache_table::finalise, gui_llcache_table::initialise, gui_llcache_table::invalidate, NSERROR_BAD_PARAMETER, NSERROR_OK, gui_llcache_table::release, and gui_llcache_table::store.
Referenced by netsurf_register().
|
static |
verify misc table is valid
Definition at line 744 of file gui_factory.c.
References gui_default_401login_open(), gui_default_launch_url(), gui_default_pdf_password(), gui_default_present_cookies(), gui_default_quit(), gui_misc_table::launch_url, gui_misc_table::login, NSERROR_BAD_PARAMETER, NSERROR_OK, gui_misc_table::pdf_password, gui_misc_table::present_cookies, gui_misc_table::quit, and gui_misc_table::schedule.
Referenced by netsurf_register().
|
static |
verify search table is valid
Definition at line 442 of file gui_factory.c.
References gui_search_table::add_recent, gui_search_table::back_state, default_search_table, gui_search_table::forward_state, gui_search_table::hourglass, NSERROR_BAD_PARAMETER, NSERROR_OK, and gui_search_table::status.
Referenced by netsurf_register().
|
static |
verify search table is valid
Definition at line 481 of file gui_factory.c.
References NSERROR_BAD_PARAMETER, NSERROR_OK, and gui_search_web_table::provider_update.
Referenced by netsurf_register().
|
static |
verify clipboard table is valid
Definition at line 396 of file gui_factory.c.
References gui_utf8_table::local_to_utf8, NSERROR_BAD_PARAMETER, NSERROR_OK, and gui_utf8_table::utf8_to_local.
Referenced by netsurf_register().
|
static |
verify window table is valid
Definition at line 131 of file gui_factory.c.
References gui_window_table::console_log, gui_window_table::create, gui_window_table::create_form_select_menu, gui_window_table::destroy, gui_window_table::drag_save_object, gui_window_table::drag_save_selection, gui_window_table::drag_start, gui_window_table::event, gui_window_table::file_gadget_open, gui_window_table::get_dimensions, gui_window_table::get_scroll, gui_default_console_log(), gui_default_window_create_form_select_menu(), gui_default_window_drag_save_object(), gui_default_window_drag_save_selection(), gui_default_window_drag_start(), gui_default_window_file_gadget_open(), gui_default_window_place_caret(), gui_default_window_save_link(), gui_default_window_set_icon(), gui_default_window_set_pointer(), gui_default_window_set_status(), gui_default_window_set_title(), gui_default_window_set_url(), gui_window_table::invalidate, NSERROR_BAD_PARAMETER, NSERROR_OK, gui_window_table::place_caret, gui_window_table::save_link, gui_window_table::set_icon, gui_window_table::set_pointer, gui_window_table::set_scroll, gui_window_table::set_status, gui_window_table::set_title, and gui_window_table::set_url.
Referenced by netsurf_register().
|
static |
Definition at line 342 of file gui_factory.c.
Referenced by netsurf_register().
|
static |
Definition at line 238 of file gui_factory.c.
Referenced by netsurf_register().
|
static |
Definition at line 299 of file gui_factory.c.
Referenced by netsurf_register().
|
static |
Definition at line 433 of file gui_factory.c.
Referenced by netsurf_register(), and verify_search_register().
|
static |
Definition at line 476 of file gui_factory.c.
Referenced by netsurf_register().
|
static |
Definition at line 390 of file gui_factory.c.
Referenced by netsurf_register().
struct netsurf_table* guit = NULL |
The global interface table.
The global operation table.
Definition at line 50 of file gui_factory.c.
Referenced by bitmap_format_convert(), bitmap_test_opaque(), browser_window__handle_login(), browser_window_callback(), browser_window_console_log(), browser_window_content_done(), browser_window_content_ready(), browser_window_create(), browser_window_destroy_internal(), browser_window_download(), browser_window_favicon_callback(), browser_window_get_dimensions(), browser_window_history__clone_entry(), browser_window_history__free_entry(), browser_window_history_add(), browser_window_history_update(), browser_window_invalidate_rect(), browser_window_mouse_click_internal(), browser_window_page_drag_start(), browser_window_place_caret(), browser_window_refresh_url_bar_internal(), browser_window_remove_caret(), browser_window_schedule_reformat(), browser_window_set_drag_type(), browser_window_set_pointer(), browser_window_set_scroll(), browser_window_set_status(), browser_window_show_cookies(), browser_window_start_throbber(), browser_window_stop(), browser_window_stop_throbber(), browser_window_update(), browser_window_update_extent(), calc_row_pointers(), cancel_dom_to_box(), convert_xml_to_box(), cw_helper_scroll_visible(), default_ico_callback(), default_mouse_action(), dom_to_box(), download_callback(), download_context_process_headers(), fetch_curl_postdata_convert(), fetch_curl_socket_close(), fetch_curl_socket_open(), fetch_fdset(), fetch_file_process_plain(), fetch_file_setup(), fetch_resource_data_handler(), fetch_resource_finalise(), fetch_resource_initialise(), fetch_start(), fetcher_poll(), finalise(), get_store_entry(), gif__animate(), gif_bitmap_create(), gif_content_is_opaque(), gif_create_gif_data(), gif_destroy(), gif_remove_user(), gui_default_mimetype(), hlcache_clean(), hlcache_finalise(), hlcache_initialise(), hlcache_stop(), hotlist_fini(), hotlist_schedule_save(), html__set_file_gadget_filename(), html_create_html_data(), html_css_free_stylesheets(), html_css_process_modified_styles(), html_css_update_style(), html_drop_file_at_point(), html_object_callback(), html_object_close_objects(), html_object_free_objects(), html_redraw_box(), html_redraw_file(), html_selection_drag_end(), image_bitmap_plot(), image_cache__background_update(), image_cache__free_bitmap(), image_cache_add(), image_cache_fini(), image_cache_init(), image_cache_is_opaque(), info_callback(), jpeg_cache_convert(), jpegxl_cache_convert(), knockout_plot_bitmap(), llcache_clean(), llcache_fetch_callback(), llcache_finalise(), llcache_initialise(), llcache_object_destroy(), llcache_persist(), llcache_persist_slowcheck(), llcache_process_metadata(), llcache_retrieve_persisted_data(), llcache_users_not_caught_up(), local_history_keypress(), local_history_set(), mouse_action_drag_selection(), navigate_internal_real(), netsurf_exit(), netsurf_mkdir_all(), netsurf_mkpath(), netsurf_nsurl_to_path(), netsurf_path_to_nsurl(), netsurf_register(), nsbmp_bitmap_create(), nsbmp_content_is_opaque(), nsbmp_create_bmp_data(), nsbmp_redraw(), nsgtk_pi_mouse(), nsico__decode(), nsico_bitmap_create(), nsico_create_ico_data(), nsico_is_opaque(), nspng_convert(), nssprite_content_is_opaque(), nssprite_convert(), nssprite_destroy(), page_info__layout(), page_info__measure_text_entry(), page_info_mouse_action(), png_cache_convert(), process_dir_ent(), redraw_entry(), row_callback(), rsvg_cache_convert(), rsvg_content_is_opaque(), rsvg_convert(), rsvg_destroy(), save_as_text(), scheduled_reformat(), search_web_ico_callback(), search_web_select_provider(), selection_click(), selection_copy_to_clipboard(), set_store_entry(), text_draw(), text_redraw(), textarea_get_b_off_xy(), textarea_keypress(), textarea_redraw(), textarea_reflow_multiline(), textarea_reflow_singleline(), textarea_replace_text_internal(), textarea_set_caret_internal(), textplain_coord_from_offset(), textplain_offset_from_coords(), textplain_redraw(), textplain_reformat(), treeview__cw_drag_status(), treeview__cw_full_redraw(), treeview__cw_get_window_dimensions(), treeview__cw_invalidate_area(), treeview__cw_update_size(), treeview_copy_selection(), treeview_create(), treeview_fini(), treeview_generate_copy_bitmap(), treeview_generate_rotate_bitmap(), treeview_generate_triangle_bitmap(), treeview_insert_node(), treeview_node_expand_internal(), treeview_update_node_entry(), treeview_update_node_folder(), utf8_save_text(), webp_cache_convert(), and write_backing_store().