Vincent Sanders
10ef7b3f1d
update content wallclock timing to use monotonic time interface
2016-04-20 22:58:48 +01:00
Vincent Sanders
a6dd92c571
use monotonic clock call for html reflow timing
2016-04-20 19:18:15 +01:00
Vincent Sanders
dee7426656
stop content header dragging in so many other headers
2016-04-19 23:20:29 +01:00
Vincent Sanders
798654f910
remove curl fetchers use of the wallclock API
...
The wallclock() API uses gettimeofday which can be affected by the the
systems clock being changed etc. The curl fetcher usage of this API is
to generate a timing delta and does not cope with the gettimeofday
issues.
This changes the fetcher to use the nsutils library monotonic time
function which does not suffer from the issues with gettimeofday.
2016-04-19 14:18:09 +01:00
Vincent Sanders
afea659fef
move dir_sort_alpha function from generic utils to one specific place it is used
2016-04-19 12:01:05 +01:00
Vincent Sanders
1bc010665e
Reduce unecessary use of directory entry headers
...
The config header was causing many source files to unecessarily
include the dirent headers causing extra dependancies. This has been
fixed by providing a utility dirent header that provides a common API
across all platforms while removing the unecessary dirent header usage.
2016-04-19 11:21:06 +01:00
Vincent Sanders
392307bb1f
reduce content header interdependancy
2016-04-18 23:04:16 +01:00
Vincent Sanders
34f6aa1323
clean up header usage in content hnadling core
2016-04-18 20:58:49 +01:00
Vincent Sanders
ade0cd8bb9
Reduce unecessary use of networking headers
...
The utility configuration header dragged in a number of bsd sockets
and related API as a side effect of setting up the configuration. By
splitting the header and API setup into a separate header only the
small number of places that need the functionality explitly include
it.
2016-04-17 13:42:28 +01:00
Vincent Sanders
810e9153d1
urldb no longer uses curl directly but it does need correct network includes
...
The update to remove curl usage from urldb must pull in the utility
config header instead to get inet_aton and such or compoles on some
platforms fail.
2016-04-17 09:39:44 +01:00
Vincent Sanders
0bc5d2ca4c
create date and time to seconds since epoch processing utility function
...
currently NetSurf uses curl_getdate to convert textural date and time
strings into seconds since epoch. It is betetr to move this
functionality to a utility function so curl_getdate can easily be
replaced if required.
2016-04-16 23:50:22 +01:00
Vincent Sanders
33c7df0c40
complete the rename of the gui browser table
...
When the operations tables were created the browser table was renamed
to miscellaneous except the actual rename patch was never applied,
this fixes that situation.
2016-04-16 23:50:21 +01:00
Vincent Sanders
d15ab96a51
Fix size_t printf formatting
...
The printf formatting for size_t is set in c99 as %zu but in windows
it is %Iu this is solved by adding and inttypes style PRI macro for size_t
This also uses this macro everywhere size_t is formatted.
2016-03-17 22:00:54 +00:00
Vincent Sanders
72308c1f0d
revert urldb include fixes as tehy cause build issues elsewhere and failed to fix the warning
2016-02-12 15:55:13 +00:00
Vincent Sanders
fb95797862
fix more freebsd warnings
2016-02-12 15:45:49 +00:00
Vincent Sanders
5d3c38a704
remove reliance on GLib from monkey frontend
...
This changes the monkey implemntation to use a simple scheduler list
and select instead of glib events.
2016-02-12 13:37:50 +00:00
Chris Young
a0e41a46a3
Stop GIF animations when they are no longer in use, instead of waiting until they are destroyed.
2016-02-11 19:23:32 +00:00
Michael Drake
255361a885
Log the cache limit along side size, after clean.
2016-02-08 11:48:33 +00:00
Michael Drake
fc2d766bff
Style: Wrap some long lines.
2016-02-08 11:38:41 +00:00
Michael Drake
63fb2cbdc1
Add URL to llcache object destruction logging.
2016-02-08 11:27:04 +00:00
Michael Drake
0a3519fdac
Remove torrent of logging during browser window resize.
2016-02-06 12:41:51 +00:00
Michael Drake
4055ecf796
Tiny simplification of curl debug logging.
2016-01-21 09:27:27 +00:00
Michael Drake
58d9c98017
URLdb doesn't store 'mailto' urls, so add early exit to lookup.
2016-01-08 17:17:41 +00:00
Michael Drake
8e0e72368e
Fix crazy indentation.
2016-01-08 17:17:11 +00:00
Vincent Sanders
b1e0a711c7
Stop reporting error from mime sniffing when a fetcher completes with no data
...
If a fetcher returns with no data (no content or http error code 204)
the hlcache state machine was trying to mimesniff using non existent
header data and reporting the resulting NSERROR_NOT_FOUND as a
"BadType" message.
This changes the behaviour to be similar to that in the headers
received case where NSERROR_NOT_FOUND from the mimesniffing is not an
error.
2016-01-06 23:53:02 +00:00
Michael Drake
e5ddbd3934
Remove unused variable.
2015-12-20 12:12:36 +00:00
Michael Drake
401cc36924
Add extra logging to curl poll fn when not suppressing curl debug.
2015-11-11 10:39:12 +00:00
Daniel Silverstone
4d1ef3bac4
Add support for retrying timed-out cURL fetches.
...
This is an attempt to amelioriate the situation found in #2384 where
we see the cURL connect() failing to complete. Based on the pcap
from the bug log, we believe that RISC OS is likely failing to signal
the completion of the connection to cURL. As such, cURL times out.
This change permits retries of timed out connections in the hope that
a fresh socket FD might subsequently function correctly. The defaults
chosen mean that the previous behaviour of 30 seconds before timeout
is reported will remain the same, but in that time we will make 3 separate
attempts to connect the socket.
2015-11-10 21:51:54 +00:00
Vincent Sanders
73e45ff024
Fix error reporting from fetch_start
...
Any fetch start error was being reported as "out of memory" which was
clearly insufficient. Foe example bad urls (reported was file:// with
a missing /) were causing a warn_user with out of memory. This change
now at least causes a "bad url" message.
2015-06-24 10:31:13 +01:00
Vincent Sanders
e9b89f776d
Allow the resource scheme to provide data directly.
...
This allows front ends to provide resources from compiled in data
instead of requiring the resources to be available on disc and forcing
a redirect.
2015-06-17 21:35:40 +01:00
Vincent Sanders
0d811963c1
fixup all the remaining logging macro callsites
...
The semantic patch tool appears to have missed some difficult to
reason about callsites which have now been manually cleaned up
2015-05-28 17:06:18 +01:00
Vincent Sanders
c105738fa3
Change LOG() macro to be varadic
...
This changes the LOG macro to be varadic removing the need for all
callsites to have double bracketing and allows for future improvement
on how we use the logging macros.
The callsites were changed with coccinelle and the changes checked by
hand. Compile tested for several frontends but not all.
A formatting annotation has also been added which allows the compiler
to check the parameters and types passed to the logging.
2015-05-28 16:08:46 +01:00
Michael Drake
8f1c9673d7
Fix format string type missmatches on 32-bit systems.
...
Use C99 inttypes header for format string macros.
2015-05-12 10:19:38 +01:00
Michael Drake
82237d7070
Avoid generating confusing warning.
...
Now the disc cache will be disabled silently if its too slow.
2015-05-12 10:01:06 +01:00
Vincent Sanders
37aad9c749
Improve the logge dinformation about written cache data
2015-05-08 15:42:49 +01:00
Vincent Sanders
35751f3faa
Move the setting of block file extents to background maintinance.
...
On some OS the ftruncate operation can take some time so move it to
occour in the background maintinance operations instead of when data
blocks are initialy opened. This should improve browsing responsiveness.
2015-05-04 09:54:03 +01:00
Vincent Sanders
2aef095f27
Ensure bandwidth minimum check is only performed when enough data has
...
been written.
2015-04-30 14:28:18 +01:00
Vincent Sanders
05538c0264
Ensure small block cache files allocate their entire extent at open.
...
It seems many filesystems are greatly more efficient if the block file
is allocated its entire extent once rather than trying to
continuously grown the file later.
The size of the block files is known at their creation time so this
change ensures they are grown to the full possible extent hence removing
future inefficient writes.
2015-04-30 13:49:25 +01:00
Vincent Sanders
ea2e1c4d98
Add scaled content redraw interface.
...
Add a new interface to the content to allow automaticaly scaled
content redraws. This is intended to replace the thumbnail_redraw
interface with something more generic.
2015-04-23 15:47:28 +01:00
Vincent Sanders
f37e52c394
Move bitmap operations into an operation table.
...
The generic bitmap handlers provided by each frontend are called back
from the core and therefore should be in an operation table. This was
one of the very few remaining interfaces stopping the core code from
being split into a library.
2015-04-13 23:19:04 +01:00
Vincent Sanders
ea9a2ff01d
Fix up some doxygen errors
2015-04-03 00:28:22 +01:00
Vincent Sanders
77ffda1e46
Use nsutils unistd operations for pread and pwrite to get consistant interface
2015-04-02 17:28:55 +01:00
Vincent Sanders
47d08b6506
Revert "Fix RISC OS not having a pread/pwrite implementation."
...
This reverts commit 82c7a7a4ba
.
Conflicts:
content/fs_backing_store.c
2015-04-02 16:37:04 +01:00
Vincent Sanders
576b1c55bf
extend backing store logging to show errno values ofter operations
2015-04-01 09:26:39 +01:00
Vincent Sanders
82c7a7a4ba
Fix RISC OS not having a pread/pwrite implementation.
2015-03-31 22:41:37 +01:00
Vincent Sanders
87a38ca5c1
ensure entry invalidation copes with entries in blocks
2015-03-31 22:02:07 +01:00
Vincent Sanders
9511e9c4e9
Improve file naming inside cache
2015-03-31 20:57:00 +01:00
Vincent Sanders
f1d4094566
allocate small block using block use bitmaps to find free entries.
2015-03-31 20:56:55 +01:00
Vincent Sanders
706a77170d
implement block read and write operations.
2015-03-31 20:56:55 +01:00
Vincent Sanders
c965fa8739
Block file usage bitmaps (de)serialising
2015-03-31 20:56:55 +01:00
Vincent Sanders
a8e501a663
define block store parameters
2015-03-31 20:56:55 +01:00
Vincent Sanders
980e28d916
Change backing store fetch operation to always perform the allocations
...
The fetch API previously allowed for the caller to supply the storage,
this was never used and was preventing the refactoring necessary for
small black storage to be available.
2015-03-31 20:56:55 +01:00
Vincent Sanders
1d03f34d62
Compute the element index once and use that as a parameter.
...
Change to computing the element index from the flags passed to store
and fetch methods instead of passing the flags around and calculating
everywhere.
Additionally split out writing element of entry to file into distinct
function to make code clearer.
2015-03-31 20:56:55 +01:00
Vincent Sanders
c2eda75710
Change element layout and cope with index collisions.
2015-03-31 20:56:55 +01:00
Vincent Sanders
8a99b045bc
Remove url from content thumbnailers API
...
The content thumbnailers for each frontend were being provided the
contents url. This was only ever used to call the urldb thumbnail
setting API.
This changes it so the single callsite that passed a valid url adds
the bitmap to that url itself in desktop_history.c instead of forcing
every frontend to require the urldb API.
Additionally the old API could pass the url as NULL which was causing
asserts where this was not an expected parameter value. Because of
this this fixes bug #2286 which was also present in the monkey
frontend as both called nsurl_access() on the url without the NULL
check and caused an assertion.
2015-03-15 00:00:45 +00:00
Vincent Sanders
a487f7e611
Move win32 window operations into their own module
...
This splits up a great deal of the win32 window code out from other
gui code. It also remove large quantities of unused and junk
variables and functions.
2015-03-12 23:48:53 +00:00
Michael Drake
ac636100e8
Remove include of nsurl from corestrings.h
2015-02-26 16:58:41 +00:00
Michael Drake
cbd9d710a3
Use forward declaration instead of #include for nsurl.
2015-02-26 16:14:23 +00:00
Michael Drake
ee75f5b3ad
Fix to support non-POSIX behaviour when renaming cache entries on disc.
2015-02-03 10:22:28 +00:00
Vincent Sanders
9927232a2d
Improve metadata deserialisation to only update object on success
...
The low level cache deserialisation was leaving bad data in an low
level cache object in the error case. This fixes it so the object
state only gets modified on successful deserialisation of all the
metadata.
2015-01-28 22:39:39 +00:00
Vincent Sanders
5464dc7778
Ensure no division by zero occours if no time has ever been spent writing llcache
2015-01-03 15:13:40 +00:00
Vincent Sanders
6b645664fe
add missing includes
2014-12-27 22:48:37 +00:00
Vincent Sanders
45f98ffd6e
improve comments in low level cache and remove completed todo
2014-12-04 21:09:42 +00:00
Vincent Sanders
5bf4b3ff2b
move the low bandwidth check to allow for an average over a much longer time
2014-12-03 20:13:10 +00:00
Vincent Sanders
57cd5c77b2
Use translated messgae for low bandwidth error
2014-12-02 10:03:27 +00:00
Vincent Sanders
c9ee49baa8
cope with backing store writeout making no progress
2014-12-01 11:32:33 +00:00
Vincent Sanders
ba5ade87b2
ensure the backing store write reports at least a minimal amount of time
2014-12-01 09:18:31 +00:00
Vincent Sanders
1c735140b6
fix resource leak on error (Coverity 1256245)
2014-11-30 11:21:34 +00:00
Vincent Sanders
61ab2777da
Improve writeout rescheduling if list of objects is completed quickly
2014-11-30 00:27:05 +00:00
Vincent Sanders
d08acbc5ae
correctly calculate writeout bandwidth and properly impose limits
2014-11-29 23:57:15 +00:00
Vincent Sanders
6b2676d33f
Improve llcache writeout stratagy
2014-11-28 19:17:42 +00:00
Vincent Sanders
8d51dd4879
update the backing store to allow for invalidating entries which have an allocation
2014-11-27 13:31:43 +00:00
Vincent Sanders
79d5b1bf3b
stop using gettimeofday and use the monotonic time interface fron nsutils
2014-11-26 21:29:13 +00:00
Vincent Sanders
81417ae4a5
caclulate the total amount of time spent writing an object out
...
In order to calculate the writeout bandwidth we need to know how long
it took to write the data to peristant storage in addition to how much
was written.
2014-11-25 23:11:41 +00:00
Vincent Sanders
5a78cd810f
correctly release source data from llcache
2014-11-23 18:21:56 +00:00
Vincent Sanders
01b2bc5a57
Improve doxygen comments and add todo for cache and backing store
2014-11-23 15:43:03 +00:00
Vincent Sanders
246a1fec05
remove constness from backing stores store method
2014-11-23 01:37:24 +00:00
Vincent Sanders
63c35da66e
annotate element struct with packing attributes to reduce entry size
2014-11-23 01:25:14 +00:00
Vincent Sanders
08c7ef6bed
Do not use anonymous union as it is not portable
...
unnamed unions are not portable to old compilers. When reloading data
ensure the heap allocation status is discarded.
2014-11-23 00:35:11 +00:00
Vincent Sanders
8b810ee4a1
change the persistant data store to owning the allocations
2014-11-22 23:56:43 +00:00
Vincent Sanders
eb87406758
update entry points to backing store ready for allowing differing object lifetimes
2014-11-20 22:28:19 +00:00
Vincent Sanders
69f4397fe4
Limit creation of store path directories.
...
Only create all elements of a path in the store when it is being
opened for creation instead of causing reads to create directories.
2014-11-19 16:26:29 +00:00
Vincent Sanders
92a1ac4fbb
Improve backing store control data serialisation
...
By scheduling the control data to be maintained (entries index written
and headers updated) once activity occurs to update these control
structures rather than a single serialisation at browser exit the data
is more likely to be up to date and not lost on a crash.
2014-11-19 16:22:06 +00:00
Vincent Sanders
a79b30bd6f
make backing store use rename to atomicly replace entries file
2014-11-19 11:26:27 +00:00
Vincent Sanders
669df172ec
Fix my spelling of teh everywhere
2014-11-18 17:16:26 +00:00
Vincent Sanders
d4c7a0ff77
Improve data scheme fetcher allocation
...
The data scheme fetcher was over allocating the space for decoded
base64 encoded urls and not using the base64 API that allocated the
correct size storage.
2014-11-17 16:05:17 +00:00
Vincent Sanders
71d016aba5
Remove unecessary form debug
...
Additionaly we make the curl fetcher report errors instead of
uninitialised buffer.
2014-11-15 18:23:44 +00:00
Vincent Sanders
d1f2d29e10
Doxygen cleanups and documentation additions
2014-11-10 17:00:15 +00:00
Vincent Sanders
e32a2ad46e
Doxygen fixes
2014-11-09 15:28:03 +00:00
Vincent Sanders
56bb1b03c5
Doxygen cleanups
2014-11-09 12:50:30 +00:00
Vincent Sanders
5562c9a553
Continue doxygen error cleanup.
2014-11-08 22:08:29 +00:00
Vincent Sanders
05a64bfde9
fix up more doxygen errors
2014-11-08 16:49:32 +00:00
Vincent Sanders
8f64d5d223
Improve Doxygen documentation
2014-11-08 12:35:11 +00:00
Vincent Sanders
3405803280
Improve content encoding information API
...
Extend the content_get_encoding() API to retrieve the source of
the encoding as well as the actual encoding.
2014-11-07 12:33:34 +00:00
Vincent Sanders
8c2cfecfb5
Allow content handlers to have debug values set through API
...
Previously content handler debugging features were accessed by global
variables. This allows the setting of debugging parameters via a
content API giving per content control over debugging features.
Currently only used by the html content handler to toggle global
redraw debugging.
2014-11-06 22:51:46 +00:00
Vincent Sanders
8ec7ad053a
Make the fetching of a contents encoding generic.
...
The frontends previously had to use an html renderer API to get the
encoding of a content. This also required the explicit checking of the
contents type rather than using the existing content API to abstract
this knowledge.
2014-11-05 23:44:31 +00:00
Vincent Sanders
bdfedb686b
replace save_link operation table entry usage of textural url with nsurl
2014-11-03 23:05:59 +00:00
Vincent Sanders
c31c4babe1
Change contextual content retrieval to browser features.
...
Update the API which allows frontends to acquire the page features
(images, link urls or form elements) present at the given coordinates
within a browser window.
By making this an explicit browser_window API and using the browser.h
header for the associated data structure with a more appropriate API
naming the usage is much more obvious and contained.
Additionally the link url is now passed around as a nsurl stopping it
being converted from nsurl to text and back again several times.
2014-11-02 15:46:42 +00:00
Vincent Sanders
cf7abb4a0a
restructure urldb source
...
remove forward declarations and restructure. exported functions are
also now documented in the urldb.h header.
2014-11-01 23:27:29 +00:00
Michael Drake
98b6d02df6
Move host_is_ip_address into urldb, as that's the only thing that cares.
2014-10-31 14:31:06 +00:00
Vincent Sanders
14e2829489
remove the die API from the core.
...
The die() API for abnormal termination does not belong within the core
of netsurf and instead errors are propogated back to the callers.
This is the final part of this change and the API is now only used within
some parts of the frontends
2014-10-26 12:42:53 +00:00
Vincent Sanders
53f0f432dd
update fetcher registration API to return an error code.
...
By using an error code return we can gracefully handle fetcher
registration faliures instead of just immediately aborting.
The curl handler was also cleaned up and documentation improved
as a side effect.
2014-10-25 17:15:23 +01:00
Michael Drake
b27f3e5ac4
Open select menu via content msg, instead of breaking encapsulation.
...
Fixes bw deref and browser_private.h #include in render/
2014-10-24 17:57:15 +01:00
Michael Drake
6b846c363d
Add trivial maps facilitator at about:maps
...
This is a simple HTML front end for the Google Static Maps API, since
we don't yet have enough JS support for the full Google Maps.
See:
https://developers.google.com/maps/documentation/staticmaps/
2014-10-22 20:42:21 +01:00
Vincent Sanders
d06df231bc
Update the core to use the split operations table headers
...
Second in the series to decouple the core API usage from the frontends.
2014-10-16 22:33:43 +01:00
John-Mark Bell
b2242c57e1
HTTPS: disable all SSL versions; emit fallback SCSV on downgrade.
...
This removes all support for SSL and (with help from servers that
support the fallback SCSV) protects against inappropriate protocol
downgrade.
2014-10-15 12:02:25 +01:00
Vincent Sanders
02bbaa3e88
split version info into its own header and remove unnecessary nesurf.h includes
...
The netsurf.h header should *only* contain the registration, core
initialisation and finalisation methods. Version information is best
placed in its own header.
Also remove any unneeded inclusion of this header limiting it to
solely the places the relevant API is required.
2014-10-13 15:08:16 +01:00
Vincent Sanders
1a2040bc72
Trivial sepelling, documentation and whitespace cleanups
2014-10-10 13:01:20 +01:00
Vincent Sanders
b99ba0998b
fixup haiku rsrc fetcher initialisation
2014-09-05 00:40:52 +01:00
Vincent Sanders
c695d3d007
memcpy and terminate from openssl buffers
...
The memcpy is used instead of snprintf as the source data may not be null terminated and was
causing OpenBSD to segfault.
2014-09-03 14:27:25 +01:00
Vincent Sanders
5492e96793
terminate buffers from X509_NAME_print_ex()
2014-09-02 23:30:37 +01:00
Vincent Sanders
37755fb135
add incomplete scheme fetcher for javascript urls
2014-08-25 15:59:52 -07:00
Vincent Sanders
af16c38d2d
fix DOM tree dump debug
2014-08-04 00:37:21 +01:00
Vincent Sanders
db01637343
remove content include from urldb header
2014-07-17 00:18:44 +01:00
Vincent Sanders
0694f345da
fix leak on error path (coverity 1224429)
2014-07-08 15:57:48 +01:00
Vincent Sanders
219f505a65
version 1.1 of the backing store disc layout using base32 encoded
...
filenames to allow for case insensitive filenames.
2014-07-04 17:09:28 +01:00
Vincent Sanders
a71865b328
turn off verbose fetch debugging
2014-07-02 17:07:29 +01:00
Vincent Sanders
29e29cccd7
fix dumb error in previous commit and get scheme name element correct
2014-07-02 15:01:24 +01:00
Vincent Sanders
516dcb96e1
fix unhelpful assert at quit
2014-07-02 14:51:11 +01:00
Vincent Sanders
06eb81235d
fix fetchers include on windows
2014-07-01 09:17:22 +01:00
Vincent Sanders
8944edd649
convert all frontends to scheduled fetch operation
2014-06-26 19:05:59 +01:00
Vincent Sanders
1b7aa7ffe5
make fetchers scheduled
2014-06-26 19:05:59 +01:00
Vincent Sanders
4b2101ba6a
clean up the fetcher factory and improve its API
2014-06-19 18:27:24 +01:00
Vincent Sanders
f1c2dde13b
extend file table with mkdir all and make fs backing store use it.
...
enable fs backing store for RISC OS.
2014-06-05 12:06:47 +01:00
Rob Kendrick (fatigue)
7b1332c5c5
Include the date in the testament
2014-06-04 12:10:42 +01:00
Michael Drake
bd804d3fe4
Avoid signed vs unsigned comparason warning.
2014-06-04 07:48:05 +01:00
Vincent Sanders
5899f6c16e
turn off debugging and add some comments and todo from dsilvers
2014-06-03 22:30:04 +01:00
Daniel Silverstone
b5461c8313
Adjust the llcache behaviour to use scheduler for user notification.
...
This change updates the llcache to use the scheduler to notify users of the
llcache of events. This should be just as safe as before and is part of an
effort to remove hlcache_poll and llcache_poll eventually because fetchers
should schedule themselves if need-be.
This is a big change despite the diminutive nature of the patch. Please report
issues promptly if they turn up after this and are not visible before it.
Signed-off-by: Daniel Silverstone <dsilvers@netsurf-browser.org>
Reviewed-by: Vincent Sanders <vince@netsurf-browser.org>
2014-06-03 17:00:23 +01:00
Vincent Sanders
e9d53022a4
write a cache tag file as an aid to backup software
2014-05-30 00:19:20 +01:00
Vincent Sanders
644fc616b3
attempt to purge low level cache on out of memory during fetch
2014-05-29 14:00:13 +01:00
Vincent Sanders
00b6cfc57e
rework path to url mapping functions to convert from and to nsurl
2014-05-26 23:52:36 +01:00
Vincent Sanders
a6d3ceae0e
Completely re-write web search provider handling
2014-05-25 01:01:59 +01:00
Michael Drake
fb5af8a1b6
Check return value from write() to avoid build warnings.
2014-05-24 15:19:01 +01:00
Michael Drake
7ba459f1b5
Fix leak of url schemes.
2014-05-16 18:58:06 +01:00
Michael Drake
e4ba144fe0
Remove unused #include
...
Persistent thumbnail code was ripped out of urldb ages ago.
2014-05-15 21:47:40 +01:00
Vincent Sanders
ef00272e2f
add helpers for time_t reading/writing
2014-05-15 01:18:52 +01:00
Vincent Sanders
1a3ee6090d
add strptime compatability
2014-05-13 16:37:49 +01:00
Vincent Sanders
05932293f6
Add filesystem based backing store
2014-05-13 15:53:02 +01:00
Vincent Sanders
4a49ff5266
Extend low level source data cache with persistant storage
2014-05-13 15:52:58 +01:00
Vincent Sanders
657abbd245
low level source data cache backing store interface.
2014-05-12 23:47:43 +01:00
Vincent Sanders
2326d3c503
remove unecessary utils/url.h includes
2014-05-09 10:15:42 +01:00
Vincent Sanders
c56642819e
add file operations table and make all frontends use it.
...
This rationalises the path construction and basename file
operations. The default implementation is POSIX which works for all
frontends except windows, riscos and amiga which have differeing path
separators and rules.
These implementations are significantly more robust than the previous
nine implementations and also do not use unsafe strncpy or buffers
with arbitrary length limits.
These implementations also carry full documentation comments.
2014-05-07 16:24:51 +01:00
Vincent Sanders
b7b3496a78
move testament output to object directory instead of modifying source
2014-04-08 11:41:58 +01:00
Vincent Sanders
4d4d74c8cd
move page search gui callbacks to their own operations table
2014-03-18 22:32:52 +00:00
Vincent Sanders
da0b969f25
Improve llcache header processing
...
By skipping empty headers and correctly dealing with whitespace around
header names we store fewer entries with better adherance to allowed
values in http responses.
2014-03-09 16:22:28 +00:00
Vincent Sanders
25ce52ee64
only try and cache http and https urls
2014-03-09 16:20:53 +00:00
Vincent Sanders
8d883978c6
remove unnecessary caching of whether a url has a query element
2014-03-09 16:20:53 +00:00
Vincent Sanders
20b3c40816
make nsurl_defragment() API more obvious and remove duplicated parameter checking
2014-03-09 16:20:53 +00:00
Vincent Sanders
87f6314dab
move scheduleing into browser operation table
2014-03-09 15:37:40 +00:00
Vincent Sanders
60973fe5d1
Make llcache debugging less invasive
2014-02-21 11:43:48 +00:00
Vincent Sanders
ff8c37a6ee
Witespace cleanup to prepare for backing store addition
2014-02-21 11:31:39 +00:00
John-Mark Bell
823aad5ddf
Use libcurl's cache if it's new enough. Fixes #2064 .
2014-02-06 01:19:22 +00:00
Vincent Sanders
fba58ad4b0
remove unecessary include
2014-02-04 15:19:46 +00:00
Vincent Sanders
7b380d0982
fix sign extension issue on 64bit platforms (coverity 1109898)
2014-02-04 13:24:25 +00:00
Vincent Sanders
db33103fa3
clean up desktop/gui.h include usage
2014-01-29 21:35:53 +00:00
Vincent Sanders
8ce0a10670
move path_to_url and url_to_path to fetch operation table
2014-01-25 23:01:32 +00:00
Michael Drake
2075ad7ff4
Use corestrings.
2014-01-24 20:19:20 +00:00
Michael Drake
14238615a4
Use corestrings for "about", "data", and "resource".
2014-01-24 20:08:41 +00:00
Michael Drake
e32dc31b04
Use corestring ref.
2014-01-24 19:58:51 +00:00
Michael Drake
178f3945b8
Just use corestring refs.
2014-01-24 19:31:50 +00:00
Michael Drake
c4e2fff5a4
Use corestrings for fetch module's lwc strings.
2014-01-24 19:25:07 +00:00
Vincent Sanders
0475693394
create table for fetcher operations and move all operations into it
2014-01-23 00:00:18 +00:00
John-Mark Bell
4a014b61be
Enable TLS 1.2 support again.
2014-01-19 22:57:16 +00:00
Vincent Sanders
4987a3a8a7
remove forward refs from content/fetch.c and cleanup doc comments
2014-01-19 21:18:47 +00:00
Vincent Sanders
977ae8efc6
remove all forward declarations from hlcache.c
2014-01-19 21:18:47 +00:00
Vincent Sanders
38cb39339a
move filename_from_path and path_add_part into gui operation tables
2014-01-16 00:01:25 +00:00
Vincent Sanders
bd065d4a43
split browser gui operations up
2014-01-15 19:37:05 +00:00
Vincent Sanders
0075eab194
move remaining gui operations to table
2014-01-14 23:31:54 +00:00
Vincent Sanders
303a29a89c
cleanups to fix new clang warnings
2014-01-10 15:55:29 +00:00
Daniel Silverstone
9a9cb399f9
Merge branch 'rjek/click-file-gadget'
2014-01-05 17:03:17 +00:00
Rob Kendrick
0d7f1cfc93
Add infrastructure for calling front ends to set file gadget filenames via clicking in addition to drag-and-drop
2014-01-05 16:04:35 +00:00
Daniel Silverstone
b4f9860848
Remove logging now that file upload *seems* to work
2014-01-04 22:05:23 +00:00
Daniel Silverstone
33f94c265e
Support cloning rawfile data
2014-01-04 21:49:03 +00:00
Daniel Silverstone
de42f8880e
Add a bunch of logging to try and help track down the issue with rawfile handling, sorry guys
2014-01-04 21:20:17 +00:00
Daniel Silverstone
581d877576
In theory, store raw filenames and pass them through for file upload. Untested due to no file-upload in GTK frontend just yet
2014-01-04 19:34:18 +00:00
Michael Drake
c56fb9259b
Enable access to hotlist icons through resource URLs.
2013-11-20 22:03:07 +00:00
Michael Drake
c80229e256
Get referer host from referer url.
2013-11-18 11:49:51 +00:00
Michael Drake
c933b0aff9
Sort non zero-padded numerical filename parts correctly.
2013-11-14 21:01:51 +00:00
Michael Drake
5e4e32923d
Can just use scandir now.
2013-11-14 19:02:35 +00:00
Michael Drake
7a920ace39
Marginally cleaner handling of scandir absence.
2013-11-11 11:38:48 +00:00
Michael Drake
74d430f44a
Dirty special casing of Windows, to handle mingw dirent.h's lack of scandir and alphasort.
2013-11-11 10:58:55 +00:00
Michael Drake
8a72d5be84
Sort directory contents.
2013-11-10 22:02:12 +00:00
Michael Drake
61b5a5e98f
Visual indication of hotlist's folder for unsorted entries, with special icon.
2013-11-08 18:53:34 +00:00
Michael Drake
0d03a342d9
Clean up cached fetch handles.
2013-10-24 18:12:18 +01:00
Michael Drake
2754918e25
Fix leak of path_query, when there is no host and scheme isn't file.
2013-10-23 18:55:00 +01:00
Michael Drake
f2aa7202ba
Fix Coverity #1109872 .
2013-10-23 16:25:48 +01:00
Michael Drake
5122559d73
Pedantic wrap fix.
2013-10-23 15:41:19 +01:00
Michael Drake
f45bc88b3d
Fix Coverity #1109867 .
2013-10-23 15:40:27 +01:00
Michael Drake
21d63c3542
Pedantic wrap fix.
2013-10-23 15:15:08 +01:00
Michael Drake
9ea65f652a
Fix Coverity #1109871 .
2013-10-23 15:04:51 +01:00
Vincent Sanders
776d0b90a1
improve comment to indicate what API is for
2013-10-23 13:49:33 +01:00
Michael Drake
cf8ffa412a
Remove old hotlist, cookies, and history_global_core modules.
...
New versions of expand/collapse node functions for these modules aren't yet implemented.
2013-09-02 22:41:04 +01:00
Michael Drake
8f2f4ca2a8
Use new cookie manager.
2013-09-02 12:26:38 +01:00
Michael Drake
f0b8594c46
Add arrow image to resource icons.
2013-08-12 16:34:14 +01:00
Michael Drake
2bd587add5
Make the parasitic hack of the old tree code more robust. Now if the temp_treeview_test option is set, the global history and cookie manager will be replaced with their respective new implementations.
2013-07-26 14:48:26 +01:00
Michael Drake
81b4c61ae3
Don't call cookies delete here, the cookie manager has already deleted it. (Calling it only added the cookie again, cos the old cookie manager was braindead.)
2013-07-24 11:44:30 +01:00
Michael Drake
68078d7ea7
Fix up for cookies_old rename.
2013-07-22 10:21:37 +01:00
Michael Drake
44e4ca5f05
Merge branch 'master' of git://git.netsurf-browser.org/netsurf
2013-06-05 12:28:08 +01:00
Vincent Sanders
4d39d4314c
only set no proxy value in modern enough versions of teh library
2013-06-04 18:30:22 +01:00
Vincent Sanders
4e24869524
Add and use no proxy list option
2013-06-04 18:11:15 +01:00
Michael Drake
a2c6f90330
Add icons to resource space.
2013-05-31 10:00:59 +01:00
Vincent Sanders
68c2013504
add provenance to about:config
2013-05-28 21:36:46 +01:00
Vincent Sanders
1502b08925
move option init out of netsurf_init
2013-05-28 14:16:11 +01:00
Vincent Sanders
ee6e6eec05
move options include
2013-05-28 14:16:10 +01:00
Michael Drake
ba9769bc8c
Pass fetch redirect info up to content layer as content_msg. Mark redirect origin URLs as visited in browser window content callback. Note this doesn't mean we track redirects, it just lets us get the :visited link style on links that redirect.
2013-05-27 14:51:00 +01:00
Rob Kendrick (humdrum)
90d2c8c212
Use hash generated by nsurl rather than doing it ourselves
2013-05-20 09:19:31 +01:00
Rob Kendrick (humdrum)
c204e5ff0c
Add explanitory comment and make bloom size be a #define
2013-05-17 12:12:55 +01:00
Rob Kendrick (humdrum)
60e8f11850
urldb maintains a bloom filter of URLs contained within and consults it when searching
2013-05-17 11:40:43 +01:00
Michael Drake
8b6665fe03
Merge branch 'master' of git://git.netsurf-browser.org/netsurf into tlsa/selection-search-refactor
2013-05-07 14:56:42 +01:00
Michael Drake
3afd9c9731
Remove search context from browser window, simplify search interface for front ends.
...
Added content interface for search.
Removed bw->cur_search search context. Desktop layer now does nothing
except pass search requests from front end onto the bw's current_content
via the content interface.
Search API reduced to a pair of functions at each level:
{desktop|content|html|textplain}_search
and
{desktop|content|html|textplain}_search_clear
Updated front ends to use simplified search API. Only tested GTK and RO builds.
These confine the search stuff to render/. However search still uses struct
selection. The handling for which is still spread over desktop/ and render/.
Also the render/search code itself still fiddles inside html and textplain
privates.
2013-05-07 14:41:40 +01:00
Vincent Sanders
7e2a93bb72
ensure correct cleanup of user list sentinal in content clone
2013-05-04 16:50:59 +01:00
Vincent Sanders
848f3d13ca
ensure parameter contract is met
2013-05-04 08:52:12 +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
Vincent Sanders
82e2fc57d7
free memory on error path
2013-05-01 22:15:24 +01:00
Vincent Sanders
95e726c7cc
split sources lists out to their subdirectories as first step towards using core buildsystem
2013-03-11 17:53:52 +00: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
Michael Drake
4747bbbfb2
HTML drags now go via content msg.
2013-02-08 13:22:53 +00:00
Michael Drake
147f2bd08a
Remove content_msg for PASTE, since it doesn't need a gui_window to get the buffer from the front end now.
2013-01-08 16:53:00 +00:00
Vincent Sanders
87ee963ff2
Initial changes ready to improve caching decisions
2013-01-07 18:45:29 +00:00
John-Mark Bell
3dff750ae2
Downgrade TLS version support if it turns out the server can't cope with TLSv1.1.
2013-01-04 23:13:23 +00:00
John-Mark Bell
d0d3d31e97
Revert "Treat cookies from HTTP and HTTPS as identical."
...
Sadly, this breaks path cookies on HTTPS sites. The correct
fix is to implement RFC6265 in full (probably replacing
urldb with something less complex, too).
This reverts commit 924f8844d4
.
2013-01-04 22:06:31 +00:00
John-Mark Bell
924f8844d4
Treat cookies from HTTP and HTTPS as identical.
2013-01-03 00:28:51 +00:00
Vincent Sanders
2fef76db15
add errorcode content broadcast API
2012-11-26 17:32:47 +00:00
Daniel Silverstone
413248d0fc
Rough implementation of httponly cookie support
2012-11-09 11:38:46 +00:00
John-Mark Bell
aa438d34d2
Only disable TLS1.2 if it can be disabled.
2012-11-04 16:01:05 +00:00
John-Mark Bell
c2c2fc959e
Disable TLS1.2 support.
2012-11-04 15:54:28 +00:00
John-Mark Bell
debe0e345b
Disable SSL session ID caching.
2012-11-04 14:07:22 +00:00
John-Mark Bell
9924bcf850
Revert "Enable verbose curl debug"
...
This reverts commit f5a98defae
.
2012-11-04 12:01:51 +00:00
John-Mark Bell
f5a98defae
Enable verbose curl debug
2012-11-04 11:11:54 +00:00
John-Mark Bell
0586b97f25
Revert "Suppress BEAST workaround."
...
This reverts commit d31e8a7b29
.
2012-11-04 10:57:33 +00:00
John-Mark Bell
d31e8a7b29
Suppress BEAST workaround.
2012-11-04 10:39:24 +00:00
Vincent Sanders
f18bbd48c7
Improve error handling in html content
2012-10-17 21:52:43 +01:00
Michael Drake
827d063c6b
Remove special RISC OS handling of thumbnail files. (The feature has been broken for ages.)
2012-10-14 19:11:35 +01:00
Michael Drake
2e869ade2a
Cleanup.
2012-10-11 14:38:10 +01:00
Michael Drake
a668f327ba
Merge branch 'master' of git://git.netsurf-browser.org/netsurf
2012-10-11 11:21:27 +01:00
Michael Drake
d9e7d58106
Fix up ripples from urldb change.
2012-10-11 11:20:02 +01:00
John-Mark Bell
43724acf94
Fix bug #3576005 : partial file means finished, not error.
2012-10-10 23:48:33 +01:00
Michael Drake
af89fdb38a
Fixup for nsurl urldb.
2012-10-09 11:20:21 +01:00
Michael Drake
55bef354a6
Port to new urldb.
2012-10-08 20:33:17 +01:00
Michael Drake
5d7ad9db46
Port to new urldb.
2012-10-08 20:32:57 +01:00
Michael Drake
e9b207c658
Port urldb to nsurl. Won't build since rest of NS needs ported to new urldb API.
...
+ urldb API now takes URLs as nsurl, rather than string.
+ urldb internally stores full URLs with nsurl ref.
+ urldb internally stores schemes as lwc_string.
+ Load and save of cookies and URL file may be slower since
we now need to create a nsurl.
+ Everything else should be faster, and there should be much
less allocating/freeing and much less parsing of the same
url over and over again.
+ Updated urldbtest for new urldb API.
+ urldbtest now cleans up at the end
+ Added lwc_string itterator to end of urldbtest
+ Adding some broken URLs (such as http:domain/) will now
work, since nsurl fixes (http://domain/ ) them.
2012-10-08 20:22:04 +01:00
Daniel Silverstone
9cb4d00ea9
If you pass CI_BUILD=xxx to make, it will build a CI #xxx into the version string and also mention it in the testament
2012-10-06 18:12:57 +01:00
Michael Drake
29ad56b4b2
Use nsurl_parent.
2012-10-06 14:07:34 +01:00
Michael Drake
192b2285f5
Constify.
2012-10-06 00:20:26 +01:00
Michael Drake
63adec1315
Add comment.
2012-10-05 19:06:24 +01:00
Michael Drake
346b061d7b
Remove unused #include.
2012-10-05 18:29:17 +01:00
Michael Drake
0e23bbe911
Improve comment.
2012-10-05 17:29:57 +01:00
Vincent Sanders
c1671f37b1
reduce talloc usage to box tree layout only
2012-10-03 19:26:17 +01:00
John-Mark Bell
c22fbf9377
Avoid trying to mmap zero-length files.
...
Remove buf size limit in mmap case: prevented processing entire file.
2012-09-19 22:50:28 +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
57d2e31e59
Avoid using hlcache_handle for drag saves in html_interaction. Drag save msg with NULL content now means save the content which sends the message.
2012-08-19 12:46:42 +01:00
Michael Drake
a2906b3994
Add paste request content message.
2012-08-18 22:19:15 +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
142a0bf859
Add content message for setting mouse pointer.
2012-08-17 10:01:15 +01:00
Michael Drake
402de7572d
Use new content message for saving of hyperlink target URL.
2012-08-16 23:26:05 +01:00
Michael Drake
1919c8e071
Add message for content wanting wanting drag save to start.
2012-08-16 20:20:49 +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
Michael Drake
41e12953dc
Add scroll request message to content message system.
2012-08-13 22:54:18 +01:00
Vincent Sanders
f58b5924a5
alter file fetcher to use mmap where available
2012-08-13 17:00:43 +01:00
Vincent Sanders
de982b4d3e
fix windows build format specifiers
...
add install target for windows - creates installer rather than actually installing
2012-08-12 21:52:39 +01:00
Vincent Sanders
78620910e8
check all return values of string comparisons
2012-08-09 17:30:02 +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
25cdea3351
doxygen serious warning cleanup
2012-07-24 16:19:49 +01:00
Michael Drake
a2dadbbe12
Add about:welcome handler and enable resource:welcome.html.
2012-07-21 13:12:51 +01:00
Vincent Sanders
9b85ae106b
limit url debug output to 140 characters
2012-07-03 14:32:13 +01:00
Vincent Sanders
07bea88149
fix theme comment
...
fix CONTENT_ANY mask missing the script entry
svn path=/trunk/netsurf/; revision=13978
2012-06-20 09:05:24 +00:00
Vincent Sanders
8611281b2e
add content handler for javascript
...
svn path=/trunk/netsurf/; revision=13971
2012-06-19 22:57:29 +00:00
Vincent Sanders
4c89c9d5df
improve javascript support
...
svn path=/trunk/netsurf/; revision=13962
2012-06-10 22:17:30 +00:00
Daniel Silverstone
0437f81c55
Testament generation now supports git
...
svn path=/trunk/netsurf/; revision=13946
2012-06-04 15:48:21 +00:00
Chris Young
9458ed77ab
Add support for sending DoNotTrack header.
...
svn path=/trunk/netsurf/; revision=13928
2012-05-20 16:29:57 +00:00
Vincent Sanders
6f86862edb
cleanup and reorganise low level cache source ready for extending with disc cache
...
svn path=/trunk/netsurf/; revision=13893
2012-04-28 13:24:09 +00:00
Michael Drake
3f262e4803
Remove image cache status from user-facing listing.
...
svn path=/trunk/netsurf/; revision=13865
2012-04-13 12:29:52 +00:00
Michael Drake
cdee9e985e
More work on about:imagecache entry listing table.
...
svn path=/trunk/netsurf/; revision=13855
2012-04-12 13:43:57 +00:00
Michael Drake
e2e69d29bb
Close paragraph tags and other minor imagecache page cleanups.
...
svn path=/trunk/netsurf/; revision=13854
2012-04-12 13:06:21 +00:00
Michael Drake
5266539f92
Make more readable and fix use double quotes for href attribute value.
...
svn path=/trunk/netsurf/; revision=13852
2012-04-12 12:34:33 +00:00
Chris Young
87b9a905eb
Fix typo and unhide imagecache from about:about
...
svn path=/trunk/netsurf/; revision=13823
2012-04-07 17:30:54 +00:00
Rob Kendrick
e6155dd37f
about:imagecache gives URL links, and table is styled. This has revealed a buffer overflow or similar here; reducing the buffer size to 1024 makes it very fragile with long URLs.
...
svn path=/trunk/netsurf/; revision=13700
2012-03-25 16:42:45 +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
20583d7288
Enable User CSS file.
...
svn path=/trunk/netsurf/; revision=13507
2012-03-06 17:44:24 +00:00
John Mark Bell
3e2e110a86
Bypass full type sniffer if only images are acceptable
...
svn path=/trunk/netsurf/; revision=13436
2012-02-08 00:52:16 +00:00
John Mark Bell
b5acf7db9d
Prevent use after free in cookie update
...
svn path=/trunk/netsurf/; revision=13365
2012-01-02 13:20:11 +00:00
Vincent Sanders
df18a97143
Change GTK plotting to use cairo surfaces throughout
...
svn path=/trunk/netsurf/; revision=13354
2011-12-30 00:58:35 +00:00
John Mark Bell
95714a0c00
Sync with spec
...
svn path=/trunk/netsurf/; revision=13329
2011-12-23 00:21:47 +00:00
John Mark Bell
c22038bed8
Fix bogus cache validation decision
...
svn path=/trunk/netsurf/; revision=13261
2011-12-08 22:44:19 +00:00
John Mark Bell
4e4cf305cb
Fix bug #3454606 : prevent double free of retrieval context when downloading
...
svn path=/trunk/netsurf/; revision=13260
2011-12-08 21:58:26 +00:00
John Mark Bell
3ba6a15fa7
Fix bug #3452421 : retain hlcache retrieval context when reporting errors & rely on clients correctly releasing handles to clean up.
...
svn path=/trunk/netsurf/; revision=13250
2011-12-06 20:47:15 +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
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
Michael Drake
714f07c48b
Rename nsurl_enquire to nsurl_has_component.
...
svn path=/trunk/netsurf/; revision=13183
2011-11-27 18:32:06 +00:00
John Mark Bell
07309888d6
return;
...
Fix bug #3442642 : allow scheme-specific fetchers to have a say in whether an URL can be fetched.
svn path=/trunk/netsurf/; revision=13182
2011-11-27 14:14:36 +00:00
John Mark Bell
eb122c52d2
Fix cookie expiration
...
svn path=/trunk/netsurf/; revision=13161
2011-11-22 00:34:06 +00:00
John Mark Bell
dcbafe6b87
Clean up fetch callback API. Inject some long-needed type safety.
...
svn path=/trunk/netsurf/; revision=13137
2011-11-08 21:51:42 +00:00
John Mark Bell
da2b1ce44d
Hack around curl complaining about junk gzip streams
...
svn path=/trunk/netsurf/; revision=13129
2011-11-05 22:10:46 +00:00
John Mark Bell
272fb1e517
Include utils.h for NOF_ELEMENTS
...
svn path=/trunk/netsurf/; revision=13082
2011-10-27 00:57:59 +00:00
Michael Drake
8f554bb0e5
Fix "about:".
...
svn path=/trunk/netsurf/; revision=13054
2011-10-15 09:47:37 +00:00
John Mark Bell
d3fce3ffc3
Fix handling of URLs without an authority
...
svn path=/trunk/netsurf/; revision=13053
2011-10-14 21:41:16 +00:00
Vincent Sanders
eb9c223f9d
fix image cache summary information to properly use a format string
...
remove snprintf buffer overflow possibility
fix the about:imagecache fetcher to contain the output formatting and use summary information formatting
svn path=/trunk/netsurf/; revision=13039
2011-10-12 12:34:11 +00:00
Vincent Sanders
d628aa06d0
fix possible buffer overflow
...
svn path=/trunk/netsurf/; revision=13032
2011-10-11 07:19:20 +00:00
Daniel Silverstone
986720d9d7
If the about handler fails to intern its strings, return the error, cleaning up first
...
svn path=/trunk/netsurf/; revision=13031
2011-10-11 06:55:20 +00:00
Vincent Sanders
56e7b23415
add about:imagecache some of teh implementation needs cleaning up
...
svn path=/trunk/netsurf/; revision=13030
2011-10-10 22:41:31 +00:00
Vincent Sanders
e1e88e5f98
make about fetcher use lwc_strings for url lookups
...
svn path=/trunk/netsurf/; revision=13029
2011-10-10 19:46:46 +00:00
Vincent Sanders
5d06dbf974
prevent odd curl non completion behaviour
...
svn path=/trunk/netsurf/; revision=13024
2011-10-09 17:22:57 +00:00
Daniel Silverstone
29d3b4fa00
Sort out hiccough in hlcache finalisation debug
...
svn path=/trunk/netsurf/; revision=13017
2011-10-09 10:53:17 +00:00
Michael Drake
73afb1e728
Use malloc, memcpy instead of strdup since we have the length.
...
svn path=/trunk/netsurf/; revision=13006
2011-10-08 12:47:42 +00:00
Vincent Sanders
443dce6e80
make resource fetcher cope with missing resources gracefully
...
svn path=/trunk/netsurf/; revision=12994
2011-10-07 22:51:31 +00:00
Vincent Sanders
4c829ae481
use resource:favicon.ico instead of resource:favicon.png
...
svn path=/trunk/netsurf/; revision=12982
2011-10-07 21:03:45 +00:00
Vincent Sanders
8a293636fb
fix favicon default selection for non http(s) urls
...
svn path=/trunk/netsurf/; revision=12981
2011-10-07 20:47:34 +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
Vincent Sanders
52ad2c1e25
initial favicon support
...
svn path=/trunk/netsurf/; revision=12975
2011-10-06 23:31:55 +00:00
Michael Drake
17525fbf25
Avoid making a new nsurl to remove fragment if there is no fragment.
...
svn path=/trunk/netsurf/; revision=12958
2011-10-05 18:05:41 +00:00
John Mark Bell
d5bb9d98e7
Build resource: map at start time
...
Remove stylesheet url globals -- the core will always use resource:{default,quirks,adblock}.css as appropriate
svn path=/trunk/netsurf/; revision=12949
2011-10-05 08:32:52 +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
73dbd82b7d
Optimise fetch item selection when fetching many items from same host.
...
svn path=/trunk/netsurf/; revision=12920
2011-10-02 12:10:02 +00:00
Michael Drake
3a319b4829
Store host as lwc_string in curl fetcher and obtain it via nsurl. Clean up cached hosts on exit.
...
svn path=/trunk/netsurf/; revision=12918
2011-10-01 16:53:45 +00:00
Michael Drake
4b2730e407
Keep url as nsurl.
...
svn path=/trunk/netsurf/; revision=12917
2011-10-01 16:02:49 +00:00
Michael Drake
af6c81b042
Convert nsurl to string for log.
...
svn path=/trunk/netsurf/; revision=12916
2011-10-01 15:40:16 +00:00
Michael Drake
6cfd37e60f
Convert fetchers to nsurl.
...
svn path=/trunk/netsurf/; revision=12910
2011-09-29 15:31:54 +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
Michael Drake
861f88aa43
Port llcache to nsurl.
...
svn path=/trunk/netsurf/; revision=12904
2011-09-28 11:26:30 +00:00
Michael Drake
e3211bf4fc
fetch_can_fetch can take const nsurl.
...
svn path=/trunk/netsurf/; revision=12902
2011-09-27 14:42:45 +00:00
Michael Drake
e1f7a37f15
Port fetch layer to nsurl. Remove unused fetch_get_referer function.
...
svn path=/trunk/netsurf/; revision=12899
2011-09-27 11:07:32 +00:00
John Mark Bell
e9cdc14d79
Reflect differences between draft-abarth-mime-sniff-06 and draft-ietf-websec-mime-sniff-03 (and thus, http://mimesniff.spec.whatwg.org )
...
In summary: audio/x-wave becomes audio/wave and we add sniffing for mp4 video
svn path=/trunk/netsurf/; revision=12897
2011-09-27 00:33:37 +00:00
Michael Drake
9992ee9119
Document fetch_add_fetcher.
...
svn path=/trunk/netsurf/; revision=12892
2011-09-26 21:23:47 +00:00
Michael Drake
c94271edf5
Fetchers register with an lwc_string, rather than a string.
...
svn path=/trunk/netsurf/; revision=12891
2011-09-26 21:07:19 +00:00
Michael Drake
393b1afd4f
Disable fetch debug loops when not debugging.
...
svn path=/trunk/netsurf/; revision=12890
2011-09-26 15:22:38 +00:00
Michael Drake
8435195ea4
Remember to free host, now it's not kept for anything.
...
svn path=/trunk/netsurf/; revision=12886
2011-09-26 13:43:34 +00:00
Michael Drake
460648872f
Remove unused host from fetch info struct.
...
svn path=/trunk/netsurf/; revision=12885
2011-09-26 13:38:06 +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
John Mark Bell
339bed7272
Virtualise content handler finalisation calls. Remove pointless implementations.
...
svn path=/trunk/netsurf/; revision=12797
2011-09-15 22:47:50 +00:00
John Mark Bell
3d71da088b
Clean up content_factory_register_handler API -- content handlers no longer use the mime type, so don't require it to be interned up front
...
svn path=/trunk/netsurf/; revision=12796
2011-09-15 22:31:16 +00:00
Vincent Sanders
2d33a8f85a
Make high level cache, low level cache and image cache all be initialised from passed parameters
...
Calculate all cache sizes from single memory cache size option and sanity check
have a single global struct to hold all parameters instead of several individual variables
svn path=/trunk/netsurf/; revision=12784
2011-09-10 00:55:39 +00:00
John Mark Bell
46339a296b
Move length calculation outside loop
...
svn path=/trunk/netsurf/; revision=12781
2011-09-08 21:32:07 +00:00
Vincent Sanders
dec633ca8e
make high level cache take a parameter structure
...
make hlcache have a single global container
svn path=/trunk/netsurf/; revision=12779
2011-09-08 12:04:57 +00:00
John Mark Bell
f6ac059a05
Handle zero-length documents correctly
...
svn path=/trunk/netsurf/; revision=12778
2011-09-08 08:26:16 +00:00
John Mark Bell
c25d7890e7
Cope with zero-length files
...
svn path=/trunk/netsurf/; revision=12777
2011-09-08 08:25:48 +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
e82474afed
Fix string leakage
...
svn path=/trunk/netsurf/; revision=12708
2011-09-04 11:14:19 +00:00
John Mark Bell
6807fa854d
Sniff content types where appropriate.
...
We never sniff for CSS, nor for non-page artefacts (e.g. treeview icons)
svn path=/trunk/netsurf/; revision=12707
2011-09-04 06:28:09 +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
Vincent Sanders
81c52ad494
Initial image content handler refactor
...
svn path=/trunk/netsurf/; revision=12671
2011-08-27 08:43:51 +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
John Mark Bell
b34502af82
Refactor http utilities
...
svn path=/trunk/netsurf/; revision=12595
2011-07-08 08:38:17 +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
John Mark Bell
a5dc6b9e66
Less broken WWW-Authenticate header parser
...
svn path=/trunk/netsurf/; revision=12542
2011-06-29 23:32:53 +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
381588bece
Log CA options
...
svn path=/trunk/netsurf/; revision=12436
2011-05-19 22:35:41 +00:00
John Mark Bell
54f6b3bffc
Handle case where configured curl handle cache limit is 0
...
svn path=/trunk/netsurf/; revision=12420
2011-05-16 22:05:47 +00:00
John Mark Bell
1b8ff87c23
Squash static analyser warning
...
svn path=/trunk/netsurf/; revision=12419
2011-05-16 21:49:21 +00:00
John Mark Bell
da7c3c10bc
Implement todo
...
svn path=/trunk/netsurf/; revision=12418
2011-05-16 21:47:36 +00:00
John Mark Bell
35cd1a79f7
Squash static analyser warning
...
svn path=/trunk/netsurf/; revision=12416
2011-05-16 21:42:53 +00:00
John Mark Bell
b92ca9cd30
Clean up after content factory
...
svn path=/trunk/netsurf/; revision=12415
2011-05-16 21:16:44 +00:00
François Revel
955896ac46
Revert r12412, the doi: URI scheme hasn't been kept around it seems, even ACM doesn't use it. And kyllikki was jumping on his seat anyway... It's still in the svn history if needed. I have some stuff for view-source: and man: but I'm not use they would be appreciated either :-D
...
svn path=/trunk/netsurf/; revision=12414
2011-05-16 19:28:40 +00:00
François Revel
d25e5568bb
Add a redirecting fetcher for the doi: URI scheme. Not much used but just in case...
...
svn path=/trunk/netsurf/; revision=12412
2011-05-15 20:01:25 +00:00
François Revel
069a501c4d
Add an about:logo redirect to resource:netsurf.png.
...
svn path=/trunk/netsurf/; revision=12407
2011-05-14 00:17:25 +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
Michael Drake
48b374736a
Various changes to about: content markup. Added me to LibNSFB bit.
...
svn path=/trunk/netsurf/; revision=12105
2011-03-18 12:10:15 +00:00
Michael Drake
d2f8eee65b
Fix comment.
...
svn path=/trunk/netsurf/; revision=12094
2011-03-17 12:26:59 +00:00
Vincent Sanders
50b9de4864
set hidden flag for more about: pages
...
svn path=/trunk/netsurf/; revision=12093
2011-03-17 12:24:40 +00:00
Michael Drake
49f1d58938
Less bloated "license" spelling handler.
...
svn path=/trunk/netsurf/; revision=12092
2011-03-17 12:17:25 +00:00
Daniel Silverstone
293c2b026b
Retabify about.c since I had previously moosed it
...
svn path=/trunk/netsurf/; revision=12091
2011-03-17 12:12:55 +00:00
Michael Drake
4de9349fb8
Skip duplicates on about:about.
...
svn path=/trunk/netsurf/; revision=12090
2011-03-17 12:09:48 +00:00
Michael Drake
a70c32422a
gui_find_resource --> gui_get_resource_url.
...
svn path=/trunk/netsurf/; revision=12089
2011-03-17 11:57:09 +00:00
Vincent Sanders
7390a6805e
implement about:about
...
svn path=/trunk/netsurf/; revision=12085
2011-03-17 10:20:04 +00:00
Vincent Sanders
d90ca6181b
Improve options output
...
improve options:config styling
svn path=/trunk/netsurf/; revision=12084
2011-03-17 09:21:02 +00:00
Vincent Sanders
bd39eb4267
make resource header documentation more explicit
...
svn path=/trunk/netsurf/; revision=12083
2011-03-17 08:11:54 +00:00
Michael Drake
7f454dff4b
Add about:license --> about:licence redirect.
...
svn path=/trunk/netsurf/; revision=12076
2011-03-16 14:17:22 +00:00
Vincent Sanders
1da7b161f8
Stop gtk printing from exploding if its unable to initialise the job
...
add interface to clone a high level cache handle
make generic printing core call new hlcache interface
svn path=/trunk/netsurf/; revision=12068
2011-03-15 22:02:06 +00:00
John Mark Bell
408f78b737
Move schedule.h to utils/
...
svn path=/trunk/netsurf/; revision=12039
2011-03-13 22:50:54 +00:00
Daniel Silverstone
e083b503a0
Ensure we stop the hlcache schedule before we quit the gui
...
svn path=/trunk/netsurf/; revision=12036
2011-03-13 20:20:31 +00:00
Daniel Silverstone
93e9bfe323
Shunt the schedule function definitions to desktop/schedule.h. Shunt the hlcache/llcache to using schedule to get their cleanups run.
...
svn path=/trunk/netsurf/; revision=12029
2011-03-13 18:26:46 +00:00
Daniel Silverstone
514b94b1f4
Add hostname and path
...
svn path=/trunk/netsurf/; revision=12023
2011-03-13 12:17:18 +00:00
Daniel Silverstone
8695000b83
Slightly better out-of-svn build info
...
svn path=/trunk/netsurf/; revision=12022
2011-03-13 12:09:01 +00:00
Daniel Silverstone
cc18b5f21e
Initial testament functionality
...
svn path=/trunk/netsurf/; revision=12020
2011-03-13 11:59:20 +00:00
Michael Drake
c92f19c932
Move directory listing CSS to resource:internal.css.
...
svn path=/trunk/netsurf/; revision=12017
2011-03-13 10:56:00 +00:00
Daniel Silverstone
314124d3ef
Instead of deleting the early scheduled poll, simply always add another poll if cURL thinks there might be work to do later
...
svn path=/trunk/netsurf/; revision=12003
2011-03-12 23:59:37 +00:00
Michael Drake
66ac795f04
Make about:config a bit nicer, if resource: is implemented on your front end.
...
svn path=/trunk/netsurf/; revision=11999
2011-03-12 23:00:19 +00:00
Vincent Sanders
01d4be82c4
fix about:licence
...
svn path=/trunk/netsurf/; revision=11996
2011-03-12 22:38:00 +00:00
Daniel Silverstone
d558aae0bb
I hate this, but it helps to prevent stalling during early fetch stages with curl
...
svn path=/trunk/netsurf/; revision=11986
2011-03-12 19:25:40 +00:00
John Mark Bell
997e829b3d
Stop pretending to support anything other than HTTP(s)
...
svn path=/trunk/netsurf/; revision=11966
2011-03-12 00:06:15 +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
b7893f85cd
Do not attempt to destroy contents that are still loading
...
svn path=/trunk/netsurf/; revision=11898
2011-03-03 21:13:58 +00:00
John Mark Bell
60b5039c33
Protect against object being cleaned while waiting for a query response
...
svn path=/trunk/netsurf/; revision=11894
2011-03-03 00:40:50 +00:00
Michael Drake
cfe6b8cc66
Pass content msg redraw coords as ints.
...
svn path=/trunk/netsurf/; revision=11893
2011-03-02 21:10:29 +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
2e04c57929
Fix WWW-Authenticate parsing to leave f->realm alone if there is no realm specified in the header
...
svn path=/trunk/netsurf/; revision=11793
2011-02-25 00:41:16 +00:00
John Mark Bell
d25a88145b
Make no-cache a tristate. In the case of a forced reload, we want to revalidate once only.
...
svn path=/trunk/netsurf/; revision=11791
2011-02-24 21:22:24 +00:00
John Mark Bell
00bf0fbd24
Revert the functional change from r11789: the no-cache directive forces us to revalidate a cached object, not reject it entirely.
...
svn path=/trunk/netsurf/; revision=11790
2011-02-24 21:06:45 +00:00
John Mark Bell
4f740f5a32
Ensure cache hits after a forced reload -- don't even attempt to reuse objects with the no_cache flag set (as they'll never be considered fresh, thus requiring a round trip to the server every time they're used). Instead, we'll fetch a new object, which will be considered fresh for caching purposes.
...
svn path=/trunk/netsurf/; revision=11789
2011-02-24 20:51:35 +00:00
John Mark Bell
6b26f77bb1
Use cache control data invalidation function everywhere we want the cache control data reset.
...
Fix cache control data invalidation to reset the age and max_age fields to INVALID_AGE.
Fix cache control data reset on encountering an HTTP response line to occur before we fill in the response time, rather than after it.
svn path=/trunk/netsurf/; revision=11783
2011-02-24 10:14:50 +00:00
John Mark Bell
b967824575
Improve commentary.
...
Stop leaking object_scheme in error cases.
svn path=/trunk/netsurf/; revision=11778
2011-02-23 23:05:36 +00:00
John Mark Bell
308f549f78
Fix backend fetcher poll loops
...
svn path=/trunk/netsurf/; revision=11775
2011-02-23 22:41:17 +00:00
Vincent Sanders
0231675abf
add resource handling
...
move gtk and framebuffer to use generic resource handling
svn path=/trunk/netsurf/; revision=11772
2011-02-23 22:27:55 +00:00
John Mark Bell
1b5d9f07c8
Squash warnings
...
svn path=/trunk/netsurf/; revision=11745
2011-02-20 23:41:50 +00:00
Michael Drake
f54fc080c2
Add module namespace to options_snoptionf()
...
svn path=/trunk/netsurf/; revision=11739
2011-02-20 22:38:43 +00:00
Vincent Sanders
675a07083a
add options display to about: scheme
...
svn path=/trunk/netsurf/; revision=11733
2011-02-20 21:04:53 +00:00
John Mark Bell
d8d0353a73
Fix bug #3184972 : cope with server sending a 304 in response to an unconditional request.
...
svn path=/trunk/netsurf/; revision=11710
2011-02-17 17:50:14 +00:00
John Mark Bell
daf23b0860
Add missing include
...
svn path=/trunk/netsurf/; revision=11694
2011-02-15 23:26:34 +00:00
Vincent Sanders
fa98e3d76a
add about: fetcher
...
rename fetchers to be more sensible
svn path=/trunk/netsurf/; revision=11692
2011-02-15 23:18:10 +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
John Mark Bell
27924aa38c
Minor fix for path defaulting: retain rightmost / iff it's the first character in the path
...
svn path=/trunk/netsurf/; revision=11524
2011-01-29 15:17:42 +00:00
Daniel Silverstone
822fffa8e3
A little more debug to help us spot how many users of locked contents there are, during shutdown
...
svn path=/trunk/netsurf/; revision=11418
2011-01-20 12:55:51 +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
John Mark Bell
3fcb02afa1
Revert r10650/1. We no longer require noisy fetch/cache logging.
...
svn path=/trunk/netsurf/; revision=11223
2011-01-06 00:31:54 +00:00
Michael Drake
0eb65d3344
Add some assert()s.
...
svn path=/trunk/netsurf/; revision=11144
2010-12-29 20:42:00 +00:00
Daniel Silverstone
b85b1f5ba5
Make fetch.c use new RING_COUNTBYLWCHOST
...
svn path=/trunk/netsurf/; revision=11108
2010-12-20 10:32:15 +00:00
John Mark Bell
bcfb508f86
User may have no handle if it was the target of an iterator when the handle was aborted
...
svn path=/trunk/netsurf/; revision=11071
2010-12-16 00:18:41 +00:00
John Mark Bell
c675c3552d
Ensure that we clean up after the client even if they report an error from their notification callback.
...
svn path=/trunk/netsurf/; revision=11067
2010-12-15 22:59:19 +00:00
John Mark Bell
d745dae903
Make llcache_object_user objects distinct from llcache_handles.
...
This allows us to be robust against clients completely changing the contents of the user list underneath us during iteration.
Fix llcache_send_event_to_users to also be robust against the user list changing under it.
svn path=/trunk/netsurf/; revision=11063
2010-12-15 21:15:49 +00:00
John Mark Bell
67556f54fe
Always invalidate next/prev pointers
...
svn path=/trunk/netsurf/; revision=11052
2010-12-13 08:36:27 +00:00
John Mark Bell
c0f49a2785
Revert r11047-11050: if we remove a user from an object while it's the iterator target, the effect will be that the iteration terminates early.
...
Subsequent users that require notifications will simply have their notifications delayed
svn path=/trunk/netsurf/; revision=11051
2010-12-13 08:34:01 +00:00
John Mark Bell
f919b689ba
Take 2: make callers of llcache_object_user_destroy invalidate next/prev pointers
...
svn path=/trunk/netsurf/; revision=11050
2010-12-13 08:28:22 +00:00
John Mark Bell
a5221248c2
Revert last change
...
svn path=/trunk/netsurf/; revision=11049
2010-12-13 08:25:54 +00:00
John Mark Bell
991472d264
Remove bogus assertions
...
svn path=/trunk/netsurf/; revision=11048
2010-12-13 08:24:04 +00:00
John Mark Bell
f40da966ad
We cannot invalidate a user's next/prev pointers when removing it from an object, as it may be the target of iteration
...
svn path=/trunk/netsurf/; revision=11047
2010-12-13 08:16:32 +00:00
John Mark Bell
702c94bb30
Fix assertion: user->next may be NULL, so there's no point asserting that it isn't
...
svn path=/trunk/netsurf/; revision=11046
2010-12-13 08:12:31 +00:00
John Mark Bell
d9f8b8949e
Fix assertion to compare, and not assign
...
svn path=/trunk/netsurf/; revision=11045
2010-12-13 08:10:29 +00:00
John Mark Bell
650f884527
Make llcache_object_notify_users robust to the object's user list changing underneath it
...
svn path=/trunk/netsurf/; revision=11044
2010-12-12 23:37:21 +00:00
Rob Kendrick
1a7dffdac6
Brain fix on last night's IPv6 modifications
...
svn path=/trunk/netsurf/; revision=11000
2010-12-05 14:23:30 +00:00
Rob Kendrick
ab704ba7a7
Make urldb_add_url IPv6-aware
...
svn path=/trunk/netsurf/; revision=10990
2010-12-04 22:46:33 +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
John Mark Bell
8814bca33e
Fix cleanup of hlcache_retrieval_ctx_ring
...
svn path=/trunk/netsurf/; revision=10915
2010-10-28 21:00:07 +00:00
John Mark Bell
e5bc525030
Fix bug 3096811: discard HTTP headers for all but the last response
...
svn path=/trunk/netsurf/; revision=10912
2010-10-27 22:12:00 +00:00
John Mark Bell
6173bb0e6c
Merge treeview-redux to trunk
...
svn path=/trunk/netsurf/; revision=10865
2010-10-05 19:14:46 +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
a10c4d3a7b
Fix crash on receipt of a 304 response: it turns out that FETCH_HEADER may be called before any decision about how to process the response is made.
...
Move FETCH_HEADER handler to start of switch statement to reflect this.
svn path=/trunk/netsurf/; revision=10792
2010-09-16 22:46:40 +00:00
John Mark Bell
a7dd752046
Ensure that candidate count is reduced if a conditional request results in a non-304 response
...
svn path=/trunk/netsurf/; revision=10791
2010-09-16 22:04:06 +00:00
Vincent Sanders
1391ebe5cc
perpetrate a neatness to centralise all the low level cache cache control data invalidation
...
svn path=/trunk/netsurf/; revision=10787
2010-09-16 19:47:15 +00:00
John Mark Bell
db736f8378
Fix heap corruption
...
svn path=/trunk/netsurf/; revision=10786
2010-09-16 19:33:18 +00:00
John Mark Bell
dafccf21d5
Fix validation of invalidated cache entries.
...
svn path=/trunk/netsurf/; revision=10785
2010-09-16 18:58:32 +00:00
Daniel Silverstone
be59d5870b
Ensure we free etags before invalidating cache control data
...
svn path=/trunk/netsurf/; revision=10784
2010-09-16 16:21:58 +00:00
John Mark Bell
cf30b8b074
Use ETag to validate file: URLs, returning 304 if there's no change.
...
Force directories to be uncacheable.
Don't emit a Last-Modified header for files, as it may result in a cached object being considered fresh (c.f. RFC2616 $13.2.3/4)
Fix leak of file descriptor on failure to allocate buffer.
svn path=/trunk/netsurf/; revision=10782
2010-09-15 20:32:14 +00:00
John Mark Bell
051dc72a56
Purge last vestiges of file: cruft from curl binding
...
svn path=/trunk/netsurf/; revision=10781
2010-09-15 19:40:17 +00:00
John Mark Bell
c88044c8cb
Forcibly invalidate contents with response codes that aren't 200 or 203.
...
svn path=/trunk/netsurf/; revision=10780
2010-09-15 19:33:18 +00:00
Michael Drake
0285ab5e91
Give markup peepers a slightly easier time of it.
...
svn path=/trunk/netsurf/; revision=10769
2010-09-13 19:49:05 +00:00
John Mark Bell
1075214307
Improve error reporting, and reflow to 80 columns.
...
svn path=/trunk/netsurf/; revision=10768
2010-09-13 18:34:11 +00:00
Chris Young
4972283771
Ensure the file that is read for info is in the platform's native path format, whilst
...
the path used for any links is in the correct URL format.
svn path=/trunk/netsurf/; revision=10761
2010-09-12 11:42:37 +00:00
Vincent Sanders
faca1687ce
hell with it, heres a version which should result in fewer portability complaints
...
svn path=/trunk/netsurf/; revision=10756
2010-09-11 18:47:36 +00:00
Michael Drake
150e4d18bb
Add a bit of padding to bottom of directory listings. Tidy code indentation.
...
svn path=/trunk/netsurf/; revision=10752
2010-09-10 12:49:41 +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
John Mark Bell
78f3bbaed3
Fix bug #3055480 : properly compare URLs, instead of erroneously assuming that strcasecmp is the correct answer.
...
svn path=/trunk/netsurf/; revision=10721
2010-08-29 17:41: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
John Mark Bell
00aeb20334
Less spam
...
svn path=/trunk/netsurf/; revision=10687
2010-08-10 21:46:45 +00:00
John Mark Bell
48b17a5aea
Rate-limit cache clean attempts
...
svn path=/trunk/netsurf/; revision=10686
2010-08-10 19:58:39 +00:00
John Mark Bell
1052f19075
Don't suppress curl debug output, either
...
svn path=/trunk/netsurf/; revision=10651
2010-07-17 09:13:44 +00:00
John Mark Bell
183974b437
Enable noisy logging
...
svn path=/trunk/netsurf/; revision=10650
2010-07-17 08:17:42 +00:00
Vincent Sanders
4b329697f7
move url database test to test directory
...
svn path=/trunk/netsurf/; revision=10589
2010-06-29 07:20:12 +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
0de2013f25
Clean up caches on exit
...
svn path=/trunk/netsurf/; revision=10494
2010-04-27 06:48:09 +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
7eef1a387a
Ensure we propagate the error to our client, and then abort the llcache handle, should we fail to find a content when converting a nascent hlcache context into an object
...
svn path=/trunk/netsurf/; revision=10453
2010-04-22 12:29:15 +00:00
John Mark Bell
014cbd63cc
Purge spurious filetype computation
...
svn path=/trunk/netsurf/; revision=10431
2010-04-18 16:08:32 +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
248a53f6ba
Avoid double free when shrink-wrapping source data on fetch completion.
...
svn path=/trunk/netsurf/; revision=10423
2010-04-17 21:17:08 +00:00
John Mark Bell
06145e570d
Fix mismatched free call
...
svn path=/trunk/netsurf/; revision=10420
2010-04-17 09:05:15 +00:00
Vincent Sanders
448b0275ae
Fix file: handling on risc os, gtk, windows and framebuffer frontends
...
svn path=/trunk/netsurf/; revision=10419
2010-04-16 23:56:53 +00:00
John Mark Bell
01eb197f56
When the fetch system informs its clients that certificate verification has failed, it has already stopped and cleaned up the fetch.
...
Stop llcache_fetch_cert_error attempting to abort the fetch, as this will result in a double free.
svn path=/trunk/netsurf/; revision=10418
2010-04-16 23:15:22 +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
bf27f667c9
Add assertion
...
svn path=/trunk/netsurf/; revision=10414
2010-04-16 20:47:22 +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
John Mark Bell
44552e7492
Provide API to invalidate llcache object cache control data
...
svn path=/trunk/netsurf/; revision=10411
2010-04-16 20:42:10 +00:00
John Mark Bell
ca0daa1a66
Reset fetch state when refetching object.
...
Ensure that cache control data is invalidated for 401/certificate failure so that conditional headers are not emitted when object is refetched.
svn path=/trunk/netsurf/; revision=10408
2010-04-16 20:08:27 +00:00
John Mark Bell
b008327de1
Improve 401 response handling
...
svn path=/trunk/netsurf/; revision=10407
2010-04-16 20:00:10 +00:00
John Mark Bell
1c42c0569f
Ensure we invalidate cache data and mark objects as complete on failure to fetch.
...
svn path=/trunk/netsurf/; revision=10402
2010-04-14 20:42:03 +00:00
Daniel Silverstone
2ba2dab3a7
Eat any #fragment in llcache_object_retrieve -- fixing double-fragment issues at the top level, and preventing fragment(ed) redirects from confusing the issue
...
svn path=/trunk/netsurf/; revision=10399
2010-04-14 14:53:21 +00:00
Daniel Silverstone
b56886d0ee
Abstract a number of unsafe iterations of object users into a single safe function call
...
svn path=/trunk/netsurf/; revision=10398
2010-04-14 10:56:44 +00:00
John Mark Bell
3840e3911b
Stop leaking hlcache handles.
...
svn path=/trunk/netsurf/; revision=10395
2010-04-13 23:24:07 +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
Michael Drake
f58fa3b2ac
Revert last change.
...
svn path=/trunk/netsurf/; revision=10382
2010-04-12 09:31:34 +00:00
Michael Drake
de6f1a2b2e
Make new cache strip the fragment identifier, like fetchcache did.
...
svn path=/trunk/netsurf/; revision=10381
2010-04-12 09:25:41 +00:00
John Mark Bell
18081664eb
Provide API to enable a handle's callback to be replaced
...
svn path=/trunk/netsurf/; revision=10376
2010-04-11 23:02:49 +00:00
John Mark Bell
4b8c720ac5
Shrink source buffer to final length on fetch completion
...
svn path=/trunk/netsurf/; revision=10373
2010-04-11 21:26:20 +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
71de3618f1
Implement hlcache_poll(), which drives the low-level cache event loop, and attempts to clean the high-level cache.
...
Call this, instead of llcache_poll().
svn path=/trunk/netsurf/; revision=10371
2010-04-11 20:21:13 +00:00
John Mark Bell
60d1b74099
Remove redundant todo
...
svn path=/trunk/netsurf/; revision=10363
2010-04-11 16:39:58 +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