Commit Graph

1036 Commits

Author SHA1 Message Date
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
Daniel Silverstone 05a4eceae2 Remove fetchcache.[ch]
svn path=/trunk/netsurf/; revision=10183
2010-03-28 15:34:07 +00:00
Daniel Silverstone 8a49da03f0 Ensure we honour html_fetch_object's API properly regarding NOMEM behaviour
svn path=/trunk/netsurf/; revision=10181
2010-03-28 14:39:52 +00:00
Daniel Silverstone 270ef59a98 Merge jmb/new-cache; r=dsilvers,rs=vince
svn path=/trunk/netsurf/; revision=10180
2010-03-28 12:56:39 +00:00
John Mark Bell fcf264d4cd Remove apparently spurious status update.
svn path=/trunk/netsurf/; revision=9963
2010-02-10 00:57:23 +00:00
Vincent Sanders 8e1b4a0061 fix box_dump call
fix spurious newlines in log message

svn path=/trunk/netsurf/; revision=9919
2010-01-28 00:03:44 +00:00
John Mark Bell aba82a97af Yeah, so it helps if you get the conditional correct.
svn path=/trunk/netsurf/; revision=9859
2010-01-21 23:53:44 +00:00
John Mark Bell 5b0ad574b6 Fix compilation when BMP/PNG/GIF support is disabled.
svn path=/trunk/netsurf/; revision=9858
2010-01-21 23:48:34 +00:00
Michael Drake b1e8c5fb09 Revert float ordering optimisation (r9846) due to effect on stacking order.
svn path=/trunk/netsurf/; revision=9853
2010-01-20 22:38:22 +00:00
Michael Drake 185465df3d Order containing block's list of floats in descending order of the y-position of their base. Make find_sides() stop searching, after floats are above the range we're interested in. (351s --> 73s on ix for haveproblems/really-slow-float-table2.html)
svn path=/trunk/netsurf/; revision=9846
2010-01-17 09:57:25 +00:00
Michael Drake ab74f4c990 When placing floats below, keep track of y-position, for future floats in current line.
svn path=/trunk/netsurf/; revision=9836
2010-01-16 17:41:50 +00:00
François Revel 18e27fb499 C89.
svn path=/trunk/netsurf/; revision=9779
2010-01-02 02:57:18 +00:00