Commit Graph

1598 Commits

Author SHA1 Message Date
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
Michael Drake b51816c222 Clean up search gui callbacks. 2012-08-14 13:41:30 +01:00
Michael Drake 119b5cca3f Remove forward declaration. 2012-08-14 11:23:03 +01:00
Michael Drake 19b3876ff2 Fix comment. 2012-08-13 23:41:02 +01:00
Michael Drake d09dc44310 Use content message broadcast to request scrolls, instead of depending on html and text contents to keep a bw pointer. 2012-08-13 23:38:34 +01:00
Michael Drake 5810d131d5 Let HTML content handle object content srcoll request messages. 2012-08-13 23:35:23 +01:00
Michael Drake d106091d6e Pass font plot style out to front end clipboard append function. 2012-08-13 14:43:04 +01:00
Michael Drake 6d585308f8 Fix handling of form elements without a <form>. 2012-08-07 10:53:40 +01:00
John-Mark Bell e1b37918e8 Reflect change to hubbub parser binding API. 2012-08-05 22:44:28 +01:00
Vincent Sanders 9a0f7028a3 Libdom now returns the document object at creation time 2012-08-05 11:44:43 +01:00
Vincent Sanders 845dca45de resume parse on sync script error as well as success 2012-07-31 22:59:18 +01:00
Vincent Sanders 5c25b8255a add post parse script execution 2012-07-31 22:33:08 +01:00
Vincent Sanders d763e57d30 fix dom parser error return check 2012-07-31 12:49:41 +01:00
Vincent Sanders 4182685d1e fix parse completion - working syncronous scripts 2012-07-30 22:56:40 +01:00
Vincent Sanders b0a41606ff extend html data processing to deal with paused parse 2012-07-30 22:56:15 +01:00
Vincent Sanders db76dd3b1a extend completion types 2012-07-30 22:55:13 +01:00
Vincent Sanders 06608c1bf0 extend script enumeration to include asyncronous and deferred scripts 2012-07-30 22:54:14 +01:00
Vincent Sanders 4f0e70b50d split up the script processing 2012-07-30 22:54:14 +01:00
Michael Drake 2f408f0ecb More use of interns. 2012-07-26 15:57:33 +01:00
Michael Drake 81e079e747 Use interns for string comparisons. 2012-07-26 14:49:27 +01:00
Vincent Sanders 25cdea3351 doxygen serious warning cleanup 2012-07-24 16:19:49 +01:00
Michael Drake 26a92340e2 Compare interns instead of strings in html_forms.c 2012-07-23 12:06:43 +01:00
Michael Drake 6bbe68823c Fix free of NULL. 2012-07-23 11:27:42 +01:00
Michael Drake f6f2bcbcde Interned string cleanup, phase 6 (final): Move html.c to corestring. 2012-07-22 23:28:45 +01:00
Michael Drake 3c790bf12d Fix ref counting issue in meta tag finder. 2012-07-22 21:58:47 +01:00
Michael Drake d70bf9ac43 Fix ref counting issue in HEAD handler. Fix logic error too. 2012-07-22 21:31:30 +01:00
Michael Drake 5dadb1a0ec Interned string cleanup, phase 5: Move imagemap.c to corestring. 2012-07-22 20:52:34 +01:00
Michael Drake 1947019095 Interned string cleanup, phase 4: Move html_script.c to corestring. 2012-07-22 18:58:22 +01:00
Michael Drake 9de20d9a1a Interned string cleanup, phase 3: Move html_forms.c to corestring. 2012-07-22 18:01:10 +01:00
John-Mark Bell 5d8959b30c Fix reference handling when computing next node. 2012-07-22 17:52:30 +01:00
John-Mark Bell 41abc08cbb Fix ref leak in error case 2012-07-22 13:49:10 +01:00
Daniel Silverstone 88207c0b17 Unref the <html> node where appropriate, so we don't have it left behind 2012-07-21 20:10:44 +01:00
Michael Drake 792dbe6e44 Add textarea support back in. 2012-07-21 18:16:04 +01:00
Michael Drake 9d3986e768 Avoid strcasecmp in form control creation node name handler. 2012-07-21 17:41:17 +01:00
John-Mark Bell 1ecc94b187 Use case insensitive string comparisions for nodes 2012-07-15 01:39:25 +01:00
Vincent Sanders fa3da41a94 fix stylesheet render 2012-07-14 18:24:09 -06:00
John-Mark Bell 64f098dfc7 Do not render noscript when script is enabled. 2012-07-15 01:17:04 +01:00
John-Mark Bell 1f36e48372 Squash warnings 2012-07-15 01:02:33 +01:00
Vincent Sanders bd244b121a Merge branch 'vince/forms-fixed'
Conflicts:
	Makefile.sources
	render/box_construct.c
	render/html.c
	render/html_internal.h

