netsurf: branch master updated. e913a58ee77643b46138a3c9db37170ef2ed55af
by NetSurf Browser Project
Gitweb links:
...log http://git.netsurf-browser.org/netsurf.git/shortlog/e913a58ee77643b46138a...
...commit http://git.netsurf-browser.org/netsurf.git/commit/e913a58ee77643b46138a3c...
...tree http://git.netsurf-browser.org/netsurf.git/tree/e913a58ee77643b46138a3c9d...
The branch, master has been updated
via e913a58ee77643b46138a3c9db37170ef2ed55af (commit)
via 347fdf0743b01d096c33e4cb089bb4a34b00b18c (commit)
from 90f0cfb5514b68483a75bd34955433e4739f381b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff http://git.netsurf-browser.org/netsurf.git/commitdiff/e913a58ee77643b4613...
commit e913a58ee77643b46138a3c9db37170ef2ed55af
Author: Vincent Sanders <vince(a)netsurf-browser.org>
Commit: Vincent Sanders <vince(a)netsurf-browser.org>
add missing copyright header
diff --git a/javascript/jsapi/dom.bnd b/javascript/jsapi/dom.bnd
index 89d0d84..e781b33 100644
--- a/javascript/jsapi/dom.bnd
+++ b/javascript/jsapi/dom.bnd
@@ -1,4 +1,12 @@
-/* DOM bindings entries */
+/* Binding to generate interfaces for the DOM IDL
+ *
+ * Copyright 2012 Vincent Sanders <vince(a)netsurf-browser.org>
+ *
+ * This file is part of NetSurf, http://www.netsurf-browser.org/
+ *
+ * Released under the terms of the MIT License,
+ * http://www.opensource.org/licenses/mit-license
+ */
webidlfile "dom.idl";
diff --git a/javascript/jsapi/htmlcollection.bnd b/javascript/jsapi/htmlcollection.bnd
index f4a1154..5e99e48 100644
--- a/javascript/jsapi/htmlcollection.bnd
+++ b/javascript/jsapi/htmlcollection.bnd
@@ -1,4 +1,4 @@
-/* Binding to generate HTMLcolelction interface
+/* Binding to generate HTMLcollection interface
*
* The js_libdom (javascript to libdom) binding type is currently the
* only one implemented and this principly describes that binding.
diff --git a/javascript/jsapi/nodelist.bnd b/javascript/jsapi/nodelist.bnd
index d6e9fe9..b57dc6e 100644
--- a/javascript/jsapi/nodelist.bnd
+++ b/javascript/jsapi/nodelist.bnd
@@ -1,8 +1,5 @@
/* Binding to generate NodeList interface
*
- * The js_libdom (javascript to libdom) binding type is currently the
- * only one implemented and this principly describes that binding.
- *
* Copyright 2012 Vincent Sanders <vince(a)netsurf-browser.org>
*
* This file is part of NetSurf, http://www.netsurf-browser.org/
@@ -32,12 +29,12 @@ preamble %{
webidlfile "dom.idl";
binding nodelist {
- type js_libdom; /* the binding type */
+ type js_libdom; /* the binding type */
- interface NodeList; /* The WebIDL interface to generate a binding for */
+ interface NodeList; /* The WebIDL interface to generate a binding for */
- private "dom_nodelist *" nodelist;
- private "struct html_content *" htmlc;
+ private "dom_nodelist *" nodelist;
+ private "struct html_content *" htmlc;
}
getter length %{
commitdiff http://git.netsurf-browser.org/netsurf.git/commitdiff/347fdf0743b01d096c3...
commit 347fdf0743b01d096c33e4cb089bb4a34b00b18c
Author: Vincent Sanders <vince(a)netsurf-browser.org>
Commit: Vincent Sanders <vince(a)netsurf-browser.org>
add dom event handler to document object
diff --git a/javascript/jsapi/htmldocument.bnd b/javascript/jsapi/htmldocument.bnd
index f17190d..c29e470 100644
--- a/javascript/jsapi/htmldocument.bnd
+++ b/javascript/jsapi/htmldocument.bnd
@@ -28,6 +28,7 @@ preamble %{
#include "content/urldb.h"
+#include "javascript/js.h"
#include "javascript/jsapi.h"
#include "javascript/jsapi/binding.h"
@@ -46,6 +47,9 @@ binding document {
/** location instantiated on first use */
property unshared location;
+
+ /* events through a single interface */
+ property unshared type EventHandler;
}
api finalise %{
@@ -272,3 +276,254 @@ operation createElement %{
JSLOG("returning jsobject %p",jsret);
%}
+
+getter EventHandler %{
+ JSLOG("propname[%d].name=\"%s\"",
+ tinyid,
+ jsclass_properties[tinyid].name);
+%}
+
+
+setter EventHandler %{
+ dom_string *event_type_dom;
+
+ JSLOG("propname[%d].name=\"%s\"",
+ tinyid,
+ jsclass_properties[tinyid].name);
+
+ switch (tinyid) {
+ case JSAPI_PROP_TINYID_onabort:
+ event_type_dom = corestring_dom_abort;
+ break;
+
+ case JSAPI_PROP_TINYID_onblur:
+ event_type_dom = corestring_dom_blur;
+ break;
+
+ case JSAPI_PROP_TINYID_oncancel:
+ event_type_dom = corestring_dom_cancel;
+ break;
+
+ case JSAPI_PROP_TINYID_oncanplay:
+ event_type_dom = corestring_dom_canplay;
+ break;
+
+ case JSAPI_PROP_TINYID_oncanplaythrough:
+ event_type_dom = corestring_dom_canplaythrough;
+ break;
+
+ case JSAPI_PROP_TINYID_onchange:
+ event_type_dom = corestring_dom_change;
+ break;
+
+ case JSAPI_PROP_TINYID_onclick:
+ event_type_dom = corestring_dom_click;
+ break;
+
+ case JSAPI_PROP_TINYID_onclose:
+ event_type_dom = corestring_dom_close;
+ break;
+
+ case JSAPI_PROP_TINYID_oncontextmenu:
+ event_type_dom = corestring_dom_contextmenu;
+ break;
+
+ case JSAPI_PROP_TINYID_oncuechange:
+ event_type_dom = corestring_dom_cuechange;
+ break;
+
+ case JSAPI_PROP_TINYID_ondblclick:
+ event_type_dom = corestring_dom_dblclick;
+ break;
+
+ case JSAPI_PROP_TINYID_ondrag:
+ event_type_dom = corestring_dom_drag;
+ break;
+
+ case JSAPI_PROP_TINYID_ondragend:
+ event_type_dom = corestring_dom_dragend;
+ break;
+
+ case JSAPI_PROP_TINYID_ondragenter:
+ event_type_dom = corestring_dom_dragenter;
+ break;
+
+ case JSAPI_PROP_TINYID_ondragleave:
+ event_type_dom = corestring_dom_dragleave;
+ break;
+
+ case JSAPI_PROP_TINYID_ondragover:
+ event_type_dom = corestring_dom_dragover;
+ break;
+
+ case JSAPI_PROP_TINYID_ondragstart:
+ event_type_dom = corestring_dom_dragstart;
+ break;
+
+ case JSAPI_PROP_TINYID_ondrop:
+ event_type_dom = corestring_dom_drop;
+ break;
+
+ case JSAPI_PROP_TINYID_ondurationchange:
+ event_type_dom = corestring_dom_durationchange;
+ break;
+
+ case JSAPI_PROP_TINYID_onemptied:
+ event_type_dom = corestring_dom_emptied;
+ break;
+
+ case JSAPI_PROP_TINYID_onended:
+ event_type_dom = corestring_dom_ended;
+ break;
+
+ case JSAPI_PROP_TINYID_onerror:
+ event_type_dom = corestring_dom_error;
+ break;
+
+ case JSAPI_PROP_TINYID_onfocus:
+ event_type_dom = corestring_dom_focus;
+ break;
+
+ case JSAPI_PROP_TINYID_oninput:
+ event_type_dom = corestring_dom_input;
+ break;
+
+ case JSAPI_PROP_TINYID_oninvalid:
+ event_type_dom = corestring_dom_invalid;
+ break;
+
+ case JSAPI_PROP_TINYID_onkeydown:
+ event_type_dom = corestring_dom_keydown;
+ break;
+
+ case JSAPI_PROP_TINYID_onkeypress:
+ event_type_dom = corestring_dom_keypress;
+ break;
+
+ case JSAPI_PROP_TINYID_onkeyup:
+ event_type_dom = corestring_dom_keyup;
+ break;
+
+ case JSAPI_PROP_TINYID_onload:
+ event_type_dom = corestring_dom_load;
+ break;
+
+ case JSAPI_PROP_TINYID_onloadeddata:
+ event_type_dom = corestring_dom_loadeddata;
+ break;
+
+ case JSAPI_PROP_TINYID_onloadedmetadata:
+ event_type_dom = corestring_dom_loadedmetadata;
+ break;
+
+ case JSAPI_PROP_TINYID_onloadstart:
+ event_type_dom = corestring_dom_loadstart;
+ break;
+
+ case JSAPI_PROP_TINYID_onmousedown:
+ event_type_dom = corestring_dom_mousedown;
+ break;
+
+ case JSAPI_PROP_TINYID_onmousemove:
+ event_type_dom = corestring_dom_mousemove;
+ break;
+
+ case JSAPI_PROP_TINYID_onmouseout:
+ event_type_dom = corestring_dom_mouseout;
+ break;
+
+ case JSAPI_PROP_TINYID_onmouseover:
+ event_type_dom = corestring_dom_mouseover;
+ break;
+
+ case JSAPI_PROP_TINYID_onmouseup:
+ event_type_dom = corestring_dom_mouseup;
+ break;
+
+ case JSAPI_PROP_TINYID_onmousewheel:
+ event_type_dom = corestring_dom_mousewheel;
+ break;
+
+ case JSAPI_PROP_TINYID_onpause:
+ event_type_dom = corestring_dom_pause;
+ break;
+
+ case JSAPI_PROP_TINYID_onplay:
+ event_type_dom = corestring_dom_play;
+ break;
+
+ case JSAPI_PROP_TINYID_onplaying:
+ event_type_dom = corestring_dom_playing;
+ break;
+
+ case JSAPI_PROP_TINYID_onprogress:
+ event_type_dom = corestring_dom_progress;
+ break;
+
+ case JSAPI_PROP_TINYID_onratechange:
+ event_type_dom = corestring_dom_ratechange;
+ break;
+
+ case JSAPI_PROP_TINYID_onreset:
+ event_type_dom = corestring_dom_reset;
+ break;
+
+ case JSAPI_PROP_TINYID_onscroll:
+ event_type_dom = corestring_dom_scroll;
+ break;
+
+ case JSAPI_PROP_TINYID_onseeked:
+ event_type_dom = corestring_dom_seeked;
+ break;
+
+ case JSAPI_PROP_TINYID_onseeking:
+ event_type_dom = corestring_dom_seeking;
+ break;
+
+ case JSAPI_PROP_TINYID_onselect:
+ event_type_dom = corestring_dom_select;
+ break;
+
+ case JSAPI_PROP_TINYID_onshow:
+ event_type_dom = corestring_dom_show;
+ break;
+
+ case JSAPI_PROP_TINYID_onstalled:
+ event_type_dom = corestring_dom_stalled;
+ break;
+
+ case JSAPI_PROP_TINYID_onsubmit:
+ event_type_dom = corestring_dom_submit;
+ break;
+
+ case JSAPI_PROP_TINYID_onsuspend:
+ event_type_dom = corestring_dom_suspend;
+ break;
+
+ case JSAPI_PROP_TINYID_ontimeupdate:
+ event_type_dom = corestring_dom_timeupdate;
+ break;
+
+ case JSAPI_PROP_TINYID_onvolumechange:
+ event_type_dom = corestring_dom_volumechange;
+ break;
+
+ case JSAPI_PROP_TINYID_onwaiting:
+ event_type_dom = corestring_dom_waiting;
+ break;
+
+ case JSAPI_PROP_TINYID_onreadystatechange:
+ event_type_dom = corestring_dom_readystatechange;
+ break;
+
+ default:
+ JSLOG("called with unknown tinyid");
+ return JS_TRUE;
+ }
+
+ js_dom_event_add_listener((struct jscontext *)cx,
+ private->node,
+ (dom_node *)private->node,
+ event_type_dom,
+ vp);
+%}
diff --git a/javascript/jsapi/htmlelement.bnd b/javascript/jsapi/htmlelement.bnd
index e1bd2c8..c5fc9a3 100644
--- a/javascript/jsapi/htmlelement.bnd
+++ b/javascript/jsapi/htmlelement.bnd
@@ -32,14 +32,15 @@ preamble %{
%}
binding htmlelement {
- type js_libdom; /* the binding type */
+ type js_libdom; /* the binding type */
- interface HTMLElement; /* Web IDL interface to generate */
+ interface HTMLElement; /* Web IDL interface to generate */
- private "dom_element *" node;
- private "struct html_content *" htmlc;
+ private "dom_element *" node;
+ private "struct html_content *" htmlc;
- property unshared type EventHandler;
+ /* events through a single interface */
+ property unshared type EventHandler;
}
api finalise %{
diff --git a/utils/corestrings.c b/utils/corestrings.c
index ee50757..f970c10 100644
--- a/utils/corestrings.c
+++ b/utils/corestrings.c
@@ -193,6 +193,7 @@ dom_string *corestring_dom_playing;
dom_string *corestring_dom_popstate;
dom_string *corestring_dom_progress;
dom_string *corestring_dom_ratechange;
+dom_string *corestring_dom_readystatechange;
dom_string *corestring_dom_rect;
dom_string *corestring_dom_rel;
dom_string *corestring_dom_reset;
@@ -414,6 +415,7 @@ void corestrings_fini(void)
CSS_DOM_STRING_UNREF(popstate);
CSS_DOM_STRING_UNREF(progress);
CSS_DOM_STRING_UNREF(ratechange);
+ CSS_DOM_STRING_UNREF(readystatechange);
CSS_DOM_STRING_UNREF(rect);
CSS_DOM_STRING_UNREF(rel);
CSS_DOM_STRING_UNREF(reset);
@@ -666,6 +668,7 @@ nserror corestrings_init(void)
CSS_DOM_STRING_INTERN(popstate);
CSS_DOM_STRING_INTERN(progress);
CSS_DOM_STRING_INTERN(ratechange);
+ CSS_DOM_STRING_INTERN(readystatechange);
CSS_DOM_STRING_INTERN(rect);
CSS_DOM_STRING_INTERN(rel);
CSS_DOM_STRING_INTERN(reset);
diff --git a/utils/corestrings.h b/utils/corestrings.h
index e8c9b6f..61771c1 100644
--- a/utils/corestrings.h
+++ b/utils/corestrings.h
@@ -199,6 +199,7 @@ extern struct dom_string *corestring_dom_playing;
extern struct dom_string *corestring_dom_popstate;
extern struct dom_string *corestring_dom_progress;
extern struct dom_string *corestring_dom_ratechange;
+extern struct dom_string *corestring_dom_readystatechange;
extern struct dom_string *corestring_dom_rect;
extern struct dom_string *corestring_dom_rel;
extern struct dom_string *corestring_dom_reset;
-----------------------------------------------------------------------
Summary of changes:
javascript/jsapi/dom.bnd | 10 ++-
javascript/jsapi/htmlcollection.bnd | 2 +-
javascript/jsapi/htmldocument.bnd | 255 +++++++++++++++++++++++++++++++++++
javascript/jsapi/htmlelement.bnd | 11 +-
javascript/jsapi/nodelist.bnd | 11 +-
utils/corestrings.c | 3 +
utils/corestrings.h | 1 +
7 files changed, 279 insertions(+), 14 deletions(-)
diff --git a/javascript/jsapi/dom.bnd b/javascript/jsapi/dom.bnd
index 89d0d84..e781b33 100644
--- a/javascript/jsapi/dom.bnd
+++ b/javascript/jsapi/dom.bnd
@@ -1,4 +1,12 @@
-/* DOM bindings entries */
+/* Binding to generate interfaces for the DOM IDL
+ *
+ * Copyright 2012 Vincent Sanders <vince(a)netsurf-browser.org>
+ *
+ * This file is part of NetSurf, http://www.netsurf-browser.org/
+ *
+ * Released under the terms of the MIT License,
+ * http://www.opensource.org/licenses/mit-license
+ */
webidlfile "dom.idl";
diff --git a/javascript/jsapi/htmlcollection.bnd b/javascript/jsapi/htmlcollection.bnd
index f4a1154..5e99e48 100644
--- a/javascript/jsapi/htmlcollection.bnd
+++ b/javascript/jsapi/htmlcollection.bnd
@@ -1,4 +1,4 @@
-/* Binding to generate HTMLcolelction interface
+/* Binding to generate HTMLcollection interface
*
* The js_libdom (javascript to libdom) binding type is currently the
* only one implemented and this principly describes that binding.
diff --git a/javascript/jsapi/htmldocument.bnd b/javascript/jsapi/htmldocument.bnd
index f17190d..c29e470 100644
--- a/javascript/jsapi/htmldocument.bnd
+++ b/javascript/jsapi/htmldocument.bnd
@@ -28,6 +28,7 @@ preamble %{
#include "content/urldb.h"
+#include "javascript/js.h"
#include "javascript/jsapi.h"
#include "javascript/jsapi/binding.h"
@@ -46,6 +47,9 @@ binding document {
/** location instantiated on first use */
property unshared location;
+
+ /* events through a single interface */
+ property unshared type EventHandler;
}
api finalise %{
@@ -272,3 +276,254 @@ operation createElement %{
JSLOG("returning jsobject %p",jsret);
%}
+
+getter EventHandler %{
+ JSLOG("propname[%d].name=\"%s\"",
+ tinyid,
+ jsclass_properties[tinyid].name);
+%}
+
+
+setter EventHandler %{
+ dom_string *event_type_dom;
+
+ JSLOG("propname[%d].name=\"%s\"",
+ tinyid,
+ jsclass_properties[tinyid].name);
+
+ switch (tinyid) {
+ case JSAPI_PROP_TINYID_onabort:
+ event_type_dom = corestring_dom_abort;
+ break;
+
+ case JSAPI_PROP_TINYID_onblur:
+ event_type_dom = corestring_dom_blur;
+ break;
+
+ case JSAPI_PROP_TINYID_oncancel:
+ event_type_dom = corestring_dom_cancel;
+ break;
+
+ case JSAPI_PROP_TINYID_oncanplay:
+ event_type_dom = corestring_dom_canplay;
+ break;
+
+ case JSAPI_PROP_TINYID_oncanplaythrough:
+ event_type_dom = corestring_dom_canplaythrough;
+ break;
+
+ case JSAPI_PROP_TINYID_onchange:
+ event_type_dom = corestring_dom_change;
+ break;
+
+ case JSAPI_PROP_TINYID_onclick:
+ event_type_dom = corestring_dom_click;
+ break;
+
+ case JSAPI_PROP_TINYID_onclose:
+ event_type_dom = corestring_dom_close;
+ break;
+
+ case JSAPI_PROP_TINYID_oncontextmenu:
+ event_type_dom = corestring_dom_contextmenu;
+ break;
+
+ case JSAPI_PROP_TINYID_oncuechange:
+ event_type_dom = corestring_dom_cuechange;
+ break;
+
+ case JSAPI_PROP_TINYID_ondblclick:
+ event_type_dom = corestring_dom_dblclick;
+ break;
+
+ case JSAPI_PROP_TINYID_ondrag:
+ event_type_dom = corestring_dom_drag;
+ break;
+
+ case JSAPI_PROP_TINYID_ondragend:
+ event_type_dom = corestring_dom_dragend;
+ break;
+
+ case JSAPI_PROP_TINYID_ondragenter:
+ event_type_dom = corestring_dom_dragenter;
+ break;
+
+ case JSAPI_PROP_TINYID_ondragleave:
+ event_type_dom = corestring_dom_dragleave;
+ break;
+
+ case JSAPI_PROP_TINYID_ondragover:
+ event_type_dom = corestring_dom_dragover;
+ break;
+
+ case JSAPI_PROP_TINYID_ondragstart:
+ event_type_dom = corestring_dom_dragstart;
+ break;
+
+ case JSAPI_PROP_TINYID_ondrop:
+ event_type_dom = corestring_dom_drop;
+ break;
+
+ case JSAPI_PROP_TINYID_ondurationchange:
+ event_type_dom = corestring_dom_durationchange;
+ break;
+
+ case JSAPI_PROP_TINYID_onemptied:
+ event_type_dom = corestring_dom_emptied;
+ break;
+
+ case JSAPI_PROP_TINYID_onended:
+ event_type_dom = corestring_dom_ended;
+ break;
+
+ case JSAPI_PROP_TINYID_onerror:
+ event_type_dom = corestring_dom_error;
+ break;
+
+ case JSAPI_PROP_TINYID_onfocus:
+ event_type_dom = corestring_dom_focus;
+ break;
+
+ case JSAPI_PROP_TINYID_oninput:
+ event_type_dom = corestring_dom_input;
+ break;
+
+ case JSAPI_PROP_TINYID_oninvalid:
+ event_type_dom = corestring_dom_invalid;
+ break;
+
+ case JSAPI_PROP_TINYID_onkeydown:
+ event_type_dom = corestring_dom_keydown;
+ break;
+
+ case JSAPI_PROP_TINYID_onkeypress:
+ event_type_dom = corestring_dom_keypress;
+ break;
+
+ case JSAPI_PROP_TINYID_onkeyup:
+ event_type_dom = corestring_dom_keyup;
+ break;
+
+ case JSAPI_PROP_TINYID_onload:
+ event_type_dom = corestring_dom_load;
+ break;
+
+ case JSAPI_PROP_TINYID_onloadeddata:
+ event_type_dom = corestring_dom_loadeddata;
+ break;
+
+ case JSAPI_PROP_TINYID_onloadedmetadata:
+ event_type_dom = corestring_dom_loadedmetadata;
+ break;
+
+ case JSAPI_PROP_TINYID_onloadstart:
+ event_type_dom = corestring_dom_loadstart;
+ break;
+
+ case JSAPI_PROP_TINYID_onmousedown:
+ event_type_dom = corestring_dom_mousedown;
+ break;
+
+ case JSAPI_PROP_TINYID_onmousemove:
+ event_type_dom = corestring_dom_mousemove;
+ break;
+
+ case JSAPI_PROP_TINYID_onmouseout:
+ event_type_dom = corestring_dom_mouseout;
+ break;
+
+ case JSAPI_PROP_TINYID_onmouseover:
+ event_type_dom = corestring_dom_mouseover;
+ break;
+
+ case JSAPI_PROP_TINYID_onmouseup:
+ event_type_dom = corestring_dom_mouseup;
+ break;
+
+ case JSAPI_PROP_TINYID_onmousewheel:
+ event_type_dom = corestring_dom_mousewheel;
+ break;
+
+ case JSAPI_PROP_TINYID_onpause:
+ event_type_dom = corestring_dom_pause;
+ break;
+
+ case JSAPI_PROP_TINYID_onplay:
+ event_type_dom = corestring_dom_play;
+ break;
+
+ case JSAPI_PROP_TINYID_onplaying:
+ event_type_dom = corestring_dom_playing;
+ break;
+
+ case JSAPI_PROP_TINYID_onprogress:
+ event_type_dom = corestring_dom_progress;
+ break;
+
+ case JSAPI_PROP_TINYID_onratechange:
+ event_type_dom = corestring_dom_ratechange;
+ break;
+
+ case JSAPI_PROP_TINYID_onreset:
+ event_type_dom = corestring_dom_reset;
+ break;
+
+ case JSAPI_PROP_TINYID_onscroll:
+ event_type_dom = corestring_dom_scroll;
+ break;
+
+ case JSAPI_PROP_TINYID_onseeked:
+ event_type_dom = corestring_dom_seeked;
+ break;
+
+ case JSAPI_PROP_TINYID_onseeking:
+ event_type_dom = corestring_dom_seeking;
+ break;
+
+ case JSAPI_PROP_TINYID_onselect:
+ event_type_dom = corestring_dom_select;
+ break;
+
+ case JSAPI_PROP_TINYID_onshow:
+ event_type_dom = corestring_dom_show;
+ break;
+
+ case JSAPI_PROP_TINYID_onstalled:
+ event_type_dom = corestring_dom_stalled;
+ break;
+
+ case JSAPI_PROP_TINYID_onsubmit:
+ event_type_dom = corestring_dom_submit;
+ break;
+
+ case JSAPI_PROP_TINYID_onsuspend:
+ event_type_dom = corestring_dom_suspend;
+ break;
+
+ case JSAPI_PROP_TINYID_ontimeupdate:
+ event_type_dom = corestring_dom_timeupdate;
+ break;
+
+ case JSAPI_PROP_TINYID_onvolumechange:
+ event_type_dom = corestring_dom_volumechange;
+ break;
+
+ case JSAPI_PROP_TINYID_onwaiting:
+ event_type_dom = corestring_dom_waiting;
+ break;
+
+ case JSAPI_PROP_TINYID_onreadystatechange:
+ event_type_dom = corestring_dom_readystatechange;
+ break;
+
+ default:
+ JSLOG("called with unknown tinyid");
+ return JS_TRUE;
+ }
+
+ js_dom_event_add_listener((struct jscontext *)cx,
+ private->node,
+ (dom_node *)private->node,
+ event_type_dom,
+ vp);
+%}
diff --git a/javascript/jsapi/htmlelement.bnd b/javascript/jsapi/htmlelement.bnd
index e1bd2c8..c5fc9a3 100644
--- a/javascript/jsapi/htmlelement.bnd
+++ b/javascript/jsapi/htmlelement.bnd
@@ -32,14 +32,15 @@ preamble %{
%}
binding htmlelement {
- type js_libdom; /* the binding type */
+ type js_libdom; /* the binding type */
- interface HTMLElement; /* Web IDL interface to generate */
+ interface HTMLElement; /* Web IDL interface to generate */
- private "dom_element *" node;
- private "struct html_content *" htmlc;
+ private "dom_element *" node;
+ private "struct html_content *" htmlc;
- property unshared type EventHandler;
+ /* events through a single interface */
+ property unshared type EventHandler;
}
api finalise %{
diff --git a/javascript/jsapi/nodelist.bnd b/javascript/jsapi/nodelist.bnd
index d6e9fe9..b57dc6e 100644
--- a/javascript/jsapi/nodelist.bnd
+++ b/javascript/jsapi/nodelist.bnd
@@ -1,8 +1,5 @@
/* Binding to generate NodeList interface
*
- * The js_libdom (javascript to libdom) binding type is currently the
- * only one implemented and this principly describes that binding.
- *
* Copyright 2012 Vincent Sanders <vince(a)netsurf-browser.org>
*
* This file is part of NetSurf, http://www.netsurf-browser.org/
@@ -32,12 +29,12 @@ preamble %{
webidlfile "dom.idl";
binding nodelist {
- type js_libdom; /* the binding type */
+ type js_libdom; /* the binding type */
- interface NodeList; /* The WebIDL interface to generate a binding for */
+ interface NodeList; /* The WebIDL interface to generate a binding for */
- private "dom_nodelist *" nodelist;
- private "struct html_content *" htmlc;
+ private "dom_nodelist *" nodelist;
+ private "struct html_content *" htmlc;
}
getter length %{
diff --git a/utils/corestrings.c b/utils/corestrings.c
index ee50757..f970c10 100644
--- a/utils/corestrings.c
+++ b/utils/corestrings.c
@@ -193,6 +193,7 @@ dom_string *corestring_dom_playing;
dom_string *corestring_dom_popstate;
dom_string *corestring_dom_progress;
dom_string *corestring_dom_ratechange;
+dom_string *corestring_dom_readystatechange;
dom_string *corestring_dom_rect;
dom_string *corestring_dom_rel;
dom_string *corestring_dom_reset;
@@ -414,6 +415,7 @@ void corestrings_fini(void)
CSS_DOM_STRING_UNREF(popstate);
CSS_DOM_STRING_UNREF(progress);
CSS_DOM_STRING_UNREF(ratechange);
+ CSS_DOM_STRING_UNREF(readystatechange);
CSS_DOM_STRING_UNREF(rect);
CSS_DOM_STRING_UNREF(rel);
CSS_DOM_STRING_UNREF(reset);
@@ -666,6 +668,7 @@ nserror corestrings_init(void)
CSS_DOM_STRING_INTERN(popstate);
CSS_DOM_STRING_INTERN(progress);
CSS_DOM_STRING_INTERN(ratechange);
+ CSS_DOM_STRING_INTERN(readystatechange);
CSS_DOM_STRING_INTERN(rect);
CSS_DOM_STRING_INTERN(rel);
CSS_DOM_STRING_INTERN(reset);
diff --git a/utils/corestrings.h b/utils/corestrings.h
index e8c9b6f..61771c1 100644
--- a/utils/corestrings.h
+++ b/utils/corestrings.h
@@ -199,6 +199,7 @@ extern struct dom_string *corestring_dom_playing;
extern struct dom_string *corestring_dom_popstate;
extern struct dom_string *corestring_dom_progress;
extern struct dom_string *corestring_dom_ratechange;
+extern struct dom_string *corestring_dom_readystatechange;
extern struct dom_string *corestring_dom_rect;
extern struct dom_string *corestring_dom_rel;
extern struct dom_string *corestring_dom_reset;
--
NetSurf Browser
10 years, 1 month
netsurf: branch mono/removing-windom-dependency updated. 037b7e0b75972470d9670def49893da8e24f056b
by NetSurf Browser Project
Gitweb links:
...log http://git.netsurf-browser.org/netsurf.git/shortlog/037b7e0b75972470d9670...
...commit http://git.netsurf-browser.org/netsurf.git/commit/037b7e0b75972470d9670de...
...tree http://git.netsurf-browser.org/netsurf.git/tree/037b7e0b75972470d9670def4...
The branch, mono/removing-windom-dependency has been updated
via 037b7e0b75972470d9670def49893da8e24f056b (commit)
from 973a8c37b174fd7f7185534c8aa31ff7ad2cbaa1 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff http://git.netsurf-browser.org/netsurf.git/commitdiff/037b7e0b75972470d96...
commit 037b7e0b75972470d9670def49893da8e24f056b
Author: Ole Loots <ole(a)monochrom.net>
Commit: Ole Loots <ole(a)monochrom.net>
No more crash, but still work to do on download window
diff --git a/atari/download.c b/atari/download.c
index b583804..28cf35b 100755
--- a/atari/download.c
+++ b/atari/download.c
@@ -50,10 +50,6 @@
extern struct gui_window * input_window;
extern GRECT desk_area;
-struct s_download_window_data {
- struct gui_download_window *gdw;
-};
-
static void gui_download_window_destroy( struct gui_download_window * gdw );
static void on_abort_click(struct gui_download_window *dw);
static void on_close(struct gui_download_window * dw);
@@ -62,13 +58,15 @@ static void on_redraw(struct gui_download_window *dw, GRECT *clip);
static short on_aes_event(GUIWIN *win, EVMULT_OUT *ev_out, short msg[8])
{
short retval = 0;
- struct s_download_window_data * data = guiwin_get_user_data(win);
+ struct gui_download_window *data;
+
GRECT clip;
+ data = guiwin_get_user_data(win);
if ((ev_out->emo_events & MU_MESAG) != 0) {
// handle message
- //printf("root win msg: %d\n", msg[0]);
+ printf("download win msg: %d\n", msg[0]);
switch (msg[0]) {
case WM_REDRAW:
@@ -76,21 +74,21 @@ static short on_aes_event(GUIWIN *win, EVMULT_OUT *ev_out, short msg[8])
clip.g_y = msg[5];
clip.g_w = msg[6];
clip.g_h = msg[7];
- on_redraw(data->gdw, &clip);
+ on_redraw(data, &clip);
break;
case WM_CLOSED:
// TODO: this needs to iterate through all gui windows and
// check if the rootwin is this window...
printf("destroy...\n");
- on_close(data->gdw);
+ on_close(data);
break;
case WM_TOOLBAR:
switch(msg[4]){
case DOWNLOAD_BT_ABORT:
- on_abort_click(data->gdw);
+ on_abort_click(data);
break;
case DOWNLOAD_CB_CLOSE_RDY:
@@ -121,9 +119,6 @@ static void on_redraw(struct gui_download_window *dw, GRECT *clip)
GRECT work, visible;
uint32_t p = 0;
- LOG((""));
- printf("doin redraw...\n");
-
guiwin_get_grect(dw->guiwin, GUIWIN_AREA_CONTENT, &work);
tree->ob_x = work.g_x;
tree->ob_y = work.g_y;
@@ -140,11 +135,16 @@ static void on_redraw(struct gui_download_window *dw, GRECT *clip)
((TEDINFO *)get_obspec(tree, DOWNLOAD_LBL_PERCENT))->te_ptext = &dw->lbl_percent;
((TEDINFO *)get_obspec(tree, DOWNLOAD_LBL_SPEED))->te_ptext = &dw->lbl_speed;
- if ( dw->size_total > 0 ) {
+ if (dw->size_total > 0 ) {
p = ((double)dw->size_downloaded / (double)dw->size_total * 100);
}
tree[DOWNLOAD_PROGRESS_DONE].ob_width = MAX( MIN( p*(DOWNLOAD_BAR_MAX/100),
DOWNLOAD_BAR_MAX ), 1);
+ if (dw->close_on_finish) {
+ tree[DOWNLOAD_CB_CLOSE_RDY].ob_state |= (SELECTED | CROSSED);
+ } else {
+ tree[DOWNLOAD_CB_CLOSE_RDY].ob_state &= ~(SELECTED | CROSSED);
+ }
/*Walk the AES rectangle list and redraw the visible areas of the window: */
wind_get_grect(dw->aes_handle, WF_FIRSTXYWH, &visible);
@@ -168,10 +168,12 @@ static void on_abort_click(struct gui_download_window *dw)
}
static void on_cbrdy_click(struct gui_download_window *dw)
-{
- if( dw->status == NSATARI_DOWNLOAD_COMPLETE ){
+{
+ dw->close_on_finish = (dw->tree[DOWNLOAD_CB_CLOSE_RDY].ob_state & SELECTED);
+ if (dw->close_on_finish && dw->status == NSATARI_DOWNLOAD_COMPLETE) {
guiwin_send_msg(dw->guiwin, WM_CLOSED, 0,0,0,0);
- }
+ }
+ guiwin_send_redraw(dw->guiwin, NULL);
}
static void on_close(struct gui_download_window * dw)
@@ -199,9 +201,10 @@ static void gui_download_window_destroy( struct gui_download_window * gdw)
}
if (gdw->fbuf != NULL) {
free( gdw->fbuf );
- }
+ }
+ wind_close(gdw->aes_handle);
guiwin_remove(gdw->guiwin);
- free( gdw );
+ free(gdw);
}
static char * select_filepath( const char * path, const char * filename )
@@ -225,11 +228,10 @@ static char * select_filepath( const char * path, const char * filename )
}
return( ret );
}
-
-struct gui_download_window *gui_download_window_create(download_context *ctx,
- struct gui_window *parent)
-{
-
+
+struct gui_download_window * gui_download_window_create(download_context *ctx,
+ struct gui_window *parent)
+{
char *filename;
char *destination;
char gdos_path[PATH_MAX];
@@ -238,15 +240,19 @@ struct gui_download_window *gui_download_window_create(download_context *ctx,
int dlgres = 0;
OBJECT * tree = get_tree(DOWNLOAD);
+
LOG(("Creating download window for gui window: %p", parent));
/* TODO: Implement real form and use messages file strings! */
- if( tree == NULL )
- return( NULL );
-
+ if (tree == NULL){
+ die("Couldn't find AES Object tree for download window!");
+ return(NULL);
+ }
+
filename = download_context_get_filename(ctx);
- dlgres = form_alert(2, "[2][Accept download?][Yes|Save as...|No]");
+ //dlgres = form_alert(2, "[2][Accept download?][Yes|Save as...|No]");
+ dlgres = 1;
if( dlgres == 3){
return( NULL );
}
@@ -280,7 +286,8 @@ struct gui_download_window *gui_download_window_create(download_context *ctx,
gdw->fbufsize = MAX(BUFSIZ, 48000);
gdw->size_downloaded = 0;
gdw->size_total = download_context_get_total_length(ctx);
- gdw->destination = destination;
+ gdw->destination = destination;
+ gdw->tree = tree;
url = download_context_get_url(ctx);
gdw->fd = fopen(gdw->destination, "wb" );
@@ -298,7 +305,6 @@ struct gui_download_window *gui_download_window_create(download_context *ctx,
setvbuf( gdw->fd, gdw->fbuf, _IOFBF, gdw->fbufsize );
}
- gdw->tree = get_tree(DOWNLOAD);
gdw->aes_handle = wind_create_grect(CLOSER | MOVER | NAME, &desk_area);
wind_set_str(gdw->aes_handle, WF_NAME, "Download");
gdw->guiwin = guiwin_add(gdw->aes_handle, GW_FLAG_DEFAULTS, on_aes_event);
@@ -307,9 +313,11 @@ struct gui_download_window *gui_download_window_create(download_context *ctx,
free( filename );
gui_download_window_destroy(gdw);
return( NULL );
- }
+ }
+ guiwin_set_user_data(gdw->guiwin, gdw);
+ //guiwin_set_toolbar(gdw->guiwin, tree, 0, 0);
- strncpy((char*)&gdw->lbl_file, filename, MAX_SLEN_LBL_FILE-1);
+ //strncpy((char*)&gdw->lbl_file, filename, MAX_SLEN_LBL_FILE-1);
free( filename );
LOG(("created download: %s (total size: %d)",
gdw->destination, gdw->size_total
@@ -321,17 +329,18 @@ struct gui_download_window *gui_download_window_create(download_context *ctx,
work.g_w = tree->ob_width;
work.g_h = tree->ob_height;
- wind_calc_grect(gdw->aes_handle, CLOSER | MOVER | NAME, &work, &curr);
+ wind_calc_grect(WC_BORDER, CLOSER | MOVER | NAME, &work, &curr);
curr.g_x = (desk_area.g_w / 2) - (curr.g_w / 2);
curr.g_y = (desk_area.g_h / 2) - (curr.g_h / 2);
dbg_grect("download window", &curr);
- wind_open_grect(gdw->aes_handle, &curr);
+ wind_open_grect(gdw->aes_handle, &curr);
+
+ return(gdw);
+}
- return gdw;
-}
nserror gui_download_window_data(struct gui_download_window *dw,
const char *data, unsigned int size)
@@ -344,13 +353,10 @@ nserror gui_download_window_data(struct gui_download_window *dw,
float pf = 0;
LOG((""));
-
+
OBJECT * tree = dw->tree;
- printf("data...\n");
-
if(dw->abort == true){
- printf("error\n");
dw->status = NSATARI_DOWNLOAD_CANCELED;
dw->abort = false;
download_context_abort(dw->ctx);
@@ -367,8 +373,6 @@ nserror gui_download_window_data(struct gui_download_window *dw,
/* Update the progress bar... */
if( tnow - dw->lastrdw > 1 ) {
- printf("calc\n");
-
dw->lastrdw = tnow;
speed = dw->size_downloaded / sdiff;
@@ -389,8 +393,8 @@ nserror gui_download_window_data(struct gui_download_window *dw,
human_friendly_bytesize(dw->size_downloaded),
(dw->size_total>0) ? human_friendly_bytesize(dw->size_total) : "?"
);
- printf("redraw\n");
- //guiwin_send_redraw(dw->guiwin, NULL);
+
+ guiwin_send_redraw(dw->guiwin, NULL);
}
return NSERROR_OK;
}
@@ -417,14 +421,10 @@ void gui_download_window_done(struct gui_download_window *dw)
dw->fd = NULL;
}
-
tree = dw->tree;
-
- return;
-
- if( (tree[DOWNLOAD_CB_CLOSE_RDY].ob_state & SELECTED) != 0 ) {
+ if (dw->close_on_finish) {
guiwin_send_msg(dw->guiwin, WM_CLOSED, 0, 0, 0, 0);
- } else {
+ } else {
snprintf( (char*)&dw->lbl_percent, MAX_SLEN_LBL_PERCENT,
"%lu%s", 100, "%"
);
diff --git a/atari/download.h b/atari/download.h
index 174116c..e25893d 100755
--- a/atari/download.h
+++ b/atari/download.h
@@ -54,7 +54,8 @@ struct gui_download_window {
uint32_t size_downloaded;
char * fbuf;
size_t fbufsize;
- bool abort;
+ bool abort;
+ bool close_on_finish;
};
#endif
-----------------------------------------------------------------------
Summary of changes:
atari/download.c | 98 +++++++++++++++++++++++++++---------------------------
atari/download.h | 3 +-
2 files changed, 51 insertions(+), 50 deletions(-)
diff --git a/atari/download.c b/atari/download.c
index b583804..28cf35b 100755
--- a/atari/download.c
+++ b/atari/download.c
@@ -50,10 +50,6 @@
extern struct gui_window * input_window;
extern GRECT desk_area;
-struct s_download_window_data {
- struct gui_download_window *gdw;
-};
-
static void gui_download_window_destroy( struct gui_download_window * gdw );
static void on_abort_click(struct gui_download_window *dw);
static void on_close(struct gui_download_window * dw);
@@ -62,13 +58,15 @@ static void on_redraw(struct gui_download_window *dw, GRECT *clip);
static short on_aes_event(GUIWIN *win, EVMULT_OUT *ev_out, short msg[8])
{
short retval = 0;
- struct s_download_window_data * data = guiwin_get_user_data(win);
+ struct gui_download_window *data;
+
GRECT clip;
+ data = guiwin_get_user_data(win);
if ((ev_out->emo_events & MU_MESAG) != 0) {
// handle message
- //printf("root win msg: %d\n", msg[0]);
+ printf("download win msg: %d\n", msg[0]);
switch (msg[0]) {
case WM_REDRAW:
@@ -76,21 +74,21 @@ static short on_aes_event(GUIWIN *win, EVMULT_OUT *ev_out, short msg[8])
clip.g_y = msg[5];
clip.g_w = msg[6];
clip.g_h = msg[7];
- on_redraw(data->gdw, &clip);
+ on_redraw(data, &clip);
break;
case WM_CLOSED:
// TODO: this needs to iterate through all gui windows and
// check if the rootwin is this window...
printf("destroy...\n");
- on_close(data->gdw);
+ on_close(data);
break;
case WM_TOOLBAR:
switch(msg[4]){
case DOWNLOAD_BT_ABORT:
- on_abort_click(data->gdw);
+ on_abort_click(data);
break;
case DOWNLOAD_CB_CLOSE_RDY:
@@ -121,9 +119,6 @@ static void on_redraw(struct gui_download_window *dw, GRECT *clip)
GRECT work, visible;
uint32_t p = 0;
- LOG((""));
- printf("doin redraw...\n");
-
guiwin_get_grect(dw->guiwin, GUIWIN_AREA_CONTENT, &work);
tree->ob_x = work.g_x;
tree->ob_y = work.g_y;
@@ -140,11 +135,16 @@ static void on_redraw(struct gui_download_window *dw, GRECT *clip)
((TEDINFO *)get_obspec(tree, DOWNLOAD_LBL_PERCENT))->te_ptext = &dw->lbl_percent;
((TEDINFO *)get_obspec(tree, DOWNLOAD_LBL_SPEED))->te_ptext = &dw->lbl_speed;
- if ( dw->size_total > 0 ) {
+ if (dw->size_total > 0 ) {
p = ((double)dw->size_downloaded / (double)dw->size_total * 100);
}
tree[DOWNLOAD_PROGRESS_DONE].ob_width = MAX( MIN( p*(DOWNLOAD_BAR_MAX/100),
DOWNLOAD_BAR_MAX ), 1);
+ if (dw->close_on_finish) {
+ tree[DOWNLOAD_CB_CLOSE_RDY].ob_state |= (SELECTED | CROSSED);
+ } else {
+ tree[DOWNLOAD_CB_CLOSE_RDY].ob_state &= ~(SELECTED | CROSSED);
+ }
/*Walk the AES rectangle list and redraw the visible areas of the window: */
wind_get_grect(dw->aes_handle, WF_FIRSTXYWH, &visible);
@@ -168,10 +168,12 @@ static void on_abort_click(struct gui_download_window *dw)
}
static void on_cbrdy_click(struct gui_download_window *dw)
-{
- if( dw->status == NSATARI_DOWNLOAD_COMPLETE ){
+{
+ dw->close_on_finish = (dw->tree[DOWNLOAD_CB_CLOSE_RDY].ob_state & SELECTED);
+ if (dw->close_on_finish && dw->status == NSATARI_DOWNLOAD_COMPLETE) {
guiwin_send_msg(dw->guiwin, WM_CLOSED, 0,0,0,0);
- }
+ }
+ guiwin_send_redraw(dw->guiwin, NULL);
}
static void on_close(struct gui_download_window * dw)
@@ -199,9 +201,10 @@ static void gui_download_window_destroy( struct gui_download_window * gdw)
}
if (gdw->fbuf != NULL) {
free( gdw->fbuf );
- }
+ }
+ wind_close(gdw->aes_handle);
guiwin_remove(gdw->guiwin);
- free( gdw );
+ free(gdw);
}
static char * select_filepath( const char * path, const char * filename )
@@ -225,11 +228,10 @@ static char * select_filepath( const char * path, const char * filename )
}
return( ret );
}
-
-struct gui_download_window *gui_download_window_create(download_context *ctx,
- struct gui_window *parent)
-{
-
+
+struct gui_download_window * gui_download_window_create(download_context *ctx,
+ struct gui_window *parent)
+{
char *filename;
char *destination;
char gdos_path[PATH_MAX];
@@ -238,15 +240,19 @@ struct gui_download_window *gui_download_window_create(download_context *ctx,
int dlgres = 0;
OBJECT * tree = get_tree(DOWNLOAD);
+
LOG(("Creating download window for gui window: %p", parent));
/* TODO: Implement real form and use messages file strings! */
- if( tree == NULL )
- return( NULL );
-
+ if (tree == NULL){
+ die("Couldn't find AES Object tree for download window!");
+ return(NULL);
+ }
+
filename = download_context_get_filename(ctx);
- dlgres = form_alert(2, "[2][Accept download?][Yes|Save as...|No]");
+ //dlgres = form_alert(2, "[2][Accept download?][Yes|Save as...|No]");
+ dlgres = 1;
if( dlgres == 3){
return( NULL );
}
@@ -280,7 +286,8 @@ struct gui_download_window *gui_download_window_create(download_context *ctx,
gdw->fbufsize = MAX(BUFSIZ, 48000);
gdw->size_downloaded = 0;
gdw->size_total = download_context_get_total_length(ctx);
- gdw->destination = destination;
+ gdw->destination = destination;
+ gdw->tree = tree;
url = download_context_get_url(ctx);
gdw->fd = fopen(gdw->destination, "wb" );
@@ -298,7 +305,6 @@ struct gui_download_window *gui_download_window_create(download_context *ctx,
setvbuf( gdw->fd, gdw->fbuf, _IOFBF, gdw->fbufsize );
}
- gdw->tree = get_tree(DOWNLOAD);
gdw->aes_handle = wind_create_grect(CLOSER | MOVER | NAME, &desk_area);
wind_set_str(gdw->aes_handle, WF_NAME, "Download");
gdw->guiwin = guiwin_add(gdw->aes_handle, GW_FLAG_DEFAULTS, on_aes_event);
@@ -307,9 +313,11 @@ struct gui_download_window *gui_download_window_create(download_context *ctx,
free( filename );
gui_download_window_destroy(gdw);
return( NULL );
- }
+ }
+ guiwin_set_user_data(gdw->guiwin, gdw);
+ //guiwin_set_toolbar(gdw->guiwin, tree, 0, 0);
- strncpy((char*)&gdw->lbl_file, filename, MAX_SLEN_LBL_FILE-1);
+ //strncpy((char*)&gdw->lbl_file, filename, MAX_SLEN_LBL_FILE-1);
free( filename );
LOG(("created download: %s (total size: %d)",
gdw->destination, gdw->size_total
@@ -321,17 +329,18 @@ struct gui_download_window *gui_download_window_create(download_context *ctx,
work.g_w = tree->ob_width;
work.g_h = tree->ob_height;
- wind_calc_grect(gdw->aes_handle, CLOSER | MOVER | NAME, &work, &curr);
+ wind_calc_grect(WC_BORDER, CLOSER | MOVER | NAME, &work, &curr);
curr.g_x = (desk_area.g_w / 2) - (curr.g_w / 2);
curr.g_y = (desk_area.g_h / 2) - (curr.g_h / 2);
dbg_grect("download window", &curr);
- wind_open_grect(gdw->aes_handle, &curr);
+ wind_open_grect(gdw->aes_handle, &curr);
+
+ return(gdw);
+}
- return gdw;
-}
nserror gui_download_window_data(struct gui_download_window *dw,
const char *data, unsigned int size)
@@ -344,13 +353,10 @@ nserror gui_download_window_data(struct gui_download_window *dw,
float pf = 0;
LOG((""));
-
+
OBJECT * tree = dw->tree;
- printf("data...\n");
-
if(dw->abort == true){
- printf("error\n");
dw->status = NSATARI_DOWNLOAD_CANCELED;
dw->abort = false;
download_context_abort(dw->ctx);
@@ -367,8 +373,6 @@ nserror gui_download_window_data(struct gui_download_window *dw,
/* Update the progress bar... */
if( tnow - dw->lastrdw > 1 ) {
- printf("calc\n");
-
dw->lastrdw = tnow;
speed = dw->size_downloaded / sdiff;
@@ -389,8 +393,8 @@ nserror gui_download_window_data(struct gui_download_window *dw,
human_friendly_bytesize(dw->size_downloaded),
(dw->size_total>0) ? human_friendly_bytesize(dw->size_total) : "?"
);
- printf("redraw\n");
- //guiwin_send_redraw(dw->guiwin, NULL);
+
+ guiwin_send_redraw(dw->guiwin, NULL);
}
return NSERROR_OK;
}
@@ -417,14 +421,10 @@ void gui_download_window_done(struct gui_download_window *dw)
dw->fd = NULL;
}
-
tree = dw->tree;
-
- return;
-
- if( (tree[DOWNLOAD_CB_CLOSE_RDY].ob_state & SELECTED) != 0 ) {
+ if (dw->close_on_finish) {
guiwin_send_msg(dw->guiwin, WM_CLOSED, 0, 0, 0, 0);
- } else {
+ } else {
snprintf( (char*)&dw->lbl_percent, MAX_SLEN_LBL_PERCENT,
"%lu%s", 100, "%"
);
diff --git a/atari/download.h b/atari/download.h
index 174116c..e25893d 100755
--- a/atari/download.h
+++ b/atari/download.h
@@ -54,7 +54,8 @@ struct gui_download_window {
uint32_t size_downloaded;
char * fbuf;
size_t fbufsize;
- bool abort;
+ bool abort;
+ bool close_on_finish;
};
#endif
--
NetSurf Browser
10 years, 1 month
netsurf: branch master updated. 90f0cfb5514b68483a75bd34955433e4739f381b
by NetSurf Browser Project
Gitweb links:
...log http://git.netsurf-browser.org/netsurf.git/shortlog/90f0cfb5514b68483a75b...
...commit http://git.netsurf-browser.org/netsurf.git/commit/90f0cfb5514b68483a75bd3...
...tree http://git.netsurf-browser.org/netsurf.git/tree/90f0cfb5514b68483a75bd349...
The branch, master has been updated
via 90f0cfb5514b68483a75bd34955433e4739f381b (commit)
from b9d6eccf24a7ba1f2242740e981bf6bf3edcd82d (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff http://git.netsurf-browser.org/netsurf.git/commitdiff/90f0cfb5514b68483a7...
commit 90f0cfb5514b68483a75bd34955433e4739f381b
Author: Vincent Sanders <vince(a)kyllikki.org>
Commit: Vincent Sanders <vince(a)kyllikki.org>
allow for JSOPTION_JIT to not be set
diff --git a/javascript/jsapi.h b/javascript/jsapi.h
index d757b7f..e3295fe 100644
--- a/javascript/jsapi.h
+++ b/javascript/jsapi.h
@@ -35,11 +35,13 @@
#include <string.h>
-# ifndef JSVERSION_LATEST
-# define JSVERSION_LATEST JS_VERSION
-# endif
-
+#ifndef JSVERSION_LATEST
+#define JSVERSION_LATEST JS_VERSION
+#endif
+#ifndef JSOPTION_JIT
+#define JSOPTION_JIT 0
+#endif
/* *CAUTION* these native function macros introduce and use jsapi_this
* and jsapi_rval variables, native function code should not conflict
-----------------------------------------------------------------------
Summary of changes:
javascript/jsapi.h | 10 ++++++----
1 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/javascript/jsapi.h b/javascript/jsapi.h
index d757b7f..e3295fe 100644
--- a/javascript/jsapi.h
+++ b/javascript/jsapi.h
@@ -35,11 +35,13 @@
#include <string.h>
-# ifndef JSVERSION_LATEST
-# define JSVERSION_LATEST JS_VERSION
-# endif
-
+#ifndef JSVERSION_LATEST
+#define JSVERSION_LATEST JS_VERSION
+#endif
+#ifndef JSOPTION_JIT
+#define JSOPTION_JIT 0
+#endif
/* *CAUTION* these native function macros introduce and use jsapi_this
* and jsapi_rval variables, native function code should not conflict
--
NetSurf Browser
10 years, 1 month
toolchains: branch master updated. c1307b5d2631cbcf808b0621a4a7a0eb69079b51
by NetSurf Browser Project
Gitweb links:
...log http://git.netsurf-browser.org/toolchains.git/shortlog/c1307b5d2631cbcf80...
...commit http://git.netsurf-browser.org/toolchains.git/commit/c1307b5d2631cbcf808b...
...tree http://git.netsurf-browser.org/toolchains.git/tree/c1307b5d2631cbcf808b06...
The branch, master has been updated
via c1307b5d2631cbcf808b0621a4a7a0eb69079b51 (commit)
from 98a58196790874965d57a329a9c10c20e9ffa4f6 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff http://git.netsurf-browser.org/toolchains.git/commitdiff/c1307b5d2631cbcf...
commit c1307b5d2631cbcf808b0621a4a7a0eb69079b51
Author: Vincent Sanders <vince(a)kyllikki.org>
Commit: Vincent Sanders <vince(a)kyllikki.org>
install in the correct include directory
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/mozilla-js.pc.in.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/mozilla-js.pc.in.p
index c70291f..dfcbe5e 100644
--- a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/mozilla-js.pc.in.p
+++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/mozilla-js.pc.in.p
@@ -6,4 +6,4 @@
+Description: The Mozilla JavaScript Library
+Version: 1.7.0
+Libs: -L${prefix}/lib -ljs
-+Cflags: -I${prefix}/include
++Cflags: -I${prefix}/include -DXP_UNIX
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/rules.mk.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/rules.mk.p
index d35d097..ffec132 100644
--- a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/rules.mk.p
+++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/rules.mk.p
@@ -14,10 +14,10 @@
export:
+$(LOOP_OVER_PREDIRS)
- mkdir -p $(DIST)/include $(DIST)/$(LIBDIR) $(DIST)/bin
-+ mkdir -p $(DIST)/include/js $(DIST)/$(LIBDIR)/pkgconfig $(DIST)/bin
++ mkdir -p $(DIST)/include/mozjs $(DIST)/$(LIBDIR)/pkgconfig $(DIST)/bin
ifneq "$(strip $(HFILES))" ""
- $(CP) $(HFILES) $(DIST)/include
-+ $(CP) $(HFILES) $(DIST)/include/js/
++ $(CP) $(HFILES) $(DIST)/include/mozjs/
endif
ifneq "$(strip $(LIBRARY))" ""
$(CP) $(LIBRARY) $(DIST)/$(LIBDIR)
-----------------------------------------------------------------------
Summary of changes:
.../arm-unknown-riscos-1.7.0/mozilla-js.pc.in.p | 2 +-
.../arm-unknown-riscos-1.7.0/rules.mk.p | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/mozilla-js.pc.in.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/mozilla-js.pc.in.p
index c70291f..dfcbe5e 100644
--- a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/mozilla-js.pc.in.p
+++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/mozilla-js.pc.in.p
@@ -6,4 +6,4 @@
+Description: The Mozilla JavaScript Library
+Version: 1.7.0
+Libs: -L${prefix}/lib -ljs
-+Cflags: -I${prefix}/include
++Cflags: -I${prefix}/include -DXP_UNIX
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/rules.mk.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/rules.mk.p
index d35d097..ffec132 100644
--- a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/rules.mk.p
+++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/rules.mk.p
@@ -14,10 +14,10 @@
export:
+$(LOOP_OVER_PREDIRS)
- mkdir -p $(DIST)/include $(DIST)/$(LIBDIR) $(DIST)/bin
-+ mkdir -p $(DIST)/include/js $(DIST)/$(LIBDIR)/pkgconfig $(DIST)/bin
++ mkdir -p $(DIST)/include/mozjs $(DIST)/$(LIBDIR)/pkgconfig $(DIST)/bin
ifneq "$(strip $(HFILES))" ""
- $(CP) $(HFILES) $(DIST)/include
-+ $(CP) $(HFILES) $(DIST)/include/js/
++ $(CP) $(HFILES) $(DIST)/include/mozjs/
endif
ifneq "$(strip $(LIBRARY))" ""
$(CP) $(LIBRARY) $(DIST)/$(LIBDIR)
--
Cross-compilation toolchains and environments
10 years, 1 month
toolchains: branch master updated. 98a58196790874965d57a329a9c10c20e9ffa4f6
by NetSurf Browser Project
Gitweb links:
...log http://git.netsurf-browser.org/toolchains.git/shortlog/98a58196790874965d...
...commit http://git.netsurf-browser.org/toolchains.git/commit/98a58196790874965d57...
...tree http://git.netsurf-browser.org/toolchains.git/tree/98a58196790874965d57a3...
The branch, master has been updated
via 98a58196790874965d57a329a9c10c20e9ffa4f6 (commit)
from aa56613581ef3afe172022871a561c0e4b032918 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff http://git.netsurf-browser.org/toolchains.git/commitdiff/98a5819679087496...
commit 98a58196790874965d57a329a9c10c20e9ffa4f6
Author: Vincent Sanders <vince(a)kyllikki.org>
Commit: Vincent Sanders <vince(a)kyllikki.org>
switch spidermonkey to 1.7.0 build
diff --git a/sdk/Makefile b/sdk/Makefile
index 0113144..e0b56bc 100644
--- a/sdk/Makefile
+++ b/sdk/Makefile
@@ -43,7 +43,8 @@ VERSION_WINDOM := 2.0.1
VERSION_HERMES := 1.3.3
VERSION_FREETYPE := 2.4.10
VERSION_NSPR := 4.9.3
-VERSION_SPIDERMONKEY := 1.8.5
+#VERSION_SPIDERMONKEY := 1.8.5
+VERSION_SPIDERMONKEY := 1.7.0
# Path
path__ := $(GCCSDK_INSTALL_CROSSBIN):$(PATH)
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/mozilla-js.pc.in.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/mozilla-js.pc.in.p
new file mode 100644
index 0000000..c70291f
--- /dev/null
+++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/mozilla-js.pc.in.p
@@ -0,0 +1,9 @@
+--- /dev/null 2012-12-14 09:53:07.266043019 +0000
++++ js/src/mozilla-js.pc.in 2012-12-16 18:37:54.000000000 +0000
+@@ -0,0 +1,6 @@
++
++Name: JavaScript
++Description: The Mozilla JavaScript Library
++Version: 1.7.0
++Libs: -L${prefix}/lib -ljs
++Cflags: -I${prefix}/include
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/rules.mk.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/rules.mk.p
index 418c018..d35d097 100644
--- a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/rules.mk.p
+++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/rules.mk.p
@@ -1,5 +1,5 @@
---- js/src/rules.mk.orig 2012-12-16 14:55:34.000000000 +0000
-+++ js/src/rules.mk 2012-12-16 15:01:53.000000000 +0000
+--- js/src/rules.mk.orig 2012-12-16 18:31:06.000000000 +0000
++++ js/src/rules.mk 2012-12-16 18:34:05.000000000 +0000
@@ -58,7 +58,7 @@
# TARGETS = $(LIBRARY) # $(PROGRAM) not supported for MSVC yet
TARGETS += $(SHARED_LIBRARY) $(PROGRAM) # it is now
@@ -9,19 +9,21 @@
endif
all:
-@@ -158,9 +158,9 @@
+@@ -158,19 +158,21 @@
export:
+$(LOOP_OVER_PREDIRS)
- mkdir -p $(DIST)/include $(DIST)/$(LIBDIR) $(DIST)/bin
-+ mkdir -p $(DIST)/include/js $(DIST)/$(LIBDIR) $(DIST)/bin
++ mkdir -p $(DIST)/include/js $(DIST)/$(LIBDIR)/pkgconfig $(DIST)/bin
ifneq "$(strip $(HFILES))" ""
- $(CP) $(HFILES) $(DIST)/include
+ $(CP) $(HFILES) $(DIST)/include/js/
endif
ifneq "$(strip $(LIBRARY))" ""
$(CP) $(LIBRARY) $(DIST)/$(LIBDIR)
-@@ -168,9 +168,9 @@
++ echo "prefix=$(DIST)" > $(DIST)/$(LIBDIR)/pkgconfig/mozilla-js.pc
++ cat mozilla-js.pc.in >> $(DIST)/$(LIBDIR)/pkgconfig/mozilla-js.pc
+ endif
ifneq "$(strip $(JARS))" ""
$(CP) $(JARS) $(DIST)/$(LIBDIR)
endif
-----------------------------------------------------------------------
Summary of changes:
sdk/Makefile | 3 ++-
.../arm-unknown-riscos-1.7.0/mozilla-js.pc.in.p | 9 +++++++++
.../arm-unknown-riscos-1.7.0/rules.mk.p | 12 +++++++-----
3 files changed, 18 insertions(+), 6 deletions(-)
create mode 100644 sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/mozilla-js.pc.in.p
diff --git a/sdk/Makefile b/sdk/Makefile
index 0113144..e0b56bc 100644
--- a/sdk/Makefile
+++ b/sdk/Makefile
@@ -43,7 +43,8 @@ VERSION_WINDOM := 2.0.1
VERSION_HERMES := 1.3.3
VERSION_FREETYPE := 2.4.10
VERSION_NSPR := 4.9.3
-VERSION_SPIDERMONKEY := 1.8.5
+#VERSION_SPIDERMONKEY := 1.8.5
+VERSION_SPIDERMONKEY := 1.7.0
# Path
path__ := $(GCCSDK_INSTALL_CROSSBIN):$(PATH)
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/mozilla-js.pc.in.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/mozilla-js.pc.in.p
new file mode 100644
index 0000000..c70291f
--- /dev/null
+++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/mozilla-js.pc.in.p
@@ -0,0 +1,9 @@
+--- /dev/null 2012-12-14 09:53:07.266043019 +0000
++++ js/src/mozilla-js.pc.in 2012-12-16 18:37:54.000000000 +0000
+@@ -0,0 +1,6 @@
++
++Name: JavaScript
++Description: The Mozilla JavaScript Library
++Version: 1.7.0
++Libs: -L${prefix}/lib -ljs
++Cflags: -I${prefix}/include
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/rules.mk.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/rules.mk.p
index 418c018..d35d097 100644
--- a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/rules.mk.p
+++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/rules.mk.p
@@ -1,5 +1,5 @@
---- js/src/rules.mk.orig 2012-12-16 14:55:34.000000000 +0000
-+++ js/src/rules.mk 2012-12-16 15:01:53.000000000 +0000
+--- js/src/rules.mk.orig 2012-12-16 18:31:06.000000000 +0000
++++ js/src/rules.mk 2012-12-16 18:34:05.000000000 +0000
@@ -58,7 +58,7 @@
# TARGETS = $(LIBRARY) # $(PROGRAM) not supported for MSVC yet
TARGETS += $(SHARED_LIBRARY) $(PROGRAM) # it is now
@@ -9,19 +9,21 @@
endif
all:
-@@ -158,9 +158,9 @@
+@@ -158,19 +158,21 @@
export:
+$(LOOP_OVER_PREDIRS)
- mkdir -p $(DIST)/include $(DIST)/$(LIBDIR) $(DIST)/bin
-+ mkdir -p $(DIST)/include/js $(DIST)/$(LIBDIR) $(DIST)/bin
++ mkdir -p $(DIST)/include/js $(DIST)/$(LIBDIR)/pkgconfig $(DIST)/bin
ifneq "$(strip $(HFILES))" ""
- $(CP) $(HFILES) $(DIST)/include
+ $(CP) $(HFILES) $(DIST)/include/js/
endif
ifneq "$(strip $(LIBRARY))" ""
$(CP) $(LIBRARY) $(DIST)/$(LIBDIR)
-@@ -168,9 +168,9 @@
++ echo "prefix=$(DIST)" > $(DIST)/$(LIBDIR)/pkgconfig/mozilla-js.pc
++ cat mozilla-js.pc.in >> $(DIST)/$(LIBDIR)/pkgconfig/mozilla-js.pc
+ endif
ifneq "$(strip $(JARS))" ""
$(CP) $(JARS) $(DIST)/$(LIBDIR)
endif
--
Cross-compilation toolchains and environments
10 years, 1 month
toolchains: branch master updated. aa56613581ef3afe172022871a561c0e4b032918
by NetSurf Browser Project
Gitweb links:
...log http://git.netsurf-browser.org/toolchains.git/shortlog/aa56613581ef3afe17...
...commit http://git.netsurf-browser.org/toolchains.git/commit/aa56613581ef3afe1720...
...tree http://git.netsurf-browser.org/toolchains.git/tree/aa56613581ef3afe172022...
The branch, master has been updated
via aa56613581ef3afe172022871a561c0e4b032918 (commit)
from 842cbbe2deac7546b6e860bf413e03b6ad565c82 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff http://git.netsurf-browser.org/toolchains.git/commitdiff/aa56613581ef3afe...
commit aa56613581ef3afe172022871a561c0e4b032918
Author: Vincent Sanders <vince(a)kyllikki.org>
Commit: Vincent Sanders <vince(a)kyllikki.org>
make RISC OS build of spidermonkey 1.7.0 succeed. still missing its pkgconfig though
diff --git a/sdk/Makefile b/sdk/Makefile
index a2d589d..0113144 100644
--- a/sdk/Makefile
+++ b/sdk/Makefile
@@ -84,7 +84,9 @@ ifeq ($(TARGET),arm-unknown-riscos)
SDK_ITEMS := $(addprefix $(BUILDSTEPS)/, $(COMMON_SDK_ITEMS) spidermonkey.d)
EXTRAARGS_LIBCARES := --disable-shared
EXTRAARGS_LIBCURL := --enable-nonblocking --enable-ares $(LIBCURL_DISABLES)
- ifeq ($(VERSION_SPIDERMONKEY),1.8.5)
+ ifeq ($(VERSION_SPIDERMONKEY),1.7.0)
+ EXTRAARGS_SPIDERMONKEY := BUILD_OPT=1 OS_ARCH=RISCOS OS_CPUARCH=arm OS_CONFIG=RISCOS
+ else
EXTRAARGS_SPIDERMONKEY := --disable-tracejit --disable-thumb2 --without-thumb --enable-static --disable-shared --disable-shared-js --with-cpu-arch=armv3 --disable-tests --disable-methodjit
endif
endif
@@ -109,7 +111,7 @@ ifeq ($(TARGET),ppc-amigaos)
SDK_ITEMS := $(addprefix $(BUILDSTEPS)/, libiconv.d libtre.d libpbl.d $(COMMON_SDK_ITEMS))
EXTRAARGS_LIBCARES := --disable-shared
EXTRAARGS_LIBCURL := --disable-ntlm-wb --without-random
- #VERSION_SPIDERMONKEY := 1.7.0
+ VERSION_SPIDERMONKEY := 1.7.0
endif
ifeq ($(TARGET),i686-w64-mingw32)
@@ -490,12 +492,13 @@ $(SOURCEDIR)/nspr-$(VERSION_NSPR).tar.gz:
# spidermonkey (libmozjs)
$(BUILDSTEPS)/spidermonkey.d: $(BUILDSTEPS)/builddir.d $(BUILDSTEPS)/nspr.d $(BUILDSTEPS)/spidermonkey-src.d
ifeq ($(VERSION_SPIDERMONKEY),1.7.0)
- $(env) make -C $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src -f Makefile.ref
+ $(env) make -C $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src -f Makefile.ref JS_DIST=$(GCCSDK_INSTALL_ENV) $(EXTRAARGS_SPIDERMONKEY)
+ $(env) make -C $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src -f Makefile.ref JS_DIST=$(GCCSDK_INSTALL_ENV) $(EXTRAARGS_SPIDERMONKEY) export
else
cd $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src && $(env) ./configure --prefix=$(GCCSDK_INSTALL_ENV) --target=$(TARGET) --with-system-nspr --with-nspr-prefix=$(GCCSDK_INSTALL_ENV) $(EXTRAARGS_SPIDERMONKEY)
cd $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src && $(env) make
-endif
cd $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src && $(env) make install
+endif
touch $@
$(BUILDSTEPS)/spidermonkey-src.d: $(BUILDSTEPS)/sourcedir.d $(SOURCEDIR)/spidermonkey-$(VERSION_SPIDERMONKEY).tar.gz
@@ -505,6 +508,7 @@ $(BUILDSTEPS)/spidermonkey-src.d: $(BUILDSTEPS)/sourcedir.d $(SOURCEDIR)/spiderm
ifeq ($(VERSION_SPIDERMONKEY),1.7.0)
mkdir $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)
mv $(BUILDDIR)/spidermonkey/js $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/
+ mkdir $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src/RISCOS_OPT.OBJ
endif
for p in `ls $(RECIPES)/patches/spidermonkey/$(TARGET)-$(VERSION_SPIDERMONKEY)/*.p` ; do patch -d $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY) -p0 <$$p ; done
touch $@
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/Makefile.ref.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/Makefile.ref.p
new file mode 100644
index 0000000..f26f671
--- /dev/null
+++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/Makefile.ref.p
@@ -0,0 +1,33 @@
+--- js/src/Makefile.ref.orig 2006-07-26 20:16:47.000000000 +0100
++++ js/src/Makefile.ref 2012-12-16 12:32:02.331547000 +0000
+@@ -305,7 +305,7 @@
+ $(OBJDIR)/jskwgen.$(OBJ_SUFFIX): jskwgen.c jskeyword.tbl
+
+ $(OBJDIR)/jsautokw.h: $(OBJDIR)/jskwgen$(HOST_BIN_SUFFIX) jskeyword.tbl
+- $(OBJDIR)/jskwgen$(HOST_BIN_SUFFIX) $@
++# $(OBJDIR)/jskwgen$(HOST_BIN_SUFFIX) $@
+
+ ifdef USE_MSVC
+
+@@ -349,8 +349,8 @@
+ $(HFILES) $(CFILES): $(OBJDIR)/jsautocfg.h
+
+ $(OBJDIR)/jsautocfg.h: $(OBJDIR)/jscpucfg
+- rm -f $@
+- $(OBJDIR)/jscpucfg > $@
++# rm -f $@
++# $(OBJDIR)/jscpucfg > $@
+
+ $(OBJDIR)/jscpucfg: $(OBJDIR)/jscpucfg.o
+ $(CC) -o $@ $(OBJDIR)/jscpucfg.o
+--- js/src/editline/Makefile.ref.orig 2005-02-12 20:10:33.000000000 +0000
++++ js/src/editline/Makefile.ref 2012-12-16 12:36:54.983350000 +0000
+@@ -103,7 +103,7 @@
+ LIBRARY = $(OBJDIR)/libedit.a
+
+ define MAKE_OBJDIR
+-if test ! -d $(@D); then rm -rf $(@D); mkdir $(@D); fi
++if test ! -d $(@D); then rm -rf $(@D); mkdir -p $(@D); fi
+ endef
+
+ all: $(LIBRARY)
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/RISCOS.mk.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/RISCOS.mk.p
new file mode 100644
index 0000000..f4afe55
--- /dev/null
+++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/RISCOS.mk.p
@@ -0,0 +1,69 @@
+--- js/src/config/RISCOS.mk.orig 2012-12-16 12:03:22.369313976 +0000
++++ js/src/config/RISCOS.mk 2012-12-16 12:03:16.485339267 +0000
+@@ -0,0 +1,66 @@
++# -*- Mode: makefile -*-
++#
++# ***** BEGIN LICENSE BLOCK *****
++# Version: MPL 1.1/GPL 2.0/LGPL 2.1
++#
++# The contents of this file are subject to the Mozilla Public License Version
++# 1.1 (the "License"); you may not use this file except in compliance with
++# the License. You may obtain a copy of the License at
++# http://www.mozilla.org/MPL/
++#
++# Software distributed under the License is distributed on an "AS IS" basis,
++# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
++# for the specific language governing rights and limitations under the
++# License.
++#
++# The Original Code is Mozilla Communicator client code, released
++# March 31, 1998.
++#
++# The Initial Developer of the Original Code is
++# Netscape Communications Corporation.
++# Portions created by the Initial Developer are Copyright (C) 1998
++# the Initial Developer. All Rights Reserved.
++#
++# Contributor(s):
++#
++# Alternatively, the contents of this file may be used under the terms of
++# either the GNU General Public License Version 2 or later (the "GPL"), or
++# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
++# in which case the provisions of the GPL or the LGPL are applicable instead
++# of those above. If you wish to allow use of your version of this file only
++# under the terms of either the GPL or the LGPL, and not to allow others to
++# use your version of this file under the terms of the MPL, indicate your
++# decision by deleting the provisions above and replace them with the notice
++# and other provisions required by the GPL or the LGPL. If you do not delete
++# the provisions above, a recipient may use your version of this file under
++# the terms of any one of the MPL, the GPL or the LGPL.
++#
++# ***** END LICENSE BLOCK *****
++
++#
++# Config for all versions of Linux
++#
++
++CCC := $(CXX)
++CC ?= gcc
++CCC ?= g++
++CFLAGS += -static -Wall -Wno-format
++OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R
++
++RANLIB = echo
++MKSHLIB = $(LD) -shared $(XMKSHLIBOPTS)
++
++#.c.o:
++# $(CC) -c -MD $*.d $(CFLAGS) $<
++
++CPU_ARCH = arm
++
++GFX_ARCH = x
++
++OS_LIBS = -lm -lc
++
++ASFLAGS += -x assembler-with-cpp
++
++# Use the editline library to provide line-editing support.
++JS_EDITLINE = 1
++
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/jsautocfg.h.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/jsautocfg.h.p
new file mode 100644
index 0000000..5ab277a
--- /dev/null
+++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/jsautocfg.h.p
@@ -0,0 +1,55 @@
+--- js/src/RISCOS_OPT.OBJ/jsautocfg.h.orig 2012-12-16 12:41:07.537588600 +0000
++++ js/src/RISCOS_OPT.OBJ/jsautocfg.h 2012-12-16 12:40:03.307277000 +0000
+@@ -0,0 +1,52 @@
++#ifndef js_cpucfg___
++#define js_cpucfg___
++
++/* AUTOMATICALLY GENERATED - DO NOT EDIT */
++
++#define IS_LITTLE_ENDIAN 1
++#undef IS_BIG_ENDIAN
++
++#define JS_BYTES_PER_BYTE 1L
++#define JS_BYTES_PER_SHORT 2L
++#define JS_BYTES_PER_INT 4L
++#define JS_BYTES_PER_INT64 8L
++#define JS_BYTES_PER_LONG 4L
++#define JS_BYTES_PER_FLOAT 4L
++#define JS_BYTES_PER_DOUBLE 8L
++#define JS_BYTES_PER_WORD 4L
++#define JS_BYTES_PER_DWORD 8L
++
++#define JS_BITS_PER_BYTE 8L
++#define JS_BITS_PER_SHORT 16L
++#define JS_BITS_PER_INT 32L
++#define JS_BITS_PER_INT64 64L
++#define JS_BITS_PER_LONG 32L
++#define JS_BITS_PER_FLOAT 32L
++#define JS_BITS_PER_DOUBLE 64L
++#define JS_BITS_PER_WORD 32L
++
++#define JS_BITS_PER_BYTE_LOG2 3L
++#define JS_BITS_PER_SHORT_LOG2 4L
++#define JS_BITS_PER_INT_LOG2 5L
++#define JS_BITS_PER_INT64_LOG2 6L
++#define JS_BITS_PER_LONG_LOG2 5L
++#define JS_BITS_PER_FLOAT_LOG2 5L
++#define JS_BITS_PER_DOUBLE_LOG2 6L
++#define JS_BITS_PER_WORD_LOG2 5L
++
++#define JS_ALIGN_OF_SHORT 2L
++#define JS_ALIGN_OF_INT 4L
++#define JS_ALIGN_OF_LONG 4L
++#define JS_ALIGN_OF_INT64 4L
++#define JS_ALIGN_OF_FLOAT 4L
++#define JS_ALIGN_OF_DOUBLE 4L
++#define JS_ALIGN_OF_POINTER 4L
++#define JS_ALIGN_OF_WORD 4L
++
++#define JS_BYTES_PER_WORD_LOG2 2L
++#define JS_BYTES_PER_DWORD_LOG2 3L
++#define JS_WORDS_PER_DWORD_LOG2 1L
++
++#define JS_STACK_GROWTH_DIRECTION (-1)
++
++#endif /* js_cpucfg___ */
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/jsautokw.h.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/jsautokw.h.p
new file mode 100644
index 0000000..9c66cf4
--- /dev/null
+++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/jsautokw.h.p
@@ -0,0 +1,404 @@
+--- js/src/RISCOS_OPT.OBJ/jsautokw.h.orig 2012-12-16 12:44:10.504922500 +0000
++++ js/src/RISCOS_OPT.OBJ/jsautokw.h 2012-12-16 12:44:24.520490000 +0000
+@@ -0,0 +1,401 @@
++ /*
++ * Generating switch for the list of 61 entries:
++ * break
++ * case
++ * continue
++ * default
++ * delete
++ * do
++ * else
++ * export
++ * false
++ * for
++ * function
++ * if
++ * in
++ * new
++ * null
++ * return
++ * switch
++ * this
++ * true
++ * typeof
++ * var
++ * void
++ * while
++ * with
++ * const
++ * try
++ * catch
++ * finally
++ * throw
++ * instanceof
++ * abstract
++ * boolean
++ * byte
++ * char
++ * class
++ * double
++ * extends
++ * final
++ * float
++ * goto
++ * implements
++ * import
++ * int
++ * interface
++ * long
++ * native
++ * package
++ * private
++ * protected
++ * public
++ * short
++ * static
++ * super
++ * synchronized
++ * throws
++ * transient
++ * volatile
++ * enum
++ * debugger
++ * yield
++ * let
++ */
++ switch (JSKW_LENGTH()) {
++ case 2:
++ if (JSKW_AT(0) == 'd') {
++ if (JSKW_AT(1)=='o') {
++ JSKW_GOT_MATCH(5) /* do */
++ }
++ JSKW_NO_MATCH()
++ }
++ if (JSKW_AT(0) == 'i') {
++ if (JSKW_AT(1) == 'f') {
++ JSKW_GOT_MATCH(11) /* if */
++ }
++ if (JSKW_AT(1) == 'n') {
++ JSKW_GOT_MATCH(12) /* in */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ case 3:
++ switch (JSKW_AT(2)) {
++ case 'r':
++ if (JSKW_AT(0) == 'f') {
++ if (JSKW_AT(1)=='o') {
++ JSKW_GOT_MATCH(9) /* for */
++ }
++ JSKW_NO_MATCH()
++ }
++ if (JSKW_AT(0) == 'v') {
++ if (JSKW_AT(1)=='a') {
++ JSKW_GOT_MATCH(20) /* var */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ case 't':
++ if (JSKW_AT(0) == 'i') {
++ if (JSKW_AT(1)=='n') {
++ JSKW_GOT_MATCH(42) /* int */
++ }
++ JSKW_NO_MATCH()
++ }
++ if (JSKW_AT(0) == 'l') {
++ if (JSKW_AT(1)=='e') {
++ JSKW_GOT_MATCH(60) /* let */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ case 'w':
++ if (JSKW_AT(0)=='n' && JSKW_AT(1)=='e') {
++ JSKW_GOT_MATCH(13) /* new */
++ }
++ JSKW_NO_MATCH()
++ case 'y':
++ if (JSKW_AT(0)=='t' && JSKW_AT(1)=='r') {
++ JSKW_GOT_MATCH(25) /* try */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ case 4:
++ switch (JSKW_AT(3)) {
++ case 'd':
++ if (JSKW_AT(0)=='v' && JSKW_AT(1)=='o' && JSKW_AT(2)=='i') {
++ JSKW_GOT_MATCH(21) /* void */
++ }
++ JSKW_NO_MATCH()
++ case 'e':
++ if (JSKW_AT(2) == 's') {
++ if (JSKW_AT(0) == 'c') {
++ if (JSKW_AT(1)=='a') {
++ JSKW_GOT_MATCH(1) /* case */
++ }
++ JSKW_NO_MATCH()
++ }
++ if (JSKW_AT(0) == 'e') {
++ if (JSKW_AT(1)=='l') {
++ JSKW_GOT_MATCH(6) /* else */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ }
++ if (JSKW_AT(2) == 't') {
++ if (JSKW_AT(0)=='b' && JSKW_AT(1)=='y') {
++ JSKW_GOT_MATCH(32) /* byte */
++ }
++ JSKW_NO_MATCH()
++ }
++ if (JSKW_AT(2) == 'u') {
++ if (JSKW_AT(0)=='t' && JSKW_AT(1)=='r') {
++ JSKW_GOT_MATCH(18) /* true */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ case 'g':
++ if (JSKW_AT(0)=='l' && JSKW_AT(1)=='o' && JSKW_AT(2)=='n') {
++ JSKW_GOT_MATCH(44) /* long */
++ }
++ JSKW_NO_MATCH()
++ case 'h':
++ if (JSKW_AT(0)=='w' && JSKW_AT(1)=='i' && JSKW_AT(2)=='t') {
++ JSKW_GOT_MATCH(23) /* with */
++ }
++ JSKW_NO_MATCH()
++ case 'l':
++ if (JSKW_AT(0)=='n' && JSKW_AT(1)=='u' && JSKW_AT(2)=='l') {
++ JSKW_GOT_MATCH(14) /* null */
++ }
++ JSKW_NO_MATCH()
++ case 'm':
++ if (JSKW_AT(0)=='e' && JSKW_AT(1)=='n' && JSKW_AT(2)=='u') {
++ JSKW_GOT_MATCH(57) /* enum */
++ }
++ JSKW_NO_MATCH()
++ case 'o':
++ if (JSKW_AT(0)=='g' && JSKW_AT(1)=='o' && JSKW_AT(2)=='t') {
++ JSKW_GOT_MATCH(39) /* goto */
++ }
++ JSKW_NO_MATCH()
++ case 'r':
++ if (JSKW_AT(0)=='c' && JSKW_AT(1)=='h' && JSKW_AT(2)=='a') {
++ JSKW_GOT_MATCH(33) /* char */
++ }
++ JSKW_NO_MATCH()
++ case 's':
++ if (JSKW_AT(0)=='t' && JSKW_AT(1)=='h' && JSKW_AT(2)=='i') {
++ JSKW_GOT_MATCH(17) /* this */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ case 5:
++ switch (JSKW_AT(3)) {
++ case 'a':
++ if (JSKW_AT(0) == 'b') {
++ if (JSKW_AT(4)=='k' && JSKW_AT(1)=='r' && JSKW_AT(2)=='e') {
++ JSKW_GOT_MATCH(0) /* break */
++ }
++ JSKW_NO_MATCH()
++ }
++ if (JSKW_AT(0) == 'f') {
++ if (JSKW_AT(4) == 'l') {
++ if (JSKW_AT(2)=='n' && JSKW_AT(1)=='i') {
++ JSKW_GOT_MATCH(37) /* final */
++ }
++ JSKW_NO_MATCH()
++ }
++ if (JSKW_AT(4) == 't') {
++ if (JSKW_AT(2)=='o' && JSKW_AT(1)=='l') {
++ JSKW_GOT_MATCH(38) /* float */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ case 'c':
++ if (JSKW_AT(0)=='c' && JSKW_AT(1)=='a' && JSKW_AT(2)=='t' && JSKW_AT(4)=='h') {
++ JSKW_GOT_MATCH(26) /* catch */
++ }
++ JSKW_NO_MATCH()
++ case 'e':
++ if (JSKW_AT(0)=='s' && JSKW_AT(1)=='u' && JSKW_AT(2)=='p' && JSKW_AT(4)=='r') {
++ JSKW_GOT_MATCH(52) /* super */
++ }
++ JSKW_NO_MATCH()
++ case 'l':
++ if (JSKW_AT(0) == 'w') {
++ if (JSKW_AT(4)=='e' && JSKW_AT(1)=='h' && JSKW_AT(2)=='i') {
++ JSKW_GOT_MATCH(22) /* while */
++ }
++ JSKW_NO_MATCH()
++ }
++ if (JSKW_AT(0) == 'y') {
++ if (JSKW_AT(4)=='d' && JSKW_AT(1)=='i' && JSKW_AT(2)=='e') {
++ JSKW_GOT_MATCH(59) /* yield */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ case 'o':
++ if (JSKW_AT(0)=='t' && JSKW_AT(1)=='h' && JSKW_AT(2)=='r' && JSKW_AT(4)=='w') {
++ JSKW_GOT_MATCH(28) /* throw */
++ }
++ JSKW_NO_MATCH()
++ case 'r':
++ if (JSKW_AT(0)=='s' && JSKW_AT(1)=='h' && JSKW_AT(2)=='o' && JSKW_AT(4)=='t') {
++ JSKW_GOT_MATCH(50) /* short */
++ }
++ JSKW_NO_MATCH()
++ case 's':
++ if (JSKW_AT(0) == 'c') {
++ if (JSKW_AT(4) == 's') {
++ if (JSKW_AT(2)=='a' && JSKW_AT(1)=='l') {
++ JSKW_GOT_MATCH(34) /* class */
++ }
++ JSKW_NO_MATCH()
++ }
++ if (JSKW_AT(4) == 't') {
++ if (JSKW_AT(2)=='n' && JSKW_AT(1)=='o') {
++ JSKW_GOT_MATCH(24) /* const */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ }
++ if (JSKW_AT(0) == 'f') {
++ if (JSKW_AT(4)=='e' && JSKW_AT(1)=='a' && JSKW_AT(2)=='l') {
++ JSKW_GOT_MATCH(8) /* false */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ case 6:
++ switch (JSKW_AT(0)) {
++ case 'd':
++ if (JSKW_AT(1) == 'o') {
++ if (JSKW_AT(5)=='e' && JSKW_AT(4)=='l' && JSKW_AT(2)=='u' && JSKW_AT(3)=='b') {
++ JSKW_GOT_MATCH(35) /* double */
++ }
++ JSKW_NO_MATCH()
++ }
++ if (JSKW_AT(1) == 'e') {
++ if (JSKW_AT(5)=='e' && JSKW_AT(4)=='t' && JSKW_AT(2)=='l' && JSKW_AT(3)=='e') {
++ JSKW_GOT_MATCH(4) /* delete */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ case 'e':
++ JSKW_TEST_GUESS(7) /* export */
++ case 'i':
++ JSKW_TEST_GUESS(41) /* import */
++ case 'n':
++ JSKW_TEST_GUESS(45) /* native */
++ case 'p':
++ JSKW_TEST_GUESS(49) /* public */
++ case 'r':
++ JSKW_TEST_GUESS(15) /* return */
++ case 's':
++ if (JSKW_AT(1) == 't') {
++ if (JSKW_AT(5)=='c' && JSKW_AT(4)=='i' && JSKW_AT(2)=='a' && JSKW_AT(3)=='t') {
++ JSKW_GOT_MATCH(51) /* static */
++ }
++ JSKW_NO_MATCH()
++ }
++ if (JSKW_AT(1) == 'w') {
++ if (JSKW_AT(5)=='h' && JSKW_AT(4)=='c' && JSKW_AT(2)=='i' && JSKW_AT(3)=='t') {
++ JSKW_GOT_MATCH(16) /* switch */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ case 't':
++ if (JSKW_AT(5) == 'f') {
++ if (JSKW_AT(4)=='o' && JSKW_AT(1)=='y' && JSKW_AT(2)=='p' && JSKW_AT(3)=='e') {
++ JSKW_GOT_MATCH(19) /* typeof */
++ }
++ JSKW_NO_MATCH()
++ }
++ if (JSKW_AT(5) == 's') {
++ if (JSKW_AT(4)=='w' && JSKW_AT(1)=='h' && JSKW_AT(2)=='r' && JSKW_AT(3)=='o') {
++ JSKW_GOT_MATCH(54) /* throws */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ case 7:
++ switch (JSKW_AT(0)) {
++ case 'b':
++ JSKW_TEST_GUESS(31) /* boolean */
++ case 'd':
++ JSKW_TEST_GUESS(3) /* default */
++ case 'e':
++ JSKW_TEST_GUESS(36) /* extends */
++ case 'f':
++ JSKW_TEST_GUESS(27) /* finally */
++ case 'p':
++ if (JSKW_AT(1) == 'a') {
++ JSKW_TEST_GUESS(46) /* package */
++ }
++ if (JSKW_AT(1) == 'r') {
++ JSKW_TEST_GUESS(47) /* private */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ case 8:
++ switch (JSKW_AT(4)) {
++ case 'g':
++ JSKW_TEST_GUESS(58) /* debugger */
++ case 'i':
++ JSKW_TEST_GUESS(2) /* continue */
++ case 'r':
++ JSKW_TEST_GUESS(30) /* abstract */
++ case 't':
++ if (JSKW_AT(1) == 'o') {
++ JSKW_TEST_GUESS(56) /* volatile */
++ }
++ if (JSKW_AT(1) == 'u') {
++ JSKW_TEST_GUESS(10) /* function */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ case 9:
++ if (JSKW_AT(1) == 'n') {
++ JSKW_TEST_GUESS(43) /* interface */
++ }
++ if (JSKW_AT(1) == 'r') {
++ if (JSKW_AT(0) == 'p') {
++ JSKW_TEST_GUESS(48) /* protected */
++ }
++ if (JSKW_AT(0) == 't') {
++ JSKW_TEST_GUESS(55) /* transient */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ case 10:
++ if (JSKW_AT(1) == 'n') {
++ JSKW_TEST_GUESS(29) /* instanceof */
++ }
++ if (JSKW_AT(1) == 'm') {
++ JSKW_TEST_GUESS(40) /* implements */
++ }
++ JSKW_NO_MATCH()
++ case 12:
++ JSKW_TEST_GUESS(53) /* synchronized */
++ }
++ JSKW_NO_MATCH()
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/rules.mk.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/rules.mk.p
new file mode 100644
index 0000000..418c018
--- /dev/null
+++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/rules.mk.p
@@ -0,0 +1,36 @@
+--- js/src/rules.mk.orig 2012-12-16 14:55:34.000000000 +0000
++++ js/src/rules.mk 2012-12-16 15:01:53.000000000 +0000
+@@ -58,7 +58,7 @@
+ # TARGETS = $(LIBRARY) # $(PROGRAM) not supported for MSVC yet
+ TARGETS += $(SHARED_LIBRARY) $(PROGRAM) # it is now
+ else
+-TARGETS += $(LIBRARY) $(SHARED_LIBRARY) $(PROGRAM)
++TARGETS += $(LIBRARY) $(PROGRAM)
+ endif
+
+ all:
+@@ -158,9 +158,9 @@
+
+ export:
+ +$(LOOP_OVER_PREDIRS)
+- mkdir -p $(DIST)/include $(DIST)/$(LIBDIR) $(DIST)/bin
++ mkdir -p $(DIST)/include/js $(DIST)/$(LIBDIR) $(DIST)/bin
+ ifneq "$(strip $(HFILES))" ""
+- $(CP) $(HFILES) $(DIST)/include
++ $(CP) $(HFILES) $(DIST)/include/js/
+ endif
+ ifneq "$(strip $(LIBRARY))" ""
+ $(CP) $(LIBRARY) $(DIST)/$(LIBDIR)
+@@ -168,9 +168,9 @@
+ ifneq "$(strip $(JARS))" ""
+ $(CP) $(JARS) $(DIST)/$(LIBDIR)
+ endif
+-ifneq "$(strip $(SHARED_LIBRARY))" ""
+- $(CP) $(SHARED_LIBRARY) $(DIST)/$(LIBDIR)
+-endif
++#ifneq "$(strip $(SHARED_LIBRARY))" ""
++# $(CP) $(SHARED_LIBRARY) $(DIST)/$(LIBDIR)
++#endif
+ ifneq "$(strip $(PROGRAM))" ""
+ $(CP) $(PROGRAM) $(DIST)/bin
+ endif
-----------------------------------------------------------------------
Summary of changes:
sdk/Makefile | 12 +-
.../arm-unknown-riscos-1.7.0/Makefile.ref.p | 33 ++
.../arm-unknown-riscos-1.7.0/RISCOS.mk.p | 69 ++++
.../arm-unknown-riscos-1.7.0/jsautocfg.h.p | 55 +++
.../arm-unknown-riscos-1.7.0/jsautokw.h.p | 404 ++++++++++++++++++++
.../arm-unknown-riscos-1.7.0/rules.mk.p | 36 ++
6 files changed, 605 insertions(+), 4 deletions(-)
create mode 100644 sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/Makefile.ref.p
create mode 100644 sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/RISCOS.mk.p
create mode 100644 sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/jsautocfg.h.p
create mode 100644 sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/jsautokw.h.p
create mode 100644 sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/rules.mk.p
diff --git a/sdk/Makefile b/sdk/Makefile
index a2d589d..0113144 100644
--- a/sdk/Makefile
+++ b/sdk/Makefile
@@ -84,7 +84,9 @@ ifeq ($(TARGET),arm-unknown-riscos)
SDK_ITEMS := $(addprefix $(BUILDSTEPS)/, $(COMMON_SDK_ITEMS) spidermonkey.d)
EXTRAARGS_LIBCARES := --disable-shared
EXTRAARGS_LIBCURL := --enable-nonblocking --enable-ares $(LIBCURL_DISABLES)
- ifeq ($(VERSION_SPIDERMONKEY),1.8.5)
+ ifeq ($(VERSION_SPIDERMONKEY),1.7.0)
+ EXTRAARGS_SPIDERMONKEY := BUILD_OPT=1 OS_ARCH=RISCOS OS_CPUARCH=arm OS_CONFIG=RISCOS
+ else
EXTRAARGS_SPIDERMONKEY := --disable-tracejit --disable-thumb2 --without-thumb --enable-static --disable-shared --disable-shared-js --with-cpu-arch=armv3 --disable-tests --disable-methodjit
endif
endif
@@ -109,7 +111,7 @@ ifeq ($(TARGET),ppc-amigaos)
SDK_ITEMS := $(addprefix $(BUILDSTEPS)/, libiconv.d libtre.d libpbl.d $(COMMON_SDK_ITEMS))
EXTRAARGS_LIBCARES := --disable-shared
EXTRAARGS_LIBCURL := --disable-ntlm-wb --without-random
- #VERSION_SPIDERMONKEY := 1.7.0
+ VERSION_SPIDERMONKEY := 1.7.0
endif
ifeq ($(TARGET),i686-w64-mingw32)
@@ -490,12 +492,13 @@ $(SOURCEDIR)/nspr-$(VERSION_NSPR).tar.gz:
# spidermonkey (libmozjs)
$(BUILDSTEPS)/spidermonkey.d: $(BUILDSTEPS)/builddir.d $(BUILDSTEPS)/nspr.d $(BUILDSTEPS)/spidermonkey-src.d
ifeq ($(VERSION_SPIDERMONKEY),1.7.0)
- $(env) make -C $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src -f Makefile.ref
+ $(env) make -C $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src -f Makefile.ref JS_DIST=$(GCCSDK_INSTALL_ENV) $(EXTRAARGS_SPIDERMONKEY)
+ $(env) make -C $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src -f Makefile.ref JS_DIST=$(GCCSDK_INSTALL_ENV) $(EXTRAARGS_SPIDERMONKEY) export
else
cd $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src && $(env) ./configure --prefix=$(GCCSDK_INSTALL_ENV) --target=$(TARGET) --with-system-nspr --with-nspr-prefix=$(GCCSDK_INSTALL_ENV) $(EXTRAARGS_SPIDERMONKEY)
cd $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src && $(env) make
-endif
cd $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src && $(env) make install
+endif
touch $@
$(BUILDSTEPS)/spidermonkey-src.d: $(BUILDSTEPS)/sourcedir.d $(SOURCEDIR)/spidermonkey-$(VERSION_SPIDERMONKEY).tar.gz
@@ -505,6 +508,7 @@ $(BUILDSTEPS)/spidermonkey-src.d: $(BUILDSTEPS)/sourcedir.d $(SOURCEDIR)/spiderm
ifeq ($(VERSION_SPIDERMONKEY),1.7.0)
mkdir $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)
mv $(BUILDDIR)/spidermonkey/js $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/
+ mkdir $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src/RISCOS_OPT.OBJ
endif
for p in `ls $(RECIPES)/patches/spidermonkey/$(TARGET)-$(VERSION_SPIDERMONKEY)/*.p` ; do patch -d $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY) -p0 <$$p ; done
touch $@
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/Makefile.ref.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/Makefile.ref.p
new file mode 100644
index 0000000..f26f671
--- /dev/null
+++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/Makefile.ref.p
@@ -0,0 +1,33 @@
+--- js/src/Makefile.ref.orig 2006-07-26 20:16:47.000000000 +0100
++++ js/src/Makefile.ref 2012-12-16 12:32:02.331547000 +0000
+@@ -305,7 +305,7 @@
+ $(OBJDIR)/jskwgen.$(OBJ_SUFFIX): jskwgen.c jskeyword.tbl
+
+ $(OBJDIR)/jsautokw.h: $(OBJDIR)/jskwgen$(HOST_BIN_SUFFIX) jskeyword.tbl
+- $(OBJDIR)/jskwgen$(HOST_BIN_SUFFIX) $@
++# $(OBJDIR)/jskwgen$(HOST_BIN_SUFFIX) $@
+
+ ifdef USE_MSVC
+
+@@ -349,8 +349,8 @@
+ $(HFILES) $(CFILES): $(OBJDIR)/jsautocfg.h
+
+ $(OBJDIR)/jsautocfg.h: $(OBJDIR)/jscpucfg
+- rm -f $@
+- $(OBJDIR)/jscpucfg > $@
++# rm -f $@
++# $(OBJDIR)/jscpucfg > $@
+
+ $(OBJDIR)/jscpucfg: $(OBJDIR)/jscpucfg.o
+ $(CC) -o $@ $(OBJDIR)/jscpucfg.o
+--- js/src/editline/Makefile.ref.orig 2005-02-12 20:10:33.000000000 +0000
++++ js/src/editline/Makefile.ref 2012-12-16 12:36:54.983350000 +0000
+@@ -103,7 +103,7 @@
+ LIBRARY = $(OBJDIR)/libedit.a
+
+ define MAKE_OBJDIR
+-if test ! -d $(@D); then rm -rf $(@D); mkdir $(@D); fi
++if test ! -d $(@D); then rm -rf $(@D); mkdir -p $(@D); fi
+ endef
+
+ all: $(LIBRARY)
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/RISCOS.mk.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/RISCOS.mk.p
new file mode 100644
index 0000000..f4afe55
--- /dev/null
+++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/RISCOS.mk.p
@@ -0,0 +1,69 @@
+--- js/src/config/RISCOS.mk.orig 2012-12-16 12:03:22.369313976 +0000
++++ js/src/config/RISCOS.mk 2012-12-16 12:03:16.485339267 +0000
+@@ -0,0 +1,66 @@
++# -*- Mode: makefile -*-
++#
++# ***** BEGIN LICENSE BLOCK *****
++# Version: MPL 1.1/GPL 2.0/LGPL 2.1
++#
++# The contents of this file are subject to the Mozilla Public License Version
++# 1.1 (the "License"); you may not use this file except in compliance with
++# the License. You may obtain a copy of the License at
++# http://www.mozilla.org/MPL/
++#
++# Software distributed under the License is distributed on an "AS IS" basis,
++# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
++# for the specific language governing rights and limitations under the
++# License.
++#
++# The Original Code is Mozilla Communicator client code, released
++# March 31, 1998.
++#
++# The Initial Developer of the Original Code is
++# Netscape Communications Corporation.
++# Portions created by the Initial Developer are Copyright (C) 1998
++# the Initial Developer. All Rights Reserved.
++#
++# Contributor(s):
++#
++# Alternatively, the contents of this file may be used under the terms of
++# either the GNU General Public License Version 2 or later (the "GPL"), or
++# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
++# in which case the provisions of the GPL or the LGPL are applicable instead
++# of those above. If you wish to allow use of your version of this file only
++# under the terms of either the GPL or the LGPL, and not to allow others to
++# use your version of this file under the terms of the MPL, indicate your
++# decision by deleting the provisions above and replace them with the notice
++# and other provisions required by the GPL or the LGPL. If you do not delete
++# the provisions above, a recipient may use your version of this file under
++# the terms of any one of the MPL, the GPL or the LGPL.
++#
++# ***** END LICENSE BLOCK *****
++
++#
++# Config for all versions of Linux
++#
++
++CCC := $(CXX)
++CC ?= gcc
++CCC ?= g++
++CFLAGS += -static -Wall -Wno-format
++OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R
++
++RANLIB = echo
++MKSHLIB = $(LD) -shared $(XMKSHLIBOPTS)
++
++#.c.o:
++# $(CC) -c -MD $*.d $(CFLAGS) $<
++
++CPU_ARCH = arm
++
++GFX_ARCH = x
++
++OS_LIBS = -lm -lc
++
++ASFLAGS += -x assembler-with-cpp
++
++# Use the editline library to provide line-editing support.
++JS_EDITLINE = 1
++
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/jsautocfg.h.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/jsautocfg.h.p
new file mode 100644
index 0000000..5ab277a
--- /dev/null
+++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/jsautocfg.h.p
@@ -0,0 +1,55 @@
+--- js/src/RISCOS_OPT.OBJ/jsautocfg.h.orig 2012-12-16 12:41:07.537588600 +0000
++++ js/src/RISCOS_OPT.OBJ/jsautocfg.h 2012-12-16 12:40:03.307277000 +0000
+@@ -0,0 +1,52 @@
++#ifndef js_cpucfg___
++#define js_cpucfg___
++
++/* AUTOMATICALLY GENERATED - DO NOT EDIT */
++
++#define IS_LITTLE_ENDIAN 1
++#undef IS_BIG_ENDIAN
++
++#define JS_BYTES_PER_BYTE 1L
++#define JS_BYTES_PER_SHORT 2L
++#define JS_BYTES_PER_INT 4L
++#define JS_BYTES_PER_INT64 8L
++#define JS_BYTES_PER_LONG 4L
++#define JS_BYTES_PER_FLOAT 4L
++#define JS_BYTES_PER_DOUBLE 8L
++#define JS_BYTES_PER_WORD 4L
++#define JS_BYTES_PER_DWORD 8L
++
++#define JS_BITS_PER_BYTE 8L
++#define JS_BITS_PER_SHORT 16L
++#define JS_BITS_PER_INT 32L
++#define JS_BITS_PER_INT64 64L
++#define JS_BITS_PER_LONG 32L
++#define JS_BITS_PER_FLOAT 32L
++#define JS_BITS_PER_DOUBLE 64L
++#define JS_BITS_PER_WORD 32L
++
++#define JS_BITS_PER_BYTE_LOG2 3L
++#define JS_BITS_PER_SHORT_LOG2 4L
++#define JS_BITS_PER_INT_LOG2 5L
++#define JS_BITS_PER_INT64_LOG2 6L
++#define JS_BITS_PER_LONG_LOG2 5L
++#define JS_BITS_PER_FLOAT_LOG2 5L
++#define JS_BITS_PER_DOUBLE_LOG2 6L
++#define JS_BITS_PER_WORD_LOG2 5L
++
++#define JS_ALIGN_OF_SHORT 2L
++#define JS_ALIGN_OF_INT 4L
++#define JS_ALIGN_OF_LONG 4L
++#define JS_ALIGN_OF_INT64 4L
++#define JS_ALIGN_OF_FLOAT 4L
++#define JS_ALIGN_OF_DOUBLE 4L
++#define JS_ALIGN_OF_POINTER 4L
++#define JS_ALIGN_OF_WORD 4L
++
++#define JS_BYTES_PER_WORD_LOG2 2L
++#define JS_BYTES_PER_DWORD_LOG2 3L
++#define JS_WORDS_PER_DWORD_LOG2 1L
++
++#define JS_STACK_GROWTH_DIRECTION (-1)
++
++#endif /* js_cpucfg___ */
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/jsautokw.h.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/jsautokw.h.p
new file mode 100644
index 0000000..9c66cf4
--- /dev/null
+++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/jsautokw.h.p
@@ -0,0 +1,404 @@
+--- js/src/RISCOS_OPT.OBJ/jsautokw.h.orig 2012-12-16 12:44:10.504922500 +0000
++++ js/src/RISCOS_OPT.OBJ/jsautokw.h 2012-12-16 12:44:24.520490000 +0000
+@@ -0,0 +1,401 @@
++ /*
++ * Generating switch for the list of 61 entries:
++ * break
++ * case
++ * continue
++ * default
++ * delete
++ * do
++ * else
++ * export
++ * false
++ * for
++ * function
++ * if
++ * in
++ * new
++ * null
++ * return
++ * switch
++ * this
++ * true
++ * typeof
++ * var
++ * void
++ * while
++ * with
++ * const
++ * try
++ * catch
++ * finally
++ * throw
++ * instanceof
++ * abstract
++ * boolean
++ * byte
++ * char
++ * class
++ * double
++ * extends
++ * final
++ * float
++ * goto
++ * implements
++ * import
++ * int
++ * interface
++ * long
++ * native
++ * package
++ * private
++ * protected
++ * public
++ * short
++ * static
++ * super
++ * synchronized
++ * throws
++ * transient
++ * volatile
++ * enum
++ * debugger
++ * yield
++ * let
++ */
++ switch (JSKW_LENGTH()) {
++ case 2:
++ if (JSKW_AT(0) == 'd') {
++ if (JSKW_AT(1)=='o') {
++ JSKW_GOT_MATCH(5) /* do */
++ }
++ JSKW_NO_MATCH()
++ }
++ if (JSKW_AT(0) == 'i') {
++ if (JSKW_AT(1) == 'f') {
++ JSKW_GOT_MATCH(11) /* if */
++ }
++ if (JSKW_AT(1) == 'n') {
++ JSKW_GOT_MATCH(12) /* in */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ case 3:
++ switch (JSKW_AT(2)) {
++ case 'r':
++ if (JSKW_AT(0) == 'f') {
++ if (JSKW_AT(1)=='o') {
++ JSKW_GOT_MATCH(9) /* for */
++ }
++ JSKW_NO_MATCH()
++ }
++ if (JSKW_AT(0) == 'v') {
++ if (JSKW_AT(1)=='a') {
++ JSKW_GOT_MATCH(20) /* var */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ case 't':
++ if (JSKW_AT(0) == 'i') {
++ if (JSKW_AT(1)=='n') {
++ JSKW_GOT_MATCH(42) /* int */
++ }
++ JSKW_NO_MATCH()
++ }
++ if (JSKW_AT(0) == 'l') {
++ if (JSKW_AT(1)=='e') {
++ JSKW_GOT_MATCH(60) /* let */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ case 'w':
++ if (JSKW_AT(0)=='n' && JSKW_AT(1)=='e') {
++ JSKW_GOT_MATCH(13) /* new */
++ }
++ JSKW_NO_MATCH()
++ case 'y':
++ if (JSKW_AT(0)=='t' && JSKW_AT(1)=='r') {
++ JSKW_GOT_MATCH(25) /* try */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ case 4:
++ switch (JSKW_AT(3)) {
++ case 'd':
++ if (JSKW_AT(0)=='v' && JSKW_AT(1)=='o' && JSKW_AT(2)=='i') {
++ JSKW_GOT_MATCH(21) /* void */
++ }
++ JSKW_NO_MATCH()
++ case 'e':
++ if (JSKW_AT(2) == 's') {
++ if (JSKW_AT(0) == 'c') {
++ if (JSKW_AT(1)=='a') {
++ JSKW_GOT_MATCH(1) /* case */
++ }
++ JSKW_NO_MATCH()
++ }
++ if (JSKW_AT(0) == 'e') {
++ if (JSKW_AT(1)=='l') {
++ JSKW_GOT_MATCH(6) /* else */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ }
++ if (JSKW_AT(2) == 't') {
++ if (JSKW_AT(0)=='b' && JSKW_AT(1)=='y') {
++ JSKW_GOT_MATCH(32) /* byte */
++ }
++ JSKW_NO_MATCH()
++ }
++ if (JSKW_AT(2) == 'u') {
++ if (JSKW_AT(0)=='t' && JSKW_AT(1)=='r') {
++ JSKW_GOT_MATCH(18) /* true */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ case 'g':
++ if (JSKW_AT(0)=='l' && JSKW_AT(1)=='o' && JSKW_AT(2)=='n') {
++ JSKW_GOT_MATCH(44) /* long */
++ }
++ JSKW_NO_MATCH()
++ case 'h':
++ if (JSKW_AT(0)=='w' && JSKW_AT(1)=='i' && JSKW_AT(2)=='t') {
++ JSKW_GOT_MATCH(23) /* with */
++ }
++ JSKW_NO_MATCH()
++ case 'l':
++ if (JSKW_AT(0)=='n' && JSKW_AT(1)=='u' && JSKW_AT(2)=='l') {
++ JSKW_GOT_MATCH(14) /* null */
++ }
++ JSKW_NO_MATCH()
++ case 'm':
++ if (JSKW_AT(0)=='e' && JSKW_AT(1)=='n' && JSKW_AT(2)=='u') {
++ JSKW_GOT_MATCH(57) /* enum */
++ }
++ JSKW_NO_MATCH()
++ case 'o':
++ if (JSKW_AT(0)=='g' && JSKW_AT(1)=='o' && JSKW_AT(2)=='t') {
++ JSKW_GOT_MATCH(39) /* goto */
++ }
++ JSKW_NO_MATCH()
++ case 'r':
++ if (JSKW_AT(0)=='c' && JSKW_AT(1)=='h' && JSKW_AT(2)=='a') {
++ JSKW_GOT_MATCH(33) /* char */
++ }
++ JSKW_NO_MATCH()
++ case 's':
++ if (JSKW_AT(0)=='t' && JSKW_AT(1)=='h' && JSKW_AT(2)=='i') {
++ JSKW_GOT_MATCH(17) /* this */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ case 5:
++ switch (JSKW_AT(3)) {
++ case 'a':
++ if (JSKW_AT(0) == 'b') {
++ if (JSKW_AT(4)=='k' && JSKW_AT(1)=='r' && JSKW_AT(2)=='e') {
++ JSKW_GOT_MATCH(0) /* break */
++ }
++ JSKW_NO_MATCH()
++ }
++ if (JSKW_AT(0) == 'f') {
++ if (JSKW_AT(4) == 'l') {
++ if (JSKW_AT(2)=='n' && JSKW_AT(1)=='i') {
++ JSKW_GOT_MATCH(37) /* final */
++ }
++ JSKW_NO_MATCH()
++ }
++ if (JSKW_AT(4) == 't') {
++ if (JSKW_AT(2)=='o' && JSKW_AT(1)=='l') {
++ JSKW_GOT_MATCH(38) /* float */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ case 'c':
++ if (JSKW_AT(0)=='c' && JSKW_AT(1)=='a' && JSKW_AT(2)=='t' && JSKW_AT(4)=='h') {
++ JSKW_GOT_MATCH(26) /* catch */
++ }
++ JSKW_NO_MATCH()
++ case 'e':
++ if (JSKW_AT(0)=='s' && JSKW_AT(1)=='u' && JSKW_AT(2)=='p' && JSKW_AT(4)=='r') {
++ JSKW_GOT_MATCH(52) /* super */
++ }
++ JSKW_NO_MATCH()
++ case 'l':
++ if (JSKW_AT(0) == 'w') {
++ if (JSKW_AT(4)=='e' && JSKW_AT(1)=='h' && JSKW_AT(2)=='i') {
++ JSKW_GOT_MATCH(22) /* while */
++ }
++ JSKW_NO_MATCH()
++ }
++ if (JSKW_AT(0) == 'y') {
++ if (JSKW_AT(4)=='d' && JSKW_AT(1)=='i' && JSKW_AT(2)=='e') {
++ JSKW_GOT_MATCH(59) /* yield */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ case 'o':
++ if (JSKW_AT(0)=='t' && JSKW_AT(1)=='h' && JSKW_AT(2)=='r' && JSKW_AT(4)=='w') {
++ JSKW_GOT_MATCH(28) /* throw */
++ }
++ JSKW_NO_MATCH()
++ case 'r':
++ if (JSKW_AT(0)=='s' && JSKW_AT(1)=='h' && JSKW_AT(2)=='o' && JSKW_AT(4)=='t') {
++ JSKW_GOT_MATCH(50) /* short */
++ }
++ JSKW_NO_MATCH()
++ case 's':
++ if (JSKW_AT(0) == 'c') {
++ if (JSKW_AT(4) == 's') {
++ if (JSKW_AT(2)=='a' && JSKW_AT(1)=='l') {
++ JSKW_GOT_MATCH(34) /* class */
++ }
++ JSKW_NO_MATCH()
++ }
++ if (JSKW_AT(4) == 't') {
++ if (JSKW_AT(2)=='n' && JSKW_AT(1)=='o') {
++ JSKW_GOT_MATCH(24) /* const */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ }
++ if (JSKW_AT(0) == 'f') {
++ if (JSKW_AT(4)=='e' && JSKW_AT(1)=='a' && JSKW_AT(2)=='l') {
++ JSKW_GOT_MATCH(8) /* false */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ case 6:
++ switch (JSKW_AT(0)) {
++ case 'd':
++ if (JSKW_AT(1) == 'o') {
++ if (JSKW_AT(5)=='e' && JSKW_AT(4)=='l' && JSKW_AT(2)=='u' && JSKW_AT(3)=='b') {
++ JSKW_GOT_MATCH(35) /* double */
++ }
++ JSKW_NO_MATCH()
++ }
++ if (JSKW_AT(1) == 'e') {
++ if (JSKW_AT(5)=='e' && JSKW_AT(4)=='t' && JSKW_AT(2)=='l' && JSKW_AT(3)=='e') {
++ JSKW_GOT_MATCH(4) /* delete */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ case 'e':
++ JSKW_TEST_GUESS(7) /* export */
++ case 'i':
++ JSKW_TEST_GUESS(41) /* import */
++ case 'n':
++ JSKW_TEST_GUESS(45) /* native */
++ case 'p':
++ JSKW_TEST_GUESS(49) /* public */
++ case 'r':
++ JSKW_TEST_GUESS(15) /* return */
++ case 's':
++ if (JSKW_AT(1) == 't') {
++ if (JSKW_AT(5)=='c' && JSKW_AT(4)=='i' && JSKW_AT(2)=='a' && JSKW_AT(3)=='t') {
++ JSKW_GOT_MATCH(51) /* static */
++ }
++ JSKW_NO_MATCH()
++ }
++ if (JSKW_AT(1) == 'w') {
++ if (JSKW_AT(5)=='h' && JSKW_AT(4)=='c' && JSKW_AT(2)=='i' && JSKW_AT(3)=='t') {
++ JSKW_GOT_MATCH(16) /* switch */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ case 't':
++ if (JSKW_AT(5) == 'f') {
++ if (JSKW_AT(4)=='o' && JSKW_AT(1)=='y' && JSKW_AT(2)=='p' && JSKW_AT(3)=='e') {
++ JSKW_GOT_MATCH(19) /* typeof */
++ }
++ JSKW_NO_MATCH()
++ }
++ if (JSKW_AT(5) == 's') {
++ if (JSKW_AT(4)=='w' && JSKW_AT(1)=='h' && JSKW_AT(2)=='r' && JSKW_AT(3)=='o') {
++ JSKW_GOT_MATCH(54) /* throws */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ case 7:
++ switch (JSKW_AT(0)) {
++ case 'b':
++ JSKW_TEST_GUESS(31) /* boolean */
++ case 'd':
++ JSKW_TEST_GUESS(3) /* default */
++ case 'e':
++ JSKW_TEST_GUESS(36) /* extends */
++ case 'f':
++ JSKW_TEST_GUESS(27) /* finally */
++ case 'p':
++ if (JSKW_AT(1) == 'a') {
++ JSKW_TEST_GUESS(46) /* package */
++ }
++ if (JSKW_AT(1) == 'r') {
++ JSKW_TEST_GUESS(47) /* private */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ case 8:
++ switch (JSKW_AT(4)) {
++ case 'g':
++ JSKW_TEST_GUESS(58) /* debugger */
++ case 'i':
++ JSKW_TEST_GUESS(2) /* continue */
++ case 'r':
++ JSKW_TEST_GUESS(30) /* abstract */
++ case 't':
++ if (JSKW_AT(1) == 'o') {
++ JSKW_TEST_GUESS(56) /* volatile */
++ }
++ if (JSKW_AT(1) == 'u') {
++ JSKW_TEST_GUESS(10) /* function */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ case 9:
++ if (JSKW_AT(1) == 'n') {
++ JSKW_TEST_GUESS(43) /* interface */
++ }
++ if (JSKW_AT(1) == 'r') {
++ if (JSKW_AT(0) == 'p') {
++ JSKW_TEST_GUESS(48) /* protected */
++ }
++ if (JSKW_AT(0) == 't') {
++ JSKW_TEST_GUESS(55) /* transient */
++ }
++ JSKW_NO_MATCH()
++ }
++ JSKW_NO_MATCH()
++ case 10:
++ if (JSKW_AT(1) == 'n') {
++ JSKW_TEST_GUESS(29) /* instanceof */
++ }
++ if (JSKW_AT(1) == 'm') {
++ JSKW_TEST_GUESS(40) /* implements */
++ }
++ JSKW_NO_MATCH()
++ case 12:
++ JSKW_TEST_GUESS(53) /* synchronized */
++ }
++ JSKW_NO_MATCH()
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/rules.mk.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/rules.mk.p
new file mode 100644
index 0000000..418c018
--- /dev/null
+++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.7.0/rules.mk.p
@@ -0,0 +1,36 @@
+--- js/src/rules.mk.orig 2012-12-16 14:55:34.000000000 +0000
++++ js/src/rules.mk 2012-12-16 15:01:53.000000000 +0000
+@@ -58,7 +58,7 @@
+ # TARGETS = $(LIBRARY) # $(PROGRAM) not supported for MSVC yet
+ TARGETS += $(SHARED_LIBRARY) $(PROGRAM) # it is now
+ else
+-TARGETS += $(LIBRARY) $(SHARED_LIBRARY) $(PROGRAM)
++TARGETS += $(LIBRARY) $(PROGRAM)
+ endif
+
+ all:
+@@ -158,9 +158,9 @@
+
+ export:
+ +$(LOOP_OVER_PREDIRS)
+- mkdir -p $(DIST)/include $(DIST)/$(LIBDIR) $(DIST)/bin
++ mkdir -p $(DIST)/include/js $(DIST)/$(LIBDIR) $(DIST)/bin
+ ifneq "$(strip $(HFILES))" ""
+- $(CP) $(HFILES) $(DIST)/include
++ $(CP) $(HFILES) $(DIST)/include/js/
+ endif
+ ifneq "$(strip $(LIBRARY))" ""
+ $(CP) $(LIBRARY) $(DIST)/$(LIBDIR)
+@@ -168,9 +168,9 @@
+ ifneq "$(strip $(JARS))" ""
+ $(CP) $(JARS) $(DIST)/$(LIBDIR)
+ endif
+-ifneq "$(strip $(SHARED_LIBRARY))" ""
+- $(CP) $(SHARED_LIBRARY) $(DIST)/$(LIBDIR)
+-endif
++#ifneq "$(strip $(SHARED_LIBRARY))" ""
++# $(CP) $(SHARED_LIBRARY) $(DIST)/$(LIBDIR)
++#endif
+ ifneq "$(strip $(PROGRAM))" ""
+ $(CP) $(PROGRAM) $(DIST)/bin
+ endif
--
Cross-compilation toolchains and environments
10 years, 1 month
netsurf: branch master updated. b9d6eccf24a7ba1f2242740e981bf6bf3edcd82d
by NetSurf Browser Project
Gitweb links:
...log http://git.netsurf-browser.org/netsurf.git/shortlog/b9d6eccf24a7ba1f22427...
...commit http://git.netsurf-browser.org/netsurf.git/commit/b9d6eccf24a7ba1f2242740...
...tree http://git.netsurf-browser.org/netsurf.git/tree/b9d6eccf24a7ba1f2242740e9...
The branch, master has been updated
via b9d6eccf24a7ba1f2242740e981bf6bf3edcd82d (commit)
from f185ffa2574e7687620e0cdeb8449d480504d0fa (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff http://git.netsurf-browser.org/netsurf.git/commitdiff/b9d6eccf24a7ba1f224...
commit b9d6eccf24a7ba1f2242740e981bf6bf3edcd82d
Author: Steve Fryatt <stevef(a)netsurf-browser.org>
Commit: Steve Fryatt <stevef(a)netsurf-browser.org>
Properly capitalise JavaScript
diff --git a/riscos/templates/de b/riscos/templates/de
index ce028ca..b6357f2 100644
--- a/riscos/templates/de
+++ b/riscos/templates/de
@@ -3934,7 +3934,7 @@ wimp_window {
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
icon_bg:wimp_COLOUR_VERY_LIGHT_GREY
- text_and_sprite.text:"Disable Javascript"
+ text_and_sprite.text:"Disable JavaScript"
text_and_sprite.size:19
text_and_sprite.validation:"Soptoff,opton"
}
diff --git a/riscos/templates/en b/riscos/templates/en
index afcfe56..2edf0dd 100644
--- a/riscos/templates/en
+++ b/riscos/templates/en
@@ -3526,7 +3526,7 @@ wimp_window {
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
icon_bg:wimp_COLOUR_VERY_LIGHT_GREY
- text_and_sprite.text:"Disable Javascript"
+ text_and_sprite.text:"Disable JavaScript"
text_and_sprite.size:19
text_and_sprite.validation:"Soptoff,opton"
}
diff --git a/riscos/templates/fr b/riscos/templates/fr
index 464cf6b..3df0a61 100644
--- a/riscos/templates/fr
+++ b/riscos/templates/fr
@@ -3160,7 +3160,7 @@ wimp_window {
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
icon_bg:wimp_COLOUR_VERY_LIGHT_GREY
- text_and_sprite.text:"Disable Javascript"
+ text_and_sprite.text:"Disable JavaScript"
text_and_sprite.size:19
text_and_sprite.validation:"Soptoff,opton"
}
diff --git a/riscos/templates/nl b/riscos/templates/nl
index da34e44..53915d3 100644
--- a/riscos/templates/nl
+++ b/riscos/templates/nl
@@ -3534,7 +3534,7 @@ wimp_window {
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
icon_bg:wimp_COLOUR_VERY_LIGHT_GREY
- text_and_sprite.text:"Disable Javascript"
+ text_and_sprite.text:"Disable JavaScript"
text_and_sprite.size:19
text_and_sprite.validation:"Soptoff,opton"
}
-----------------------------------------------------------------------
Summary of changes:
riscos/templates/de | 2 +-
riscos/templates/en | 2 +-
riscos/templates/fr | 2 +-
riscos/templates/nl | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/riscos/templates/de b/riscos/templates/de
index ce028ca..b6357f2 100644
--- a/riscos/templates/de
+++ b/riscos/templates/de
@@ -3934,7 +3934,7 @@ wimp_window {
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
icon_bg:wimp_COLOUR_VERY_LIGHT_GREY
- text_and_sprite.text:"Disable Javascript"
+ text_and_sprite.text:"Disable JavaScript"
text_and_sprite.size:19
text_and_sprite.validation:"Soptoff,opton"
}
diff --git a/riscos/templates/en b/riscos/templates/en
index afcfe56..2edf0dd 100644
--- a/riscos/templates/en
+++ b/riscos/templates/en
@@ -3526,7 +3526,7 @@ wimp_window {
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
icon_bg:wimp_COLOUR_VERY_LIGHT_GREY
- text_and_sprite.text:"Disable Javascript"
+ text_and_sprite.text:"Disable JavaScript"
text_and_sprite.size:19
text_and_sprite.validation:"Soptoff,opton"
}
diff --git a/riscos/templates/fr b/riscos/templates/fr
index 464cf6b..3df0a61 100644
--- a/riscos/templates/fr
+++ b/riscos/templates/fr
@@ -3160,7 +3160,7 @@ wimp_window {
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
icon_bg:wimp_COLOUR_VERY_LIGHT_GREY
- text_and_sprite.text:"Disable Javascript"
+ text_and_sprite.text:"Disable JavaScript"
text_and_sprite.size:19
text_and_sprite.validation:"Soptoff,opton"
}
diff --git a/riscos/templates/nl b/riscos/templates/nl
index da34e44..53915d3 100644
--- a/riscos/templates/nl
+++ b/riscos/templates/nl
@@ -3534,7 +3534,7 @@ wimp_window {
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
icon_bg:wimp_COLOUR_VERY_LIGHT_GREY
- text_and_sprite.text:"Disable Javascript"
+ text_and_sprite.text:"Disable JavaScript"
text_and_sprite.size:19
text_and_sprite.validation:"Soptoff,opton"
}
--
NetSurf Browser
10 years, 1 month
toolchains: branch master updated. 842cbbe2deac7546b6e860bf413e03b6ad565c82
by NetSurf Browser Project
Gitweb links:
...log http://git.netsurf-browser.org/toolchains.git/shortlog/842cbbe2deac7546b6...
...commit http://git.netsurf-browser.org/toolchains.git/commit/842cbbe2deac7546b6e8...
...tree http://git.netsurf-browser.org/toolchains.git/tree/842cbbe2deac7546b6e860...
The branch, master has been updated
via 842cbbe2deac7546b6e860bf413e03b6ad565c82 (commit)
from 77e33af042e8cae74fab188ecd94e6adbcd844fc (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff http://git.netsurf-browser.org/toolchains.git/commitdiff/842cbbe2deac7546...
commit 842cbbe2deac7546b6e860bf413e03b6ad565c82
Author: Vincent Sanders <vince(a)kyllikki.org>
Commit: Vincent Sanders <vince(a)kyllikki.org>
make spidermonkey 1.8.5 build without JIT on RISC OS
add support for spidermonkey 1.7.0 source
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b25c15b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+*~
diff --git a/arm-unknown-riscos/.gitignore b/arm-unknown-riscos/.gitignore
new file mode 100644
index 0000000..e6483c4
--- /dev/null
+++ b/arm-unknown-riscos/.gitignore
@@ -0,0 +1,2 @@
+builddir
+sources
diff --git a/m68k-atari-mint/.gitignore b/m68k-atari-mint/.gitignore
new file mode 100644
index 0000000..e6483c4
--- /dev/null
+++ b/m68k-atari-mint/.gitignore
@@ -0,0 +1,2 @@
+builddir
+sources
diff --git a/sdk/Makefile b/sdk/Makefile
index 895ee90..a2d589d 100644
--- a/sdk/Makefile
+++ b/sdk/Makefile
@@ -84,6 +84,9 @@ ifeq ($(TARGET),arm-unknown-riscos)
SDK_ITEMS := $(addprefix $(BUILDSTEPS)/, $(COMMON_SDK_ITEMS) spidermonkey.d)
EXTRAARGS_LIBCARES := --disable-shared
EXTRAARGS_LIBCURL := --enable-nonblocking --enable-ares $(LIBCURL_DISABLES)
+ ifeq ($(VERSION_SPIDERMONKEY),1.8.5)
+ EXTRAARGS_SPIDERMONKEY := --disable-tracejit --disable-thumb2 --without-thumb --enable-static --disable-shared --disable-shared-js --with-cpu-arch=armv3 --disable-tests --disable-methodjit
+ endif
endif
ifeq ($(TARGET),m68k-atari-mint)
@@ -106,6 +109,7 @@ ifeq ($(TARGET),ppc-amigaos)
SDK_ITEMS := $(addprefix $(BUILDSTEPS)/, libiconv.d libtre.d libpbl.d $(COMMON_SDK_ITEMS))
EXTRAARGS_LIBCARES := --disable-shared
EXTRAARGS_LIBCURL := --disable-ntlm-wb --without-random
+ #VERSION_SPIDERMONKEY := 1.7.0
endif
ifeq ($(TARGET),i686-w64-mingw32)
@@ -483,10 +487,14 @@ $(SOURCEDIR)/nspr-$(VERSION_NSPR).tar.gz:
wget -q -O $@ https://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v$(VERSION_NSPR)/sr...
-# spidermonkey (libmozjs) --disable-methodjit
+# spidermonkey (libmozjs)
$(BUILDSTEPS)/spidermonkey.d: $(BUILDSTEPS)/builddir.d $(BUILDSTEPS)/nspr.d $(BUILDSTEPS)/spidermonkey-src.d
- cd $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src && $(env) ./configure --prefix=$(GCCSDK_INSTALL_ENV) --target=$(TARGET) --disable-tracejit --disable-thumb2 --without-thumb --enable-static --with-system-nspr --with-nspr-prefix=$(GCCSDK_INSTALL_ENV) --disable-shared --disable-shared-js --with-cpu-arch=armv3 --disable-tests
- cd $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src && $(env) make
+ifeq ($(VERSION_SPIDERMONKEY),1.7.0)
+ $(env) make -C $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src -f Makefile.ref
+else
+ cd $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src && $(env) ./configure --prefix=$(GCCSDK_INSTALL_ENV) --target=$(TARGET) --with-system-nspr --with-nspr-prefix=$(GCCSDK_INSTALL_ENV) $(EXTRAARGS_SPIDERMONKEY)
+ cd $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src && $(env) make
+endif
cd $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src && $(env) make install
touch $@
@@ -494,8 +502,15 @@ $(BUILDSTEPS)/spidermonkey-src.d: $(BUILDSTEPS)/sourcedir.d $(SOURCEDIR)/spiderm
$(RM) -rf $(BUILDDIR)/spidermonkey
mkdir -p $(BUILDDIR)/spidermonkey
cd $(BUILDDIR)/spidermonkey && tar xaf $(SOURCEDIR)/spidermonkey-$(VERSION_SPIDERMONKEY).tar.gz
- for p in `ls $(RECIPES)/patches/spidermonkey/$(TARGET)/*.p` ; do patch -d $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY) -p0 <$$p ; done
+ifeq ($(VERSION_SPIDERMONKEY),1.7.0)
+ mkdir $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)
+ mv $(BUILDDIR)/spidermonkey/js $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/
+endif
+ for p in `ls $(RECIPES)/patches/spidermonkey/$(TARGET)-$(VERSION_SPIDERMONKEY)/*.p` ; do patch -d $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY) -p0 <$$p ; done
touch $@
-$(SOURCEDIR)/spidermonkey-$(VERSION_SPIDERMONKEY).tar.gz:
+$(SOURCEDIR)/spidermonkey-1.8.5.tar.gz:
wget -q -O $@ http://ftp.mozilla.org/pub/mozilla.org/js/js185-1.0.0.tar.gz
+
+$(SOURCEDIR)/spidermonkey-1.7.0.tar.gz:
+ wget -q -O $@ http://ftp.mozilla.org/pub/mozilla.org/js/js-1.7.0.tar.gz
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/ExecutableAllocator.h.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/ExecutableAllocator.h.p
new file mode 100644
index 0000000..30b811f
--- /dev/null
+++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/ExecutableAllocator.h.p
@@ -0,0 +1,11 @@
+--- js/src/assembler/jit/ExecutableAllocator.h.orig 2012-11-08 14:37:17.000000000 +0000
++++ js/src/assembler/jit/ExecutableAllocator.h 2012-11-08 14:46:42.000000000 +0000
+@@ -370,7 +370,7 @@
+ }
+ #elif WTF_CPU_ARM_TRADITIONAL && WTF_PLATFORM_LINUX && WTF_COMPILER_RVCT
+ static __asm void cacheFlush(void* code, size_t size);
+-#elif WTF_CPU_ARM_TRADITIONAL && (WTF_PLATFORM_LINUX || WTF_PLATFORM_ANDROID) && WTF_COMPILER_GCC
++#elif WTF_CPU_ARM_TRADITIONAL && (WTF_PLATFORM_LINUX || WTF_PLATFORM_ANDROID || WTF_PLATFORM_RISCOS) && WTF_COMPILER_GCC
+ static void cacheFlush(void* code, size_t size)
+ {
+ asm volatile (
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/ExecutableAllocatorPosix.cpp.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/ExecutableAllocatorPosix.cpp.p
new file mode 100644
index 0000000..2f31400
--- /dev/null
+++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/ExecutableAllocatorPosix.cpp.p
@@ -0,0 +1,11 @@
+--- js/src/assembler/jit/ExecutableAllocatorPosix.cpp.orig 2012-11-08 16:02:56.000000000 +0000
++++ js/src/assembler/jit/ExecutableAllocatorPosix.cpp 2012-11-08 15:34:03.000000000 +0000
+@@ -25,7 +25,7 @@
+
+ #include "ExecutableAllocator.h"
+
+-#if ENABLE_ASSEMBLER && WTF_PLATFORM_UNIX && !WTF_PLATFORM_SYMBIAN
++#if ENABLE_ASSEMBLER && (WTF_PLATFORM_UNIX || WTF_PLATFORM_RISCOS) && !WTF_PLATFORM_SYMBIAN
+
+ #include <sys/mman.h>
+ #include <unistd.h>
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/Makefile.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/Makefile.p
new file mode 100644
index 0000000..abe9df9
--- /dev/null
+++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/Makefile.p
@@ -0,0 +1,21 @@
+--- js/src/Makefile.in.orig 2012-12-16 13:10:27.000000000 +0000
++++ js/src/Makefile.in 2012-12-16 13:10:59.000000000 +0000
+@@ -878,7 +878,7 @@
+ install:: $(LIBRARY) $(SHARED_LIBRARY) $(IMPORT_LIBRARY)
+ ifneq (,$(LIBRARY))
+ $(SYSINSTALL) $(LIBRARY) $(DESTDIR)$(libdir)
+- mv -f $(DESTDIR)$(libdir)/$(LIBRARY) $(subst $(STATIC_LIBRARY_NAME),mozjs185-$(SRCREL_ABI_VERSION),$(DESTDIR)$(libdir)/$(LIBRARY))
++ mv -f $(DESTDIR)$(libdir)/$(LIBRARY) $(subst $(STATIC_LIBRARY_NAME),mozjs185,$(DESTDIR)$(libdir)/$(LIBRARY))
+ endif
+ ifneq (,$(SHARED_LIBRARY))
+ ifeq (,$(HOST_BIN_SUFFIX))
+@@ -968,7 +968,8 @@
+ # Needed to "configure" it correctly. Unfortunately these
+ # flags wind up being applied to all code in js/src, not just
+ # the code in js/src/assembler.
+-CXXFLAGS += -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1
++CXXFLAGS += -DUSE_SYSTEM_MALLOC=1
++#-DENABLE_ASSEMBLER=1 -DENABLE_JIT=1
+
+ INCLUDES += -I$(srcdir)/assembler -I$(srcdir)/yarr
+
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/MethodJIT.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/MethodJIT.p
new file mode 100644
index 0000000..2d7ddb0
--- /dev/null
+++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/MethodJIT.p
@@ -0,0 +1,67 @@
+--- js/src/methodjit/MethodJIT.cpp 2012-12-10 19:03:08.000000000 +0000
++++ js/src/methodjit/MethodJIT.cpp 2012-12-10 19:04:11.000000000 +0000
+@@ -433,7 +433,7 @@
+ "ldr r1, [r11, #24]" "\n" /* fp->rval data */
+ "ldr r2, [r11, #28]" "\n" /* fp->rval type */
+ "ldr r11, [sp, #28]" "\n" /* load f.fp */
+- "bx lr" "\n"
++ "mov pc, lr" "\n"
+ );
+
+ asm volatile (
+@@ -487,12 +487,12 @@
+ " mov r11, r1" "\n"
+
+ " mov r0, sp" "\n"
+-" blx " SYMBOL_STRING_VMFRAME(SetVMFrameRegs) "\n"
++" bl " SYMBOL_STRING_VMFRAME(SetVMFrameRegs) "\n"
+ " mov r0, sp" "\n"
+-" blx " SYMBOL_STRING_VMFRAME(PushActiveVMFrame)"\n"
++" bl " SYMBOL_STRING_VMFRAME(PushActiveVMFrame)"\n"
+
+ /* Call the compiled JavaScript function. */
+-" bx r4" "\n"
++" mov pc, r4" "\n"
+ );
+
+ asm volatile (
+@@ -505,7 +505,7 @@
+
+ /* Tidy up. */
+ " mov r0, sp" "\n"
+-" blx " SYMBOL_STRING_VMFRAME(PopActiveVMFrame) "\n"
++" bl " SYMBOL_STRING_VMFRAME(PopActiveVMFrame) "\n"
+
+ /* Skip past the parameters we pushed (such as cx and the like). */
+ " add sp, sp, #(4*7 + 4*4)" "\n"
+@@ -524,17 +524,17 @@
+ " mov r0, sp" "\n"
+
+ /* Call the utility function that sets up the internal throw routine. */
+-" blx " SYMBOL_STRING_RELOC(js_InternalThrow) "\n"
++" bl " SYMBOL_STRING_RELOC(js_InternalThrow) "\n"
+
+ /* If js_InternalThrow found a scripted handler, jump to it. Otherwise, tidy
+ * up and return. */
+ " cmp r0, #0" "\n"
+ " it ne" "\n"
+-" bxne r0" "\n"
++" movne pc, r0" "\n"
+
+ /* Tidy up, then return '0' to represent an unhandled exception. */
+ " mov r0, sp" "\n"
+-" blx " SYMBOL_STRING_VMFRAME(PopActiveVMFrame) "\n"
++" bl " SYMBOL_STRING_VMFRAME(PopActiveVMFrame) "\n"
+ " add sp, sp, #(4*7 + 4*4)" "\n"
+ " mov r0, #0" "\n"
+ " pop {r4-r11,pc}" "\n"
+@@ -551,7 +551,8 @@
+ * The arguments are identical to those for js_* except that the target function should be in
+ * 'ip'. */
+ " push {ip,lr}" "\n"
+-" blx ip" "\n"
++" mov lr, pc" "\n"
++" mov pc, ip" "\n"
+ " pop {ip,pc}" "\n"
+ );
+
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/Platform.h.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/Platform.h.p
new file mode 100644
index 0000000..29bc2c2
--- /dev/null
+++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/Platform.h.p
@@ -0,0 +1,32 @@
+--- js/src/assembler/wtf/Platform.h.orig 2011-03-31 20:08:36.000000000 +0100
++++ js/src/assembler/wtf/Platform.h 2012-11-08 14:48:57.000000000 +0000
+@@ -188,6 +188,7 @@
+ #elif !defined(__ARM_EABI__) \
+ && !defined(__EABI__) \
+ && !defined(__VFP_FP__) \
++ && !defined(__riscos__) \
+ && !defined(ANDROID)
+ #define WTF_CPU_MIDDLE_ENDIAN 1
+
+@@ -232,6 +233,7 @@
+
+ #endif
+
++#ifndef __riscos__
+ /* Set WTF_THUMB_ARCH_VERSION */
+ #if defined(__ARM_ARCH_4T__)
+ #define WTF_THUMB_ARCH_VERSION 1
+@@ -263,6 +265,13 @@
+ #define WTF_THUMB_ARCH_VERSION 0
+ #endif
+
++#else
++
++#define WTF_THUMB_ARCH_VERSION 0
++#define WTF_PLATFORM_RISCOS 1
++#define WTF_CPU_ARM_TRADITIONAL 0
++
++#endif
+
+ /* CPU(ARMV5_OR_LOWER) - ARM instruction set v5 or earlier */
+ /* On ARMv5 and below the natural alignment is required.
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/configure.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/configure.p
new file mode 100644
index 0000000..fcd012a
--- /dev/null
+++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/configure.p
@@ -0,0 +1,30 @@
+--- js/src/configure 2011-03-31 20:08:36.000000000 +0100
++++ js/src/configure 2012-12-10 00:34:27.312881924 +0000
+@@ -7779,6 +7785,10 @@
+ HOST_NSPR_MDCPUCFG='\"md/_os2.cfg\"'
+ ;;
+
++*-riscos*)
++ TARGET_NSPR_MDCPUCFG='\"md/_riscos.cfg\"'
++ ;;
++
+ *-android*)
+ cat >> confdefs.h <<\EOF
+ #define NO_PW_GECOS 1
+@@ -13341,6 +13341,16 @@
+ { echo "configure: error: --with-cpu-arch=armv7 is not supported for non-ARM CPU architectures" 1>&2; exit 1; }
+ ;;
+ esac
++elif test "$MOZ_ARM_ARCH" = "armv3"; then
++ case "$target_cpu" in
++ arm*)
++ if test "$GNU_CC"; then
++ CFLAGS="$CFLAGS -march=armv3 -mno-thumb-interwork -msoft-float"
++ CXXFLAGS="$CXXFLAGS -march=armv3 -mno-thumb-interwork -msoft-float"
++ ASFLAGS="$ASFLAGS -march=armv3 -mno-thumb-interwork -msoft-float"
++ fi
++ ;;
++ esac
+ else
+ case "$target_cpu" in
+ arm*)
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/jscntxt.cpp.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/jscntxt.cpp.p
new file mode 100644
index 0000000..d61d860
--- /dev/null
+++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/jscntxt.cpp.p
@@ -0,0 +1,11 @@
+--- js/src/jscntxt.cpp.orig 2012-11-08 14:49:30.000000000 +0000
++++ js/src/jscntxt.cpp 2012-11-08 14:50:19.000000000 +0000
+@@ -179,7 +179,7 @@
+ #elif defined(XP_OS2)
+ DosFreeMem(base);
+ #else
+-#ifdef SOLARIS
++#if defined(SOLARIS) || defined(__riscos__)
+ munmap((caddr_t)base, CAPACITY_BYTES);
+ #else
+ munmap(base, CAPACITY_BYTES);
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/jsgcchunk.cpp.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/jsgcchunk.cpp.p
new file mode 100644
index 0000000..b8720e4
--- /dev/null
+++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/jsgcchunk.cpp.p
@@ -0,0 +1,27 @@
+--- js/src/jsgcchunk.cpp 2012-12-10 00:50:18.369597597 +0000
++++ js/src/jsgcchunk.cpp 2012-12-10 00:51:36.317984488 +0000
+@@ -322,13 +322,13 @@
+ * We don't use MAP_FIXED here, because it can cause the *replacement*
+ * of existing mappings, and we only want to create new mappings.
+ */
+- void *p = mmap(addr, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON,
++ void *p = mmap((caddr_t)addr, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON,
+ -1, 0);
+ if (p == MAP_FAILED)
+ return NULL;
+ if (addr && p != addr) {
+ /* We succeeded in mapping memory, but not in the right place. */
+- JS_ALWAYS_TRUE(munmap(p, size) == 0);
++ JS_ALWAYS_TRUE(munmap((caddr_t)p, size) == 0);
+ return NULL;
+ }
+ return p;
+@@ -342,7 +342,7 @@
+ #ifdef SOLARIS
+ JS_ALWAYS_TRUE(munmap((caddr_t) addr, size) == 0);
+ #else
+- JS_ALWAYS_TRUE(munmap(addr, size) == 0);
++ JS_ALWAYS_TRUE(munmap((caddr_t)addr, size) == 0);
+ #endif
+ }
+
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/jsnativestack.cpp.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/jsnativestack.cpp.p
new file mode 100644
index 0000000..0e042a9
--- /dev/null
+++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/jsnativestack.cpp.p
@@ -0,0 +1,22 @@
+--- js/src/jsnativestack.cpp.orig 2012-11-08 14:53:01.000000000 +0000
++++ js/src/jsnativestack.cpp 2012-11-08 14:53:58.000000000 +0000
+@@ -204,7 +204,9 @@
+ * FIXME: this function is non-portable;
+ * other POSIX systems may have different np alternatives
+ */
++#ifndef __riscos__
+ pthread_getattr_np(thread, &sattr);
++#endif
+ # endif
+
+ void *stackBase = 0;
+@@ -212,7 +214,9 @@
+ # ifdef DEBUG
+ int rc =
+ # endif
++#ifndef __riscos__
+ pthread_attr_getstack(&sattr, &stackBase, &stackSize);
++#endif
+ JS_ASSERT(!rc);
+ JS_ASSERT(stackBase);
+ pthread_attr_destroy(&sattr);
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/jstypedarray.cpp.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/jstypedarray.cpp.p
new file mode 100644
index 0000000..0f4cfa9
--- /dev/null
+++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/jstypedarray.cpp.p
@@ -0,0 +1,11 @@
+--- js/src/jstypedarray.cpp.orig 2012-11-08 16:22:50.000000000 +0000
++++ js/src/jstypedarray.cpp 2012-11-08 16:23:25.000000000 +0000
+@@ -454,7 +454,7 @@
+ inline operator uint8() const {
+ return val;
+ }
+-};
++} __attribute__((packed));
+
+ /* Make sure the compiler isn't doing some funky stuff */
+ JS_STATIC_ASSERT(sizeof(uint8_clamped) == 1);
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/ExecutableAllocator.h.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/ExecutableAllocator.h.p
deleted file mode 100644
index 30b811f..0000000
--- a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/ExecutableAllocator.h.p
+++ /dev/null
@@ -1,11 +0,0 @@
---- js/src/assembler/jit/ExecutableAllocator.h.orig 2012-11-08 14:37:17.000000000 +0000
-+++ js/src/assembler/jit/ExecutableAllocator.h 2012-11-08 14:46:42.000000000 +0000
-@@ -370,7 +370,7 @@
- }
- #elif WTF_CPU_ARM_TRADITIONAL && WTF_PLATFORM_LINUX && WTF_COMPILER_RVCT
- static __asm void cacheFlush(void* code, size_t size);
--#elif WTF_CPU_ARM_TRADITIONAL && (WTF_PLATFORM_LINUX || WTF_PLATFORM_ANDROID) && WTF_COMPILER_GCC
-+#elif WTF_CPU_ARM_TRADITIONAL && (WTF_PLATFORM_LINUX || WTF_PLATFORM_ANDROID || WTF_PLATFORM_RISCOS) && WTF_COMPILER_GCC
- static void cacheFlush(void* code, size_t size)
- {
- asm volatile (
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/ExecutableAllocatorPosix.cpp.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/ExecutableAllocatorPosix.cpp.p
deleted file mode 100644
index 2f31400..0000000
--- a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/ExecutableAllocatorPosix.cpp.p
+++ /dev/null
@@ -1,11 +0,0 @@
---- js/src/assembler/jit/ExecutableAllocatorPosix.cpp.orig 2012-11-08 16:02:56.000000000 +0000
-+++ js/src/assembler/jit/ExecutableAllocatorPosix.cpp 2012-11-08 15:34:03.000000000 +0000
-@@ -25,7 +25,7 @@
-
- #include "ExecutableAllocator.h"
-
--#if ENABLE_ASSEMBLER && WTF_PLATFORM_UNIX && !WTF_PLATFORM_SYMBIAN
-+#if ENABLE_ASSEMBLER && (WTF_PLATFORM_UNIX || WTF_PLATFORM_RISCOS) && !WTF_PLATFORM_SYMBIAN
-
- #include <sys/mman.h>
- #include <unistd.h>
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/MethodJIT.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/MethodJIT.p
deleted file mode 100644
index 2d7ddb0..0000000
--- a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/MethodJIT.p
+++ /dev/null
@@ -1,67 +0,0 @@
---- js/src/methodjit/MethodJIT.cpp 2012-12-10 19:03:08.000000000 +0000
-+++ js/src/methodjit/MethodJIT.cpp 2012-12-10 19:04:11.000000000 +0000
-@@ -433,7 +433,7 @@
- "ldr r1, [r11, #24]" "\n" /* fp->rval data */
- "ldr r2, [r11, #28]" "\n" /* fp->rval type */
- "ldr r11, [sp, #28]" "\n" /* load f.fp */
-- "bx lr" "\n"
-+ "mov pc, lr" "\n"
- );
-
- asm volatile (
-@@ -487,12 +487,12 @@
- " mov r11, r1" "\n"
-
- " mov r0, sp" "\n"
--" blx " SYMBOL_STRING_VMFRAME(SetVMFrameRegs) "\n"
-+" bl " SYMBOL_STRING_VMFRAME(SetVMFrameRegs) "\n"
- " mov r0, sp" "\n"
--" blx " SYMBOL_STRING_VMFRAME(PushActiveVMFrame)"\n"
-+" bl " SYMBOL_STRING_VMFRAME(PushActiveVMFrame)"\n"
-
- /* Call the compiled JavaScript function. */
--" bx r4" "\n"
-+" mov pc, r4" "\n"
- );
-
- asm volatile (
-@@ -505,7 +505,7 @@
-
- /* Tidy up. */
- " mov r0, sp" "\n"
--" blx " SYMBOL_STRING_VMFRAME(PopActiveVMFrame) "\n"
-+" bl " SYMBOL_STRING_VMFRAME(PopActiveVMFrame) "\n"
-
- /* Skip past the parameters we pushed (such as cx and the like). */
- " add sp, sp, #(4*7 + 4*4)" "\n"
-@@ -524,17 +524,17 @@
- " mov r0, sp" "\n"
-
- /* Call the utility function that sets up the internal throw routine. */
--" blx " SYMBOL_STRING_RELOC(js_InternalThrow) "\n"
-+" bl " SYMBOL_STRING_RELOC(js_InternalThrow) "\n"
-
- /* If js_InternalThrow found a scripted handler, jump to it. Otherwise, tidy
- * up and return. */
- " cmp r0, #0" "\n"
- " it ne" "\n"
--" bxne r0" "\n"
-+" movne pc, r0" "\n"
-
- /* Tidy up, then return '0' to represent an unhandled exception. */
- " mov r0, sp" "\n"
--" blx " SYMBOL_STRING_VMFRAME(PopActiveVMFrame) "\n"
-+" bl " SYMBOL_STRING_VMFRAME(PopActiveVMFrame) "\n"
- " add sp, sp, #(4*7 + 4*4)" "\n"
- " mov r0, #0" "\n"
- " pop {r4-r11,pc}" "\n"
-@@ -551,7 +551,8 @@
- * The arguments are identical to those for js_* except that the target function should be in
- * 'ip'. */
- " push {ip,lr}" "\n"
--" blx ip" "\n"
-+" mov lr, pc" "\n"
-+" mov pc, ip" "\n"
- " pop {ip,pc}" "\n"
- );
-
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/Platform.h.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/Platform.h.p
deleted file mode 100644
index 9d91ac8..0000000
--- a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/Platform.h.p
+++ /dev/null
@@ -1,32 +0,0 @@
---- js/src/assembler/wtf/Platform.h.orig 2011-03-31 20:08:36.000000000 +0100
-+++ js/src/assembler/wtf/Platform.h 2012-11-08 14:48:57.000000000 +0000
-@@ -188,6 +188,7 @@
- #elif !defined(__ARM_EABI__) \
- && !defined(__EABI__) \
- && !defined(__VFP_FP__) \
-+ && !defined(__riscos__) \
- && !defined(ANDROID)
- #define WTF_CPU_MIDDLE_ENDIAN 1
-
-@@ -232,6 +233,7 @@
-
- #endif
-
-+#ifndef __riscos__
- /* Set WTF_THUMB_ARCH_VERSION */
- #if defined(__ARM_ARCH_4T__)
- #define WTF_THUMB_ARCH_VERSION 1
-@@ -263,6 +265,13 @@
- #define WTF_THUMB_ARCH_VERSION 0
- #endif
-
-+#else
-+
-+#define WTF_THUMB_ARCH_VERSION 0
-+#define WTF_PLATFORM_RISCOS 1
-+#define WTF_CPU_ARM_TRADITIONAL 1
-+
-+#endif
-
- /* CPU(ARMV5_OR_LOWER) - ARM instruction set v5 or earlier */
- /* On ARMv5 and below the natural alignment is required.
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/configure.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/configure.p
deleted file mode 100644
index fcd012a..0000000
--- a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/configure.p
+++ /dev/null
@@ -1,30 +0,0 @@
---- js/src/configure 2011-03-31 20:08:36.000000000 +0100
-+++ js/src/configure 2012-12-10 00:34:27.312881924 +0000
-@@ -7779,6 +7785,10 @@
- HOST_NSPR_MDCPUCFG='\"md/_os2.cfg\"'
- ;;
-
-+*-riscos*)
-+ TARGET_NSPR_MDCPUCFG='\"md/_riscos.cfg\"'
-+ ;;
-+
- *-android*)
- cat >> confdefs.h <<\EOF
- #define NO_PW_GECOS 1
-@@ -13341,6 +13341,16 @@
- { echo "configure: error: --with-cpu-arch=armv7 is not supported for non-ARM CPU architectures" 1>&2; exit 1; }
- ;;
- esac
-+elif test "$MOZ_ARM_ARCH" = "armv3"; then
-+ case "$target_cpu" in
-+ arm*)
-+ if test "$GNU_CC"; then
-+ CFLAGS="$CFLAGS -march=armv3 -mno-thumb-interwork -msoft-float"
-+ CXXFLAGS="$CXXFLAGS -march=armv3 -mno-thumb-interwork -msoft-float"
-+ ASFLAGS="$ASFLAGS -march=armv3 -mno-thumb-interwork -msoft-float"
-+ fi
-+ ;;
-+ esac
- else
- case "$target_cpu" in
- arm*)
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/jscntxt.cpp.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/jscntxt.cpp.p
deleted file mode 100644
index d61d860..0000000
--- a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/jscntxt.cpp.p
+++ /dev/null
@@ -1,11 +0,0 @@
---- js/src/jscntxt.cpp.orig 2012-11-08 14:49:30.000000000 +0000
-+++ js/src/jscntxt.cpp 2012-11-08 14:50:19.000000000 +0000
-@@ -179,7 +179,7 @@
- #elif defined(XP_OS2)
- DosFreeMem(base);
- #else
--#ifdef SOLARIS
-+#if defined(SOLARIS) || defined(__riscos__)
- munmap((caddr_t)base, CAPACITY_BYTES);
- #else
- munmap(base, CAPACITY_BYTES);
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/jsgcchunk.cpp.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/jsgcchunk.cpp.p
deleted file mode 100644
index b8720e4..0000000
--- a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/jsgcchunk.cpp.p
+++ /dev/null
@@ -1,27 +0,0 @@
---- js/src/jsgcchunk.cpp 2012-12-10 00:50:18.369597597 +0000
-+++ js/src/jsgcchunk.cpp 2012-12-10 00:51:36.317984488 +0000
-@@ -322,13 +322,13 @@
- * We don't use MAP_FIXED here, because it can cause the *replacement*
- * of existing mappings, and we only want to create new mappings.
- */
-- void *p = mmap(addr, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON,
-+ void *p = mmap((caddr_t)addr, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON,
- -1, 0);
- if (p == MAP_FAILED)
- return NULL;
- if (addr && p != addr) {
- /* We succeeded in mapping memory, but not in the right place. */
-- JS_ALWAYS_TRUE(munmap(p, size) == 0);
-+ JS_ALWAYS_TRUE(munmap((caddr_t)p, size) == 0);
- return NULL;
- }
- return p;
-@@ -342,7 +342,7 @@
- #ifdef SOLARIS
- JS_ALWAYS_TRUE(munmap((caddr_t) addr, size) == 0);
- #else
-- JS_ALWAYS_TRUE(munmap(addr, size) == 0);
-+ JS_ALWAYS_TRUE(munmap((caddr_t)addr, size) == 0);
- #endif
- }
-
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/jsnativestack.cpp.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/jsnativestack.cpp.p
deleted file mode 100644
index 0e042a9..0000000
--- a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/jsnativestack.cpp.p
+++ /dev/null
@@ -1,22 +0,0 @@
---- js/src/jsnativestack.cpp.orig 2012-11-08 14:53:01.000000000 +0000
-+++ js/src/jsnativestack.cpp 2012-11-08 14:53:58.000000000 +0000
-@@ -204,7 +204,9 @@
- * FIXME: this function is non-portable;
- * other POSIX systems may have different np alternatives
- */
-+#ifndef __riscos__
- pthread_getattr_np(thread, &sattr);
-+#endif
- # endif
-
- void *stackBase = 0;
-@@ -212,7 +214,9 @@
- # ifdef DEBUG
- int rc =
- # endif
-+#ifndef __riscos__
- pthread_attr_getstack(&sattr, &stackBase, &stackSize);
-+#endif
- JS_ASSERT(!rc);
- JS_ASSERT(stackBase);
- pthread_attr_destroy(&sattr);
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/jstypedarray.cpp.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/jstypedarray.cpp.p
deleted file mode 100644
index 0f4cfa9..0000000
--- a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/jstypedarray.cpp.p
+++ /dev/null
@@ -1,11 +0,0 @@
---- js/src/jstypedarray.cpp.orig 2012-11-08 16:22:50.000000000 +0000
-+++ js/src/jstypedarray.cpp 2012-11-08 16:23:25.000000000 +0000
-@@ -454,7 +454,7 @@
- inline operator uint8() const {
- return val;
- }
--};
-+} __attribute__((packed));
-
- /* Make sure the compiler isn't doing some funky stuff */
- JS_STATIC_ASSERT(sizeof(uint8_clamped) == 1);
-----------------------------------------------------------------------
Summary of changes:
.gitignore | 1 +
arm-unknown-riscos/.gitignore | 2 +
m68k-atari-mint/.gitignore | 2 +
sdk/Makefile | 25 ++++++++++++++++----
.../ExecutableAllocator.h.p | 0
.../ExecutableAllocatorPosix.cpp.p | 0
.../arm-unknown-riscos-1.8.5/Makefile.p | 21 ++++++++++++++++
.../MethodJIT.p | 0
.../Platform.h.p | 2 +-
.../configure.p | 0
.../jscntxt.cpp.p | 0
.../jsgcchunk.cpp.p | 0
.../jsnativestack.cpp.p | 0
.../jstypedarray.cpp.p | 0
14 files changed, 47 insertions(+), 6 deletions(-)
create mode 100644 .gitignore
create mode 100644 arm-unknown-riscos/.gitignore
create mode 100644 m68k-atari-mint/.gitignore
rename sdk/recipes/patches/spidermonkey/{arm-unknown-riscos => arm-unknown-riscos-1.8.5}/ExecutableAllocator.h.p (100%)
rename sdk/recipes/patches/spidermonkey/{arm-unknown-riscos => arm-unknown-riscos-1.8.5}/ExecutableAllocatorPosix.cpp.p (100%)
create mode 100644 sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/Makefile.p
rename sdk/recipes/patches/spidermonkey/{arm-unknown-riscos => arm-unknown-riscos-1.8.5}/MethodJIT.p (100%)
rename sdk/recipes/patches/spidermonkey/{arm-unknown-riscos => arm-unknown-riscos-1.8.5}/Platform.h.p (95%)
rename sdk/recipes/patches/spidermonkey/{arm-unknown-riscos => arm-unknown-riscos-1.8.5}/configure.p (100%)
rename sdk/recipes/patches/spidermonkey/{arm-unknown-riscos => arm-unknown-riscos-1.8.5}/jscntxt.cpp.p (100%)
rename sdk/recipes/patches/spidermonkey/{arm-unknown-riscos => arm-unknown-riscos-1.8.5}/jsgcchunk.cpp.p (100%)
rename sdk/recipes/patches/spidermonkey/{arm-unknown-riscos => arm-unknown-riscos-1.8.5}/jsnativestack.cpp.p (100%)
rename sdk/recipes/patches/spidermonkey/{arm-unknown-riscos => arm-unknown-riscos-1.8.5}/jstypedarray.cpp.p (100%)
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b25c15b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+*~
diff --git a/arm-unknown-riscos/.gitignore b/arm-unknown-riscos/.gitignore
new file mode 100644
index 0000000..e6483c4
--- /dev/null
+++ b/arm-unknown-riscos/.gitignore
@@ -0,0 +1,2 @@
+builddir
+sources
diff --git a/m68k-atari-mint/.gitignore b/m68k-atari-mint/.gitignore
new file mode 100644
index 0000000..e6483c4
--- /dev/null
+++ b/m68k-atari-mint/.gitignore
@@ -0,0 +1,2 @@
+builddir
+sources
diff --git a/sdk/Makefile b/sdk/Makefile
index 895ee90..a2d589d 100644
--- a/sdk/Makefile
+++ b/sdk/Makefile
@@ -84,6 +84,9 @@ ifeq ($(TARGET),arm-unknown-riscos)
SDK_ITEMS := $(addprefix $(BUILDSTEPS)/, $(COMMON_SDK_ITEMS) spidermonkey.d)
EXTRAARGS_LIBCARES := --disable-shared
EXTRAARGS_LIBCURL := --enable-nonblocking --enable-ares $(LIBCURL_DISABLES)
+ ifeq ($(VERSION_SPIDERMONKEY),1.8.5)
+ EXTRAARGS_SPIDERMONKEY := --disable-tracejit --disable-thumb2 --without-thumb --enable-static --disable-shared --disable-shared-js --with-cpu-arch=armv3 --disable-tests --disable-methodjit
+ endif
endif
ifeq ($(TARGET),m68k-atari-mint)
@@ -106,6 +109,7 @@ ifeq ($(TARGET),ppc-amigaos)
SDK_ITEMS := $(addprefix $(BUILDSTEPS)/, libiconv.d libtre.d libpbl.d $(COMMON_SDK_ITEMS))
EXTRAARGS_LIBCARES := --disable-shared
EXTRAARGS_LIBCURL := --disable-ntlm-wb --without-random
+ #VERSION_SPIDERMONKEY := 1.7.0
endif
ifeq ($(TARGET),i686-w64-mingw32)
@@ -483,10 +487,14 @@ $(SOURCEDIR)/nspr-$(VERSION_NSPR).tar.gz:
wget -q -O $@ https://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v$(VERSION_NSPR)/sr...
-# spidermonkey (libmozjs) --disable-methodjit
+# spidermonkey (libmozjs)
$(BUILDSTEPS)/spidermonkey.d: $(BUILDSTEPS)/builddir.d $(BUILDSTEPS)/nspr.d $(BUILDSTEPS)/spidermonkey-src.d
- cd $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src && $(env) ./configure --prefix=$(GCCSDK_INSTALL_ENV) --target=$(TARGET) --disable-tracejit --disable-thumb2 --without-thumb --enable-static --with-system-nspr --with-nspr-prefix=$(GCCSDK_INSTALL_ENV) --disable-shared --disable-shared-js --with-cpu-arch=armv3 --disable-tests
- cd $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src && $(env) make
+ifeq ($(VERSION_SPIDERMONKEY),1.7.0)
+ $(env) make -C $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src -f Makefile.ref
+else
+ cd $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src && $(env) ./configure --prefix=$(GCCSDK_INSTALL_ENV) --target=$(TARGET) --with-system-nspr --with-nspr-prefix=$(GCCSDK_INSTALL_ENV) $(EXTRAARGS_SPIDERMONKEY)
+ cd $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src && $(env) make
+endif
cd $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/js/src && $(env) make install
touch $@
@@ -494,8 +502,15 @@ $(BUILDSTEPS)/spidermonkey-src.d: $(BUILDSTEPS)/sourcedir.d $(SOURCEDIR)/spiderm
$(RM) -rf $(BUILDDIR)/spidermonkey
mkdir -p $(BUILDDIR)/spidermonkey
cd $(BUILDDIR)/spidermonkey && tar xaf $(SOURCEDIR)/spidermonkey-$(VERSION_SPIDERMONKEY).tar.gz
- for p in `ls $(RECIPES)/patches/spidermonkey/$(TARGET)/*.p` ; do patch -d $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY) -p0 <$$p ; done
+ifeq ($(VERSION_SPIDERMONKEY),1.7.0)
+ mkdir $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)
+ mv $(BUILDDIR)/spidermonkey/js $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY)/
+endif
+ for p in `ls $(RECIPES)/patches/spidermonkey/$(TARGET)-$(VERSION_SPIDERMONKEY)/*.p` ; do patch -d $(BUILDDIR)/spidermonkey/js-$(VERSION_SPIDERMONKEY) -p0 <$$p ; done
touch $@
-$(SOURCEDIR)/spidermonkey-$(VERSION_SPIDERMONKEY).tar.gz:
+$(SOURCEDIR)/spidermonkey-1.8.5.tar.gz:
wget -q -O $@ http://ftp.mozilla.org/pub/mozilla.org/js/js185-1.0.0.tar.gz
+
+$(SOURCEDIR)/spidermonkey-1.7.0.tar.gz:
+ wget -q -O $@ http://ftp.mozilla.org/pub/mozilla.org/js/js-1.7.0.tar.gz
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/ExecutableAllocator.h.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/ExecutableAllocator.h.p
similarity index 100%
rename from sdk/recipes/patches/spidermonkey/arm-unknown-riscos/ExecutableAllocator.h.p
rename to sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/ExecutableAllocator.h.p
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/ExecutableAllocatorPosix.cpp.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/ExecutableAllocatorPosix.cpp.p
similarity index 100%
rename from sdk/recipes/patches/spidermonkey/arm-unknown-riscos/ExecutableAllocatorPosix.cpp.p
rename to sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/ExecutableAllocatorPosix.cpp.p
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/Makefile.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/Makefile.p
new file mode 100644
index 0000000..abe9df9
--- /dev/null
+++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/Makefile.p
@@ -0,0 +1,21 @@
+--- js/src/Makefile.in.orig 2012-12-16 13:10:27.000000000 +0000
++++ js/src/Makefile.in 2012-12-16 13:10:59.000000000 +0000
+@@ -878,7 +878,7 @@
+ install:: $(LIBRARY) $(SHARED_LIBRARY) $(IMPORT_LIBRARY)
+ ifneq (,$(LIBRARY))
+ $(SYSINSTALL) $(LIBRARY) $(DESTDIR)$(libdir)
+- mv -f $(DESTDIR)$(libdir)/$(LIBRARY) $(subst $(STATIC_LIBRARY_NAME),mozjs185-$(SRCREL_ABI_VERSION),$(DESTDIR)$(libdir)/$(LIBRARY))
++ mv -f $(DESTDIR)$(libdir)/$(LIBRARY) $(subst $(STATIC_LIBRARY_NAME),mozjs185,$(DESTDIR)$(libdir)/$(LIBRARY))
+ endif
+ ifneq (,$(SHARED_LIBRARY))
+ ifeq (,$(HOST_BIN_SUFFIX))
+@@ -968,7 +968,8 @@
+ # Needed to "configure" it correctly. Unfortunately these
+ # flags wind up being applied to all code in js/src, not just
+ # the code in js/src/assembler.
+-CXXFLAGS += -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1
++CXXFLAGS += -DUSE_SYSTEM_MALLOC=1
++#-DENABLE_ASSEMBLER=1 -DENABLE_JIT=1
+
+ INCLUDES += -I$(srcdir)/assembler -I$(srcdir)/yarr
+
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/MethodJIT.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/MethodJIT.p
similarity index 100%
rename from sdk/recipes/patches/spidermonkey/arm-unknown-riscos/MethodJIT.p
rename to sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/MethodJIT.p
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/Platform.h.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/Platform.h.p
similarity index 95%
rename from sdk/recipes/patches/spidermonkey/arm-unknown-riscos/Platform.h.p
rename to sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/Platform.h.p
index 9d91ac8..29bc2c2 100644
--- a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/Platform.h.p
+++ b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/Platform.h.p
@@ -24,7 +24,7 @@
+
+#define WTF_THUMB_ARCH_VERSION 0
+#define WTF_PLATFORM_RISCOS 1
-+#define WTF_CPU_ARM_TRADITIONAL 1
++#define WTF_CPU_ARM_TRADITIONAL 0
+
+#endif
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/configure.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/configure.p
similarity index 100%
rename from sdk/recipes/patches/spidermonkey/arm-unknown-riscos/configure.p
rename to sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/configure.p
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/jscntxt.cpp.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/jscntxt.cpp.p
similarity index 100%
rename from sdk/recipes/patches/spidermonkey/arm-unknown-riscos/jscntxt.cpp.p
rename to sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/jscntxt.cpp.p
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/jsgcchunk.cpp.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/jsgcchunk.cpp.p
similarity index 100%
rename from sdk/recipes/patches/spidermonkey/arm-unknown-riscos/jsgcchunk.cpp.p
rename to sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/jsgcchunk.cpp.p
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/jsnativestack.cpp.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/jsnativestack.cpp.p
similarity index 100%
rename from sdk/recipes/patches/spidermonkey/arm-unknown-riscos/jsnativestack.cpp.p
rename to sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/jsnativestack.cpp.p
diff --git a/sdk/recipes/patches/spidermonkey/arm-unknown-riscos/jstypedarray.cpp.p b/sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/jstypedarray.cpp.p
similarity index 100%
rename from sdk/recipes/patches/spidermonkey/arm-unknown-riscos/jstypedarray.cpp.p
rename to sdk/recipes/patches/spidermonkey/arm-unknown-riscos-1.8.5/jstypedarray.cpp.p
--
Cross-compilation toolchains and environments
10 years, 1 month
netsurf: branch master updated. f185ffa2574e7687620e0cdeb8449d480504d0fa
by NetSurf Browser Project
Gitweb links:
...log http://git.netsurf-browser.org/netsurf.git/shortlog/f185ffa2574e7687620e0...
...commit http://git.netsurf-browser.org/netsurf.git/commit/f185ffa2574e7687620e0cd...
...tree http://git.netsurf-browser.org/netsurf.git/tree/f185ffa2574e7687620e0cdeb...
The branch, master has been updated
via f185ffa2574e7687620e0cdeb8449d480504d0fa (commit)
from 8e416ec2265fda98de4b1ea027b1ff0998e20205 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff http://git.netsurf-browser.org/netsurf.git/commitdiff/f185ffa2574e7687620...
commit f185ffa2574e7687620e0cdeb8449d480504d0fa
Author: Steve Fryatt <stevef(a)netsurf-browser.org>
Commit: Steve Fryatt <stevef(a)netsurf-browser.org>
Add Enable Javascript configuration to RO GUI.
diff --git a/riscos/configure/con_content.c b/riscos/configure/con_content.c
index a8e9f78..81537bc 100644
--- a/riscos/configure/con_content.c
+++ b/riscos/configure/con_content.c
@@ -35,6 +35,7 @@
#define CONTENT_DEFAULT_BUTTON 8
#define CONTENT_CANCEL_BUTTON 9
#define CONTENT_OK_BUTTON 10
+#define CONTENT_NO_JAVASCRIPT 11
static void ro_gui_options_content_default(wimp_pointer *pointer);
static bool ro_gui_options_content_ok(wimp_w w);
@@ -50,12 +51,15 @@ bool ro_gui_options_content_initialise(wimp_w w)
nsoption_bool(no_plugins));
ro_gui_set_icon_selected_state(w, CONTENT_TARGET_BLANK,
nsoption_bool(target_blank));
+ ro_gui_set_icon_selected_state(w, CONTENT_NO_JAVASCRIPT,
+ !nsoption_bool(enable_javascript));
/* initialise all functions for a newly created window */
ro_gui_wimp_event_register_checkbox(w, CONTENT_BLOCK_ADVERTISEMENTS);
ro_gui_wimp_event_register_checkbox(w, CONTENT_BLOCK_POPUPS);
ro_gui_wimp_event_register_checkbox(w, CONTENT_NO_PLUGINS);
ro_gui_wimp_event_register_checkbox(w, CONTENT_TARGET_BLANK);
+ ro_gui_wimp_event_register_checkbox(w, CONTENT_NO_JAVASCRIPT);
ro_gui_wimp_event_register_button(w, CONTENT_DEFAULT_BUTTON,
ro_gui_options_content_default);
ro_gui_wimp_event_register_cancel(w, CONTENT_CANCEL_BUTTON);
@@ -78,6 +82,8 @@ void ro_gui_options_content_default(wimp_pointer *pointer)
false);
ro_gui_set_icon_selected_state(pointer->w, CONTENT_TARGET_BLANK,
true);
+ ro_gui_set_icon_selected_state(pointer->w, CONTENT_NO_JAVASCRIPT,
+ false);
}
bool ro_gui_options_content_ok(wimp_w w)
@@ -93,6 +99,9 @@ bool ro_gui_options_content_ok(wimp_w w)
nsoption_set_bool(target_blank,
ro_gui_get_icon_selected_state(w, CONTENT_TARGET_BLANK));
+ nsoption_set_bool(enable_javascript,
+ !ro_gui_get_icon_selected_state(w, CONTENT_NO_JAVASCRIPT));
+
ro_gui_save_options();
return true;
}
diff --git a/riscos/templates/de b/riscos/templates/de
index ed26c7d..ce028ca 100644
--- a/riscos/templates/de
+++ b/riscos/templates/de
@@ -3794,7 +3794,7 @@ wimp_window {
wimp_window {
template_name:"con_content"
- visible:236,800,876,1252
+ visible:1404,424,2044,924
xscroll:0
yscroll:0
next:wimp_TOP
@@ -3807,7 +3807,7 @@ wimp_window {
scroll_inner:wimp_COLOUR_VERY_LIGHT_GREY
highlight_bg:wimp_COLOUR_CREAM
extra_flags:
- extent:0,-452,640,0
+ extent:0,-500,640,0
title_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_FILLED | 0x27000000
work_flags:
sprite_area:&1
@@ -3815,7 +3815,7 @@ wimp_window {
ymin:452
text_only:"Content"
wimp_icon {
- extent:16,-220,624,-24
+ extent:16,-272,624,-24
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3855,7 +3855,7 @@ wimp_window {
text_and_sprite.validation:"Soptoff,opton"
}
wimp_icon {
- extent:32,-204,496,-160
+ extent:32,-256,496,-212
#ifdef WITH_PLUGIN
icon_flags:wimp_ICON_TEXT | wimp_ICON_SPRITE | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED | wimp_BUTTON_RADIO
#else
@@ -3869,7 +3869,7 @@ wimp_window {
text_and_sprite.validation:"Soptoff,opton"
}
wimp_icon {
- extent:16,-340,624,-248
+ extent:16,-384,624,-292
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3879,7 +3879,7 @@ wimp_window {
text.validation:"R4"
}
wimp_icon {
- extent:32,-276,492,-232
+ extent:32,-320,492,-276
icon_flags:wimp_ICON_TEXT | wimp_ICON_SPRITE | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3889,7 +3889,7 @@ wimp_window {
text_and_sprite.validation:""
}
wimp_icon {
- extent:32,-324,612,-280
+ extent:32,-368,612,-324
icon_flags:wimp_ICON_TEXT | wimp_ICON_SPRITE | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED | wimp_BUTTON_RADIO
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3899,7 +3899,7 @@ wimp_window {
text_and_sprite.validation:"Soptoff,opton"
}
wimp_icon {
- extent:24,-424,188,-372
+ extent:24,-468,188,-416
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_FILLED | wimp_ICON_INDIRECTED | wimp_BUTTON_CLICK
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3909,7 +3909,7 @@ wimp_window {
text.validation:"R5,3"
}
wimp_icon {
- extent:256,-424,420,-372
+ extent:256,-468,420,-416
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_FILLED | wimp_ICON_INDIRECTED | wimp_BUTTON_CLICK
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3919,7 +3919,7 @@ wimp_window {
text.validation:"R5,3"
}
wimp_icon {
- extent:436,-432,620,-364
+ extent:436,-476,620,-408
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_FILLED | wimp_ICON_INDIRECTED | wimp_BUTTON_CLICK
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3928,4 +3928,14 @@ wimp_window {
text.size:4
text.validation:"R6,3"
}
+ wimp_icon {
+ extent:32,-204,376,-160
+ icon_flags:wimp_ICON_TEXT | wimp_ICON_SPRITE | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED | wimp_BUTTON_RADIO
+ icon_esg:0
+ icon_fg:wimp_COLOUR_BLACK
+ icon_bg:wimp_COLOUR_VERY_LIGHT_GREY
+ text_and_sprite.text:"Disable Javascript"
+ text_and_sprite.size:19
+ text_and_sprite.validation:"Soptoff,opton"
+ }
}
diff --git a/riscos/templates/en b/riscos/templates/en
index 2b91764..afcfe56 100644
--- a/riscos/templates/en
+++ b/riscos/templates/en
@@ -3386,7 +3386,7 @@ wimp_window {
wimp_window {
template_name:"con_content"
- visible:1248,902,1912,1354
+ visible:1248,854,1912,1354
xscroll:0
yscroll:0
next:wimp_TOP
@@ -3399,7 +3399,7 @@ wimp_window {
scroll_inner:wimp_COLOUR_VERY_LIGHT_GREY
highlight_bg:wimp_COLOUR_CREAM
extra_flags:
- extent:0,-452,664,0
+ extent:0,-500,664,0
title_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_FILLED | 0x27000000
work_flags:
sprite_area:&1
@@ -3407,7 +3407,7 @@ wimp_window {
ymin:452
text_only:"Content"
wimp_icon {
- extent:16,-220,644,-24
+ extent:16,-272,644,-24
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3447,7 +3447,7 @@ wimp_window {
text_and_sprite.validation:"Soptoff,opton"
}
wimp_icon {
- extent:32,-204,344,-160
+ extent:32,-256,344,-212
#ifdef WITH_PLUGIN
icon_flags:wimp_ICON_TEXT | wimp_ICON_SPRITE | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED | wimp_BUTTON_RADIO
#else
@@ -3461,7 +3461,7 @@ wimp_window {
text_and_sprite.validation:"Soptoff,opton"
}
wimp_icon {
- extent:16,-340,644,-248
+ extent:16,-384,644,-292
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3471,7 +3471,7 @@ wimp_window {
text.validation:"R4"
}
wimp_icon {
- extent:32,-276,492,-232
+ extent:32,-320,492,-276
icon_flags:wimp_ICON_TEXT | wimp_ICON_SPRITE | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3481,7 +3481,7 @@ wimp_window {
text_and_sprite.validation:""
}
wimp_icon {
- extent:32,-324,632,-280
+ extent:32,-368,632,-324
icon_flags:wimp_ICON_TEXT | wimp_ICON_SPRITE | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED | wimp_BUTTON_RADIO
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3491,7 +3491,7 @@ wimp_window {
text_and_sprite.validation:"Soptoff,opton"
}
wimp_icon {
- extent:24,-424,188,-372
+ extent:24,-468,188,-416
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_FILLED | wimp_ICON_INDIRECTED | wimp_BUTTON_CLICK
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3501,7 +3501,7 @@ wimp_window {
text.validation:"R5,3"
}
wimp_icon {
- extent:280,-424,444,-372
+ extent:280,-468,444,-416
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_FILLED | wimp_ICON_INDIRECTED | wimp_BUTTON_CLICK
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3511,7 +3511,7 @@ wimp_window {
text.validation:"R5,3"
}
wimp_icon {
- extent:460,-432,644,-364
+ extent:460,-476,644,-408
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_FILLED | wimp_ICON_INDIRECTED | wimp_BUTTON_CLICK
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3520,6 +3520,16 @@ wimp_window {
text.size:*
text.validation:"R6,3"
}
+ wimp_icon {
+ extent:32,-204,376,-160
+ icon_flags:wimp_ICON_TEXT | wimp_ICON_SPRITE | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED | wimp_BUTTON_RADIO
+ icon_esg:0
+ icon_fg:wimp_COLOUR_BLACK
+ icon_bg:wimp_COLOUR_VERY_LIGHT_GREY
+ text_and_sprite.text:"Disable Javascript"
+ text_and_sprite.size:19
+ text_and_sprite.validation:"Soptoff,opton"
+ }
}
wimp_window {
diff --git a/riscos/templates/fr b/riscos/templates/fr
index 4a8cce4..464cf6b 100644
--- a/riscos/templates/fr
+++ b/riscos/templates/fr
@@ -3020,7 +3020,7 @@ wimp_window {
wimp_window {
template_name:"con_content"
- visible:598,888,1338,1336
+ visible:598,836,1350,1336
xscroll:0
yscroll:0
next:
@@ -3033,7 +3033,7 @@ wimp_window {
scroll_inner:wimp_COLOUR_VERY_LIGHT_GREY
highlight_bg:wimp_COLOUR_CREAM
extra_flags:
- extent:0,-452,752,0
+ extent:0,-500,752,0
title_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_FILLED | 0x27000000
work_flags:
sprite_area:&1
@@ -3041,7 +3041,7 @@ wimp_window {
ymin:448
text_only:"Contenu"
wimp_icon {
- extent:16,-220,724,-24
+ extent:16,-272,732,-24
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3081,7 +3081,7 @@ wimp_window {
text_and_sprite.validation:"Soptoff,opton"
}
wimp_icon {
- extent:32,-204,404,-160
+ extent:32,-256,404,-212
#ifdef WITH_PLUGIN
icon_flags:wimp_ICON_TEXT | wimp_ICON_SPRITE | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED | wimp_BUTTON_RADIO
#else
@@ -3095,7 +3095,7 @@ wimp_window {
text_and_sprite.validation:"Soptoff,opton"
}
wimp_icon {
- extent:16,-340,724,-248
+ extent:16,-384,732,-292
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3105,7 +3105,7 @@ wimp_window {
text.validation:"R4"
}
wimp_icon {
- extent:32,-276,492,-232
+ extent:32,-320,492,-276
icon_flags:wimp_ICON_TEXT | wimp_ICON_SPRITE | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3115,7 +3115,7 @@ wimp_window {
text_and_sprite.validation:""
}
wimp_icon {
- extent:32,-328,716,-280
+ extent:32,-372,716,-324
icon_flags:wimp_ICON_TEXT | wimp_ICON_SPRITE | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED | wimp_BUTTON_RADIO
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3125,7 +3125,7 @@ wimp_window {
text_and_sprite.validation:"Soptoff,opton"
}
wimp_icon {
- extent:24,-424,188,-372
+ extent:24,-468,188,-416
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_FILLED | wimp_ICON_INDIRECTED | wimp_BUTTON_CLICK
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3135,7 +3135,7 @@ wimp_window {
text.validation:"R5,3"
}
wimp_icon {
- extent:368,-424,532,-372
+ extent:372,-468,536,-416
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_FILLED | wimp_ICON_INDIRECTED | wimp_BUTTON_CLICK
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3145,7 +3145,7 @@ wimp_window {
text.validation:"R5,3"
}
wimp_icon {
- extent:540,-432,724,-364
+ extent:544,-476,728,-408
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_FILLED | wimp_ICON_INDIRECTED | wimp_BUTTON_CLICK
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3154,6 +3154,16 @@ wimp_window {
text.size:*
text.validation:"R6,3"
}
+ wimp_icon {
+ extent:32,-204,376,-160
+ icon_flags:wimp_ICON_TEXT | wimp_ICON_SPRITE | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED | wimp_BUTTON_RADIO
+ icon_esg:0
+ icon_fg:wimp_COLOUR_BLACK
+ icon_bg:wimp_COLOUR_VERY_LIGHT_GREY
+ text_and_sprite.text:"Disable Javascript"
+ text_and_sprite.size:19
+ text_and_sprite.validation:"Soptoff,opton"
+ }
}
wimp_window {
diff --git a/riscos/templates/nl b/riscos/templates/nl
index 19dd843..da34e44 100644
--- a/riscos/templates/nl
+++ b/riscos/templates/nl
@@ -3394,7 +3394,7 @@ wimp_window {
wimp_window {
template_name:"con_content"
- visible:272,306,912,758
+ visible:1632,750,2272,1250
xscroll:0
yscroll:0
next:wimp_TOP
@@ -3407,7 +3407,7 @@ wimp_window {
scroll_inner:wimp_COLOUR_VERY_LIGHT_GREY
highlight_bg:wimp_COLOUR_CREAM
extra_flags:
- extent:0,-452,640,0
+ extent:0,-500,640,0
title_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_FILLED | 0x27000000
work_flags:
sprite_area:&1
@@ -3415,7 +3415,7 @@ wimp_window {
ymin:452
text_only:"Inhoud"
wimp_icon {
- extent:16,-220,624,-24
+ extent:16,-272,624,-24
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3455,7 +3455,7 @@ wimp_window {
text_and_sprite.validation:"Soptoff,opton"
}
wimp_icon {
- extent:32,-204,344,-160
+ extent:32,-256,344,-212
#ifdef WITH_PLUGIN
icon_flags:wimp_ICON_TEXT | wimp_ICON_SPRITE | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED | wimp_BUTTON_RADIO
#else
@@ -3469,7 +3469,7 @@ wimp_window {
text_and_sprite.validation:"Soptoff,opton"
}
wimp_icon {
- extent:16,-340,624,-248
+ extent:16,-380,624,-288
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3479,7 +3479,7 @@ wimp_window {
text.validation:"R4"
}
wimp_icon {
- extent:32,-276,492,-232
+ extent:32,-316,492,-272
icon_flags:wimp_ICON_TEXT | wimp_ICON_SPRITE | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3489,7 +3489,7 @@ wimp_window {
text_and_sprite.validation:""
}
wimp_icon {
- extent:32,-324,636,-280
+ extent:32,-364,636,-320
icon_flags:wimp_ICON_TEXT | wimp_ICON_SPRITE | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED | wimp_BUTTON_RADIO
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3499,7 +3499,7 @@ wimp_window {
text_and_sprite.validation:"Soptoff,opton"
}
wimp_icon {
- extent:24,-424,188,-372
+ extent:24,-464,188,-412
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_FILLED | wimp_ICON_INDIRECTED | wimp_BUTTON_CLICK
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3509,7 +3509,7 @@ wimp_window {
text.validation:"R5,3"
}
wimp_icon {
- extent:256,-424,420,-372
+ extent:256,-464,420,-412
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_FILLED | wimp_ICON_INDIRECTED | wimp_BUTTON_CLICK
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3519,7 +3519,7 @@ wimp_window {
text.validation:"R5,3"
}
wimp_icon {
- extent:436,-432,620,-364
+ extent:436,-472,620,-404
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_FILLED | wimp_ICON_INDIRECTED | wimp_BUTTON_CLICK
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3528,6 +3528,16 @@ wimp_window {
text.size:*
text.validation:"R6,3"
}
+ wimp_icon {
+ extent:32,-204,376,-160
+ icon_flags:wimp_ICON_TEXT | wimp_ICON_SPRITE | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED | wimp_BUTTON_RADIO
+ icon_esg:0
+ icon_fg:wimp_COLOUR_BLACK
+ icon_bg:wimp_COLOUR_VERY_LIGHT_GREY
+ text_and_sprite.text:"Disable Javascript"
+ text_and_sprite.size:19
+ text_and_sprite.validation:"Soptoff,opton"
+ }
}
wimp_window {
-----------------------------------------------------------------------
Summary of changes:
riscos/configure/con_content.c | 9 +++++++++
riscos/templates/de | 30 ++++++++++++++++++++----------
riscos/templates/en | 30 ++++++++++++++++++++----------
riscos/templates/fr | 30 ++++++++++++++++++++----------
riscos/templates/nl | 30 ++++++++++++++++++++----------
5 files changed, 89 insertions(+), 40 deletions(-)
diff --git a/riscos/configure/con_content.c b/riscos/configure/con_content.c
index a8e9f78..81537bc 100644
--- a/riscos/configure/con_content.c
+++ b/riscos/configure/con_content.c
@@ -35,6 +35,7 @@
#define CONTENT_DEFAULT_BUTTON 8
#define CONTENT_CANCEL_BUTTON 9
#define CONTENT_OK_BUTTON 10
+#define CONTENT_NO_JAVASCRIPT 11
static void ro_gui_options_content_default(wimp_pointer *pointer);
static bool ro_gui_options_content_ok(wimp_w w);
@@ -50,12 +51,15 @@ bool ro_gui_options_content_initialise(wimp_w w)
nsoption_bool(no_plugins));
ro_gui_set_icon_selected_state(w, CONTENT_TARGET_BLANK,
nsoption_bool(target_blank));
+ ro_gui_set_icon_selected_state(w, CONTENT_NO_JAVASCRIPT,
+ !nsoption_bool(enable_javascript));
/* initialise all functions for a newly created window */
ro_gui_wimp_event_register_checkbox(w, CONTENT_BLOCK_ADVERTISEMENTS);
ro_gui_wimp_event_register_checkbox(w, CONTENT_BLOCK_POPUPS);
ro_gui_wimp_event_register_checkbox(w, CONTENT_NO_PLUGINS);
ro_gui_wimp_event_register_checkbox(w, CONTENT_TARGET_BLANK);
+ ro_gui_wimp_event_register_checkbox(w, CONTENT_NO_JAVASCRIPT);
ro_gui_wimp_event_register_button(w, CONTENT_DEFAULT_BUTTON,
ro_gui_options_content_default);
ro_gui_wimp_event_register_cancel(w, CONTENT_CANCEL_BUTTON);
@@ -78,6 +82,8 @@ void ro_gui_options_content_default(wimp_pointer *pointer)
false);
ro_gui_set_icon_selected_state(pointer->w, CONTENT_TARGET_BLANK,
true);
+ ro_gui_set_icon_selected_state(pointer->w, CONTENT_NO_JAVASCRIPT,
+ false);
}
bool ro_gui_options_content_ok(wimp_w w)
@@ -93,6 +99,9 @@ bool ro_gui_options_content_ok(wimp_w w)
nsoption_set_bool(target_blank,
ro_gui_get_icon_selected_state(w, CONTENT_TARGET_BLANK));
+ nsoption_set_bool(enable_javascript,
+ !ro_gui_get_icon_selected_state(w, CONTENT_NO_JAVASCRIPT));
+
ro_gui_save_options();
return true;
}
diff --git a/riscos/templates/de b/riscos/templates/de
index ed26c7d..ce028ca 100644
--- a/riscos/templates/de
+++ b/riscos/templates/de
@@ -3794,7 +3794,7 @@ wimp_window {
wimp_window {
template_name:"con_content"
- visible:236,800,876,1252
+ visible:1404,424,2044,924
xscroll:0
yscroll:0
next:wimp_TOP
@@ -3807,7 +3807,7 @@ wimp_window {
scroll_inner:wimp_COLOUR_VERY_LIGHT_GREY
highlight_bg:wimp_COLOUR_CREAM
extra_flags:
- extent:0,-452,640,0
+ extent:0,-500,640,0
title_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_FILLED | 0x27000000
work_flags:
sprite_area:&1
@@ -3815,7 +3815,7 @@ wimp_window {
ymin:452
text_only:"Content"
wimp_icon {
- extent:16,-220,624,-24
+ extent:16,-272,624,-24
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3855,7 +3855,7 @@ wimp_window {
text_and_sprite.validation:"Soptoff,opton"
}
wimp_icon {
- extent:32,-204,496,-160
+ extent:32,-256,496,-212
#ifdef WITH_PLUGIN
icon_flags:wimp_ICON_TEXT | wimp_ICON_SPRITE | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED | wimp_BUTTON_RADIO
#else
@@ -3869,7 +3869,7 @@ wimp_window {
text_and_sprite.validation:"Soptoff,opton"
}
wimp_icon {
- extent:16,-340,624,-248
+ extent:16,-384,624,-292
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3879,7 +3879,7 @@ wimp_window {
text.validation:"R4"
}
wimp_icon {
- extent:32,-276,492,-232
+ extent:32,-320,492,-276
icon_flags:wimp_ICON_TEXT | wimp_ICON_SPRITE | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3889,7 +3889,7 @@ wimp_window {
text_and_sprite.validation:""
}
wimp_icon {
- extent:32,-324,612,-280
+ extent:32,-368,612,-324
icon_flags:wimp_ICON_TEXT | wimp_ICON_SPRITE | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED | wimp_BUTTON_RADIO
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3899,7 +3899,7 @@ wimp_window {
text_and_sprite.validation:"Soptoff,opton"
}
wimp_icon {
- extent:24,-424,188,-372
+ extent:24,-468,188,-416
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_FILLED | wimp_ICON_INDIRECTED | wimp_BUTTON_CLICK
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3909,7 +3909,7 @@ wimp_window {
text.validation:"R5,3"
}
wimp_icon {
- extent:256,-424,420,-372
+ extent:256,-468,420,-416
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_FILLED | wimp_ICON_INDIRECTED | wimp_BUTTON_CLICK
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3919,7 +3919,7 @@ wimp_window {
text.validation:"R5,3"
}
wimp_icon {
- extent:436,-432,620,-364
+ extent:436,-476,620,-408
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_FILLED | wimp_ICON_INDIRECTED | wimp_BUTTON_CLICK
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3928,4 +3928,14 @@ wimp_window {
text.size:4
text.validation:"R6,3"
}
+ wimp_icon {
+ extent:32,-204,376,-160
+ icon_flags:wimp_ICON_TEXT | wimp_ICON_SPRITE | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED | wimp_BUTTON_RADIO
+ icon_esg:0
+ icon_fg:wimp_COLOUR_BLACK
+ icon_bg:wimp_COLOUR_VERY_LIGHT_GREY
+ text_and_sprite.text:"Disable Javascript"
+ text_and_sprite.size:19
+ text_and_sprite.validation:"Soptoff,opton"
+ }
}
diff --git a/riscos/templates/en b/riscos/templates/en
index 2b91764..afcfe56 100644
--- a/riscos/templates/en
+++ b/riscos/templates/en
@@ -3386,7 +3386,7 @@ wimp_window {
wimp_window {
template_name:"con_content"
- visible:1248,902,1912,1354
+ visible:1248,854,1912,1354
xscroll:0
yscroll:0
next:wimp_TOP
@@ -3399,7 +3399,7 @@ wimp_window {
scroll_inner:wimp_COLOUR_VERY_LIGHT_GREY
highlight_bg:wimp_COLOUR_CREAM
extra_flags:
- extent:0,-452,664,0
+ extent:0,-500,664,0
title_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_FILLED | 0x27000000
work_flags:
sprite_area:&1
@@ -3407,7 +3407,7 @@ wimp_window {
ymin:452
text_only:"Content"
wimp_icon {
- extent:16,-220,644,-24
+ extent:16,-272,644,-24
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3447,7 +3447,7 @@ wimp_window {
text_and_sprite.validation:"Soptoff,opton"
}
wimp_icon {
- extent:32,-204,344,-160
+ extent:32,-256,344,-212
#ifdef WITH_PLUGIN
icon_flags:wimp_ICON_TEXT | wimp_ICON_SPRITE | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED | wimp_BUTTON_RADIO
#else
@@ -3461,7 +3461,7 @@ wimp_window {
text_and_sprite.validation:"Soptoff,opton"
}
wimp_icon {
- extent:16,-340,644,-248
+ extent:16,-384,644,-292
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3471,7 +3471,7 @@ wimp_window {
text.validation:"R4"
}
wimp_icon {
- extent:32,-276,492,-232
+ extent:32,-320,492,-276
icon_flags:wimp_ICON_TEXT | wimp_ICON_SPRITE | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3481,7 +3481,7 @@ wimp_window {
text_and_sprite.validation:""
}
wimp_icon {
- extent:32,-324,632,-280
+ extent:32,-368,632,-324
icon_flags:wimp_ICON_TEXT | wimp_ICON_SPRITE | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED | wimp_BUTTON_RADIO
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3491,7 +3491,7 @@ wimp_window {
text_and_sprite.validation:"Soptoff,opton"
}
wimp_icon {
- extent:24,-424,188,-372
+ extent:24,-468,188,-416
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_FILLED | wimp_ICON_INDIRECTED | wimp_BUTTON_CLICK
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3501,7 +3501,7 @@ wimp_window {
text.validation:"R5,3"
}
wimp_icon {
- extent:280,-424,444,-372
+ extent:280,-468,444,-416
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_FILLED | wimp_ICON_INDIRECTED | wimp_BUTTON_CLICK
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3511,7 +3511,7 @@ wimp_window {
text.validation:"R5,3"
}
wimp_icon {
- extent:460,-432,644,-364
+ extent:460,-476,644,-408
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_FILLED | wimp_ICON_INDIRECTED | wimp_BUTTON_CLICK
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3520,6 +3520,16 @@ wimp_window {
text.size:*
text.validation:"R6,3"
}
+ wimp_icon {
+ extent:32,-204,376,-160
+ icon_flags:wimp_ICON_TEXT | wimp_ICON_SPRITE | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED | wimp_BUTTON_RADIO
+ icon_esg:0
+ icon_fg:wimp_COLOUR_BLACK
+ icon_bg:wimp_COLOUR_VERY_LIGHT_GREY
+ text_and_sprite.text:"Disable Javascript"
+ text_and_sprite.size:19
+ text_and_sprite.validation:"Soptoff,opton"
+ }
}
wimp_window {
diff --git a/riscos/templates/fr b/riscos/templates/fr
index 4a8cce4..464cf6b 100644
--- a/riscos/templates/fr
+++ b/riscos/templates/fr
@@ -3020,7 +3020,7 @@ wimp_window {
wimp_window {
template_name:"con_content"
- visible:598,888,1338,1336
+ visible:598,836,1350,1336
xscroll:0
yscroll:0
next:
@@ -3033,7 +3033,7 @@ wimp_window {
scroll_inner:wimp_COLOUR_VERY_LIGHT_GREY
highlight_bg:wimp_COLOUR_CREAM
extra_flags:
- extent:0,-452,752,0
+ extent:0,-500,752,0
title_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_FILLED | 0x27000000
work_flags:
sprite_area:&1
@@ -3041,7 +3041,7 @@ wimp_window {
ymin:448
text_only:"Contenu"
wimp_icon {
- extent:16,-220,724,-24
+ extent:16,-272,732,-24
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3081,7 +3081,7 @@ wimp_window {
text_and_sprite.validation:"Soptoff,opton"
}
wimp_icon {
- extent:32,-204,404,-160
+ extent:32,-256,404,-212
#ifdef WITH_PLUGIN
icon_flags:wimp_ICON_TEXT | wimp_ICON_SPRITE | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED | wimp_BUTTON_RADIO
#else
@@ -3095,7 +3095,7 @@ wimp_window {
text_and_sprite.validation:"Soptoff,opton"
}
wimp_icon {
- extent:16,-340,724,-248
+ extent:16,-384,732,-292
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3105,7 +3105,7 @@ wimp_window {
text.validation:"R4"
}
wimp_icon {
- extent:32,-276,492,-232
+ extent:32,-320,492,-276
icon_flags:wimp_ICON_TEXT | wimp_ICON_SPRITE | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3115,7 +3115,7 @@ wimp_window {
text_and_sprite.validation:""
}
wimp_icon {
- extent:32,-328,716,-280
+ extent:32,-372,716,-324
icon_flags:wimp_ICON_TEXT | wimp_ICON_SPRITE | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED | wimp_BUTTON_RADIO
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3125,7 +3125,7 @@ wimp_window {
text_and_sprite.validation:"Soptoff,opton"
}
wimp_icon {
- extent:24,-424,188,-372
+ extent:24,-468,188,-416
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_FILLED | wimp_ICON_INDIRECTED | wimp_BUTTON_CLICK
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3135,7 +3135,7 @@ wimp_window {
text.validation:"R5,3"
}
wimp_icon {
- extent:368,-424,532,-372
+ extent:372,-468,536,-416
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_FILLED | wimp_ICON_INDIRECTED | wimp_BUTTON_CLICK
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3145,7 +3145,7 @@ wimp_window {
text.validation:"R5,3"
}
wimp_icon {
- extent:540,-432,724,-364
+ extent:544,-476,728,-408
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_FILLED | wimp_ICON_INDIRECTED | wimp_BUTTON_CLICK
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3154,6 +3154,16 @@ wimp_window {
text.size:*
text.validation:"R6,3"
}
+ wimp_icon {
+ extent:32,-204,376,-160
+ icon_flags:wimp_ICON_TEXT | wimp_ICON_SPRITE | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED | wimp_BUTTON_RADIO
+ icon_esg:0
+ icon_fg:wimp_COLOUR_BLACK
+ icon_bg:wimp_COLOUR_VERY_LIGHT_GREY
+ text_and_sprite.text:"Disable Javascript"
+ text_and_sprite.size:19
+ text_and_sprite.validation:"Soptoff,opton"
+ }
}
wimp_window {
diff --git a/riscos/templates/nl b/riscos/templates/nl
index 19dd843..da34e44 100644
--- a/riscos/templates/nl
+++ b/riscos/templates/nl
@@ -3394,7 +3394,7 @@ wimp_window {
wimp_window {
template_name:"con_content"
- visible:272,306,912,758
+ visible:1632,750,2272,1250
xscroll:0
yscroll:0
next:wimp_TOP
@@ -3407,7 +3407,7 @@ wimp_window {
scroll_inner:wimp_COLOUR_VERY_LIGHT_GREY
highlight_bg:wimp_COLOUR_CREAM
extra_flags:
- extent:0,-452,640,0
+ extent:0,-500,640,0
title_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_FILLED | 0x27000000
work_flags:
sprite_area:&1
@@ -3415,7 +3415,7 @@ wimp_window {
ymin:452
text_only:"Inhoud"
wimp_icon {
- extent:16,-220,624,-24
+ extent:16,-272,624,-24
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3455,7 +3455,7 @@ wimp_window {
text_and_sprite.validation:"Soptoff,opton"
}
wimp_icon {
- extent:32,-204,344,-160
+ extent:32,-256,344,-212
#ifdef WITH_PLUGIN
icon_flags:wimp_ICON_TEXT | wimp_ICON_SPRITE | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED | wimp_BUTTON_RADIO
#else
@@ -3469,7 +3469,7 @@ wimp_window {
text_and_sprite.validation:"Soptoff,opton"
}
wimp_icon {
- extent:16,-340,624,-248
+ extent:16,-380,624,-288
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3479,7 +3479,7 @@ wimp_window {
text.validation:"R4"
}
wimp_icon {
- extent:32,-276,492,-232
+ extent:32,-316,492,-272
icon_flags:wimp_ICON_TEXT | wimp_ICON_SPRITE | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3489,7 +3489,7 @@ wimp_window {
text_and_sprite.validation:""
}
wimp_icon {
- extent:32,-324,636,-280
+ extent:32,-364,636,-320
icon_flags:wimp_ICON_TEXT | wimp_ICON_SPRITE | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED | wimp_BUTTON_RADIO
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3499,7 +3499,7 @@ wimp_window {
text_and_sprite.validation:"Soptoff,opton"
}
wimp_icon {
- extent:24,-424,188,-372
+ extent:24,-464,188,-412
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_FILLED | wimp_ICON_INDIRECTED | wimp_BUTTON_CLICK
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3509,7 +3509,7 @@ wimp_window {
text.validation:"R5,3"
}
wimp_icon {
- extent:256,-424,420,-372
+ extent:256,-464,420,-412
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_FILLED | wimp_ICON_INDIRECTED | wimp_BUTTON_CLICK
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3519,7 +3519,7 @@ wimp_window {
text.validation:"R5,3"
}
wimp_icon {
- extent:436,-432,620,-364
+ extent:436,-472,620,-404
icon_flags:wimp_ICON_TEXT | wimp_ICON_BORDER | wimp_ICON_HCENTRED | wimp_ICON_VCENTRED | wimp_ICON_FILLED | wimp_ICON_INDIRECTED | wimp_BUTTON_CLICK
icon_esg:0
icon_fg:wimp_COLOUR_BLACK
@@ -3528,6 +3528,16 @@ wimp_window {
text.size:*
text.validation:"R6,3"
}
+ wimp_icon {
+ extent:32,-204,376,-160
+ icon_flags:wimp_ICON_TEXT | wimp_ICON_SPRITE | wimp_ICON_VCENTRED | wimp_ICON_INDIRECTED | wimp_BUTTON_RADIO
+ icon_esg:0
+ icon_fg:wimp_COLOUR_BLACK
+ icon_bg:wimp_COLOUR_VERY_LIGHT_GREY
+ text_and_sprite.text:"Disable Javascript"
+ text_and_sprite.size:19
+ text_and_sprite.validation:"Soptoff,opton"
+ }
}
wimp_window {
--
NetSurf Browser
10 years, 1 month
netsurf: branch master updated. 8e416ec2265fda98de4b1ea027b1ff0998e20205
by NetSurf Browser Project
Gitweb links:
...log http://git.netsurf-browser.org/netsurf.git/shortlog/8e416ec2265fda98de4b1...
...commit http://git.netsurf-browser.org/netsurf.git/commit/8e416ec2265fda98de4b1ea...
...tree http://git.netsurf-browser.org/netsurf.git/tree/8e416ec2265fda98de4b1ea02...
The branch, master has been updated
via 8e416ec2265fda98de4b1ea027b1ff0998e20205 (commit)
via 79b1496d3054a68cc5dcdf27677ed58667c099b3 (commit)
via 2a42b028b2c407cdd796a487d738370ee96e7d9b (commit)
via 8c74aeb6e17bbd97544bc41120c2d7d7a5c2b66c (commit)
via 51067561c9b6b3fe9f6dd5b032b570bf92f34a02 (commit)
via ea5096fb8d8233f588145357220f8e3f72bf160e (commit)
via 08cb5a09b2554e4eae7ffa692f540107fc07b5ec (commit)
from 8685336e2da8a594955d1db97fff9eaac1e276fd (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff http://git.netsurf-browser.org/netsurf.git/commitdiff/8e416ec2265fda98de4...
commit 8e416ec2265fda98de4b1ea027b1ff0998e20205
Author: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Commit: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Ensure the menu checked state remain in sync with reality
diff --git a/amiga/gui.c b/amiga/gui.c
index d92a5c2..e1fc19d 100755
--- a/amiga/gui.c
+++ b/amiga/gui.c
@@ -1191,6 +1191,27 @@ void ami_gui_trap_mouse(struct gui_window_2 *gwin)
}
}
+void ami_gui_menu_update_all(void)
+{
+ struct nsObject *node;
+ struct nsObject *nnode;
+ struct gui_window_2 *gwin;
+
+ if(IsMinListEmpty(window_list)) return;
+
+ node = (struct nsObject *)GetHead((struct List *)window_list);
+
+ do {
+ nnode=(struct nsObject *)GetSucc((struct Node *)node);
+ gwin = node->objstruct;
+
+ if(node->Type == AMINS_WINDOW)
+ {
+ ami_menu_update_checked(gwin);
+ }
+ } while(node = nnode);
+}
+
void ami_handle_msg(void)
{
struct IntuiMessage *message = NULL;
@@ -1944,6 +1965,11 @@ void ami_handle_msg(void)
ami_menu_window_close = NULL;
}
+
+ if(ami_menu_check_toggled) {
+ ami_gui_menu_update_all();
+ ami_menu_check_toggled = false;
+ }
}
void ami_gui_appicon_remove(struct gui_window_2 *gwin)
diff --git a/amiga/gui_options.c b/amiga/gui_options.c
index 092bb4c..66e47d8 100755
--- a/amiga/gui_options.c
+++ b/amiga/gui_options.c
@@ -1861,6 +1861,8 @@ void ami_gui_opts_use(bool save)
ami_font_savescanner(); /* just in case it has changed and been used only */
}
+ ami_menu_check_toggled = true;
+
SetWindowPointer(gow->win,
WA_Pointer, NULL,
TAG_DONE);
diff --git a/amiga/menu.c b/amiga/menu.c
index 76fa9e0..58a4d51 100755
--- a/amiga/menu.c
+++ b/amiga/menu.c
@@ -693,8 +693,6 @@ void ami_menu_update_disabled(struct gui_window *g, hlcache_handle *c)
OffMenu(win,AMI_MENU_SAVEAS_IFF);
}
}
-
- ami_menu_update_checked(g->shared);
}
/*
@@ -905,6 +903,7 @@ static void ami_menu_item_browser_foreimg(struct Hook *hook, APTR window, struct
if(ItemAddress(menustrip, msg->Code)->Flags & CHECKED) checked = true;
nsoption_set_bool(foreground_images, checked);
+ ami_menu_check_toggled = true;
}
static void ami_menu_item_browser_backimg(struct Hook *hook, APTR window, struct IntuiMessage *msg)
@@ -916,6 +915,7 @@ static void ami_menu_item_browser_backimg(struct Hook *hook, APTR window, struct
if(ItemAddress(menustrip, msg->Code)->Flags & CHECKED) checked = true;
nsoption_set_bool(background_images, checked);
+ ami_menu_check_toggled = true;
}
static void ami_menu_item_browser_enablejs(struct Hook *hook, APTR window, struct IntuiMessage *msg)
@@ -927,6 +927,7 @@ static void ami_menu_item_browser_enablejs(struct Hook *hook, APTR window, struc
if(ItemAddress(menustrip, msg->Code)->Flags & CHECKED) checked = true;
nsoption_set_bool(enable_javascript, checked);
+ ami_menu_check_toggled = true;
}
static void ami_menu_item_browser_scale_decrease(struct Hook *hook, APTR window, struct IntuiMessage *msg)
diff --git a/amiga/menu.h b/amiga/menu.h
index 58628ac..8cff2d5 100755
--- a/amiga/menu.h
+++ b/amiga/menu.h
@@ -73,9 +73,11 @@ struct gui_window;
struct gui_window_2;
struct gui_window_2 *ami_menu_window_close;
+bool ami_menu_check_toggled;
void ami_free_menulabs(struct gui_window_2 *gwin);
struct NewMenu *ami_create_menu(struct gui_window_2 *gwin);
void ami_menu_refresh(struct gui_window_2 *gwin);
+void ami_menu_update_checked(struct gui_window_2 *gwin);
void ami_menu_update_disabled(struct gui_window *g, hlcache_handle *c);
#endif
commitdiff http://git.netsurf-browser.org/netsurf.git/commitdiff/79b1496d3054a68cc5d...
commit 79b1496d3054a68cc5dcdf27677ed58667c099b3
Author: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Commit: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Update menu checked state
diff --git a/amiga/menu.c b/amiga/menu.c
index 3d9b98e..76fa9e0 100755
--- a/amiga/menu.c
+++ b/amiga/menu.c
@@ -601,6 +601,40 @@ void ami_menu_scan_2(struct tree *tree, struct node *root, WORD *gen,
*gen = *gen - 1;
}
+void ami_menu_update_checked(struct gui_window_2 *gwin)
+{
+ struct Menu *menustrip;
+
+ GetAttr(WINDOW_MenuStrip, gwin->objects[OID_MAIN], (ULONG *)&menustrip);
+ if(!menustrip) return;
+
+ if(nsoption_bool(enable_javascript) == true) {
+ if((ItemAddress(menustrip, AMI_MENU_JS)->Flags & CHECKED) == 0)
+ ItemAddress(menustrip, AMI_MENU_JS)->Flags ^= CHECKED;
+ } else {
+ if(ItemAddress(menustrip, AMI_MENU_JS)->Flags & CHECKED)
+ ItemAddress(menustrip, AMI_MENU_JS)->Flags ^= CHECKED;
+ }
+
+ if(nsoption_bool(foreground_images) == true) {
+ if((ItemAddress(menustrip, AMI_MENU_FOREIMG)->Flags & CHECKED) == 0)
+ ItemAddress(menustrip, AMI_MENU_FOREIMG)->Flags ^= CHECKED;
+ } else {
+ if(ItemAddress(menustrip, AMI_MENU_FOREIMG)->Flags & CHECKED)
+ ItemAddress(menustrip, AMI_MENU_FOREIMG)->Flags ^= CHECKED;
+ }
+
+ if(nsoption_bool(background_images) == true) {
+ if((ItemAddress(menustrip, AMI_MENU_BACKIMG)->Flags & CHECKED) == 0)
+ ItemAddress(menustrip, AMI_MENU_BACKIMG)->Flags ^= CHECKED;
+ } else {
+ if(ItemAddress(menustrip, AMI_MENU_BACKIMG)->Flags & CHECKED)
+ ItemAddress(menustrip, AMI_MENU_BACKIMG)->Flags ^= CHECKED;
+ }
+
+ ResetMenuStrip(gwin->win, menustrip);
+}
+
void ami_menu_update_disabled(struct gui_window *g, hlcache_handle *c)
{
struct Window *win = g->shared->win;
@@ -659,6 +693,8 @@ void ami_menu_update_disabled(struct gui_window *g, hlcache_handle *c)
OffMenu(win,AMI_MENU_SAVEAS_IFF);
}
}
+
+ ami_menu_update_checked(g->shared);
}
/*
diff --git a/amiga/menu.h b/amiga/menu.h
index da4a3aa..58628ac 100755
--- a/amiga/menu.h
+++ b/amiga/menu.h
@@ -62,6 +62,9 @@
#define AMI_MENU_SELECTALL FULLMENUNUM(1,4,0)
#define AMI_MENU_CLEAR FULLMENUNUM(1,5,0)
#define AMI_MENU_FIND FULLMENUNUM(2,0,0)
+#define AMI_MENU_FOREIMG FULLMENUNUM(2,8,0)
+#define AMI_MENU_BACKIMG FULLMENUNUM(2,8,1)
+#define AMI_MENU_JS FULLMENUNUM(2,9,0)
/* A special value for ami_menu_window_close */
#define AMI_MENU_WINDOW_CLOSE_ALL (void *)1
commitdiff http://git.netsurf-browser.org/netsurf.git/commitdiff/2a42b028b2c407cdd79...
commit 2a42b028b2c407cdd796a487d738370ee96e7d9b
Author: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Commit: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Check the checked state of the menu items a more correct way
diff --git a/amiga/menu.c b/amiga/menu.c
index a12ed82..3d9b98e 100755
--- a/amiga/menu.c
+++ b/amiga/menu.c
@@ -862,17 +862,35 @@ static void ami_menu_item_browser_cookies(struct Hook *hook, APTR window, struct
static void ami_menu_item_browser_foreimg(struct Hook *hook, APTR window, struct IntuiMessage *msg)
{
- nsoption_set_bool(foreground_images, !nsoption_bool(foreground_images));
+ struct Menu *menustrip;
+ bool checked = false;
+
+ GetAttr(WINDOW_MenuStrip, (Object *)window, (ULONG *)&menustrip);
+ if(ItemAddress(menustrip, msg->Code)->Flags & CHECKED) checked = true;
+
+ nsoption_set_bool(foreground_images, checked);
}
static void ami_menu_item_browser_backimg(struct Hook *hook, APTR window, struct IntuiMessage *msg)
{
- nsoption_set_bool(background_images, !nsoption_bool(background_images));
+ struct Menu *menustrip;
+ bool checked = false;
+
+ GetAttr(WINDOW_MenuStrip, (Object *)window, (ULONG *)&menustrip);
+ if(ItemAddress(menustrip, msg->Code)->Flags & CHECKED) checked = true;
+
+ nsoption_set_bool(background_images, checked);
}
static void ami_menu_item_browser_enablejs(struct Hook *hook, APTR window, struct IntuiMessage *msg)
{
- nsoption_set_bool(enable_javascript, !nsoption_bool(enable_javascript));
+ struct Menu *menustrip;
+ bool checked = false;
+
+ GetAttr(WINDOW_MenuStrip, (Object *)window, (ULONG *)&menustrip);
+ if(ItemAddress(menustrip, msg->Code)->Flags & CHECKED) checked = true;
+
+ nsoption_set_bool(enable_javascript, checked);
}
static void ami_menu_item_browser_scale_decrease(struct Hook *hook, APTR window, struct IntuiMessage *msg)
commitdiff http://git.netsurf-browser.org/netsurf.git/commitdiff/8c74aeb6e17bbd97544...
commit 8c74aeb6e17bbd97544bc41120c2d7d7a5c2b66c
Author: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Commit: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Add some options to the browser menu
diff --git a/amiga/menu.c b/amiga/menu.c
index a778fe7..a12ed82 100755
--- a/amiga/menu.c
+++ b/amiga/menu.c
@@ -103,6 +103,9 @@ static void ami_menu_item_browser_find(struct Hook *hook, APTR window, struct In
static void ami_menu_item_browser_localhistory(struct Hook *hook, APTR window, struct IntuiMessage *msg);
static void ami_menu_item_browser_globalhistory(struct Hook *hook, APTR window, struct IntuiMessage *msg);
static void ami_menu_item_browser_cookies(struct Hook *hook, APTR window, struct IntuiMessage *msg);
+static void ami_menu_item_browser_foreimg(struct Hook *hook, APTR window, struct IntuiMessage *msg);
+static void ami_menu_item_browser_backimg(struct Hook *hook, APTR window, struct IntuiMessage *msg);
+static void ami_menu_item_browser_enablejs(struct Hook *hook, APTR window, struct IntuiMessage *msg);
static void ami_menu_item_browser_scale_decrease(struct Hook *hook, APTR window, struct IntuiMessage *msg);
static void ami_menu_item_browser_scale_normal(struct Hook *hook, APTR window, struct IntuiMessage *msg);
static void ami_menu_item_browser_scale_increase(struct Hook *hook, APTR window, struct IntuiMessage *msg);
@@ -325,25 +328,44 @@ void ami_init_menulabs(struct gui_window_2 *gwin)
gwin->menu_hook[37].h_Entry = (HOOKFUNC)ami_menu_item_browser_scale_increase;
gwin->menutype[38] = NM_ITEM;
- gwin->menulab[38] = ami_utf8_easy((char *)messages_get("Redraw"));
- gwin->menu_hook[38].h_Entry = (HOOKFUNC)ami_menu_item_browser_redraw;
-
- gwin->menutype[39] = NM_TITLE;
- gwin->menulab[39] = ami_utf8_easy((char *)messages_get("Hotlist"));
-
- gwin->menutype[40] = NM_ITEM;
- gwin->menulab[40] = ami_utf8_easy((char *)messages_get("HotlistAdd"));
- gwin->menukey[40] = 'B';
- gwin->menu_hook[40].h_Entry = (HOOKFUNC)ami_menu_item_hotlist_add;
-
+ gwin->menulab[38] = ami_utf8_easy((char *)messages_get("Images"));
+
+ gwin->menutype[39] = NM_SUB;
+ gwin->menulab[39] = ami_utf8_easy((char *)messages_get("ForeImg"));
+ gwin->menu_hook[39].h_Entry = (HOOKFUNC)ami_menu_item_browser_foreimg;
+
+ gwin->menutype[40] = NM_SUB;
+ gwin->menulab[40] = ami_utf8_easy((char *)messages_get("BackImg"));
+ gwin->menu_hook[40].h_Entry = (HOOKFUNC)ami_menu_item_browser_backimg;
+
gwin->menutype[41] = NM_ITEM;
- gwin->menulab[41] = ami_utf8_easy((char *)messages_get("HotlistShowNS"));
- gwin->menukey[41] = 'H';
- gwin->menu_hook[41].h_Entry = (HOOKFUNC)ami_menu_item_hotlist_show;
+ gwin->menulab[41] = ami_utf8_easy((char *)messages_get("EnableJS"));
+ gwin->menu_hook[41].h_Entry = (HOOKFUNC)ami_menu_item_browser_enablejs;
+ gwin->menukey[41] = 'J';
gwin->menutype[42] = NM_ITEM;
gwin->menulab[42] = NM_BARLABEL;
+ gwin->menutype[43] = NM_ITEM;
+ gwin->menulab[43] = ami_utf8_easy((char *)messages_get("Redraw"));
+ gwin->menu_hook[43].h_Entry = (HOOKFUNC)ami_menu_item_browser_redraw;
+
+ gwin->menutype[44] = NM_TITLE;
+ gwin->menulab[44] = ami_utf8_easy((char *)messages_get("Hotlist"));
+
+ gwin->menutype[45] = NM_ITEM;
+ gwin->menulab[45] = ami_utf8_easy((char *)messages_get("HotlistAdd"));
+ gwin->menukey[45] = 'B';
+ gwin->menu_hook[45].h_Entry = (HOOKFUNC)ami_menu_item_hotlist_add;
+
+ gwin->menutype[46] = NM_ITEM;
+ gwin->menulab[46] = ami_utf8_easy((char *)messages_get("HotlistShowNS"));
+ gwin->menukey[46] = 'H';
+ gwin->menu_hook[46].h_Entry = (HOOKFUNC)ami_menu_item_hotlist_show;
+
+ gwin->menutype[47] = NM_ITEM;
+ gwin->menulab[47] = NM_BARLABEL;
+
gwin->menutype[AMI_MENU_HOTLIST_MAX + 1] = NM_TITLE;
gwin->menulab[AMI_MENU_HOTLIST_MAX + 1] = ami_utf8_easy((char *)messages_get("Settings"));
@@ -415,9 +437,23 @@ struct NewMenu *ami_create_menu(struct gui_window_2 *gwin)
#ifndef WITH_PDF_EXPORT
gwin->menu[9].nm_Flags = NM_ITEMDISABLED;
#endif
+#if !defined(WITH_JS) && !defined(WITH_MOZJS)
+ gwin->menu[41].nm_Flags = NM_ITEMDISABLED | CHECKIT | MENUTOGGLE;
+#else
+ gwin->menu[41].nm_Flags = CHECKIT | MENUTOGGLE;
+ if(nsoption_bool(enable_javascript) == true)
+ gwin->menu[41].nm_Flags |= CHECKED;
+#endif
gwin->menu[15].nm_Flags = NM_ITEMDISABLED;
+ gwin->menu[39].nm_Flags = CHECKIT | MENUTOGGLE;
+ if(nsoption_bool(foreground_images) == true)
+ gwin->menu[39].nm_Flags |= CHECKED;
+ gwin->menu[40].nm_Flags = CHECKIT | MENUTOGGLE;
+ if(nsoption_bool(background_images) == true)
+ gwin->menu[40].nm_Flags |= CHECKED;
+
ami_menu_scan(ami_tree_get_tree(hotlist_window), false, gwin);
ami_menu_arexx_scan(gwin);
@@ -824,6 +860,21 @@ static void ami_menu_item_browser_cookies(struct Hook *hook, APTR window, struct
ami_tree_open(cookies_window,AMI_TREE_COOKIES);
}
+static void ami_menu_item_browser_foreimg(struct Hook *hook, APTR window, struct IntuiMessage *msg)
+{
+ nsoption_set_bool(foreground_images, !nsoption_bool(foreground_images));
+}
+
+static void ami_menu_item_browser_backimg(struct Hook *hook, APTR window, struct IntuiMessage *msg)
+{
+ nsoption_set_bool(background_images, !nsoption_bool(background_images));
+}
+
+static void ami_menu_item_browser_enablejs(struct Hook *hook, APTR window, struct IntuiMessage *msg)
+{
+ nsoption_set_bool(enable_javascript, !nsoption_bool(enable_javascript));
+}
+
static void ami_menu_item_browser_scale_decrease(struct Hook *hook, APTR window, struct IntuiMessage *msg)
{
struct gui_window_2 *gwin;
diff --git a/amiga/menu.h b/amiga/menu.h
index d692320..da4a3aa 100755
--- a/amiga/menu.h
+++ b/amiga/menu.h
@@ -30,10 +30,10 @@
/* Maximum number of menu items - first value is number of static items
* (ie. everything not intially defined as NM_IGNORE) */
-#define AMI_MENU_MAX 52 + AMI_HOTLIST_ITEMS
+#define AMI_MENU_MAX 57 + AMI_HOTLIST_ITEMS
/* Where the hotlist entries start */
-#define AMI_MENU_HOTLIST 43
+#define AMI_MENU_HOTLIST 48
/* Where the hotlist entries end */
#define AMI_MENU_HOTLIST_MAX AMI_MENU_HOTLIST+AMI_HOTLIST_ITEMS
@@ -64,7 +64,7 @@
#define AMI_MENU_FIND FULLMENUNUM(2,0,0)
/* A special value for ami_menu_window_close */
-#define AMI_MENU_WINDOW_CLOSE_ALL 1
+#define AMI_MENU_WINDOW_CLOSE_ALL (void *)1
struct gui_window;
struct gui_window_2;
commitdiff http://git.netsurf-browser.org/netsurf.git/commitdiff/51067561c9b6b3fe9f6...
commit 51067561c9b6b3fe9f6dd5b032b570bf92f34a02
Author: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Commit: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Properly capitalise JavaScript
diff --git a/resources/FatMessages b/resources/FatMessages
index 8006018..4abd847 100644
--- a/resources/FatMessages
+++ b/resources/FatMessages
@@ -5242,11 +5242,11 @@ de.all.Scripting:Scripting
fr.all.Scripting:Scripting
it.all.Scripting:Scripting
nl.all.Scripting:Scripting
-en.all.EnableJS:Enable Javascript
-de.all.EnableJS:Enable Javascript
-fr.all.EnableJS:Enable Javascript
-it.all.EnableJS:Attiva Javascript
-nl.all.EnableJS:Enable Javascript
+en.all.EnableJS:Enable JavaScript
+de.all.EnableJS:Enable JavaScript
+fr.all.EnableJS:Enable JavaScript
+it.all.EnableJS:Attiva JavaScript
+nl.all.EnableJS:Enable JavaScript
en.all.Miscellaneous:Miscellaneous
de.all.Miscellaneous:Verschiedenes
fr.all.Miscellaneous:Miscellaneous
commitdiff http://git.netsurf-browser.org/netsurf.git/commitdiff/ea5096fb8d8233f5881...
commit ea5096fb8d8233f588145357220f8e3f72bf160e
Author: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Commit: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
These values shouldn't be declared static
diff --git a/amiga/gui.c b/amiga/gui.c
index d41d251..d92a5c2 100755
--- a/amiga/gui.c
+++ b/amiga/gui.c
@@ -2506,8 +2506,8 @@ int ami_gui_hotlist_scan(struct tree *tree, struct List *speed_button_list, stru
struct node *root = tree_node_get_child(tree_get_root(tree));
struct node *node;
struct node_element *element;
- static WORD gen = 0;
- static int item = 0;
+ WORD gen = 0;
+ int item = 0;
for (node = root; node; node = tree_node_get_next(node))
{
diff --git a/amiga/menu.c b/amiga/menu.c
index f428606..a778fe7 100755
--- a/amiga/menu.c
+++ b/amiga/menu.c
@@ -497,8 +497,8 @@ ULONG ami_menu_scan(struct tree *tree, bool count, struct gui_window_2 *gwin)
struct node *root = tree_node_get_child(tree_get_root(tree));
struct node *node;
struct node_element *element;
- static WORD gen = 0;
- static ULONG item;
+ WORD gen = 0;
+ ULONG item;
item = AMI_MENU_HOTLIST;
commitdiff http://git.netsurf-browser.org/netsurf.git/commitdiff/08cb5a09b2554e4eae7...
commit 08cb5a09b2554e4eae7ffa692f540107fc07b5ec
Author: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Commit: Chris Young <chris(a)unsatisfactorysoftware.co.uk>
Work around a speedbar.gadget layout bug
diff --git a/amiga/gui.c b/amiga/gui.c
index 4a50566..d41d251 100755
--- a/amiga/gui.c
+++ b/amiga/gui.c
@@ -2464,7 +2464,7 @@ void ami_update_buttons(struct gui_window_2 *gwin)
}
}
-void ami_gui_hotlist_scan_2(struct tree *tree, struct node *root, WORD *gen, uint16 *item,
+void ami_gui_hotlist_scan_2(struct tree *tree, struct node *root, WORD *gen, int *item,
struct List *speed_button_list, struct gui_window_2 *gwin)
{
struct node *tempnode;
@@ -2507,7 +2507,7 @@ int ami_gui_hotlist_scan(struct tree *tree, struct List *speed_button_list, stru
struct node *node;
struct node_element *element;
static WORD gen = 0;
- static uint16 item = 0;
+ static int item = 0;
for (node = root; node; node = tree_node_get_next(node))
{
@@ -2524,6 +2524,13 @@ int ami_gui_hotlist_scan(struct tree *tree, struct List *speed_button_list, stru
void ami_gui_hotlist_toolbar_add(struct gui_window_2 *gwin)
{
+ struct TagItem attrs[2];
+
+ attrs[0].ti_Tag = CHILD_MinWidth;
+ attrs[0].ti_Data = 0;
+ attrs[1].ti_Tag = TAG_DONE;
+ attrs[1].ti_Data = 0;
+
NewList(&gwin->hotlist_toolbar_list);
if(ami_gui_hotlist_scan(ami_tree_get_tree(hotlist_window), &gwin->hotlist_toolbar_list, gwin) > 0) {
@@ -2542,7 +2549,7 @@ void ami_gui_hotlist_toolbar_add(struct gui_window_2 *gwin)
BevelEnd;
IDoMethod(gwin->objects[GID_HOTLISTLAYOUT], LM_ADDCHILD,
- gwin->win, gwin->objects[GID_HOTLIST], NULL);
+ gwin->win, gwin->objects[GID_HOTLIST], attrs);
IDoMethod(gwin->objects[GID_HOTLISTLAYOUT], LM_ADDIMAGE,
gwin->win, gwin->objects[GID_HOTLISTSEPBAR], NULL);
-----------------------------------------------------------------------
Summary of changes:
amiga/gui.c | 41 +++++++++++++--
amiga/gui_options.c | 2 +
amiga/menu.c | 138 +++++++++++++++++++++++++++++++++++++++++++------
amiga/menu.h | 11 +++-
resources/FatMessages | 10 ++--
5 files changed, 174 insertions(+), 28 deletions(-)
diff --git a/amiga/gui.c b/amiga/gui.c
index 4a50566..e1fc19d 100755
--- a/amiga/gui.c
+++ b/amiga/gui.c
@@ -1191,6 +1191,27 @@ void ami_gui_trap_mouse(struct gui_window_2 *gwin)
}
}
+void ami_gui_menu_update_all(void)
+{
+ struct nsObject *node;
+ struct nsObject *nnode;
+ struct gui_window_2 *gwin;
+
+ if(IsMinListEmpty(window_list)) return;
+
+ node = (struct nsObject *)GetHead((struct List *)window_list);
+
+ do {
+ nnode=(struct nsObject *)GetSucc((struct Node *)node);
+ gwin = node->objstruct;
+
+ if(node->Type == AMINS_WINDOW)
+ {
+ ami_menu_update_checked(gwin);
+ }
+ } while(node = nnode);
+}
+
void ami_handle_msg(void)
{
struct IntuiMessage *message = NULL;
@@ -1944,6 +1965,11 @@ void ami_handle_msg(void)
ami_menu_window_close = NULL;
}
+
+ if(ami_menu_check_toggled) {
+ ami_gui_menu_update_all();
+ ami_menu_check_toggled = false;
+ }
}
void ami_gui_appicon_remove(struct gui_window_2 *gwin)
@@ -2464,7 +2490,7 @@ void ami_update_buttons(struct gui_window_2 *gwin)
}
}
-void ami_gui_hotlist_scan_2(struct tree *tree, struct node *root, WORD *gen, uint16 *item,
+void ami_gui_hotlist_scan_2(struct tree *tree, struct node *root, WORD *gen, int *item,
struct List *speed_button_list, struct gui_window_2 *gwin)
{
struct node *tempnode;
@@ -2506,8 +2532,8 @@ int ami_gui_hotlist_scan(struct tree *tree, struct List *speed_button_list, stru
struct node *root = tree_node_get_child(tree_get_root(tree));
struct node *node;
struct node_element *element;
- static WORD gen = 0;
- static uint16 item = 0;
+ WORD gen = 0;
+ int item = 0;
for (node = root; node; node = tree_node_get_next(node))
{
@@ -2524,6 +2550,13 @@ int ami_gui_hotlist_scan(struct tree *tree, struct List *speed_button_list, stru
void ami_gui_hotlist_toolbar_add(struct gui_window_2 *gwin)
{
+ struct TagItem attrs[2];
+
+ attrs[0].ti_Tag = CHILD_MinWidth;
+ attrs[0].ti_Data = 0;
+ attrs[1].ti_Tag = TAG_DONE;
+ attrs[1].ti_Data = 0;
+
NewList(&gwin->hotlist_toolbar_list);
if(ami_gui_hotlist_scan(ami_tree_get_tree(hotlist_window), &gwin->hotlist_toolbar_list, gwin) > 0) {
@@ -2542,7 +2575,7 @@ void ami_gui_hotlist_toolbar_add(struct gui_window_2 *gwin)
BevelEnd;
IDoMethod(gwin->objects[GID_HOTLISTLAYOUT], LM_ADDCHILD,
- gwin->win, gwin->objects[GID_HOTLIST], NULL);
+ gwin->win, gwin->objects[GID_HOTLIST], attrs);
IDoMethod(gwin->objects[GID_HOTLISTLAYOUT], LM_ADDIMAGE,
gwin->win, gwin->objects[GID_HOTLISTSEPBAR], NULL);
diff --git a/amiga/gui_options.c b/amiga/gui_options.c
index 092bb4c..66e47d8 100755
--- a/amiga/gui_options.c
+++ b/amiga/gui_options.c
@@ -1861,6 +1861,8 @@ void ami_gui_opts_use(bool save)
ami_font_savescanner(); /* just in case it has changed and been used only */
}
+ ami_menu_check_toggled = true;
+
SetWindowPointer(gow->win,
WA_Pointer, NULL,
TAG_DONE);
diff --git a/amiga/menu.c b/amiga/menu.c
index f428606..58a4d51 100755
--- a/amiga/menu.c
+++ b/amiga/menu.c
@@ -103,6 +103,9 @@ static void ami_menu_item_browser_find(struct Hook *hook, APTR window, struct In
static void ami_menu_item_browser_localhistory(struct Hook *hook, APTR window, struct IntuiMessage *msg);
static void ami_menu_item_browser_globalhistory(struct Hook *hook, APTR window, struct IntuiMessage *msg);
static void ami_menu_item_browser_cookies(struct Hook *hook, APTR window, struct IntuiMessage *msg);
+static void ami_menu_item_browser_foreimg(struct Hook *hook, APTR window, struct IntuiMessage *msg);
+static void ami_menu_item_browser_backimg(struct Hook *hook, APTR window, struct IntuiMessage *msg);
+static void ami_menu_item_browser_enablejs(struct Hook *hook, APTR window, struct IntuiMessage *msg);
static void ami_menu_item_browser_scale_decrease(struct Hook *hook, APTR window, struct IntuiMessage *msg);
static void ami_menu_item_browser_scale_normal(struct Hook *hook, APTR window, struct IntuiMessage *msg);
static void ami_menu_item_browser_scale_increase(struct Hook *hook, APTR window, struct IntuiMessage *msg);
@@ -325,25 +328,44 @@ void ami_init_menulabs(struct gui_window_2 *gwin)
gwin->menu_hook[37].h_Entry = (HOOKFUNC)ami_menu_item_browser_scale_increase;
gwin->menutype[38] = NM_ITEM;
- gwin->menulab[38] = ami_utf8_easy((char *)messages_get("Redraw"));
- gwin->menu_hook[38].h_Entry = (HOOKFUNC)ami_menu_item_browser_redraw;
-
- gwin->menutype[39] = NM_TITLE;
- gwin->menulab[39] = ami_utf8_easy((char *)messages_get("Hotlist"));
-
- gwin->menutype[40] = NM_ITEM;
- gwin->menulab[40] = ami_utf8_easy((char *)messages_get("HotlistAdd"));
- gwin->menukey[40] = 'B';
- gwin->menu_hook[40].h_Entry = (HOOKFUNC)ami_menu_item_hotlist_add;
-
+ gwin->menulab[38] = ami_utf8_easy((char *)messages_get("Images"));
+
+ gwin->menutype[39] = NM_SUB;
+ gwin->menulab[39] = ami_utf8_easy((char *)messages_get("ForeImg"));
+ gwin->menu_hook[39].h_Entry = (HOOKFUNC)ami_menu_item_browser_foreimg;
+
+ gwin->menutype[40] = NM_SUB;
+ gwin->menulab[40] = ami_utf8_easy((char *)messages_get("BackImg"));
+ gwin->menu_hook[40].h_Entry = (HOOKFUNC)ami_menu_item_browser_backimg;
+
gwin->menutype[41] = NM_ITEM;
- gwin->menulab[41] = ami_utf8_easy((char *)messages_get("HotlistShowNS"));
- gwin->menukey[41] = 'H';
- gwin->menu_hook[41].h_Entry = (HOOKFUNC)ami_menu_item_hotlist_show;
+ gwin->menulab[41] = ami_utf8_easy((char *)messages_get("EnableJS"));
+ gwin->menu_hook[41].h_Entry = (HOOKFUNC)ami_menu_item_browser_enablejs;
+ gwin->menukey[41] = 'J';
gwin->menutype[42] = NM_ITEM;
gwin->menulab[42] = NM_BARLABEL;
+ gwin->menutype[43] = NM_ITEM;
+ gwin->menulab[43] = ami_utf8_easy((char *)messages_get("Redraw"));
+ gwin->menu_hook[43].h_Entry = (HOOKFUNC)ami_menu_item_browser_redraw;
+
+ gwin->menutype[44] = NM_TITLE;
+ gwin->menulab[44] = ami_utf8_easy((char *)messages_get("Hotlist"));
+
+ gwin->menutype[45] = NM_ITEM;
+ gwin->menulab[45] = ami_utf8_easy((char *)messages_get("HotlistAdd"));
+ gwin->menukey[45] = 'B';
+ gwin->menu_hook[45].h_Entry = (HOOKFUNC)ami_menu_item_hotlist_add;
+
+ gwin->menutype[46] = NM_ITEM;
+ gwin->menulab[46] = ami_utf8_easy((char *)messages_get("HotlistShowNS"));
+ gwin->menukey[46] = 'H';
+ gwin->menu_hook[46].h_Entry = (HOOKFUNC)ami_menu_item_hotlist_show;
+
+ gwin->menutype[47] = NM_ITEM;
+ gwin->menulab[47] = NM_BARLABEL;
+
gwin->menutype[AMI_MENU_HOTLIST_MAX + 1] = NM_TITLE;
gwin->menulab[AMI_MENU_HOTLIST_MAX + 1] = ami_utf8_easy((char *)messages_get("Settings"));
@@ -415,9 +437,23 @@ struct NewMenu *ami_create_menu(struct gui_window_2 *gwin)
#ifndef WITH_PDF_EXPORT
gwin->menu[9].nm_Flags = NM_ITEMDISABLED;
#endif
+#if !defined(WITH_JS) && !defined(WITH_MOZJS)
+ gwin->menu[41].nm_Flags = NM_ITEMDISABLED | CHECKIT | MENUTOGGLE;
+#else
+ gwin->menu[41].nm_Flags = CHECKIT | MENUTOGGLE;
+ if(nsoption_bool(enable_javascript) == true)
+ gwin->menu[41].nm_Flags |= CHECKED;
+#endif
gwin->menu[15].nm_Flags = NM_ITEMDISABLED;
+ gwin->menu[39].nm_Flags = CHECKIT | MENUTOGGLE;
+ if(nsoption_bool(foreground_images) == true)
+ gwin->menu[39].nm_Flags |= CHECKED;
+ gwin->menu[40].nm_Flags = CHECKIT | MENUTOGGLE;
+ if(nsoption_bool(background_images) == true)
+ gwin->menu[40].nm_Flags |= CHECKED;
+
ami_menu_scan(ami_tree_get_tree(hotlist_window), false, gwin);
ami_menu_arexx_scan(gwin);
@@ -497,8 +533,8 @@ ULONG ami_menu_scan(struct tree *tree, bool count, struct gui_window_2 *gwin)
struct node *root = tree_node_get_child(tree_get_root(tree));
struct node *node;
struct node_element *element;
- static WORD gen = 0;
- static ULONG item;
+ WORD gen = 0;
+ ULONG item;
item = AMI_MENU_HOTLIST;
@@ -565,6 +601,40 @@ void ami_menu_scan_2(struct tree *tree, struct node *root, WORD *gen,
*gen = *gen - 1;
}
+void ami_menu_update_checked(struct gui_window_2 *gwin)
+{
+ struct Menu *menustrip;
+
+ GetAttr(WINDOW_MenuStrip, gwin->objects[OID_MAIN], (ULONG *)&menustrip);
+ if(!menustrip) return;
+
+ if(nsoption_bool(enable_javascript) == true) {
+ if((ItemAddress(menustrip, AMI_MENU_JS)->Flags & CHECKED) == 0)
+ ItemAddress(menustrip, AMI_MENU_JS)->Flags ^= CHECKED;
+ } else {
+ if(ItemAddress(menustrip, AMI_MENU_JS)->Flags & CHECKED)
+ ItemAddress(menustrip, AMI_MENU_JS)->Flags ^= CHECKED;
+ }
+
+ if(nsoption_bool(foreground_images) == true) {
+ if((ItemAddress(menustrip, AMI_MENU_FOREIMG)->Flags & CHECKED) == 0)
+ ItemAddress(menustrip, AMI_MENU_FOREIMG)->Flags ^= CHECKED;
+ } else {
+ if(ItemAddress(menustrip, AMI_MENU_FOREIMG)->Flags & CHECKED)
+ ItemAddress(menustrip, AMI_MENU_FOREIMG)->Flags ^= CHECKED;
+ }
+
+ if(nsoption_bool(background_images) == true) {
+ if((ItemAddress(menustrip, AMI_MENU_BACKIMG)->Flags & CHECKED) == 0)
+ ItemAddress(menustrip, AMI_MENU_BACKIMG)->Flags ^= CHECKED;
+ } else {
+ if(ItemAddress(menustrip, AMI_MENU_BACKIMG)->Flags & CHECKED)
+ ItemAddress(menustrip, AMI_MENU_BACKIMG)->Flags ^= CHECKED;
+ }
+
+ ResetMenuStrip(gwin->win, menustrip);
+}
+
void ami_menu_update_disabled(struct gui_window *g, hlcache_handle *c)
{
struct Window *win = g->shared->win;
@@ -824,6 +894,42 @@ static void ami_menu_item_browser_cookies(struct Hook *hook, APTR window, struct
ami_tree_open(cookies_window,AMI_TREE_COOKIES);
}
+static void ami_menu_item_browser_foreimg(struct Hook *hook, APTR window, struct IntuiMessage *msg)
+{
+ struct Menu *menustrip;
+ bool checked = false;
+
+ GetAttr(WINDOW_MenuStrip, (Object *)window, (ULONG *)&menustrip);
+ if(ItemAddress(menustrip, msg->Code)->Flags & CHECKED) checked = true;
+
+ nsoption_set_bool(foreground_images, checked);
+ ami_menu_check_toggled = true;
+}
+
+static void ami_menu_item_browser_backimg(struct Hook *hook, APTR window, struct IntuiMessage *msg)
+{
+ struct Menu *menustrip;
+ bool checked = false;
+
+ GetAttr(WINDOW_MenuStrip, (Object *)window, (ULONG *)&menustrip);
+ if(ItemAddress(menustrip, msg->Code)->Flags & CHECKED) checked = true;
+
+ nsoption_set_bool(background_images, checked);
+ ami_menu_check_toggled = true;
+}
+
+static void ami_menu_item_browser_enablejs(struct Hook *hook, APTR window, struct IntuiMessage *msg)
+{
+ struct Menu *menustrip;
+ bool checked = false;
+
+ GetAttr(WINDOW_MenuStrip, (Object *)window, (ULONG *)&menustrip);
+ if(ItemAddress(menustrip, msg->Code)->Flags & CHECKED) checked = true;
+
+ nsoption_set_bool(enable_javascript, checked);
+ ami_menu_check_toggled = true;
+}
+
static void ami_menu_item_browser_scale_decrease(struct Hook *hook, APTR window, struct IntuiMessage *msg)
{
struct gui_window_2 *gwin;
diff --git a/amiga/menu.h b/amiga/menu.h
index d692320..8cff2d5 100755
--- a/amiga/menu.h
+++ b/amiga/menu.h
@@ -30,10 +30,10 @@
/* Maximum number of menu items - first value is number of static items
* (ie. everything not intially defined as NM_IGNORE) */
-#define AMI_MENU_MAX 52 + AMI_HOTLIST_ITEMS
+#define AMI_MENU_MAX 57 + AMI_HOTLIST_ITEMS
/* Where the hotlist entries start */
-#define AMI_MENU_HOTLIST 43
+#define AMI_MENU_HOTLIST 48
/* Where the hotlist entries end */
#define AMI_MENU_HOTLIST_MAX AMI_MENU_HOTLIST+AMI_HOTLIST_ITEMS
@@ -62,17 +62,22 @@
#define AMI_MENU_SELECTALL FULLMENUNUM(1,4,0)
#define AMI_MENU_CLEAR FULLMENUNUM(1,5,0)
#define AMI_MENU_FIND FULLMENUNUM(2,0,0)
+#define AMI_MENU_FOREIMG FULLMENUNUM(2,8,0)
+#define AMI_MENU_BACKIMG FULLMENUNUM(2,8,1)
+#define AMI_MENU_JS FULLMENUNUM(2,9,0)
/* A special value for ami_menu_window_close */
-#define AMI_MENU_WINDOW_CLOSE_ALL 1
+#define AMI_MENU_WINDOW_CLOSE_ALL (void *)1
struct gui_window;
struct gui_window_2;
struct gui_window_2 *ami_menu_window_close;
+bool ami_menu_check_toggled;
void ami_free_menulabs(struct gui_window_2 *gwin);
struct NewMenu *ami_create_menu(struct gui_window_2 *gwin);
void ami_menu_refresh(struct gui_window_2 *gwin);
+void ami_menu_update_checked(struct gui_window_2 *gwin);
void ami_menu_update_disabled(struct gui_window *g, hlcache_handle *c);
#endif
diff --git a/resources/FatMessages b/resources/FatMessages
index 8006018..4abd847 100644
--- a/resources/FatMessages
+++ b/resources/FatMessages
@@ -5242,11 +5242,11 @@ de.all.Scripting:Scripting
fr.all.Scripting:Scripting
it.all.Scripting:Scripting
nl.all.Scripting:Scripting
-en.all.EnableJS:Enable Javascript
-de.all.EnableJS:Enable Javascript
-fr.all.EnableJS:Enable Javascript
-it.all.EnableJS:Attiva Javascript
-nl.all.EnableJS:Enable Javascript
+en.all.EnableJS:Enable JavaScript
+de.all.EnableJS:Enable JavaScript
+fr.all.EnableJS:Enable JavaScript
+it.all.EnableJS:Attiva JavaScript
+nl.all.EnableJS:Enable JavaScript
en.all.Miscellaneous:Miscellaneous
de.all.Miscellaneous:Verschiedenes
fr.all.Miscellaneous:Miscellaneous
--
NetSurf Browser
10 years, 1 month