summaryrefslogtreecommitdiff
path: root/amiga
diff options
context:
space:
mode:
authorVincent Sanders <vince@netsurf-browser.org>2013-02-14 18:21:11 +0000
committerVincent Sanders <vince@netsurf-browser.org>2013-02-18 11:23:48 +0000
commitb112dec78d5e8289ded3f61db96e495690ae96b5 (patch)
tree9babaed21ed2eb841b8d398e28814544c73656d9 /amiga
parent3bfb5b96a7c7cb2718a60987e69cd659ed49b9d8 (diff)
downloadnetsurf-b112dec78d5e8289ded3f61db96e495690ae96b5.tar.gz
netsurf-b112dec78d5e8289ded3f61db96e495690ae96b5.tar.bz2
change browser_window_create and refactor all callsites
Diffstat (limited to 'amiga')
-rwxr-xr-xamiga/arexx.c22
-rwxr-xr-xamiga/context_menu.c36
-rwxr-xr-xamiga/gui.c201
-rwxr-xr-xamiga/menu.c60
4 files changed, 282 insertions, 37 deletions
diff --git a/amiga/arexx.c b/amiga/arexx.c
index 66b1ad88e..606f348cb 100755
--- a/amiga/arexx.c
+++ b/amiga/arexx.c
@@ -257,11 +257,22 @@ STATIC VOID rx_open(struct ARexxCmd *cmd, struct RexxMsg *rxm __attribute__((unu
}
else if(cmd->ac_ArgList[2])
{
- browser_window_create(url, NULL, NULL, true, true);
+ browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE |
+ BROWSER_WINDOW_GO_FLAG_HISTORY |
+ BROWSER_WINDOW_GO_FLAG_TAB,
+ url,
+ NULL,
+ NULL,
+ NULL);
}
else if(cmd->ac_ArgList[1])
{
- browser_window_create(url, NULL, NULL, true, false);
+ browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE |
+ BROWSER_WINDOW_GO_FLAG_HISTORY,
+ url,
+ NULL,
+ NULL,
+ NULL);
}
else
{
@@ -278,7 +289,12 @@ STATIC VOID rx_open(struct ARexxCmd *cmd, struct RexxMsg *rxm __attribute__((unu
}
else
{
- browser_window_create(url, NULL, NULL, true, false);
+ browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE |
+ BROWSER_WINDOW_GO_FLAG_HISTORY,
+ url,
+ NULL,
+ NULL,
+ NULL);
}
}
nsurl_unref(url);
diff --git a/amiga/context_menu.c b/amiga/context_menu.c
index 952d5c2c8..2091f55ca 100755
--- a/amiga/context_menu.c
+++ b/amiga/context_menu.c
@@ -718,6 +718,8 @@ static uint32 ami_context_menu_hook(struct Hook *hook,Object *item,APTR reserved
const char *source_data;
ULONG source_size;
struct bitmap *bm;
+ nsurl *url;
+ nserror error;
if(GetAttrs(item,PMIA_ID,&itemid,
PMIA_UserData,&userdata,
@@ -776,14 +778,40 @@ static uint32 ami_context_menu_hook(struct Hook *hook,Object *item,APTR reserved
case CMID_FRAMEWIN:
case CMID_URLOPENWIN:
- bw = browser_window_create(userdata, gwin->bw,
- nsurl_access(hlcache_handle_get_url(gwin->bw->current_content)), true, false);
+ error = nsurl_create(userdata, &url);
+ if (error == NSERROR_OK) {
+ error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE |
+ BROWSER_WINDOW_GO_FLAG_HISTORY,
+ url,
+ hlcache_handle_get_url(gwin->bw->current_content),
+ gwin->bw,
+ &bw);
+ nsurl_unref(url);
+ }
+ if (error != NSERROR_OK) {
+ warn_user(messages_get_errorcode(error), 0);
+ }
+
+
break;
case CMID_FRAMETAB:
case CMID_URLOPENTAB:
- bw = browser_window_create(userdata, gwin->bw,
- nsurl_access(hlcache_handle_get_url(gwin->bw->current_content)), true, true);
+ error = nsurl_create(userdata, &url);
+ if (error == NSERROR_OK) {
+ error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE |
+ BROWSER_WINDOW_GO_FLAG_HISTORY |
+ BROWSER_WINDOW_GO_FLAG_TAB,
+ url,
+ hlcache_handle_get_url(gwin->bw->current_content),
+ gwin->bw,
+ &bw);
+ nsurl_unref(url);
+ }
+ if (error != NSERROR_OK) {
+ warn_user(messages_get_errorcode(error), 0);
+ }
+
break;
case CMID_FRAMESAVE:
diff --git a/amiga/gui.c b/amiga/gui.c
index 62aa87713..0269fa0e5 100755
--- a/amiga/gui.c
+++ b/amiga/gui.c
@@ -686,6 +686,8 @@ void ami_openscreenfirst(void)
static void gui_init2(int argc, char** argv)
{
+ nsurl *url;
+ nserror error;
struct browser_window *bw = NULL;
struct RDArgs *args;
STRPTR temp_homepage_url = NULL;
@@ -726,7 +728,20 @@ static void gui_init2(int argc, char** argv)
if(notalreadyrunning)
{
- bw = browser_window_create(temp_homepage_url, 0, 0, true,false);
+ error = nsurl_create(temp_homepage_url, &url);
+ if (error == NSERROR_OK) {
+ error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE |
+ BROWSER_WINDOW_GO_FLAG_HISTORY,
+ url,
+ NULL,
+ NULL,
+ &bw);
+ nsurl_unref(url);
+ }
+ if (error != NSERROR_OK) {
+ warn_user(messages_get_errorcode(error), 0);
+ }
+
free(temp_homepage_url);
}
}
@@ -762,14 +777,36 @@ static void gui_init2(int argc, char** argv)
if(notalreadyrunning)
{
- if(!first)
- {
- bw = browser_window_create(temp_homepage_url, 0, 0, true,false);
- first=1;
+ error = nsurl_create(temp_homepage_url, &url);
+
+
+ if (error == NSERROR_OK) {
+ if(!first)
+ {
+ error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE |
+ BROWSER_WINDOW_GO_FLAG_HISTORY,
+ url,
+ NULL,
+ NULL,
+ &bw);
+
+ first=1;
+ }
+ else
+ {
+ error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE |
+ BROWSER_WINDOW_GO_FLAG_HISTORY,
+ url,
+ NULL,
+ bw,
+ &bw);
+
+ }
+ nsurl_unref(url);
+
}
- else
- {
- bw = browser_window_create(temp_homepage_url, bw, 0, true,false);
+ if (error != NSERROR_OK) {
+ warn_user(messages_get_errorcode(error), 0);
}
free(temp_homepage_url);
temp_homepage_url = NULL;
@@ -841,8 +878,21 @@ static void gui_init2(int argc, char** argv)
if(applibport) applibsig = (1L << applibport->mp_SigBit);
}
- if(!bw && (nsoption_bool(startup_no_window) == false))
- bw = browser_window_create(nsoption_charp(homepage_url), 0, 0, true,false);
+ if(!bw && (nsoption_bool(startup_no_window) == false)) {
+ error = nsurl_create(nsoption_charp(homepage_url), &url);
+ if (error == NSERROR_OK) {
+ error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE |
+ BROWSER_WINDOW_GO_FLAG_HISTORY,
+ url,
+ NULL,
+ NULL,
+ NULL);
+ nsurl_unref(url);
+ }
+ if (error != NSERROR_OK) {
+ warn_user(messages_get_errorcode(error), 0);
+ }
+ }
}
/** Normal entry point from OS */
@@ -1622,7 +1672,25 @@ void ami_handle_msg(void)
break;
case GID_ADDTAB:
- browser_window_create(nsoption_charp(homepage_url), gwin->bw, 0, true, true);
+ {
+ nsurl *urlns;
+ nserror error;
+
+ error = nsurl_create(nsoption_charp(homepage_url), &urlns);
+ if (error == NSERROR_OK) {
+ error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE |
+ BROWSER_WINDOW_GO_FLAG_HISTORY |
+ BROWSER_WINDOW_GO_FLAG_TAB,
+ urlns,
+ NULL,
+ gwin->bw,
+ NULL);
+ nsurl_unref(urlns);
+ }
+ if (error != NSERROR_OK) {
+ warn_user(messages_get_errorcode(error), 0);
+ }
+ }
break;
case GID_URL:
@@ -1756,15 +1824,47 @@ void ami_handle_msg(void)
switch(nskey)
{
case 'n':
- if ((nsoption_bool(kiosk_mode) == false))
- browser_window_create(nsoption_charp(homepage_url), NULL,
- 0, true, false);
+ if ((nsoption_bool(kiosk_mode) == false)) {
+ nsurl *urlns;
+ nserror error;
+
+ error = nsurl_create(nsoption_charp(homepage_url), &urlns);
+ if (error == NSERROR_OK) {
+ error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE |
+ BROWSER_WINDOW_GO_FLAG_HISTORY,
+ urlns,
+ NULL,
+ gwin->bw,
+ NULL);
+ nsurl_unref(urlns);
+ }
+ if (error != NSERROR_OK) {
+ warn_user(messages_get_errorcode(error), 0);
+ }
+
+ }
break;
case 't':
- if((nsoption_bool(kiosk_mode) == false))
- browser_window_create(nsoption_charp(homepage_url),
- gwin->bw, 0, true, true);
+ if((nsoption_bool(kiosk_mode) == false)) {
+ nsurl *urlns;
+ nserror error;
+
+ error = nsurl_create(nsoption_charp(homepage_url), &urlns);
+ if (error == NSERROR_OK) {
+ error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE |
+ BROWSER_WINDOW_GO_FLAG_HISTORY,
+ urlns,
+ NULL,
+ gwin->bw,
+ NULL);
+ nsurl_unref(urlns);
+ }
+ if (error != NSERROR_OK) {
+ warn_user(messages_get_errorcode(error), 0);
+ }
+
+ }
break;
case 'k':
@@ -2139,7 +2239,13 @@ void ami_handle_appmsg(void)
}
else
{
- browser_window_create(url, NULL, gwin->bw, true, true);
+ browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE |
+ BROWSER_WINDOW_GO_FLAG_HISTORY |
+ BROWSER_WINDOW_GO_FLAG_TAB,
+ url,
+ NULL,
+ gwin->bw,
+ NULL);
}
nsurl_unref(url);
}
@@ -2174,7 +2280,14 @@ void ami_handle_appmsg(void)
}
else
{
- browser_window_create(url, NULL, gwin->bw, true, true);
+ browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE |
+ BROWSER_WINDOW_GO_FLAG_HISTORY |
+ BROWSER_WINDOW_GO_FLAG_TAB,
+ url,
+ NULL,
+ gwin->bw,
+ NULL);
+
}
nsurl_unref(url);
}
@@ -2197,6 +2310,8 @@ void ami_handle_applib(void)
{
struct ApplicationMsg *applibmsg;
struct browser_window *bw;
+ nsurl *url;
+ nserror error;
if(!applibport) return;
@@ -2205,7 +2320,22 @@ void ami_handle_applib(void)
switch (applibmsg->type)
{
case APPLIBMT_NewBlankDoc:
- bw = browser_window_create(nsoption_charp(homepage_url), 0, 0, true, false);
+ {
+
+ error = nsurl_create(nsoption_charp(homepage_url), &url);
+ if (error == NSERROR_OK) {
+ error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE |
+ BROWSER_WINDOW_GO_FLAG_HISTORY,
+ url,
+ NULL,
+ NULL,
+ &bw);
+ nsurl_unref(url);
+ }
+ if (error != NSERROR_OK) {
+ warn_user(messages_get_errorcode(error), 0);
+ }
+ }
break;
case APPLIBMT_OpenDoc:
@@ -2215,7 +2345,20 @@ void ami_handle_applib(void)
char *tempurl;
tempurl = path_to_url(applibopdmsg->fileName);
- bw = browser_window_create(tempurl, 0, 0, true, false);
+
+ error = nsurl_create(tempurl, &url);
+ if (error == NSERROR_OK) {
+ error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE |
+ BROWSER_WINDOW_GO_FLAG_HISTORY,
+ url,
+ NULL,
+ NULL,
+ &bw);
+ nsurl_unref(url);
+ }
+ if (error != NSERROR_OK) {
+ warn_user(messages_get_errorcode(error), 0);
+ }
free(tempurl);
}
break;
@@ -2229,7 +2372,21 @@ void ami_handle_applib(void)
}
else
{
- bw = browser_window_create(nsoption_charp(homepage_url), 0, 0, true, false);
+ error = nsurl_create(nsoption_charp(homepage_url), &url);
+ if (error == NSERROR_OK) {
+ error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE |
+ BROWSER_WINDOW_GO_FLAG_HISTORY,
+ url,
+ NULL,
+ NULL,
+ &bw);
+ nsurl_unref(url);
+ }
+ if (error != NSERROR_OK) {
+ warn_user(messages_get_errorcode(error), 0);
+ }
+
+
}
break;
diff --git a/amiga/menu.c b/amiga/menu.c
index f480b3f69..a5fe4c342 100755
--- a/amiga/menu.c
+++ b/amiga/menu.c
@@ -700,18 +700,46 @@ void ami_menu_update_disabled(struct gui_window *g, hlcache_handle *c)
static void ami_menu_item_project_newwin(struct Hook *hook, APTR window, struct IntuiMessage *msg)
{
- struct browser_window *bw;
+ nsurl *url;
+ nserror error;
- bw = browser_window_create(nsoption_charp(homepage_url), NULL, 0, true, false);
+ error = nsurl_create(nsoption_charp(homepage_url), &url);
+ if (error == NSERROR_OK) {
+ error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE |
+ BROWSER_WINDOW_GO_FLAG_HISTORY,
+ url,
+ NULL,
+ NULL,
+ NULL);
+ nsurl_unref(url);
+ }
+ if (error != NSERROR_OK) {
+ warn_user(messages_get_errorcode(error), 0);
+ }
}
static void ami_menu_item_project_newtab(struct Hook *hook, APTR window, struct IntuiMessage *msg)
{
- struct browser_window *bw;
struct gui_window_2 *gwin;
+ nsurl *url;
+ nserror error;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
- bw = browser_window_create(nsoption_charp(homepage_url), gwin->bw, 0, true, true);
+
+ error = nsurl_create(nsoption_charp(homepage_url), &url);
+ if (error == NSERROR_OK) {
+ error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE |
+ BROWSER_WINDOW_GO_FLAG_HISTORY |
+ BROWSER_WINDOW_GO_FLAG_TAB,
+ url,
+ NULL,
+ gwin->bw,
+ NULL);
+ nsurl_unref(url);
+ }
+ if (error != NSERROR_OK) {
+ warn_user(messages_get_errorcode(error), 0);
+ }
}
static void ami_menu_item_project_open(struct Hook *hook, APTR window, struct IntuiMessage *msg)
@@ -763,6 +791,8 @@ static void ami_menu_item_project_about(struct Hook *hook, APTR window, struct I
struct gui_window_2 *gwin;
char *temp, *temp2;
int sel;
+ nsurl *url;
+ nserror error;
GetAttr(WINDOW_UserData, (Object *)window, (ULONG *)&gwin);
@@ -795,10 +825,24 @@ static void ami_menu_item_project_about(struct Hook *hook, APTR window, struct I
free(temp2);
- if(sel == 2)
- browser_window_create("about:credits", NULL, 0, true, false);
- else if(sel == 0)
- browser_window_create("about:licence", NULL, 0, true, false);
+ if(sel == 2) {
+ error = nsurl_create("about:credits", &url);
+ } else if(sel == 0) {
+ error = nsurl_create("about:licence", &url);
+ }
+
+ if (error == NSERROR_OK) {
+ error = browser_window_create(BROWSER_WINDOW_GO_FLAG_VERIFIABLE |
+ BROWSER_WINDOW_GO_FLAG_HISTORY,
+ url,
+ NULL,
+ NULL,
+ NULL);
+ nsurl_unref(url);
+ }
+ if (error != NSERROR_OK) {
+ warn_user(messages_get_errorcode(error), 0);
+ }
ami_reset_pointer(gwin);
}