Commit Graph

11077 Commits

Author SHA1 Message Date
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
Chris Young
335ba082fd Ensure we're not running events ahead of time. 2014-11-22 17:15:52 +00:00
Chris Young
4a395ad025 Process scheduled event changes before incoming timer events.
This stops things being run that have just been deleted.  However, may cause the next event to run early because we don't check the time.
2014-11-22 17:10:07 +00:00
Chris Young
4589cab433 Re-enable asynchronous backing store writes 2014-11-22 16:52:27 +00:00
Chris Young
bcd7413f8e Fix llcache ops table 2014-11-22 16:51:00 +00:00
Chris Young
0cd682644b Revert "Revert "Write out to the backing store asynchronously.""
This reverts commit 75623179aa.
2014-11-22 16:41:29 +00:00
Chris Young
71cdc991c7 fix warning 2014-11-22 16:39:31 +00:00
Chris Young
277ceb9fc2 Reduce stack to 2K 2014-11-22 16:38:26 +00:00
Chris Young
9e98d77531 Reply to the timer before running the scheduled task. 2014-11-22 16:37:49 +00:00
Chris Young
186e1f4ee3 New asynchronous scheduler
This ensures that if other processes other than the main NetSurf process try to create scheduled tasks, they are always run on the main process.
2014-11-22 16:30:43 +00:00
Chris Young
2de1553a00 New scheduler 2014-11-22 16:27:39 +00:00
Chris Young
f8d8d218d8 Initial steps for a scheduler process 2014-11-22 16:27:39 +00:00
Chris Young
fe56795205 Revert "Should be a while loop in case of multiple simultaneous event triggers."
This reverts commit 9dcf001a0b.

For ehatever reason this is entirely broken, but I'm in the process of rewriting so just revert for now to get the working builds again.
2014-11-22 14:18:00 +00:00
Michael Drake
d9a63bb9e0 Fix brackets. 2014-11-22 00:06:01 +00:00
Michael Drake
1a1b6f8984 Shouldn't need browser_private.h now. 2014-11-22 00:02:28 +00:00
Michael Drake
0756b544c6 Use API to find if content is selectable, instead of guessing. 2014-11-22 00:02:28 +00:00
Michael Drake
ba9a049d7b Simplify ami_history_open API and use correct call to get history object. 2014-11-22 00:02:28 +00:00
Michael Drake
0c7dc95dda Use API to get URL. 2014-11-22 00:02:28 +00:00
Michael Drake
c9683119c3 Use browser_window_get_content where we need to. 2014-11-22 00:02:27 +00:00
Chris Young
9dcf001a0b Should be a while loop in case of multiple simultaneous event triggers. 2014-11-21 23:47:26 +00:00
Michael Drake
60c33e0410 Should be free of reliance on browser window internals here now. 2014-11-21 14:39:12 +00:00
Michael Drake
781fe8f330 Use browser_window_get_content() to get the current content.
Although I dislike this API, and it may go at some point.
2014-11-21 14:38:17 +00:00
Michael Drake
90f89f98e3 Use API for getting browser window history. 2014-11-21 14:37:17 +00:00
Michael Drake
b4e044f6c9 Use browser_window_get_url() instead of getting URL from current content. 2014-11-21 14:30:09 +00:00
Michael Drake
3b686eaccc Use browser_window_can_select(), instead of assuming based on content type. 2014-11-21 14:26:29 +00:00
Vincent Sanders
9fb0eaa1cd fix missing semicolon 2014-11-21 13:14:20 +00:00
Michael Drake
19af487fa1 Shouldn't need browser_private.h now. 2014-11-21 12:56:19 +00:00
Michael Drake
47f6e29b4c Use browser_window_stop_available()
Looking at bw->loading_content was bad and wrong in the cases
of frames, and object fetches.
2014-11-21 12:53:55 +00:00
Michael Drake
6ea2fd3a7f Use API to get content for view source. 2014-11-21 12:51:30 +00:00
Michael Drake
22ebdd3315 Use API to get current scale. 2014-11-21 12:50:02 +00:00
Vincent Sanders
a481e5965a remove atari need to use browser internal data structures 2014-11-21 12:32:46 +00:00
Vincent Sanders
3ff4846c1a Remove usage of browser private interfaces
The cocoa frontend was directly acessing browser internals instead of
using the API. In the case of gui.m there was a check for the browser
window not being root (browser->parent != NULL) . As gui windows can
only ever be associated with the root brower window (i.e. its parent
will always be NULL) this was completely redundant.
2014-11-21 11:48:43 +00:00
Michael Drake
0f0c3b02d7 Use public bw header. 2014-11-21 09:28:37 +00:00
Michael Drake
c3ae0c0699 Should be able to switch to public bw header now. 2014-11-21 09:28:37 +00:00
Michael Drake
8fc7da72c6 Use browser_window_get_url, instead of fishing content out of bw and getting URL from that. 2014-11-21 09:28:37 +00:00
Michael Drake
8a6be34a62 Use public bw header. 2014-11-21 09:28:37 +00:00
Michael Drake
6832f80be3 Don't appear to need browser_private.h here. 2014-11-21 09:28:37 +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
Chris Young
75623179aa Revert "Write out to the backing store asynchronously."
This reverts commit 1ddf8215cf.

Appears to be unsafe to run this in a new process.
2014-11-19 23:34:53 +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
Chris Young
1ddf8215cf Write out to the backing store asynchronously.
Despite the fact AmigaOS filesystems run as separate processes,
DOS filesystem writes occur synchronously waiting for the disk
write to finish before returning.  Here we have effectively taken
the core's fs backing store and extended it slightly so the store
operation is spun off into a new process, running at a lower task
priority than NetSurf itself.  This stops the UI pauses that occur
shortly after loading pages as NetSurf commits the cache to disk.

Somewhat experimental, pending more extensive user testing.
2014-11-18 19:31:11 +00:00
Vincent Sanders
669df172ec Fix my spelling of teh everywhere 2014-11-18 17:16:26 +00:00
Chris Young
cfc9971d0e Remove no longer used poll option from schedule runner 2014-11-17 23:47:28 +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
d83935f0bd add libnsutils to default conveniance library setup 2014-11-17 16:04:30 +00:00
Chris Young
230e348315 update comments 2014-11-16 16:44:19 +00:00