Merge Daniel Silverstones forms branch
2012-07-14 14:42:02 -06:00
Vincent Sanders 6ab102c3b1 Rework form acessors to deal with binding changes 2012-07-14 13:24:14 -06:00
Vincent Sanders 394357b7c9 fix quirks mode setting with libdom hubbub parser 2012-07-14 09:13:21 -06:00
Vincent Sanders d7289f6701 remove parser binding layer 2012-07-13 17:37:22 -06:00
Vincent Sanders 019be7616c split out script handling from html 2012-07-13 17:37:21 -06:00
Daniel Silverstone b42c43dc01 Early <input> elements working, but we need more caseless comparisons 2012-07-08 11:45:27 +01:00
Daniel Silverstone 3fb489b90a BINDING: Support <button> and added the infra for form controls a litle more 2012-07-07 23:04:58 +01:00
Daniel Silverstone dc9100ba7c Binding: Construct forms objects for a document 2012-07-07 19:56:40 +01: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 d5c900b5f1 fix mimetype handling of script elements
svn path=/trunk/netsurf/; revision=13993
2012-06-28 14:38:28 +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 2e31b6fd90 simplify stylesheet find context and remove junk variables
svn path=/trunk/netsurf/; revision=13969
2012-06-19 10:19:24 +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 a229a35767 remove unecessary empty response workround for old libxml dom
svn path=/trunk/netsurf/; revision=13967
2012-06-17 22:12:29 +00:00
Vincent Sanders 4c89c9d5df improve javascript support
svn path=/trunk/netsurf/; revision=13962
2012-06-10 22:17:30 +00:00
Michael Drake 7224990953 Port to libdom changed HTML content's base_target from talloc_strdup to strdup, so use free instead of talloc_free in html_destroy.
svn path=/trunk/netsurf/; revision=13877
2012-04-17 09:04:04 +00:00
Michael Drake 8202875dbb Fix meta refresh.
svn path=/trunk/netsurf/; revision=13876
2012-04-16 16:42:59 +00:00
Michael Drake cc35563f2b Fix frameset processing.
svn path=/trunk/netsurf/; revision=13875
2012-04-16 16:14:40 +00:00
Michael Drake 59c21c033a Fix processing of tags in HEAD. Fixes title, favicons, etc.
svn path=/trunk/netsurf/; revision=13873
2012-04-16 12:52:59 +00:00
Michael Drake 71325ca6d0 Bring comment into line with use of libdom instead of libxml.
svn path=/trunk/netsurf/; revision=13718
2012-03-26 10:47:54 +00:00
Michael Drake d5a2701b38 Don't need libxml.h in render/box.h now.
svn path=/trunk/netsurf/; revision=13717
2012-03-26 10:45:44 +00:00
Daniel Silverstone e1df0d095a Initial attempt at imagemap libdomification
svn path=/trunk/netsurf/; revision=13692
2012-03-25 15:07:08 +00:00
John Mark Bell 52b1762ea4 Use correct identity of ok
svn path=/trunk/netsurf/; revision=13684
2012-03-25 11:41:39 +00:00
John Mark Bell bee128e2a1 Handle encoding change requests
svn path=/trunk/netsurf/; revision=13682
2012-03-25 11:33:32 +00:00
John Mark Bell 2a0e519497 Egregious hack so missing form controls don't cause box construction to abort
svn path=/trunk/netsurf/; revision=13680
2012-03-25 11:24:12 +00:00
John Mark Bell 29708a2bf3 Fix logic inversion
svn path=/trunk/netsurf/; revision=13679
2012-03-25 11:23:09 +00:00
Daniel Silverstone 6162b49875 Forward decl of struct dom_node to shush things
svn path=/trunk/netsurf/; revision=13666
2012-03-25 10:21:37 +00:00
John Mark Bell 2b215a8df1 Initialise/finalise box constructor string constants
svn path=/trunk/netsurf/; revision=13653
2012-03-25 08:37:48 +00:00
Daniel Silverstone 19150f13ef Shut up missing text_redraw
svn path=/trunk/netsurf/; revision=13650
2012-03-25 08:19:37 +00:00
John Mark Bell cbc13a3fdd Clean up additional interned strings
svn path=/trunk/netsurf/; revision=13649
2012-03-25 08:05:18 +00:00
John Mark Bell 980d4d4caf s/XML_ELEMENT_NODE/DOM_ELEMENT_NODE/
svn path=/trunk/netsurf/; revision=13641
2012-03-24 22:36:22 +00:00
John Mark Bell d00b3c79c8 Squash aliasing warnings
svn path=/trunk/netsurf/; revision=13640
2012-03-24 22:30:28 +00:00
John Mark Bell da94e952c9 Suppress strict aliasing moans
svn path=/trunk/netsurf/; revision=13636
2012-03-24 22:26:44 +00:00
John Mark Bell a45972a104 Squash warning -- this API appears to be unused
svn path=/trunk/netsurf/; revision=13632
2012-03-24 22:16:03 +00:00
John Mark Bell 73bfb6201e Fix up meta refresh parser
svn path=/trunk/netsurf/; revision=13631
2012-03-24 22:08:13 +00:00
John Mark Bell fd04db8566 Fix up html_process_style_element
svn path=/trunk/netsurf/; revision=13626
2012-03-24 21:06:30 +00: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
John Mark Bell 883907d612 s/XML_ELEMENT_NODE/DOM_ELEMENT_NODE
svn path=/trunk/netsurf/; revision=13624
2012-03-24 20:48:02 +00:00
John Mark Bell d2fd3cc8f6 Fix up html_find_stylesheets
svn path=/trunk/netsurf/; revision=13623
2012-03-24 20:43:19 +00:00
François Revel 6822d7914a Fix exc undeclared.
svn path=/trunk/netsurf/; revision=13615
2012-03-24 20:06:08 +00:00
Vincent Sanders 710b90d43a continuting work in progress
svn path=/trunk/netsurf/; revision=13610
2012-03-24 19:35:59 +00:00
John Mark Bell 682eba9a56 Port box construction to libdom
svn path=/trunk/netsurf/; revision=13608
2012-03-24 18:47:51 +00:00
John Mark Bell 72baec3aec Remove bogus dependencies on box.h
svn path=/trunk/netsurf/; revision=13607
2012-03-24 17:42:29 +00:00
Vincent Sanders 07d445a5ca conversion to libdom
work in progress with FIXME blocks  

