Commit Graph

1447 Commits

Author SHA1 Message Date
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
John Mark Bell 8f3ed71cba Keep child objects of a HTML content in a list, instead of an array
svn path=/trunk/netsurf/; revision=11963
2011-03-10 23:08:34 +00:00
Michael Drake 06ff431df7 Handle scaling of text plots in core.
svn path=/trunk/netsurf/; revision=11935
2011-03-08 18:47:15 +00:00
Chris Young aa35550b86 plugins aren't images
svn path=/trunk/netsurf/; revision=11926
2011-03-06 15:34:48 +00:00
Chris Young 5ac45472c7 Fix broken CONTENT_PLUGIN API.
Add a default content handler for Amiga using the plugin interface, which passes
unknown files (currently images only) through DataTypes.

svn path=/trunk/netsurf/; revision=11924
2011-03-06 13:58:02 +00:00
Michael Drake 28dc80a3a5 Esimated width is fine for last box.
svn path=/trunk/netsurf/; revision=11922
2011-03-05 23:03:44 +00:00
Michael Drake 8c8ef2268d Ensure box has appropriate space before cloning.
svn path=/trunk/netsurf/; revision=11921
2011-03-05 22:55:52 +00:00
Michael Drake 9be22ab590 Make sure the last clone box for a wrapped text is properly measuered.
svn path=/trunk/netsurf/; revision=11920
2011-03-05 22:18:06 +00:00
Sven Weidauer 208b98bb44 Created content handler CONTENT_APPLE_IMAGE for Mac OS X that can handle all image file formats supported by Apples ImageIO framework. Right now used only for JPEG to get rid of libjpeg dependency.
svn path=/trunk/netsurf/; revision=11911
2011-03-05 09:49:15 +00:00
Michael Drake 9e1916ad61 Fix comment.
svn path=/trunk/netsurf/; revision=11891
2011-03-02 19:36:13 +00:00
Michael Drake 3e7ea29e4b Move clone to box flags.
svn path=/trunk/netsurf/; revision=11890
2011-03-02 19:30:08 +00:00
Michael Drake be366b0e6b Move strip_leading_newline to box flags.
svn path=/trunk/netsurf/; revision=11889
2011-03-02 19:16:03 +00:00
Michael Drake 3707be6292 Move printed to box flags.
svn path=/trunk/netsurf/; revision=11888
2011-03-02 18:41:17 +00:00
Michael Drake 77f67bccb6 Move style_owned to box flags.
svn path=/trunk/netsurf/; revision=11887
2011-03-02 18:27:41 +00:00
Michael Drake f744c9dfa0 Make box flags and move new line indicator to it.
svn path=/trunk/netsurf/; revision=11886
2011-03-02 17:50:51 +00:00
Michael Drake db69e8045b When wrapping text, don't duplicate strings. Special case for text inside textareas, since they require it.
svn path=/trunk/netsurf/; revision=11881
2011-03-01 22:14:02 +00:00
Michael Drake 3b366c53f9 More useful assert and remove box_dump call.
svn path=/trunk/netsurf/; revision=11880
2011-03-01 21:48:38 +00:00
Michael Drake e3f00b8546 Cache space widths.
svn path=/trunk/netsurf/; revision=11877
2011-03-01 20:00:41 +00:00
Michael Drake f1343377ff Split splitting out into layout_text_box_split().
svn path=/trunk/netsurf/; revision=11869
2011-03-01 13:42:27 +00:00
Michael Drake e35aecb9aa Optimise wrapped text layout.
svn path=/trunk/netsurf/; revision=11852
2011-02-28 13:18:27 +00:00
John Mark Bell 86a2e0076d Fix bug #3194007: stop emitting duplicate READY/DONE events.
* Make content handlers responsible for setting READY/DONE state & emitting events.
	* Stop content_convert doing this when there is a registered convert function for the content type.

