Commit Graph

1520 Commits

Author SHA1 Message Date
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
Vincent Sanders
a79e098817 remove redundant domutils and put functionality in existing utils/libdom 2012-11-10 11:44:38 +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
Michael Drake
bf7d8d46ee More useful error type for libdom hubbub binding errors. 2012-11-07 15:34:53 +00:00
Michael Drake
e05da2bbc0 Add clip property awareness to box_at_point. 2012-11-06 19:26:00 +00:00
Michael Drake
733fd39417 Add support for CSS clip property. 2012-11-06 18:19:37 +00:00
Michael Drake
af1572be92 Height is already scaled. Make OBJ char bigger. 2012-11-05 19:08:44 +00:00
Michael Drake
5621bca772 Center broken object indicator. 2012-11-05 18:54:11 +00:00
Michael Drake
d0cb1d4e66 Don't abort redraw on bad image. 2012-11-05 18:19:14 +00:00
Michael Drake
2dcfcd6724 Fix placement of first inline on line below a float, when float has been shifted up by >= its own height with a negative margin. 2012-11-04 19:55:24 +00:00
Vincent Sanders
f18bbd48c7 Improve error handling in html content 2012-10-17 21:52:43 +01: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
4fccdf18f3 Move dom walker to utils/libdom.{c|h}. Add a few HTML elements to core strings. 2012-10-12 16:21:29 +01:00
Daniel Silverstone
fdba0bd72c Fix document leak in encoding change handler 2012-10-11 20:43:46 +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
6b7669dc09 Use nsurl_join instead of url_join. Forms still need to be moved over to nsurl. 2012-10-11 17:49:42 +01:00
John-Mark Bell
9c1a04e279 Fix frame name allocation. 2012-10-06 16:42:58 +01:00
Michael Drake
16bcecc378 Talloc ctx fixup. 2012-10-05 16:58:59 +01:00
Michael Drake
75df8b9d4a Talloc ctx fixup. 2012-10-05 14:41:40 +01:00
Michael Drake
49d2ce585c More talloc ctx fixup. 2012-10-05 12:38:25 +01:00
Michael Drake
c82a5ad699 Need to talloc_free things that are created with talloc. 2012-10-03 20:48:53 +01:00
Michael Drake
464df9f310 Need to use content->bctx for talloc ref. 2012-10-03 20:48:16 +01:00
Vincent Sanders
f22da7670d fix missing sizeof() in amiga build
fix type warning by passing correct value
2012-10-03 19:41:14 +01:00
Vincent Sanders
c1671f37b1 reduce talloc usage to box tree layout only 2012-10-03 19:26:17 +01:00
Michael Drake
5a2212fda6 Variable already existed. 2012-10-03 17:20:57 +01:00
Michael Drake
391defb1c4 Don't convert spaces to non-breaking spaces inside white-space:pre. Instead, handle not wrapping in layout. 2012-10-03 17:14:11 +01:00
Michael Drake
b68a138c2c More white-space:nowrap. 2012-10-03 16:40:09 +01:00
Michael Drake
ac43c2eaea Support white-space:nowrap. 2012-10-03 15:41:32 +01:00
Michael Drake
b6202ab8cf Remove pointless churn when text box has white-space:nowrap. 2012-10-03 15:40:27 +01:00
Vincent Sanders
541b87ec9b fix incorrect double free 2012-10-02 17:26:28 +01:00
Vincent Sanders
2718272f4f quick and dirty fix to deal with replaced object trying to get a script context 2012-10-01 18:38:20 +01:00
Michael Drake
aea01d1978 Fix to define variable at start of block, for GCC 2.95.2. 2012-09-29 23:15:18 +01:00
John-Mark Bell
ae8a3ede3e Fix bug #3572539: handle empty option elements. 2012-09-28 08:27:32 +01:00
Michael Drake
00697c7fad Fix imagemap handling to handle no coords attr when shape attr is not default. 2012-09-24 19:39:20 +01:00
Michael Drake
d5e1616a45 Fix select elements. Requires latest libdom. 2012-09-19 14:42:05 +01:00
Michael Drake
ee9ab42f75 Fixup for latest libdom. 2012-09-11 13:10:50 +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
John-Mark Bell
ba7fba824d Cope with missing/empty href attribute 2012-08-30 23:58:06 +01:00
Michael Drake
c67187079e Improve object status message handling. 2012-08-22 23:00:16 +01:00
Michael Drake
6546098876 Fix scaled html object rendering. 2012-08-22 22:48:44 +01:00
Michael Drake
153c444454 Move browser_window struct to private header. Places that shouldn't include it do, such as front end code.
Frontends that have been updated to build:
  framebuffer
  gtk
  monkey
  riscos

TODO:
  amiga
  atari
  beos
  cocoa
  windows