svn path=/trunk/netsurf/; revision=13606
2012-03-24 17:11:17 +00:00
Daniel Silverstone d1194be49f Migrate frame types so that desktop/browser.h does not include render/html.h
svn path=/trunk/netsurf/; revision=13605
2012-03-24 17:09:21 +00:00
Vincent Sanders b21f85a072 initial move to libdom
svn path=/trunk/netsurf/; revision=13573
2012-03-23 23:18:04 +00:00
Michael Drake 654ad81d8b Delete some trailing whitespace.
svn path=/trunk/netsurf/; revision=13555
2012-03-23 16:30:50 +00:00
Vincent Sanders 1490b52a6b NetSurf options rework (a=vince r=daniels,jmb)
svn path=/trunk/netsurf/; revision=13548
2012-03-22 09:34:34 +00:00
Michael Drake e8b0c03cdb Don't override UA stylesheet origin with User origin.
svn path=/trunk/netsurf/; revision=13508
2012-03-06 18:02:55 +00:00
Michael Drake 20583d7288 Enable User CSS file.
svn path=/trunk/netsurf/; revision=13507
2012-03-06 17:44:24 +00:00
Michael Drake ee378aa3f1 Set/get drag type via API.
svn path=/trunk/netsurf/; revision=13496
2012-02-28 12:54:00 +00:00
Michael Drake c9a30d073e Check drag type via accessor.
svn path=/trunk/netsurf/; revision=13495
2012-02-28 12:21:36 +00:00
Michael Drake 046ee36430 Use browser window scale accessor.
svn path=/trunk/netsurf/; revision=13493
2012-02-27 22:44:59 +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
Michael Drake 04ece30fa9 Pass pointer constraints for drag out to front ends. Ensure content scrollbar drag termination always informs the browser window layer that the drag is over.
svn path=/trunk/netsurf/; revision=13395
2012-01-11 14:20:26 +00:00
Michael Drake c08ee82076 Allow drag handlers to inform browser window layer of any pointer range constraints.
svn path=/trunk/netsurf/; revision=13394
2012-01-10 22:02:19 +00:00
Vincent Sanders df18a97143 Change GTK plotting to use cairo surfaces throughout
svn path=/trunk/netsurf/; revision=13354
2011-12-30 00:58:35 +00:00
Michael Drake f7f3e33f80 Remove core print specific option from html redraw.
svn path=/trunk/netsurf/; revision=13339
2011-12-23 23:24:47 +00:00
Michael Drake a85662f1ce Make html_redraw obey background image redraw requirement.
svn path=/trunk/netsurf/; revision=13336
2011-12-23 22:44:30 +00:00
Michael Drake 081217a321 Add core options to disable fetch of foreground & background images.
Remove broken background image option from RISC OS front end.