svn path=/trunk/netsurf/; revision=11850
2011-02-27 20:11:39 +00:00
John Mark Bell daa8697651 Parallelise fetch and conversion of imported stylesheets
svn path=/trunk/netsurf/; revision=11817
2011-02-26 00:58:54 +00:00
John Mark Bell b1a2212a95 Fix bug #3140968: form submission with the GET method must replace the query segment of the action URL.
svn path=/trunk/netsurf/; revision=11800
2011-02-25 19:57:23 +00:00
John Mark Bell ec39ae69d6 Correct handling of action="": should submit to the document URL, not the base URL.
svn path=/trunk/netsurf/; revision=11799
2011-02-25 19:56:28 +00:00
John Mark Bell d9280e8d72 Fix bug #2076786: do not apply fallback content to failed objects
svn path=/trunk/netsurf/; revision=11797
2011-02-25 19:14:38 +00:00
Michael Drake 38ec3a917d Don't consider top/left of descendant box when applying box overflow scrollbars.
svn path=/trunk/netsurf/; revision=11792
2011-02-24 22:00:24 +00:00
Michael Drake 9125bd1fa4 Apply margin before clear.
svn path=/trunk/netsurf/; revision=11786
2011-02-24 15:45:10 +00:00
Michael Drake b68dc734e1 Handle text-indent in layout_minmax_line(). (Fixes #3187505; scattering of social networking icons on BBC News.)
svn path=/trunk/netsurf/; revision=11785
2011-02-24 13:46:12 +00:00
John Mark Bell c74936c3e8 Castrate favicon fetching. I've lost count of how much pain this has caused.
svn path=/trunk/netsurf/; revision=11782
2011-02-24 00:03:19 +00:00
Michael Drake 2ef37af60c When box has no style, handle descendant calc as for overflow: visible.
svn path=/trunk/netsurf/; revision=11770
2011-02-23 13:11:19 +00:00
Michael Drake cbaada8305 Fix silly.
svn path=/trunk/netsurf/; revision=11764
2011-02-22 22:14:22 +00:00
Michael Drake 8a223ef1b2 Fix text clipping bug.
svn path=/trunk/netsurf/; revision=11763
2011-02-22 22:07:28 +00:00
Michael Drake 7eaa663d74 Child bbox is relative to current box.
svn path=/trunk/netsurf/; revision=11756
2011-02-22 15:34:36 +00:00
Michael Drake 7f1108df32 Child's descendant bbox only affects current box's bbox if the child has overflow:visible.
svn path=/trunk/netsurf/; revision=11755
2011-02-22 15:12:18 +00:00
Michael Drake 474cbe917e Add function to get a box's border edge bbox, and use it to find initial descendant bbox.
svn path=/trunk/netsurf/; revision=11754
2011-02-22 14:57:04 +00:00
Michael Drake 9a8341cb39 Simplify descendant bbox calculations.
svn path=/trunk/netsurf/; revision=11753
2011-02-22 11:38:19 +00:00
Michael Drake cd40c260b9 Remove knockout from html_redraw, and use it in browser_window_redraw and thumbnail_redraw.
svn path=/trunk/netsurf/; revision=11746
2011-02-21 14:48:55 +00:00
John Mark Bell b76ef4333a Don't crash if there's no box associated with a textarea
svn path=/trunk/netsurf/; revision=11711
2011-02-19 14:59:30 +00:00
Michael Drake bbdb7cd440 Fix fixed point percentage macro not to overflow. Thanks to jmb and vince.
svn path=/trunk/netsurf/; revision=11702
2011-02-16 20:41:55 +00:00
Michael Drake 06e6ec4eb1 If percentage is negative, resort to floating point.
svn path=/trunk/netsurf/; revision=11700
2011-02-16 17:14:47 +00:00
Michael Drake 4f47cad962 Non block level :after boxes aren't supported yet, so don't generate them.
svn path=/trunk/netsurf/; revision=11691
2011-02-15 23:08:38 +00:00
John Mark Bell ad2279811a Fix bug #3182729: meta refresh of embedded html pages resulted in mismatched API expectations
svn path=/trunk/netsurf/; revision=11688
2011-02-15 21:49:28 +00:00
Michael Drake f793d17acd Handle percentages from libcss without doing floating point maths.
svn path=/trunk/netsurf/; revision=11687
2011-02-15 14:31:18 +00:00
Michael Drake e4035987a7 Pass clip rect through html redraw as pointer.
svn path=/trunk/netsurf/; revision=11685
2011-02-15 11:42:05 +00:00
Michael Drake 94e7b44ebc Pass clip rect to clip plotters as struct. Simplify clip rect handling in debug window code. Pass clip rect to select menu as struct.
svn path=/trunk/netsurf/; revision=11683
2011-02-14 22:05:39 +00:00
John Mark Bell f42ed976e5 Constify
svn path=/trunk/netsurf/; revision=11680
2011-02-14 19:17:08 +00:00
Michael Drake c05333fa62 Pass clip rect to scroll_redraw as struct. Simplify test to see if scrollbar is within clip rect.
svn path=/trunk/netsurf/; revision=11679
2011-02-14 17:57:08 +00:00
Michael Drake 60c74c2e3c More comments for object dimension calculation.
svn path=/trunk/netsurf/; revision=11678
2011-02-14 16:42:23 +00:00
Michael Drake fc7efc6e4a Don't use float maths for AUTO image sizing with one given dimension.
svn path=/trunk/netsurf/; revision=11677
2011-02-14 14:48:56 +00:00
Michael Drake 5b4228f5aa Handle object sizing in one place.
svn path=/trunk/netsurf/; revision=11676
2011-02-14 14:39:42 +00:00
Michael Drake 3d69933e45 Avoid potential divide by 0.
svn path=/trunk/netsurf/; revision=11675
2011-02-14 12:56:52 +00:00
Michael Drake 9336ea3ac8 Increase computed time before scheduled redraws.
svn path=/trunk/netsurf/; revision=11674
2011-02-14 11:14:40 +00:00
Michael Drake fe7921a387 Pass clip rect as struct through content_redraw api. Update the front ends to use this. Note only RO build tested.
svn path=/trunk/netsurf/; revision=11670
2011-02-13 22:25:11 +00:00
Michael Drake 27b6096dcd Move stuct rect out of box.h and tree.c.
svn path=/trunk/netsurf/; revision=11647
2011-02-11 19:35:16 +00:00
John Mark Bell 5d27aa256f Port to latest libcss
svn path=/trunk/netsurf/; revision=11526
2011-01-29 19:22:12 +00:00
Michael Drake 44e8897a48 Make layout of block formatting contexts take account of the bottom margin of the last contained block.
svn path=/trunk/netsurf/; revision=11498
2011-01-26 15:14:38 +00:00
Daniel Silverstone cd72933201 Ensure we free more of the css stuff for the box model.
svn path=/trunk/netsurf/; revision=11399
2011-01-19 21:15:23 +00:00
Sven Weidauer 23770014c0 Check for animating GIF favicon only if compiled with GIF support.
svn path=/trunk/netsurf/; revision=11298
2011-01-12 22:07:40 +00:00
Michael Drake 40a034b08f Don't clear floats if there aren't floats to clear.
svn path=/trunk/netsurf/; revision=11270
2011-01-09 19:09:30 +00:00
Michael Drake fe291f87d9 Ensure top margin is affects static position in particular case.
svn path=/trunk/netsurf/; revision=11262
2011-01-09 00:09:57 +00:00
John Mark Bell 3368407d9e Document font APIs -- specifically, string lengths are specified in bytes, not characters
svn path=/trunk/netsurf/; revision=11261
2011-01-09 00:02:47 +00:00
Michael Drake b85fcf590f Table top/bottom margin is 0px when computed value is 'auto'.
svn path=/trunk/netsurf/; revision=11257
2011-01-08 17:34:45 +00:00
Daniel Silverstone 234301ad23 Fix silliness
svn path=/trunk/netsurf/; revision=11243
2011-01-07 13:14:06 +00:00
Daniel Silverstone d00c5b0cd5 Add CONTENT_MSG_FAVICON_REFRESH and emit and handle it appropriately. Animated favicons now work
svn path=/trunk/netsurf/; revision=11242
2011-01-07 13:10:20 +00:00
Daniel Silverstone 4b4db144f0 Ensure that we only set done once, but that we do reformat if we're updated. (First stage to animated favicon)
svn path=/trunk/netsurf/; revision=11240
2011-01-07 12:40:57 +00:00
Daniel Silverstone 72683554b4 Only consider a favicon for redraw/done if an event *caused* it to become ready
svn path=/trunk/netsurf/; revision=11239
2011-01-07 12:12:47 +00:00
Michael Drake 749dfa52ba Completion of first-letter and first-line pseudo element computed styles is not handled yet.
svn path=/trunk/netsurf/; revision=11228
2011-01-06 11:11:47 +00:00
John Mark Bell 77ea8a8d63 Always want inline style now (also prevents use of an uninitialised variable)
svn path=/trunk/netsurf/; revision=11220
2011-01-05 22:38:37 +00:00
John Mark Bell 9422e6dad0 Remove redundant validation -- if you successfully obtain a css_select_results object, then its base style is guaranteed to exist
svn path=/trunk/netsurf/; revision=11217
2011-01-05 20:14:34 +00:00
Michael Drake 08ed4c207f Update to new libcss API for simultanious selection for base element and its pseudo elements.
svn path=/trunk/netsurf/; revision=11215
2011-01-05 19:36:05 +00:00
Michael Drake 027726c432 Don't create iframes for hidden or non-displayed boxes.
svn path=/trunk/netsurf/; revision=11213
2011-01-05 01:26:29 +00:00
Michael Drake 61b7c722be Implement enough support for the :after pseudo element for the widely-used clearfix CSS layout hack to work.
svn path=/trunk/netsurf/; revision=11206
2011-01-04 21:52:43 +00:00
Michael Drake adeb661582 Fix comment.
svn path=/trunk/netsurf/; revision=10935
2010-11-03 15:44:01 +00:00
Chris Young 835d033e7b Amiga icon loader. Treeviews will now use the user's icons for content types.
svn path=/trunk/netsurf/; revision=10925
2010-10-30 14:23:38 +00:00
John Mark Bell b734c12fd6 Slightly less braindead textplain handling
svn path=/trunk/netsurf/; revision=10900
2010-10-23 18:43:48 +00:00
Chris Young c052d534e7 Add some missing CONTENT_WEBPs. WebP images in HTML docs now display correctly.
svn path=/trunk/netsurf/; revision=10890
2010-10-16 15:26:28 +00:00
John Mark Bell d4d866c43f Fix crash when top-level content is not HTML and there is a fragment identifier in the URL.
Constify.

svn path=/trunk/netsurf/; revision=10881
2010-10-11 06:54:37 +00:00
John Mark Bell 6e161d822c Restrict permissible content types for list marker images
svn path=/trunk/netsurf/; revision=10798
2010-09-19 11:27:43 +00:00
John Mark Bell 9ad74ad786 Remove bogus assertion
svn path=/trunk/netsurf/; revision=10793
2010-09-17 19:11:53 +00:00
James Bursa b6418a9048 Change back to using tree directly because element navigation functions require libxml2 2.7.3 which is not available everywhere.
svn path=/trunk/netsurf/; revision=10790
2010-09-16 21:03:16 +00:00
James Bursa bce1f4c231 Use libxml functions to loop through elements in html_head() instead of checking all nodes. Remove logging.
svn path=/trunk/netsurf/; revision=10788
2010-09-16 20:46:29 +00:00
John Mark Bell 805d6586d6 Replace all instances of NUL with U+FFFD
svn path=/trunk/netsurf/; revision=10771
2010-09-13 22:32:52 +00:00
John Mark Bell 73f4399418 Replace use of iconv with a parserutils inputstream
svn path=/trunk/netsurf/; revision=10770
2010-09-13 22:18:51 +00:00
John Mark Bell 2077918805 Merge branches/vince/netsurf-file-fetcher to trunk
r=jmb

svn path=/trunk/netsurf/; revision=10750
2010-09-09 21:45:59 +00:00
Michael Drake b9773d34bb Root element can't be absolute positioned. Fixes #3062055.
svn path=/trunk/netsurf/; revision=10743
2010-09-08 17:22:35 +00:00
Michael Drake e0477fa668 Redraw object scrollbars if required.
svn path=/trunk/netsurf/; revision=10731
2010-08-30 22:43:01 +00:00
Michael Drake 0de9f41db7 Fix object descendants and make space for scrollbars if required.
svn path=/trunk/netsurf/; revision=10730
2010-08-30 22:30:43 +00:00
Michael Drake ece31d1358 Don't special case height to content height when object's content is HTML.
svn path=/trunk/netsurf/; revision=10729
2010-08-30 22:09:49 +00:00
Michael Drake 93873344dd Fix clipping to exclude border for objects.
svn path=/trunk/netsurf/; revision=10728
2010-08-30 21:47:54 +00:00
Michael Drake 175bb0344c Move directory listing HTML generation functions into separate module.
svn path=/trunk/netsurf/; revision=10715
2010-08-26 17:29:02 +00:00
Michael Drake bbbbdd4d80 + Don't even consider top and bottom borders when they
fall outside the clip rect.  Should make scrolling up
  and down slightly faster.
+ Clip borders plotted as rectangles to the current clip
  rectangle.  Fixes redraw issue with very tall borders.

svn path=/trunk/netsurf/; revision=10713
2010-08-26 12:30:22 +00:00
Michael Drake 8c767656e2 + Pass clip rectangle around html_redraw_* as a struct rect.
+ Reduce fp maths at 1:1 scale for boxes with overflow:visisble.
+ Simplfy border plots.

svn path=/trunk/netsurf/; revision=10712
2010-08-26 10:01:26 +00:00
Michael Drake 607dca3e63 Simplication due to known border geometry characteristics. Fix double border style.
svn path=/trunk/netsurf/; revision=10709
2010-08-14 21:35:16 +00:00
Michael Drake 561cb543ca Fix colour comparison to compare the right things. Plot left and right borders before top and bottom.
svn path=/trunk/netsurf/; revision=10703
2010-08-14 15:27:45 +00:00
Michael Drake db0640e32c Slightly quicker border part length finding.
svn path=/trunk/netsurf/; revision=10702
2010-08-14 13:38:53 +00:00
Michael Drake dbe7069171 Render 1px wide border parts with rectangle plotter, rather than polygon.
svn path=/trunk/netsurf/; revision=10701
2010-08-14 13:03:57 +00:00
Michael Drake b65fa05375 + Optimise border handling at 1:1 scale.
+ Reduce computation for elements with no borders.
+ Simplfy border vertex calculation.
+ Add comments.

svn path=/trunk/netsurf/; revision=10700
2010-08-14 10:52:25 +00:00
Michael Drake a2276dc6ba Fix BeOS build.
svn path=/trunk/netsurf/; revision=10698
2010-08-13 22:51:29 +00:00
Michael Drake 410a50496c Plot rectangular border parts with the rectangle plotter, rather than the polygon plotter.
svn path=/trunk/netsurf/; revision=10697
2010-08-13 22:29:49 +00:00
Michael Drake 1a08c89788 Make top and bottom borders flush with left and right of border box, when possible. Make left and right borders only render above/below padding box when they need to.
svn path=/trunk/netsurf/; revision=10696
2010-08-13 21:07:46 +00:00
Michael Drake 3d8a39e225 Skip transparent borders early and change border side plot order.
svn path=/trunk/netsurf/; revision=10695
2010-08-13 19:02:39 +00:00
Michael Drake ab24d46f76 Fix inline border ends where inline text wraps.
svn path=/trunk/netsurf/; revision=10694
2010-08-13 16:53:30 +00:00
Michael Drake c4da991b8d Simplify border vertex arrangement code slightly.
svn path=/trunk/netsurf/; revision=10693
2010-08-13 14:05:07 +00:00
François Revel f2cb00870b C89.
svn path=/trunk/netsurf/; revision=10675
2010-08-02 21:49:20 +00:00
Michael Drake 2a286962f7 Fix build when layout logging is enabled.
svn path=/trunk/netsurf/; revision=10649
2010-07-16 17:56:33 +00:00
Michael Drake 17aacbec02 Record left and right float boxes with negative widths. Fixes overlapping text on new BBC News site.
svn path=/trunk/netsurf/; revision=10648
2010-07-16 17:48:20 +00:00
Michael Drake a29e3702be Update dirlist_generate_title documentation to match reality. Remove unused error check stuff.
svn path=/trunk/netsurf/; revision=10647
2010-07-16 12:08:59 +00:00
Chris Young 37b0d01d32 memory leak
svn path=/trunk/netsurf/; revision=10646
2010-07-15 22:34:03 +00:00
Chris Young 8940cc18b1 Localise browser "Index of" text
svn path=/trunk/netsurf/; revision=10645
2010-07-15 22:19:01 +00:00
Chris Young 18ffa91361 fix crash
svn path=/trunk/netsurf/; revision=10644
2010-07-15 21:58:36 +00:00
Michael Drake a8f41ec8a9 Fix so column suppression choices actually end up in the output.
svn path=/trunk/netsurf/; revision=10642
2010-07-15 18:43:47 +00:00
Michael Drake 3354bd7425 Move HTML generating code into separate functions. Tidy up spacing when parent directory link is not shown.
svn path=/trunk/netsurf/; revision=10641
2010-07-15 18:01:59 +00:00
Chris Young a182a36067 More intelligent path concatenation
svn path=/trunk/netsurf/; revision=10639
2010-07-14 22:36:04 +00:00
Michael Drake a3c2b432b5 Squash mimetype may be used uninitialised warning.
svn path=/trunk/netsurf/; revision=10638
2010-07-14 16:08:55 +00:00
Michael Drake cfdae54bc3 Add comments and factor out common file size code.
svn path=/trunk/netsurf/; revision=10637
2010-07-14 13:36:15 +00:00
Michael Drake 760bc3380c Restyle directory listings.
svn path=/trunk/netsurf/; revision=10636
2010-07-14 12:26:14 +00:00
Michael Drake 786442f5b2 Use human friendly size, which fixes RISC OS directory listings.
svn path=/trunk/netsurf/; revision=10634
2010-07-14 09:30:40 +00:00
Chris Young 12df55d095 Move directory text into type column
svn path=/trunk/netsurf/; revision=10632
2010-07-13 22:32:03 +00:00
Chris Young 1b49494d6e Improved directory browser
svn path=/trunk/netsurf/; revision=10631
2010-07-13 19:44:51 +00:00
Chris Young d4c519cc05 Amiga file: URIs now translate the : in device names to / (and back), which conforms
better to the spec (: will still work for compatibility, but may have problems).  This
fixes a problem with directory browsing.
Directory parent link now uses the full parent path returned by url_parent instead of
one relative to the current directory.

svn path=/trunk/netsurf/; revision=10629
2010-07-11 20:42:06 +00:00
Michael Drake 1fb697782a Stop redrawing zero size images.
svn path=/trunk/netsurf/; revision=10614
2010-07-08 19:53:53 +00:00
Michael Drake e08255f3ee Remove dead code.
svn path=/trunk/netsurf/; revision=10602
2010-07-06 20:29:16 +00:00
Michael Drake 71644097be Remove dead assignements and add assert to check table cells aren't set to span no columns at layout time (Note: colspan=0 is treated as colspan=1 by box normalisation. It should probably be handled in table_calculate_columns_types() properly. Either way, there shouldn't be colspans of 0 by the time we get to layout.)
svn path=/trunk/netsurf/; revision=10601
2010-07-06 20:23:07 +00:00
John Mark Bell 6867be128c Pedantic whitespace change
svn path=/trunk/netsurf/; revision=10590
2010-06-30 20:08:59 +00:00
John Mark Bell 5e990dfb78 Fix assertion when table borders are specified in em/ex units.
svn path=/trunk/netsurf/; revision=10583
2010-06-27 13:11:31 +00:00
Michael Drake 0642cdafc2 Fix mouse.h file description. Add iframe comment.
svn path=/trunk/netsurf/; revision=10571
2010-06-09 09:53:07 +00:00
Michael Drake 6c59c80ed5 s/int/size_t/
svn path=/trunk/netsurf/; revision=10562
2010-06-04 09:39:30 +00:00
Michael Drake b010a25771 + Refactor input handling from browser window code into content
handlers.
+ Disentangle all box tree manipulation from browser window
  code and put it where it belongs.
