Commit Graph

1604 Commits

Author SHA1 Message Date
John-Mark Bell
9720c02483 Fix #2071: handle parse completion creating style or script nodes. 2014-02-10 01:25:57 +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
3455d66921 reduce desktop/browser.h unecessary includes 2014-02-03 17:56:24 +00:00
Vincent Sanders
886a3106db move utf8 local conversion operations to table 2014-02-01 22:17:36 +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
46b8fbaeac Use corestring. 2014-01-25 10:00:33 +00:00
Michael Drake
72510f550b Use corestrings in box construction. 2014-01-24 18:58:12 +00:00
Michael Drake
20e789955d Ensure first option gets selected when the markup doesn't specify any options as selected. 2014-01-24 17:32:49 +00:00
Michael Drake
f07a04126d Merge branch 'master' of git://git.netsurf-browser.org/netsurf 2014-01-24 16:45:52 +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
Vincent Sanders
b7e372cf84 ensure imagemap lists are freed on error paths (coverity 1109880) 2014-01-24 12:11:10 +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
Vincent Sanders
bd065d4a43 split browser gui operations up 2014-01-15 19:37:05 +00:00
Vincent Sanders
0075eab194 move remaining gui operations to table 2014-01-14 23:31:54 +00:00
Vincent Sanders
303a29a89c cleanups to fix new clang warnings 2014-01-10 15:55:29 +00:00
Daniel Silverstone
28e670f52d Support 'checked' properly in new form handler 2014-01-06 18:50:49 +00:00
Daniel Silverstone
9a9cb399f9 Merge branch 'rjek/click-file-gadget' 2014-01-05 17:03:17 +00:00
Daniel Silverstone
ef5c516ee3 Restore missing message send 2014-01-05 17:01:27 +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
Rob Kendrick
0d7f1cfc93 Add infrastructure for calling front ends to set file gadget filenames via clicking in addition to drag-and-drop 2014-01-05 16:04:35 +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
Rob Kendrick
1bd4a34a27 Remove asserts for default cases from all content message handlers; this is laborious and is no longer useful for catching bugs. 2014-01-05 14:39:08 +00:00
John-Mark Bell
32468516e3 Speculatively start image fetches as we parse the document. 2014-01-05 14:34:49 +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
0516e4c069 Reflect toggling of 'selected' in the DOM 2014-01-04 18:02:50 +00:00
Daniel Silverstone
a5bb596eb3 Ensure that file inputs update the dom node and annotate with the unencoded filename 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
Daniel Silverstone
068b07494b Retrieve text area content from the textarea api 2014-01-04 18:02:50 +00:00
Michael Drake
0aa488288c Fix longstanding bug where floating root element caused assertion. Bug #394. 2014-01-04 17:54:43 +00:00
Michael Drake
838359194e Return message to client when textarea is modified. 2014-01-04 14:48:58 +00:00
Michael Drake
8b253a2151 Improve min/max-height handling on replaced elements. 2014-01-04 14:02:22 +00:00
Michael Drake
1970fb7bda Make nscss_get_style return completed computed styles. Now matches nscss_get_blank_style, and no need for anything outside css/select.c to see partial computed styles. 2013-12-19 14:21:15 +00:00
Michael Drake
cde62790f6 Update for new lpu API. 2013-12-14 23:17:50 +00:00
Michael Drake
e4c50bd58a Update for new libcss API. 2013-12-13 20:25:08 +00:00
Vincent Sanders
aa4d2eb608 ensure no division by zero can occour (coverity 1109862 1109863) 2013-11-03 22:51:43 +00:00
Vincent Sanders
c26dd43669 ensure no division by zero in scaled object dimensioning (coverity 1109864 ) 2013-11-03 21:52:01 +00:00
Michael Drake
3fc666a9be Squash Coverity #1109879 - Resource leak. 2013-10-25 22:23:18 +01:00
Vincent Sanders
4776f05430 fix potential division by zero by only computing width and height when content is valid and hence will return content width and height not zero. coverity 110986[23] 2013-10-25 22:06:29 +01:00
Michael Drake
1d326a8a1c Fix leak of frame element name. 2013-10-25 19:57:05 +01:00
Michael Drake
88ca82dea2 Fix leak of box scrollbars. 2013-10-25 15:47:49 +01:00
Michael Drake
182b97ed33 Fix leak of html encoding. 2013-10-23 18:55:51 +01:00
Michael Drake
0bbaf1d24d Layout doesn't need to handle the old insane textarea box splitting now. Fixes Coverity:1109882. 2013-10-23 12:48:16 +01: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
8641d5cbda Fix a potential leak. 2013-09-05 11:13:08 +01:00
Michael Drake
b646592928 Allocate correct amount of mem for pointers to imagemaps. 2013-09-05 10:46:58 +01:00
Michael Drake
8d3a89b62d Don't attempt to vertical-align objects for now, as our current bodged vertical-align implementation can do more harm than good. 2013-07-12 11:34:47 +01:00
Michael Drake
90231bd4b1 Force root element box type to BOX_BLOCK. 2013-07-10 12:27:56 +01:00
Michael Drake
67066ce47c Shave a few more px off animated background redraw, in the non-tiled cases. (Restrict area to part of image that changed.) 2013-07-07 10:14:13 +01:00
Michael Drake
ec50fdaefa Fix rendering of animated background images. Give them sensible redraw area. 2013-07-06 22:57:48 +01:00
Michael Drake
431f9fde5f Apply vertical alignment to objects on line. 2013-06-08 10:42:33 +01:00
Vincent Sanders
e2056974ca fixup script message handling 2013-05-31 09:22:08 +01:00
Vincent Sanders
2d70714a64 use correct acessors for unsigned type 2013-05-28 14:16:11 +01:00
Vincent Sanders
63d7247a9c fix mismatched option name and variable names
block_ads should be block_advertisments to match option name
toolbar_status_width should be toolbar_status_size to match option name
2013-05-28 14:16:11 +01:00
Vincent Sanders
ee6e6eec05 move options include 2013-05-28 14:16:10 +01:00
Michael Drake
977452b2ba Fix handling of clip property to avoid clip rectangles that are entierly outside the redraw region. 2013-05-28 12:47:20 +01:00
Michael Drake
ba9769bc8c Pass fetch redirect info up to content layer as content_msg. Mark redirect origin URLs as visited in browser window content callback. Note this doesn't mean we track redirects, it just lets us get the :visited link style on links that redirect. 2013-05-27 14:51:00 +01:00
Michael Drake
9751a10705 Handle title on dom event. Remove head walker from begin_conversion. 2013-05-23 15:02:15 +01:00
Michael Drake
e8df19f3d2 Move base and link element handling to event callback. 2013-05-23 13:29:40 +01:00
Michael Drake
5a312946c5 Move meta refresh handling to dom event handler. 2013-05-22 23:57:59 +01:00
Michael Drake
bec089e7aa Tiny simplification. 2013-05-20 19:51:15 +01:00
Michael Drake
3afd9c9731 Remove search context from browser window, simplify search interface for front ends.
Added content interface for search.