svn path=/trunk/netsurf/; revision=13332
2011-12-23 19:48:09 +00:00
Michael Drake b97ccb1f0f Log URL of external CSS which fails to fetch.
svn path=/trunk/netsurf/; revision=13239
2011-12-04 15:11:30 +00:00
John Mark Bell f2993e6ed0 content_get_url -> hlcache_handle_get_url, content__get_url -> content_get_url
svn path=/trunk/netsurf/; revision=13236
2011-12-04 14:55:23 +00:00
Michael Drake 6a7e602bbd Avoid assertion crash when html object recieves favicon message.
svn path=/trunk/netsurf/; revision=13220
2011-12-02 15:08:25 +00:00
Michael Drake 751bf78241 Pass drops into iframes.
svn path=/trunk/netsurf/; revision=13217
2011-12-01 23:52:45 +00:00
Michael Drake 02780e1f2d Currently untested (and unused) "drop file on content" handling, and HTML implementation.
svn path=/trunk/netsurf/; revision=13214
2011-12-01 21:49:57 +00:00
Michael Drake 4856a4c1fb Pass scroll wheel action into contents. Handle scrolling of box scrollbars and iframes.
svn path=/trunk/netsurf/; revision=13200
2011-11-29 17:47:29 +00:00
Michael Drake 60a9d3af3b Only make space for vertical box scrollbar if box has height set.
svn path=/trunk/netsurf/; revision=13179
2011-11-24 17:22:25 +00:00
John Mark Bell 4ba282c9c9 Fix bug #3433954: make containing_block available to layout_table so it can resolve percentage height specified on an absolutely-positioned table.
svn path=/trunk/netsurf/; revision=13130
2011-11-06 11:26:52 +00:00
John Mark Bell 3776e49f02 Fix bug #3433840: <img style="display: table" src="..."> will crash if the image fetch completes before initial layout.
A number of things wrong here:
1) The BOX_TABLE generated for the img shouldn't ever have been associated with the object (it should have been associated with the implied BOX_TABLE_CELL)
2) The layout engine's decision to treat BOX_TABLE/BOX_INLINE_CONTAINER with associated objects differently from non-replaced TABLE/INLINE_CONTAINERs seems wrong (looking though SVN history, it appears that this was introduced as part of the very first frames implementation, since replaced (twice!))
3) Now we fetch objects in parallel with building the box tree, we're open to this kind of race condition.

svn path=/trunk/netsurf/; revision=13128
2011-11-05 21:03:52 +00:00
John Mark Bell 30c91aa4e7 Fix bug #3433787: ignore empty meta refresh content attribute.
Squash memory leaks in error cases. 

svn path=/trunk/netsurf/; revision=13127
2011-11-05 18:36:21 +00:00
Michael Drake 62e551f34d Give INLINE_END boxes their own id reference.
svn path=/trunk/netsurf/; revision=13094
2011-10-29 12:03:54 +00:00
Michael Drake ab45ecd228 Use lwc_string for box->id.
svn path=/trunk/netsurf/; revision=13093
2011-10-29 11:37:05 +00:00
Vincent Sanders c970cc6dd4 fix infinite loop when copying private data
svn path=/trunk/netsurf/; revision=13071
2011-10-19 15:28:47 +00:00
John Mark Bell 6e23106b45 Convert more boxes before yielding
svn path=/trunk/netsurf/; revision=13023
2011-10-09 16:54:34 +00:00
John Mark Bell 165cca27b0 Fix leaky refcounting
svn path=/trunk/netsurf/; revision=13002
2011-10-08 10:42:13 +00:00
John Mark Bell 4e574f1252 Improve performance of style selection
svn path=/trunk/netsurf/; revision=13000
2011-10-08 00:21:59 +00:00
John Mark Bell ac5d2a904c Improve error handling
svn path=/trunk/netsurf/; revision=12998
2011-10-08 00:14:14 +00:00
Vincent Sanders 230779848e metadata links stored in contents
browser uses metadata links for favicons

svn path=/trunk/netsurf/; revision=12977
2011-10-07 18:12:47 +00:00
Vincent Sanders 52ad2c1e25 initial favicon support
svn path=/trunk/netsurf/; revision=12975
2011-10-06 23:31:55 +00:00
John Mark Bell d5bb9d98e7 Build resource: map at start time
Remove stylesheet url globals -- the core will always use resource:{default,quirks,adblock}.css as appropriate