+ Move other content specific and other irrelevant code from
  browser window handling to appropriate places.
+ Put mouse state enum in new mouse header, since it's not just
  used by browser window code, and it is used by treeview
  windows on the treeview branch.

svn path=/trunk/netsurf/; revision=10561
2010-06-04 09:35:08 +00:00
Michael Drake bc9fef0a1a Add iframe comment.
svn path=/trunk/netsurf/; revision=10559
2010-06-03 15:15:31 +00:00
Daniel Silverstone 5e887908b3 Consolidate several 'myrealloc' functions into ns_realloc, rename one which *is* different, thereby eliminating the word 'myrealloc' from the NS codebase
svn path=/trunk/netsurf/; revision=10530
2010-04-30 16:06:03 +00:00
John Mark Bell 000e6ad3de It turns out that realloc(ptr, 0) --> free(ptr) is not actually required by the C standard (whereas realloc(NULL, size) --> malloc(size) is).
Therefore, explicitly model the behaviour expected by our libraries (that realloc of 0 size is equivalent to free).

svn path=/trunk/netsurf/; revision=10524
2010-04-30 07:00:58 +00:00
Daniel Silverstone 30e0cfe7a9 First step to fixing memory leaks -- Box model no longer leaks computed styles
svn path=/trunk/netsurf/; revision=10500
2010-04-27 21:38:41 +00:00
Michael Drake 485ac0dad7 Improve handling of percentage margins and paddings on floats. Fixes pond.org.uk. This is still not ideal and there are cases where we don't match other browsers.
svn path=/trunk/netsurf/; revision=10497
2010-04-27 17:45:07 +00:00
Michael Drake 4d67ca25a7 Fix vertical placement of absolute positioned inlines using staic position. Simplify placement of inlines on a line.
svn path=/trunk/netsurf/; revision=10495
2010-04-27 12:02:12 +00:00
Michael Drake 542610c779 Fix float wrap issue. (Amiga.org nav bar.)
svn path=/trunk/netsurf/; revision=10490
2010-04-26 22:13:22 +00:00
Michael Drake 15f1688f52 Update comment for new cache.
svn path=/trunk/netsurf/; revision=10481
2010-04-25 11:35:26 +00:00
Vincent Sanders 03bb3e8636 remove _GNU_SOURCE define from everywhere.
strndup is not standard so provide an implementation.

