Michael Drake
49d2ce585c
More talloc ctx fixup.
2012-10-05 12:38:25 +01:00
Michael Drake
464df9f310
Need to use content->bctx for talloc ref.
2012-10-03 20:48:16 +01:00
Vincent Sanders
f22da7670d
fix missing sizeof() in amiga build
...
fix type warning by passing correct value
2012-10-03 19:41:14 +01:00
Vincent Sanders
c1671f37b1
reduce talloc usage to box tree layout only
2012-10-03 19:26:17 +01:00
Michael Drake
5a2212fda6
Variable already existed.
2012-10-03 17:20:57 +01:00
Michael Drake
391defb1c4
Don't convert spaces to non-breaking spaces inside white-space:pre. Instead, handle not wrapping in layout.
2012-10-03 17:14:11 +01:00
Michael Drake
b6202ab8cf
Remove pointless churn when text box has white-space:nowrap.
2012-10-03 15:40:27 +01:00
John-Mark Bell
ae8a3ede3e
Fix bug #3572539 : handle empty option elements.
2012-09-28 08:27:32 +01:00
Michael Drake
ee9ab42f75
Fixup for latest libdom.
2012-09-11 13:10:50 +01:00
Michael Drake
02afe314af
Fix object box construction.
2012-08-21 16:46:46 +01:00
Michael Drake
2f408f0ecb
More use of interns.
2012-07-26 15:57:33 +01:00
John-Mark Bell
5d8959b30c
Fix reference handling when computing next node.
2012-07-22 17:52:30 +01:00
John-Mark Bell
1ecc94b187
Use case insensitive string comparisions for nodes
2012-07-15 01:39:25 +01:00
John-Mark Bell
64f098dfc7
Do not render noscript when script is enabled.
2012-07-15 01:17:04 +01:00
Vincent Sanders
bd244b121a
Merge branch 'vince/forms-fixed'
...
Conflicts:
Makefile.sources
render/box_construct.c
render/html.c
render/html_internal.h
Merge Daniel Silverstones forms branch
2012-07-14 14:42:02 -06:00
Vincent Sanders
6ab102c3b1
Rework form acessors to deal with binding changes
2012-07-14 13:24:14 -06:00
Vincent Sanders
394357b7c9
fix quirks mode setting with libdom hubbub parser
2012-07-14 09:13:21 -06:00
Vincent Sanders
d7289f6701
remove parser binding layer
2012-07-13 17:37:22 -06:00
Daniel Silverstone
b42c43dc01
Early <input> elements working, but we need more caseless comparisons
2012-07-08 11:45:27 +01:00
Michael Drake
cc35563f2b
Fix frameset processing.
...
svn path=/trunk/netsurf/; revision=13875
2012-04-16 16:14:40 +00:00
John Mark Bell
29708a2bf3
Fix logic inversion
...
svn path=/trunk/netsurf/; revision=13679
2012-03-25 11:23:09 +00:00
John Mark Bell
2b215a8df1
Initialise/finalise box constructor string constants
...
svn path=/trunk/netsurf/; revision=13653
2012-03-25 08:37:48 +00:00
John Mark Bell
d00b3c79c8
Squash aliasing warnings
...
svn path=/trunk/netsurf/; revision=13640
2012-03-24 22:30:28 +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
Vincent Sanders
b21f85a072
initial move to libdom
...
svn path=/trunk/netsurf/; revision=13573
2012-03-23 23:18:04 +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
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
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
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
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
4e574f1252
Improve performance of style selection
...
svn path=/trunk/netsurf/; revision=13000
2011-10-08 00:21:59 +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
012e0838cb
Set url pointers to NULL after unref.
...
svn path=/trunk/netsurf/; revision=12942
2011-10-03 22:06:47 +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
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
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
John Mark Bell
f27d5a3e15
Remove gui_multitask
...
svn path=/trunk/netsurf/; revision=12828
2011-09-21 00:25:09 +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
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
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
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
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
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
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
be366b0e6b
Move strip_leading_newline to box flags.
...
svn path=/trunk/netsurf/; revision=11889
2011-03-02 19:16:03 +00:00
Michael Drake
e3f00b8546
Cache space widths.
...
svn path=/trunk/netsurf/; revision=11877
2011-03-01 20:00:41 +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
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
5d27aa256f
Port to latest libcss
...
svn path=/trunk/netsurf/; revision=11526
2011-01-29 19:22:12 +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
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
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
6e161d822c
Restrict permissible content types for list marker images
...
svn path=/trunk/netsurf/; revision=10798
2010-09-19 11:27:43 +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
bc9fef0a1a
Add iframe comment.
...
svn path=/trunk/netsurf/; revision=10559
2010-06-03 15:15:31 +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
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
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
9e86512c4f
Fix quirks mode propagation for @style.
...
svn path=/trunk/netsurf/; revision=9675
2009-11-15 10:10:00 +00:00
John Mark Bell
0665611cc2
Port to modified libcss API.
...
svn path=/trunk/netsurf/; revision=8997
2009-08-02 19:19:43 +00:00
John Mark Bell
c51b14383c
Now that libwapcaplet guarantees NUL-termination of strings, stop copying them unnecessarily.
...
svn path=/trunk/netsurf/; revision=8785
2009-07-25 15:47:11 +00:00
John Mark Bell
ddeadd1c02
Merge LibCSS port to trunk.
...
svn path=/trunk/netsurf/; revision=8752
2009-07-23 23:05:34 +00:00
John Mark Bell
90c0fb6f3e
Fix frame targets.
...
svn path=/trunk/netsurf/; revision=7729
2009-06-08 09:34:58 +00:00
John Mark Bell
243c1ba03f
Limit scope of manually-defined NDEBUG. Purge a bunch of redundant #undef NDEBUG.
...
svn path=/trunk/netsurf/; revision=7593
2009-05-28 10:39:53 +00:00
John Mark Bell
c18945f771
Fix numbering of floated list items
...
svn path=/trunk/netsurf/; revision=7361
2009-04-29 10:44:20 +00:00
Michael Drake
a99a5bdd70
Move handling of TR height attribute from box construction to layout and add support for height property on TR.
...
svn path=/trunk/netsurf/; revision=7358
2009-04-28 20:13:10 +00:00
John Mark Bell
daf7a52dd6
Hubbub is no longer optional.
...
Remove libxml2 parser binding.
svn path=/trunk/netsurf/; revision=7115
2009-04-17 00:54:27 +00:00
John Mark Bell
6a7b1a73a7
Fix compilation with GCC 2.95.
...
It astounds me how some of this lot compiled at all.
svn path=/trunk/netsurf/; revision=7104
2009-04-16 12:49:49 +00:00
John Mark Bell
cc1094f0ac
Utilise hubbub's form association callback.
...
Please can we dispense with the libxml binding? It's causing much #ifdef mess.
Fix encoding of <input type=image> names -- previously were output as raw utf-8, rather than in the submission charset.
Actually bother to destroy forms in a document, and the controls associated with them. We still leak non form-associated controls, but that's too much effort to fix right now.
svn path=/trunk/netsurf/; revision=6573
2009-02-20 11:39:25 +00:00
Michael Drake
b7a1b3999e
Implement percentage heights for block level elements in normal flow, floats and positioned boxes. Percentage min/max-height not yet handled.
...
svn path=/trunk/netsurf/; revision=5550
2008-10-12 21:22:28 +00:00
Michael Drake
8a6e803029
Load SVGs in IMG elements.
...
svn path=/trunk/netsurf/; revision=5463
2008-09-30 12:17:16 +00:00
John Mark Bell
385d274f5b
A bunch of fixes to the libpng binding
...
svn path=/trunk/netsurf/; revision=5338
2008-09-15 22:45:44 +00:00
Michael Drake
668dd06dc3
Add comments and change height attribute handling on TR to only alter the height if attribute height is greater than current height.
...
svn path=/trunk/netsurf/; revision=5259
2008-09-05 13:04:30 +00:00
Michael Drake
55e2831909
Ignore height/width attributes on elements where they are not permitted.
...
svn path=/trunk/netsurf/; revision=5162
2008-08-21 18:00:32 +00:00
François Revel
da1b02f77f
C89
...
svn path=/trunk/netsurf/; revision=5103
2008-08-13 17:45:44 +00:00
John Mark Bell
114f948f36
Ignore blank maxlength attributes
...
svn path=/trunk/netsurf/; revision=4912
2008-08-05 09:54:55 +00:00
John Mark Bell
e004e0e745
Squash more warnings.
...
svn path=/trunk/netsurf/; revision=4210
2008-05-26 10:46:45 +00:00
John Mark Bell
23fb72ea6b
The core code has always assumed a locale of "C".
...
Do not change the locale globally, else things will break in weird and
wonderful ways.
Introduce utils/locale.[ch], which provide locale-specific wrappers for various
functions (currently just the <ctype.h> ones).
Fix up the few places I can see that actually require that the underlying
locale is paid attention to.
Some notes:
1) The GTK frontend code has not been touched. It is possible that reading of
numeric values (e.g. from the preferences dialogue) may break with this
change, particularly in locales that use something other than '.' as their
decimal separator.
2) The search code is left unchanged (i.e. assuming a locale of "C").
This may break case insensitive matching of non-ASCII characters.
I doubt that ever actually worked, anyway. In future, it should use
Unicode case conversion to achieve the same effect.
3) The text input handling in the core makes use of isspace() to detect
word boundaries. This is fine for western languages (even in the C locale,
which it's currently assuming). It will, however, break for CJK et. al.
(this has always been the case, rather than being a new issue)
4) text-transform uses locale-specific variants of to{lower,upper}. In future
this should probably be performing Unicode case conversion. This is the
only part of the core code that makes use of locale information.
In future, if you require locale-specific behaviour, do the following:
setlocale(LC_<whatever>, "");
<your operation(s) here>
setlocale(LC_<whatever>, "C");
The first setlocale will change the current locale to the native environment.
The second setlocale will reset the current locale to "C".
Any value other than "" or "C" is probably a bug, unless there's a really
good reason for it.
In the long term, it is expected that all locale-dependent code will reside in
platform frontends -- the core being wholly locale agnostic (though assuming
"C" for things like decimal separators).
svn path=/trunk/netsurf/; revision=4153
2008-05-13 14:37:44 +00:00
Michael Drake
83a83757ab
Only record that the HTML alignment was set by a table element if it is actually set.
...
svn path=/trunk/netsurf/; revision=4058
2008-03-29 19:51:00 +00:00
James Shaw
9402e110e9
Implement sprite support for GTK using librosprite
...
svn path=/trunk/netsurf/; revision=4051
2008-03-29 13:30:04 +00:00
John Mark Bell
bdf3c5e56b
Squash "implicit declaration of function 'gui_multitask'" warnings.
...
svn path=/trunk/netsurf/; revision=3980
2008-03-19 16:46:26 +00:00
Michael Drake
f7be887580
Centered tables are a special case.
...
svn path=/trunk/netsurf/; revision=3880
2008-03-05 08:09:06 +00:00
Michael Drake
f752aca0d4
Fix align attributes on TABLE etc being overridden in the table's cells by the default alignment of cells with no align attribute.
...
svn path=/trunk/netsurf/; revision=3873
2008-02-28 20:36:09 +00:00
Michael Drake
748937547a
Don't meddle with blockquote's margins.
...
svn path=/trunk/netsurf/; revision=3869
2008-02-26 22:31:38 +00:00
John Mark Bell
1cf46a6792
SignednessWarnings.squash()
...
Aside from a number of instances of const being cast away (mostly relating to the urldb, which is correct to only export const data) this now builds warning-free with GCC 4 on x86, which is nice.
svn path=/trunk/netsurf/; revision=3868
2008-02-25 17:58:00 +00:00
Michael Drake
a4e1ffda1a
Improve handling of HTML attributes / markup:
...
* Only apply presentational HTML attributes if no more
important CSS has been set for the property. (NetSurf used
to be a bit hit-and-miss when presentational markup and
CSS were mixed.)
* Change table cellpadding and border handling to happen as
soon the boxes styles are available, rather than after the
whole table has been constructed. Also fix default table
border colour.
* Improve handling of CENTER tag and ALIGN attribute. These
could not be correctly supported in the default CSS file,
so block level element alignment is now done during box
construction. (Fixes #1891379 , #1824492 , #1723853 )
Form improvements:
* Small MAXLENGTH values on text inputs now reduce element
width. (Fixes #1894854 )
* Prevent select option text from wrapping.
svn path=/trunk/netsurf/; revision=3866
2008-02-25 16:37:48 +00:00
John Mark Bell
1fc91faff1
Also flag box as invisible so it'll have no effect on layout
...
svn path=/trunk/netsurf/; revision=3864
2008-02-25 08:56:11 +00:00