svn path=/trunk/netsurf/; revision=12949
2011-10-05 08:32:52 +00:00
Michael Drake 3b4b986739 Don't try to LOG url of errored stylesheet content.
svn path=/trunk/netsurf/; revision=12946
2011-10-04 13:55:28 +00:00
Michael Drake 08b42089ca Pass nsurls through html_fetch_object.
svn path=/trunk/netsurf/; revision=12945
2011-10-04 10:23:47 +00:00
Michael Drake 5b23bcae95 Set iframe url pointer to NULL after unref at other end too.
svn path=/trunk/netsurf/; revision=12943
2011-10-03 22:12:51 +00:00
Michael Drake 012e0838cb Set url pointers to NULL after unref.
svn path=/trunk/netsurf/; revision=12942
2011-10-03 22:06:47 +00:00
John Mark Bell 8e0015798c Remove unused API
svn path=/trunk/netsurf/; revision=12941
2011-10-03 22:02:33 +00:00
Michael Drake 382beb779e Can't talloc_free nsurls. Thanks jmb.
svn path=/trunk/netsurf/; revision=12940
2011-10-03 21:58:50 +00:00
Michael Drake 19f0f7053b More talloc destructors for nsurls.
svn path=/trunk/netsurf/; revision=12939
2011-10-03 21:49:28 +00:00
John Mark Bell 3043c58aaf Fix handling of preformatted text
svn path=/trunk/netsurf/; revision=12938
2011-10-03 21:32:32 +00:00
Michael Drake 2c41d4b44e Add talloc destructor for object_params.
svn path=/trunk/netsurf/; revision=12937
2011-10-03 21:04:54 +00:00
John Mark Bell 3049f37e24 Parallelise object fetches
svn path=/trunk/netsurf/; revision=12934
2011-10-03 20:38:23 +00:00
Michael Drake 898b01e721 More conversion to nsurl. (box->href, object params, imagemaps, (i)frames)
svn path=/trunk/netsurf/; revision=12933
2011-10-03 20:28:29 +00:00
Michael Drake 36eff6da2b Port more internals to nsurl. Front ends may need updating.
svn path=/trunk/netsurf/; revision=12926
2011-10-03 15:56:47 +00:00
Vincent Sanders 7744edaa30 add html objects in better order
svn path=/trunk/netsurf/; revision=12923
2011-10-03 08:51:57 +00:00
John Mark Bell 74395ac888 Restartable box tree constructor. Yield between elements.
svn path=/trunk/netsurf/; revision=12912
2011-09-29 19:15:54 +00:00
Michael Drake 9854ad6313 Add layout_get_object_dimensions param documentation missing from last commit.
svn path=/trunk/netsurf/; revision=12871
2011-09-23 17:42:25 +00:00
Michael Drake 9e91992478 Handle min/max-width on replaced elements.
svn path=/trunk/netsurf/; revision=12870
2011-09-23 17:34:04 +00:00
Michael Drake dcfd80956f Use fixed insted of floating point to get percentage of available_width, for width calc.
svn path=/trunk/netsurf/; revision=12869
2011-09-23 16:50:20 +00:00
Michael Drake e4a91f380c Move css_fixed and css_unit variables to where they're used.
svn path=/trunk/netsurf/; revision=12868
2011-09-23 16:40:58 +00:00
Michael Drake 9028673259 Simplify layout_get_object_dimensions.
svn path=/trunk/netsurf/; revision=12867
2011-09-23 16:35:37 +00:00
Michael Drake b0ea2a46e9 Use layout_find_dimensions to get inline object width/height.
svn path=/trunk/netsurf/; revision=12866
2011-09-23 15:48:40 +00:00
John Mark Bell f27d5a3e15 Remove gui_multitask
svn path=/trunk/netsurf/; revision=12828
2011-09-21 00:25:09 +00:00
John Mark Bell 339bed7272 Virtualise content handler finalisation calls. Remove pointless implementations.
svn path=/trunk/netsurf/; revision=12797
2011-09-15 22:47:50 +00:00
John Mark Bell 3d71da088b Clean up content_factory_register_handler API -- content handlers no longer use the mime type, so don't require it to be interned up front
svn path=/trunk/netsurf/; revision=12796
2011-09-15 22:31:16 +00:00
Michael Drake 2e012a4952 Don't try to render overflow scrollbars for the root element.
svn path=/trunk/netsurf/; revision=12774
2011-09-07 19:26:42 +00:00
Michael Drake 6167cc8508 HTML handler for contextual content requests.
svn path=/trunk/netsurf/; revision=12754
2011-09-06 18:08:18 +00:00
Michael Drake 318803d382 Pass html_content to imagemap_get, instead of hlcache_handle.
svn path=/trunk/netsurf/; revision=12752
2011-09-06 16:26:02 +00:00
Michael Drake fb8d73567a Move to new frame dimensions. Need to avoid poking inside bw struct here.
svn path=/trunk/netsurf/; revision=12748
2011-09-06 10:27:42 +00:00
John Mark Bell 6807fa854d Sniff content types where appropriate.
We never sniff for CSS, nor for non-page artefacts (e.g. treeview icons)

svn path=/trunk/netsurf/; revision=12707
2011-09-04 06:28:09 +00:00
John Mark Bell 9ee4f6146e Remove mime_type parameter from content handler content_type callback API
svn path=/trunk/netsurf/; revision=12704
2011-09-03 09:27:42 +00:00
Michael Drake 6e3e168d08 Avoid instance of using bw->current_content outside desktop/.
svn path=/trunk/netsurf/; revision=12690
2011-08-31 17:53:40 +00:00
Vincent Sanders 2348b13492 refactor bitmap out of generic content structure
svn path=/trunk/netsurf/; revision=12686
2011-08-31 12:12:41 +00:00
Michael Drake cdbed58a72 Remove last use of current_redraw_browser.
svn path=/trunk/netsurf/; revision=12652
2011-08-24 13:23:31 +00:00
Michael Drake 63c07ee28d Core part of search improvement:
+ Split up browser window and content related elements of html & text search.
+ Associate search contexts with contents, rather than browser windows.
+ Remove highlighting of search terms dependency on current_redraw_browser.
+ Fixes issues with search contexts being applied to the wrong content.