svn path=/trunk/netsurf/; revision=10474
2010-04-24 15:22:17 +00:00
John Mark Bell 250431772f Use API to invalidate content freshness information
svn path=/trunk/netsurf/; revision=10387
2010-04-12 22:54:51 +00:00
Daniel Silverstone 8fd3bb959a Make favourite icons part of the HTML content's active set so that we don't complete the fetch until the favicon is finished loading
svn path=/trunk/netsurf/; revision=10384
2010-04-12 10:40:55 +00:00
John Mark Bell cca15e14c2 Remove need to constantly type c->data.html in html_destroy().
Fix destruction of linked and inline stylesheets to ensure that the pointer is non-NULL before trying to destroy it.

svn path=/trunk/netsurf/; revision=10364
2010-04-11 17:20:07 +00:00
John Mark Bell 737d6ad557 Merge jmb/kill-reentrancy. r=vince
svn path=/trunk/netsurf/; revision=10346
2010-04-11 10:52:18 +00:00
John Mark Bell 342fe780c6 Catch calls to html_clone, which is guaranteed to result in breakage, so it's safer to just die, rather than limp on.
svn path=/trunk/netsurf/; revision=10341
2010-04-10 12:36:21 +00:00
Michael Drake 9e52f10529 Add encoding source getter.
svn path=/trunk/netsurf/; revision=10269
2010-04-07 13:12:27 +00:00
John Mark Bell ca7441ea54 Release favicon when HTML content is destroyed
svn path=/trunk/netsurf/; revision=10239
2010-04-04 17:19:10 +00:00
John Mark Bell 69f02e926f Make the high-level cache drop contents of unacceptable type on the floor.
svn path=/trunk/netsurf/; revision=10238
2010-04-04 17:17:24 +00:00
John Mark Bell 487d4c3ae3 Suppress error page generation for favicon fetches.
Pass the correct referring URL.

