diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2006-02-23 15:06:54 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2006-02-23 15:06:54 +0000 |
commit | d4d3e5ee1c9edb67844b693be0202ee5968d61c3 (patch) | |
tree | f8583d475d39172ff3b19473812ff6ce72de8452 /desktop/browser.c | |
parent | 70fbf97688666f6ab37c4cc427f1e8c9929cc4b1 (diff) | |
download | netsurf-d4d3e5ee1c9edb67844b693be0202ee5968d61c3.tar.gz netsurf-d4d3e5ee1c9edb67844b693be0202ee5968d61c3.tar.bz2 |
[project @ 2006-02-23 15:06:53 by jmb]
Handle invalid SSL certificates better - UI still needs work.
Modify fetch callback data parameter type to remove compiler warnings.
Constify things.
Lose global ssl_verify_certificates option.
Fix issue when closing a dialog without input focus.
svn path=/import/netsurf/; revision=2092
Diffstat (limited to 'desktop/browser.c')
-rw-r--r-- | desktop/browser.c | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/desktop/browser.c b/desktop/browser.c index 8440bbaba..61d2cc490 100644 --- a/desktop/browser.c +++ b/desktop/browser.c @@ -60,7 +60,7 @@ static void browser_window_stop_throbber(struct browser_window *bw); static void browser_window_set_status(struct browser_window *bw, const char *text); static void browser_window_set_pointer(gui_pointer_shape shape); -static void download_window_callback(fetch_msg msg, void *p, const char *data, +static void download_window_callback(fetch_msg msg, void *p, const void *data, unsigned long size); static void browser_window_mouse_action_html(struct browser_window *bw, browser_mouse_state mouse, int x, int y); @@ -429,6 +429,24 @@ void browser_window_callback(content_msg msg, struct content *c, break; #endif +#ifdef WITH_SSL + case CONTENT_MSG_SSL: + gui_cert_verify(bw, c, data.ssl.certs, data.ssl.num); + if (c == bw->loading_content) + bw->loading_content = 0; + else if (c == bw->current_content) { + bw->current_content = 0; + bw->caret_callback = NULL; + bw->paste_callback = NULL; + bw->scrolling_box = NULL; + selection_init(bw->sel, NULL); + } + browser_window_stop_throbber(bw); + free(bw->referer); + bw->referer = 0; + break; +#endif + case CONTENT_MSG_REFRESH: schedule(data.delay * 100, browser_window_refresh, bw); @@ -689,7 +707,7 @@ void browser_window_destroy(struct browser_window *bw) * Callback for fetch for download window fetches. */ -void download_window_callback(fetch_msg msg, void *p, const char *data, +void download_window_callback(fetch_msg msg, void *p, const void *data, unsigned long size) { struct gui_download_window *download_window = p; @@ -713,6 +731,9 @@ void download_window_callback(fetch_msg msg, void *p, const char *data, case FETCH_REDIRECT: case FETCH_NOTMODIFIED: case FETCH_AUTH: +#ifdef WITH_SSL + case FETCH_CERT_ERR: +#endif default: /* not possible */ assert(0); |