svn path=/trunk/netsurf/; revision=12646
2011-08-24 12:29:30 +00:00
Michael Drake 92d355ed30 Replaced elements' children are not laid out, so don't look at their descendants. Fixes #3380281.
svn path=/trunk/netsurf/; revision=12642
2011-08-23 10:42:03 +00:00
John Mark Bell 664a9381ce Fix bug #3390958: forcibly discard references to any child objects if we fail to complete conversion of an HTML content
svn path=/trunk/netsurf/; revision=12641
2011-08-20 01:13:51 +00:00
John Mark Bell 63cc03a5dc Fix GCC 4.6 warnings in core
svn path=/trunk/netsurf/; revision=12629
2011-07-26 21:30:38 +00:00
Michael Drake 16b92d1613 Selection is now subordinate to html and text content types, and disassociated from browser windows. Note: search currently uses hlcache_handle_get_content() to go from bw to h to get at c for search highlighting via selection.
svn path=/trunk/netsurf/; revision=12626
2011-07-26 13:53:42 +00:00
John Mark Bell dc6c58ec41 Fix transition from LOADING to ERROR state after content has been locked for conversion
svn path=/trunk/netsurf/; revision=12614
2011-07-20 21:39:51 +00:00
John Mark Bell cfd56cadf2 Plug another hole in the logic for stopping HTML contents
svn path=/trunk/netsurf/; revision=12613
2011-07-20 20:16:01 +00:00
John Mark Bell 43b6856ba7 Make html_stop handle being called during construction of the box tree (i.e. as the result of a call to gui_multitask from the LOADING state)
Fixup accounting of active objects when stopped in the READY state and ensure correct transition to the DONE state when necessary

svn path=/trunk/netsurf/; revision=12612
2011-07-19 23:08:55 +00:00
John Mark Bell 1cd92d6d50 Fix race when stopping an HTML content mid-load
svn path=/trunk/netsurf/; revision=12611
2011-07-19 20:23:59 +00:00
Michael Drake 5fd24d7557 Revert r12609 and assert parent content state.
svn path=/trunk/netsurf/; revision=12610
2011-07-19 13:43:48 +00:00
Michael Drake d66afbca4a Don't try to redraw newly fetched objects' areas in parent html document if parent doc is still in LOADING state.
svn path=/trunk/netsurf/; revision=12609
2011-07-19 13:15:03 +00:00
Michael Drake 8faa353087 Don't need current_redraw_browser for box scrollbars any more.
svn path=/trunk/netsurf/; revision=12602
2011-07-13 13:51:22 +00:00
Michael Drake 9c91893028 Fix selection for non-gui browser windows (iframes).
Selection no longer uses current_redraw_browser.
Fix long-standing selection bugs on platforms that use action on release behaviour.