svn path=/trunk/netsurf/; revision=10237
2010-04-04 12:45:47 +00:00
John Mark Bell 79ce683b4e Most of a stop implementation.
Remaining work:
  1) Clone content_html_data
  2) Cloning content_css_data requires the charset of the old content
  3) Calling hlcache_handle_abort() before a content has been created must clean up the retrieval context.

svn path=/trunk/netsurf/; revision=10236
2010-04-04 12:41:19 +00:00
John Mark Bell 43a99ab683 Constify data parameter to *_process_data
svn path=/trunk/netsurf/; revision=10234
2010-04-03 16:37:36 +00:00
John Mark Bell d4524e7def Remove pointless destruction of bitmap: HTML contents will never have one.
svn path=/trunk/netsurf/; revision=10232
2010-04-03 12:00:37 +00:00
John Mark Bell 49810d8191 Use mutator to modify content's title field.
svn path=/trunk/netsurf/; revision=10231
2010-04-03 11:55:28 +00:00
John Mark Bell 9aca901eb1 The convert stage of a content's state progression no longer reflows the content to the provided dimensions.
It is now defined as converting the content into a state in which it is ready for use.
The user of the content is now responsible for performing an initial reformat (sic) of the content before it can be redrawn.

Purge width/height parameters from hlcache_handle_retrieve/content_convert/*_convert APIs.
Fix up content handlers affected by the above change in semantics.
Ensure that browser_window_callback performs an initial reformat of its content.

svn path=/trunk/netsurf/; revision=10207
2010-03-29 22:33:21 +00:00
Daniel Silverstone cb7412181f Replace fetch_poll with llcache_poll throughout. Allow CONTENT_OTHER to complete properly.
svn path=/trunk/netsurf/; revision=10187
2010-03-28 16:00:54 +00:00