summaryrefslogtreecommitdiff
path: root/desktop/gui_factory.c
diff options
context:
space:
mode:
Diffstat (limited to 'desktop/gui_factory.c')
-rw-r--r--desktop/gui_factory.c44
1 files changed, 38 insertions, 6 deletions
diff --git a/desktop/gui_factory.c b/desktop/gui_factory.c
index 45d9516fa..96c28e29d 100644
--- a/desktop/gui_factory.c
+++ b/desktop/gui_factory.c
@@ -20,6 +20,7 @@
#include "content/backing_store.h"
#include "desktop/download.h"
+#include "desktop/searchweb.h"
#include "desktop/gui_factory.h"
#include "utils/file.h"
@@ -401,6 +402,33 @@ static nserror verify_search_register(struct gui_search_table *gst)
return NSERROR_OK;
}
+static nserror
+gui_default_provider_update(const char *provider_name,
+ struct bitmap *provider_bitmap)
+{
+ return NSERROR_OK;
+}
+
+static struct gui_search_web_table default_search_web_table = {
+ .provider_update = gui_default_provider_update,
+};
+
+/** verify search table is valid */
+static nserror verify_search_web_register(struct gui_search_web_table *gswt)
+{
+ /* check table is present */
+ if (gswt == NULL) {
+ return NSERROR_BAD_PARAMETER;
+ }
+
+ /* mandantory operations */
+ if (gswt->provider_update == NULL) {
+ return NSERROR_BAD_PARAMETER;
+ }
+
+ return NSERROR_OK;
+}
+
/** verify low level cache persistant backing store table is valid */
static nserror verify_llcache_register(struct gui_llcache_table *glt)
{
@@ -493,9 +521,6 @@ static void gui_default_quit(void)
{
}
-static void gui_default_set_search_ico(hlcache_handle *ico)
-{
-}
static void gui_default_launch_url(const char *url)
{
@@ -550,9 +575,6 @@ static nserror verify_browser_register(struct gui_browser_table *gbt)
if (gbt->quit == NULL) {
gbt->quit = gui_default_quit;
}
- if (gbt->set_search_ico == NULL) {
- gbt->set_search_ico = gui_default_set_search_ico;
- }
if (gbt->launch_url == NULL) {
gbt->launch_url = gui_default_launch_url;
}
@@ -651,6 +673,16 @@ nserror gui_factory_register(struct netsurf_table *gt)
return err;
}
+ /* web search table */
+ if (gt->search_web == NULL) {
+ /* set default search table */
+ gt->search_web = &default_search_web_table;
+ }
+ err = verify_search_web_register(gt->search_web);
+ if (err != NSERROR_OK) {
+ return err;
+ }
+
/* llcache table */
if (gt->llcache == NULL) {
/* set default backing store table */