Removed bw->cur_search search context. Desktop layer now does nothing
except pass search requests from front end onto the bw's current_content
via the content interface.

Search API reduced to a pair of functions at each level:
  {desktop|content|html|textplain}_search
and
  {desktop|content|html|textplain}_search_clear

Updated front ends to use simplified search API.  Only tested GTK and RO builds.

These confine the search stuff to render/.  However search still uses struct
selection.  The handling for which is still spread over desktop/ and render/.
Also the render/search code itself still fiddles inside html and textplain
privates.
2013-05-07 14:41:40 +01:00
Michael Drake
1f6744f26b Styleguide formatting. 2013-05-02 09:34:01 +01:00
Michael Drake
a3394aa77f Put comments for exported functions in header. 2013-05-02 09:34:01 +01:00
Michael Drake
6b178fb3fe HTML selections are always read-only now. 2013-05-02 09:34:01 +01:00
Vincent Sanders
25e6563e61 remove dead store 2013-05-01 22:07:29 +01:00
Michael Drake
d399f565ed Fix abort of page render on failed content_redraw of background image. 2013-04-23 18:34:46 +01:00
Michael Drake
bcf07a9665 Hacky fix for clipping of top of text. 2013-04-17 12:18:08 +01:00
John-Mark Bell
09086758e7 Fix 3608298: only apply link hack if JS is disabled. 2013-03-19 21:38:25 +00:00
Michael Drake
f4ce62ebfe In box textarea binding only redraw the area that was requested, not the whole textarea. 2013-03-19 12:44:03 +00:00
Michael Drake
773cc5b562 Stop looking on first modified sheet found. 2013-03-18 15:01:56 +00:00
Michael Drake
07bdb324c1 Remove extra logging. 2013-03-18 14:57:29 +00:00
Michael Drake
5930e4bcc4 Fix bug where html conversion began before STYLE element fetch had been launched. 2013-03-18 14:48:00 +00:00
Michael Drake
bf69cfa74b Add some extra logging. Some pedantic wrap changes. 2013-03-18 12:35:00 +00:00
John-Mark Bell
3801886aec Debounce style updates 2013-03-16 10:50:17 +00:00
John-Mark Bell
4136a4d64e Move public API to end 2013-03-16 10:33:28 +00:00
John-Mark Bell
6e5e5761fc Ensure a reference is taken on style nodes. 2013-03-16 01:00:06 +00: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
Michael Drake
41e4928e25 Fix pointer shape and status bar messages for textareas and their scrollbars. 2013-03-11 12:57:33 +00:00
François Revol
e31007f6a7 C89 2013-03-09 20:44:25 +01:00
Michael Drake
c1628435f2 Fix min line width calc when an inline isn't to be wrapped in a block that allows wrap. 2013-03-06 18:39:38 +00:00
Michael Drake
e8950dee22 Propagate native caret clip rect through core. 2013-03-05 22:54:51 +00:00
Daniel Silverstone
461d4576fb Unref the node in the callbacks 2013-03-05 22:53:55 +00:00
John-Mark Bell
6b9f7c3094 Use correct base URL for inline stylesheets 2013-02-27 03:55:48 +00:00
John-Mark Bell
97978e858b Use custom fetcher for inline CSS 2013-02-27 03:11:10 +00:00
John-Mark Bell
405fa12f8d Fix handling of inline stylesheets with @import 2013-02-26 09:14:32 +00:00
Vincent Sanders
a35e66ffa1 split out object handling from render/html.c 2013-02-25 18:24:04 +00:00
Vincent Sanders
4e7b4259a4 fix quirk stylesheet loading 2013-02-25 15:00:50 +00:00
John-Mark Bell
1e7dac61da Fix memory leak 2013-02-24 23:05:56 +00:00
Vincent Sanders
cc7f45898b refactor stylesheet handling to separate object from within html rendering 2013-02-24 16:08:37 +00:00
Michael Drake
bba74b7a0b Handle readonly attribute for text inputs and textareas. 2013-02-23 17:44:20 +00:00
Michael Drake
3cc90f2f30 Fix trying to free a load of stuff dereferenced from a NULL ptr. 2013-02-22 23:08:39 +00:00
John-Mark Bell
9303fc56dc Remove redundant code. 2013-02-22 20:51:56 +00:00
Michael Drake
131db5c8da Fix min width to take account of white-space property. 2013-02-22 19:00:16 +00:00
Michael Drake
8445bc166b Don't bypass html form handling layer when passing keypress to textarea. 2013-02-22 15:01:13 +00:00
Michael Drake
7088908cc2 Merge branch 'master' of git://git.netsurf-browser.org/netsurf
Conflicts of doom:
	render/html.c
