Vincent Sanders
7e2a93bb72
ensure correct cleanup of user list sentinal in content clone
2013-05-04 16:50:59 +01:00
Vincent Sanders
560faaa7be
free memory on error condition
2013-05-04 08:45:04 +01:00
Vincent Sanders
f889f0ccbf
fix leak in error path
2013-05-03 14:31:23 +01:00
Michael Drake
c2a718075a
A load of refactoring of how content selection and input work.
...
Keypresses now go via content interface.
Contents don't shove the selection object into browser windows any more.
Contents report selection existence by sending message.
HTML content keeps track of where selections in it exist.
Contents report whether they have input focus via caret setting msg.
Caret can be hidden (can still input/paste) or removed.
Consolidate textarea selection handling.
Make textarea report its selection status changes to client.
Various textarea fixes.
Changed how we decide when to clear selections, and give focus.
2013-02-22 12:19:35 +00:00
Vincent Sanders
2fef76db15
add errorcode content broadcast API
2012-11-26 17:32:47 +00:00
Vincent Sanders
c1671f37b1
reduce talloc usage to box tree layout only
2012-10-03 19:26:17 +01:00
Michael Drake
daf10f00a6
API for content debug dump.
2012-08-20 16:03:45 +01:00
Michael Drake
edef40bbc4
Don't pass struct box to content open.
2012-08-20 14:22:28 +01:00
Michael Drake
fb6186484e
Now contents types without mouse handling can set default pointer. Fixes standalone images showing e.g. link pointer if that was the last pointer before the standalone image loaded.
2012-08-17 10:02:41 +01:00
Michael Drake
e5374cc042
Let contents broadcast explicit status messages as well as announce that their internal status has been updated.
2012-08-15 19:00:50 +01:00
Michael Drake
fcb7143ecb
Simplify content status text setting.
2012-08-15 11:50:08 +01:00
Vincent Sanders
137bba2978
fix missing check of lwc_string_caseless_isequal() return value
2012-08-09 16:33:06 +01:00
Vincent Sanders
9b85ae106b
limit url debug output to 140 characters
2012-07-03 14:32:13 +01: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
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
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
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
Michael Drake
57547f7b1e
Make llcache_handle_get_url return a nsurl.
...
svn path=/trunk/netsurf/; revision=12905
2011-09-28 14:21:35 +00:00
John Mark Bell
033823e64e
Correctly create a sentinel and initialise user_list with it when cloning a content
...
svn path=/trunk/netsurf/; revision=12804
2011-09-18 00:49:34 +00:00
Michael Drake
19daa23f94
Only lock content around its reformat call. This means it is not now locked when reformat message is broadcast. Prevents the browser window callback asking the core to redraw a content before it gets unlocked.
...
svn path=/trunk/netsurf/; revision=12802
2011-09-17 14:35:54 +00:00
Michael Drake
4075648e7a
Content interface to get at contextual content at point.
...
svn path=/trunk/netsurf/; revision=12753
2011-09-06 18:07:30 +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
Vincent Sanders
2348b13492
refactor bitmap out of generic content structure
...
svn path=/trunk/netsurf/; revision=12686
2011-08-31 12:12:41 +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
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
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
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
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
6f215b1f02
Enable content redraw request without hlcache_handle.
...
svn path=/trunk/netsurf/; revision=12518
2011-06-27 21:37:37 +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
John Mark Bell
1b8ff87c23
Squash static analyser warning
...
svn path=/trunk/netsurf/; revision=12419
2011-05-16 21:49:21 +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
Michael Drake
cf25f54364
Clear extraneous text when done..
...
svn path=/trunk/netsurf/; revision=12324
2011-05-09 07:59:27 +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
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
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
John Mark Bell
8373123b71
Purge CONTENT_STATUS_TYPE_UNKNOWN
...
svn path=/trunk/netsurf/; revision=11861
2011-02-28 20:38:23 +00:00
John Mark Bell
8d13c93c89
Remove bogus assertions: content handlers which spawn fetches may not transition out of the LOADING state until after the fetches have completed.
...
svn path=/trunk/netsurf/; revision=11860
2011-02-28 20:16:48 +00:00
John Mark Bell
abbf958b4c
Unlock the content when transitioning into the READY state.
...
svn path=/trunk/netsurf/; revision=11859
2011-02-28 19:58:08 +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
f42ed976e5
Constify
...
svn path=/trunk/netsurf/; revision=11680
2011-02-14 19:17:08 +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
81f6f2552c
Better documentation of content_redraw
...
svn path=/trunk/netsurf/; revision=11645
2011-02-11 10:55:46 +00:00
Vincent Sanders
2a8e8a5cf1
add browser_window_redraw() method to make content_redraw calls from frontends common RISC OS, atari, amiga and beos have not been updated
...
svn path=/trunk/netsurf/; revision=11640
2011-02-10 22:35:41 +00:00
Chris Young
46617cbe64
Fix compilation
...
svn path=/trunk/netsurf/; revision=10929
2010-10-31 13:27:31 +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
c0b63c111b
WebP image support, needs libwebp (from trunk/libwebp) and libvpx.
...
Only enabled for Amiga build currently, may have colour issues on little-endian CPUs
svn path=/trunk/netsurf/; revision=10860
2010-10-03 20:41:31 +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
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
John Mark Bell
3958f3730b
Fix failed assertion in content_convert when process_data fails.
...
svn path=/trunk/netsurf/; revision=10425
2010-04-18 11:04:13 +00:00
John Mark Bell
be3b246eab
Add accessor for quirks
...
svn path=/trunk/netsurf/; revision=10415
2010-04-16 20:54:57 +00:00
John Mark Bell
34465a06ab
Remove fresh field from struct content
...
svn path=/trunk/netsurf/; revision=10413
2010-04-16 20:44:44 +00:00
John Mark Bell
e58a7d88f4
Make content_invalidate_reuse_data cause llcache to invalidate cache control data
...
svn path=/trunk/netsurf/; revision=10412
2010-04-16 20:43:36 +00:00
Vincent Sanders
d1cd04a0b9
remove incorrect low level cache release
...
svn path=/trunk/netsurf/; revision=10391
2010-04-13 16:53:52 +00:00
John Mark Bell
486731e589
Release low-level cache handle when destroying contents
...
svn path=/trunk/netsurf/; revision=10372
2010-04-11 20:58:50 +00:00
John Mark Bell
0650096403
CSS contents may be shared
...
svn path=/trunk/netsurf/; revision=10362
2010-04-11 16:38:16 +00:00
John Mark Bell
ff8791a3f7
Ensure content can be shared when retrieving from cache
...
svn path=/trunk/netsurf/; revision=10361
2010-04-11 16:37:39 +00:00
John Mark Bell
7577e2a1e6
Ensure quirks mode matches when retrieving contents from cache
...
svn path=/trunk/netsurf/; revision=10360
2010-04-11 16:34:23 +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
4a4cc0d1bc
Introduce content_set_ready.
...
Make content_convert emit events only if content is in appropriate state.
Remove no-longer-relevant assertion from content_convert.
svn path=/trunk/netsurf/; revision=10330
2010-04-09 18:52:44 +00:00
John Mark Bell
bba7fbbd9b
Abort and release llcache handle on failure to process data.
...
Make hlcache retrieval ignore erroneous contents.
svn path=/trunk/netsurf/; revision=10296
2010-04-08 07:09:09 +00:00
Michael Drake
2fba2249ee
Add function to test whether hlcache_handle's content is locked.
...
svn path=/trunk/netsurf/; revision=10287
2010-04-07 18:50:18 +00:00
Michael Drake
236b6a15e1
Add mime-type getter.
...
svn path=/trunk/netsurf/; revision=10259
2010-04-07 09:12:09 +00:00
John Mark Bell
2748fe4f64
Make downloads work again.
...
svn path=/trunk/netsurf/; revision=10243
2010-04-05 21:35:38 +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
49810d8191
Use mutator to modify content's title field.
...
svn path=/trunk/netsurf/; revision=10231
2010-04-03 11:55:28 +00:00
Chris Young
07537e5240
Fix compilation when building WITH_NS_SVG
...
svn path=/trunk/netsurf/; revision=10213
2010-03-30 18:12:21 +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
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
355799ce0b
Merge branches/MarkieB/gtkmain to trunk.
...
svn path=/trunk/netsurf/; revision=9729
2009-12-17 23:55:02 +00:00
John Mark Bell
3f4d79e576
This optimisation was so simple that it was broken.
...
svn path=/trunk/netsurf/; revision=9696
2009-11-22 14:24:53 +00:00
John Mark Bell
1c403cb2f8
svgtiny requires separate contents
...
svn path=/trunk/netsurf/; revision=9615
2009-10-08 12:03:44 +00:00
John Mark Bell
e580e2bea9
Hack around cache issue. The entire cache layer needs a redesign asap.
...
svn path=/trunk/netsurf/; revision=9460
2009-08-26 11:22:48 +00:00
John Tytgat
2261b616f6
- content/urldb.c(auth_data): Removed;
...
(prot_space_data): Added, it lives linked in the leaf host_part
struct and together with its scheme and port (which defins canonical root
url) and realm this defines a protection space.
(path_data): Removed auth_data field and replaced by a prot_space_data
pointer.
(host_part::prot_space): Added linked list of protection space data
structs.
(urldb_get_auth_details): Given an URL fetch fetches its auth.
(urldb_set_auth_details): Creates or updates the contents of a
protection space to which given URL belongs.
(urldb_destroy_host_tree): Delete protection data space structures
using urldb_destroy_prot_space.
(urldb_destroy_prot_space): Added.
- content/urldb.h(urldb_get_auth_details): Added realm parameter.
- content/fetchers/fetch_curl.c(fetch_curl_set_options): Update
urldb_get_auth_details call (we don't know realm at this point).
- content/fetchcache.c(fetchcache_callback, fetchcache_auth): At FETCH_AUTH,
use realm to determine if we really don't know auth data and if so,
refetch content.
- content/content.h(struct content): Add content::tried_with_auth.
- content/content.c(content_create): Initialize content::tried_with_auth.
- riscos/401login.c(ro_gui_401login_open): Show known authentication
data in dialogue so user can see what was wrong with it and correct it.
Solves bug #2830829 .
svn path=/trunk/netsurf/; revision=9045
2009-08-04 23:02:23 +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
5feb7018c5
Replace parent_url with a pointer to the parent content.
...
svn path=/trunk/netsurf/; revision=8428
2009-07-10 00:26:37 +00:00
Michael Drake
c1439ae4e7
Comment content_redraw.
...
svn path=/trunk/netsurf/; revision=6355
2009-02-02 14:06:51 +00:00
François Revel
54a49823b5
Revert r5478, I didn't notice content struct had a mime_type field.
...
svn path=/trunk/netsurf/; revision=5480
2008-10-03 04:30:47 +00:00
François Revel
209c72b011
Add a function to tell the mime type for a content type.
...
svn path=/trunk/netsurf/; revision=5478
2008-10-03 03:40:42 +00:00
John Tytgat
2d1481fafc
'unsigned long' -> 'colour' where it made sense.
...
svn path=/trunk/netsurf/; revision=5459
2008-09-28 22:37:13 +00:00
Michael Drake
bbd40534c6
Treat image/jpg as JPEG content for Royal Mail captcha.
...
svn path=/trunk/netsurf/; revision=5343
2008-09-16 08:13:35 +00:00
Daniel Silverstone
d3270ed648
Add libpng support. Default to off.
...
svn path=/trunk/netsurf/; revision=5330
2008-09-15 20:23:02 +00:00
John Tytgat
611b558d0e
Constify content_type_name & content_status_name
...
svn path=/trunk/netsurf/; revision=4815
2008-07-30 00:54:43 +00:00
Rob Kendrick
e7c5e16b9b
Performance improvements: rather than calling content_clean() every poll, we now call it no more frequently than once every 5 seconds. Additionally, we cache the result of talloc_total_size() in content_clean() rather than calculating it twice. On large documents, this function took 25% of CPU time. This makes the fetching/rendering/scrolling/redrawing of large documents over twice as fast.
...
svn path=/trunk/netsurf/; revision=4527
2008-07-07 14:05:29 +00:00
James Bursa
8282253a54
Move struct cache_data from fetch to content as it is no longer needed by fetch. Make it a member instead of pointer in struct content.
...
svn path=/trunk/netsurf/; revision=4246
2008-06-03 01:10:46 +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
89793c2171
Make content_reset actually do what it's meant to (i.e. reset the appropriate members)
...
Fix up CONTENT_MSG_REFRESH scheduled events to gracefully the refresh URL disappearing from under them.
svn path=/trunk/netsurf/; revision=3870
2008-02-27 18:38:41 +00:00
John Mark Bell
ad6fcea6b0
Add url_fragment to extract fragment from URL
...
Optionally allow url_compare to ignore fragments in comparison
Fix handling of url_compare result in a few places
Fix redirects which contain fragments in the Location header
svn path=/trunk/netsurf/; revision=3826
2008-02-03 12:04:48 +00:00
John Mark Bell
78d194cb77
Rework handling of HTTP redirects -- we now count the number of redirects followed for a given item and abort if a fixed limit is reached. This fixes sites which have pages that redirect to themselves.
...
Redirect handling is now transparent to clients of fetchcache.
The new scheme works as follows:
1) Request content for URL (fetchcache()
2) Start fetch of content (fetchcache_go()
3) If no redirect, continue through LOADING, READY, DONE etc. states as before
If redirect, receive NEWPTR for each redirect that occurs, then continue
through LOADING, READY, DONE etc. states as before.
The upshot of this is that redirects result in extra contents being created. It also means that, until LOADING has been received, the content (and thus the URL being fetched) may change. Therefore, fetchcache clients should expect to have to deal with transient data prior to LOADING occurring.
As a necessary side-effect of this, the HTML object URLs and CSS @import URLs are no longer stored alongside the relevant contents. These URLs can be accessed by interrogating the url member of struct content anyway, so it was a rather redundant scheme before.
svn path=/trunk/netsurf/; revision=3787
2008-01-28 01:35:00 +00:00
Vincent Sanders
2f864eeecc
Update all source code file headers to reflect GPL version 2 only and contain appropriate licence text
...
svn path=/trunk/netsurf/; revision=3486
2007-08-08 16:16:03 +00:00
James Bursa
07c54283e3
Move window scaling from platform-specific code to desktop/browser.c. Modify gtk gui to handle scaling in the same way as RO.
...
svn path=/trunk/netsurf/; revision=3478
2007-08-07 03:55:18 +00:00
John Mark Bell
81f3fcbafd
Fix crash when building error page -- fetch will be NULL, so fetch_get_referer will fail.
...
svn path=/trunk/netsurf/; revision=3476
2007-08-06 22:17:04 +00:00
Michael Drake
d2c3d22f52
Change ArtWorks file MIME type to "image/x-artworks".
...
svn path=/trunk/netsurf/; revision=3449
2007-07-21 00:20:04 +00:00