Commit Graph

302 Commits

Author SHA1 Message Date
Vincent Sanders
b9a23939b2 Add some HTML Element specialisations for HR and BR
These specialisations make use of the new nsgenbind feature of
generated property accessors.
2015-10-08 16:20:18 +01:00
Vincent Sanders
6fd2c320f2 Turn off excessive debugging in javascript 2015-10-07 21:06:17 +01:00
Vincent Sanders
b5f1c5eee2 complete binding for HTML BR element 2015-10-07 14:45:57 +01:00
Vincent Sanders
315339cbc8 Add a brief explanation of whats in the unimplemented documentation 2015-10-07 10:28:01 +01:00
Vincent Sanders
d0371d5d3b Add documentation showing unimplemented javascript bindings 2015-10-07 09:18:14 +01:00
Vincent Sanders
a46d9057d8 Update html IDL to current spec 2015-10-05 21:54:44 +01:00
Vincent Sanders
6a4a7d7c25 report error getting user data in document.write 2015-10-05 21:53:43 +01:00
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