Commit Graph

1452 Commits

Author SHA1 Message Date
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