Commit Graph

42 Commits

Author SHA1 Message Date
Vincent Sanders b182cc7617 remove box handling from browser window 2020-05-25 20:37:06 +01:00
Vincent Sanders 5c02f9bd97 rename browser window internal redraw request function
remove confusing reference to boxes
2020-05-25 11:28:35 +01:00
Daniel Silverstone efbfaa0cb1
JS: Move ownership of jsthread from browser to htmlc
Since it makes more sense for the htmlc to be responsible for
when the JS thread gets destroyed, move its lifetime from the
responsibility of the browser window to the html content.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-03-22 10:00:29 +00:00
Daniel Silverstone 66a23c2560
Browser: Split JS threads between current and loading
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-03-21 19:35:15 +00:00
Daniel Silverstone 17b28e85c1
JS: Split concept of JS context into heap and thread
In preparation for proper splitting of Javascript support into
heaps and threads, this renames the types and corrects the no-js
builds to still work.  At this time no substantive change in
semantics exists, and the duktape build won't work.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-03-21 18:30:41 +00:00
Michael Drake 82805f72e6 Browser window: Rework constification of bw for show_certificates. 2020-02-24 19:18:20 +00:00
Vincent Sanders 0c34d06494 Keep the complete certificate chain from a fetch
Instead of extracting information from the X509 certificate chain in
the fetcher the entire chain is propagated in Distinguished Encoding
Rules (DER) format.

This allows all the information contained in a certificate chain to be
retained which can subsequently be presented to the user
2020-02-23 16:23:50 +00:00
Daniel Silverstone b67bbe3280 browser_window: Ensure that back works like 'back to safety'
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-21 20:33:52 +01:00
Daniel Silverstone 8469f4cc8e Reimplement handling of BAD_AUTH inside browser_window
We now handle authentication requests via an `about:` page
which presents a nice form built into the browser window.
In order to do this, we add internal navigation as a concept
to the browser window and we strip the 401login support from all
frontends except monkey.

The 401login callback is now intended for password safe type support
rather than an immediately interactive prompt.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-06 11:26:47 +01:00
Daniel Silverstone 170dc5d524 Excise the llcache query pathway.
In further preparation for the auth and cert queries being handled
as special contents from `about:` this excises the query pathway
from the llcache pretty much entirely.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-05 20:56:07 +01:00
Daniel Silverstone bfb1bb1192 Migrate SSL certificate storage to the browser window
* Fetchers now provide the certificates before headers
* This is propagated all the way to the browser window
* When a query occurs, we retrieve it from there and fire
  the query with those stored certificates.
* The serial number is a bignum, store it as hex.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-05 18:12:47 +01:00
Daniel Silverstone bccf101714 browser_window: Add fetch parameters and split navigate
In order to support future reload/strange navigations, split
the navigate function into two and add a stored parameters
structure which can be used to regenerate any fetch.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-05 15:44:55 +01:00
Daniel Silverstone 3bd7a2ddd6 desktop: Expose llcache query handler temporarily
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-04 11:22:40 +01:00
Vincent Sanders 357e8a8ad2 remove unnecessary browser_window_redraw_rect interface 2019-08-03 21:58:21 +01:00
Vincent Sanders 4ae27a6592 remove scaling from internal browser get_dimensions calls 2019-08-02 12:26:19 +01:00
Vincent Sanders 5742762070 split browser and browser_window operations 2019-08-01 19:51:19 +01:00
Daniel Silverstone a43d0cec7a Add concept of browser scroll offset saving in local history 2017-09-23 14:55:52 +01:00
Vincent Sanders ec94d5f812 move history bitmap thumbnail into the page information structure 2017-09-10 10:31:06 +01:00
Vincent Sanders c4c2c22e87 remove depricated local history display API
Move local history display into separate module using corewindow
API. Note this is purely the rendering and teh browser history module
still constructs the history data.
2017-06-11 14:54:33 +01:00
Vincent Sanders 653ccb78a9 Split local history data from viewer in headers
This separates the local history data object API from the viewing
API. It also changes the api to return nsurl references instead of
strings.
2017-06-10 18:37:21 +01:00
Vincent Sanders bd932d958b remove reformat from browser window operation table
the reformat callback was completely unecessary and implementations
appeared potentialy buggy. This rationalises the API and reduces the
number of operations a frontend must provide.
2017-04-26 09:43:18 +01:00
Vincent Sanders 0a8976156a split out browser window drag context into separate structure 2017-03-03 14:45:39 +00:00
Vincent Sanders 6083de4ee1 split out browser windoe favicon context to separate structure 2017-03-03 14:45:39 +00:00
Vincent Sanders 855721282c split out status bar text cache into separate struct 2017-03-03 14:45:39 +00:00
Vincent Sanders 7dab7cb43d move plot style header to netsurf include directory
move plotter style header and adjust all callers to use only what they
actually require.
2017-01-13 10:03:24 +00:00
Vincent Sanders 76a68d7dd0 Update content to split public and internal API 2016-06-06 09:01:38 +01:00
Vincent Sanders 7fc0a4c481 move desktop window header into public API 2016-05-30 17:32:57 +01:00
Vincent Sanders 77a1b4b5e0 replace wallclock API usage with nsutils monitonic time 2016-04-21 13:12:56 +01:00
Michael Drake b9a6dae5ab Remove unecessary header include. 2014-11-24 09:43:59 +00:00
Michael Drake eed2a97eca Add bw function to get scrollbar type. 2014-10-25 12:04:11 +01:00
Michael Drake ff72d58f60 Move browser_window_get_root to private header. 2014-10-25 11:31:40 +01:00
Michael Drake f7f21096b3 Move browser_window_set_status to private header. 2014-10-25 11:29:31 +01:00
Vincent Sanders 1180d19324 improve documentation in headers 2014-10-19 19:12:55 +01:00
Vincent Sanders 3a9fa29ee5 try and improve usage of browser window internals 2014-07-06 18:34:34 +01:00
Vincent Sanders 18aefabd20 change reformat to be driven from the scheduler like redraw 2014-07-01 09:27:20 +01:00
Michael Drake a38a63a37e Make history internal to browser_window module. 2014-02-15 18:44:50 +00:00
Michael Drake af014bce99 Allow tab creation without history clone. Changes browser_window_create and browser_window_navigate flags. 2014-02-10 14:08:45 +00:00
Michael Drake 3d2e416ea9 Move broser_window_initialise_common to browser_private.h 2014-02-09 13:28:37 +00:00
Michael Drake 022a303d60 Move browser_window_update_extent to browser_private.h 2014-02-08 16:01:14 +00: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
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 153c444454 Move browser_window struct to private header. Places that shouldn't include it do, such as front end code.
Frontends that have been updated to build:
  framebuffer
  gtk
  monkey
  riscos

TODO:
  amiga
  atari
  beos
  cocoa
  windows
2012-08-22 12:22:58 +01:00