summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
Diffstat (limited to 'desktop')
-rw-r--r--desktop/browser.c19
-rw-r--r--desktop/browser.h3
-rw-r--r--desktop/gui.h3
-rw-r--r--desktop/searchweb.c8
4 files changed, 23 insertions, 10 deletions
diff --git a/desktop/browser.c b/desktop/browser.c
index d159a5599..6ec31d22f 100644
--- a/desktop/browser.c
+++ b/desktop/browser.c
@@ -661,6 +661,13 @@ bool browser_window_drop_file_at_point(struct browser_window *bw,
return false;
}
+void browser_window_set_gadget_filename(struct browser_window *bw,
+ struct form_control *gadget, const char *fn)
+{
+ html_set_file_gadget_filename(bw->current_content,
+ gadget, fn);
+}
+
/* exported interface, documented in browser.h */
void browser_window_debug_dump(struct browser_window *bw, FILE *f)
{
@@ -1162,7 +1169,7 @@ static void browser_window_convert_to_download(struct browser_window *bw,
/**
- * Callback for fetchcache() for browser window fetches.
+ * Callback handler for content event messages.
*/
static nserror browser_window_callback(hlcache_handle *c,
@@ -1555,8 +1562,16 @@ static nserror browser_window_callback(hlcache_handle *c,
event->data.selection.read_only);
break;
+ case CONTENT_MSG_GADGETCLICK:
+ if (event->data.gadget_click.gadget->type == GADGET_FILE) {
+ gui_file_gadget_open(bw->window, c,
+ event->data.gadget_click.gadget);
+ }
+
+ break;
+
default:
- assert(0);
+ break;
}
return NSERROR_OK;
diff --git a/desktop/browser.h b/desktop/browser.h
index ee55e72c4..0ca2e009b 100644
--- a/desktop/browser.h
+++ b/desktop/browser.h
@@ -173,6 +173,9 @@ bool browser_window_scroll_at_point(struct browser_window *bw,
bool browser_window_drop_file_at_point(struct browser_window *bw,
int x, int y, char *file);
+void browser_window_set_gadget_filename(struct browser_window *bw,
+ struct form_control *gadget, const char *fn);
+
void browser_window_refresh_url_bar(struct browser_window *bw, nsurl *url,
lwc_string *frag);
diff --git a/desktop/gui.h b/desktop/gui.h
index 9d35e1727..26a9f4b43 100644
--- a/desktop/gui.h
+++ b/desktop/gui.h
@@ -116,7 +116,8 @@ void gui_drag_save_selection(struct gui_window *g, const char *selection);
void gui_start_selection(struct gui_window *g);
void gui_clear_selection(struct gui_window *g);
-
+void gui_file_gadget_open(struct gui_window *g, hlcache_handle *hl,
+ struct form_control *gadget);
/**
* Core asks front end for clipboard contents.
diff --git a/desktop/searchweb.c b/desktop/searchweb.c
index 87e3e21f1..4c050d97a 100644
--- a/desktop/searchweb.c
+++ b/desktop/searchweb.c
@@ -304,9 +304,6 @@ nserror search_web_ico_callback(hlcache_handle *ico,
const hlcache_event *event, void *pw)
{
switch (event->type) {
- case CONTENT_MSG_LOADING:
- case CONTENT_MSG_READY:
- break;
case CONTENT_MSG_DONE:
LOG(("got favicon '%s'", nsurl_access(hlcache_handle_get_url(ico))));
@@ -322,11 +319,8 @@ nserror search_web_ico_callback(hlcache_handle *ico,
search_web_retrieve_ico(true);
break;
- case CONTENT_MSG_STATUS:
- break;
-
default:
- assert(0);
+ break;
}
return NSERROR_OK;