Commit Graph

120 Commits

Author SHA1 Message Date
Daniel Silverstone
c8ae744680 Only iterate the form when freeing a control if there is one.
This fixes Bug#2322
2015-06-03 20:24:32 +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
Daniel Silverstone
df3a889435 Ensure we delink form controls when freeing them 2015-04-22 21:11:21 +01:00
Vincent Sanders
1e1df59089 add some debug to form gadget freeing
Serveral reports of form freeing segfaulting on RISC OS so this adds
some debug in this area to see if we can tell why.
2015-03-27 15:27:33 +00:00
John-Mark Bell
6af5ba0c8f Forms: consider submit buttons successful. Fixes #2284. 2015-03-10 01:16:15 +00:00
Vincent Sanders
71d016aba5 Remove unecessary form debug
Additionaly we make the curl fetcher report errors instead of
uninitialised buffer.
2014-11-15 18:23:44 +00:00
Vincent Sanders
a50d2035a7 Fix cocoa usage of render internals 2014-11-13 22:15:32 +00:00
Vincent Sanders
79e501075a make the form select menu API smaller.
By hiding all but the form selection menu option structure from code
outside of render this reduces the API to the absolute minimum to
support this feature.
2014-11-13 21:52:08 +00:00
Vincent Sanders
a99b1325d7 Doxygen cleanups 2014-11-12 11:45:07 +00:00
Vincent Sanders
d8007f4512 change form API to return error instead of warning user.
Update the form API so instead of directly warning the user it returns
an error code to the caller allowing the appropriate action to be
taken outside the core. Additionally clean up documentation of this
API.
2014-11-11 22:58:34 +00:00
Vincent Sanders
d9ce975822 Make most of the form API internal to the html renderer.
Very little of the form API needed exposing outside of the
renderer. This makes the form API that may be used by frontends
obvious and limited.
2014-11-11 17:11:59 +00:00
Vincent Sanders
1097cc40b4 remove unecessary browser.h include from core headers 2014-10-17 12:21:52 +01:00
Vincent Sanders
17be8cf216 Put the font operations table alongside all the other core API
The netsurf core is driven from numerous operation tables most of
which are now set through a common netsurf_register() interface. The
font and plotting interfaces are currently separate and unlike all the
other operation tables are modified for differing contexts.

This change moves the font operations alongside all the other
operations table and remove unnecessary interaction with the renderers
font internals. Further this also removes the need for css internals
to be visible in frontends.
2014-10-13 11:56:31 +01:00
Vincent Sanders
096bd47ab0 refactor url utility functions to use standard nserror codes and have appropriate documentation. 2014-05-08 00:16:50 +01:00
Michael Drake
71cb70065e Gadgets can exisit outside forms, so now they store their own ref to the containing html content. 2014-02-17 14:38:53 +00: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
Michael Drake
8deb9ec25c Native select menu interface shouldn't force front end to dig inside bw struct. 2014-02-08 17:11:55 +00:00
Vincent Sanders
db33103fa3 clean up desktop/gui.h include usage 2014-01-29 21:35:53 +00:00
Vincent Sanders
654da2ffb5 move utf8 conversion routines to use nserror instead of their own error enum 2014-01-28 21:40:13 +00:00
Michael Drake
05dc1c1305 Fix Coverity-spotted issue. (Fixes behaviour for multiple selects.) Also minor optimisation. 2014-01-24 14:21:27 +00:00
Michael Drake
4684e9665d Deselect other options when select option is selected, and it's not a multi-select. 2014-01-21 15:01:18 +00:00
Daniel Silverstone
28e670f52d Support 'checked' properly in new form handler 2014-01-06 18:50:49 +00:00
Daniel Silverstone
0d5960a68c Remove old form_successful_controls 2014-01-05 16:14:45 +00:00
Daniel Silverstone
6bf609a1a4 Support image inputs 2014-01-05 16:14:17 +00:00
Daniel Silverstone
b1e6c63a2f Rewrite form_successful_controls() to use the DOM.
This stops image inputs from working temporarily, but makes
inputs inside display:none work correctly.  As such, this is
a net-win.
2014-01-05 15:51:30 +00:00
Daniel Silverstone
b4f9860848 Remove logging now that file upload *seems* to work 2014-01-04 22:05:23 +00:00
Daniel Silverstone
de42f8880e Add a bunch of logging to try and help track down the issue with rawfile handling, sorry guys 2014-01-04 21:20:17 +00:00
Daniel Silverstone
2a18cef82b Shunt around the file multipart stuff a bit to try and fix the segfault 2014-01-04 20:53:43 +00:00
Daniel Silverstone
581d877576 In theory, store raw filenames and pass them through for file upload. Untested due to no file-upload in GTK frontend just yet 2014-01-04 19:34:18 +00:00
Daniel Silverstone
9b8988dd23 Reflect changes to select boxes into the DOM 2014-01-04 18:02:50 +00:00
Daniel Silverstone
533cfa27da Ensure textual input boxes re-update the DOM with new values 2014-01-04 18:02:50 +00:00
Michael Drake
3e08819db9 Fix leaks in form_successful_controls. 'charset' was always leaked, value was leaked in particular OOM case. 2013-10-23 12:34:48 +01:00
Michael Drake
479fcefd9a s/!charset/charset == NULL/ 2013-10-23 12:16:20 +01:00
Michael Drake
41e4928e25 Fix pointer shape and status bar messages for textareas and their scrollbars. 2013-03-11 12:57:33 +00:00
Vincent Sanders
5be20a0d6e change stylesheet fetching to be generated from the default dom events 2013-02-19 23:51:16 +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
Michael Drake
762e1aad73 First pass at getting html forms to use textarea widget.
(Input element types text & password, and textarea element.)
Can edit and submit forms, but there are loads of issues.
2013-02-06 22:39:45 +00:00
Michael Drake
88dd7c3709 Fix url encoded query generation, when there's no name/value pairs. 2012-10-16 18:32:14 +01:00
Michael Drake
0c8b03474e Make form_url_encode static. 2012-10-11 20:05:36 +01:00
Michael Drake
6f7c6de0c9 Use nsurl_replace_query instead of url_get_components and url_reform_components. 2012-10-11 20:02:52 +01:00
Michael Drake
75df8b9d4a Talloc ctx fixup. 2012-10-05 14:41:40 +01:00
Michael Drake
3e549fde3e Update to use latest libdom. Fixes handling of text input with no maxlength set. 2012-09-08 15:59:55 +01:00
Michael Drake
afdf72d7b5 Confine box_at_point to the document it's given. Callers are now responsible for calling whatever functionality for object boxes. Remove last bw dereference from render directory. Remove a couple of unused functions. 2012-08-21 15:27:52 +01:00
Michael Drake
6d39b569c7 Pass content containing form's nsurl to form_submit, instead of its hlcache_handle. Avoid dereferencing bw in html content handlers. 2012-08-17 20:26:00 +01:00
Michael Drake
be00425776 Avoid bw dereference. 2012-08-17 15:20:53 +01:00
Michael Drake
4872bc30b8 Remove redundant scrollbar widget message. 2012-08-16 13:13:25 +01:00
Daniel Silverstone
24894214bc Include dom/dom.h where it might be needed
svn path=/trunk/netsurf/; revision=13625
2012-03-24 20:55:22 +00:00
Michael Drake
d2253eee8f Don't need root bw here any more.
svn path=/trunk/netsurf/; revision=13396
2012-01-11 14:29:44 +00:00