Commit Graph

1058 Commits

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