svn path=/trunk/netsurf/; revision=12598
2011-07-13 13:20:26 +00:00
John Mark Bell b34502af82 Refactor http utilities
svn path=/trunk/netsurf/; revision=12595
2011-07-08 08:38:17 +00:00
Michael Drake 2d1f2ee06a Remove remaining internal browser window usage from render/textinput.
svn path=/trunk/netsurf/; revision=12593
2011-07-07 20:22:57 +00:00
Michael Drake 9f0d5f9dcd Remove unused structure.
svn path=/trunk/netsurf/; revision=12592
2011-07-07 19:21:05 +00:00
Michael Drake 5560356e0e Remove unnecessary #include.
svn path=/trunk/netsurf/; revision=12591
2011-07-07 19:14:31 +00:00
Michael Drake 12d826a050 Function namespacing.
svn path=/trunk/netsurf/; revision=12590
2011-07-07 19:12:53 +00:00
Michael Drake 50f52cfc51 Remove ghost caret.
svn path=/trunk/netsurf/; revision=12589
2011-07-07 18:38:35 +00:00
Michael Drake bc91b72c56 Clean up text input code. Now desktop/textinput.{c|h} is concerend with browser windows only. HTML content specific stuff moved to render/textinput.{c|h} and disassociated from browser windows.
svn path=/trunk/netsurf/; revision=12587
2011-07-07 17:50:04 +00:00
Michael Drake 51f6d5475b Set bw for textplain selection.
svn path=/trunk/netsurf/; revision=12554
2011-07-02 12:34:35 +00:00
Michael Drake f9566b6405 Set/unset selection context's browser window on content_open/content_close.
svn path=/trunk/netsurf/; revision=12551
2011-07-01 11:16:43 +00:00
Michael Drake fb4955e162 Make text/plain contents aware of the browser window they are opened in.
svn path=/trunk/netsurf/; revision=12546
2011-06-30 18:27:24 +00:00
Michael Drake eddae6af06 Remove plotter table global. Pass a redraw context around redraw functions. Knockout could be handled better. Note: untested on most front ends.
svn path=/trunk/netsurf/; revision=12543
2011-06-30 15:48:07 +00:00
Michael Drake d284ac14d9 Front end gets root browser window on notification of scrollbar widget drag start.
svn path=/trunk/netsurf/; revision=12533
2011-06-28 21:16:37 +00:00
Michael Drake 3128ecf2a5 Unify content_redraw params in content_redraw_data struct. Core and RISC OS content handlers updated.
svn path=/trunk/netsurf/; revision=12529
2011-06-28 20:17:39 +00:00
Michael Drake 4d19457c59 Prevent iframes with display:inline and percentage width from getting a width of AUTO during minmax layout phase.
svn path=/trunk/netsurf/; revision=12528
2011-06-28 19:42:31 +00:00
Michael Drake b57c2e0bee Move rectangle type to utils/types.h
svn path=/trunk/netsurf/; revision=12525
2011-06-28 15:18:48 +00:00
Michael Drake 25e7c86fb7 Make search_term_highlighted a core function.
svn path=/trunk/netsurf/; revision=12524
2011-06-28 12:30:56 +00:00
Michael Drake 5c9155e606 Core form select widget now associated with HTML contents. Don't use current_redraw_browser for select widget redraw. Fixes core select widget in iframes.
svn path=/trunk/netsurf/; revision=12522
2011-06-28 11:15:39 +00:00
Michael Drake e70d4947ea Use interface for turning off drag.
svn path=/trunk/netsurf/; revision=12521
2011-06-28 10:07:53 +00:00
Michael Drake f8462b3344 Pass the content object down through html_redraw. Make overflow scrollbars used content for scrollbar, rather than browser window. Fixes overflow scrollbars in iframes.
svn path=/trunk/netsurf/; revision=12520
2011-06-28 08:56:37 +00:00
Michael Drake c9fe1b604e HTML contents manage box scrollbars, rather than browser_windows.
svn path=/trunk/netsurf/; revision=12519
2011-06-27 22:21:15 +00:00
Michael Drake 23eea5de9f Fix bw->drag_type to be aware of remaining drag types.
svn path=/trunk/netsurf/; revision=12514
2011-06-27 17:29:49 +00:00
Michael Drake 92323b7808 Code style fix. Thanks Kinnison.
svn path=/trunk/netsurf/; revision=12504
2011-06-24 13:04:05 +00:00
Michael Drake 2fb134bac7 Fix mouse action offsets within scaled iframes.
svn path=/trunk/netsurf/; revision=12503
2011-06-24 12:23:10 +00:00
Michael Drake c59b5d627f Correct offset for scaled iframe redraw.
svn path=/trunk/netsurf/; revision=12498
2011-06-24 09:51:17 +00:00
Michael Drake 5a4c8916ef If iframes are reformatted due to containing document reflow, don't need to redraw them since they will be redrawn when the containing document is redrawn. Make iframe handling more robust.
svn path=/trunk/netsurf/; revision=12497
2011-06-24 09:30:33 +00:00
Michael Drake 188712d142 Reformat floated iframe browser windows only after the iframe box has been linked into the box tree from the block formatting context block.
svn path=/trunk/netsurf/; revision=12476
2011-06-14 21:09:38 +00:00
Michael Drake 53f4da3420 First pass at core iframes. Currently lacking scrollbars.
svn path=/trunk/netsurf/; revision=12474
2011-06-14 20:00:18 +00:00
Michael Drake ae46764ec4 Remove box_applet.
svn path=/trunk/netsurf/; revision=12427
2011-05-18 16:01:02 +00:00
John Mark Bell 3bcbde2503 Add some parentheses
svn path=/trunk/netsurf/; revision=12423
2011-05-16 22:30:27 +00:00
John Mark Bell a7c2dff805 Lose dead code
svn path=/trunk/netsurf/; revision=12417
2011-05-16 21:44:31 +00:00
Michael Drake 5e823ede7c Use height type enum.
svn path=/trunk/netsurf/; revision=12413
2011-05-16 10:29:34 +00:00
Michael Drake 297f1dfebb Restore clipping rectangle before rendering scrollbars. Fixes broken rendering due to interaction between text selection and scroll.
svn path=/trunk/netsurf/; revision=12379
2011-05-11 09:21:43 +00:00
Michael Drake d41dcfa780 Fix content drags within scrollable areas. Various tidyups.
svn path=/trunk/netsurf/; revision=12378
2011-05-11 08:34:33 +00:00
Michael Drake 5bd37ecf2c Elements replaced with HTML don't affect parent descendants.
svn path=/trunk/netsurf/; revision=12365
2011-05-10 11:11:54 +00:00
Michael Drake 523e77e38d Fix box scrollbars to accurately represent ratio of visible area's length to full area's length, in the length of the scroll bar slider.
svn path=/trunk/netsurf/; revision=12364
2011-05-10 10:41:57 +00:00
Michael Drake ac447fc293 s/scroll/scrollbar/ and improve scrollbar widget comments.
svn path=/trunk/netsurf/; revision=12363
2011-05-09 22:49:17 +00:00
Vincent Sanders 83f9e707eb refactor content handler initilisation to use named initialisors
svn path=/trunk/netsurf/; revision=12341
2011-05-09 15:32:34 +00:00
Vincent Sanders 8be1e85e91 consolidate content redraw
more cleanups ready for image content refactor

