Commit Graph

320 Commits

Author SHA1 Message Date
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
Vincent Sanders
ac286c4a95 add binding for window class 2012-10-29 20:10:39 +00:00
Vincent Sanders
b531318905 fix obtaining the "this" object 2012-10-28 15:37:55 +00:00
Vincent Sanders
ac5ade2f56 add include for bindings 2012-10-26 12:46:49 +01:00
Vincent Sanders
a9f5b2a504 Merge branch 'vince/nsgenbind' of git://git.netsurf-browser.org/netsurf into vince/nsgenbind 2012-10-26 12:41:27 +01:00
Vincent Sanders
99c54f1d9d split class prototype initialisation from instantiation 2012-10-26 12:36:14 +01:00
Vincent Sanders
3ed0b09beb use generated htmldocument binding 2012-10-25 11:17:33 +01:00
Vincent Sanders
6a300528fd add initial binding files for nsgenbind 2012-10-25 11:17:33 +01:00
Vincent Sanders
ad10d63209 Initial webIDL files for core dom and html 2012-10-25 11:17:32 +01:00
Vincent Sanders
b866e3e172 use generated htmldocument binding 2012-10-24 19:00:24 +01:00
Vincent Sanders
f487b77f4f add initial binding files for nsgenbind 2012-10-23 18:39:34 +01:00
Vincent Sanders
6de9eb4d62 Initial webIDL files for core dom and html 2012-10-23 16:45:41 +01:00
Michael Drake
3c4f4ca461 Alocate jsclass_document_priv size. 2012-10-05 15:06:32 +01:00
Vincent Sanders
c1671f37b1 reduce talloc usage to box tree layout only 2012-10-03 19:26:17 +01:00
Vincent Sanders
2f1ca751d6 make the "none" javascript implmentation specifically disable the scripting option 2012-10-02 13:34:03 +01:00
Vincent Sanders
792e888169 remove comment after checking correctness of sources 2012-08-22 16:59:33 +01:00
Vincent Sanders
22368db232 add js property (dom attribute) support to the document/element objects 2012-08-17 12:25:49 +01:00
Vincent Sanders
a3ef5c2c3c fixup jsapi dom interface to include correct html/dom acessor hierachy 2012-08-15 18:48:46 +01:00
Vincent Sanders
ad5db89b49 Fix include and structure definition to stop compiler redefinition errors 2012-08-09 16:28:07 +01:00
Michael Drake
2eef2a2264 Add missing #include. 2012-08-08 21:49:31 +01:00
Vincent Sanders
0ace9f5e0b extend javascript object hierarchy 2012-08-08 20:08:41 +01:00
Vincent Sanders
6205c62ba3 add non rfc 4329 javascript mimetypes to content handler 2012-08-06 17:33:03 +01:00
Vincent Sanders
135aae3921 add element object 2012-08-05 23:42:45 +01:00
Vincent Sanders
f5891097cc Inital work on supporting getelementbyid 2012-08-05 11:44:43 +01:00
Vincent Sanders
6bbae1f228 add document IDL and test for geteleemntbyid 2012-08-01 19:25:45 +01:00
Vincent Sanders
c0aaf31f5a fix global handling 2012-07-31 14:48:53 +01:00
Vincent Sanders
d7289f6701 remove parser binding layer 2012-07-13 17:37:22 -06:00
Vincent Sanders
c5a87d3ebb do not try and write to document if the parser is finished 2012-07-07 00:29:47 +01:00
Vincent Sanders
752261c66c Improve logging and inline script handling 2012-07-07 00:16:07 +01:00
Vincent Sanders
cc93afcfda alter usage of libdom hubbub binding 2012-07-06 20:00:32 +01:00
Vincent Sanders
67648c621d Implement navigator properties
Signed-Off-By: Vincent Sanders <vince@netsurf-browser.org>
2012-07-02 22:48:53 +01:00
Vincent Sanders
274a76d97a Add initial navigator object creation.
Basic navigator object outline ready to add methods to.
The navigator object contains all the information about the browser

Signed-Off-By: Vincent Sanders <vince@netsurf-browser.org>
2012-07-02 22:48:41 +01:00
Vincent Sanders
a911ecaa48 Add compatability code to allow compilation with earlier Spidermonky versions
By using carefuly built macros we can make the spidermonkey binding
work on earlier editions of spidermonkey.

Some ideas taken from Chris Young and Ole

Signed-off-by: Vincent Sanders <vince@netsurf-browser.org>
2012-06-30 17:38:12 +01:00
Vincent Sanders
d5c900b5f1 fix mimetype handling of script elements
svn path=/trunk/netsurf/; revision=13993
2012-06-28 14:38:28 +00:00
Vincent Sanders
ac1dbe0354 fix missing default
svn path=/trunk/netsurf/; revision=13992
2012-06-28 09:30:56 +00:00
Vincent Sanders
1c15183fe3 correctly terminate properties list
add helper to convert strings

svn path=/trunk/netsurf/; revision=13991
2012-06-27 23:39:18 +00:00
Vincent Sanders
804bec4f99 make non js builds compile
make js support compile with older debian/ubuntu packaging


svn path=/trunk/netsurf/; revision=13990
2012-06-27 23:17:18 +00:00
Vincent Sanders
cfd26609bd add window and self properties
svn path=/trunk/netsurf/; revision=13989
2012-06-27 18:16:45 +00:00
Vincent Sanders
638e135c60 correctly setup window object as global
svn path=/trunk/netsurf/; revision=13987
2012-06-26 18:55:57 +00:00
Vincent Sanders
3b5c782c16 ensure javascript content handler is initialised
svn path=/trunk/netsurf/; revision=13976
2012-06-19 23:21:15 +00:00
Vincent Sanders
8611281b2e add content handler for javascript
svn path=/trunk/netsurf/; revision=13971
2012-06-19 22:57:29 +00:00
Vincent Sanders
49effe103a restructure javascript binding layout to be more explicit
fix html content so it correctly loads all the script tags


svn path=/trunk/netsurf/; revision=13968
2012-06-19 09:35:51 +00:00
Vincent Sanders
9dc376bdec use the correct version macro
svn path=/trunk/netsurf/; revision=13966
2012-06-16 12:06:47 +00:00
Vincent Sanders
a5f2a8cfba Fix stupid braino missing include for non js case
svn path=/trunk/netsurf/; revision=13965
2012-06-13 18:02:46 +00:00
Vincent Sanders
0be03dea20 fix include for non javascript builds
svn path=/trunk/netsurf/; revision=13964
2012-06-13 17:57:16 +00:00
Vincent Sanders
4c89c9d5df improve javascript support
svn path=/trunk/netsurf/; revision=13962
2012-06-10 22:17:30 +00:00