Commit Graph

227 Commits

Author SHA1 Message Date
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
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
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
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
af16c38d2d fix DOM tree dump debug 2014-08-04 00:37:21 +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
fba58ad4b0 remove unecessary include 2014-02-04 15:19:46 +00:00
Michael Drake
f2aa7202ba Fix Coverity #1109872. 2013-10-23 16:25:48 +01:00
Michael Drake
f45bc88b3d Fix Coverity #1109867. 2013-10-23 15:40:27 +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
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
560faaa7be free memory on error condition 2013-05-04 08:45:04 +01:00
Vincent Sanders
f889f0ccbf fix leak in error path 2013-05-03 14:31:23 +01:00
Michael Drake
c2a718075a A load of refactoring of how content selection and input work.
Keypresses now go via content interface.
Contents don't shove the selection object into browser windows any more.
Contents report selection existence by sending message.
HTML content keeps track of where selections in it exist.
Contents report whether they have input focus via caret setting msg.
Caret can be hidden (can still input/paste) or removed.
Consolidate textarea selection handling.
Make textarea report its selection status changes to client.
Various textarea fixes.
Changed how we decide when to clear selections, and give focus.
2013-02-22 12:19:35 +00:00
Vincent Sanders
2fef76db15 add errorcode content broadcast API 2012-11-26 17:32:47 +00:00
Vincent Sanders
c1671f37b1 reduce talloc usage to box tree layout only 2012-10-03 19:26:17 +01:00
Michael Drake
daf10f00a6 API for content debug dump. 2012-08-20 16:03:45 +01:00
Michael Drake
edef40bbc4 Don't pass struct box to content open. 2012-08-20 14:22:28 +01:00
Michael Drake
fb6186484e Now contents types without mouse handling can set default pointer. Fixes standalone images showing e.g. link pointer if that was the last pointer before the standalone image loaded. 2012-08-17 10:02:41 +01:00
Michael Drake
e5374cc042 Let contents broadcast explicit status messages as well as announce that their internal status has been updated. 2012-08-15 19:00:50 +01:00
Michael Drake
fcb7143ecb Simplify content status text setting. 2012-08-15 11:50:08 +01:00
Vincent Sanders
137bba2978 fix missing check of lwc_string_caseless_isequal() return value 2012-08-09 16:33:06 +01:00
Vincent Sanders
9b85ae106b limit url debug output to 140 characters 2012-07-03 14:32:13 +01:00
John Mark Bell
f2993e6ed0 content_get_url -> hlcache_handle_get_url, content__get_url -> content_get_url
svn path=/trunk/netsurf/; revision=13236
2011-12-04 14:55:23 +00:00
Michael Drake
02780e1f2d Currently untested (and unused) "drop file on content" handling, and HTML implementation.
svn path=/trunk/netsurf/; revision=13214
2011-12-01 21:49:57 +00:00
Michael Drake
4856a4c1fb Pass scroll wheel action into contents. Handle scrolling of box scrollbars and iframes.
svn path=/trunk/netsurf/; revision=13200
2011-11-29 17:47:29 +00:00
Vincent Sanders
230779848e metadata links stored in contents
browser uses metadata links for favicons

svn path=/trunk/netsurf/; revision=12977
2011-10-07 18:12:47 +00:00
Michael Drake
36eff6da2b Port more internals to nsurl. Front ends may need updating.
svn path=/trunk/netsurf/; revision=12926
2011-10-03 15:56:47 +00:00
Michael Drake
57547f7b1e Make llcache_handle_get_url return a nsurl.
svn path=/trunk/netsurf/; revision=12905
2011-09-28 14:21:35 +00:00
John Mark Bell
033823e64e Correctly create a sentinel and initialise user_list with it when cloning a content
svn path=/trunk/netsurf/; revision=12804
2011-09-18 00:49:34 +00:00
Michael Drake
19daa23f94 Only lock content around its reformat call. This means it is not now locked when reformat message is broadcast. Prevents the browser window callback asking the core to redraw a content before it gets unlocked.
svn path=/trunk/netsurf/; revision=12802
2011-09-17 14:35:54 +00:00
Michael Drake
4075648e7a Content interface to get at contextual content at point.
svn path=/trunk/netsurf/; revision=12753
2011-09-06 18:07:30 +00:00
John Mark Bell
9ee4f6146e Remove mime_type parameter from content handler content_type callback API
svn path=/trunk/netsurf/; revision=12704
2011-09-03 09:27:42 +00:00
Vincent Sanders
2348b13492 refactor bitmap out of generic content structure
svn path=/trunk/netsurf/; revision=12686
2011-08-31 12:12:41 +00:00
John Mark Bell
dc6c58ec41 Fix transition from LOADING to ERROR state after content has been locked for conversion
svn path=/trunk/netsurf/; revision=12614
2011-07-20 21:39:51 +00:00
John Mark Bell
1cd92d6d50 Fix race when stopping an HTML content mid-load
svn path=/trunk/netsurf/; revision=12611
2011-07-19 20:23:59 +00:00
Michael Drake
9c91893028 Fix selection for non-gui browser windows (iframes).
Selection no longer uses current_redraw_browser.
Fix long-standing selection bugs on platforms that use action on release behaviour.

svn path=/trunk/netsurf/; revision=12598
2011-07-13 13:20:26 +00:00
Michael Drake
eddae6af06 Remove plotter table global. Pass a redraw context around redraw functions. Knockout could be handled better. Note: untested on most front ends.
svn path=/trunk/netsurf/; revision=12543
2011-06-30 15:48:07 +00:00
Michael Drake
3128ecf2a5 Unify content_redraw params in content_redraw_data struct. Core and RISC OS content handlers updated.
svn path=/trunk/netsurf/; revision=12529
2011-06-28 20:17:39 +00:00
Michael Drake
6f215b1f02 Enable content redraw request without hlcache_handle.
svn path=/trunk/netsurf/; revision=12518
2011-06-27 21:37:37 +00:00
Michael Drake
5a4c8916ef If iframes are reformatted due to containing document reflow, don't need to redraw them since they will be redrawn when the containing document is redrawn. Make iframe handling more robust.
svn path=/trunk/netsurf/; revision=12497
2011-06-24 09:30:33 +00:00
John Mark Bell
1b8ff87c23 Squash static analyser warning
svn path=/trunk/netsurf/; revision=12419
2011-05-16 21:49:21 +00:00
Vincent Sanders
83f9e707eb refactor content handler initilisation to use named initialisors
svn path=/trunk/netsurf/; revision=12341
2011-05-09 15:32:34 +00:00