2013-02-22 13:24:36 +00:00
Michael Drake
c2a718075a A load of refactoring of how content selection and input work.
Keypresses now go via content interface.
Contents don't shove the selection object into browser windows any more.
Contents report selection existence by sending message.
HTML content keeps track of where selections in it exist.
Contents report whether they have input focus via caret setting msg.
Caret can be hidden (can still input/paste) or removed.
Consolidate textarea selection handling.
Make textarea report its selection status changes to client.
Various textarea fixes.
Changed how we decide when to clear selections, and give focus.
2013-02-22 12:19:35 +00:00
Vincent Sanders
dcce2c57a1 correct reference counting for moved css calls 2013-02-20 18:15:31 +00:00
Vincent Sanders
066df9802a deal with inline styles on updates instead of insert 2013-02-20 17:13:23 +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
92f4dec245 refactor stylesheet fetching code to not have redundant sheet count 2013-02-19 18:29:31 +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
427f13a716 Change selection colours so selection background takes text colour, and selected text becomes black or white -- whichever gives greatest contrast. 2013-02-15 16:07:56 +00:00
Michael Drake
bb601eae78 Don't reduce width of textarea box for CSS overflow scrollbar; it won't get one. 2013-02-11 18:43:50 +00:00
Michael Drake
99fc8d3f0d Move html textarea's selection colour chooser to plot_style.h, as it could be used elsewhere. 2013-02-11 00:41:22 +00:00
Michael Drake
315f5a8ca1 Merge branch 'master' of git://git.netsurf-browser.org/netsurf
Conflicts:
	gtk/font_pango.c