svn path=/trunk/netsurf/; revision=12317
2011-05-08 19:54:35 +00:00
Michael Drake 8f6c343309 Simplify status bar text.
svn path=/trunk/netsurf/; revision=12313
2011-05-08 19:11:34 +00:00
John Mark Bell e71691bae8 Merge branches/jmb/content-factory to trunk
svn path=/trunk/netsurf/; revision=12283
2011-05-06 20:40:09 +00:00
Michael Drake 1304964f92 Reduce number of page reflows and viewport
redraws as images are fetched:
+ Flag known-sized boxes generated by images.
+ Treat them as replaced all through layout.
+ Only reflow the document for fetched images
  if we don't already have the box at the
  right size.

svn path=/trunk/netsurf/; revision=12243
2011-04-27 13:50:49 +00:00
Michael Drake 769011911c Optimise first pass of layout. Reduces number of nsfont_width calls by up to the page's word count.
svn path=/trunk/netsurf/; revision=12239
2011-04-26 15:03:44 +00:00
Michael Drake 8d2bb4bd3a Change how blocks are positioned vertically (esp. margin handling).
svn path=/trunk/netsurf/; revision=12235
2011-04-22 21:57:18 +00:00
John Mark Bell b5f94b26dc Apply same hack for :before as for :after
svn path=/trunk/netsurf/; revision=12224
2011-04-22 14:48:54 +00:00
John Mark Bell ff60007458 Fix build with NDEBUG defined
svn path=/trunk/netsurf/; revision=12154
2011-04-03 22:23:14 +00:00
John Mark Bell 237a62a9e7 Fix bug #3238323: pass correct context pointer for html_object_callback
svn path=/trunk/netsurf/; revision=12126
2011-03-23 20:39:18 +00:00
Michael Drake ad2116a730 Handle scaled rendering of text/plain with plot origin offset too.
svn path=/trunk/netsurf/; revision=12098
2011-03-17 18:49:25 +00:00
Michael Drake ff600fbf8c Fix text/plain rendering's plot range calc to take account of vertical plot offset (y).
svn path=/trunk/netsurf/; revision=12097
2011-03-17 18:15:32 +00:00
Michael Drake 1c7d7f6cbe Fix scaled text-plain contents.
svn path=/trunk/netsurf/; revision=12059
2011-03-15 15:29:28 +00:00
Michael Drake 14ab7bb98f Make text size a separate #define.
svn path=/trunk/netsurf/; revision=12058
2011-03-15 15:10:10 +00:00
John Mark Bell 408f78b737 Move schedule.h to utils/
svn path=/trunk/netsurf/; revision=12039
2011-03-13 22:50:54 +00:00
Daniel Silverstone 93e9bfe323 Shunt the schedule function definitions to desktop/schedule.h. Shunt the hlcache/llcache to using schedule to get their cleanups run.
svn path=/trunk/netsurf/; revision=12029
2011-03-13 18:26:46 +00:00
Michael Drake a0d7e79c8c Allow box margins to collapse through zero-height boxes.
svn path=/trunk/netsurf/; revision=11981
2011-03-12 18:44:43 +00:00
Vincent Sanders 74f108ee4d Saturated maths in css fixed point
svn path=/trunk/netsurf/; revision=11975
2011-03-12 17:46:11 +00:00
Daniel Silverstone 68e12d28f9 Remove pointless nasty skanky broken box tree duplication from hell
svn path=/trunk/netsurf/; revision=11970
2011-03-12 16:18:18 +00:00
Michael Drake e406481623 Update left/right margins comment.
svn path=/trunk/netsurf/; revision=11967
2011-03-12 12:27:17 +00:00
John Mark Bell a2d7cc9df1 Remove pointless search
svn path=/trunk/netsurf/; revision=11965
2011-03-11 10:33:42 +00:00
John Mark Bell 1edcef6141 Remove redundant parameter from content_open API
svn path=/trunk/netsurf/; revision=11964
2011-03-10 23:13:03 +00:00