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