Vincent Sanders
fbc3f36fb5
initial js navigator binding
2015-10-05 15:46:22 +01:00
Dave Higton
33264e012b
Makes the Javascript document.writeln() function work as well as write()
2015-10-01 12:38:39 +01:00
Vincent Sanders
4bdd4cf7b6
Update bindings to cope with improved nsgenbind syntax
2015-09-28 08:57:45 +01:00
Michael Drake
51c2dd70e2
Add assert before we wander off into the weeds.
...
Visiting slashdot we get a document write with a node that has no
html content user data.
2015-09-26 12:53:43 +01:00
Vincent Sanders
46945f6362
Improve location implementation to be more complete
2015-09-20 10:35:32 +01:00
Vincent Sanders
63dba3a061
expose the location object through document as well as window
2015-09-10 08:51:56 +01:00
Daniel Silverstone
73c6476112
Fix instanceof to be correct and improve documentation of stack contents
2015-09-09 14:00:37 +01:00
Vincent Sanders
1a43dd21b3
Add initial readonly location implementation
2015-09-07 13:53:59 +01:00
John-Mark Bell
fd9aa16ece
JS: mark idx_func volatile to remove warning
2015-08-15 10:03:39 +00:00
John-Mark Bell
a7fb19f3a9
JS: use deep stack, regardless of platform.
...
Without enabling this, the compiler recursion limit will be hit
when parsing most non-trivial JS libraries.
2015-08-15 10:00:35 +00:00
Daniel Silverstone
a76de90a2e
Final (untested) bits of Node
2015-08-14 16:09:28 +02:00
Daniel Silverstone
e46a705b0f
More (untested) Node stuff
2015-08-14 15:34:00 +02:00
Vincent Sanders
dc7f0dce9f
expose Math operations to javascript code
2015-08-13 23:05:02 +01:00
Michael Drake
4c975aafa3
Fix typo in unused jsapi code.
2015-08-13 14:30:28 +01:00
Michael Drake
16fd36eb9d
Proper error handling for JS context creation.
2015-08-13 12:23:59 +01:00
Michael Drake
526b0e3bb4
Add assertion that jscontext is non-NULL when making new compartment.
2015-08-13 09:26:50 +01:00
Daniel Silverstone
ecc6a12ed6
Slight tidying of error report
2015-08-12 15:56:01 +02:00
Daniel Silverstone
1ee30e7632
Log more of the JS error object
2015-08-12 15:39:34 +02:00
Daniel Silverstone
e331784ea3
Expose Array, Date and RegExp on Window
2015-08-12 15:19:57 +02:00
Daniel Silverstone
3a6da36fc9
Add missing node unref
2015-08-12 12:27:18 +02:00
Daniel Silverstone
c47db23f8f
Attempt to prevent use of STRPTIME or GETDATE on platforms where we know it is broken
2015-08-12 10:43:34 +02:00
Daniel Silverstone
b4d26fd160
Take tip of the fix-cast-align-warnings branch from Sami to see if it helps
2015-08-12 08:40:35 +02:00
Michael Drake
9354adacdb
Fix: warning: pointer targets ... differ in signedness [-Wpointer-sign]
2015-08-11 20:44:52 +01:00
Daniel Silverstone
ab79f0a9c5
document.write shoud stringify all args
2015-08-11 19:39:31 +02:00
Vincent Sanders
c1d5bbe7df
add urlutils IDL to netsurf binding
2015-08-11 14:36:43 +01:00
Daniel Silverstone
a590117246
Element::getElementsByTagName()
2015-08-11 15:13:14 +02:00
Daniel Silverstone
73fbaf6fb1
Add support for a lot of Node's interface
2015-08-11 14:45:59 +02:00
Daniel Silverstone
1af1ab1c3c
Add a variant of dukky_instanceof which can take an index
2015-08-11 14:45:59 +02:00
Vincent Sanders
45ced343af
Add urlutils IDL
2015-08-11 12:14:18 +01:00
Daniel Silverstone
d4f487acf1
Basic Console support
2015-08-10 20:09:58 +02:00
Daniel Silverstone
0df3439eb2
Fix constructor injection to use new constructor type, add test
2015-08-09 18:54:37 +01:00
Daniel Silverstone
3d7de6cf8d
Fix window.window
2015-08-09 16:20:09 +01:00
Daniel Silverstone
da77e9c91c
Avoid strptime on platforms where NetSurf knows we don't have a good one
2015-08-09 14:51:22 +01:00
Chris Young
8d4c4b9179
Support PowerPC
2015-08-09 14:07:38 +01:00
Daniel Silverstone
d6a0f3fef0
Fix copyright header on dukky.h
2015-08-09 12:28:44 +01:00
Daniel Silverstone
061472e520
Support duktape and WebIDL
2015-08-09 12:27:13 +01:00
Daniel Silverstone
aadb820089
Add duktape bindings
2015-08-09 12:26:41 +01:00
Daniel Silverstone
37b118d966
Add duktape binding support code
2015-08-09 12:26:28 +01:00
Daniel Silverstone
ad82c49a80
Add duktape 1.2.3 release ready for use
2015-08-09 12:26:11 +01:00
Vincent Sanders
c5a834f527
retrive the correct uievents spec and process it appropriately
2015-07-23 21:42:46 +01:00
Vincent Sanders
bdd9f59573
Attempt to extract the uievents IDL
2015-07-23 21:26:46 +01:00
Vincent Sanders
3b9df4f796
Fix IDL update from spec
2015-07-17 09:29:37 +01:00
Vincent Sanders
20d29c0537
fixup logging macros that incorrectly override the LOG() macro name
2015-05-28 17:33:18 +01:00
Vincent Sanders
30c2962faa
Fixup javascript logging to cope with new varadic LOG macro
2015-05-28 16:33:30 +01:00
Vincent Sanders
c105738fa3
Change LOG() macro to be varadic
...
This changes the LOG macro to be varadic removing the need for all
callsites to have double bracketing and allows for future improvement
on how we use the logging macros.
The callsites were changed with coccinelle and the changes checked by
hand. Compile tested for several frontends but not all.
A formatting annotation has also been added which allows the compiler
to check the parameters and types passed to the logging.
2015-05-28 16:08:46 +01:00
Vincent Sanders
d06df231bc
Update the core to use the split operations table headers
...
Second in the series to decouple the core API usage from the frontends.
2014-10-16 22:33:43 +01:00
Vincent Sanders
02bbaa3e88
split version info into its own header and remove unnecessary nesurf.h includes
...
The netsurf.h header should *only* contain the registration, core
initialisation and finalisation methods. Version information is best
placed in its own header.
Also remove any unneeded inclusion of this header limiting it to
solely the places the relevant API is required.
2014-10-13 15:08:16 +01:00
Vincent Sanders
37755fb135
add incomplete scheme fetcher for javascript urls
2014-08-25 15:59:52 -07:00
Michael Drake
49bed056dd
Make browser_window_navigate (un)verifiable flag match browser_window_create.
2014-02-10 22:40:04 +00:00
Michael Drake
af014bce99
Allow tab creation without history clone. Changes browser_window_create and browser_window_navigate flags.
2014-02-10 14:08:45 +00:00
Vincent Sanders
f8854707bb
fix leak of utsname structure (coverity 1109881)
2013-11-06 10:53:01 +00:00
Vincent Sanders
ccb0c1cfd1
implement very, very bad js window.top method
2013-06-03 23:10:53 +01:00
Vincent Sanders
3aba4b778a
enable trace logging in binding generation
2013-06-03 15:16:38 +01:00
Vincent Sanders
8d57bb30af
forcing a GC when the new global is created improves memory usage with scripts enabled
2013-06-03 11:55:37 +01:00
Vincent Sanders
6397fedb2b
Turns out there are still two different compiles of the 1.8.5 API about
2013-06-03 11:10:46 +01:00
Vincent Sanders
ae6058c15c
create objects from window on demand an keep them as simple unshared objects
...
update prototype handling to keep GC refs
2013-06-02 21:00:32 +01:00
Vincent Sanders
ee6e6eec05
move options include
2013-05-28 14:16:10 +01:00
Vincent Sanders
ca345e9b99
fix version range when teh callback API changed
2013-05-22 20:42:37 +01:00
Vincent Sanders
ce0fe06349
create javascript heartbeat and hook a script timeout to it
2013-05-22 19:12:26 +01:00
Vincent Sanders
95e726c7cc
split sources lists out to their subdirectories as first step towards using core buildsystem
2013-03-11 17:53:52 +00:00
Vincent Sanders
f3b515540e
move javascript makefile
2013-03-11 11:09:47 +00:00
Vincent Sanders
529ca251fc
rename flags for browser_window routines to be shorter
2013-02-18 11:51:42 +00:00
Vincent Sanders
3bfb5b96a7
browser_window_navigate refactor
2013-02-18 11:23:27 +00:00
Vincent Sanders
4ffa39177d
fix docuemnt/window location to correctly navigate, fixes http://www.avaaz.org/ base page
2013-02-07 18:16:37 +00:00
Vincent Sanders
5ee7c6fd5c
fix cast warning in location::href setter
2013-01-31 22:53:20 +00:00
Vincent Sanders
3d075bec32
add href location setter
2013-01-31 20:29:12 +00:00
Vincent Sanders
67ffb8e6e9
implement Element::hasAttribute
2013-01-23 17:46:40 +00:00
Vincent Sanders
09dc0649df
implement Element::removeAttribute
2013-01-23 17:12:57 +00:00
Vincent Sanders
7ab835df8f
implement Element::className
2013-01-23 17:00:13 +00:00
Vincent Sanders
16d938dd63
implement Element::id
2013-01-23 16:28:35 +00:00
Vincent Sanders
db7d3acdc3
add and use debug logging macro
2013-01-23 15:51:55 +00:00
Vincent Sanders
1d08350981
implement Element::tagName
2013-01-23 15:51:55 +00:00
Vincent Sanders
fab7b04de6
implement Element::getElementsByTagName
2013-01-23 15:51:45 +00:00
Vincent Sanders
31f7af700f
implement Element::setAttribute
2013-01-23 13:42:43 +00:00
Vincent Sanders
faddd8b035
implement Element::getAttribute
2013-01-23 12:37:56 +00:00
Vincent Sanders
9b568abf96
add default property handler for array indexing
2013-01-22 22:54:34 +00:00
Vincent Sanders
fc6f04161e
simplify jsapi property compatability macros
2013-01-22 18:58:22 +00:00
Vincent Sanders
5f66864c3a
add macros for default proprty actions
2013-01-17 19:58:15 +00:00
Vincent Sanders
7b62bb5ff8
implement document.compatmode
2013-01-17 19:58:15 +00:00
Vincent Sanders
bb10e7131f
use a prologue section in the node binding to abstract out javascrip dom node to libdom node conversion
2013-01-02 23:14:31 +00:00
Vincent Sanders
1b8f9daa51
Initial implementation of document.createComment
...
Improve robustness of jsobject to libdom object conversion in appendChild
2013-01-02 23:14:30 +00:00
Vincent Sanders
27873fa9fe
add explicit stdlib include for definition of free()
2012-12-20 17:17:42 +00:00
Vincent Sanders
c0f9ae95b9
change the javascript bindings to use generated headers
2012-12-20 17:00:06 +00:00
Vincent Sanders
0d803b6c0d
add coment on superclasses
2012-12-17 18:33:08 +00:00
Vincent Sanders
e913a58ee7
add missing copyright header
2012-12-17 15:15:11 +00:00
Vincent Sanders
347fdf0743
add dom event handler to document object
2012-12-17 14:55:16 +00:00
Vincent Sanders
90f0cfb551
allow for JSOPTION_JIT to not be set
2012-12-16 20:51:42 +00:00
Vincent Sanders
25e85f1429
do not add script handler if runtime cannot be initialised
2012-12-13 15:35:01 +00:00
Vincent Sanders
04825c62df
implement document.URL and document.documentURI
2012-12-07 15:50:24 +00:00
Vincent Sanders
99f93da0f3
correctly handle location
2012-12-07 12:08:56 +00:00
Vincent Sanders
0718d80918
abstract out GC root manipulation for js values
2012-12-04 18:15:14 +00:00
Vincent Sanders
897acff532
make events work on elements
2012-12-04 18:01:11 +00:00
Vincent Sanders
878fe3e68c
fix disabled javascript function signature
2012-12-03 17:53:14 +00:00
Vincent Sanders
70ece8a428
add stub implemntation for event handling in elements
2012-12-03 17:34:03 +00:00
Vincent Sanders
3052864773
issue click events at dom
2012-12-03 17:09:44 +00:00
Vincent Sanders
4865886721
fix logic
2012-11-28 22:35:40 +00:00
Vincent Sanders
71577f214d
use macro to compare
2012-11-28 22:08:11 +00:00
Vincent Sanders
56b521a125
make window load event delivery work
2012-11-28 18:53:11 +00:00
Vincent Sanders
68f359d1ec
initial event fireing implementation
2012-11-28 18:07:36 +00:00
Vincent Sanders
567017898c
remove example binding its out of date and in nsgenbind anyway
2012-11-26 20:34:59 +00:00
Vincent Sanders
f9d94af893
add correct copyright headers
2012-11-26 20:34:59 +00:00
Vincent Sanders
7915708b58
update event handler to cope with nsgenbind changes
2012-11-25 19:27:58 +00:00
Vincent Sanders
ec43456e4b
use unshared type handler for all events on window
2012-11-23 13:48:11 +00:00
Vincent Sanders
966fb9f215
rationalise the JSAPI macro usage requires nsgenbind changes
2012-11-22 14:00:13 +00:00
Vincent Sanders
054984099f
use correct unref functions
2012-11-21 22:08:18 +00:00
Vincent Sanders
c2cd36fda8
improve location interface implementation
2012-11-21 18:51:44 +00:00
Vincent Sanders
a159a4a79b
update JSAPI_PS() signature to cope with new nsgenbind
2012-11-20 19:17:54 +00:00
Vincent Sanders
bb6b546b4b
cleanup formatting in binding files
2012-11-19 17:23:24 +00:00
Vincent Sanders
6797e1f8ef
add nodeValue implementation
2012-11-18 21:50:11 +00:00
Vincent Sanders
8810bc0163
add nodeName implementation
2012-11-18 21:24:29 +00:00
Vincent Sanders
ba867955a2
add nodeType
2012-11-18 21:12:49 +00:00
Vincent Sanders
fa9046fc97
implement childElementCount
2012-11-18 17:35:52 +00:00
Vincent Sanders
99d3633e03
implement previousElementSibling and nextElementSibling
2012-11-18 12:59:10 +00:00
Vincent Sanders
bec8711528
implement lastElementChild
2012-11-18 12:38:07 +00:00
Vincent Sanders
b1ca83ad8c
implement firstElementChild
2012-11-18 12:14:44 +00:00
Vincent Sanders
6589c7cc19
add Garbage colelction root set macros
2012-11-17 11:19:31 +00:00
Vincent Sanders
e36b8f6579
safely deal with NULL strings
2012-11-16 15:31:14 +00:00
Vincent Sanders
2bea506f83
add Node interface binding just to get the prototype
2012-11-14 02:11:01 +00:00
Vincent Sanders
a79e098817
remove redundant domutils and put functionality in existing utils/libdom
2012-11-10 11:44:38 +00:00
Daniel Silverstone
413248d0fc
Rough implementation of httponly cookie support
2012-11-09 11:38:46 +00:00
Vincent Sanders
9318e66449
add document.createElement
2012-11-09 10:52:55 +00:00
Chris Young
b0e43148b5
JSContext needs to be a pointer
2012-11-08 23:28:04 +00:00
Chris Young
2a63ce87bb
Spidermonkey 1.70 headers don't have JS_SET_RVAL
2012-11-08 20:09:40 +00:00
Vincent Sanders
85ede7192d
put correct type casts into constructor
2012-11-08 17:30:43 +00:00
Vincent Sanders
28ac5fe9c1
implement appendChild so wikipedia lcm script works
2012-11-08 17:22:29 +00:00
Vincent Sanders
9006a96119
setup spidermonky 1.7.0 compatability macros, derived from ole's macros
2012-11-08 01:02:14 +00:00
Vincent Sanders
bb42a650df
ensure JS_EvaluateScript has a variable to return its result
2012-11-08 00:45:30 +00:00
Vincent Sanders
06b08d3af0
make compatability macros for garbage collection
2012-11-08 00:40:21 +00:00
Vincent Sanders
882fd4f5c5
implement document.createTextNode operation
2012-11-07 19:55:42 +00:00
Vincent Sanders
ca24b238ed
add Text interface
2012-11-07 18:53:05 +00:00
Vincent Sanders
43fb761f45
add document.body, head and documentElement getters
...
add a dom utility file and use it
2012-11-07 18:53:05 +00:00
Vincent Sanders
b68f928cb2
fix JSAPI_CLASS_NO_INTERNAL_MEMBERS for 1.8.0 spidermonkey
2012-11-06 18:47:26 +00:00
Vincent Sanders
e0dc7d40ab
implement JSAPI_CLASS_NO_INTERNAL_MEMBERS correctly for differring versions of teh jsapi interface
2012-11-06 18:35:59 +00:00
Vincent Sanders
12f874cd92
separate javascript logging macro
2012-11-06 18:20:41 +00:00
Vincent Sanders
4bd5e23fff
ensure garbage collector knows about created objects
2012-11-06 18:20:41 +00:00
Vincent Sanders
478b57c5d7
working docuemnt.cookie
2012-11-04 16:37:51 +00:00
Vincent Sanders
8de9e19077
improve dom reference accounting
2012-11-04 11:20:02 +00:00
Vincent Sanders
3f1b683845
implement dom-getElementsByTagName and nodelist and htmlcollection
2012-11-03 21:37:06 +00:00
Vincent Sanders
85c973f986
add jsstring to jsval conversion macro that copes with null jsstrings
2012-11-03 17:37:59 +00:00
Vincent Sanders
45d508487a
add global api to window binding
2012-11-03 13:52:13 +00:00
Vincent Sanders
48cbca0399
move bindings into the correct place
2012-11-02 22:37:57 +00:00
Vincent Sanders
7cb3150573
improve example binding docuemntation
2012-11-02 13:30:30 +00:00
Vincent Sanders
b84dc91e3d
remove extraneous debug
2012-11-02 11:06:14 +00:00
Vincent Sanders
2b6bd44ef0
add location binding
2012-11-01 23:30:28 +00:00
Vincent Sanders
b34cbc5e83
remove old handmade binding code
2012-11-01 23:29:01 +00:00
Vincent Sanders
2b8cdf1f29
add HTMLElement interface binding
2012-11-01 21:13:14 +00:00
Vincent Sanders
5496a60431
console interface from IDL
2012-10-31 14:31:18 +00:00
Vincent Sanders
ede48d6074
add navigator interface
2012-10-31 01:22:35 +00:00
Vincent Sanders
79e557bbe8
Move WebIDL to be available for all binding types not just jsapi (spidermonkey)
...
Add conversion message display
2012-10-30 13:49:02 +00:00
Vincent Sanders
881daebce2
get minimal window property functionality working on window object
2012-10-29 23:46:07 +00:00