Conflict resolved.
2013-02-10 21:52:36 +00:00
Michael Drake
285a7ca6c3 Document new nsfont_split expected behaviour. 2013-02-10 18:22:51 +00:00
Michael Drake
7bc725fe1f Update HTML layout not to demand that nsfont_split only splits on a space.
This allows the HTML layout code to wrap unicode text correctly.
For example on our Japanese Welcome page, the characters will be wrapped
if the platform's nsfont_split implementation implements the Unicode line
breaking algorithm.
2013-02-10 16:50:15 +00:00
Michael Drake
f98c0d848c Make nowrap code path a bit plainer. 2013-02-10 12:19:13 +00:00
Michael Drake
2a4b9b2217 Comment current html wrap/text-splitting behaviour. 2013-02-10 11:50:04 +00:00
Michael Drake
ceb1668a8a Choose pretty colours for selection. 2013-02-09 22:55:31 +00:00
Michael Drake
7fa8f30f44 Don't add box scrollbar padding to gadgets. 2013-02-09 13:01:56 +00:00
Michael Drake
0d831c4ab6 Scaled textarea rendering support. Ugly. 2013-02-08 23:25:40 +00:00
Michael Drake
59d24187f7 Support dropping text file on textarea widget. 2013-02-08 16:05:44 +00:00
Michael Drake
698f391289 Add scrollwheel support to textareas. 2013-02-08 15:26:24 +00:00
Michael Drake
98befbb770 Fix comment. 2013-02-08 15:10:39 +00:00
Michael Drake
9c20ff9592 Drag fixup. Add some documentation. 2013-02-08 15:05:07 +00:00
Michael Drake
4747bbbfb2 HTML drags now go via content msg. 2013-02-08 13:22:53 +00:00
Michael Drake
08035f1197 Remove unused textinput widget. (Old html form text editing.) 2013-02-07 14:36:54 +00:00
Michael Drake
cb283c516a Don't build or include old render/textinput module. 2013-02-07 14:28:20 +00:00
Michael Drake
94be5edbfa Native caret not now set in redraw. Prevents endless redraw when textarea has caret. 2013-02-07 13:58:43 +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
Chris Young
def45f8e55 Ensure buff is NULL-initialised. 2013-01-21 20:03:03 +00:00
Michael Drake
a6e56546c9 Check the right thing for NULL. 2013-01-18 21:58:37 +00:00
Michael Drake
8af3dd9a43 Redo html textinput for new front end clipboard API. This doesn't affect the textinput code's brokenness. 2013-01-08 16:59:26 +00:00
Michael Drake
147f2bd08a Remove content_msg for PASTE, since it doesn't need a gui_window to get the buffer from the front end now. 2013-01-08 16:53:00 +00:00
Michael Drake
70d83baa6d Merge branch 'master' of git://git.netsurf-browser.org/netsurf 2013-01-03 11:57:23 +00:00
Vincent Sanders
beffd9e481 search for teh correct script type in the defer callback.
Should fix SF bug #3599063
2013-01-02 23:14:31 +00:00
Michael Drake
bda7bfa739 Make scale const. 2013-01-02 18:44:08 +00:00
Michael Drake
96841ae2ff Remove forward declaration. 2013-01-02 18:02:15 +00:00
Michael Drake
8bf3346ce2 Fix min_max line width calc to include box spaces. 2013-01-02 12:46:17 +00:00
Vincent Sanders
c1c3a06748 document mouse interaction a bit 2012-12-10 08:49:54 +00:00
Vincent Sanders
912b9de928 ensure default action fetcher is set to NULL 2012-12-06 19:33:25 +00:00
Vincent Sanders
646aed64ff change to parameterised parser binding creation 2012-12-06 18:04:43 +00:00
Vincent Sanders
3052864773 issue click events at dom 2012-12-03 17:09:44 +00:00
Vincent Sanders
31c9ffb4b5 make boxes keep reference to the DOM node that causes them 2012-11-30 12:29:54 +00:00
Vincent Sanders
d80bb6210d add missing include 2012-11-28 22:41:20 +00:00
Vincent Sanders
68f359d1ec initial event fireing implementation 2012-11-28 18:07:36 +00:00
Vincent Sanders
fefc9ed6be html renderer error path fixups for meta refresh 2012-11-26 20:34:59 +00:00
Vincent Sanders
fb13fcf166 Improve html renderer error reporting 2012-11-26 18:59:13 +00:00
Michael Drake
8bccf16158 Check if box with imagemap at point has area at point. 2012-11-22 17:40:20 +00:00
Michael Drake
bd3f65b7da Use can_reformat instead of HTML special case. Allow reflow of parent for any object that gets a reformat. 2012-11-11 19:13:36 +00:00
Michael Drake
ddf45cd672 Reformat objects that reach the READY state. 2012-11-11 18:40:55 +00:00