2012-08-22 12:22:58 +01:00
Michael Drake
892aee8070 Improve interaction with html objects. 2012-08-21 16:46:46 +01:00
Michael Drake
02afe314af Fix object box construction. 2012-08-21 16:46:46 +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
b134279644 Allow the presence of form inputs to be obtained without knowledge of html content internals. 2012-08-20 22:02:37 +01:00
Michael Drake
a11de47b64 Implement debug dump content call for HTML. 2012-08-20 16:04:44 +01:00
Michael Drake
edef40bbc4 Don't pass struct box to content open. 2012-08-20 14:22:28 +01:00
Michael Drake
427fb928c5 Remove unused member of html_content struct. 2012-08-20 13:10:14 +01:00
Michael Drake
a4f796e217 Let *_drop_file_at_point determine if a drop is possible. 2012-08-20 12:12:10 +01:00
Michael Drake
57d2e31e59 Avoid using hlcache_handle for drag saves in html_interaction. Drag save msg with NULL content now means save the content which sends the message. 2012-08-19 12:46:42 +01:00
Michael Drake
762cade362 Don't use hlcache_handle for URL, since hlcache_handle needs to go. 2012-08-19 12:03:39 +01:00
Michael Drake
081976105a Minor style tweaks. 2012-08-19 11:39:00 +01:00
Michael Drake
47db5546c5 Use content msg system for status text, and don't pass internal status message as an explict message. 2012-08-19 11:35:32 +01:00
Michael Drake
d878ea4fb9 Don't pass internal content status text as an explicit message. 2012-08-19 11:34:46 +01:00
Michael Drake
c4b284e43c Use interface to set drag type. Longer term, it would be better to avoid using bw altogether. 2012-08-18 22:45:17 +01:00
Michael Drake
5a2d4c6ddb Group content messages that are passed on. 2012-08-18 22:25:03 +01:00
Michael Drake
45755a9e0d Use paste content msg. 2012-08-18 22:19:42 +01:00
Michael Drake
a2906b3994 Add paste request content message. 2012-08-18 22:19:15 +01:00
Michael Drake
eb35a576c1 Can get root element node directly from within the html content handler. Avoids using hlcache_handle which needs to go. 2012-08-17 20:57:35 +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
8e315f9f8f Set content handlers now set pointer via content msg. 2012-08-17 10:02:10 +01:00
Michael Drake
142a0bf859 Add content message for setting mouse pointer. 2012-08-17 10:01:15 +01:00
Michael Drake
402de7572d Use new content message for saving of hyperlink target URL. 2012-08-16 23:26:05 +01:00
Michael Drake
a548275fa2 Avoid forward declaration of functions. Add missing comment to one function. 2012-08-16 22:54:00 +01:00
Michael Drake
317a1dd923 get_pointer_shape() doesn't need bw. 2012-08-16 22:48:28 +01:00
Michael Drake
d9bd357802 Move browser window related control over mouse pointer out of html content handler. 2012-08-16 22:44:25 +01:00
Michael Drake
35fd2ad7f2 Don't use GUI_POINTERs in content handlers. 2012-08-16 22:21:08 +01:00
Michael Drake
cb9781e057 Move bw time recording to bw layer. 2012-08-16 21:35:42 +01:00
Michael Drake
f04845b2cf Broadcast message for drag save start and avoid messing inside bw. 2012-08-16 20:39:45 +01:00
Michael Drake
1919c8e071 Add message for content wanting wanting drag save to start. 2012-08-16 20:20:49 +01:00
Michael Drake
6daf6c178d Frame drag start function can take child bw. Don't need to get root bw in html handler. Avoids bw dereferences. 2012-08-16 16:14:15 +01:00
Michael Drake
195a77a4cd Make new function for starting a frames resize and use it. 2012-08-16 15:55:20 +01:00
Michael Drake
7277ce5dfc Remove redundant "action" param. 2012-08-16 15:43:14 +01:00
Michael Drake
83c8e940f8 Don't pass status to frames handler. 2012-08-16 15:38:06 +01:00
Michael Drake
02d5589dfa When dragging frames, we're done handling mouse. 2012-08-16 15:23:09 +01:00
Michael Drake
a736775bbd Avoid doing html->bw->current_content. 2012-08-16 13:25:59 +01:00
Michael Drake
699173331b html__redraw_a_box takes html_content instead of struct content. 2012-08-16 13:22:35 +01:00
Michael Drake
4872bc30b8 Remove redundant scrollbar widget message. 2012-08-16 13:13:25 +01:00
Michael Drake
e5928ebd5f Broadcast explict status messages for mouse hovers via content msg system, rather than using the browser window. 2012-08-15 19:01:54 +01:00
Michael Drake
e5374cc042 Let contents broadcast explicit status messages as well as announce that their internal status has been updated. 2012-08-15 19:00:50 +01:00
Michael Drake
fcb7143ecb Simplify content status text setting. 2012-08-15 11:50:08 +01:00
Michael Drake
c3f9e3d3ce Don't need to include browser.h. 2012-08-14 14:53:48 +01:00
Michael Drake
5526d7e6f2 Stop render/search.c from dereferencing bw and remove dependency on html & text contents' bw pointer. 2012-08-14 14:03:54 +01:00